OSPF路由协议
1,概述
开放式最短路径优先(Open Shortest Path First,OSPF)是目前广泛使用的一种动态路由协议,它属于链路状态路由协议,具有路由变化收敛速度快、无路由环路、支持变长子网掩码(VLSM)和汇总、层次区域划分等优点。在网络中使用OSPF协议后,大部分路由将由OSPF协议自行计算和生成,无须网络管理员人工配置,当网络拓扑发生变化时,协议可以自动计算、更正路由,极大地方便了网络管理。但如果使用时不结合具体网络应用环境,不做好细致的规划,OSPF协议的使用效果会大打折扣,甚至引发故障。 [1]
OSPF协议是一种链路状态协议。每个路由器负责发现、维护与邻居的关系,并将已知的邻居列表和链路费用LSU(Link State Update)报文描述,通过可靠的泛洪与自治系统AS(Autonomous System)内的其他路由器周期性交互,学习到整个自治系统的网络拓扑结构;并通过自治系统边界的路由器注入其他AS的路由信息,从而得到整个Internet的路由信息。每隔一个特定时间或当链路状态发生变化时,重新生成LSA,路由器通过泛洪机制将新LSA通告出去,以便实现路由的实时更新。 [2
2,工作过程
启动协议后,设备本地基于224.0.0.5组播发出hello包,发现并建立邻居关系,生成邻居表;之后进行条件匹配,若成功,则进入下一状态;若失败,则仅hello包10s进行邻居关系保活。RID大者优先进入下一状态,先交换DD报文,然后再LSR/LSU/LSACK收集未知的LSA,生成LSDB--数据库表设备基于此LSDB,使用SPF算法计算出去往目标的最佳路径,生成路表,收敛完成之后10s周期保活,30min周期性比对报文。
3,基本概念
标准的链路状态型路由协议---路由器之间传递拓扑
版本:OSPFv2--IPv4 OSPFv3--IPv6
更新方式:触发更新 存在周期更新30min
OSPF网络需要结构化部署:1、区域划分 2、IP地址规划
链路状态型路由协议的距离矢量特征--区域之内传递拓扑,区域之间传递路由表
优先级 10 COST值=参考带宽÷接口带宽
4,OSPF数据包
hello包:用于发现、建立并保活(10s)邻居关系。存在全网唯一的Router-ID,用于路由器
的身份标识,使用的IP地址的方式表示
DD包:Database Description,数据库描述包
LSR:链路状态请求
LSU:链路状态更新
LSAck:链路状态确认
5,OSPF状态机:
down:未启动协议。一旦启动协议并发出hello包之后,立即进入下一状态
init:等待邻居回复的状态。若收到的hello包中携带了自己的RID,则和对方一起进入下一状态
2-way:表示邻居关系建立
条件匹配:若成功,则进入下一状态;若失败,仅hello包保活
exstart:预启动,使用假的DD报文比较RID,大者优先进入下一状态。
exchange:双方交换DD报文
loading:使用LSR/LSU/LSAck获取未知的路径拓扑或者路由
full:邻接关系建立,收敛完成。