OSPF路由协议是CCNP 课程中的学习重点,在SP CCIE和EI CCIE的考试中也有相关的考核内容,同时在网工的面试中也常常会遇到OSPF的面试问题。所以学好OSPF非常重要。
大都知道Hub-Spoke结构是最常见的WAN设计之一,今天我们就讨论下在Hub-Spoke环境中部署OSPF的注意点。
首先OSPF是链路状态协议,链路状态协议的最主要特征是在同一个区域内部,所有路由器的database数据库相同,也就是说,当其他中一个Spoke路由有抖动的时候,会首先发给Hub端,然后由Hub端发给所有的Spoke端。也就是说,当一个站点出现路由翻动的时候,所有的站点都会受影响,所以在Hub-Spoke环境中,部署OSPF的最主要工作就是减少泛洪。那么怎么减少泛洪呢?答案是划区域,并且进行汇总和过滤。如图示:
小规模网络,Hub和Spoke可以放在同一个区域中,中等规模,可以使Spoke划分在同一个区域中。如果有大量站点,在Hub端路由器硬件资源功能(CPU和内存)足够的情况下,可以将每个Spoke划分一个区域。
划分区域问题我们达成了共识,那么下一个问题是ABR的位置。什么意思呢,就是ABR到底放置是Hub上,还是Spoke上。如图示:
第一张图的ABR在Hub上,Hub收到Spoke端的明细路由,然后在Hub上可以对Spoke发来的明细路由进行汇总或过滤,或使用特殊区域,发送汇总路由或默认路由到其他区域,也就是其他的Spoke上。当Spoke所在站点路由flapping的时候,路由传递会影响问题Spoke到Hub端的这条链路,Hub端站点内部和其他Spoke站点内部网络不会受影响。
第二张图的ABR在每个Spoke上,Spoke与Hub之间是Area 0,每个Spoke的站点内部是一个单独的区域,每个Spoke对本站点内部的路由进行汇总,并发送到Area 0。如果站点内部发生翻动现象,路由传递只会影响每个站点内部,但由于发给Hub端的是汇总路由,所以可能会有些不必要的流量会浪费带宽。总结下:
l ABR放在Hub上,汇总或过滤点在Hub上,LSA的信息在Hub和Spoke之间链路上传递的多,但对带宽的浪费少;
l ABR放在Spoke上,汇总或过滤点在Spoke上,LSA传递少,但可能会浪费Hub-Spoke之间的带宽会多些。
下一个可以讨论的问题是Hub和Spoke配置OSPF使用的接口网络类型。我们都知道DM V#P#N 是Hub-Spoke环境中可以部署的最优的解决方案之一,有三个阶段,在阶段三的时候,Spoke路由的下一跳在Hub还是Spoke上无所谓,但是我们还是可以讨论下各种接口网络类型在部署时的区别,如下:
这个可以根据需要自己选择,个人建议使用P2MP+BFD的方式。
以上就是Hub-Spoke环境中部署OSPF时的讨论。实际上还有收敛等方面的考虑。会在IELAB的EI CCIE的系列课程里进一步深入解析。