ICMP 有何独特之处?

tem*_*mpy 1 ping icmp

我刚刚在维基百科上读到这个:

尽管 ICMP 消息包含在标准 IP 数据报中,但 ICMP 消息通常作为一种特殊情况进行处理,区别于正常的 IP 处理,而不是作为 IP 的正常子协议进行处理。

ICMP 有何独特之处?我试图找出它在运行时是在 TCP 数据包还是 UDP 数据包中使用ping,但我一直读到它是一个“独特的”协议,但找不到明确的答案。

另外,我在Wireshark Lab 中看到了有关 ICMP - ping 的问题和答案:

如果 ICMP 改为发送 UDP 数据包(如在 Unix/Linux 中),探测数据包的 IP 协议编号是否仍为 01?如果不是,那会是什么?

否。如果ICMP 改为发送UDP 数据包,则IP 协议编号应为0x11。

如果ICMP发送UDP数据包,为什么IP协议号会不同?
另外,ICMP 不使用 UDP 吗?这是如何运作的?

Hen*_*nes 6

ICMP 有何独特之处?我试图在运行 ping 时找出它是在 TCP 数据包还是 UDP 数据包中使用,但我一直读到它是一个“独特的”协议,但找不到明确的答案。

它没有用于 TCP 或 UDP 数据报。

而是这样看:

IP是一个信封。当有人递给我一张纸并告诉我它必须去哪里时,就会发生传输。我把纸放在一个信封里,写上目的地,然后邮寄出去。接收则相反。一个信封到达后,我把它从信封里拿出来递给下一个人。

请注意,我不在乎邮政部分的工作方式。可能有人穿着邮政制服。它可能是一个专用的驱动程序。有人可以拿走信封,把它们绑在信使皮吉翁上。我所关心的只是让纸进出信封。


这些论文有多种格式。

  • 其中之一只是一张带有文字的普通纸。(UDP)。
  • 其中一个是我们一种带有跟踪号的纸张(想想:参考您的要求,这里是...的第 2 部分等)(TCP)
  • 其中之一不是带有文本而是带有状态消息的字母 (ICMP)

每张纸的角落都有一个小标记。所有三种的这些标记都不同(这可能是您的独特之处)

如果它是标记的 UDP(17 或 0x11),则该文件的布局将如下所示:

UDP

如果角落中的标记具有 TCP (0x06) 的符号/值,那么我知道纸张的布局如下:

TCP

如果我有一个 ICMP 数据报 (0x01),我知道布局会有所不同。

但在所有情况下,我都可以检查一个特定位置(所有纸张中的同一位置)并读取一个值。基于此,我知道论文其余部分的布局。

所有这些值对于 每个纸张布局都是唯一的

  • 顾名思义,是的,因为它与 IP 版本相关联,并且用于某些类型的通知。但是,就像传输层协议一样,它有自己的一组标头和一个协议编号。有关详细信息,请参阅 [ICMP](http://en.wikipedia.org/wiki/Internet_Control_Message_Protocol) 文章。 (2认同)
  • 某些协议并不完全适合任何 OSI 级别。ICMP 就是其中之一。MPLS 是另一个。 (2认同)