报文头部字段结构详解

发布 2019-07-09 00:17:55 阅读 3411

常用报文头部字段结构详解摘要:本文描述了常用报文的首部以及各个字段的含义。1.以太网帧。

1.1 以太网帧结构。

1.2 相关字段详解。

1)源mac地址:描述该帧发送源,长度为6字节;

2)目的mac地址:描述该帧发送目的,长度6字节;

3)类型:描述协议类型字段,具体解析如下表所示,长度2字节;

类型协议。0x0800 ipv4

0x0806 arp

0x8035 rarp

4)数据:以太网帧中的数据,长度在46-节之间;

5)帧校验序列:crc计算结果,长度4字节。

2.1 arp结构。

2.2 相关字段详解。

1)硬件类型:描述硬件类型信息,具体解释如下表所示,长度2字节;

类型编号硬件类型。

1 以太网。

6 ieee 802网络。

12 本地网。

15 帧中继。

16 atm

17 hdld

19 异步传输模式。

20 串行线路。

21 同步传输模式。

2)协议类型:描述要映射的协议类型,0x0800为ip协议,长度2字节;

3)硬件地址长度:1字节;

4)协议地址长度:1字节;

5)操作:描述arp操作类型,1为arp请求,2为arp应答,长度2字节;

报文。3.1 ip报文结构。

3.2相关字段详解。

1)版本:协议版本,ipv4为4,长度4 bit;

2)首部长度:描述首部占32bit的数目,报文首部最长为60字节,该字段长度4

bit;3)服务类型:前3 bit为优先权子字段,接下来4 bit为分别为最小延时、最大吞。

吐量、最高可用性、最小费用,最后1 bit置0,服务类型字段长8 bit;

4)总长度:描述整个ip报文总长度,整个ip报文最大长度为节,该字。

段长16 bit;

5)标识:唯一地标识发送的ip报文,长度16 bit;

6)标志位:1bit保留位、1bit不分片位、1bit更多分片位;

7)片偏移:描述片偏移位置,13bit;

8)ttl:描述最多可以经过中间节点的数量,每经过一个节点,该值会减1,当。

该字段为0时,该报文会被丢弃,该字段8 bit;

9)协议:描述ip报文中封装的是何种协议,具体解释见下表,长度8 bit;

协议**对应协议。

0x01 icmp

0x02 igmp

0x06 tcp

0x11 udp

10)首部校验和:对ip首部进行校验,16 bit;

11)选项:可选内容,包括安全和处理限制、记录路径、时间戳、以及严格和宽松。

的源站选路等。

icmp报文中不同的类型与**,对应也有不同的icmp报文。icmp报文分为icmp 查询报文和icmp差错报文,其中4.1 icmp回波报文、4.

2 icmp路由器报文、4.3 icmp时间戳报文以及4.4 icmp地址掩码请求与应答报文属于icmp查询报文,4.

5描述icmp差错报文。

4.1 icmp回波报文。

4.1.1 报文结构。

4.1.2相关字段详解。

1)类型:0x00为回波响应,0x08为回波请求,长度1字节;

2)**:0x00,长度1字节;

3)校验和:2字节;

4)标识号:在ping请求中随机产生,2字节;

5)序号:描述请求与应答序列,在之前的基础上+1,1字节。

4.2 icmp路由器报文。

4.2.1 报文结构。

icmp路由器通告报文。

4.2.2 相关字段详解。

1)类型:0x0a为路由器通告报文,0x09为路由器请求报文,1字节;

2)**:两种报文的**均为0x00,1字节;

3)校验和:对报文进行校验,2字节;

4)地址数:描述报文中所含的地址数,1字节;

5)地址项长度:描述每个路由器地址所含32 bit的数目,该值始终为2,1字节;

6)生存时间:通告地址有效时间,2字节;

7)路由器地址:通告的路由器地址,4字节;

8)优先级:对应路由器地址的优先级,4字节;

4.3 icmp时间戳请求与通告报文。

4.3.1 报文结构。

4.1.2相关字段详解。

1)类型:0x0d为时间戳请求报文,0x0e为时间戳应答报文,长度1字节;

2)**:两种报文的**均为0x00,1字节;

3)校验和:对报文进行校验,2字节;

4)标识符:唯一标示报文的字段,2字节;

5)序列号:描述请求与应答序列,2字节;

6)发起时间戳:时间戳请求发送时间,4字节;

7)接收时间戳:被请求节点收到该报文的时间,4字节;

8)传送时间戳,被请求节点应答该报文的时间,4字节。

4.4 icmp地址掩码请求与应答报文。

4.4.1 报文结构。

4.4.2 相关字段解释。

1)类型:0x11为地址掩码请求报文,0x12为地址掩码戳应答报文,长度1字节;

2)**:两种报文的**均为0x00,1字节;

3)校验和:对报文进行校验,2字节;

4)标识符:唯一标示报文的字段,2字节;

5)序列号:描述请求与应答序列,2字节;

6)子网掩码:请求报文中,该字段为填充,应答报文中为应答的子网掩码,4字。

节;4.5 icmp差错报文。

4.5.1 报文结构。

4.5.2 相关字段解释。

1)类型与**:长度分别为1字节,具体含义见下表。

类型**描述。

3 目的不可达。

0 网络不可达。

1 主机不可达。

2 协议不可达。

3 端口不可达。

4 需要分片但设置了不可分片。

5 源站选路失败。

6 目的网络不认识。

7 目的主机不认识。

8 废弃。9 目的网络被强制禁止。

10 目的主机被强制禁止。

11 由于tos,网络不可达。

12 由于tos,主机不可达。

13 由于过滤,通信被强制禁止。

14 主机越权。

15 优先权中止生效。

4 0 源端被关闭。

5 重定向。

0 对网络重定向。

1 对主机重定向。

2 对服务类型和网络重定向。

3 对服务类型和主机重定向。

11 超时。

0 传输期间生存时间为0

1 在数据包组装期间生存时间为0

12 参数问题。

0 坏ip首部(包括各种差错)

1 缺少必需的选项。

2)校验和:2字节;

3)产生差错的ip首部:20字节;

4)原ip中的数据:8字节。

5.1 报文结构。

5.2 相关字段详解。

1)源、目的端口号:描述发送与接收进程,长度各位2字节;

2)udp长度:描述整个udp报文的长度,该字段为2字节;

3)udp校验和:2字节;

其中:灰色阴影部分为udp伪首部。

报文。6.1 tcp报文结构。

6.2 相关字段解释。

1)源、目的端口号:标识封装应用进程的端口,各2字节;

2)序号:用于标识发送的数据字节流,4字节;

3)确认号:包含发送确认的一段所希望收到的下一个序号,当ack为1时,该。

确认号有效,4字节;

4)首长:即首部长度,4 bit;

5)urg:紧急指针有效;

6)ack:确认号有效;

7)psh:接收方尽快将该报文移交给应用层;

8)rst:重新连接;

9)syn:同步序号,发起一个连接;

10)fin:完成发送任务;

11)窗口大小:声明窗口大小,2字节;

12)校验和:校验整个tcp数据包;

13)紧急指针:描述“紧急数据”放置在普通数据流中,当urg置为1时有效。

7.1 报文结构。

7.2 相关字段解释。

1)op:报文类型,1字节。1表示请求,2表示回应;

2)htype:硬件类型,1字节。1表示以太网。

3)hlen:硬件地址长度,1字节。以太网中值为6

4)hops:跳数,1字节。客户端置为0,也能被**服务器设置。

5)xid:事务id,客户端生成的随机数标识。

6)secs:客户端获取ip地址或续租之后的时间。

7)flags:标志,2字节,最低位有效,0表示广播,1表示单播。

8)ciaddr:客户端ip地址,4字节;

9)yiaddr:分给客户端的ip地址,4字节;

10)siaddr:下一个为dhcp客户端分配ip地址等信息的dhcp

11)giaddr:第一个dhcp中继地址。

12)chaddr:客户端mac地址。

13)sname:客户端分配ip地址的dhcp服务器名称,8字节。

14)file:文件配置信息,节;

15)options:选项,可变长度,使用tlv

id 描述。

0 填充。1 子网掩码。

3 默认网关。

6 dns7 日志服务器。

12 主机名。

26 接口mtu

42 ntp服务器。

50 请求地址。

51 租约期。

53 报文类型,后续介绍。

54 服务器标识。

55 请求列表,列出客户端向服务器要请求的参数。

57 最大dhcp消息长度。

58 更新租约期时间值。

59 重新绑定时间。

61 客户端id

255 结束。

其中id为53的解析如下:

8.1 报文结构。

其中16 bit的标志位为:

8.2 相关字段解释。

1)qr,1 bit,0标识查询报文,1标识应答报文;

2)opcode,4 bit,通常值为0(标准查询),其他值为1(反向查询)和2(服务。

器状态请求)

3)aa,1 bit,表示授权回答,标识该名字服务器是授权于该域的。

4)tc,1 bit,表示可截断的,使用udp时,如果应答总长度超过节时,只返回前节。

5)rd,1 bit,表示期望递归,置位标识使用递归查询,否则为迭代查询。

6)ra,1 bit,表示可用递归,置位标识名字服务器支持递归查询。

7)rcode,4 bit,通常值为0(没有差错)和3(名字差错)