ICMPはOSIモデルのレイヤー3プロトコルとして分類されていますが、私が知る限り、ネットワークレイヤープロトコルの定義を満たしていません。
アドレッシングやパケットルーティングを提供しない(IPを使用する)ため、トランスポートプロトコルのように、あるノードから別のノードに情報を送信するだけです。それでは、ICMPはなぜレイヤー3プロトコルに分類されるのでしょうか。
ICMPはOSIモデルのレイヤー3プロトコルとして分類されていますが、私が知る限り、ネットワークレイヤープロトコルの定義を満たしていません。
アドレッシングやパケットルーティングを提供しない(IPを使用する)ため、トランスポートプロトコルのように、あるノードから別のノードに情報を送信するだけです。それでは、ICMPはなぜレイヤー3プロトコルに分類されるのでしょうか。
回答:
ICMPは、実際にはレイヤー3の「最上部」にあります。IPMPを使用して、データをリモートホストに配信します。つまり、ICMPメッセージはIPパケットにカプセル化する必要があります。
イーサネットプロトコルを使用して実際にパケットを送信しながら、レイヤー2の「最上位」にあると見なすことができるARPと同様に考えてください。
ICMPはIPレイヤーの一部として実装されているため、ICMP処理は、IP処理と並行して、またはIP処理の一部として発生すると見なすことができます。したがって、TCP / IPベースのレイヤードネットワークに関するトピックでは、ICMPはレイヤー3プロトコルとして示されています。
@ロビーマッケニー
ICMPがどの層に属するかは、激しい議論の的となっています。ICMPヘッダーは、TCPやUDPと同様に、レイヤー4にあります。そのため、ICMPヘッダーはレイヤー4に属していると言われています。ただし、ICMPはIPを支援し、ポートの概念がないため、レイヤー3プロトコルであると主張しています。
私にとって、OSIモデルの特定の層に属するプロトコルの分類は、プロトコルの機能に依存します。例:
BGPはレイヤー3でのルーティングに使用されますが、BGP自体はTCP(そしてもちろんIP)によって伝送されます
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とは何ですか?