APP下载

OSPF外部路由引起的环路问题

2019-10-21宋尚

传播力研究 2019年24期
关键词:环路数据包路由

宋尚

摘要:OSPF是目前网络中使用很频繁的IGP协议之一,是一种基于SPF算法的链路状态路由协议,由于OSPF采用的是分区域设计,所以除了在区域间能够形成环路外,外部路由被引入后,也会在区域间形成环路,最典型的就是引入外部路由后在NSSA区域形成的7类LSA,经过ABR完成7类LSA转换成5类LSA后,由于cost值的问题形成的区域间环路问题,所以最终可以通过7类或者5类LSA中的FA地址字段来进行解决次优路径或者环路问题。

关键词:OSPF;7类LSA;5类LSA;FA地址;外部路由

OSPF的路由可以分为两种,一种是内部路由,由1类,2类,3类LSA形成的路由都是内部路由,即network产生的路由。另外一种是外部路由,由5类,7类LSA形成的称为外部路由,即import产生的路由。内部路由的环路问题可以通过OSPF自身设置的骨干区域和非骨干区域间的规则来进行解决,那外部路由进入OSPF区域后形成的环路是如何产生的以及如何解决这环路呢?我们在充分认识OSPF区域外部路由引起的环路问题时,先了解一下OSPF的一些相关知识点:

1.特殊区域:OSPF为了能适应各种环境及路由器的组网,开发了特殊区域这一概念,OSPF的特殊区域可分为两种类型:

A、STUB区域:STUB区域又叫末梢区域,它拒绝5类LSA进入,即拒绝外部路由进入本区域,也不能在本区域下面引入外部路由,区域内的路由器通过ABR下发的默认路由来访问外部网络。

B、NSSA区域:这是一种特殊的STUB区域,它保持了STUB区域拒绝5类LSA的特点,但是它能允许在该区域引入外部路由,外部路由以7类LSA的形式存在于本区域中,NSSA区域的ABR会向其它区域把此7类LSA翻译(转换)成5类LSA(俗称7转5),使其它区域的路由器可以访问此外部路由。

2.外部路由类型:OSPF外部路由有两种类型

A、Type 1:也称为E1。路由器在计算type1路由的Cost时,会把此路由的外部cost(ASBR到达目标网段的cost)与内部cost(本路由器到达ASBR的cost)相加。

B、Type 2:也称为E2,引入路由时默认为此类型,路由器在计算type2路由的cost时,只计算外部cost,而忽略内部cost。但当一台路由器收到两条相同的type2路由时,首先会对比外部cost的值,如果一样再对比内部cost值。

3.FA地址:FA的全称为forwarding address,是5类LSA与7类LSA中的一个字段。在OSPF引入外部路由时,若产生的五类LSA的FA地址为0.0.0.0,则其他路由器在计算到达该外部网络时,将考虑如何到达ASBR来计算出外部路由的下一跳地址。若产生的五类LSA的FA地址不为0.0.0.0,则其他路由器在计算到达该外部网络时,将考虑如何到达该FA地址来计算出外部路由的下一跳地址。所以它的作用是用于解决次优路径与环路问题。

4.FA地址不为0的三个条件:

(1)引入的这条外部路由,其对应的出接口启用了OSPF

(2)引入的这条外部路由,其对应的出接口未设置为被动接口

(3)引入的这条外部路由,其对应的出接口的OSPF网络类型为MA网络

5.外部路由的选路问题:大致可分为两种情况

情况一:外部路由中未包含FA地址:此时路由器计算去往ASBR的路径。

情况二:外部路由中包含FA地址:此时路由器直接计算去往FA的路径。

理解了以上知识点后,我们来看这样一张拓扑图:

如图1所示:区域1为NSSA区域,各链路的cost如图所示:

1.在R1上把10.1.1.1引入OSPF,此时R1会产生关于10.1.1.1网段的7类LSA。

2.R2与R3作为Area1的ABR,都会进行7类LSA到5类LSA的转换,但OSPF规定默认情况下只有routerid大的才能进行7转5,R2与R3的R-ID如图所示,即R3会进行7转5的动作,由R3产生关于10.1.1.1的5类LSA,并在Area0中泛洪。

3.R4从Area 0中收到此5类LSA,并泛洪给R2。

4.我们来分析R4如何去往10.1.1.1,此时会有两种情况:

情况一:R4收到的这条5类LSA中FA地址为0.0.0.0

根据OSPF外部路由的选路规则,当5类LSA中FA地址为0时,则计算去往ASBR的路径。

1.此时产生此条5类LSA的是R3,所以R3为ASBR,R4可直接通过Area 0到达ASBR(R3)。

2.R3是通过Area 1学习到的10.1.1.1网段,所以R3可通过Area1去往10.1.1.1,即把数据包发送给R2。

3.此时R2可通过两条LSA学习到10.1.1.1的路由

第一条:R1产生的7类LSA。类型为Type2,外部Cost为1(外部cost默认都为1),内部cost为10(内部cost,本路由器到ASBR的cost)

第二条:R3产生的5类LSA,由R4泛洪给R2(参考上面第二步),类型为Type2,外部Cost为1,内部Cost为2(R2-R4-R3的cost)

4.R2執行选路规则,两条LSA同为Type2类型,先对比外部cost值,都为1,然后对比内部cost值,第一条为10,第二条为2,所以R2会优选第二条(R3产生的5类LSA),即会把数据包转发给R4。

5.环路形成:R4-R3-R2-R4

情况二:R4收到的这条5类LSA中FA地址为10.1.12.1(R1与R2的互联接口)

根据OSPF外部路由的选路规则,当5类LSA中FA地址为非0时,直接计算去往FA地址的路径。

1.在此图中R4收到的5类LSA中FA地址为10.1.12.1,关于10.1.12.1这个地址,R4是通过3类LSA学习到的(10.1.12.1位于Area 1中,R2与R3都为ABR,都会产生关于10.1.12.0网段的3类LSA),R4此时其实可以收到两条10.1.12.0的3类LSA,一条R2产生,一条R3产生,通过计算cost后发现,选择R2去往10.1.12.1更近,所以R4会把数据包转发给R2。

2.R2同样执行选路计算,计算去往FA地址10.1.12.1的路径,此地址是R2的一个直连路由,所以R2会把数据包转发给R1。

3.此时全程的路径为:R4-R2-R1,解决了环路问题。

总结:OSPF的外部路由进入OSPF区域后在一些特殊情况下是有可能形成环路的,OSPF针对外部路由可以通过FA地址来防环,7类LSA中一般情况下都会携带FA地址字段,在执行7类LSA转5类LSA后FA地址字段会默认保留,所以在默认情况下不会出现环路问题。

参考文献:

[1]华为技术有限公司.HCNP路由交换实验指南[M].北京:人民邮电出版社,2014:82-89.

[2]泰克教育集团.HCIE路由交换学习指南[M].北京:人民邮电出版社,2017:142-144.

猜你喜欢

环路数据包路由
满足法规要求的车载终端数据包加密方案分析
外差式光锁相环延时对环路性能影响
数据通信中路由策略的匹配模式
一种用于6LoWPAN的多路径路由协议
C#串口高效可靠的接收方案设计
自动转报系统环路故障解决经验
一种解决内外网间桥接或环路问题的方法
网络数据包的抓取与识别
锁相环相位噪声与环路带宽的关系分析