网络协议 -- ICMP协议(1) 报文格式

互联网控制消息协议(英文:Internet Control Message Protocol,ICMP)是互联网协议族的核心协议之一。定义在RFC 792文档中。
ICMP的消息大致可以分为两类:一类是差错报文,即通知出错原因的错误消息(如traceroute),另一类是查询报文,即用于诊断的查询消息(如ping)。
使用ICMP协议的典型应用有pingtraceroute(windows上叫tracert)。

ICMP是在IP数据报的内部被传输的,紧跟着IP报文的首部(如果IP首部有可选部分,则紧跟着可选部分)
网络协议 -- ICMP协议(1) 报文格式_第1张图片
图上的IP首部20字节是在IP报文首部不含可选部分的情况下,若IP首部含可选部分,则大于20字节。

ICMP报文格式

网络协议 -- ICMP协议(1) 报文格式_第2张图片
所有ICMP报文的前4个字节都是一样的,但剩下的其他字节则根据报文类型的不同而不同。

  • 8位类型字段8位代码字段共同决定一种ICMP报文的类型。
    网络协议 -- ICMP协议(1) 报文格式_第3张图片

  • 校验和的计算方法和IP首部校验和的计算方式相同,但ICMP校验和覆盖整个ICMP报文。

    IP首部校验和的计算方式和原理参考:网络协议 – IP协议
    UDP和TCP的校验和同样也都覆盖到了他们的首部和数据。

《TCP/IP详解 卷1:协议》在线阅读地址:http://www.52im.net/topic-tcpipvol1.html

你可能感兴趣的:(☆,网络编程,网络协议)