Механизм переадресации протокола IСМР.

В принципе, протокол IP не предусматривает средств управления маршрутной информацией, но в нем есть небольшой механизм контроля нарушений — переадресующие ICMP-пакеты.

Протокол межсетевых управляющих сообщений ICMP (Internet Control Message Protocol) является обязательным стандартом TCP/IP, описанным в документе RFC 792 «Internet Control Message Protocol (ICMP)».

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

ICMP-сообщения обычно автоматически отправляются в следующих случаях:

1. IP-дейтаграмма не может попасть к узлу назначения.

2. IP-маршрутизатор (шлюз) не может перенаправлять дейтаграммы с текущей скоростью передачи.

3. IP-маршрутизатор перенаправляет узел-отправитель на другой, более выгодный маршрут к узлу назначения.

ICMP-сообщения инкапсулируются и передаются в IP-дейтаграммах в формате, представленном на рис. 6.

Механизм переадресации протокола IСМР. - student2.ru

Рис. 6. Инкапсуляция ICMP-сообщений в IP-дейтаграмме

Механизм переадресации протокола IСМР. - student2.ru Формат непосредственно ICMP-сообщения представлен на рис. 7.

Рис. 7. Формат пакета ICMP.

Типы ICMP-сообщений различаются по заголовку ICMP. Так как ICMP-сообщения переносятся IP-дейтаграммами, их доставка не гарантируется.

В табл. 2 перечислены и описаны наиболее часто встречающиеся ICMP-сообщения.

Таблица 2. Наиболее часто встречающиеся ICMP-сообщения.

ICMP-сообщение Описание
Эхо-запрос (Echo request) Определяет, доступен ли в сети IP-узел (компьютер или маршрутизатор).
Эхо-ответ (Echo reply) Отвечает на эхо-запрос ICMP.
Адресат недоступен (Destination unreachable) Информирует узел о том, что дейтаграмма не может быть доступна.
Замедление источника (Source quench) Требует от узла снизить скорость отправки дейтаграмм, так как в сети возник затор.
Перенаправление (Redirect) Информирует узел о наличии более оптимального маршрута.
Истечение времени (Time exceeded) Сообщает, что время жизни IP-дейтаграммы (TTL) истекло.

Типы пакетов ICMP (полный список):

§ 0 — Эхо-ответ;

§ 1 — Зарезервировано;

§ 2 — Зарезервировано;

§ 3 — Адресат недоступен:

код 0 — Сеть недостижима;

код 1 — Узел недостижим;

код 2 — Протокол недостижим;

код 3 — Порт недостижим;

код 4 — Необходима фрагментация, но установлен флаг ее запрета (DF);

код 5 — Неверный маршрут от источника;

код 6 — Сеть назначения неизвестна;

код 7 — Узел назначения неизвестен;

код 8 — Узел источник изолирован;

код 9 — Сеть административно запрещена;

код 10 — Узел административно запрещен

код 11 — Сеть недоступна для ToS;

код 12 — Узел недоступен для ToS;

код 13 — Коммуникации административно запрещены;

код 14 — Нарушение порядка предпочтения узлов;

код 15 — Активно отсечение порядка предпочтения;

§ 4 — Сдерживание источника (отключение источника при переполнении очереди);

§ 5 — Перенаправление:

код 0 — Перенаправление пакетов в сеть;

код 1 — Перенаправление пакетов к узлу;

код 2 — Перенаправление для каждого типа обслуживания (TOS);

код 3 — Перенаправление пакета к узлу для каждого типа обслуживания;

§ 6 — Альтернативный адрес узла;

§ 7 — Зарезервировано;

§ 8 — Эхо-запрос;

§ 9 — Объявление маршрутизатора (RFC-1256):

код 0 — Нормальное объявление маршрутизатора;

код 16 — Не маршрутизировать обычный трафик;

§ 10 — Запрос маршрутизатора (RFC-1256);

§ 11 — Превышение временного интервала (для дейтаграммы время жизни истекло):

код 0 — Время жизни пакета (TTL) истекло при транспортировке;
код 1 — Время жизни пакета (время сборки фрагментов) истекло при дефрагментации;

§ 12 — Неверный параметр (проблема с параметрами дейтаграммы: ошибка в IP-заголовке или отсутствует необходимая опция):

код 0 — Указатель говорит об ошибке;

код 1 — Отсутствует требуемая опция;

код 2 — Некорректная длина;

§ 13 — Запрос метки времени;

§ 14 — Ответ с меткой времени;

§ 15 — Информационный запрос;

§ 16 — Информационный ответ;

§ 17 — Запрос адресной маски (RFC-950);

§ 18 — Отклик на запрос адресной маски (RFC-950);

§ 19 — Зарезервировано (для обеспечения безопасности);

§ 20-29 — Зарезервировано (для экспериментов на устойчивость к ошибкам);

§ 30 — Трассировка маршрута (RFC-1393);

§ 31 — Ошибка преобразования дейтаграммы (RFC-1475);

§ 32 — Перенаправление для мобильного узла;

§ 33 — IPv6 Where-Are-You (где вы находитесь);

§ 34 — IPv6 I-Am-Here (я здесь);

§ 35 — Запрос перенаправления для мобильного узла;

§ 36 — Отклик на запрос перенаправления для мобильного узла;

§ 37 — Запрос доменного имени (Domain Name Request);

§ 38 — Ответ на запрос доменного имени (Domain Name Reply);

§ 39 — SKIP;

§ 40 — Photuris:

код 0 — Зарезервировано;

код 1 — Неизвестный индекс параметров безопасности (Unkown Security Parameters Index);

код 2 — Параметры безопасности верны, но произошла ошибка аутентификации (Valid Security Parameters, but Authentication Failed);

код 3 — Параметры безопасности верны, но произошел сбой при расшифровке (Valid Security Parameters, but Decryption Failed);

код 4 — Требуется проверка подлинности (Need Authentication);

код 5 — Требуется авторизация (Need Authorization);

§ 41-255 — Зарезервировано.

Рассмотрим подробнее механизм переадресации пакетов.

Если маршрутизатор направ­ляет пакет компьютеру, находящемуся в той же сети, из которой этот пакет был получен первоначально, то что-то работает явно неправильно.

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

В этой ситуации маршрутизатор может уведомить отправителя о данной проблеме с помощью переадресующего ICMP-пакета. Такой пакет, по сути дела, сообщает: "Не нужно посылать мне пакеты дня машины ххх, их следует адресовать машине ууу".

Протокол ICMP позволяет посылать переадресующие пакеты как по адресам отдельных компьютеров, так и целым сетям. Во многих реализациях, однако, допускается создание пакетов только первого типа.

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

Раньше, когда только появилась технология группового вещания, некоторые системы генерировали переадресующие ICMP-пакеты в ответ на получение групповых пакетов. Современные системы избавлены от подобной проблемы

Стандартный ICMP-сценарий не подразумевает этапа аутентификации. Маршрутизатор получает от другого, известного ему маршрутизатора команду перенаправить трафик в другое место.

Нужно ли подчиниться этой команде? В действительности такой сценарии создает определенные проблемы с точки зрения безопасности. Поэтому переадресуюшие пакеты запрещены в ядрах Linux и FreeBSD, а также в маршрутизаторах Cisco. Считается, что не стоит позволять непроверенным узлам модифицировать таблицы маршрутизации.

ЗАКЛЮЧЕНИЕ

Общими словами маршрутизацию можно описать как процесс передачи пакетов между соединенными сетями. В TCP/IP-сетях маршрутизация является частью протокола IP (Internet Protocol) и используется в сочетании с другими службами сетевых протоколов для обеспечения передачи данных между узлами, расположенными в разных сегментах более крупной TCP/IP-сети. IP — это своего рода «почтовая система» протокола TCP/IP, выполняющая сортировку и доставку IP-данных.

Маршрутизация является основной функцией IP. Обмен IP-дейтаграммами и их обработка на каждом узле выполняются протоколом IP, работающим на межсетевом уровне.

ICMP — сетевой протокол, также входящий в стек протоколов TCP/IP. В основном ICMP используется для передачи сообщений об ошибках и других исключительных ситуациях, возникших при передаче данных, например, запрашиваемая услуга недоступна, или хост, или маршрутизатор не отвечают. Также на ICMP возлагаются некоторые сервисные функции.

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


Наши рекомендации