IPv4首部

20170331155951178.png
1.版本(Version):

由四位bit构成,表示IP的版本信息,如IPv4的版本号为4

2.首部长度:

表示IP首部的字节长度,如果没有可选字段,则首部长度为20字节

3.区分服务:

表示服务质量,如延时,吞吐量等

4.总长度(Total Length):

表示IP首部与数据部分总的字节数,该段长16比特,所以IP包的最大长度为65535字节(2^16-1)。虽然不同数据链路的MTU不同,但是IP协议屏蔽了这些区别,通过自己实现的数据分片功能,从上层的角度来看,IP协议总是能够以65535为最大包长进行传输。

5.标识(ID:Identification):

用于分片重组。属于同一个分片的帧的ID相同。但即使ID相同,如果目标地址、源地址、上层协议中有任何一个不同,都被认为不属于同一个分片。

6.标志(Flags):

由于分片重组,由三个比特构成。
第一个比特未使用,目前必须是0。
第二个比特表示是否进行分片,0表示可以分片,1表示不能分片。在路径MTU发现技术中就用到了这个位。
第三个比特表示在分片时,是否表示最后一个包。1表示不是最后一个包,0表示分配中最后一个包。

7.片偏移(FO: Fragment Offset):

由13比特组成,表示被分片的段相对于原始数据的位置。它可以表示8192(2^13)个位置,单位为8字节,所以最大可以表示8 x 8192 = 65536字节的偏移量。

8.生存时间(TTL: Time To Live):

表示包可以经过多少个路由器的中转。每经过一个路由器,TTL减1。这样可以避免前文提到的无限传递包的问题。

9.协议:

表示IP协议的上层协议使用了哪个协议。比如TCP协议的编号为6,UDP编号为17.

10.首部校验和:

用于检查IP首部是否损坏

11.可选项:

仅在试验或诊断时用,可以没有。如果有,需要配合填充(Padding)占满32比特。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容