TCP/IP

5.9. IP-таблица маршрутов Как модуль IP узнает, какой именно сетевой интерфейс нужно использо-вать для отправления IP-пакета? Модуль IP осуществляет поиск в таблицемаршрутов. Ключом поиска служит номер IP-сети, выделенный из IP-адресаместа назначения IP-пакета. Таблица маршрутов содержит по одной строке для каждого маршрута.Основными столбцами таблицы маршрутов являются номер сети, флаг прямойили косвенной маршрутизации, IP-адрес шлюза и номер сетевого интерфейса.Эта таблица используется модулем IP при обработке каждого отправляемогоIP-пакета. В большинстве систем таблица маршрутов может быть изменена с помощьюкоманды "route". Содержание таблицы маршрутов определяется менеджеромсети, поскольку менеджер сети присваивает машинам IP-адреса. 5.10. Подробности прямой маршрутизации Рассмотрим более подробно, как происходит маршрутизация в однойфизической сети. ------------- ------------- | alpha | | beta | | 223.1.2.1 | | 223.1.2.2 | | 1 | | 1 | ------------- ------------- | | ------o-----------------------o------- Ethernet 1 IP-сеть "development" 223.1.2 Рис.10. Одна физическая сеть Таблица маршрутов в узле alpha выглядит так: ---------------------------------------------------------- | сеть флаг вида шлюз номер | | маршрутизации интерфейса | ---------------------------------------------------------- | development прямая <пусто> 1 | ---------------------------------------------------------- Табл.9. Пример таблицы маршрутов В данном простом примере все узлы сети имеют одинаковые таблицы маршру-тов. Для сравнения ниже представлена та же таблица, но вместо названиясети указан ее номер. ---------------------------------------------------------- | сеть флаг вида шлюз номер | | маршрутизации интерфейса | ---------------------------------------------------------- | 223.1.2 прямая <пусто> 1 | ---------------------------------------------------------- Табл.10. Пример таблицы маршрутов с номерами сетей

5.11. Порядок прямой маршрутизации Узел alpha посылает IP-пакет узлу beta. Этот пакет находится вмодуле IP узла alpha, и IP-адрес места назначения равен IP-адресу beta(223.1.2.2). Модуль IP с помощью маски подсети выделяет номер сети изIP-адреса и ищет соответствующую ему строку в таблице маршрутов. В дан-ном случае подходит первая строка. Остальная информация в найденной строке указывает на то, что машиныэтой сети доступны напрямую через интерфейс номер 1. С помощью ARP-таблицы выполняется преобразование IP-адреса в соответствующий Ethernet-адрес, и через интерфейс 1 Ethernet-кадр посылается узлу beta. Если прикладная программа пытается послать данные по IP-адресу,который не принадлежит сети development, то модуль IP не сможет найтисоответствующую запись в таблице маршрутов. В этом случае модуль IP отб-расывает IP-пакет. Некоторые реализации протокола возвращают сообщениеоб ошибке "Сеть не доступна".

5.12. Подробности косвенной маршрутизации Теперь рассмотрим более сложный порядок маршрутизации в IP-сети,изображенной на рис.11. Таблица маршрутов в узле alpha выглядит так: ---------------------------------------------------------- | сеть флаг вида шлюз номер | | маршрутизации интерфейса | ---------------------------------------------------------- | development прямая <пусто> 1 | | accounting косвенная devnetrouter 1 | | factory косвенная devnetrouter 1 | ---------------------------------------------------------- Табл.11. Таблица маршрутов в узле alpha ------------- | delta | ------------- | 223.1.2.4 | ------------- | alpha | | 223.1.4.1 | | epsilon | | 223.1.2.1 | | 223.1.3.1 | | 223.1.3.2 | | 1 | | 1 2 3 | | 1 | ------------- ------------- ------------- | | | | | ------o------------------o- | -o-----------------o--------- Ethernet 1 | Ethernet 2 IP-сеть "development" | IP-сеть "accounting" 223.1.2 | 223.1.3 | | ------------- | | iota | | | 223.1.4.2 | | | 1 | | ------------- | | ---o----------o------------------- Ethernet 3 IP-сеть "factory" 223.1.4 Рис.11. Подробная схема трех сетей Та же таблица с IP-адресами вместо названий. ---------------------------------------------------------- | сеть флаг вида шлюз номер | | маршрутизации интерфейса | ---------------------------------------------------------- | 223.1.2 прямая <пусто> 1 | | 223.1.3 косвенная 223.1.2.4 1 | | 223.1.4 косвенная 223.1.2.4 1 | ---------------------------------------------------------- Табл.12. Таблица маршрутов в узле alpha (с номерами) В столбце "шлюз" таблицы маршрутов узла alpha указывается IP-адрес точкисоединения узла delta с сетью development.

5.13. Порядок косвенной маршрутизации Узел alpha посылает IP-пакет узлу epsilon. Этот пакет находится вмодуле IP узла alpha, и IP-адрес места назначения равен IP-адресу узлаepsilon (223.1.3.2). Модуль IP выделяет сетевой номер из IP-адреса(223.1.3) и ищет соответствующую ему строку в таблице маршрутов. Соот-ветствие находится во второй строке. Запись в этой строке указывает на то, что машины требуемой сети дос-тупны через шлюз devnetrouter. Модуль IP в узле alpha осуществляет поискв ARP-таблице, с помощью которого определяет Ethernet-адрес, соответству-ющий IP-адресу devnetrouter. Затем IP-пакет, содержащий IP-адрес местаназначения epsilon, посылается через интерфейс 1 шлюзу devnetrouter. IP-пакет принимается сетевым интерфейсом в узле delta и передаетсямодулю IP. Проверяется IP-адрес места назначения, и, поскольку он несоответствует ни одному из собственных IP-адресов delta, шлюз решает рет-ранслировать IP-пакет. Модуль IP в узле delta выделяет сетевой номер из IP-адреса местаназначения IP-пакета (223.1.3) и ищет соответствующую запись в таблицемаршрутов. Таблица маршрутов в узле delta выглядит так: ---------------------------------------------------------- | сеть флаг вида шлюз номер | | маршрутизации интерфейса | ---------------------------------------------------------- | development прямая <пусто> 1 | | accounting прямая <пусто> 3 | | factory прямая <пусто> 2 | ---------------------------------------------------------- Табл.13. Таблица маршрутов в узле delta Та же таблица с IP-адресами вместо названий. ---------------------------------------------------------- | сеть флаг вида шлюз номер | | маршрутизации интерфейса | ---------------------------------------------------------- | 223.1.2 прямая <пусто> 1 | | 223.1.3 прямая <пусто> 3 | | 223.1.4 прямая <пусто> 2 | ---------------------------------------------------------- Табл.14. Таблица маршрутов в узле delta (с номерами) Соответствие находится во второй строке. Теперь модуль IP напрямую посы-лает IP-пакет узлу epsilon через интерфейс номер 3. Пакет содержит IP- иEthernet-адреса места назначения равные epsilon. Узел epsilon принимает IP-пакет, и его модуль IP проверяет IP-адресместа назначения. Он соответствует IP-адресу epsilon, поэтому содержаще-еся в IP-пакете сообщение передается протокольному модулю верхнегоуровня.

* 6. Установка маршрутов * До сих пор мы рассматривали то, как используется таблица маршрутовдля маршрутизации IP-пакетов. Но откуда берется информация в самой таб-лице маршрутов? В данном разделе мы рассмотрим методы, позволяющие под-держивать корректность таблиц маршрутов.


Страница: