• 计算机网络【CN】IPV4报文格式


    • 版本(4bit):IPV4/IPV6
    • 首部长度(4bit):标识首部的长度
      • 单位是4B
      • 最小为:20B
      • 最大为:60(15*4)B
    • 总长度(16bit):整个数据报(首部+数据)的长度
      • 数据报的最大长度:216−1=65535𝐵 ,封装成帧时,需要分片,不能超过下一层的MTU
      • 不是指分片前的数据报长度,而是指分片后的每个分片的首部长度与数据长度的总和。
      • 单位是1B
      • 最小是64B【考虑到最小帧长
      • 最大是1500B【以太网帧的最大传送单元MTU,数据部分1480B
    • 标识(16bit):分片时,同一数据报的分片使用同一标识
    • 标志(3bit):
      • 最高位无用
      • 中间位DF(Don’t Fragment)
        • DF=1:禁止分片
        • DF=0:允许分片
      • 最低位位MF (More Fragment)
        • MF=1:后面还有分片
        • MF=0:最后一个分片
    • 片偏移(13bit):指超出MTU的分组分片后,某片在原分组中的相对起始位置
      • 单位是8B【除了最后一个分片外,每个分片的长度一定是8B的整数倍
    • 生存时间TTL(8bit):IP分组在网络中可以通过的路由器的最大值
      • 路由器在转发分组之前,先将TTL减一
      • 变成0时丢弃
    • 协议(8bit):数据部分(即传输层报文段)所采用的协议
      • TCP:6
      • UPD:17
    • 首部检验和(16bit):仅仅检验首部信息
    • 源地址、目的地址(各32bit):来源和目标的IP地址
    • 可选字段(0~40B):支持排错、 测量以及安全等措施
    • 填充:保证首部长度为4B的整数倍

    相关考点:

    • IPV4数据报分片
      • 以太网帧的最大传送单元MTU1500B,数据部分有1480B
      • 分片之后会变化的字段:
        • 标志FLAG
        • 片偏移
        • 总长度
        • 校验和
    • 分片相关例题:假设分片长度不能超过1420B:

  • 相关阅读:
    JAVA实现兔子问题--递归
    Go字符串、Unicode rune、byte字节相互转换
    Day714. switch表达式 -Java8后最重要新特性
    mysql之搭建MHA架构实现高可用
    一次对requirements环境的配置
    强化学习-DQN和AC算法
    基于ARM和FPGA的数字示波器设计——QMJ
    NISP中渗透测试面试方式
    【每日刷题】Day21
    使用azure-data factory
  • 原文地址:https://blog.csdn.net/weixin_42932602/article/details/134020051