К локальной сети может быть подключено более одного маршрутизатора. Когда локальный хост посылает датаграмму не на тот маршрутизатор, последний пересылает ее и отправляет хосту источника ICMP-сообщение
Рис. 7.8. Коррекция маршрутизации на хосте посредством сообщения Redirect
Сообщение
Рис. 7.9. Формат ICMP-сообщения Redirect
Формат сообщения о перенаправлении показан на рис. 7.9. Коды этого сообщения перечислены в таблице 7.5. Некоторые протоколы маршрутизации способны выбирать путь доставки на основе содержимого поля
Таблица 7.5 Коды перенаправления
Код | Смысл |
---|---|
0 | Перенаправление датаграммы в сеть |
1 | Перенаправление датаграммы в хост |
2 | Перенаправление датаграммы в сеть на основе значения из поля типа обслуживания |
3 | Перенаправление датаграммы в хост на основе значения из поля типа обслуживания |
7.4.7 Управление поступающими сообщениями ICMP
Что должен делать хост, получивший сообщение ICMP? Реализации различных разработчиков по- разному отвечают на этот вопрос. В некоторых из них хосты игнорируют все или многие такие сообщения. Стандарты TCP/IP оставляют большую свободу выбора в решении этого вопроса. Для различных типов сообщений ICMP предлагаются следующие рекомендации:
Доставить ICMP-сообщение на транспортный уровень. Выполняемые действия должны зависеть от того, является ли причина вывода сообщения временной или постоянной (например, административный запрет на пересылку). | |
Хост | |
Доставить ICMP-сообщение на транспортный уровень или в модуль обработки ICMP. | |
Доставить на транспортный уровень. | |
Доставить ICMP-сообщение на транспортный уровень с необязательным уведомлением пользователя. |
Иногда ошибки должны обрабатываться совместно операционной системой, коммуникационным программным обеспечением и сетевым приложением.
7.5 Исследование MTU по пути
При пересылке большого объема данных (например, при копировании файлов по сети) с одного хоста на другой размер датаграмм существенно влияет на производительность. Заголовки IP и TCP требуют не менее 40 дополнительных байт.
■ Если данные пересылаются в 80-байтовых датаграммах, дополнительная нагрузка составит 50%.
■ Если данные пересылаются в 400-байтовых датаграммах, дополнительная нагрузка составит 10%.
■ Если данные пересылаются в 4000-байтовых датаграммах, дополнительная нагрузка составит 1%.
Для минимизации дополнительной нагрузки лучше отсылать датаграммы наибольшего размера. Однако этот размер ограничивается значением максимального элемента пересылки (Maximum Transmission Unit — MTU) для каждого из носителей. Если датаграмма будет слишком большой, то она будет