КОНСПЕКТ_ЛЕКЦИЙ_Сети_и_телекоммуникации (853866), страница 19
Текст из файла (страница 19)
Рассмотрим более подробно, как происходит маршрутизация в одной физической сети.(см. рис 8.2)
Таблица маршрутов (табл. 8.2) в узле А выглядит так:
Табл.8.2.
Пример таблицы маршрутов
Сеть назначения | Флаг вида маршрутиз. | Шлюз | Интерфейс (выход) | ……. | Метрика |
В | Прямая | <пусто> | 1 | ……. | 0 |
В данном простом примере все узлы сети имеют одинаковые таблицы маршрутов.
Для сравнения ниже (табл. 8.3) представлена та же таблица, но вместо названия сети указан ее номер.
Табл.8.3.
Пример таблицы маршрутов с номерами сетей
Сеть назначения | Флаг вида маршрутизации | Шлюз | Интерфейс (выход) | ……. | Метрика |
223.1.2 | Прямая | <пусто> | 1 | ……. | 0 |
Процедура прямой маршрутизации
Узел А посылает IP-пакет узлу В. Этот пакет находится в модуле IP узла alpha, и IP-адрес места назначения равен IP-адресу beta(223.1.2.2). Модуль IP с помощью маски подсети выделяет номер сети из IP-адреса и ищет соответствующую ему строку в таблице маршрутов. В данном случае подходит первая строка.
Остальная информация в найденной строке указывает на то, что машины этой сети доступны напрямую через интерфейс номер 1. С помощью ARP-таблицы выполняется преобразование IP-адреса в соответствующий Ethernet-адрес, и через интерфейс 1 Ethernet-кадр посылается узлу В.
Если прикладная программа пытается послать данные по IP-адресу, который не принадлежит сети development, то модуль IP не сможет найти соответствующую запись в таблице маршрутов. В этом случае модуль IP отбрасывает IP-пакет. Некоторые реализации протокола возвращают сообщение об ошибке "Сеть не доступна".
8.3. Косвенная маршрутизация
На рис.8.3 представлена более реалистичная картина сети Internet. В данном случае сеть Internet состоит из трех сетей Ethernet, на базе которых работают три IP-сети, объединенные шлюзом D. Каждая IP-сеть включает четыре машины; каждая машина имеет свои собственные IP- и Ethernet-адреса.
За исключением D все машины имеют стек протоколов, аналогичный показанному на рис.1. Шлюз D соединяет все три сети и, следовательно, имеет три IP-адреса и три Ethernet-адреса. Машина D имеет стек протоколов TCP/IP, похожий на тот, что показан на рис.5.1, но вместо двух модулей ARP и двух драйверов, он содержит три модуля ARP и три драйвера Ethernet.
Обратим внимание на то, что машина D имеет только один модуль IP.
Менеджер сети присваивает каждой сети Ethernet уникальный номер, называемый IP-номером сети. На рис.8.3 IP-номера не показаны, вместо них используются имена сетей.
Когда машина A посылает IP-пакет машине B, то процесс передачи идет в пределах одной сети. При всех взаимодействиях между машинами, подключенными к одной IP-сети, используется прямая маршрутизация, обсуждавшаяся в предыдущем примере.
Когда машина D взаимодействует с машиной A, то это прямое взаимодействие. Когда машина D взаимодействует с машиной E, то это прямое взаимодействие. Когда машина D взаимодействует с машиной H, то это прямое взаимодействие. Это так, поскольку каждая пара этих машин принадлежит одной IP-сети.
Рис.8.3. Сеть Internet, состоящая из трех IP-сетей
Однако, когда машина A взаимодействует с машинами, включенными в другую IP-сеть, то взаимодействие уже не будет прямым. Машина A должна использовать шлюз D для ретрансляции IP-пакетов в другую IP-сеть. Такое взаимодействие называется "косвенным".
Маршрутизация IP-пакетов выполняется модулями IP и является прозрачной для модулей TCP, UDP и прикладных процессов.
Если машина A посылает машине E IP-пакет, то IP-адрес и Ethernet-адрес отправителя соответствуют адресам A. IP-адрес места назначения является адресом E, но поскольку модуль IP в A посылает IP-пакет через D, Ethernet-адрес места назначения является адресом D.
Табл.8.4.
Адреса в Ethernet-кадре, передающем IP-пакет от A к Е через шлюз D.
адрес | отправитель | получатель |
IP-заголовок Ethernet-заголовок | A A | Е D |
Модуль IP в машине D получает IP-пакет и проверяет IP-адрес места назначения. Определив, что это не его IP-адрес, шлюз D посылает этот IP-пакет прямо к E.
Табл.8.5.
Адреса в Ethernet-кадре, содержащем IP-пакет от A к E (после шлюза D)
адрес | отправитель | получатель |
IP-заголовок Ethernet-заголовок | A D | Е Е |
Итак, при прямой маршрутизации IP- и Ethernet-адреса отправителя соответствуют адресам того узла, который послал IP-пакет, а IP- и Ethernet-адреса места назначения соответствуют адресам получателя. При косвенной маршрутизации IP- и Ethernet-адреса не образуют таких пар.
В данном примере сеть Internet является очень простой. Реальные сети могут быть гораздо сложнее, так как могут содержать несколько шлюзов и несколько типов физических сред передачи. В приведенном примере несколько сетей Ethernet объединяются одним шлюзом для того, чтобы локализовать широковещательный трафик в каждой сети.
Процедура косвенной маршрутизации
Рассмотрим более сложный порядок маршрутизации в IP-сети, изображенной на рис.8.3.
Таблица маршрутов (табл.8.6.) в узле А выглядит так:
Табл.8.6.
Таблица маршрутов в узле А
Сеть назначения | Флаг вида маршрутизации | Шлюз | Интерфейс (выход) | ……. | Метрика |
development | Прямая | <пусто> | 1 | ……. | 0 |
accounting | косвенная | D | 1 | …….. | 1 |
factory | косвенная | D | 1 | ……. | 1 |
Та же таблица в узле А с IP-адресами вместо названий (табл.8.7).
Табл.8.7.
Таблица маршрутов в узле А
Сеть назначения | Флаг вида маршрутизации | Шлюз | Интерфейс (выход) | ……. | Метрика |
223.1.2 | Прямая | <пусто> | 1 | ……. | 0 |
223.1.3 | косвенная | 223.1.2.4 | 1 | …….. | 1 |
223.1.4 | косвенная | 223.1.2.4 | 1 | ……. | 1 |
В столбце "шлюз" таблицы маршрутов узла А указывается IP-адрес точки соединения узла D с сетью development.
Процедура косвенной маршрутизации
Узел А посылает IP-пакет узлу Е. Этот пакет находится в модуле IP узла А, и IP-адрес места назначения равен IP-адресу узла е (223.1.3.2). Модуль IP выделяет сетевой номер из IP-адреса (223.1.3) и ищет соответствующую ему строку в таблице маршрутов. Соответствие находится во второй строке.
Запись в этой строке указывает на то, что машины требуемой сети доступны через шлюз D. Модуль IP в узле А осуществляет поиск в ARP-таблице, с помощью которого определяет Ethernet-адрес, соответствующий IP-адресу D. Затем IP-пакет, содержащий IP-адрес места назначения Е, посылается через интерфейс 1 шлюзу D.
IP-пакет принимается сетевым интерфейсом в узле D и передается модулю IP. Проверяется IP-адрес места назначения, и, поскольку он не соответствует ни одному из собственных IP-адресов D, шлюз решает ретранслировать IP-пакет.
Модуль IP в узле D выделяет сетевой номер из IP-адреса места назначения IP-пакета (223.1.3) и ищет соответствующую запись в таблице маршрутов. Таблица маршрутов в узле D (табл.8.8) выглядит так:
Табл.8.8.
Таблица маршрутов в узле D
Сеть назначения | Флаг вида маршрутизации | Шлюз | Интерфейс (выход) | ……. | Метрика |
development | Прямая | <пусто> | 1 | ……. | 0 |
accounting | Прямая | <пусто> | 3 | …….. | 0 |
factory | Прямая ая | <пусто> | 2 | ……. | 0 |
Та же таблица с IP-адресами в узле D (табл. 8.9) вместо названий.
Табл.8.9.
Таблица маршрутов в узле D
Сеть назначения | Флаг вида маршрутизации | Шлюз | Интерфейс (выход) | ……. | Метрика |
223.1.2 | Прямая | <пусто> | 1 | ……. | 0 |
223.1.3 | Прямая | <пусто> | 3 | …….. | 0 |
223.1.4 | Прямая ая | <пусто> | 2 | ……. | 0 |
Соответствие находится во второй строке. Теперь модуль IP напрямую посылает IP-пакет узлу Е через интерфейс номер 3. Пакет содержит IP- и Ethernet-адреса места назначения равные Е.
Узел Е принимает IP-пакет, и его модуль IP проверяет IP-адрес места назначения. Он соответствует IP-адресу Е, поэтому содержащееся в IP-пакете сообщение передается протокольному модулю верхнего уровня.
8.4 Формирование таблиц IP-маршрутизации