Найти тему
cooladmin

Основы. Динамическая маршрутизация #1

Глава первая. Выдайте мне сеть /8

Итак, с чего все началось.

В какой-то момент, компьютерные сети выросли и возникла потребность в их объединении. Эта задача (на самом деле, ради красоты повествования я меняю хронологию событий, но кого это волну) решалась несколькими независимыми командами.

Над какими-то реализациями работали ооочень крупные (но ныне забытые) разработчики (Novell и его IPX), что-то выпускалось в составе крупных ОС (Apple talk) известных и сейчас (ОС, но не технология), а кто-то давил массой и встраивал в свои системы все что было на рынке, параллельно пиля своё (майкрософт умудрилась встроить в виндовс: ipx, tcp/ip, apple talk и даже свой собственный netbios, который как-то работает и сейчас).

В итоге когда дым войны развеялся, а пыль поулеглась, на коне осталась связка ethernet (как протокол второго уровня, работающий поверх кучи вариантов физики) и IP как протокол третьего уровня (или если, чуть упростить, TCP/IP - третий и четвертый уровни).

В общем, мир стал покрыт сетями с глобальными IP адресами и с MAC адресами, для нахождения узлов внутри сети.

В те времена еще диноза...была классовая адресация и по одному лишь IP адресу можно было понять из какой он сети.

Под итог. В мире много сетей, в каждой сети есть куча компьютеров, им нужно обмениваться трафиком.

Глава вторая. Connected - это хорошо.

Для того, что бы общаться с устройствами внутри одной (моей) сети, мне, как хосту, особо ничего не нужно. Я ору на всю сеть "Кто Вася?", Василий отвечает, я кидаю ему в лицо мандаринку. Все счастливы - у всех новогоднее настроение.

Но как только возникает задача отправить немного угля детишкам из соседнего двора, Санта задумывается, и вот, что он делает дальше.

На каждом устройстве в сети (у протокола IP) есть специальная таблица - таблица маршрутизации. В этой таблице есть записи:

* В какой я сети;

* Про какие сети я еще знаю;

* И куда идти если больше вариантов нет.

Первый случай – это присоединенные маршруты. Это такие сети из которых у меня на каком либо интерфейсе есть IP. Для доставки подарков в эти сети мне никто не нужен. (См. случай с Васей).

Второй случай – это статические маршруты. Это такие записи, когда хост знает, что если нужна Петина улица, то мне вот к тому устройству нужно посылать мандаринки, он там дальше как-то решит и до Петиного дома пакет с мандаринками как-нибудь дотащит.

Третий случай – это маршрут или шлюз по умолчанию, или шлюз последней надежды. Туда мы кидаем мандаринки если вариантов больше нет, а на том конце уже пробуют разрулить и доставить куда нужно или слопать сами показав нам назад ошибку не достижимости.

Глава третья. Много статических маршрутов бывает.

Итак, у нас в всех устройств есть мини карта ближайших поворотов, за которыми, как нам кажется, весь остальной мир. Есть сосед, который займет и выручит солью, когда больше никто не поможет.

Уверен, что все первоначальные редакции глобальной (и прочих крупных сетей) так и жили.

Все адреса соседей, кропотливо, руками тысяч администраторов, заносились в статические записи маршрутов. Каждый администратор был обязан знать всю карту сети и уметь посреди ночи проснуться и поднять маршрутную таблицу центрального маршрутизатора с сотней другой маршрутов на борту.

Но в какой то момент что-то пошло не так. И для этого есть веские причины.

Для начала, в такой конфигурации сложно балансировать каналы связи. Управляя статическими записями ооочень сложно разруливать трафик на несколько каналов.

Так же серьезной проблемой является отказоустойчивость. Попробуй-ка быстро и оперативно отключить один упавший канал, а вместо него перебрось сотню другую маршрутов по пяти другим слабым резервным каналам.

Все это потребовало автоматизации.

Глава четвертая. RIP значит RIP.

Я никогда не искал информацию о чем то до RIP (Routing Information Protocol). Возможно были более ранние поделки, но они, как древние рисунки Майя канули в лето.

RIP (1969) был одним из первых протоколов обмена маршрутами и работал он просто.

Представим что мы маршрутизатор. Раз в 30 секунд мы орем на всю сеть ("налетай не стыдись, покупай живопись!") о том про какие сети мы знаем, вообще про все. И постоянно слушаем тех кто орет рядом. Услышали о новой сети, записали в блокнотик (занесли в таблицу маршрутов), и давай теперь орать и про неё тоже.

Поговорим про скорость сходимости - это такое время, которое нужно всем объединённым маршрутизаторам, чтобы сравнять свои знания о сети и стабилизировать показания. Так вот для RIP она чудовищно низкая. Каждая итерация обмена маршрутами это от полу минуты до минуты, а если маршрутизаторов много и они стоят цепочкой. Так мы подарки не доставим.

Но это не самое плохое, что есть в RIP. И об этом дальше.

Stay connected and routing.

https://t.me/cooladmin