IP数据报的分片和重组 | 您所在的位置:网站首页 › 重组分是什么 › IP数据报的分片和重组 |
IP协议在网络层呢个,提供不可靠无连接的数据报传输服务,通过IP蹭的封装和解封装来实现。 1、IP数据报文的各字段:总共分为:报头和数据区两大部分。 各字段作用如下: 1、版本:占4位,表示该IP数据报使用的IP协议版本。代表IPv4 2、首部长度:占4位,可表示最大数值是15个单位,1单位=4字节,所以IP首部最长位60字节。固定长度20字节。 3、服务类型(TOS、type of service),目前网络中不使用。 4、总长度:数据报的长度,占16位=首部+数据,单位为字节,因此理论上数据报的最大长度为2^16-1=65535字节,总长度不能超过最大传送单元MTU。 5、上层协议标识:占用8位二进制位,IP协议可以承载各种上层协议,目标端根据协议标识就可以把收到的IP数据报送到TCP或UDP等处理此报文的上层协议了。 6、标志:占3位。只有前2位有意义。最低位:MF MF=1:后边还有分片 MF=0:表示最后一个分片。 中间字段DF:DF=0时才允许分片。 7、片偏移:13位。较长数组在分片后某片在原分组中的相对位置。 8、生存时间:TTL。数据报在网络汇总可通过路由器的最大值。路由器数的两倍。 目的IP如果是错误,路由器会一直转发数据报,然后会在网络中一直兜圈,占用网络带宽网络资源。 9、协议:表示数据报使用的哪个协议。 IP协议就可以承载各种上层协议,目标端根据协议标识就把收到的IP数据包送到TCP等处理次报文的上层协议。 10、首部检验和:16位。只检测数据报首部部分。通过16位二进制反码求和算法。 原理:发送端首先将检验和字段置0,然后对头部中每16位二进制数进行反码求和的运算,并将结果存在校验和字段中。 由于接收方在计算过程中包含了发送方放在头部的校验和,因此,如果头部在传输过程中没有发生任何差错,那么接收方计算的结果应该是全1。 丢弃完,就不要再进行传送了。 经过一次路由器,IP部首就会改变。eg:TTL、标示、片偏移。 提高路由器的运行效率。 2、IP数据报分片和重组。(1)、MTU:IP数据报在互联网上传输时,要经过多个物理网络才能抵达目的端。 不同的网络由于链路层和介质的物理特性不同,所以传输时,对数据帧的最大长度都有一个限制,这个限制就是最大传输单元MTU。 分片与重组大致过程如下:
(2)、数据报分片举例: 加入不考虑,头部的其他选择项,则用数据报文/(MTU-20),然后给分片后的每个报文加上首部即可。 上层协议标识:用于分片的时候,标识同一数据报的各分片。数据报使用的协议可能不一样,所以一样的数据报用一样地标识。 分片的时候,会把标识位复制一份,然后给每个分片的头部。 标志位: MF:片未完位。0:是最后一片,1:不是最后一片。 DF: 不分片位。0:允许分片,1:强制不允许分片。 片偏移:分片的顺序。标识分片在原来数据报文中的位置。 目的:为了在重组时,还能按照原来的顺序来组合。 一个单位标识8字节。所以偏移=分片后的首位/8 3、重组即:分好片的IP数据抵达目的主机,目标主机对各分片进行重组,恢复成分片之前的数据报。 逆向解析,重新组装即可。 原理: (1)、根据“标识”字段确定收到的分片属于原来哪个IP数据报; (2)、根据“标志”字段的“片未完MF”子字段可以确定分片是不是最后一个分片; (3)、根据“偏移量”字段可以确定分片在原数据报中的位置。 4、IP数据报中的选项: (1)、用来实现对数据报传输过程中的控制,如规定数据报要经过的路由; (2)、进行网络测试,如一个数据报传输过程中经过了哪些路由器。 |
CopyRight 2018-2019 实验室设备网 版权所有 |