• 文章搜索:
  • 目录

        • 分享到...

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

    OSPF缺省路由

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

     

    /姜杏春、许亮

    OSPF在不同类型的区域中引入缺省路由,OSPF缺省路由产生和通告的方式是不同的,所以在介绍OSPF缺省路由之前,我们先从OSPF的区域类型展开介绍。

    1           OSPF区域类型

    OSPF根据网络的需求可以定义为下列几种类型:

    l         普通区域

    l         STUB区域

    l         完全STUB区域

    l         NSSA区域

    l         完全NSSA区域

    1.1         普通区域

    当区域被缺省定义时,它被认为是普通区域。普通区域可以是标准区域或骨干区域。标准区域是最通用的区域,它携带区域内路由,区域间路由和外部路由。骨干区域是连接所有其它OSPF区域的中央区域。

    1.2         STUB区域

    STUB区域是一个不允许AS外部LSA在其内部泛洪的区域。STUB区域只可以携带区域内路由和区域间路由。在这些区域中路由器的OSPF数据库和路由表规模以及路由信息传递的数量都会大大减少,为了保证到自治系统外的路由依旧可达,由该区域的ABR生成一条缺省路由0.0.0.0 传播到区域内,所有到自治系统外部的路由都必须通过ABR才能到达。

    1.3         完全STUB区域

    完全STUB区域是区域中最受限的形式,它不仅不允许携带外部路由,甚至连区域间路由也不允许携带,只可以携带区域内路由。在这些区域中路由器的OSPF数据库和路由表规模以及路由信息传递的数量都会大大减少,为了保证到区域外的路由依旧可达,由该区域的ABR生成一条缺省路由0.0.0.0 传播到区域内,所有到该区域外部的路由都必须通过ABR才能到达。

    1.4         NSSA区域

    NSSA区域允许一些外部路由通告到OSPF自治系统内部,而同时保留自治系统的区域部分的STUB区域的特征。假设一个STUB区域中的路由器连了一个运行其他路由进程的自治系统,现在这台路由器就变成了ASBR,所以这个区域就不能再称为STUB区域了。然而如果把这个区域配置成一个NSSA区域,ASBR会产生NSSA外部LSA(类型7),可以泛洪到整个NSSA区域。这些7LSANSSA ABR上会转换成5LSA并且泛洪到整个OSPF域中。

    1.5         完全NSSA区域

    NSSA区域相似,完全NSSA区域允许一些外部路由通告到OSPF自治系统内部,而同时保留自治系统区域部分的完全STUB区域的特征。该区域的ASBR会产生NSSA外部LSA(类型7)在其区域内部泛洪并通过该区域的ABR转换成5LSA在整个OSPF域泛洪。同时,该区域的ABR也会产生一条缺省路由0.0.0.0传播到区域内,所有域间路由都必须通过ABR才能到达。

    2           缺省路由的产生

    2.1         普通区域

    缺省情况下,在普通OSPF区域内的OSPF路由器是不会产生缺省路由的,即使它有缺省路由。

    当网络中缺省路由通过其他路由进程产生时,必须能够将缺省路由通告到整个OSPF域中。这个时候要想产生缺省路由必须在ASBROSPF协议视图下手动配置:

    [Router-ospf-1]default-route-advertise [always]

    使用了该命令将在整个OSPF域中通告缺省路由0.0.0.0,但前提是该ASBR自己已经有缺省路由,否则不会通告缺省路由。

    如果在该命令上加上关键字always的话,则无论ASBR是否有缺省路由都将在整个OSPF域中通告缺省路由0.0.0.0,这将强制缺省路由总是出现在路由表中,所以慎用关键字always

    使用了该命令后将会产生一个链路状态ID0.0.0.0,网络掩码为0.0.0.0ASE LSA5类),并且通告到整个OSPF域中。

    2.2         STUB区域

    由于STUB区域不允许外部LSA在其内部泛洪,所以该区域内的路由器除了ABR外没有自治系统外部路由,如果它们想到自治系统外部时应该怎么办?在STUB区域里的路由器将本区域内ABR作为出口,ABR会产生缺省路由0.0.0.0通告给整个STUB区域内的路由器,这样的话到达自治系统外部的路由可以通过ABR到达。

    配置了STUB区域之后,ABR自动会产生一条Link ID0.0.0.0,网络掩码为0.0.0.0SUMMARY LSA3类),并且通告到整个STUB区域内。

    2.3         完全STUB区域

    完全STUB区域不仅不允许外部LSA在其内部泛洪,连区域间的路由也不允许携带,所以在完全STUB区域里的路由器要想到别的区域或自治系统外部时应该怎么办呢?同样的,在完全STUB区域里的路由器也将本区域内ABR作为出口,ABR会产生缺省路由0.0.0.0通告给整个完全STUB区域内的路由器,这样的话到达本区域外部的路由都通过ABR到达就可以了。

    配置了完全STUB区域之后,ABR自动会产生一条Link ID0.0.0.0,网络掩码为0.0.0.0SUMMARY LSA3类),并且通告到整个完全STUB区域内。

    2.4         NSSA区域

    NSSA区域允许少量外部路由通过本区域的ASBR通告进来,它不允许携带其他区域的外部路由,这样的话到达自治系统外部路由只能通过本区域的ASBR到达,如果该ASBR没有通告该外路由的,则不能到达。

    在只配置了NSSA区域的时候,是不会自动产生缺省路由的。

    如果只希望到达自治系统外部的某些路由通过该区域的ASBR到达,其它外部路由通过其它区域出去的话,有没有办法呢?在NSSA ABR上产生缺省路由0.0.0.0通告给整个NSSA区域内的路由器,这样的话除了某少部分路由通过NSSAASBR到达,其它都可以通过NSSA ABR到达其它区域的ASBR出去。但是这只是一个需求,并不是必须的,所以这条缺省路由不是配置了NSSA区域就会自动产生的,如果想在NSSA ABR上产生缺省路由0.0.0.0,可以在NSSA ABR上手动配置:

    [Router-ospf-1-area-0.0.0.1]nssa default-route-advertise NSSA区域视图)

    使用了该命令后,在NSSA ABR上就会产生一条Link ID0.0.0.0,网络掩码为0.0.0.0NSSA LSA7类),将在整个NSSA区域内通告缺省路由0.0.0.0

    但是如果希望所有的外部路由只通过本区域的NSSA ASBR到达,希望ASBR通告一条缺省路由0.0.0.0,可以在NSSA ASBR上手动配置:

    [Router-ospf-1-area-0.0.0.1]nssa default-route-advertise NSSA区域视图)

    NSSA ASBRNSSA ABR使用相同的命令,与NSSA ABR不同的是NSSA ASBR必须是在自身已经有一条缺省路由的情况下才会产生一条Link ID0.0.0.0,网络掩码为0.0.0.0NSSA LSA7类),在NSSA区域内通告缺省路由0.0.0.0

    因为缺省路由只是在本NSSA区域内泛洪,并没有泛洪到整个OSPF域中,只能实现本NSSA区域内的路由器在找不到路由之后从该NSSA ASBR出去,不能实现整个OSPF域的路由器从这个出口出去。

    2.5         完全NSSA区域

    完全NSSA区域和NSSA区域不同的是,它不允许携带区域间路由,如果要到其他区域的时候应该怎么办呢?同样的,缺省路由又出场了,在该区域ABR上会产生一条缺省路由0.0.0.0,通告给整个完全NSSA区域,所有的域间路由都将NSSA ABR作为出口。

    配置了完全NSSA区域后,就会自动产生一条Link ID0.0.0.0,网络掩码为0.0.0.0SUMMARY LSA3类),在NSSA区域内通告缺省路由0.0.0.0

    NSSA区域ABR上缺省路由产生的方式不同的是,在完全NSSA区域ABR上的缺省路由是配置好区域之后自动产生类型3的缺省LSA,在NSSA区域上ABR的缺省路由是自己可配置的,因为在完全NSSA区域产生的缺省路由是必须的,它起着指导本区域内路由器区域间路由的作用。

    3           配置实例

    3.1         普通区域

    缺省情况下,普通区域不产生缺省路由。图1中为Area1Area2都是普通区域。路由器2是普通区域的ASBR。(路由器名字改成R+数字格式)

                                                                                                                                                                     图1 普通区域实验组网图

    路由器RT2已经有一条指向路由器RT1的静态缺省路由,该缺省路由需要在OSPF域通告,在路由器RT2上配置:

    default-route-advertise

    [RT2]

    #

    ospf 1

     import-route rip

     import-route static

     default-route-advertise

     area 0.0.0.2

      network 2.2.2.2 0.0.0.0

      network 10.23.0.0 0.0.0.255

    #

     ip route-static 0.0.0.0 0.0.0.0 10.12.0.1 preference 60

    #

    观察路由器RT2的链路状态数据库可以发现,路由器RT2产生一条类型5的缺省LSALink ID0.0.0.0

    [RT2]display ospf lsdb

                     OSPF Process 1 with Router ID 2.2.2.2

                              Link State Database

                             Area: 0.0.0.2

    ……………………

                         AS External Database:

    Type LinkState ID         AdvRouter        Age Len  Sequence   Metric

    External  0.0.0.0         2.2.2.2           50 36   80000002        1

    External  6.6.6.6         6.6.6.6          163 36   80000004        1

    ……………………

    External  1.1.1.1         2.2.2.2         1174 36   80000091        1 List

    路由器RT2生成的缺省LSA

    [RT2]display ospf lsdb ase 0.0.0.0

    Type      : External

    LS ID     : 0.0.0.0

    Adv Rtr   : 2.2.2.2

    LS Age    : 606

    Len       : 36

    Options  :  E

    Seq#      : 80000004

    Checksum    : 0xdaec

    Net Mask  : 0.0.0.0

       TOS 0 Metric: 1

       E Type    : 2

       Forwarding Address :0.0.0.0

       Tag: 1        

    查看路由器RT3RT4RT5的链路状态数据库和路由表,验证路由器RT2的缺省路由的泛洪情况。

    路由器RT3的信息:

    <RT3>display ospf lsdb

                    

                         AS External Database:

    Type LinkState ID             AdvRouter        Age Len  Sequence   Metric

    External  0.0.0.0         2.2.2.2          491 36   80000003        1

    External  6.6.6.6         6.6.6.6          332 36   80000005        1

    ……………………

    External  1.1.1.1         2.2.2.2         1352 36   80000092        1

     

    <RT3>display ip routing-table 0.0.0.0

    Destination/Mask   Protocol Pre  Cost        Nexthop         Interface

    0.0.0.0/0           O_ASE    150  1           10.23.0.2       Ethernet1/0

    路由器RT4的信息:

    <RT4>display ospf lsdb

                     OSPF Process 1 with Router ID 4.4.4.4

                              Link State Database

                             Area: 0.0.0.0

    ……………………

                             Area: 0.0.0.1

    ……………………

                         AS External Database:

    Type LinkState ID    AdvRouter        Age Len  Sequence   Metric

    External  0.0.0.0         2.2.2.2         1403 36   80000003        1

    External  6.6.6.6         6.6.6.6         1244 36   80000005        1

    ……………………

    External  1.1.1.1         2.2.2.2          516 36   80000093        1

     

    <RT4>display ip routing-table 0.0.0.0

    Destination/Mask   Protocol Pre  Cost        Nexthop         Interface

    0.0.0.0/0          O_ASE    150  1           10.34.0.3       Ethernet0/1

    路由器RT5的信息:

    <RT5>display ospf lsdb

                     OSPF Process 1 with Router ID 5.5.5.5

                              Link State Database

                             Area: 0.0.0.1

    ……………………

                         AS External Database:

    Type LinkState ID    AdvRouter        Age Len  Sequence   Metric

    External  0.0.0.0         2.2.2.2         1727 36   80000003        1

    ……………………

    External  1.1.1.1         2.2.2.2          831 36   80000093        1

     

    <RT5>display ip routing-table 0.0.0.0

    Destination/Mask   Protocol Pre  Cost        Nexthop         Interface

    0.0.0.0/0          O_ASE    150  1           10.45.0.4       Ethernet2/0

    路由器RT3RT4RT5都有类型5的缺省LSA,通告者是路由器RT2,并产生相应的缺省路由,可以看出,普通区域的ASBR产生的缺省路由0.0.0.0不仅仅在本区域内泛洪,还泛洪到整个OSPF域中去。

                                                                                                                                                                 图2 普通区域缺省路由泛洪

        如果路由器RT2自身没有缺省路由,但是仍希望能够在OSPF域中通告缺省路由0.0.0.0,可以在路由器上RT2配置:

        default-route-advertise always

    3.2         STUB区域和完全STUB区域

    配置一个区域成为STUB区域,必须在本区域的所有路由器上区域视图配置:

    stub

                                                                                                                                                                   图3 STUB区域实验组网图

    如图,配置区域1STUB区域,路由器RT4为区域的ABR

    [RT4]

    #

    ospf 1

     default-route-advertise

     area 0.0.0.1

      network 10.45.0.0 0.0.0.255

      stub

     #

     area 0.0.0.0

      network 4.4.4.4 0.0.0.0

      network 10.34.0.0 0.0.255.255

    #                                              

    观察路由器RT4的链路状态数据库可以发现,路由器RT4在区域1生成一条类型3缺省LSALink ID0.0.0.0

    <RT4>display ospf lsdb

                     OSPF Process 1 with Router ID 4.4.4.4

                              Link State Database

                             Area: 0.0.0.0

    ……………………

                             Area: 0.0.0.1

    Type LinkState ID    AdvRouter        Age Len  Sequence   Metric

    ……………………

    Sum-Net 0.0.0.0         4.4.4.4          238 28   80000002        1

    Sum-Net 2.2.2.2         4.4.4.4          238 28   80000002       12

    ……………………

    Sum-Net 10.34.0.0       4.4.4.4          238 28   80000089       10

                         AS External Database:

    Type LinkState ID    AdvRouter        Age Len  Sequence   Metric

    External  1.1.1.1         2.2.2.2         1483 36   800000e7        1

    路由器RT4成的缺省LSA

    [RT4]display ospf lsdb summary 0.0.0.0

      Area: 0.0.0.1

     

    Type      : Sum-Net

    LS ID     : 0.0.0.0

    Adv Rtr   : 4.4.4.4

    LS Age    : 697

    Len       : 28

    Options   :None

    Seq#      : 80000002

    Checksum    : 0x37f5

    Net Mask  : 0.0.0.0

       TOS 0 Metric: 1           

    查看路由器RT3RT4RT5的链路状态数据库和路由表,验证路由器RT4缺省路由的泛洪情况。

    路由器RT3的信息:

    <RT3>display ospf lsdb

      OSPF Process 1 with Router ID 3.3.3.3

                              Link State Database

                             Area: 0.0.0.0

    Type LinkState ID    AdvRouter        Age Len  Sequence   Metric

    Router  4.4.4.4         4.4.4.4         1231 48   800000b9        0

    Router  3.3.3.3         3.3.3.3            7 48   8000008e        0

    Network  10.34.0.4       4.4.4.4         1231 32   80000003        0

    Sum-Net 2.2.2.2         3.3.3.3         1675 28   80000085        2

    Sum-Net 10.45.0.0       4.4.4.4         1136 28   80000059       10

    Sum-Net 10.56.0.0       4.4.4.4         1136 28   80000002       20

    Sum-Net 5.5.5.5         4.4.4.4         1136 28   80000002       11

    Sum-Net 10.23.0.0       3.3.3.3         1675 28   80000085        1

    Sum-Asbr 2.2.2.2         3.3.3.3         1675 28   80000088        1

                          Area: 0.0.0.2

    ……………………

                         AS External Database:

    Type LinkState ID    AdvRouter        Age Len  Sequence   Metric

    External  1.1.1.1         2.2.2.2          641 36   800000e8        1

    <RT3>display ip routing-table

     Routing Table: public

    Destination/Mask   Protocol Pre  Cost        Nexthop         Interface

    1.1.1.1/32         O_ASE    150  1           10.23.0.2       Ethernet1/0

    2.2.2.2/32         OSPF     10   2           10.23.0.2       Ethernet1/0

    3.3.3.3/32         DIRECT   0    0           127.0.0.1       InLoopBack0

    4.4.4.4/32         OSPF     10   11          10.34.0.4       Ethernet2/0

    5.5.5.5/32         OSPF     10   21          10.34.0.4       Ethernet2/0

    10.23.0.0/24       DIRECT   0    0           10.23.0.3       Ethernet1/0

    10.23.0.3/32       DIRECT   0    0           127.0.0.1       InLoopBack0

    10.34.0.0/24       DIRECT   0    0           10.34.0.3       Ethernet2/0

    10.34.0.3/32       DIRECT   0    0           127.0.0.1       InLoopBack0

    10.45.0.0/24       OSPF     10   20          10.34.0.4       Ethernet2/0

    10.56.0.0/24       OSPF     10   30          10.34.0.4       Ethernet2/0

    127.0.0.0/8        DIRECT   0    0           127.0.0.1       InLoopBack0

    127.0.0.1/32       DIRECT   0    0           127.0.0.1       InLoopBack0

    路由器RT5信息

    <RT5>display ospf lsdb

                     OSPF Process 1 with Router ID 5.5.5.5

                              Link State Database

                             Area: 0.0.0.1

    Type LinkState ID    AdvRouter        Age Len  Sequence   Metric

    ……………………

    Network  10.56.0.5       5.5.5.5         1527 32   80000003        0

    Sum-Net 0.0.0.0         4.4.4.4         1389 28   80000002        1

    Sum-Net 2.2.2.2         4.4.4.4         1389 28   80000002        2

    ……………………

    Sum-Net 10.34.0.0       4.4.4.4         1389 28   80000089        1

    -                   

     

    <RT5>display ip routing-table 0.0.0.0

    Destination/Mask   Protocol Pre  Cost        Nexthop         Interface

    0.0.0.0/0          OSPF     10   2          10.45.0.4       Ethernet2/0

    路由器6信息:

    <RT6>display ospf lsdb

                     OSPF Process 1 with Router ID 6.6.6.6

                              Link State Database

                             Area: 0.0.0.1

    Type LinkState ID    AdvRouter        Age Len  Sequence   Metric

    ……………………

    Network  10.56.0.5       5.5.5.5          346 32   80000004        0

    Sum-Net 0.0.0.0         4.4.4.4          190 28   80000003        1

    Sum-Net 2.2.2.2         4.4.4.4         1389 28   80000002        2

    ……………………

    Sum-Net 10.34.0.0       4.4.4.4          190 28   8000008a       1

                        

     

    <RT6>display ip routing-table 0.0.0.0

    Destination/Mask   Protocol Pre  Cost        Nexthop         Interface

    0.0.0.0/0          OSPF     10   3          10.56.0.5       Ethernet1/0

    从上述信息发现,在STUB区域内的路由器RT5RT6都有类型3的缺省LSA,并产生相应的缺省路由,区域0的路由器RT3没有缺省LSA也没有缺省路由,可以看出,STUB区域产生的缺省路由只泛洪到整个STUB区域。

                                                                                                                                                                图4 STUB区域缺省路由泛洪

    完全STUB区域产生的缺省路由LSA类型、方式和STUB区域一样,并且在STUB区域内泛洪。

    配置完全STUB区域,在完全STUB区域的ABR上配置:

    stub no-summary

    3.3         NSSA区域

    配置一个区域成为NSSA区域,必须在本区域的所有路由器上区域视图配置:

    nssa

                                                                                                                                                                   图5 NSSA区域实验组网图

    观察路由器RT4RT5RT6的链路状态数据库和路由表,并没有产生任何缺省路由。

    要在NSSA区域ABR上产生缺省路由,在区域视图下使用该命令:

    nssa default-route-advertise

        如图,区域1NSSA区域,路由器RT4是其区域中的ABR,现在要在路由器RT4上产生一条缺省路由。

    [RT4]

    ospf 1

     area 0.0.0.1

      network 10.45.0.0 0.0.0.255

      nssa default-route-advertise

     #

     area 0.0.0.0

      network 4.4.4.4 0.0.0.0

      network 10.34.0.0 0.0.255.255           

    观察路由器RT4的链路状态数据库可以发现,路由器RT4在区域1生成一条类型7缺省路由的LSALink ID0.0.0.0

    <RT4>display ospf lsdb

                     OSPF Process 1 with Router ID 4.4.4.4

                              Link State Database

                             Area: 0.0.0.0

    Type LinkState ID    AdvRouter        Age Len  Sequence   Metric

    ……………………

    Sum-Asbr  2.2.2.2         3.3.3.3          570 28   80000097        1

     

                             Area: 0.0.0.1

    Type LinkState ID    AdvRouter        Age Len  Sequence   Metric

    ……………………

    Sum-Net 10.34.0.0       4.4.4.4         1504 28   80000099       1

    NSSA 0.0.0.0         4.4.4.4         1051 36   80000005        1

    ……………………

    NSSA 10.56.0.0       6.6.6.6          282 36   8000000c        1

                         AS External Database:

    Type LinkState ID    AdvRouter        Age Len  Sequence   Metric

    External  10.56.0.0         4.4.4.4           44 36   80000002        1

    ……………………

    External  1.1.1.1         2.2.2.2            7 36   800000f8        1

    路由器RT4成的缺省LSA

    [RT4]display ospf lsdb nssa 0.0.0.0

    Type      : NSSA

    LS ID     : 0.0.0.0

    Adv Rtr   : 4.4.4.4

    LS Age    : 928

    Len       : 36

    Options   :None

    Seq#      : 80000005

    Checksum    : 0xa4fa

    Net Mask  : 0.0.0.0

       TOS 0 Metric: 1

       E Type    : 2

       Forwarding Address :0.0.0.0

       Tag: 1           

    观察路由器RT3RT5RT6的链路状态数据库和路由表,看看路由器RT4缺省路由的泛洪。

    路由器RT3的信息:

    <RT3>display ip routing-table

     Routing Table: public

    Destination/Mask   Protocol Pre  Cost        Nexthop         Interface

    1.1.1.1/32         O_ASE    150  1           10.23.0.2       Ethernet1/0

    2.2.2.2/32         OSPF     10   2           10.23.0.2       Ethernet1/0

    3.3.3.3/32         DIRECT   0    0           127.0.0.1       InLoopBack0

    4.4.4.4/32         OSPF     10   11          10.34.0.4       Ethernet2/0

    5.5.5.5/32         OSPF     10   21          10.34.0.4       Ethernet2/0

    6.0.0.0/24         O_ASE    150  1           10.34.0.4       Ethernet2/0

    6.6.6.6/32         OSPF     10   31          10.34.0.4       Ethernet2/0

    10.6.0.1/32        O_ASE    150  1           10.34.0.4       Ethernet2/0

    10.6.0.2/32        O_ASE    150  1           10.34.0.4       Ethernet2/0

    10.6.0.3/32        O_ASE    150  1           10.34.0.4       Ethernet2/0

    10.23.0.0/24       DIRECT   0    0           10.23.0.3       Ethernet1/0

    10.23.0.3/32       DIRECT   0    0           127.0.0.1       InLoopBack0

    10.34.0.0/24       DIRECT   0    0           10.34.0.3       Ethernet2/0

    10.34.0.3/32       DIRECT   0    0           127.0.0.1       InLoopBack0

    10.45.0.0/24       OSPF     10   20          10.34.0.4       Ethernet2/0

    10.56.0.0/24       OSPF     10   30          10.34.0.4       Ethernet2/0

    127.0.0.0/8        DIRECT   0    0           127.0.0.1       InLoopBack0

    127.0.0.1/32       DIRECT   0    0           127.0.0.1       InLoopBack0

    路由器RT5信息:

    <RT5>display ospf lsdb

                     OSPF Process 1 with Router ID 5.5.5.5

                              Link State Database

                             Area: 0.0.0.1

    Type LinkState ID    AdvRouter        Age Len  Sequence   Metric

    ……………………

    NSSA 0.0.0.0         4.4.4.4          791 36   80000003        1

    ……………………

    NSSA 10.56.0.0       6.6.6.6         1199 36   8000000d        1

     

    <RT5>display ip routing-table

     Routing Table: public

    Destination/Mask   Protocol Pre  Cost        Nexthop         Interface

    0.0.0.0/0          O_NSSA   150  1           10.45.0.4       Ethernet2/0

    路由器RT6信息:

    <RT6>display ospf lsdb

                     OSPF Process 1 with Router ID 6.6.6.6

                              Link State Database

                             Area: 0.0.0.1

    Type LinkState ID    AdvRouter        Age Len  Sequence   Metric

    ……………………

    NSSA 0.0.0.0         4.4.4.4          994 36   80000003        1

    ……………………

    NSSA 10.56.0.0       6.6.6.6         1400 36   8000000d        1

     

     

    <RT6> display ip routing-table 0.0.0.0

    Destination/Mask   Protocol Pre  Cost        Nexthop         Interface

    0.0.0.0/0          O_NSSA   150  2           10.56.0.5       Ethernet1/0

    从上述信息发现,在NSSA区域内的路由器RT5RT6都有类型7的缺省LSA,并产生相应的缺省路由,区域0的路由器RT3没有该条LSA,可以看出,NSSA区域ABR产生的缺省路由只泛洪到整个NSSA区域,类型7的缺省路由LSA并没有在ABR上转换成类型5LSA泛洪到整个OSPF域中。

                                                                                                                                                         图6 NSSA区域ABR缺省路由泛洪

    要在NSSA区域ASBR上产生缺省路由,在区域视图下使用该命令:

    nssa default-route-advertise

    该命令生效的前提条件是NSSA ASBR已经有一条缺省路由。

        如图,区域1NSSA区域,路由器6是其区域中的ASBR,现在要在路由器RT6上产生一条缺省路由。

    [RT6]

    ospf 1

     import-route direct

     area 0.0.0.1

      network 6.6.6.6 0.0.0.0

      network 10.56.0.0 0.0.0.255

      nssa default-route-advertise

    #

     ip route-static 0.0.0.0 0.0.0.0 6.0.0.2 preference 60

    #                                

    观察路由器RT6的链路状态数据库可以发现,路由器RT6在区域1生成一条类型7缺省路由的LSALink ID0.0.0.0

    <RT6>display ospf lsdb

                     OSPF Process 1 with Router ID 6.6.6.6

                              Link State Database

                             Area: 0.0.0.1

    Type LinkState ID    AdvRouter        Age Len  Sequence   Metric

    ……………………

    NSSA 0.0.0.0         6.6.6.6          423 36   80000003        1

    ……………………

    NSSA 10.56.0.0       6.6.6.6         1382 36   8000000e        1

           

    路由器RT6生成的缺省LSA

    [RT6]display ospf lsdb nssa 0.0.0.0

    Type      : NSSA

    LS ID     : 0.0.0.0

    Adv Rtr   : 6.6.6.6

    LS Age    : 753

    Len       : 36

    Options   : None

    Seq#      : 80000003

    Checksum    : 0xeda0

    Net Mask  : 0.0.0.0

       TOS 0 Metric: 1

       E Type    : 2

       Forwarding Address :0.0.0.0

       Tag: 1  

    观察路由器RT3RT4RT5的链路状态数据库和路由表,看看路由器RT6缺省路由的泛洪。

    路由器RT3的信息:

    <RT3>display ip routing-table

     Routing Table: public

    Destination/Mask   Protocol Pre  Cost        Nexthop         Interface

    1.1.1.1/32         O_ASE    150  1           10.23.0.2       Ethernet1/0

    2.2.2.2/32         OSPF     10   2           10.23.0.2       Ethernet1/0

    3.3.3.3/32         DIRECT   0    0           127.0.0.1       InLoopBack0

    4.4.4.4/32         OSPF     10   11          10.34.0.4       Ethernet2/0

    5.5.5.5/32         OSPF     10   21          10.34.0.4       Ethernet2/0

    6.0.0.0/24         O_ASE    150  1           10.34.0.4       Ethernet2/0

    6.6.6.6/32         OSPF     10   31          10.34.0.4       Ethernet2/0

    10.6.0.1/32        O_ASE    150  1           10.34.0.4       Ethernet2/0

    10.6.0.2/32        O_ASE    150  1           10.34.0.4       Ethernet2/0

    10.6.0.3/32        O_ASE    150  1           10.34.0.4       Ethernet2/0

    10.23.0.0/24       DIRECT   0    0           10.23.0.3       Ethernet1/0

    10.23.0.3/32       DIRECT   0    0           127.0.0.1       InLoopBack0

    10.34.0.0/24       DIRECT   0    0           10.34.0.3       Ethernet2/0

    10.34.0.3/32       DIRECT   0    0           127.0.0.1       InLoopBack0

    10.45.0.0/24       OSPF     10   20          10.34.0.4       Ethernet2/0

    10.56.0.0/24       OSPF     10   30          10.34.0.4       Ethernet2/0

    127.0.0.0/8        DIRECT   0    0           127.0.0.1       InLoopBack0

    127.0.0.1/32       DIRECT   0    0           127.0.0.1       InLoopBack0

    路由器RT4信息:

    <RT4>display ospf lsdb

                     OSPF Process 1 with Router ID 4.4.4.4

                              Link State Database

                             Area: 0.0.0.0

    Type LinkState ID    AdvRouter        Age Len  Sequence   Metric

    ……………………

    Sum-Asbr  2.2.2.2         3.3.3.3          430 28   800000bb        1

                             Area: 0.0.0.1

    Type LinkState ID    AdvRouter        Age Len  Sequence   Metric

    Stub 6.6.6.6         6.6.6.6         1434 24   0               0

    ……………………

    Sum-Net 10.34.0.0       4.4.4.4          301 28   80000001       10

    NSSA 0.0.0.0         6.6.6.6          956 36   80000023        1

    ……………………

    NSSA 10.56.0.0       6.6.6.6          174 36   8000002f        1

                         AS External Database:

    Type LinkState ID    AdvRouter        Age Len  Sequence   Metric

    External  6.0.0.0         4.4.4.4           65 36   80000002        1

    ……………………

    External  1.1.1.1         2.2.2.2          539 36   80000001        1

     

    <RT4>display ip routing-table 0.0.0.0

    Destination/Mask   Protocol Pre  Cost        Nexthop         Interface

    0.0.0.0/0          O_NSSA   150  2           10.45.0.5       Ethernet0/0

    路由器5信息:

    <RT5>display ospf lsdb

                     OSPF Process 1 with Router ID 5.5.5.5

                              Link State Database

                             Area: 0.0.0.1

    Type LinkState ID    AdvRouter        Age Len  Sequence   Metric

    ……………………

    Sum-Net 10.34.0.0       4.4.4.4          557 28   80000001       10

    NSSA 0.0.0.0         6.6.6.6         1219 36   80000023        1

    NSSA 6.6.6.6         6.6.6.6         1114 36   80000030        1

    NSSA 6.0.0.0         6.6.6.6          834 36   80000031        1

    NSSA 10.6.0.1        6.6.6.6          771 36   80000031        1

    NSSA 10.6.0.2        6.6.6.6          771 36   80000031        1

    NSSA 10.6.0.3        6.6.6.6          771 36   80000031        1

    NSSA 10.56.0.0       6.6.6.6          428 36   8000002f        1

     

    <RT5>display ip routing-table 0.0.0.0

    Destination/Mask   Protocol Pre  Cost        Nexthop         Interface

    0.0.0.0/0          O_NSSA   150  1           10.56.0.6       Ethernet1/0 

    从上述信息发现,在NSSA区域内的路由器RT4RT5都有类型7的缺省LSA,并产生相应的缺省路由,区域0的路由器RT3没有该条LSA,可以看出,NSSA区域ASBR产生的缺省路由只泛洪到整个NSSA区域,类型7的缺省路由LSA并没有在ABR上转换成类型5LSA泛洪到整个OSPF域中。

                                                                                                                                                        图7 NSSA区域ASBR缺省路由泛洪

    3.4         完全NSSA区域

    配置一个NSSA区域成为完全NSSA区域,在本区域的ABR上区域视图配置:

    nssa no-summary

    NSSA区域不同的是,完全NSSA区域配置后区域内的ABR上会产生一条类型3的缺省路由的LSA,并在NSSA区域内泛洪。

                                                                                                                                                            图8 完全NSSA区域实验组网图

        如图,区域1NSSA区域,路由器RT4是其区域中的ABR,路由器RT6是其中的ASBR

    如图,区域1NSSA区域,路由器RT4是其区域中的ABR,现在要在路由器RT4上产生一条缺省路由。

    [RT4]

    ospf 1

     area 0.0.0.1

      network 10.45.0.0 0.0.0.255

      nssa no-summary

     #

     area 0.0.0.0

      network 4.4.4.4 0.0.0.0

      network 10.34.0.0 0.0.255.255

    观察路由器RT4的链路状态数据库可以发现,路由器RT4在区域1生成一条类型3缺省路由的LSALink ID0.0.0.0

    <RT4>display ospf lsdb

                    OSPF Process 1 with Router ID 4.4.4.4

                              Link State Database

                             Area: 0.0.0.0

    Type LinkState ID    AdvRouter        Age Len  Sequence   Metric

    ……………………

    Sum-Asbr  2.2.2.2         3.3.3.3          267 28   800000c0        1

                             Area: 0.0.0.1

    Type LinkState ID    AdvRouter        Age Len  Sequence   Metric

    ……………………

    Sum-Net 0.0.0.0         4.4.4.4          453 28   80000001        1

    ……………………

    NSSA 10.56.0.0       6.6.6.6         1335 36   80000033        1

                         AS External Database:

    Type LinkState ID    AdvRouter        Age Len  Sequence   Metric

    External  6.0.0.0         4.4.4.4          436 36   80000002        1

    ……………………

    External  1.1.1.1         2.2.2.2           49 36   80000006        1

     

    路由器RT4成的缺省LSA

    <RT4>display ospf lsdb summary 0.0.0.0

    Type      : SumNet

    LS ID     : 0.0.0.0

    Adv Rtr   : 4.4.4.4

    LS Age    : 480

    Len       : 28

    Options   :None

    Seq#      : 80000001

    Checksum    : 0x39f4

    Net Mask  : 0.0.0.0

       TOS 0 Metric: 1

       Tag: 1 

    查看路由器RT3RT5RT6的链路状态数据库和路由表,验证路由器RT4缺省路由的泛洪情况。

    路由器RT3的信息:

    <RT3>display ip routing-table

     Routing Table: public

    Destination/Mask   Protocol Pre  Cost        Nexthop         Interface

    1.1.1.1/32         O_ASE    150  1           10.23.0.2       Ethernet1/0

    2.2.2.2/32         OSPF     10   2           10.23.0.2       Ethernet1/0

    3.3.3.3/32         DIRECT   0    0           127.0.0.1       InLoopBack0

    4.4.4.4/32         OSPF     10   11          10.34.0.4       Ethernet2/0

    5.5.5.5/32         OSPF     10   21          10.34.0.4       Ethernet2/0

    6.0.0.0/24         O_ASE    150  1           10.34.0.4       Ethernet2/0

    6.6.6.6/32         OSPF     10   31          10.34.0.4       Ethernet2/0

    10.6.0.1/32        O_ASE    150  1           10.34.0.4       Ethernet2/0

    10.6.0.2/32        O_ASE    150  1           10.34.0.4       Ethernet2/0

    10.6.0.3/32        O_ASE    150  1           10.34.0.4       Ethernet2/0

    10.23.0.0/24       DIRECT   0    0           10.23.0.3       Ethernet1/0

    10.23.0.3/32       DIRECT   0    0           127.0.0.1       InLoopBack0

    10.34.0.0/24       DIRECT   0    0           10.34.0.3       Ethernet2/0

    10.34.0.3/32       DIRECT   0    0           127.0.0.1       InLoopBack0

    10.45.0.0/24       OSPF     10   20          10.34.0.4       Ethernet2/0

    10.56.0.0/24       OSPF     10   30          10.34.0.4       Ethernet2/0

    127.0.0.0/8        DIRECT   0    0           127.0.0.1       InLoopBack0

    127.0.0.1/32       DIRECT   0    0           127.0.0.1       InLoopBack0

    路由器RT5信息:

    <RT5>display ospf lsdb

                     OSPF Process 1 with Router ID 5.5.5.5

                              Link State Database

                             Area: 0.0.0.1

    Type LinkState ID    AdvRouter        Age Len  Sequence   Metric

    ……………………

    Sum-Net 0.0.0.0         4.4.4.4          208 28   80000002        1

    ……………………

    NSSA 10.56.0.0       6.6.6.6         1623 36   80000033        1

     

    <RT5>display ip routing-table 0.0.0.0

    Destination/Mask   Protocol Pre  Cost        Nexthop         Interface

    0.0.0.0/0          OSPF     10   1          10.45.0.4       Ethernet2/0

    路由器RT6信息:

    <RT6>display ospf lsdb

                     OSPF Process 1 with Router ID 6.6.6.6

                              Link State Database

                             Area: 0.0.0.1

    Type LinkState ID    AdvRouter        Age Len  Sequence   Metric

    ……………………

    Sum-Net 0.0.0.0         4.4.4.4          316 28   80000002        1

    ……………………

    NSSA 10.56.0.0       6.6.6.6         1729 36   80000033        1

            

    <RT6>display ip routing-table 0.0.0.0

    Destination/Mask   Protocol Pre  Cost        Nexthop         Interface

    0.0.0.0/0          OSPF     10   2          10.56.0.5       Ethernet1/0 

    从上述信息发现,在NSSA区域内的路由器RT5RT6都有类型3的缺省LSA,并产生相应的缺省路由,区域0的路由器RT3没有该条LSA,可以看出,完全NSSA区域ABR产生的缺省路由只泛洪到整个NSSA区域。

                                                                                                                                                         图9 完全NSSA区域缺省路由泛洪

    4           FAQ

    4.1         为什么有的Stub区的ABR没有正确产生缺省路由?

    A:在某些特定组网下(主要是Area 0只采用loopback接口,没有形成邻居),STUB区的ABR不会产生缺省路由。对于区域边界路由器(ABR)来说,一旦失去跟骨干区域的连接(骨干区域没有FULL邻居),那么就要停止发布缺省路由。这主要用于解决当区域存在多个出口的ABR时,此时可以通过别的ABR出口继续转发报文。对于完全NSSA区的ABR设备在产生3类缺省路由时,也是依据同样的原则来判断。

    4.2         在一个Stub区域,有两个ABR,它们产生的缺省路由,不会让它们互相指向,形成路由环路吗?

    A:不会形成环路的。当一个STUB区域中的ABR接收到同一区域ABR发出的默认路由LSA的时候,它只会将其放到LSA Database里,而不会计算出路由,这样就避免了两个ABR缺省路由相互指向形成环路。

    如果OSPF路由器已经发布了缺省路由LSA,那么不再学习其它路由器发布的相同类型缺省路由(即路由计算时不再计算其它路由器发布的相同类型缺省路由LSA)。

    原因主要有以下两点:

    本路由器自身已经具有对外的出口,所以不需要学习其它路由器发布的缺省路由。

    如果学习其它路由器发布的缺省路由,就会形成缺省路由的下一跳相互指向,造成路由环路。

    4.3         在一个NSSA区域,有两个ABR,它们都会将type 7 LSA转换成type 5 LSA吗?

    A:不会的。按RFC 3101OSPF NSSA Option的规定,在NSSA区域有多个ABR时,只有最大的Router IDABR负责将type 7 LSA转换为type 5 LSA

    如果OSPF路由器已经发布了缺省路由LSA,那么不再学习其它路由器发布的相同类型缺省路由(即路由计算时不再计算其它路由器发布的相同类型缺省路由LSA)。

    5           小结

    OSPF缺省路由发布的方式取决于引入缺省路由的区域类型,主要分普通区域、STUB区域和完全STUB区域、NSSA区域和完全NSSA区域。

    OSPF缺省路由发布的方法:

    l         配置特定的区域自动生成,STUB/Totally STUB/Totally NSSA

    l         配置生成缺省路由的命令:普通区域 default-route-advertise  [ always ]

    NSSA区域 nssa default-route-advertise

    OSPF缺省路由通常应用于下面两种情况:区域边界路由器(ABR)发布和自治系统边界路由器(ASBR)发布。

    产生条件

     

    区域类型

    自动产生

    配置

    ABR

    ASBR

    和骨干区有FULL邻居

    已有缺省路由

    产生LSA类型

    泛洪范围

    普通区域

     

    default-route-advertise

     

     

    类型5

    整个OSPF

    普通区域

     

    default-route-advertise

    always

     

     

     

    类型5

    整个OSPF

    Stub区域

     

     

     

    类型3

    STUB

    完全STUB区域

     

     

     

    类型3

    STUB

    NSSA区域

     

    nssa default-route-advertise

     

     

     

    类型7

    NSSA

    NSSA区域

     

    nssa default-route-advertise

     

     

    类型7

    NSSA

    完全NSSA区域

     

     

     

    类型3

    NSSA

                                                                                                                                                                   表1 OSPF缺省路由总结表