ICMP 如何在没有传输层的情况下工作

How ICMP works without transport layer

听说ICMP不涉及TCP、UDP等传输协议。 那么ICMP是如何产生的呢?所以我想确认一件事,看看我的理解是否正确:

假设我想向服务器发送 ICMP 请求。 ICMP 消息没有传输 header 和传输负载(数据),是否正确?

ICMP 如果您将其视为 separate 协议层而不是 IP 层(只是因为 ICMP 数据包封装在 IP 数据包中),则有点令人困惑,但正如上面评论中所述它是IP层的组成部分

TCP或UDP等传输层的工作是端到端发送数据。但 ICMP 并不关心数据传输,它的工作是帮助路由器确定互联网的形状以及向哪个方向发送数据包。

I was told that ICMP doesn't involve transport protocols such as TCP, UDP. So how ICMP get generated?

您关于所有在线数据包都严格需要具有传输层的假设也是不正确的。