欢迎来到天天文库
浏览记录
ID:57440501
大小:30.00 KB
页数:14页
时间:2020-08-16
《数据包头格式.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、IPv4报头
2、8
3、8
4、8
5、8
6、版本头部长度服务类型总长度标识符标记分片偏移生存时间协议头部校验和源地址目的地址可选项……填充项*版本(version)——标识了数据包的IP版本号。这个4位字段的值设置为二进制的0100表示IP版本4(IPv4),设置为0110表示IP版本6(IPv6)。*报头长度(headerlength)——字段长度为4位,正如字段名所示,它表示32位字长的IP报头长度。设计报头长度字段是因为数据包的可选项字段的大小会发生变化。IP报头最小长度为20个八位组,最大可以扩展到60个八位组——通过这个字段也可以描述32位字的最大长度。*
7、服务类型(TOS,typeofservice)——字段长度为8位,它用来指定特殊的数据包处理方式。服务类型字段实际上被划分为两个子字段:优先级和ToS。优先级用来设置数据包的优先级,这就像邮寄包裹一样,可以是平信、隔日送到或两日内送到。ToS允许按照吞吐量、时延、可靠性和费用方式选择传输服务。虽然ToS字段通常不用(所有位均被设置为0),但是开放式最短路径优先(OSPF)协议的早期规范中还是称为ToS路由选择。优先权位偶尔在服务质量(QoS)应用中使用。更详细的信息可以参见RFC1340和RFC1349。*总长度(totallength)——数据包总长
8、度字段的长度为16位,以八位组为单位计,其中包括IP报头。接收者用IP数据包总长度减去IP报头长度,就可以确定数据包数据有效负载的大小。16位长的二进制数用十进制表示最大可以为65535,所以IP数据包的最大长度是65535。*标识符(identifier)——字段长度为16位,通常与标记字段和分片偏移字段一起用于数据包的分段。如果数据包原始长度超过数据包所要经过的数据链路的最大传输单元(MTU),那么必须将数据包分段为更小的数据包。例如,一个大小为5000字节的数据包在穿过网络时,如果遇到一条MTU为1500字节的数据链路,即数据帧最多容纳大小为15
9、00字节的数据包。路由器需要在数据成帧之前将数据包分段成多个数据包,其中每个数据包长度不得超过1500字节;然后路由器在每片数据包的标识字段上打上相同的标记,以便接收设备可以识别出属于一个数据包的分段。*标记字段(flag)——长度为3位,其中第1位没有使用。第2位是不分段(DF)位。当DF位被设置为1时,表示路由器不能对数据包进行分段处理。如果数据包由于不能被分段而未能被转发,那么路由器将丢弃该数据包并向源点发送错误消息。这一功能可以在网络上用于测试MTU值。第3位表示还有更多分段(MF)位,当路由器对数据包进行分段时,除了最后一个分段的MF位位置为
10、0外,其他所有分段的MF位均设置为1,以便接收者直到收到MF位为的分段为止。*分片偏移(fragmentoffset)——字段长度为13位,以8个八位组为单位,用于指明分段起始点相对于报头起始点的偏移量。由于分片到达时可能错序,所发分片偏移字段可以使接收者按照正确的顺序重组数据包。请注意,如果一个分片在传输中丢失,那么必须在网络中同一点对整个数据包重新分片重新发送。因此,容易发生故障的数据链路会造成时延不成比例。另外,如果由于网络拥塞而造成分片丢失,那么和重传分片会进一步加重网络拥塞。当一个分片在丢失后,一整个数据包会被要求重传,而且是由源地址进行重传
11、,而不是由进行分片的路由器来进行重传。*生存时间(TTL,timetolive)——字段长度为8位,在最初创建数据包时TTL即被设置为某个特定值。当数据包逐个沿路由器被传输时,每台路由器都会降低TTL值。当TTL值减为0时,路由器会丢弃该数据包并向源点发送错误信息。这种方法可以防止数据包在网络中无休止的被传输。按照最初构想,TTL值以S(秒)为单位。如果数据包在路由器上被延迟的时间超过1S,路由器将会相应地调整TTL值。然而,这种方法实施起来十分困难,从来没有被广泛地支持。现在的路由器不管实际时延是多少,统统将TTL值减少1,所以TTL实际上是表示跳数
12、。虽然TTL常见的值为15和32,但是建议的缺省值是64。路由器的tracert命令即是使用的这个字段。当数据包从源地址发出时TTL值被置为1,当第一跳路由器收到时,会进行路由,同时TTL会减1,此时会发现TTL为0,则不能正常发送,向源地址传送一个错误信息。这时候源地址接收到错误信息后,会根据该错误信息中的源地址,来判断路由路径中的第一步,这时候,再将TTL值置为2进行发送,第一跳路由器正常发送,第二跳路由器同样会执行与第一跳路由器同样的操作……这样源地址就可以得到路由的传送路径信息。*协议(protocol)——字段长度为8位,它给出了主机到主机层
13、或传输层协议的“地址”或协议号,协议字段指定了数据包中信息的类型。当前已分配了100多个不同的
此文档下载收益归作者所有