СООБЩИ МНЕ ОБ ОШИБКАХ

Спецвыпуск Xakep, номер #021, стр. 021-046-2


ЧТО ТАКОЕ ICMP?

Internet Control Message Protocol - Интернет протокол управляющих сообщений. Все бы было хорошо, и ты бы спокойно общался бы с бабульками по телефону, если бы не постоянные баги в сети. Для того чтобы сообщать об ошибках, нужен протокол ICMP.

СООБЩЕНИЕ О НЕДОСТИЖИМОСТИ ПОРТА

Самое простое дело. Допустим, ты звонишь бабуле на сотовый, а тебе и говорят: "Абонент недоступен или не отвечает". Или ты звонишь на обычный телефон и слышишь короткие гудки. Все это сообщения о недостижимости абонента.

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

ЗАГОЛОВОК ICMP О НЕДОСТИЖИМОСТИ ПОРТА

ТИП определяет, что это сообщение о недостижимости. По КОДу ты узнаешь, что именно недоступно: сеть, хост, протокол, порт или требуется фрагментация. Контрольная сумма нужна для того, чтобы проверить, не испортилась ли инфа. И, наконец, в информационном поле тебе прикладывают исходную датаграмму, которая не дошла. Получается, бабушка тебе отвечает: ТИП: не могу понять, КОД: ничего не слышу, Контрольная сумма в моем сообщении букв, Информационное поле: ты звонил мне по телефону ХХХ-ХХ-ХХ и сказал...

А что это за странные циферки и плюсики в заголовке?

Когда рисуют заголовок протокола, обязательно отмечают, сколько бит уходит под каждое поле. Ведь каждое поле закодировано вереницей ноликов и единичек. А чтобы их не перепутать, у каждого бита есть свой номер. Заголовок на самом деле должен быть как одна длинная линеечка с номерами битов. Только такая линеечка не влезает на страницу. Чтобы удобней разместить на странице длинную линеечку, ее разбивают на маленькие, и получается бутерброд, или табличка.

СООБЩЕНИЕ О ПРЕВЫШЕНИИ КОНТРОЛЬНОГО ВРЕМЕНИ

ТИП: превысили время, КОД: превысили время жизни, или время при сборке. Остальное так же, как и в недостижимостях. У каждого пакета есть время жизни, поэтому застрявший в сети пакет с истекшим временем удаляют. Если инфа разбита на несколько пакетов, то на конце нужно их собрать. А как известно, семеро пакетов одного не ждут и высылают сообщение с КОДом: "Нас упарило ждать этот пакет".

Т.е. тебе звонит телефонист и говорит: "Помнишь, ты звонил и посылал бабулю к чертовой матери? Так вот, это сообщение у нас заблудилось, и мы его удалили, так что посылай его снова". Или бабуля отвечает тебе: "Не могу полностью воспринять твое сообщение, внучек, т.к. до меня не дошла буква "Ч" из слова "чертовой"".

СООБЩЕНИЕ О ПРИОСТАНОВКЕ ИСТОЧНИКА

ТИП: остановись! КОД: не используется. Если ты слишком интенсивно отсылаешь пакеты в сеть, то у маршрутизатора или хоста переполняется буфер. Поэтому он удаляет лишние датаграммы и сообщает об этом отправителю. Отправитель обычно снижает скорость в ответ на такие послания.

Назад на стр. 021-046-1  Содержание  Вперед на стр. 021-046-3