Материал просмотрен 2,500 раз(а)

Протокол управляющих сообщений Internet (ICMP)

ICMP – компактный “диагностический” протокол, в основном используемый в инструментах, измеряющих “здоровье” сети. К какому же уровню модели OSI отнести этот протокол? Некоторые рассматривают ICMP как находящийся на сетевом уровне и являющися эквивалентом IP и IPX; другие трактуют его как транспортный протокол вроде TCP или UDP. Правда в том, что он имеет элементы и того и другого. “Свет – волна, свет – частица” 🙂 Так и здесь. Сообщения, принятые ICMP, обрабатываются на “сетевом” уровне, но эти сообщения строятся для взаимодействия с программами “транспортного” уровня, поэтому трудно сказать, куда его следует отнести в 7-миуровневой модели ISO / OSI.

Наиболее распространённые способы использования ICMP – в инструментах ping и traceroute; оба они возвращают информацию, фундаментальную для структуры дейтаграмм ICMP. Большей частью они используют способность ICMP опрашивать удалённые хосты для получения временных меток и эха, которое возвращается обратно, вместе со специализированными кодами.

ICMP может также применяться для предоставления сообщений об ошибках протоколам “транспортного” уровня, таким как ошибка типа “Port Unreachable” (порт недоступен), возвращаемая ICMP отправителю UDP, пытающемуся обратиться к недоступному порту машины-получателя. ICMP может сообщать о 16 ошибочных состояниях, и имеет примерно столько же дополнительных функций.