Технические основы IP-сетей. Структура сетевого протокола TCP/IP. Уровень канала данных. Прикладной уровень, страница 11

Следует особо подчеркнуть, что IP-адрес источника и IP-адрес получателя, указанные в заголовке дейтаграммы, обозначают IP-адреса хостов, между которыми установлена связь. IP-адрес маршрутизатора не заносится в заголовок дейтаграммы. Разумеется, IP-адрес маршрутизатора полезен, поскольку позволяет хосту-источнику узнать физический адрес маршрутизатора. Физический адрес требуется для нахождения маршрутизатора в процессе передачи дейтаграммы, т. е. для «шага».

Схематически процесс, описанный выше, можно представить следующим образом (см. рис. 3-12). Физический адрес считается MAC-адресом LAN. MAC-адрес используется для связи между хостом и маршрутизатором (т. е. для «шага»). IP-адрес используется для связи между двумя хостами, а также для выбора нужного маршрутизатора. Символы от (1) до (8) указывают последовательность передачи дейтаграммы.

Рис. 3-12 Связь двух хостов через маршрутизатор

Следует отметить, что поскольку маршрутизатор соединяется одновременно с двумя сетями, он имеет два IP-адреса и два физических адреса (MAC-адреса). После того, как дейтаграмма, отправленная хостом A, проходит через маршрутизатор, ни один из IP-адресов в заголовке дейтаграммы не меняется.  Оба MAC-адреса в пакете данных (адрес источника и адрес получателя) заменяются.

Информация, посылаемая в обратном направлении – ответ хоста B хосту A ((7) и (8)).

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

Таблица маршрутизации

Когда источник отправляет дейтаграмму, IP-уровень прежде всего проверяет сетевой адрес в IP-адресе получателя. Если установлено, что адресат принадлежит той же сети, что и источник, дейтаграмма передается в соответствии с физическим адресом адресата, минуя маршрутизатор.

Если адресат является хостом другой сети, уровень IP проверяет, не определен ли для этого адресата свой особый маршрут – в этом случае дейтаграмма передается согласно этому маршруту. Это может быть очень полезным, так как иногда необходимо проверить, как работает конкретный маршрут до места назначения.

Если специальный маршрут не предусмотрен, используется таблица маршрутизации. Таблица маршрутизации определяет, какой из физических портов маршрутизатора должна пройти дейтаграмма для нахождения следующего маршрутизатора и хоста-адресата конкретной сети. Следующий шаг – поиск таблицы маршрутизации следующего маршрутизатора. Или же дейтаграмма передается напрямую в пределах одной сети, минуя другие маршрутизаторы. 

Чтобы избежать избыточного объема таблицы маршрутизации, в сети устанавливают маршрутизатор по умолчанию. Если искомая сеть не найдена в таблице маршрутизации, дейтаграмма пересылается на маршрутизатор, установленный по умолчанию, который осуществляет дальнейшую маршрутизацию. Это очень удобно для сетей малого масштаба, подсоединенных к Интернет  только через один маршрутизатор. В этом случае все дейтаграммы, не предназначенные для хостов данной сети, передаются на маршрутизатор по умолчанию.

Пример, приведенный на рис. 3-13, показывает основное содержание таблицы маршрутизации (Маршрутизатор R8). На схеме семь сетей соединены между собой с помощью восьми маршрутизаторов. Каждый маршрутизатор имеет более одного IP-адреса. В структуре дейтаграммы цифры обозначают адрес данной сети (как упоминалось выше, IP-адрес, в котором все номера хостов – нули, является адресом сети). Поскольку маршрутизатор 8 соединен с тремя сетями, он имеет три IP-адреса и три физических порта. Данные различных таблиц маршрутизации могут или вводиться вручную, или генерироваться через различные протоколы маршрутизации.

Рис. 3-13 Пример таблицы маршрутизации.

Route table of router R8 – Таблица маршрутизации маршрутизатора R8

The network where the destination is located – Сеть адресата