一个IP报文分为五个层次,接下来进行详细解析:
在IP报文的头部分,第一个四字节包含以下内容:
版本号:标识IP协议版本,IPv4为0100,IPv6为0110,即二进制的4和6。
首部长度:4位,表示首部的长度,单位为4字节,最大值为60字节,但实际推荐使用20字节固定长度。
服务类型:8位,标识IP包优先级,现已不被使用。
总长度:16位,表示IP数据报的总长度,最大值为65535字节。
第二个四字节包含以下信息:
标识:16位,用于标识IP数据报,如果需要进行分片发送,则每个分片的标识一致。
标志:3位,其中最低位为MF,表示后续还有分片数据报;次低位为DF,表示是否允许分片。
片偏移:13位,表示某个分片在原始数据中的相对位置。
第三个四字节包含以下信息:
生存时间:8位,过去代表数据报最大生存时间,现在标识经过的路由器数。
协议:8位,标识上层传输层协议类型,1代表ICMP,2代表IGMP,6代表TCP,17代表UDP。
校验和:16位,用于数据完整性验证,计算方式为将校验和位置设为零,每16位二进制反码求和,最终写入校验和位置。
在IP报文头的最后部分,分别包含源IP地址和目的IP地址。