• 数据报分片


    数据报分片原因:

    网络层的数据报需要借助于数据链路层来真正完成传输,但是数据链路层的MTU有限制,一般以太网的MTU是1500B。但是网络层的数据报大小可以不止MTU这么大,根据IP数据报的格式我们知道,总长度有16位,最大有2^16−1=65535B这么大,因此,必然牵涉到数据报的分片技术。

    分片主要借助标识(16位),标志(3位X | DF | MF)和片偏移(13位)三个数据来完成。

    标识告知接收端,是不是同一个数据报的分片。DF=0表示可以分片,MF = 1表示后面还有分片。片偏移表示这个分片在原来的IP数据报中的位置。

    数据报分片示例:

    一个长4000B的IP数据报,数据部分3980B,到达了一个路由,需要转发到一个MTU为1500B的链路上,这样就得分片了。分片数目是3片。每个片都是一个数据报。假设标识是777,那么数据报分片结果是:

    分片一:标识:777,MF=1,DF=0,片偏移=0,有效数据:1480B(编号0~1479)
    分片二:标识:777,MF=1,DF=0,片偏移=185,185*8=1480,有效数据:1480B(编号1480~2959)
    分片三:标识:777,MF=0,DF=0,片偏移370,370*8=2960,有效数据:1020B(编号2960~3979)

  • 相关阅读:
    iOS蓝牙开发(4.0)详解
    iOS开发--MQTT实时处理数据
    BBWebImage 设计思路
    SDWebImage 加载显示 GIF 与性能问题
    iOS 图片压缩方法
    SDWebImage 加载显示 WebP 与性能问题
    NSTimer、CADisplayLink 内存泄漏
    iOS 使用矢量图
    LeetCode #36 Valid Sudoku
    LeetCode #35 Search Insert Position
  • 原文地址:https://www.cnblogs.com/Hqx-curiosity/p/12160501.html
Copyright © 2020-2023  润新知