文章目录
OSPF基原理邻居建立过程链路状态信息报文类型及作用LSDB同步过程DR与BDR的选举与作用 OSPF域内路由Router-LSANetwork-LSASPF计算 OSPF域间路由区域间路由传递区域间路由防环虚连接Vlink OSPF外部路由外部路由引入外部路由类型次优路径 OSPF特殊区域Stub区域和Totally Stub区域NSSA区域和Totally NSSA区域总结区域间路由汇总和外部路由汇总OSPF基原理
OSPF(Open Shortest Path First)开放式最短路径优先,基于SPF算法的链路状态路由协议OSPF优点: 路由信息传递与路由计算分离基于SPF算法(最短路径树)以“累计链路开销”作为选路参考值RIP在大型网络中部署面临的问题
OSPF相比于RIP的优化
OSPF中收到路由信息放入DB(数据库)中,将数据库转发给邻居,同时放入协议RIB(路由表),计算路由,再加入RIB(全局路由表)RIP收到路由信息,放入DB中(RIP的DB和协议RIB相同),计算好路由后,放入RIB(全局路由表),再转发给邻居
OSPF工作过程
邻居建立同步链路状态数据库计算最优路径
邻居建立过程
Router-ID用于在自治系统中,唯一标识一台运行OSPF的路由器 如果没有指定Router-ID,会优先从本地的环回口中选择最大的IP地址如果没有本地环回口地址,会从物理接口中选择最大的IP地址作为Router-ID发现并建立邻居
发送Hello报文Hello报文的作用: 邻居发现:自动发现邻居路由器邻居建立:完成Hello报文中的参数协商,建立令居关系邻居保持:通过保活机制检测邻居运行状态
双方互相发送Hello报文,收到报文后,状态从Down进入Init,然后回复带有邻居Router-ID的Hello报文,邻居收到后,状态进入2-Way,邻居关系建立维护邻居关系: 广播和P2P每间隔10秒互相发送Hello报文,40秒(间隔时间的4倍)未收到Hello报文,就认为邻居出现故障NBMA和P2MP每间隔30秒互相发送Hello报文,120秒未收到Hello报文就认为邻居出现故障 Hello报文通过组播(224.0.0.5)发送给其他路由器
实验1:如下拓扑
配置OSPF,并抓包查看报文
[AR1]int lo 1[AR1-LoopBack1]ip ad 1.1.1.1 24[AR1-LoopBack1]int g0/0/0[AR1-GigabitEthernet0/0/0]ip ad 12.1.1.1 24[AR1-GigabitEthernet0/0/0]q[AR1]ospf router-id 1.1.1.1[AR1-ospf-1]area 0[AR1-ospf-1-area-0.0.0.0]net 12.1.1.1 0.0.0.0[AR1-ospf-1-area-0.0.0.0]net 1.1.1.1 0.0.0.0[AR2]int lo 1[AR2-LoopBack1]ip ad 2.2.2.2 32[AR2-LoopBack1]int g0/0/0[AR2-GigabitEthernet0/0/0]ip ad 12.1.1.2 24[AR2-GigabitEthernet0/0/0]q[AR2]ospf router-id 2.2.2.2[AR2-ospf-1]area 0[AR2-ospf-1-area-0.0.0.0]net 2.2.2.2 0.0.0.0[AR2-ospf-1-area-0.0.0.0]net 12.1.1.2 0.0.0.0
报文分析
链路状态信息
链路状态信息LSA包含的信息: 链路的类型接口IP地址及掩码链路上所连接的邻居路由器链路的带宽(开销) OSPF支持多种网络协议P2P:PPP的网络类型。仅两台路由互联,支持广播和组播广播:Ethernet-II的网络类型。两台或两台以上的路由器通过共享介质互联,支持广播和组播NBMA:帧中继(FR)的网络类型。两台或两台以上的路由器通过VC互连,不支持广播和组播P2MP:多个点到点的集合,支持广播、组播OSPF度量方式
接口的cost=参考带宽/实际带宽(参考带宽默认100)更改cost: 直接在接口下改配置ospf cost 10
(接口视图下)修改参考带宽bandwidth-reference
(OSPF进程视图下,所有路由器都要修改,确保选路一致性)
计算路径开销累加是累加路由由来的进接口的开销值
报文类型及作用
LSDB同步过程
第一份发出的DD包,不包含LSA的任何信息,用来选举主从I
位表示是否为第一个数据包M
位表示之后是否还有DD包MS
位为1表示为主,为0表示为从(通过比较Router-ID,大的为主)
RTB中的路由信息如果RTA中没有,RTA会发送LSR请求报文,获取STB中的RTA没有的路由信息,RTA的路由信息RTB都有,RTB则直接进入FullRTB收到RTA的请求报文,会把RTB中没有的路由信息放在LSU中,发送给RTARTA收到LSU后,更新自己的路由信息表,恢复LSAck报文确认Full表示邻接关系建立成功
DR与BDR的选举与作用
邻接关系个数=[n*(n-1)]/2DR与BDR的作用
减少邻接关系降低OSPF协议流量
DR与BDR选举
DR与BDR的选举是基于接口接口的DR优先级越大越优先接口的DR优先级相等时,Router-ID越大越优先
更改网络类型
ospf network-type p2p
OSPF域内路由
Router-LSA
描述P2P网络
描述MA网络或NBMA网络
Network-LSA
display ospf lsdb router
查看一类LSAdisplay ospf routing
查看协议路由表
SPF计算
构建SPF树 根据Router-LSA和Network-LSA中的拓扑信息,构建SPF树干 计算最优路由 基于SPF树干和Router-LSA、Network-LSA中的路由信息,计算最优路由OSPF域间路由
区域间路由传递
Network-Summary-LSA
三类LSA是由ABR(边界路由器)产生的,用来描述区域间的路由信息三类LSA是在区域内泛洪,为本区域产生一条相邻区域的三类LSA
区域间路由防环
非骨干区域必须与骨干区域相连ABR收到非骨干区域的LSA不做计算三类LSA传递规则虚连接Vlink
进入OSPF进程ospf 1
进入中间区域area 1
虚连接vlink-peer 对端的Router-ID
OSPF外部路由
外部路由引入
命令:import-route static
AS-External-LSA
ASBR产生,在整个OSPF域内泛洪引入外部路由,一条AS External LSA只能宣告一条外部路由
ASBR-Summary-LSA
ABR产生,在区域内泛洪告诉其他设备如何去往ASBR通告到ASBR的开销
外部路由类型
默认为第二类外部路由第二类会先比较外部开销,外部开销相同,会比较内部开销第二类会可能会造成次优路径External-Type1的优先级高于External-Type2(Type1比Type2更精确)
次优路径
Forwarding Address
字段为0字段非0时,接口类型不能为P2P或P2MP接口、不能是静默接口、ASBR设备到达目的网段的下一跳地址所在网段被发布在OSPF中
静默接口:不再收发报文当三个条件都成立时,FA字段为非零,字段为ASBR到达目的网段的下一跳的地址
OSPF特殊区域
Stub区域和Totally Stub区域
传输区域末端区域Stub区域
配置:区域中的每台设备的OSPF进程下,进入区域,输入stub
不引入外部路由没有四类、五类LSA有一条三类的默认路由,有三类的明细路由
Totally Stub区域
配置:只需要在ABR上配置,进入OSPF进程,进入区域,输入stub no-summary
不能引入外部路由有一条三类默认路由,没有三类明细、四类、五类LSA,
NSSA区域和Totally NSSA区域
NSSA区域
允许外部路由七类LSA只能在NSSA区域中传递七类LSA传递给ABR,ABR转换为五类LSA,进行OSPF全区域泛洪有三类的默认路由、明西路由
Totally NSSA区域
没有三类明细路由,有一条三类的默认路由
总结
区域间路由汇总和外部路由汇总
区域间路由汇总
配置:在边界路由器,进入OSPF进程,进入区域,输入abr-summary 172.16.0.0 255.255.248.0
外部路由汇总
配置:在ASBR上,进入OSPF进程,输入bsbr-summary 172.17.0.0 255.255.248.0
以上内容均属原创,如有不详或错误,敬请指出。
本文作者:坏坏 本文链接:/qq_45668124/article/details/106100178 版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!