什么是IP包头?

来源:百度知道 编辑:UC知道 时间:2024/05/23 19:32:25

是报头

简单说,IPV4报头是把上一层的数据加上了源IP地址和目标IP地址,详见如下

IPV4报头有12个必需的字段和可选IP选项字段,位于要发送的数据之前。如果使用IP层已有的库或其他组件,一般不必考虑报头中的大多数字段,但程序代码需要提供源端和目的端地址。
1、版本(4比特)
IP协议版本已经经过多次修订,1981年的RFC0791描述了IPV4,RCF2460中介绍了IPV6。
2、报头长度(4比特)
报头长度是报头数据的长度,以4字节表示,也就是以32字节为单位。报头长度是可变的。必需的字段使用20字节(报头长度为5,IP选项字段最多有40个附加字节(报头长度为15)。
3、服务类型(8比特)
该字段给出发送进程建议路由器如何处理报片的方法。可选择最大可靠性、最小延迟、最大吞吐量和最小开销。路由器可以忽略这部分。
4、数据报长度(16比特)
该字段是报头长度和数据字节的总和,以字节为单位。最大长度为65535字节。
5、标识符(16比特)
原是数据的主机为数据报分配一个唯一的数据报标识符。在数据报传向目的地址时,如果路由器将数据报分为报片,那么每个报片都有相同的数据标识符。
6、标志(3比特)
标志字段中有2为与报片有关。
位0:未用。
位1:不是报片。如果这位是1,则路由器就不会把数据报分片。路由器会尽可能把数据报传给可一次接收整个数据报的网络;否则,路由器会放弃数据报,并返回差错报文,表示目的地址不可达。IP标准要求主机可以接收576字节以内的数据报,因此,如果想把数据报传给未知的主机,并想确认数据报没有因为大小的原因而被放弃,那么就使用少于或等于576字节的数据。
位2:更多的报片。如果该位为1,则数据报是一个报片,但不是该分片数据报的最后一个报片;如果该位为0,则数据报没有分片,或者是最后一个报片。
7、报片偏移(13比特)
该字段标识报片在分片数据报中的位置。其值以8字节为单位,最大为8191字节,对应65528字节的偏移。
例如,将要发送的1024字节分为576和424字节两个报片。