常用协议报文头部

标签:
杂谈 |
分类: 网络博文 |
IP包头:
版本 |
头部长度 |
服务类型 |
总长度 |
|||
标识符 |
|
DF |
MF |
分片偏移 |
||
TTL |
协议 |
头部校验 |
||||
源地址 |
||||||
目标地址 |
- 版本(4bit):标示了数据包的IP版本号(IPV4-0100,IPV6-0110);
- 头部长度(4bit):标识了IP包头的长度,最小长度为20个字节,最大长度为60个字节;
- 服务类型(8bit):用来指定特殊数据包的处理,分为2个字段:优先权和TOS。
- 总长度(16bit):IP数据包的总长度,最大长度为65535个字节;
- 标识符(16bit):通常与标记字段和分段偏移字段一起用于数据包的分段。如果数据包原始长度超过MTU,那么必须将数据包进行分段处理,路由器在每片数据包的标识字段打上相同的标记,以便接收设备能够识别出属于同一个数据包。
- 标志字段(3bit):第一位保留;第二位为DF位,DF设置为1时表示该数据包不允许进行分段处理;第三位是MF位,MF位设置为0时表示为数据包的最后一个分段;
- 分段偏移(13bit):用于指明分段起始点相对于IP包头起始点的偏移量;
- TTL(8bit):在最初创建数据包时TTL被设置一特定值(1-255),TTL值沿路由器逐跳减一,TTL为0 时丢弃该数据包;
- 协议(8bit):给出了主机到主机层或传输层的“地址”或协议号;
- 头部校验(16bit):略
- 源地址(32bit):略
- 目标地址(32bit):略
Ethernet 包头:
目标地址 |
源地址 |
类型 |
数据 |
- 目标地址(48bit):目标MAC;
- 源地址(48bit):源MAC;
- 类型:(16bit):标识上层协议类型,例如:IP0X0800,ARP0X0806
TCP 包头:
源端口 |
目标端口 |
|||||||
序列号 |
||||||||
确认号 |
||||||||
首部长度 |
保留 |
U |
A |
P |
R |
S |
F |
窗口大小 |
校验和 |
紧急指针 |
|||||||
选项 |
- 源端口(16bit):
- 目标端口(16bit):
- 序列号(33bit):确定了发送方发送的数据流中的数据所在的位置;
- 确认号(32bit):发送的确认号等于对方下一个报文的第一个字节的序列号;
- 首部长度(4bit):TCP包头的长度;
- URG(1bit):URG置1,表明为紧急数据,将该数据插入到数据的最前面;
- ACK(1bit):
- PSH(1bit):
- RST(1bit):释放当前连接并重新建立连接;
- SYN(1bit):请求建立连接;
- FIN(1bit):终止连接;
- 窗口大小(16bit):窗口值作为接收方让发送方设置其发送窗口的依据;
UDP 包头:
源端口 |
目标端口 |
长度 |
校验和 |
ARP 数据包格式:
硬件类型 |
协议类型 |
|
硬件地址长度 |
协议地址长度 |
操作 |
发送者硬件地址 |
||
发送者硬件地址 |
发送者IP地址 |
|
发送者IP地址 |
目标硬件地址 |
|
目标硬件地址 |
||
目标IP地址 |
- 硬件类型(16bit):指定硬件类型,例如:1为以太网;
- 协议类型(16bit):指定了发送者映射到数据链路层标识符的网络层协议的类型;ip对应0x0800;
- 硬件地址长度(4bit):例如MAC的地址长度为6字节;
- 协议地址长度(4bit):例如IPV4地址长度为4字节;
- 操作(16bit):指明数据包时ARP请求(1),还是ARP响应(2),反向ARP请求(3),反向ARP 响应(4),反转ARP请求(8),反转ARP响应(9);
ICMP 数据包格式:
类型 |
代码 |
校验和 |
可变字段取决于ICMP的类型 |
- 类型(8bit):
- 代码(8bit):
- 检验和(8bit):
ICMP指定了多种消息类型,这些消息的共同目的就是管理网络。
ICMP消息可分为错误消息,请求消息,和响应消息。
ICMP报文提供针对网络层的错误诊断、拥塞控制、路径控制和查询服务四项大的功能。如,当一个分组无法到达目的站点或TTL超时后,路由器就会丢弃此分组,并向源站点返回一个目的站点不可到达的ICMP报文。
前一篇:无名小路
后一篇:STP/RSTP/MSTP对比