Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Теория (TCP IP).docx
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
87.69 Кб
Скачать

9.4 Доставка сообщения icmp

Сообщения ICMP требуют двух уровней инкапсуляции, как показано на рисунке 9.1. Каждое сообщения ICMP передается по интернету в поле данных IP-дейтаграммы, которая сама передается по каждой физической сети в поле данных кадра. Дейтаграммы, несущие сообщения ICMP маршрутизируются точно так же, как и дейтаграммы, несущие информацию для пользователей; для них не используются дополнительные приоритет или надежность. Поэтому, сами сообщения об ошибках могут быть потеряны или удалены. Более того, в уже переполненной сети сообщения об ошибках могут вызвать дополнительное переполнение. Исключение делается для процедур обработки ошибок, если IP-дейтаграмма, несущая сообщение ICMP, вызвала ошибку. Это исключение, установленное для того, чтобы избежать проблемы появления сообщений об ошибках, вызванных в свою очередь сообщениями об ошибках, определяет, что сообщения ICMP не генерируются для ошибок, появившихся из-за дейтаграмм, несущих сообщения об ошибках ICMP.

--------------------------------------

|заголовок | данные ICMP |

| ICMP | |

--------------------------------------

V V

-------------------------------------------------

| заголовок| область данных дейтаграммы |

|дейтаграмм| |

-------------------------------------------------

V V

-----------------------------------------------------------

|заголовок| область данных кадра |

|кадра | |

9.5 Формат сообщения icmp

Хотя каждое сообщение ICMP имеет свой собственный формат, все они начинаются с трех одинаковых полей: 8-битового целочисленного поля ТИП, которое идентифицирует сообщение, 8-битового поля КОД, которое обеспечивает более точную информацию о типе сообщения, и 16-битового поля КОНТРОЛЬНАЯ_СУММА(ICMP использует тот же самый аддитивный алгоритм, что и IP, но контрольная сумма ICMP учитывает только сообщение ICMP). Помимо того, сообщения ICMP, сообщающие об ошибках, всегда включают заголовок и первые 64 бита данных дейтаграммы, вызвавшей ошибку.

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

Поле ТИП ICMP определяет смысл сообщения, а также его формат. Эти типы включают:

9.7 Формат сообщения запроса эха и ответа эха

Рисунок 9.2 содержит формат сообщений запроса эха и ответа на запрос эха.

0 8 16

------------------------------------------------------------

|тип(8 или 0)| код(0) | Контрольная сумма |

------------------------------------------------------------

| идентификатор | последовательный номер |

------------------------------------------------------------

| необязательные данные |

------------------------------------------------------------

| ...... |

------------------------------------------------------------

Рисунок 9.2 Формат сообщения запроса эха и ответа на него

Поле, названное НЕОБЯЗАТЕЛЬНЫЕ ДАННЫЕ имеет переменную длину и содержит данные, которые надо вернуть отправителю. Ответ на эхо всегда возвращает те же самые данные, что были получены им в запросе. Поля ИДЕНТИФИКАТОР и ПОСЛЕДОВАТЕЛЬНЫЙ НОМЕР используются отправителем для проверки соответствия ответов запросам. Значение поля ТИП определяет, является ли сообщение запросом(8) или ответом(0).