5.2. Косвенная маршрутизация

На рис.7 представлена более реалистичная картина сети internet. В данном случае сеть internet состоит из трех сетей Ethernet, на базе которых работают три IP-сети, объединенные шлюзом D. Каждая IP-сеть включает четыре машины; каждая машина имеет свои собственные IP- и Ethernetадреса.

                             ----- D -------
           A     B     C     |     |       |     E     F     G
           |     |     |     |     |       |     |     |     |
       ----o-----o-----o-----o--   |     --o-----o-----o-----o---
        Ethernet 1                 |          Ethernet 2
        IP-сеть "development"      |          IP-сеть "accounting"
                                   |
                                   |    H     I     J
                                   |    |     |     |
                                 --o----o-----o-----o----------
                                             Ethernet 3
                                             IP-сеть "fuctory"

           Рис.7. Сеть internet, состоящая из трех IP-сетей

За исключением D все машины имеют стек протоколов, аналогичный показанному на рис.1. Шлюз D соединяет все три сети и, следовательно, имеет три IP-адреса и три Ethernet-адреса. Машина D имеет стек протоколов TCP/IP, похожий на тот, что показан на рис.3, но вместо двух модулей ARP и двух драйверов, он содержит три модуля ARP и три драйвера Ethernet. Обратим внимание на то, что машина D имеет только один модуль IP.

Менеджер сети присваивает каждой сети Ethernet уникальный номер, называемый IP-номером сети. На рис.7 IP-номера не показаны, вместо них используются имена сетей.

Когда машина A посылает IP-пакет машине B, то процесс передачи идет в пределах одной сети. При всех взаимодействиях между машинами, подключенными к одной IP-сети, используется прямая маршрутизация, обсуждавшаяся в предыдущем примере.

Когда машина D взаимодействует с машиной A, то это прямое взаимодействие. Когда машина D взаимодействует с машиной E, то это прямое взаимодействие. Когда машина D взаимодействует с машиной H, то это прямое взаимодействие. Это так, поскольку каждая пара этих машин принадлежит одной 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. :

         ----------------------------------------------------
         |          адрес         отправитель   получатель  |
         ----------------------------------------------------
         |   IP-заголовок             A             E       |
         |   Ethernet-заголовок       A             D       |
         ----------------------------------------------------
    Табл.6. Адреса в Ethernet-кадре, содержащем IP-пакет от A к E
            (до шлюза D)

Модуль IP в машине D получает IP-пакет и проверяет IP-адрес места назначения. Определив, что это не его IP-адрес, шлюз D посылает этот IP-пакет прямо к E. :

         ----------------------------------------------------
         |          адрес        отправитель    получатель  |
         ----------------------------------------------------
         |   IP-заголовок             A             E       |
         |   Ethernet-заголовок       D             E       |
         ----------------------------------------------------
    Табл.7. Адреса в Ethernet-кадре, содержащем IP-пакет от A к E
            (после шлюз D)

Итак, при прямой маршрутизации IP- и Ethernet-адреса отправителя соответствуют адресам того узла, который послал IP-пакет, а IP- и Ethernet-адреса места назначения соответствуют адресам получателя. При косвенной маршрутизации IP- и Ethernet-адреса не образуют таких пар.

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