• 文章搜索:
  • 目录

        • 分享到...

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

    OSPF NSSA区域缺省路由学习报告

    作者:  |  上传时间:2009-11-18  |  关键字:

    1           NSSA区域和第七类LSA

    NSSA区域是ospf协议中定义的一类特殊的区域,在RFC1587里有关于NSSA区域的详细描述。NSSA区域是stub区域概念的延伸,它保留了部分stub区域的特征,ABR不会将第五类LSA引入NSSA区域内部传播;同时NSSA区域允许少量外部路由通过本区域的ASBR通告进来,ASBR将会为这些外部路由生成第七类LSA在区域内传播。第七类LSA的传播区域仅限于NSSA区域内,ABR会把第七类LSA转化为第五类LSA发布到其他区域。

    类似于完全stub区域,NSSA区域也可配置为完全NSSA区域。完全NSSA区域不允许携带区域间路由,ABR会自动生成一条第3类的缺省路由在完全NSSA区域内传播。

    2           NSSA区域的缺省路由

        NSSA区域内存在两种缺省路由,由ASBR产生的第七类缺省路由和ABR产生的第三类缺省路由(完全NSSA区域)。

    2.1        第七类缺省路由

    如果希望所有的外部路由只通过本区域的NSSA ASBR到达,可以在ASBR上配置产生一条第七类的缺省路由0.0.0.0,该缺省路由的传播区域是整个NSSA区域内部。

    如果只希望到达自治系统外部的某些路由通过该区域的ASBR到达,其它外部路由通过其它区域出去的话,可以在NSSA  ABR上配置产生第七类的缺省路由0.0.0.0通告给整个NSSA区域内的路由器,这样的话除了某少部分路由通过NSSAASBR到达,其它都可以通过NSSA ABR到达其它区域的ASBR出去。

    2.2        第三类缺省路由

        在完全NSSA区域的ABR上将会产生一条第三类缺省路由0.0.0.0,通告给整个NSSA区域。

    NSSA区域ABR上缺省路由产生的方式不同的是,在完全NSSA区域ABR上的缺省路由是配置好区域之后自动产生类型3的缺省LSA,而在NSSA区域上ABR的缺省路由是自己可配置的。

    2.3        NSSA区域缺省路由与普通区域缺省路由区别

    2.3.1       配置上的区别

    普通区域的缺省路由需要在ASBRospf协议视图下进行配置,使用

    default-route-advertise

    命令,可以有always选项。

    [AR46_9-ospf-1]default-route-advertise ?

      always        Always advertise information of the default route

      cost          Metric of imported default route

      route-policy    Specify a route-policy to generate default route

      type          Metric type for the imported default route

      <cr>           

    NSSA区域的缺省路由需要在区域视图下面配置,使用

    nssa default-route-advertiseASBR

    nssa no-summaryABR

    命令。如果在ABR上使用

    nssa default-route-advertise no-summary

    将会同时产生一条第七类缺省路由LSA和一条第三类缺省路由LSA。对于NSSA中的其他路由器来说,将会优选第三类的缺省路由。

    [AR46_9-ospf-1-area-0.0.0.1]nssa ?

      default-route-advertise       Generate default route to NSSA with type 7 LSA

      no-import-route            ABR does not import external routes into the NSSA

      no-summary               Disable sending the summary LSA to an NSSA

      <cr>

    2.3.2       传播区域

        在普通区域ASBR上配置产生的是第五类缺省路由,传播的区域是整个的ospf域;

        NSSA区域配置产生的是第七类或第三类缺省路由,传播的区域是整个NSSA区域。

    2.3.3       发布缺省路由条件

        普通区域:不论是在ABR或是ASBR上配置default-route-advertise命令时,都需要在本路由器上已存在一条其他路由协议产生或静态配置的缺省路由时,才会发布第五类缺省路由。如果使用always关键字,则无论ABRASBR上是否有缺省路由都会向整个ospf域发布缺省路由。

        NSSA区域:如果在ASBR上使用nssa default-route-advertise命令,则同样需要在本路由器上已存在一条其他路由协议产生或静态配置的缺省路由时,才会发布第七类缺省路由;

        如果在ABR上使用nssa default-route-advertise命令,则不论是否存在其他路由协议产生或静态配置的缺省路由,都会发布第七类缺省路由。

        完全NSSA区域的ABR要发布第三类缺省路由,首先必须存在至少一个骨干区域的full邻居。满足存在骨干区域full邻居的条件之后,完全NSSA区域的ABR会自动产生一条第三类的缺省路由。

    2.3.4       路由器对于两类缺省路由的处理

        普通区域:如果ABRASBR自己发布了第五类缺省路由,则它就不会再接受别的路由器发布的第五类缺省路由。在区域的lsdb中,可以存在多个第五类缺省路由LSA。如果普通区域中的路由器自己没有发布第五类缺省路由,则它会从其他路由器发布的多个第五类缺省路由中选择一个最优的加入路由表。

       NSSA区域:NSSA区域中的普通路由器(非ABRASBR)如果同时收到第三类缺省路由和第七类缺省路由,将会优选第三类缺省路由加入路由表。

        ABR发布第三类缺省路由,同时ASBR发布第七类缺省路由时,ABR也会学习ASBR发布的缺省路由。这种情况下NSSA区域有可能出现路由环路。

        另外如果NSSA区域中多台非ABRASBR同时配置nssa default-route-advertise,它们是否会发布第七类缺省路由则依赖于原来路由表中其他路由协议或静态配置的缺省路由的preference值。如果所有ASBR的路由表中缺省路由的preference值都大于150,这时只会有一个ASBR会发布第七类缺省路由,其它的ASBR都学习该ASBR发布的第七类缺省路由,区域的lsdb中只会有一条七类缺省路由的LSA;如果有一部分ASBR的路由表中preference值小于150,那么这些ASBR都会发布第七类缺省路由,并且自己的路由表中的缺省路由不会被其他的ASBR发布的第七类缺省路由更新(路由表优选preference值小的路由加入),其它那些路由表中原来缺省路由preference值大于150ASBR都不会发布第七类缺省路由,它们只接受其它ASBR发布的缺省路由,并且将该路由加入路由表,此时区域的lsdb中可以有多条七类缺省路由的LSA

    2.4        NSSA区域缺省路由配置错误可能产生的路由环路

    由于NSSA区域的ABR在发布第三类缺省路由的同时也会学习其它ASBR发布的第七类缺省路由,因此如果配置不当将会在NSSA区域产生路由环路。

    如图1的组网配置,在ABR上配置NSSA区域为完全NSSA区域,因此ABR会自动在NSSA区域内发布第三类缺省路由;在ASBR上配置一条静态路由指向外部,同时配置nssa default-route-advertise命令发布第七类缺省路由。

    对于RTB来说,它会同时收到ABR发布的第三类缺省路由和ASBR发布的第七类缺省路由,因此它会选择第三类缺省路由加入它的路由表,所以RTB的路由表中缺省路由0.0.0.0的下一跳指向ABR

    对于ABR来说,由于ABR会接收ASBR发布的第七类缺省路由,所以它会把第七类的缺省路由加入自己的路由表中,ABRASBR的下一跳是RTB,因此ABR的路由表中缺省路由0.0.0.0的下一跳指向RTB

    这样在ABRRTB之间就存在一条由缺省路由0.0.0.0产生的环路,导致ABRRTB到外部区域的数据均不能正确转发。

    图1

                       图表 1   完全NSSA区域配置错误产生路由环路的情况

    3           配置实例

    3.1        配置1:完全NSSA区域产生缺省路由环路的情况

    组网图2是会在完全NSSA区域产生缺省路由环路的情况,NE40ABR,其上配置了完全NSSA区域;AR28NSSA区域的ASBR,配置了一条静态缺省路由,并在NSSA区域发布第七类缺省路由。根据前面的分析,将会在NE40AR46_9之间产生缺省路由环路,下面是各台设备上的配置情况。

    图2

                        图表 2   完全NSSA区域产生缺省路由路由环路的组网图

    各台设备的Router ID如下:

    NE80       190.1.101.1

    NE40       190.1.101.2

    AR46_9     190.1.101.9

    AR46_10    190.1.101.10

    AR28       190.1.101.28

    NE80在骨干区域0内,和NE40形成full邻居。

    <NE80_1>dis c c ospf

    #

    ospf

     #

     area 0.0.0.0

      network 101.1.0.0 0.0.0.3

    #

    NE40ABR,它在骨干区域内有full邻居,并配置了完全NSSA区域

    [NE40_2]dis c c ospf

    #

    ospf 1

     area 0.0.0.1

      network 101.1.11.0 0.0.0.3

      nssa no-summary

     #

     area 0.0.0.0

      network 101.1.0.0 0.0.0.3

    #

    NE40上的lsdb如下

    [NE40_2]dis ospf lsdb

                     OSPF Process 1 with Router ID 190.1.101.2

                              Link State Database

                             Area: 0.0.0.0

    Type LinkState ID    AdvRouter        Age Len  Sequence   Metric Where

    Rtr  190.1.101.1     190.1.101.1      635 48   80000008        0 Clist

    Rtr  190.1.101.2     190.1.101.2      152 48   80000016        0 SpfTree

    …………………………………………………………

                             Area: 0.0.0.1

    Type LinkState ID    AdvRouter        Age Len  Sequence   Metric Where

    Rtr  190.1.101.2     190.1.101.2      143 36   80000019        0 SpfTree

    Rtr  190.1.101.9     190.1.101.9      140 48   80000036        0 Clist

    …………………………………………………………

    SNet 0.0.0.0         190.1.101.2      152 28   80000001        1 SumNet List

    NSSA 0.0.0.0         190.1.101.29     149 36   80000003        1 Uninitialized

    可以看到,在区域1lsdb中,包含了如下两条lsa:

    SNet 0.0.0.0         190.1.101.2      152 28   80000001        1 SumNet List

    NSSA 0.0.0.0         190.1.101.29     149 36   80000003        1 Uninitialized

    表明第三类缺省路由lsa和第七类缺省路由lsa都发布到了区域当中,查看路由表:

    [NE40_2]dis ip ro

    Routing Table: public net

    Destination/Mask   Protocol Pre  Cost        Nexthop         Interface

    0.0.0.0/0          O_NSSA   150  1           101.1.11.2      Ethernet6/1/5

    101.1.0.0/30       DIRECT   0    0           101.1.0.2       Pos3/0/0

    101.1.0.1/32       DIRECT   0    0           101.1.0.1       Pos3/0/0

    101.1.0.2/32       DIRECT   0    0           127.0.0.1       InLoopBack0

    ………………………………………………

    NE40的路由表中有一条第七类缺省路由,下一条指向AR46_9

    AR46_9的配置如下:

    [AR46_9]dis c c ospf

    #

    ospf 1

     area 0.0.0.1

      network 101.1.11.0 0.0.0.255

      network 101.1.12.0 0.0.0.255

      nssa

    #

    AR46_9lsdb如下:

    [AR46_9]dis ospf lsdb

                     OSPF Process 1 with Router ID 190.1.101.9

                              Link State Database

                             Area: 0.0.0.1

    Type LinkState ID    AdvRouter        Age Len  Sequence   Metric Where

    Rtr  190.1.101.2     190.1.101.2      203 36   80000019        0 SpfTree

    Rtr  190.1.101.9     190.1.101.9      198 48   80000036        0 SpfTree

    ………………………………………………………………

    SNet 0.0.0.0         190.1.101.2      211 28   80000001        1 Uninitialized

    NSSA 0.0.0.0         190.1.101.29     207 36   80000003        1 Uninitialized

    区域1lsdb都是一致的,查看AR46_9的路由表:

    [AR46_9]dis ip ro

     Routing Table: public net

    Destination/Mask   Protocol Pre  Cost        Nexthop         Interface

    0.0.0.0/0          OSPF     10   2           101.1.11.1      Ethernet5/0/0

    101.1.11.0/30      DIRECT   0    0           101.1.11.2      Ethernet5/0/0

    101.1.11.2/32      DIRECT   0    0           127.0.0.1       InLoopBack0

    ………………………………………………………………

    路由表中有一条NE40发布的第三类缺省路由,指向NE40

    查看AR46_10的路由表,

    [AR46_10]dis ip ro

     Routing Table: public net

    Destination/Mask   Protocol Pre  Cost        Nexthop         Interface

    0.0.0.0/0          OSPF     10   3           101.1.12.1      Atm4/0/0

    101.1.11.0/30      OSPF     10   2           101.1.12.1      Atm4/0/0

    101.1.12.0/30      DIRECT   0    0           101.1.12.2      Atm4/0/0

    ………………………………………………………………

    AR46_10学到的也是NE40发布的第三类缺省路由。

    AR46_10trace一条外部地址:

    [AR46_10]trace 1.2.3.4

     traceroute to  1.2.3.4(1.2.3.4) 30 hops max,40 bytes packet

     1 101.1.12.1 10 ms  0 ms  0 ms

     2 101.1.11.1 0 ms  0 ms  0 ms

     3 101.1.11.2 0 ms  0 ms  0 ms

     4 101.1.11.1 0 ms  0 ms  0 ms

     5 101.1.11.2 0 ms  0 ms  0 ms

     6 101.1.11.1 0 ms  0 ms  0 ms

     7 101.1.11.2 10 ms  0 ms  0 ms

     8 101.1.11.1 0 ms  0 ms  0 ms

     9 101.1.11.2 0 ms  0 ms  0 ms

    10 101.1.11.1 10 ms  0 ms  0 ms

    11 101.1.11.2 0 ms  0 ms  0 ms

    12 101.1.11.1 0 ms  10 ms  0 ms

    13 101.1.11.2 0 ms  0 ms  0 ms

    14 101.1.11.1 0 ms  0 ms  10 ms

    15 101.1.11.2 0 ms  0 ms  0 ms

    16 101.1.11.1 0 ms  0 ms  10 ms

    17 101.1.11.2 0 ms  0 ms  0 ms

    18 101.1.11.1 0 ms  0 ms  10 ms

    19 101.1.11.2 0 ms  0 ms  0 ms

    20 101.1.11.1 0 ms  0 ms  10 ms

    21 101.1.11.2 0 ms  0 ms  0 ms

    22 101.1.11.1 0 ms  0 ms  10 ms

    23 101.1.11.2 0 ms  0 ms  0 ms

    24 101.1.11.1 0 ms  10 ms  0 ms

    25 101.1.11.2 0 ms  0 ms  0 ms

    26 101.1.11.1 0 ms  10 ms  0 ms

    27 101.1.11.2 0 ms  0 ms  0 ms

    28 101.1.11.1 10 ms  0 ms  0 ms

    29 101.1.11.2 0 ms  10 ms  0 ms

    30 101.1.11.1 0 ms  0 ms  0 ms

    可见在NE40AR46_9之间产生了路由环路。

    AR28上的配置如下:

    #

     ip route-static 0.0.0.0 0.0.0.0 LoopBack 0 preference 5

    #

     

    [AR28_29]dis c c ospf

    #

    ospf 1

     area 0.0.0.1

      network 101.10.0.0 0.0.0.3

      nssa default-route-advertise

    #

    AR28上的路由表

    [AR28_29]dis ip ro

     Routing Table: public net

    Destination/Mask   Protocol Pre  Cost        Nexthop         Interface

    0.0.0.0/0          STATIC   5    0           190.1.101.29    LoopBack0

    101.1.11.0/30      OSPF     10   3           101.10.0.1      Ethernet2/0

    101.1.12.0/30      OSPF     10   2           101.10.0.1      Ethernet2/0

    ………………………………………………………………

    3.2        配置3NSSA区域存在多个ASBR发布缺省路由的情况

    组网图4是在NSSA区域存在多个ASBR发布缺省路由的情况。NE40ABRAR46_9,AR46_10,AR28均为ASBRASBR上都配置了一条preference200的静态缺省路由,并都配置default-route-advertise命令。

    下面是主要设备上的配置情况:

    图4

               图表 4   NSSA区域存在多个ASBR发布缺省路由的情况(相同preference值)

    NE40的配置:

    [NE40_2]dis c c ospf

    #

    ospf 1

     area 0.0.0.1

      network 101.1.11.0 0.0.0.255

      nssa

     #

     area 0.0.0.0

      network 101.1.0.0 0.0.0.255

    #

    路由表

    [NE40_2]dis ip ro

     Routing Table: public net

    Destination/Mask   Protocol Pre  Cost        Nexthop         Interface

    0.0.0.0/0          O_NSSA   150  1           101.1.11.2      Ethernet6/1/5

    101.1.0.0/30       DIRECT   0    0           101.1.0.2       Pos3/0/0

    101.1.0.1/32       DIRECT   0    0           101.1.0.1       Pos3/0/0

    ……………………………………………………

    NE40上的lsdb

    [NE40_2]dis ospf lsdb

                     OSPF Process 1 with Router ID 190.1.101.2

                              Link State Database

                             Area: 0.0.0.0

    Type LinkState ID    AdvRouter        Age Len  Sequence   Metric Where

    Rtr  190.1.101.1     190.1.101.1       33 48   80000009        0 Clist

    Rtr  190.1.101.2     190.1.101.2     1320 48   80000044        0 SpfTree

    ……………………………………………………

                             Area: 0.0.0.1

    Type LinkState ID    AdvRouter        Age Len  Sequence   Metric Where

    Rtr  190.1.101.2     190.1.101.2      130 36   80000013        0 SpfTree

    Rtr  190.1.101.9     190.1.101.9       28 48   8000002d        0 SpfTree

    ……………………………………………………

    SNet 101.1.0.0       190.1.101.2     1674 28   80000005        1 Inter List

    NSSA 0.0.0.0        190.1.101.10      87 36   80000003        1 Uninitialized

    可见区域1中只有AR46_10发布的一条七类缺省路由。

    AR46_9上配置:

    #

     ip route-static 0.0.0.0 0.0.0.0 LoopBack 0 preference 200

    #

    [AR46_9]dis c c ospf

    #

    ospf 1

     area 0.0.0.1

      network 101.1.11.0 0.0.0.255

      network 101.1.12.0 0.0.0.255

      nssa default-route-advertise

    #

    路由表:

    [AR46_9]dis ip ro

     Routing Table: public net

    Destination/Mask   Protocol Pre  Cost        Nexthop         Interface

    0.0.0.0/0          O_NSSA   150  1           101.1.12.2      Atm2/0/0

    101.1.0.0/30       OSPF     10   2           101.1.11.1      Ethernet5/0/0

    101.1.11.0/30      DIRECT   0    0           101.1.11.2      Ethernet5/0/0

    ………………………………………………

    lsdb

    [AR46_9]dis ospf lsdb

                     OSPF Process 1 with Router ID 190.1.101.9

                              Link State Database

                             Area: 0.0.0.1

    Type LinkState ID    AdvRouter        Age Len  Sequence   Metric Where

    Rtr  190.1.101.2     190.1.101.2      236 36   80000013        0 SpfTree

    Rtr  190.1.101.9     190.1.101.9      131 48   8000002d        0 SpfTree

    ………………………………………………

    NSSA 0.0.0.0         190.1.101.10     191 36   80000003        1 Uninitialized

    可见AR46_9并没有发布第七类缺省路由,在区域1lsdb中只有AR46_10发布了七类缺省路由,AR46_9AR46_10发布的缺省路由加入了自己的路由表。

    AR46_10配置:

    #

     ip route-static 0.0.0.0 0.0.0.0 LoopBack 0 preference 200

    [AR46_10]dis c c ospf

    #

    ospf 1

     area 0.0.0.1

      network 101.1.12.0 0.0.0.255

      network 101.10.0.0 0.0.0.255

      nssa default-route-advertise

    #

    路由表:

    [AR46_10]dis ip ro

     Routing Table: public net

    Destination/Mask   Protocol Pre  Cost        Nexthop         Interface

    0.0.0.0/0          STATIC   200  0           190.1.101.10    LoopBack0

    101.1.0.0/30       OSPF     10   3           101.1.12.1      Atm4/0/0

    101.1.11.0/30      OSPF     10   2           101.1.12.1      Atm4/0/0

    ………………………………………………

    AR28配置:

    #

     ip route-static 0.0.0.0 0.0.0.0 LoopBack 0 preference 200

    #

    [AR28_29]dis c c ospf

    #

    ospf 1

     area 0.0.0.1

      network 101.10.0.0 0.0.0.255

      nssa default-route-advertise

    #

    路由表:

    [AR28_29]dis ip ro

     Routing Table: public net

    Destination/Mask   Protocol Pre  Cost        Nexthop         Interface

    0.0.0.0/0          O_NSSA   150  1           101.10.0.1      Ethernet2/0

    101.1.0.0/30       OSPF     10   4           101.10.0.1      Ethernet2/0

    101.1.11.0/30      OSPF     10   3           101.10.0.1      Ethernet2/0

    ………………………………………………

    这个试验说明如果所有ASBR的路由表中缺省路由的preference值都大于150,这时只会有一个ASBR会发布第七类缺省路由,其它的ASBR都学习该ASBR发布的第七类缺省路由,区域的lsdb中只会有一条七类缺省路由的LSA

    如果把AR28AR46_10中静态配置的缺省路由preference值改为60,如图5所示,这时NSSA区域中的lsdb将会多条七类缺省路由的lsa

    AR46_9上的路由表:

    [AR46_9]dis ip ro

     Routing Table: public net

    Destination/Mask   Protocol Pre  Cost        Nexthop         Interface

    0.0.0.0/0          O_NSSA   150  1           101.1.12.2      Atm2/0/0

    101.1.0.0/30       OSPF     10   2           101.1.11.1      Ethernet5/0/0

    101.1.11.0/30      DIRECT   0    0           101.1.11.2      Ethernet5/0/0

    ……………………………………………………

    图5

                   图表 5   NSSA区域存在多个ASBR发布缺省路由的情况(不同preference值)

     

    lsdb

    [AR46_9]dis ospf lsdb

                     OSPF Process 1 with Router ID 190.1.101.9

                              Link State Database

                             Area: 0.0.0.1

    Type LinkState ID    AdvRouter        Age Len  Sequence   Metric Where

    Rtr  190.1.101.2     190.1.101.2       28 36   80000014        0 SpfTree

    Rtr  190.1.101.9     190.1.101.9      538 48   8000002d        0 SpfTree

    …………………………………………………………

    NSSA 0.0.0.0         190.1.101.29     222 36   80000002        1 Uninitialized

    NSSA 0.0.0.0         190.1.101.10     194 36   80000002        1 Uninitialized

    AR_10上路由表:

    [AR46_10]dis ip ro

     Routing Table: public net

    Destination/Mask   Protocol Pre  Cost        Nexthop         Interface

    0.0.0.0/0          STATIC   60   0           190.1.101.10    LoopBack0

    101.1.0.0/30       OSPF     10   3           101.1.12.1      Atm4/0/0

    101.1.11.0/30      OSPF     10   2           101.1.12.1      Atm4/0/0

    …………………………………………………………

    AR28上路由表:

    [AR28_29]dis ip ro

     Routing Table: public net

    Destination/Mask   Protocol Pre  Cost        Nexthop         Interface

    0.0.0.0/0          STATIC   60   0           190.1.101.29    LoopBack0

    101.1.0.0/30       OSPF     10   4           101.10.0.1      Ethernet2/0

    101.1.11.0/30      OSPF     10   3           101.10.0.1      Ethernet2/0

    ……………………………………………………

    AR46_10AR28上配置的静态缺省路由的preference值小于150,所以它们都会发布第七类缺省路由;AR46_9上配置的静态缺省路由的preference值大于150,所以它不会发布第七类缺省路由。