IP数据报首部

一般IP数据报首部为20byte,即160bit(“一般”指不带选项的首部)
依顺序各个位置含义如下:
• 4bit:协议版本号,目前广泛使用的为IPv4
• 4bit:首部长度除以32(单位为bit),如160bit是32bit的5倍,则为5
• 8bit:服务类型(TOS),通过特定的数值来表明需要何种服务,控制最小时延、最大吞吐量等,
• 16bit:数据报总长度,16bit意味着最大长度可以达到65535bit,注意这里指的是IP数据报,并不包括以太网首部或以太网尾部的长度
• 16bit:用于标识发送的报文,通常每发送一份报文该处加一
• 3bit:标志位,第一位为为保留位,第二位为DF(don’t fragment) ,为1指没有分片,第三位为MF(more fragment),为1指有分片(因为数据报最大传输长度的限制,如果有极大的数据报,则需要分开传输,即分片)
• 13bit:分片的偏移量
• 8bit:TTL(time to live),每经过一个路由器该值减一,如果一个路由器收到该值为零的数据报,路由器丢弃该报文,并发送ICMP报文给源主机
• 8bit:用于标识上层协议
• 16bit:首部检验和。
• 32bit:源IP地址
• 32bit:目的IP地址
如有选项,选项的长度需为32bit的倍数,必要时用0填充

以下图为例,只保留了IP数据报首部信息(WireShark)
在这里插入图片描述

图中用的是十六进制,按数据报首部格式逐个分析,可以发现
0x4 IP协议版本号为4
0x5 首部长度为32bit*5=160bit
0x00 服务类型为0x00
0x00 29 数据报总长度为41字节
0xcd b3 数据报标识,52659
0x40 00 标志位和偏移,即0100 0000 0000 0000,DF位为1,没有分片传输,偏移量为0
0x80 TTL ,128
0x06 标识上层协议,这里指TCP
0x00 00 首部检验和
0xc0 a8 1f 31 源IP地址, 192.168.31.49
0x8b e0 d6 e2 目地IP地址 , 139.224.214.226

参考 《TCP/IP详解,卷一:协议》
参考 《计算机网络自顶向下方法》
工具 WireShark

  • 4
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值