IPv4_数据报文首部格式

Posted x1angzeeD.

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IPv4_数据报文首部格式相关的知识,希望对你有一定的参考价值。

IPv4数据报首部格式

IPv4数据报首部分为固定部分(20字节)与可变部分(0~40字节)

用WireShark抓包的IPv4协议中报文首部格式一一对应:

字段说明
版本号目前广泛使用的ip协议版本为4,所以对应的版本号为“0100”
首部长度报文首部的长度(20~60字节),最短为0101/最长为1111
区分服务利用该字段的不同数值可提供不同等级的服务质量(仅在区分服务时该字段起效)
总长度IP数据段的总长度,首部与数据部分的长度和
标识属于同一数据报中的各片段应有相同的标识;IP软件维持一个计数器,每产生一个报文计数器值+1
标志占3bit。DF位:1表不允许分片,0表允许;MF位:1表后面还有分片,0表没有;保留位,必须为0
片偏移分片的数据部分相对于其在原数据报部分中的偏移量
生存时间现在以“跳数”为单位,路由器转发IP数据报时,将该字段的值-1,若不为0则转发,为0则丢弃。
协议指明报文数据部分是何种协议数据单元(例:ICMP为1、IGMP为2、TCP为6、UDP为17)
首部校验和只检查首部,不包括数据部分
源/目的IP地址发送/接收方的IP地址
可变部分长度为1~40字节,用来支持排错、测量、安全。他很少使用,许多路由忽略/不有效地处理
填充确保首部长度为四字节的整数倍,全使用0填充

标识+标志+片偏移的作用:

数据包长度超过MTU限制时需将数据报分片传输。如图H1计算机有两个较长的数据报需传给H3,H2有一个较长报文需传给H3。将三个报文拆成片段后发给H3,H3收到片段后如不采取措施,则H3无法辨别到底谁是谁。H3根据标识+源IP地址可区分这些数据报分片信息。

数据报分片举例:

生存时间:

1、设生存时间TTL为2,路由R1的下一跳为路由R2

2、到了R2后TTL值-1,经R2查询下一跳为R1,又将报文发回路由R1


3、路由R1收到后,TTL值-1,此时TTL为0,则路由将该报文丢弃,如不然会在两路由器中反复传输

总长度的例题:

设首部长度为“0101”,总长度为“001111111100”,则数据载荷长度为?

以上是关于IPv4_数据报文首部格式的主要内容,如果未能解决你的问题,请参考以下文章

IPv4_数据报文首部格式

IPv4_数据报文首部格式

计算机网络—— 网络层(789):IPv4数据报的首部格式网际控制报文协议ICMP虚拟专用网VPN与网络地址转换NAT

计算机网络—— 网络层(789):IPv4数据报的首部格式网际控制报文协议ICMP虚拟专用网VPN与网络地址转换NAT

计算机网络—— 网络层(789):IPv4数据报的首部格式网际控制报文协议ICMP虚拟专用网VPN与网络地址转换NAT

计算机网络湖科大微课堂笔记 p54-57 IPv4数据报的首部格式网际控制报文协议ICMP虚拟专用网VPN与网络地址转换NAT