当前位置:   article > 正文

IPv4 报头分析_ipv4的报头

ipv4的报头

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来补充
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号