一、IP包头
二、涵义详解
1、IP大小范围
--当Options=0时,1行是4字节 共4×5=20字节
--当IHL=1111(15)时,15×4=60字节
所以IPv4的大小范围为 20字节~60字节
2、第一行(32Bit)
- Version(版本)——4Bit
表示IP的版本号
默认值为0100表示IPv4 如果为0110表示IPv6
- IHL(首部长度)——4Bit
表示IP首部的总长度。
默认值0101=5 5X32/8=20字节 表示普通的IP报头长度为20字节
当首部长度最大15(1111)时, 15×32/8=60 字节
- Type of Service(服务类型)——8Bit
对我们的数据或流量进行一个标记
也称为TOS
- Total Length(总长度)——16Bit
表示整个IP数据包的长度,以字节为单位
3、第二行(32Bit)
- Identification (标识符)——16Bit
在3层对流量进行区分、标记。
通常每发送一份报文该值+1,该值在数据分片时,会复制到每一个片中。所以在重组分片包的时候会观察该值。
把该值相同的分片收集到一起重组。
- Flags(标记位)——3Bit
该字段主要用来分片和重组。
第一位Bit:R:保留位(Reserved Bit) ——该位一般置位0
第二位BIt:DF:不分片位(Don‘t Fragment)——该位置1(不分片) 置0(分片)
第三位Bit:MF:更多分片位 (More Fragment)——该位置1表示后面还有更多分片
- Fragment Offset(分片偏移)——13Bit
每一个分片的数据字段偏移原始数据报开始处的位置。
例:原始数据报的数据字段总长为1461bytes,使用TCP传输,对该数据报分片,第一片
的offset字段为0,第二片的offset字段就应该为1460
4、第三行
- Time to Live(生存时间)——8Bit
表示该IP数据包可以经过的路由器的最大数量,最大为256表示可以穿越256台路由,该字段
采用减法的方式赋值,如果该字段减到了0还没有传送目的地,那么该IP数据包将被丢弃。
最初设计这个字段就是为了防止IP报文在网络中循环无线传输,占用带宽等问题
单位:s 默认255s
防环工具 每经过一个路由题,TTL-1,当TTL=0 数据包丢弃
- Protocol(协议号)——8Bit
范围:1~255
描述上层使用什么协议 Tcp=6 UDP=17 ICMP=1 OSPF=89
- Header Checksum(头部校验)——16Bit
用来使接收端检验收到的报文是否正确。
该字段只对IP首部计算校验和不包含后面的数据字段。
5、第四行
- Source Address(源IP地址)——32Bit
6、第五行
- Destination Address(目标IP地址)——32Bit
7、第六行
- Options
一般不使用该字段,该字段的值以32Bit为单位,不足时以0补充。
- Padding(填充项)