Протоколы TCP-IP

       

Запросы изменения маршрута от шлюзов


Таблицы маршрутизации Интернета обычно не меняются в течение длинного промежутка времени. ГВМ инициализируют их с помощью файла конфигурации при загрузке системы, а сетевые администраторы лишь изредка вносят в них изменения при нормальной работе. При изменении топологии сети таблицы маршрутизации в ГВМ или шлюзе могут стать некорректными. Изменение может быть временным(например, нужно заменить неисправное оборудование) или постоянным(например, когда новая сеть добавляется к интернету). Как мы увидим позже, шлюзы периодически обмениваются информацией о маршрутизации, чтобы отслеживать изменения в сети и своевременно менять маршруты. Поэтому можно сформулировать общее правило:

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

Чтобы помочь придерживаться этого правила и чтобы избежать дублирования информации о маршрутизации в файле конфигурации каждого ГВМ, в начальной конфигурации ГВМ указывается минимум информации о маршрутизации, необходимый для взаимодействия (например, адрес одного шлюза). Поэтому ГВМ начинает работать, имея минимальную информацию, и полагается на то, что шлюзы помогут обновить ему таблицу маршрутизации. Если шлюз обнаруживает, что ГВМ использует неоптимальный маршрут, он посылает ГВМ сообщение ICMP, называемое "переназначением", запрашивающее изменение маршрута в таблице маршрутизации ГВМ. Этот шлюз также отправляет исходную дейтаграмму к ее назначению. Преимуществом схемы переназначения ICMP является ее простота: она позволяет ГВМ знать вначале адрес только одного шлюза в локальной сети. Этот начальный шлюз возвращает сообщение ICMP о переназначении всякий раз, когда ГВМ посылает дейтаграмму, для которой существует лучший маршрут. Таблица маршрутизации ГВМ останется маленькой, но будет содержать оптимальные маршруты для всех используемых назначений.

Сообщения о переназначении, тем не менее, не решают проблему распространения информации о маршрутах полностью, так как они предназначены только для взаимодействия между шлюзом и ГВМ в одной физической сети. Рисунок 9.5 иллюстрирует эту проблему. Согласно рисунку предполагается, что источник И посылает дейтаграмму назначению Н. Пусть шлюз Ш1 некорректно направляет дейтаграмму через шлюз Ш2 вместо шлюза Ш4(то есть Ш1 по ошибке выбрал более длинный путь). Когда шлюз Ш5 принимает дейтаграмму, он не может послать сообщение переназначения ICMP Ш1, так как он не знает адрес шлюза Ш1. Последующие главы рассмотрят проблему, как распространяется информация о маршрутах между несколькими сетями.


| -- | -- | -- |--|Ш1|-|-|Ш2|-| -- | | | И|--| -- | -- |-|Ш3|-| -- | -- | | -- |---|Ш5|-| -- | | -- | -- |--| Н| | |----|Ш4|-----| | -- | | -- |

Рисунок 9.5 Сообщения о переназначении ICMP не помогают маршрутизации между шлюзами. В этом примере шлюз Ш5 не может заставить Ш1 использовать более короткий путь для дейтаграмм между И и Н.

Помимо полей-реквизитов ТИП, КОД и КОНТРОЛЬНАЯ СУММА, каждое сообщение о переназначении содержит 32-битовое поле МЕЖСЕТЕВОЙ АДРЕС ШЛЮЗА и поле ПРЕФИКС ДЕЙТАГРАММЫ, как это показано на рисунке 9.6

0 8 16 31 ------------------------------------------------------------ |тип(5) |код(от 0 до 3)| Контрольная сумма | ------------------------------------------------------------ | межсетевой адрес шлюза | ------------------------------------------------------------ | межсетевой заголовок плюс первые 64 бита дейтаграммы | ------------------------------------------------------------ | ...... | ------------------------------------------------------------

Рисунок 9.6 Формат сообщения о переназначении ICMP

Поле МЕЖСЕТЕВОЙ АДРЕС ШЛЮЗА содержит адрес шлюза, который должен использовать ГВМ при отправлении дейтаграммы к назначению, указанному в заголовке дейтаграммы. Поле МЕЖСЕТЕВОЙ ЗАГОЛОВОК содержит заголовок IP и следующие 64 бита дейтаграммы, которая привела к появлению этого сообщения. Поэтому ГВМ, принимающий сообщение о переназначении ICMP, должен выделить адрес назначения дейтаграммы из префикса дейтаграммы. Поле КОД в сообщении о переназначении ICMP более конкретно указывает, как интерпретировать адрес назначения, при этом значения имеют следующий смысл:

Значение кода



Смысл сообщения

0 Переназначение дейтаграмм для этой сети(устарело)
1 Переназначение дейтаграмм для этого ГВМ
2 Переназначение дейтаграмм для этого типа сервиса и сети
3 Переназначение дейтаграмм для этого типа сервиса и ГВМ
Замечание. Напомним, что каждый заголовок IP указывает тип сервиса, используемого при маршрутизации

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


Содержание раздела