фрагментирована, а этот процесс снижает производительность. (С точки зрения пользователя, качество сети определяется двумя параметрами: интервалом пересылки (от начала пересылки до ее завершения) и временем ожидания (задержкой доступа к сети, занятой другими пользователями). Увеличение размера датаграммы приводит к снижению интервала пересылки, но увеличению ожидания для других пользователей. Грубо говоря, нагрузка на сеть будет выглядеть как пиковые импульсы с очень небольшой нагрузкой между ними, что считается самым неудачным вариантом загрузки сети. Гораздо лучше, когда сеть нагружается равномерно. —
Многие годы хосты избегали фрагментации, устанавливая эффективное значение MTU для пересылки в 576 октетов для всех нелокальных хостов. Это часто приводило к ненужному снижению производительности.
Гораздо полезнее заранее знать наибольший допустимый размер датаграммы, которую можно переслать по заданному пути. Существует очень простой механизм
■ Флаг
■ Размер MTU по пути первоначально устанавливают в значение MTU для локального интерфейса.
■ Если датаграмма будет слишком велика для одного из маршрутизаторов, то он пошлет обратно ICMP-сообщение
■ Хост источника уменьшит размер датаграммы и повторит попытку.
Какое же значение нужно выбрать для следующей попытки? Спецификация IP предполагает сохранение значения MTU и его доступность для протоколов транспортного уровня. Если маршрутизатор имеет современное программное обеспечение, то он будет включать в пересылаемое дальше по сети сообщение
Рис. 7.10. Сообщение Destination Unreachable приносит результат исследования размера
Поскольку пути пересылки могут меняться динамически, флажок
Если маршрутизатор использует устаревшее программное обеспечение, он не сможет предоставить значение MTU для следующего попадания. В этом случае значение для следующей попытки будет выбираться из списка стандартных размеров MTU (см. главу 4) с постепенным уменьшением для каждой новой попытки до достижения значения, нужного для коммуникации с удаленным хостом.
Разумеется, изменение пути следования может создать предпосылки для использования большего размера MTU. В этом случае система, согласовавшая небольшой размер MTU, будет пытаться его увеличить, если такое улучшение будет возможно.
7.6 Сообщения запросов ICMP
Не все сообщения ICMP сигнализируют об ошибках. Некоторые из них извлекают из сети полезные сведения. Работает ли хост X? Не выключен ли хост Y? Как долго движется датаграмма до хоста Z и обратно? Какова маска подсети хоста источника?
Ответы на эти вопросы дают следующие сообщения ICMP:
■
■ Запросы и ответы о
■ Запросы и ответы
На рис. 7.11 представлено обслуживание запросов ICMP. Программа
Рис. 7.11. Сообщение запроса ICMP
7.6.1 Эхо-запросы и эхо-ответы
Отвечающая сторона должна послать обратно те же самые данные, которые были получены. Поле
Рис. 7.12. Формат ICMP-сообщений Echo Request и Echo Reply
Широко известная команда
> ping ring.bell.com
ring.bell.com is alive
> ping -s ring.bell.com 64 14
64 bytes from ring.bell.com: icmp_seq=3. time = 21. ms
64 bytes from ring.bell.com: icmp_seq=4. time = 18. ms
64 bytes from ring.bell.com: icmp_seq=5. time = 17. ms
64 bytes from ring.bell.com: icmp_seq=6. time = 19. ms
64 bytes from ring.bell.com: icmp_seq=7. time = 17. ms
64 bytes from ring.bell.com: icmp_seq=8. time = 17. ms
64 bytes from ring.bell.com: icmp_seq=9. time = 17. ms
64 bytes from ring.bell.com: icmp_seq=10. time = 18. ms
64 bytes from ring.bell.com: icmp_seq=11. time = 17. ms
64 bytes from ring.bell.com: icmp_seq=12. time = 17. ms
64 bytes from ring.bell.com: icmp_seq=13. time = 17. ms
-ring.bell.com PING Statistics-
14 packets transmitted, 11 packets received, 21% packet loss