Примеры таблиц для маршрутизаторов различных типов

Структура таблицы маршрутизации стека TCP/IP соответствует общим прин­ципам построения таблиц маршрутизации, рассмотренным выше. Однако важно отметить, что вид таблицы IP-маршрутизации зависит от конкретной реали­зации стека TCP/IP. Приведем пример трех вариантов таблицы маршрутиза­ции, с которыми мог бы работать маршрутизатор M1 всети, представленной на рисунке 21.

Примеры таблиц для маршрутизаторов различных типов - №1 - открытая онлайн библиотека

Рисунок 21 – Пример маршрутизируемой сети

10.1.1Назначение полей таблицы маршрутизации

Несмотря на достаточно заметные внешние различия, во всех трех таблицах есть все ключевые параметры, необходимые для работы маршрутизатора и рассмот­ренные ранее при обсуждении концепции маршрутизации.

К таким параметрам, во-первых, относится адрес сети назначения (столбцы «Destination» в маршрутизаторах NetBuilder и UNIX или «Network Address» в маршру­тизаторе MPR). Заметим, что в некоторых случаях, когда маршрут к одному из узлов сети отличается от маршрута ко всем остальным узлам данной сети, в этом столбце указывается адрес данного конкретного узла назначения.

Вторым обязательным полем таблицы маршрутизации является адрес следую­щего маршрутизатора (столбцы «Gateway» в маршрутизаторах NetBuilder и UNIX или «Gateway Address» в маршрутизаторе MPR).

Третий ключевой параметр – адрес порта, на который нужно направить пакет, в некоторых таблицах указывается прямо (поле «Interface» в таблице Windows NT), а в некоторых - косвенно. Так, в таблице UNIX-маршрутизатора вместо адреса порта задается его условное наименование – lе0 для порта с адресом 198.21.17.5, le1 для порта с адресом 213.34.12.3 и lo0 для внутреннего порта с ад­ресом 127.0.0.1.

В маршрутизаторе NetBuilder II поле, обозначающее выходной порт в какой-ли­бо форме, вообще отсутствует. Это объясняется тем, что адрес выходного порта всегда можно косвенно определить по адресу следующего маршрутизатора.

Наличие или отсутствие поля маски в таблице говорит о том, насколько современен данный маршрутизатор. Стандартным решением сегодня является исполь­зование поля маски в каждой записи таблицы, как это сделано в таблицах мар­шрутизаторов MPR Windows NT (поле «Netmask») и NetBuilder (поле «Mask»). Обработка масок при принятии решения маршрутизаторами будет рассмотрена ниже. Отсутствие поля маски говорит о том, что либо маршрутизатор рассчитан на работу только с тремя стандартными классами адресов, либо он использует для всех записей одну и ту же маску, что снижает гибкость маршрутизации.

10.1.2Маршрутизация без использования масок

Рассмотрим на примере IP-сети алгоритм работы средств сетевого уровня по продвижению пакета в составной сети (рисунок 22). При этом будем считать, что все узлы сети, рассматриваемой в примере, имеют адреса, основанные на клас­сах, а маски не используются. Особое внимание будет уделено взаимодействию протокола IP с протоколами разрешения адресов ARP и DNS.

Примеры таблиц для маршрутизаторов различных типов - №2 - открытая онлайн библиотека

Рисунок 22 – Пример взаимодействия компьютеров через сеть

1. Итак, пусть пользователь компьютера cit.dol.ru, находящегося в сети Ethernet и имеющего IP-адрес 194.87.23.17 (адрес класса С), обращается по протоколу FTP к компьютеру s1.msk.su, принадлежащему другой сети Ethernet и имею­щему IP-адрес 142.06.13.14 (адрес класса В):

> ftp s1.msk.su.

2. Модуль FTP упаковывает свое сообщение в сегмент транспортного протокола TCP который, в cвою очередь, помещает свой сегмент в пакет протокола IP. В заголовке IP-пакета должен быть указан IP-адрес узла назначения. Так как пользователь компьютера cit.dol.ru указывает символьное имя компьюте­ра s1.msk.su, то стек TCP/IP должен определить IP-адрес узла назначения са­мостоятельно.

3. При конфигурировании стека TCP/IP в компьютере cit.dol.fu был задан его собственный IP-адрес, IP-адрес маршрутизатора по умолчанию и IP-адрес DNS-сервера. Модуль IP может сделать запрос к серверу DNS, но обычно сначала просматривается локальная таблица соответствия символьных имен и IP-адресов. Такая таблица хранится чаще всего в виде, текстового файла простой структуры – каждая его строка содержит запись об одном символьном имени и его IP-адресе. В ОС UNIX такой файл традиционно носит имя hosts и находится в каталоге /etc.

4. Будем считать, что компьютер cit.dol.ru имеет файл hosts, а в нем есть строка:

142.06.13.14 s1.msk.su.

5. Таким образом, разрешение имени выполняется локально, и протокол IP мо­жет теперь формировать IP-пакеты с адресом назначения 142,06,13.14 для взаимодействия с компьютеров s1.msk.su.

6. Модуль IP компьютера cit.dol.ru проверяет, нужно ли маршрутизировать па­кеты с адресом 142.06.13.14. Так как адрес сети назначения (142.06.0.0) не совпадает с адресом (194.87.23.0) сети, которой принадлежит компьютер-от­правитель, то маршрутизация необходима.

7. Компьютер cit.dol.ru начинает формировать кадр Ethernet для отправки IP-пакета маршрутизатору по умолчанию, IP-адрес которого известен – 194.87.23.1, но неизвестен MAC-адрес, необходимый для перемещения кадра в локальной сети. Для определения MAC-адреса маршрутизатора протокол IP обращается к протоколу ARP, который просматривает ARP-таблицу. Если в последнее время компьютер cit.dol.ru выполнял какие-либо межсетевые об­мены, то скорее всего искомая запись, содержащая соответствие между IP- и MAC-адресами маршрутизатора по умолчанию, уже находится в кэш-таблице протокола ARP. Пусть в данном случае нужная запись была найдена именно в кэш-таблице:

194.87.23.1 008048ЕВ7Е60.

8. Обозначим найденный MAC-адрес 008048ЕВ7Е60 в соответствии сномером маршрутизатора и его порты через MAC11.

9. В результате компьютер cit.dol.ru отправляет по локальной сети пакет, упако­ванный в кадр Ethernet.

10. Кадр принимается портом 1 маршрутизатора 1 в соответствии с протоколом Ethernet, так как MAC-узел этого порта распознает свой адрес МАС11. Прото­кол Ethernet извлекает из этого кадра IP-пакет и передает его программному обеспечению маршрутизатора, реализующему протокол IP. Протокол IP из­влекает из пакета адрес назначения 142.06.13.14 и просматривает записи сво­ей таблицы маршрутизации. Пусть маршрутизатор 1 имеет в своей таблице маршрутизации следующую запись:

142.06.0.0 135.12.0.11 2.

11. Эта запись говорит о том, что пакеты для сети 142.06.0.0 нужно передавать маршрутизатору 135.12.0.11, находящемуся в сети, подключенной к порту 2 маршрутизатора 1.

12. Маршрутизатор 1 просматривает параметры порта 2 и находит, что к нему подключена сеть FDDI. Так как сеть FDDI имеет значение MTU большее,

чем сеть Ethernet, то фрагментация IP-пакета не требуется.

Поэтому маршру­тизатор 1 формирует кадр формата FDDI. На этом этапе модуль IP должен определить MAC-адрес следующего маршрутизатора по известному IP-адресу 135.12.0.11. Для этого он обращается к протоколу ARP. Допустим, что нуж­ной записи в кэш-таблице не оказалось, тогда в сеть FDDI отправляется широковещательный ARP-запрос, содержащий наряду с прочей следующую информацию:

-порт 1 маршрутизатора 2 распознает свой IP-адрес и посылает ARP-ответ по адресу запросившего узла;

-теперь, зная MAC-адрес следующего маршрутизатора 00E0F77F51A0, маршрутизатор 1, отсылает кадр FDDI по направлению к маршрутизатору 2.

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

142.06.0.0 203.21.4.12 216.

14. При отсутствии такой записи будет использована запись о маршрутизаторе по умолчанию:

default 203.21.4.12 2.

15. Определив IP-адрес следующего маршрутизатора 203.21.4.12, модуль IP формирует кадр Ethernet для передачи пакета маршрутизатору 3 по сети Ethernet. С помощью протокола АКР он находит МАС-адрес этого маршрутизатора и помещает его в заголовок кадра. IP-адрес узла назначения, естественно, оста­ется неизменным.:

16. Наконец, после того, как пакет поступит в маршрутизатор сети назначения (маршрутизатор 3), появляется возможность передачи этого пакета компью­теру назначения. Маршрутизатор 3 определяет, что пакет нужно передать в сеть 142.06.0.0, которая непосредственно подключена к его первому порту. Поэтому он посылает ARP-запрос по сети Ethernet с IP-адресом компьютера s1.msk.su. ARP-ответ содержит MAC-адрес конечного узла, который модуль IP передает канальному протоколу для формирования кадра Ethernet.

17. Сетевой адаптер компьютера s1.msk.su захватывает кадр Ethernet, обнаружи­вает совпадение MAC-адреса, содержащегося в заголовке, со своим собствен­ным адресом и направляет его модулю IP. После анализа полей IP-заголовка из пакета извлекаются данные, которые в свою очередь, содержат сообщение вышележащего протокола. Поскольку в данном примере рассматривается об­мен данными по протоколу FTP, который использует в качестве транспорт­ного протокола TCP, то в поле данных IP-пакета находится TCP-сегмент, определив из TCP-заголовка номерпорта, модуль IP переправляет сегмент в соответствующую очередь, из которой данный сегмент попадет программно­му модулю FTP-сервера.