IP报文头部
IP报文头部
-
IP PDU 报头
-
固定长度20字节
版本
- 版本占4bit
- 目前IPv4,IPv6已经在互联网开始推广,局域网使用的是IPv4
- IPv4表示IP地址共32位
- IPv6表示IP地址共128位
首部长度
-
首部长度占4bit
-
表示ip报文头部多长
-
首部长度可表示的最大数值是15个单位,一个单位为4字节,因此IP的首部长度的最大值是60字节
区分服务
-
区分服务占8bit
-
一般不太关注
-
区分服务用来获得更好的服务,在旧标准中叫做服务类型,但实际上一直未被使用过.后改名为区分服务.只有在使用区分服务(DiffServ)时,这个字段才起作用.一般的情况下不使用
总长度
-
总长度占16bit
-
表示首部加数据部分总长度
-
总长度指首部和数据之和的长度,单位为字节,因此数据报的最大长度为
65535 字节.总长度必须不超过最大传送单元 MTU
标识
-
标识占16bit
-
标识是一个计数器,通常,每发送一个报文,该值会加1, 也用于数据包分片,在同一个包的若干分片中,该值是相同的
-
用于数据包分片,在同一个包的若干分片中,该值是相同的 。
因为tcp的段中数据报文比较大,而数据链路层中frame的数据最大为1500,因此必然涉及到数据的切分,将一个大包拆分成能放到帧能放下的包。此时切分的包的标识相同。
标志
- 标志(flag)占3位
- 标志数据包是否分片
- 标志位一共三位:最高位不用、DF、MF、
- DF: Don’t Fragment(分片) 中间的一位,只有当 DF=0 时才允许分片
- MF: More Fragment 最后一位,MF=1表示后面还有分片,MF=0 表示最后一个分片
片偏移
-
片偏移占13位
-
片偏移用于区分一个大的数据包中被分片时,所在位置
-
片偏移指较长的分组在分片后,该分片在原分组中的相对位置。片偏移以8个字节为偏移单位
生存时间
-
生存时间占8位,即为TTL
-
Linux 数据报文生命期为128 Windows数据报文生命期64
-
数据报文在网络中路由次数跳一跳
-
生存时间记为TTL (Time To Live) 数据报在网络中可通过的路由器数的最大值,TTL 字段是由发送端初始设置一个 8 bit字段.推荐的初始值由分配数字RFC 指定,当前值为 64.发送 ICMP 回显应答时经常把 TTL 设为最大值 255
协议
-
协议占8位
-
当前层为上层提供服务,需要标识出上层协议类型
-
指出此数据报携带的数据使用何种协议以便目的主机的IP层将数据部分上交给哪个处理过程,1表示为 ICMP 协议, 2表示为 IGMP 协议, 6表示为TCP 协议, 17表示为 UDP 协议
-
ICMP也在此类型中,但不属于传输层,可理解为ICMP在IP协议同层之上
首部校验和
-
首部检验和占16位
-
只检验数据报的首部不检验数据部分.这里不采用 CRC 检验
码而采用简单的计算方法
源地址
- 源地址占4字节
目标地址
- 目的地址占4字节
标签:IP,字节,首部,ip,报文,头部,分片,数据 来源: https://blog.csdn.net/wdirdo/article/details/99706116
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。