TCP/IP基础:IP

0

IP 协议是 TCP/IP 协议的核心,所有的 TCP,UDP,IMCP,IGCP 的数据都以 IP 数据格式传输。

1 IP HDR

在这里插入图片描述
IPv4和IPv6区别
在这里插入图片描述

1.1 IPv4 Detials

  • 正常的IPv4的头部为20字节(除非存在选项,一般不会出现),IPv6头部为40字节。

  • IHL(internet header length) 。表示IP HDR的长度。16个DWORD。

  • TOS字段为服务类型字段,包括DS(DiffServe)和ECN(拥塞标志符)用于表示不同的转发优先级,CP侧根据这里判断VO/VIBE/BK的类别。
    使用iperf 发qos包, -S
    https://stackoverflow.com/questions/2189884/how-to-send-dscp-marked-packets-using-iperf
    iperf -c 10.19.4.10 -i 1 -u -b 5000K -r -S 0xB8
    在这里插入图片描述

  • 总长度,表示IP数据报的长度。65535字节。

  • identification(ID),用来标识数据报,占 16 位。IP 协议在存储器中维持一个计数器。每产生一个数据报,计数器就加 1,并将此值赋给标识字段。当数据报的长度超过网络的 MTU,而必须分片时,这个标识字段的值就被复制到所有的数据报的标识字段中。具有相同的标识字段值的分片报文会被重组成原来的数据报。

  • 标志(flag):占3位,但目前只有两位有意义。

      -- 标志字段中的最低位为MF(More Fragment)。MF=1即表示后面“还有分片”的数据报。MF=0表示这已是若干数据报片中的
    
          最后一个。
    
      -- 标志字段中间的一位记为DF(Don't Fragment),意思是“不能分片”。只有当DF=0时才允许分片。
    
  • 片偏移 :占13位。片偏移指出:较长的分组在分片后,某片在原分组中的相对位置。也就是说,相对于用户数据字段的起点,该片

从何处开始。片偏移以8个字节为偏移单位。也就是说,每个分片的长度一定是8字节(64位)的整数倍。
片偏移(offsetfrag)占 13 位。当报文被分片后,该字段标记该分片在原报文中的相对位置。片偏移以 8 个字节为偏移单位。所以,除了最后一个分片,其他分片的偏移值都是 8 字节(64 位)的整数倍。

  • 生存时间(TTL)
    表示数据报在网络中的寿命,占 8 位。该字段由发出数据报的源主机设置。其目的是防止无法交付的数据报无限制地在网络中传输,从而消耗网络资源。路由器在转发数据报之前,先把 TTL 值减 1。若 TTL 值减少到 0,则丢弃这个数据报,不再转发。因此,TTL 指明数据报在网络中最多可经过多少个路由器。TTL 的最大数值为 255。若把 TTL 的初始值设为 1,则表示这个数据报只能在本局域网中传送。
  • 协议
    表示该数据报文所携带的数据所使用的协议类型,占 8 位。该字段可以方便目的主机的 IP 层知道按照什么协议来处理数据部分。不同的协议有专门不同的协议号。
    https://zh.wikipedia.org/wiki/IP%E5%8D%8F%E8%AE%AE%E5%8F%B7%E5%88%97%E8%A1%A8
    例如,TCP 的协议号为 6,UDP 的协议号为 (0X11)17,ICMP 的协议号为 1,IGMP 0X02,IGP 0X09。
  • 首部检验和(checksum)
    用于校验数据报的首部,占 16 位。数据报每经过一个路由器,首部的字段都可能发生变化(如TTL),所以需要重新校验。而数据部分不发生变化,所以不用重新生成校验值。
  • 源地址
    表示数据报的源 IP 地址,占 32 位。
  • 目的地址
    表示数据报的目的 IP 地址,占 32 位。该字段用于校验发送是否正确。
  • 可选字段
    该字段用于一些可选的报头设置,主要用于测试、调试和安全的目的。这些选项包括严格源路由(数据报必须经过指定的路由)、网际时间戳(经过每个路由器时的时间戳记录)和安全限制。
  • 填充
    由于可选字段中的长度不是固定的,使用若干个 0 填充该字段,可以保证整个报头的长度是 32 位的整数倍。
  • 数据部分
    表示传输层的数据,如保存 TCP、UDP、ICMP 或 IGMP 的数据。数据部分的长度不固定。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值