ICMP
大约 2 分钟
ICMP
首先,Icmp基于Ip协议,网络层。
有 ICMPv4 和 ICPMv6
作用:参考:https://www.zhihu.com/question/31002474
IP 是尽力传输的网络协议,提供的数据传输服务是不可靠的、无连接的,不能保证数据包能成功到达目的地。那么问题来了:如何确定数据包成功到达目的地?
这需要一个网络层协议,提供错误检测功能和报告机制功能,于是出现了 ICMP(互联网控制消息协议)。
ICMP 的主要功能是,确认 IP 包是否成功送达目的地址,通知发送过程中 IP 包被丢弃的原因。有了这些功能,就可以检查网络是否正常、网络配置是否正确、设备是否异常等信息,方便进行网络问题诊断。
ICMP 消息是通过 IP 进行传输,但它的目的并不是让 IP 成为一种可靠的协议,而是对传输中发生的问题进行反馈。ICMP 消息的传输同样得不到可靠性保证,也有可能在传输过程中丢失。因此 ICMP 不是传输层的补充,应该把它当做网络层协议。
Request
- L2, 14Byte
- Destination, 6Byte
- Source, 6Byte
- L3, 20Byte
- L4
- Icmp头, 16Byte
- Type, 1Byte
- Code, 1Byte
- Checksum, 2Byte
- Indentifier, 2Byte
- Sequence Number, 2Byte
- Timestamp, 8Byte, 时间戳
- Data
- Icmp头, 16Byte
Reply