IP包分片

2018年6月30日00:57:43

IP有一种重要的功能,就是当分组过大而不适合在所选硬件接口上发送时,能过对分组进行分片。过大的分组被分成两个或多个大小合适在所选网络上发送的IP分片(以太网1500)、而在去目的主机的路途中,分片还可能被中间的路由器继续分片。因此,在目的主机上,一个ip数据报可能放在一个ip分组内,或者,如果在发送时被分片,就放在多个ip分组内。因为各个分片可能以不同的路径到达目的主机,所以只有目的主机才有机会看到所有分片。因此,也只有目的主机才能把所有分片重装成一个完整的数据报,提交给合适的运输层协议;

IP包分片
    ip首部内有三个字段实现分片和重装:标识字段(ip_id),标志字段(ip_off的3个高位比特),和偏移字段(ip_off的13个低比特)(IPHead[7-8] & 0xC000).
标志字段由三个1 bit标志组成。比特0是保留的,必须为0;比特1是“不分片”(DF)标志;比特2是“更多分片”(MF)标志。
ip_off的其他13bit指出在原始数据报内分片的位置,以8字节为单位计算。因此,除最后一个分片外,其他每个分片都希望是一个8字节倍数的数据,从而使后面的分片从8字节边界开始。
因为ip互联网是无连接的,所以,在目的主机上,来自一个数据报的分片必然会与来自其他数据报的分片交错。ip_id唯一地标识某个特定数据报的分片:IPHead[5-6] 

IP包分片


  • 更新时间:2018年6月30日00:57:43 ,共 577 字。