• 文章搜索:
  • 经验案例

        • 分享到...

        • 新浪微博
        • 腾讯微博
        • 推荐到豆瓣 豆瓣空间
        • 分享到搜狐微博 搜狐微博
        • 分享到QQ空间 QQ空间
        • 分享到腾讯朋友 腾讯朋友
        • 网易微博分享 网易微博
        • 添加到百度搜藏 百度搜藏
        • 转贴到开心网 开心网
        • 转发好友 告诉聊友
    • 推荐
    • 打印
    • 收藏

    OSPF外部等价路由经验案例

    作者:胡斌  |  上传时间:2010-12-08  |  关键字:OSPF,胡斌

    1.1  组网描述

    某金融单位地市公司采用一台AR4620和一台C2621路由器连接省公司两台友商骨干路由器,地市核心交换机采用两台S3952PIRF堆叠,然后交叉双上行连接上联路由器。下行通过防火墙连接下联路由器。省公司局域网、省市骨干网和地市局域网均运行OSPF协议。其中地市路由器上联接口在骨干区域area 0,地市路由器内网口、内网交换机及下联路由器均在普通区域area n

    省核心交换、省上联路由器运行BGP协议。在OSPFBGP边界做双向路由重分发。比如省行两台上联路由器将从EBGP学到路由25.0.0.0/8重分布到OSPF中,使得地市公司可以学习到该OSPF外部路由。

    OSPF组网简图

     

    1.2  问题概述

    某日该单位省公司上联BGP路由调整,发现其中一个地市公司的S3900 OSPF外部路由学习异常,正常情况下应该从上联两台路由器学习到3条等价的路由,现在只从AR4620学习到两条等价路由。

     

    <3952p>dis ip routing-table 25.0.0.0

    Destination/Mask   Protocol Pre  Cost        Nexthop         Interface

    25.0.0.0/8         O_ASE    150  1           49.76.101.1     Vlan-interface101

                                                 49.76.101.9     Vlan-interface102

     

    1.3  原因分析

    1、将S3900连接AR4620的两个vlan虚接口(Vlan-interface101Vlan-interface102shutdown

    发现依然可以学习到两条等价路由,但是下一跳指向上联路由器C2621

     

    <3952p>dis ip rou 25.0.0.0

    Destination/Mask   Protocol Pre  Cost        Nexthop         Interface

    25.0.0.0/8         O_ASE    150  1           49.76.101.5     Vlan-interface103

                                                 49.76.101.13    Vlan-interface104

     

    2S3900连接AR4620的两个vlan虚接口undo shut恢复正常,发现上述ASE路由又切回从AR46学到。

     

    查看外部路由的优先级和cost均相同,为何S3900选择从AR4620学习该ASE路由,而不从C2621学习该路由呢?

     

    首先看看产生该路由的LSA

     

    <AR4620>dis ospf lsdb ase 25.0.0.0

     

                    OSPF Process 1 with Router ID 110.120.27.113

                             Link State Database

     

    Type      : ASE

    Ls id     : 25.0.0.0

    Adv rtr   : 192.168.41.2 

    Ls age    : 875

    Len       : 36

    Seq#      : 80000074

    Chksum    : 0x7eec                       

    Options   : (DC)

    Net mask  : 255.0.0.0

       Tos 0 metric: 1

       E type    : 2

       Forwarding Address :0.0.0.0

       Tag: 64512

     

    Type      : ASE

    Ls id     : 25.0.0.0

    Adv rtr   : 192.168.41.1 

    Ls age    : 359

    Len       : 36

    Seq#      : 80000059

    Chksum    : 0xbacc

    Options   : (DC)

    Net mask  : 255.0.0.0

       Tos 0 metric: 1

       E type    : 2

       Forwarding Address :0.0.0.0

       Tag: 64512

     

    先明确两个概念:

    a)一类外部路由和二类外部路由:

    外部路由是根据OSPF AS-External-LSA(以下简称5LSA)生成的,描述了应该如何选择到AS以外目的地址的路由,根据是否计算AS内部路径开销分为第一类和第二类外部路由。第一类外部路由的开销=本路由器到相应的ASBR的开销+ASBR到该路由目的地址的开销,第二类外部路由的开销=ASBR到该路由目的地址的开销。

    OSPF协议认为第一类外部路由可信度高高一些,在对于同一个目的地址同时存在第一类外部路由和第二类外部路由时,不管这两条外部路由的花费是多少,均优选第一类外部路由。

    对于TYPE 1类的外部路由,该路由的COST值为该路由引入OSPF时的COST加上本路由器到达ASBR/Forwarding AddressCOST值;对于TYPE 2类的外部路由,仅计算该路由引入OSPF时的COST值。

     

    b Forwarding Address

    Forwarding Address OSPF AS-External-LSA(以下简称5LSA)中携带的标识外部转发地址的信息。通常情况下Forwarding Address 填写为0.0.0.0,通告给其他OSPF 路由器达到这条外部路由需要经过自己,其他路由器通过OSPF路由计算可以得知如何到达该ASBR

     

    Forwarding Address地址填写为0.0.0.0的情况下,ospf外部路由如何进行优选呢?

     

    H3C COMWARE V3/V5平台规定如下:

     

    AS External 路由计算时,External LSAFA为空,从到ASBR的路由中继承下一跳信息。即选取最优的到ASBR的路由。

     

    经过细致排查发现,该地市公司两台上联路由器C2621AR4620计算到ASBRcost不一致。

     

    110.120.27.25这台CISCO设备router lsa link来看它的Serial0/0接口cost64

     

     

    LS age: 723

      Options: (No TOS-capability, DC)

      LS Type: Router Links

      Link State ID: 110.120.27.25

      Advertising Router: 110.120.27.25

      LS Seq Number: 80000137

      Checksum: 0x3C99

      Length: 48

      Area Border Router

      Number of Links: 2

     

        Link connected to: another Router (point-to-point)

         (Link ID) Neighboring Router ID: 110.120.27.50

         (Link Data) Router Interface address: 9.38.57.94

          Number of TOS metrics: 0

           TOS 0 Metrics: 64

     

    而对应位置的110.120.27.113(AR4620)Serial0/0接口cost50

     

     

    Type      : Router

    Ls id     : 110.120.27.113

    Adv rtr   : 110.120.27.113 

    Ls age    : 1412

    Len       : 72

    Seq#      : 80007325

    Chksum    : 0x73e3

    Options   : (DC)    ABR

    Link count: 4

       Link ID: 110.120.27.60

       Data   : 9.38.37.94                  

       Type   : Point-to-Point

       Metric : 50

     

     

    由于这个差异,导致两台设备生成到区域8的描述ASBR4LSA metric不同,一个是150,一个是164,进而在S

    S3952P计算ASBR生成外部路由路由无法形成等价。

     

     

    Type      : SumASB

    Ls id     : 192.168.41.1

    Adv rtr   : 110.120.27.113 

    Ls age    : 1120

    Len       : 28

    Seq#      : 80000320

    Chksum    : 0x18f                        

    Options   : (DC)

       Tos 0 metric: 150

     

    Type      : SumASB

    Ls id     : 192.168.41.1

    Adv rtr   : 110.120.27.25 

    Ls age    : 485

    Len       : 28

    Seq#      : 80000124

    Chksum    : 0x7f57

    Options   : (DC)

       Tos 0 metric: 164

     

    解决方法: C2621Serial0/0接口上配置bandwidth 2000解决问题。

     

    1.4  关于FA地址在OSPF选路中的作用

    Forwarding Address路由合法性

    如果OSPF 路由器通过Forwarding Address(以下简称FA)计算到达外部路由的路径,那么必须确保自身的路由表中存在到达该FAOSPF AS 内部路由(OSPF intra-area route or OSPF inter-area route),否则该外部路由无效。

    Forwarding Address填写原则

    在满足如下所有条件的情况下FA设置为非0.0.0.0

    1.         OSPFASBR的下一跳接口被启动

    2.         ASBR的下一跳接口没有被设置为被动接口

    3.         ASBR的下一跳接口不是OSPF P2PP2MP类型的

    除此之外,其它情况FA都填为0.0.0.0

     

    l  AS External 路由计算时,External LSAFA为空,从到ASBR的路由中继承下一跳信息。

    选取最优的ASBR的路由遵循规则如下:

    ü  兼容RFC1583OSPF进程中,非骨干区的OSPF Intra Area路由优先级最高;不兼容RFC1583OSPF进程中,非骨干区的OSPF Intra Area路由、骨干区的OSPF Intra Area路由、OSPF Inter Area路由的优先级相同。

    ü  选择优先级较高的路由。

    ü  优先级相同的情况下,Cost较小的路由优先。

    ü  优先级相同、Cost相同的情况下,路由相关区域的Area ID最大的优先。

     

    l  OSPF AS External路由计算时,External LSAFA不为空,从到FA的路由中继承下一跳信息。

    FA的路由的计算遵循Intra Area计算和Inter Area计算规则,查找FA的路由的根据最长掩码匹配的原则,到FA的路由只能为本OSPF内的Intra Area路由和Inter Area路由。

     

    1.5  OSPF 外部路由优选总结

    1、 对于同一个目的地址同时存在第一类外部路由和第二类外部路由时,不管这两条外部路由的花费是多少,均优选第一类外部路由

    2、 根据外部路由信息中所带的ASBR/Forwarding address信息,可以将外部路由分为三类,非骨干区域内外部路由(ASBR/Forwarding address和本路由器在同一个非骨干区域内),骨干区域内外部路由(ASBR/Forwarding address和本路由器都在骨干区域内),跨区域外部路由(ASBR/Forwarding address和本路由器不在同一个区域内)。选路的时候,非骨干区域内外部路由的优先级最高,骨干区域内外部路由和跨区域外部路由的优先级相同。

    3、 对于同一类型的外部路由,cost值小的优先。

    4、 对于处于NSSA区域边界的ABR来说,可能同时通过第5LSA和第7LSA学习到同一条路由信息。在这时,会优选通过第5LSA学习到的路由。