Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Основные теоретические сведения. Межсетевой протокол управляющих сообщений ICMP




Межсетевой протокол управляющих сообщений ICMP

Межсетевой протокол управляющих сообщений ICMP (Internet Control Message Protocol), специфицированный в RFC 792, играет роль транспортного протокола для управляющей и диагностической информации, которой обмениваются между собой IP-, TCP- или UDP-модули скрытно от приложений. Протокол ICMP поддерживается в обязательном порядке каждым IP-модулем. Сообщения ICMP должны отправляться в некоторых затруднительных ситуациях. Например, когда дейтаграмма не может достичь своего адресата, когда шлюз не имеет достаточно места в своем буфере для передачи какой-либо дейтаграммы, или когда шлюз приказывает хост-компьютеру отправлять информацию по более короткому маршруту.

Заголовок ICMP-пакета

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

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

· Тип – однобайтовое поле, содержащее идентификатор типа ICMP-пакета. Возможные значения этого поля приведены в таблице.

Таблица 5.1.

Значения идентификаторов типа ICMP пакета

Поле «Тип» Назначение
  Ответ на запрос эха
  Адресат недоступен
  Подавление источника
  Перенаправление
  Запрос эха
  Исчерпано время жизни
  Ошибка в параметре
  Запрос временной метки
  Ответ на запрос временной метки

 

· Код – однобайтовое поле, значение которого конкретизирует назначение ICMP-пакета определенного типа.

· Контрольная сумма – 16-битовое поле, содержащее Internet -контрольную сумму, подсчитанную для всего ICMP-пакета целиком.

· Разное – четырехбайтовое поле, предназначенное для хранения разнообразной информации, специфичной для ICMP-пакетов определенного типа (например, номера в TCP-последовательности, IP-адреса и т.п.).

· Тело пакета – здесь содержится заголовок IP-сегмента, явившегося порождения данного ICMP-пакета, и первые 8 байт данных тела этого IP-сегмента. Если ICMP-пакет есть результат проявления аномалии в TCP- или UDP-взаимодействии, то эти 8 байт будут представлять собой первые восемь байтов, соответственно, TCP- или UDP-заголовка, что дает возможность определить, в частности, номера портов (а, следовательно, и использующие их прикладные программы).

Для ICMP-пакетов некоторых типов тело может содержать не начало IP-сегмента, а тестовые данные.

Источниками и обработчиками ICMP-пакетов могут быть как IP-модули, так и TCP- и UDP-модули (но никогда прикладные программы).

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

Типы ICMP-пакетов

Рассмотрим несколько основных типов ICMP сообщений.

1. Сообщение о превышении времени жизни.

Рис. 5.2. Формат ICMP пакета о превышении контрольного времени

Поля IP заголовка – заимствованы сеть и адрес отправителя из исходной дейтаграммы с данными.

Поля ICMP сообщения:

· Тип – 11

· Код – 0 – при передаче превышено время жизни

1 – превышено контрольное время при сборке фрагментов дейтаграммы.

· Контрольная сумма – является 16-битным дополнением до единицы суммы дополнений в ICMP сообщении, начиная с поля типа ICMP.

· Internet заголовок + 64 бита данных из исходной дейтаграммы – используются хост-компьютером для привязки сообщения к соответствующему процессу. Если протокол более высокого уровня использует номера портов, то предполагается, что эти номера входят в первые 64 бита данных в исходной дейтаграмме.

2. Эхо-сообщение.

Для реализации эха IP-модуль на узле A отправляет узлу B ICMP-пакет типа "запрос эха", содержащий в своем теле вместо IP-заголовка тестовые данные произвольной длины. Узел B, получив такой запрос, возвращает узлу A ICMP-пакет типа "ответ на запрос эха", содержащий те же данные, что и в запросе. Эхо-посылки используются для проверки достижимости удаленных узлов сети и измерения времени прохождения данных.

 

Рис. 5.3. Формат эхо-сообщения и сообщения в ответ на эхо

Поля IP заголовка: адрес отправителя в эхо-сообщении будет адресом получателя в ответном сообщении. Чтобы сформировать сообщение ответа, следует просто переставить местами адреса отправителя и получателя, код типа изменить на 0 и пересчитать контрольную сумму.

Поля ICMP сообщения:

· Тип – 8 – эхо-сообщение;

0 – сообщение в ответ на эхо

· Код – 0

· Контрольная сумма – то же, что и в предыдущем ICMP-сообщении

· Идентификатор – если код = 0, то идентификатор для соотнесения эхо-сообщений и ответов на них должен быть обнулен.

· Номер очереди – если код = 0, то номер очереди, служащий для соотнесения эхо-сообщений и ответов на них, должен быть обнулен.

Описание – данные из эхо-сообщения должны быть переданы в ответе на это сообщение. Идентификатор и номер очереди могут использоваться отправителем эхо-сообщения с целью идентификации приходящих пакетов. Например, идентификатор может использоваться в качестве порта подобно протоколам TCP и UDP для идентификации сеанса. Номер очереди может увеличиваться на единицу при посылке каждого эхо-сообщения (запроса). Компьютер, отозвавшийся на это сообщение, возвращает в своем ответе те же значения для идентификатора и номера очереди, что были в исходном эхо-сообщении.

 





Поделиться с друзьями:


Дата добавления: 2016-10-27; Мы поможем в написании ваших работ!; просмотров: 546 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Велико ли, мало ли дело, его надо делать. © Неизвестно
==> читать все изречения...

2555 - | 2198 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.008 с.