OSPF:
OSPF基本概念:
1.定义 : open shortest path first 开放式最短路径优先协议
2.适用范围:IGP
3.协议算法特点:链路状态型路由协议,采用SPF算法
4.协议是否传递网络掩码:传递网络掩码
5.协议封装:基于IP协议封装,协议号为89
OSPF特点:
1.OSPF是一种典型的链路状态型路由协议,地图式协议
2.传递信息(链路状态通告)称作LSA:LSA链路状态通告,包含路由信息和拓扑信息
路由LSA:描述本路由器上接口的路由信息
拓扑LSA:描述路由器之间的连接状态
3.更新方式:触发更新+30分钟链路状态刷新(每个单独以30分钟刷新LSA)
采用增量更新,即只在路由有变化时,才会发送更新,并且只发送有变化的路由信息;
4.地址更新:组播和单播更新。
组播地址:224.0.0.5(all SPF router),224.0.0.6(all DR router )
5.支持的路由认证:链路认证 区域认证 虚链路认证
6.支持手工汇总(仅在特殊的路由器上可汇总)
7.支持区域划分
8.OSPF 比较消耗设备资源 (相对于rip而言)
9.OSPF使用 cost(相当于带宽)
OSPF区域:
骨干区域: 区域标记为0或0.0.0.0
非骨干区域:区域标记不等于0或0.0.0.0
区域规则:
1.OSPF网络中必须存在并唯一的骨干区域(单区域除外)
2.若存在非骨干区域,非骨干区域必须与骨干区域直接相连。
3、OSPF中路由器的角色:骨干路由器、非骨干路由器、ABR(区域边界路由器,能够产生3类LSA的路由器)、ASBR(自治系统边界路由器,能够产生5、7类LSA路由器)【重点在能把其他路由协议导入在这个路由器中】
4、区域划分的意义:减少LSA数量、减少LSA传播范围、有利于网络稳定性
OSPF五种数据包:
1、Hello包-- hello包用于周期发现、建立和维持邻居关系。
2、数据库描述DBD包--数据库描述包---数据库目录信息
3、链路状态请求LSR包--链路状态请求
4、链路状态更新LSU包-- 链路状态更新---携带各种LSA
5、链路状态确认LSacK包--链路状态确认
OSPF的7种状态机:
Down------本地一旦发出hello包,进入下一状态
Lnit------本地接收到的hello包中若存在本地的RID,进入下一状态
Two-way---邻居关系建立的标志
Exstart---使用类hello的DBD包进行主从关系选举,RID数值大为主,主从优先进入下一个状态。
Exchange--使用真正的DBD进行数据库目录的共享,需要ACK;
Loading---使用LSR/LSU/LSack来获取未知的LSA信息;
Full------邻接关系建立的标志;
OSPF的工作过程:
1、启动配置完成后,本地收发hello包,建立邻居关系,生成邻居表;
2、再进行条件的匹配,匹配失败将停留于邻居关系,仅hello包存活即可;
3、匹配成功者之间建立邻接关系,需要DBD共享数据库目录,LSR/LSU/LSack来获取未知的LSA信息,当收集完网络中所有的LSA后,生成数据表–LSDB
4、LSDB建立完成后,本地基于OSPF选路规则,计算本地到达所有未知网段的最短路径,然后将其加载到路由表中,完成收敛。
5、收敛完成后–hello包周期保活–30分钟周期的BDB比对,若不一致将会使用LSR/LSU/LSack重新获取
OSPF无法建立邻居的原因: