ICMP классифицируется как протокол уровня 3 в модели OSI, но, насколько я могу судить, он не соответствует определению протокола сетевого уровня.
Он не обеспечивает адресацию или маршрутизацию пакетов (для этого он использует IP), поэтому все, что он делает, - это отправляет информацию с одного узла на другой узел, как транспортный протокол. Итак, учитывая это, почему ICMP классифицируется как протокол уровня 3?
networking
icmp
network-protocols
Робби Маккенни
источник
источник
Ответы:
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 зависит от того, как работает протокол. Пример:
источник
What is the "data unit of layer 4 protocol"?
data unit of layer 1 is bits
,data unit of layer 2 is frames
,data unit of layer 3 is packets
. Что насчет слоя 4?ICMP (и ICMPv6, IGMP и т. Д.) Управляют соединениями сетевого уровня. Они (как правило) используются не конечными пользователями, а операционной системой. По этой причине он относится к уровню 3 (сеть), хотя он использует IP для адресации и определения пути (маршрутизация).
Модель OSI в значительной степени написана с точки зрения подключения пользователей (реальных людей или серверов приложений). Все протоколы управления и тому подобное все еще вписываются в модель OSI, но, похоже, не совсем соответствуют языку, поскольку они (как правило) не обслуживают пользователей напрямую.
источник