通过抓包分析OSPF报文结构,了解的交互机制和过程。

理论上的东西终归需要去验证才能理解,学会自主分析才能够加强自学能力。

本文纯抓包分析,如果没了解过理论内容的请移步

OSPF协议 抓包分析 抓包ospf报文只有hello_网络

https://zhuanlan.zhihu.com/p/348526404

实验拓扑环境

OSPF协议 抓包分析 抓包ospf报文只有hello_网络安全_02


一、五种包

1.1.HELLO报文

OSPF协议 抓包分析 抓包ospf报文只有hello_抓包_03


1.2.DBD报文

OSPF协议 抓包分析 抓包ospf报文只有hello_抓包_04


1.3.LSR报文

OSPF协议 抓包分析 抓包ospf报文只有hello_OSPF协议 抓包分析_05

1.4.LSU报文

OSPF协议 抓包分析 抓包ospf报文只有hello_抓包_06

1.5.LSACK报文

OSPF协议 抓包分析 抓包ospf报文只有hello_优先级_07


二、七个状态

2.1.DOWN

不交互任何OSPF相关的报文,查看邻居状态为空。

2.2.INIT状态

2.2.1.查看router-id

1)抓包查看报文中的ROUTER-ID

OSPF协议 抓包分析 抓包ospf报文只有hello_网络_08


2)设备上查看邻居关系的router-id

OSPF协议 抓包分析 抓包ospf报文只有hello_优先级_09


2.2.2.手动修改router-id

1)配置命令

ospf 1 router-id 1.1.1.1

reset ospf process

2)抓包查看报文中的ROUTER-ID

OSPF协议 抓包分析 抓包ospf报文只有hello_网络_10


3)设备上查看邻居修改后生效 的router-id

OSPF协议 抓包分析 抓包ospf报文只有hello_OSPF协议 抓包分析_11

2.2.3.INIT→two way条件

接收到邻居设备的hello中包含自己的router-id(报文中的Active Neighbor)

R2发送的HELLO包中1.1.1.1的router-id

OSPF协议 抓包分析 抓包ospf报文只有hello_抓包_12

2.3.TWO WAY

HELLO报文中的DR和BDR

2.3.1.DR和BDR还未选举,HELLO报文抓包

未调整优先级,默认为1

OSPF协议 抓包分析 抓包ospf报文只有hello_网络_13


2.3.2.调整接口优先级为10

调整OSPF DR优先级

1)配置命令

int g0/0/0

ospf dr-priority 10

2)抓包查看优先级为10

OSPF协议 抓包分析 抓包ospf报文只有hello_抓包_14

2.3.3.DR优先级调整为0

1)配置命令

调整R2的DR优先级为0

int g0/0/0

ospf dr-priority 0

2)抓包查看

原来R2为DR的,现在R2不参与DR选举,R1变为DR,而且没有BDR

OSPF协议 抓包分析 抓包ospf报文只有hello_抓包_15


2.4.EXSTART

2.4.1.DBD报文中的MS位

1)还未协商完成主从的DBD

第一个DBD报文MS都是为1

R1设备上第一个DBD报文

OSPF协议 抓包分析 抓包ospf报文只有hello_网络安全_16

R2设备上第一个DBD报文

OSPF协议 抓包分析 抓包ospf报文只有hello_抓包_17


2)协商完成的DBD

协商完成后,肯定有设备发出来的MS=0;

R1 MS为0,这时候R1为从设备

OSPF协议 抓包分析 抓包ospf报文只有hello_抓包_18


R2 MS为1,这是时候R2为主设备

OSPF协议 抓包分析 抓包ospf报文只有hello_OSPF协议 抓包分析_19


2.4.2.DBD报文中的序列号

R2发送281的seq

OSPF协议 抓包分析 抓包ospf报文只有hello_OSPF协议 抓包分析_20

R1确认281的seq

OSPF协议 抓包分析 抓包ospf报文只有hello_OSPF协议 抓包分析_21


2.5.EXCHANGE

DBD报文中的M位

M=1,代表DBD报文还没发完

OSPF协议 抓包分析 抓包ospf报文只有hello_抓包_22


M=0,代表DBD报文发送完成

OSPF协议 抓包分析 抓包ospf报文只有hello_OSPF协议 抓包分析_23


2.6.LOADING

R1发送LSR请求172.16.12.2的链路信息

OSPF协议 抓包分析 抓包ospf报文只有hello_抓包_24

R2回应请求

LSU中的LSA,回应对端的请求LSA序列号为0x80000003

OSPF协议 抓包分析 抓包ospf报文只有hello_抓包_25


LSACK,确认LSA序列号为0x80000004(+1)

OSPF协议 抓包分析 抓包ospf报文只有hello_网络_26


2.7.FULL

稳定状态下的报文

10S一个HELLO稳定状态

OSPF协议 抓包分析 抓包ospf报文只有hello_优先级_27


大约过了1800S重新泛洪LSU LSACK

OSPF协议 抓包分析 抓包ospf报文只有hello_优先级_28


又过1800S 重新泛洪LSU LSACK

OSPF协议 抓包分析 抓包ospf报文只有hello_网络_29

学习本身就是枯燥的,当理解理论内容,然后结合抓包分析,具体了解设备内部的运转情况,这时候学习反而有一种莫名的乐趣。