OSPF
1、OSPF基础
2、区域内的路由计算
3、区域间的路由计算(矢量)(区域间的防环原则)
3.1、非骨干区域都与骨干区域相连。
3.2、骨干区域不会接收非骨干的3类LSA。
3.3、无论COST,1类LSA总是由于3类LSA。
ABR:区域边界路由器。将直连区域的1类和2类,转换成其他区域的3类。连接了骨干区域和非骨干区域,并且在骨干区域存在活动的接口。(没有邻居有活动接口时会计算3类)
4、虚链路
4.1、修复不规则的区域。
4.2、作为骨干区域的备用链路。
4.3、优化路径。
上图中,假设Area1中的AR5上存在一个1.1.1.1,AR6是一台ABR,会将1.1.1.1传递到Area 0(以3类的LSA形式存在),那么对于AR9来说,可以从区域0接收到AR6产生的关于1.1.1.1这条路由的3类LSA,也可以从区域2接收到AR8产生的3类LSA。此时会优选AR6产生的,走cost开销值大的链路。(因为骨干区域的3类LSA优于非骨干区域的3类LSA),此时可以在AR8——AR9之间建立虚连接,而虚连接属于骨干区域,AR9就会优选cost较小的链路。
虚链路的源地址如何确定?
去往目的地址的出接口的IP地址作为源地址。
虚链路的目的地址如何确定?
以虚链路邻居为根计算最短路径树,到达自身最近的出接口IP地址,作为虚链路报文的目的地址。
使用Router-ID好处?
在于若区域内路径出现故障,只要到达虚链路邻居的SPF树不会断开,那么v-link邻居不会出现故障(稳定)。
虚链路邻居如何维护?
1、10秒一次周期的发送Hello报文,邻居失效时间为40秒。
2、到达邻居的SPF树断开,虚链路邻居立刻down。
OSPF虚链路的防环机制
1、ABR通过虚链路得到的1类LSA计算出来的路由,不会变成3类LSA泛洪进虚链路所在的区域,但可以泛洪到其他区域。
2、ABR通过虚链路得到的3类LAS,如果在V-link所经过的区域也存在,则计算此3类LSA,并继续泛洪到其他区域,但不会泛洪到虚链路所在的区域。
3、ABR通过虚链路得到的3类LSA和1类LSA,如果在虚链路所经过的区域不存在,则忽略此3类LSA,不会继续泛洪到其他区域。
4、ABR针对区域0的汇总无法对虚链路经过的区域生效,也就是不会传递到虚链路经过的区域。
问:为什么ABR通过虚链路得到的1类LSA所计算出来的路由,不会变成3类LSA泛洪进虚链路所在的区域,单可以泛洪到其他区域?
答:上图中如果AR2——AR4之间建立V-link,那么此时AR4是一台ABR,AR2将会把Area 0的1类LSA通过虚链路传递给AR4,那么对于AR4来说从虚链路邻居接收到了1类LSA,如果此时AR4将这些1类LSA以3类的形式传递到Area 1,那么针对AR3选路的时候可以从AR2和AR4同时访问Area 0,如果此时因为cost原因走了AR4,那么AR4在选路的时候依然走物理链路发送给AR3,将产生环路。
问:为什么ABR通过虚链路得到的3类LSA,如果在V-link所经过的区域也存在,则计算此3类LSA,并继续泛洪到其他区域,但不会泛洪到虚链路所在的区域?
答:如果AR6上一条路由,那么AR2作为ABR将会把Area 3的路由,传递给Area 1以三类的形式存在,AR2也会通过虚链路传递给AR4,此时对于AR4来说,此时AR4可以通过Area 1中的3类计算出这个路由,将不会把从虚链路邻居AR2接收到的这条三类传递到Area 1,如果传递到Area 1,那么对于AR3来说在选路的时候有可能会走AR4,AR4又走AR3,将产生环路。
问:ABR通过虚链路得到的1类和3类LSA,如果在虚链路所经过的区域不存在,则忽略此3类LSA不会计算,不会继续泛洪到其他区域?
答:如果AR6上有一条路由。而AR2为ABR,在执行区域间路由转换的时候,如果拒绝了这条LSA传递到Area 1,而没有拒绝传递到Area 0,那么对于AR4来说是可以从Area 0计算出这条3类LSA的。AR4是一条ABR,假设它可以计算这条三类LSA并传递到Area 1和Area 2,那么对于Area 1和Area 2内的路由器正在访问这条路由的时候都会找AR4,而AR4通过物理链路发送给AR3,将会产生环路和路由黑洞。
问:ABR针对区域0的汇总无法对虚链路经过的区域生效,也就是不会传递到虚链路经过的区域?
答:假设AR2-AR4之间建立了虚链路,如果此时AR1上有一个10.1.1.1/32路由,而AR2是一台ABR,如果此时AR2针对10.1.1.1/32汇总成为了10.1.0.0.0/16的路由,假设AR2可以传递给AR3,那么对于AR3来说此时学习到了一条10.1.0.0/16的路由,如果此时AR4也针对区域0做汇总成为10.1.1.0/24的路由,假设它也能传递给AR3,那么对于AR3来说去往10.1.1.1的时候会找AR4作为下一跳,因为路由查表转发原则为精确匹配,而对于AR4来说会选择AR2作为下一跳,因为10.1.1.1的路由是AR2通过是AR2通过虚链路传递给AR4的,那么AR4还是要通过物理链路发送给AR3,AR3收到又给AR4,由此产生环路。
OSPF——虚链路,收敛特性
OSPF如何防环:
SPF算法,绝对的无环。
3类LSA防环,区域间的水平分割。
4类LSA和3类类似。
5类LSA防环,OSPF域内泛洪。靠1、2、3、4类LSA机制进行防环。
OSPFv2基本概念-LSA类型:
NSR——不间断路由;NSF+GR——不间断转发。
OSPFv2基本概念-路由类型:
OSPFv2基本概念-Option字段:
OSPFv2收敛特性:
快速收敛
增量最短路径优先算法I-SPF
部分路由计算PRC
智能定时器
按优先级收敛
[Huawei-ospf-1]lsa-originate-interval intelligent-timer 4000 50 100 //对LSA的产生关联智能定时器[Huawei-ospf-1]lsa-arrival-interval intelligent-timer 4000 50 100 //对LSA的接收间隔关联智能定时器[Huawei-ospf-1]spf-schedule-interval intelligent-timer 5000 50 100 //对SPF计算间隔关联智能定时器
计时器的公式:100*2^(N-2),下一次延迟时间是上一次的一倍。
OSPF——收敛特性,overflow,缺省
收敛优先级不在OSPF报文中携带,只属于OSPF设备本地的概念。prefix-priority critical(最优/高/中/低) ip-prefix 1。
默认参数:公网32为主机路由收敛优先级为medium,其他OSPF路由的收敛优先级为low。
OSPFv2——Database Overflow(数据库过载/溢出)
作用:限制非缺省外部路由数量,避免数据库超限。
[AR1-ospf-1]lsdb-overflow-limit 5
OSPFv2——缺省路由
普通区域:ASBR上手动配置产生缺省5类LSA,通告整个OSPF自治域(特殊区域除外)
Stub区域:ABR自动产生一条缺省3类LSA,通告到整个Stub区域内。
Totally Stub区域:ABR会自动产生一条缺省3类LSA,通告到整个Stub区域内。
NSSA区域:在ABR自动产生一条缺省7类LSA,通告到整个NSSA区域内。
在ASBR手动配置产生一条缺省7类LSA,通告到整个NSSA区域内。
Totally NSSA区域:ABR自动产生一条缺省3类LSA,通告到整个NSSA区域内。