ICMP jest sklasyfikowany jako protokół warstwy 3 w modelu OSI, ale o ile mogę stwierdzić, nie spełnia definicji protokołu warstwy sieci.
Nie zapewnia adresowania ani routingu pakietów (wykorzystuje do tego IP), więc wszystko, co robi, to wysyłanie informacji z jednego węzła do drugiego, na przykład protokołu transportowego. Biorąc to pod uwagę, dlaczego ICMP jest klasyfikowany jako protokół warstwy 3?
networking
icmp
network-protocols
Robbie Mckennie
źródło
źródło
Odpowiedzi:
ICMP znajduje się w górnej części warstwy 3. Wykorzystuje protokół IP do dostarczania danych do zdalnego hosta. Innymi słowy, wiadomości ICMP muszą być zamknięte w pakietach IP.
Rozważ to jako podobne do ARP, które można uznać za „na górze” warstwy 2, przy użyciu protokołu Ethernet do faktycznego wysyłania pakietów.
ICMP jest implementowany jako część warstwy IP, więc przetwarzanie ICMP może być postrzegane jako występujące równolegle lub jako część przetwarzania IP. Dlatego w temacie dotyczącym sieci warstwowej opartej na TCP / IP ICMP jest przedstawiany jako protokół warstwy 3.
@Robbie Mckennie
Która warstwa należy do ICMP jest przedmiotem zaciętej debaty. Nagłówek ICMP znajduje się na warstwie 4, podobnie jak TCP i UDP, więc ludzie twierdzą, że należy do warstwy 4. Inni twierdzą jednak, że ICMP jest protokołem warstwy 3, ponieważ wspomaga IP i nie ma pojęcia portów.
Dla mnie klasyfikacja protokołu jako należącego do określonej warstwy w modelu OSI zależy od tego, jak protokół działa. Przykład:
źródło
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
. Co jest związane z warstwą 4?Wszystkie ICMP (i ICMPv6, IGMP itp.) Zarządzają połączeniami warstwy sieciowej. Nie są (zwykle) używane przez użytkowników końcowych, ale przez system operacyjny. Z tego powodu należy do warstwy 3 (sieć), mimo że do adresowania i określania ścieżki (routingu) korzysta z adresu IP.
Model OSI jest w dużej mierze napisany z perspektywy łączenia użytkowników (rzeczywistych ludzi lub serwerów aplikacji). Wszystkie protokoły zarządzania i to, co jeszcze nie pasuje do modelu OSI, ale nie będą pasować do języka, ponieważ (zazwyczaj) nie obsługują użytkowników bezpośrednio.
źródło