一、IP分片
IP把出接口的MTU与数据报长度进行比较,如果需要则进行分片。分片可以发送在原始发送端主机上,也可以发送在中间路由器时。把一份IP数据报分片以后,只有到达目的地才进行重新组装,重新组装是由目的端的IP层来完成的,其目的是使分片和重新组装过程对传输层是透明的,已经分片过的数据报可以再次进行分片。
使用UDP很容易导致分片
任何时候I P层接收到一份要发送的 IP数据报时,它要判断向本地哪个接口发送数据(选路),并查询该接口获得其 M T U。 I P把M T U与数据报长度进行比较,如果需要则进行分片。分片可以发生在原始发送端主机上,也可以发生在中间路由器上。
对于TCP来说,MTU是路径MTU。
对于UDP来说,MTU是本地的MTU。
无论TCP还是UDP,即使在发送时,已按MTU大小来限制,但仍有可能在中途发生分片。这是因为,对于TCP来说,路径MTU并不一定是当前路径的MTU,当前路径的MTU仍可能小于源端发送数据包时的MTU。对于UDP来说,路径中的任何节点的MTU都可能小于发送端的MTU。
把一份 I P数据报分片以后,只有到达目的地才进行重新组装。重新组装由目的端的 I P层来完成,其目的是使分片和重新组装过程对运输层( T C P和U D P)是透明的。已经分片过的数据报有可能会再次进行分片(可能不止一次)。
重新组装的依据(参考IP头部格式):IP首部中的三个字段
16位的标识符(数据报的唯一标识)