协议数据报文格式
1、TCP/IP 协议层次
TCP/IP 协议分为四层结构,每一层完成特定的功能,包括多个协议。本课程实验中相关协议的层次分布如附图3-1所示。
附图3-1 TCP/IP 协议层次
这些协议之间的PDU 封装并不是严格按照低层PDU 封装高层PDU 的方式进行的,附图3-2显示了Ethernet 帧、ARP 分组、IP 分组、ICMP 报文、TCP 报文段、UDP 数据报、RIP 报文、OSPF 报文和FTP 报文之间的封装关系。
附图3-2 各协议PDU 间的封装关系
2、Ethernet 帧格式
最新的IEEE 802.3标准(2002
年)中定义Ethernet 帧格式如下:
其中,类型/长度值小于1536(0x0600)时表示数据字段的长度,大于等于1536
(0x0600)时表示数据字段的协议类型。类型/长度值0x0800表示帧中封装的数据为IP 分组,类型值0x0806表示帧中封装的数据为ARP 分组。 3、IP 分组格式(RFC 791)
4、ARP 分组格式(RFC 826)
操作代码值1表示ARP 请求分组,操作代码值2表示ARP 响应分组。
Ethernet 帧
标志(3 bits ):
不分片(D ): 0=可以分片
1=不能分片 还有分片(M ):
0=最后的分片 1=还有更多分片
协议:1=ICMP
89=OSPF
6=TCP
17=UDP
底层协议(Ethernet )
IP 、ARP 、ICMP TCP 、UDP RIP 、OSPF 、FTP
5、ICMP 报文格式(RFC 792)
ICMP 回送请求和回送应答报文:
ICMP 目的不可达报文:
ICMP 超时报文:
6、TCP 报文段格式(RFC 793)
7、RIP 报文格式(版本1-RFC 1058,版本2-RFC2453)
RIP 请求报文在某些RIP 路由表项超时或路由器刚接入互联网时发送,请求报文可
以询问特定路由或所有路由。路由器在回应请求报文时发送携带被询问路由信息的RIP 响应报文,也可以定期(30秒)发送携带整个路由表信息的RIP 响应报文。
控制比特:
ACK 确认字段有效 PSH 请求推操作 RST 连接复位 SYN 同步序号 FIN 终止连接
代码:
0 TTL 超时
1 分片重组超时
31 bits 8
16
代码:
0 网络不可达 4 需分片但被禁止
1 主机不可达 5 源路由失败
2 协议不可达
6 目的网络未知 3 端口不可达
7 目的主机未知
类型: 0 回送应答
8 回送请求
31 bits
硬件类型: 0x0001=以太网 0x0800=IP 协议
8、OSPF 报文格式(RFC 2328)
31 bits
8
16
命令: 1
请求 2
响应
注:RIPv2认证报文的协议族字段值为0xFFFF
数据库描述(DBD
重复
HELLO 报文:
类型: 1 HELLO 报文 2 数据库描述报文 (DBD )
3 链路状态请求报文 (LSR )
4
链路状态更新报文 (LSU )
5
链路状态确认报文 (LSAck )
31 bits
8
16
命令: 1 请求 2
响应
链路状态更新(LSU )报文:
链路状态确认(LSAck )报文:
链路状态通告(LSA )首部:
31 bits
16
24
类型:
1 路由器链路
2 网络链路
3 汇总链路到网络
4 汇总链路到ASBR 5
外部链路
31 bits
重复
链路状态请求 (LSR )报文: