Сообщение Redirect
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Code | Checksum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Gateway Internet Address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Заголовок IP и 64 бита исходной дейтаграммы | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Поля IP
- Destination Address
- Адрес отправителя исходной дейтаграммы.
Поля ICMP
- Type
- 5
- Code
- 0 — перенаправление дейтаграмм для сети;
- 1 — перенаправление дейтаграмм для хоста;
- 2 — перенаправление дейтаграмм для типа обслуживания и сети;
- 3 — перенаправление дейтаграмм для типа обслуживания и хоста.
- Checksum
- Контрольная сумма представляет собой 16-битовое поразрядное дополнение до единицы суммы поразрядных дополнений до единицы сообщения ICMP, начиная с поля ICMP Type. При расчете контрольной суммы значение поля checksum принимается нулевым. Алгоритм вычисления контрольной суммы может быть изменен в будущем.
- Gateway Internet Address
- Адрес шлюза, которому следует направлять трафик, указанный в поле адреса получателя исходной дейтаграммы.
- Заголовок IP и 64 бита исходной дейтаграммы
- Эта информация используется хостом, чтобы связать сообщение с подходящим процессом. Если протокол вышележащего уровня использует порты, можно полагать, что номер порта присутствует в первых 64 байтах данных исходной дейтаграммы.
Описание
Шлюзы передают сообщения redirect в нескольких случаях. Предположим, что шлюз G1 принимает дейтаграмму от хоста, находящегося в подключенной к шлюзу сети. G1 просматривает свою таблицу маршрутизации и определяет адрес следующего шлюза G2 на пути дейтаграммы к сети получателя, X. Если шлюз G2 и хост, указанный в поле отправителя дейтаграммы, находятся в одной сети, хосту передается сообщение redirect. Такое сообщение говорит хосту что трафик для сети X следует передавать шлюзу G2, поскольку такой путь будет короче. Исходную дейтаграмму получивший ее шлюз пересылает в направлении адресата.
Для дейтаграмм IP с опцией source route и адресом шлюза в поле destination address сообщения redirect не передаются даже в тех случаях, когда к конечному получателю существует маршрут, который лучше указанного в source route.
Коды 0, 1, 2, 3 могут приниматься от шлюзов.