IPv4 报头分析

本文详细介绍了IPv4报头的各个字段,包括IP版本号、报头长度、服务类型(ToS)、总长度、标识符、标志、分段偏移、生存时间(TTL)、协议、校验和、源IP和目的IP地址。这些字段在数据包传输中起到关键作用,如分段重组、错误检测和路由选择。此外,还提及了ToS字段在RFC2474中的变化,以及其在服务质量(QoS)中的应用。
摘要由CSDN通过智能技术生成

IPv4 报头分析

请添加图片描述

  • version(4位)
    • IP版本号,0100代表IPv4,0110表示IPv6
  • Header Length(4位)
    • IP报头的长度
      • IP报头的长度为20~60字节,该字段以4字节为单位,即该字段的取值范围为0101~1111
      • IP报头中,IP Option以外的部分必须存在,占20字节
        • IP Option是可选字段,长度范围为0~40字节
  • Type of Service, ToS(8位)
    • 服务类型,用来指定特殊的报文处理方式
    • RFC1349中将其划分为IP precedenc+D/T/R+reserve保留字段
      • P P P D T R C 0
        • 前三位(P P P)表示报文优先级
        • 第四位(D)表示时延(0:普通 1:最大)
        • 第五位(T)表示吞吐量(0:普通 1:最大)
        • 第六位(R)表示可靠性(0:普通 1:最大)
        • 第七位(C)表示开销(0:普通 1:最大)
        • 最后一位为保留位,置为0
    • RFC2474的ToS取消了IP precedence字段而使用了DSCP,给QoS用来打标签
  • Total Length(16位)
    • IP数据包总长度,取值范围为0~65535,单位为字节
    • 接受者用IP数据包总长度减去IP报头长度,就可以确定数据包数据有效载荷的大小
  • Identification(16位)
    • 标识符,通常与标记字段分段偏移字段一起用于数据包的分段
    • 数据包的原始长度若超过数据链路的最大传输单元(MTU),则需要将数据包分段为更小的数据包,并将每个数据包的Identification字段设为同样的数值,以便接收设备可以识别出属于一个数据包的分段
  • Flags(3位)
    • 标记字段,第一位没有使用
    • 第二位为不分段(DF)位
      • DF=1,表示路由器不能对数据包进行分段处理
      • 如果数据包由于不能被分段而未能被转发,则路由器将丢弃该数据包,并向源点发送错误消息
      • 通常用于测试链路的MTU值
    • 第三位为更多分段(MF)位
      • 路由器对数据包进行分段时,除了最后一个分段数据包的MF=0外,其余数据包的MF=1,以便接收者直到收到MF为0的分段为止
  • Fragment Offset(13位)
    • 分段偏移,单位为8字节,用于标识某个分片在分组中的位置
    • 分段起始点相对于报头起始点的偏移量
    • 由于分段到达时可能错序,所以该字段可用于使接收者按照正确的顺序重组数组包
  • Time To Live, TTL(8位)
    • 生存时间,也就是跳数的大小,即数据包能传多少跳
    • 数据包在传输过程中每经过一台路由器,TTL数值减1;TTL减为0时,路由器将会丢弃该数据包,并向源点发送错误信息
    • TTL可以防止数据包在网络上无休止地被传输
  • Protocol(8位)
    • 协议,标识出传输层的地址或协议号,即数据要进行什么样的上层服务,应该交给自己上一层的哪个协议
      • 1:ICMP
      • 2:IGMP
      • 4:IP
      • 6:TCP
      • 8:EGP
      • 17:UDP
      • 41:IPv6
      • 89:OSPF
  • Header Checksum(16位)
    • 校验和,用于校验检查IP报头传输过程中是否有差错
    • 只用于校验IP报头,不计算被封装的数据
      • UDP、TCP和ICMP等协议都有各自的校验和
  • Source IP Address(32位)
    • 源IP地址
  • Destination IP Address(32位)
    • 目的IP地址
  • Option(长度不固定)
    • 可选项,用于控制、转发要求、测试等,一般很少使用
    • Option字段长度必须为32位的整数倍,不够的部分通过末尾添加0来补充
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值