RFC: 1180
Оригинал: A TCP/IP Tutorial
Категория: Информационный
Дата публикации:
Авторы: ,
Перевод: Николай Малых

5.2. Непрямая маршрутизация

На рисунке 7 представлен более реальный пример internet — сеть содержит три сети Ethernet (три сети IP), соединенных IP-маршрутизатором (компьютер D). Каждая из сетей IP содержит по 4 компьютера и каждый из этих компьютеров имеет свои адреса IP и Ethernet.

  A      B      C      ----D----      E      F      G
  |      |      |      |   |   |      |      |      |
--o------o------o------o-  |  -o------o------o------o--
Ethernet 1                 |  Ethernet 2
IP network "development"   |  IP network "accounting"
                           |
                           |
                           |     H      I      J
                           |     |      |      |
                         --o-----o------o------o--
                          Ethernet 3
                          IP network "factory"


Рисунок 7. Три сети IP в одной сети internet

На всех компьютерах, за исключением D, используется стек TCP/IP, показанный на рисунке 1. Компьютер D является IP-маршрутизатором — он подключен ко всем 3 сетям и, следовательно, имеет три адреса IP и 3 адреса Ethernet. В компьютере D используется стек TCP/IP, схематически изображенный на рисунке 3 (вместо двух адаптеров используется три). В компьютере D используются 3 модуля ARP и 3 драйвера Ethernet, но модуль IP по-прежнему один.

Администратор сети присваивает уникальный номер (IP-адрес) каждому из адаптеров Ethernet. Адреса IP не показаны на рисунке 7 — сети обозначены именами.

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

При взаимодействии компьютеров D и A также используется прямая маршрутизация, аналогично протекает и процесс взаимодействия между компьютерами D и E, D и H (каждая из этих пар находится в одной сети IP).

Однако при обмене пакетами между компьютером A, расположенным по одну сторону маршрутизатора, и компьютером, расположенным по другую сторону маршрутизатора IP, прямая маршрутизация уже не будет работать. Компьютер A должен использовать маршрутизатор D для пересылки пакетов IP в другую IP-сеть. Такой процесс называется непрямой маршрутизацией (indirect routing).

Маршрутизация пакетов IP осуществляется IP-модулями и прозрачна для TCP, UDP и сетевых приложений.

Если A передает пакет IP компьютеру E, в качестве адресов отправителя указаны адреса IP и Ethernet компьютера A. Получателем пакетов IP является компьютер E и его адрес IP указывается в заголовке пакета, но, поскольку IP-модуль компьютера A посылает пакет маршрутизатору D для дальнейшей пересылки, в качестве Ethernet-адреса получателя указывается адрес D.

АдресОтправительПолучатель
Заголовок IPAE
Заголовок EthernetAD

Модуль IP компьютера D получает пакет IP и проверяет IP-адрес получателя, после чего может сказать: «Это не мой адрес» — и переслать пакет IP компьютеру E, используя прямую маршрутизацию.

АдресОтправительПолучатель
Заголовок IPAE
Заголовок EthernetDE

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

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

2007 - 2017 © Русские переводы RFC, IETF, ISOC.