ICMP фактически находится на «вершине» уровня 3. Он использует протокол IP для доставки данных на удаленный хост. Другими словами, сообщения ICMP должны быть инкапсулированы в IP-пакеты.
Считайте, что это похоже на ARP, который можно рассматривать как «наверху» уровня 2, при этом используя протокол Ethernet для фактической отправки пакетов.
ICMP реализован как часть уровня IP, так что обработка ICMP может рассматриваться как происходящая параллельно или как часть обработки IP. Поэтому в разделе о многоуровневой сети на основе TCP / IP ICMP показан как протокол уровня 3.
@Robbie Mckennie
К какому уровню относится ICMP, является предметом ожесточенных споров. Заголовок ICMP находится на уровне 4, так же, как TCP и UDP, поэтому люди утверждают, что он принадлежит к уровню 4. Другие, однако, утверждают, что ICMP является протоколом уровня 3, поскольку он помогает IP и не имеет понятия портов.
Для меня классификация протокола как принадлежащего определенному уровню в модели OSI зависит от того, как работает протокол. Пример:
BGP используется для маршрутизации на уровне 3, но сам BGP передается по протоколу TCP (и, конечно, IP)