文章目录
OSPF:开放式最短路径优先协议
-
无类别链路状态协议:跨层封装,协议号89;组播更新:224.0.0.5(all ospf)224.0.0.6(DR/DBR)存在触发更新和周期更新(30min);使用SPF算法;存在区域概念;
-
工作过程
-
- 激活协议后向所有的邻居发送hello包,建立邻居关系,生成邻居表之后和条件满足的邻居间建立邻接关系,交互LSA(链路状态通告);生成LSDB(链路状态数据库);之后基于数据库使用SPF算法计算达到所有未知目标的最短路径加到路由表中;注:ospf收敛的过程被称为LSA洪范或LSDB同步;
-
OSPF的状态机
-
- 邻居关系
— Down:一旦发出hello包将进入下一个状态
— Init:收到hello包中存在本地RID进入下一状态
— 2-way:邻居关系建立
- 邻居关系
-
- 匹配条件
— 点到点网络直接进入下一个阶段
— MA网络先选DR/BDR;非DR/BDR间不能进入下一状态
- 匹配条件
-
- 邻接关系
— Exstart:使用hello的DBD包进行主从关系选举,主可以先行进入exchange状态
— EXchange:使用DBD包进行拓扑目录的交互,需要ACK确认
— Loading:使用LSR/LSU/LSACK获取未知拓扑信息;
— Full:转发状态,邻接关系建立完成
- 邻接关系
-
OSPF的数据包
-
- 数据包结构
- 数据包结构
-
- 数据包类型
- 数据包类型
-
- Hello :用于邻居的发现,邻居关系的建立:邻居和邻接关系的保活 Hello time 10s或30s dead time 40s或120s
邻居间hello包中必须完全一致的参数:hello和dead时间,区域ID,认证字段,末梢区域标示
- Hello :用于邻居的发现,邻居关系的建立:邻居和邻接关系的保活 Hello time 10s或30s dead time 40s或120s
-
- DBD 数据库描述表:1,类hello包,不携带拓扑信息 2,拓扑目录在exstart状态时,两端MTU值不一致,将卡在该状态;
— I:为1表示本DBD包为本地第一个DBD
— M:为0表示本地为最后一个DBD
— MS:为1表示本地为主
在exstart状态时,使用隐形确认:使用主的序列号来确认
- DBD 数据库描述表:1,类hello包,不携带拓扑信息 2,拓扑目录在exstart状态时,两端MTU值不一致,将卡在该状态;
-
- LSR 链路状态请求
-
- LSU(LSA)链路状态更新
-
- LSACK 链路状态确认
-
配置
-
r1(config)#router ospf 1 启动时需要配置进程号,仅具有本地意义;
r1(config-router)#router-id 1.1.1.1 建议RID;手工—环回最大地址—接口最大地址
宣告:1、激活 2、路由 3、区域划分
r2(config-router)#network 2.2.2.2 0.0.0.0 a 0
r2(config-router)#network 23.1.1.1 0.0.0.0 a 1 -
区域划分的规则:
-
- 星型结构
ABR–区域边界路由器
- 星型结构
-
当启动完成后,邻居间发生hello包建立邻居关系,生成==邻居表==
r2#show ip ospf neighbor
Neighbor ID Pri State Dead Time Address Interface
1.1.1.1 0 FULL/ - 00:00:34 12.1.1.1 Serial1/0
3.3.3.3 0 FULL/ - 00:00:30 23.1.1.2 Serial1/1
<