OSPF 多区域配置
     ABR:area border router ,区域边界路由器
    -作用 
        实现不同区域之间的互通;
    -定义
        同时连接骨干区域和非骨干区域的路由器;
     OSPF为什么会引入/划分区域?
       划分区域以后,可以带来以下好处:
         1、节省区域中的每一个设备的系统资源
                (大区域被划分以后,小区域中的数据库内容就会变少)
                (同一个区域中的所有的路由器,数据库是完全相同)
         2、增强 OSPF 网络的稳定性
                 (一个不稳定链路造成的不良影响,仅在同一个区域)
                 (中传播,不会影响到其他区域) 

 验证过程中:
   1、有些路由条目反应的并不是对应端口的真实的网络地址;---> 网络类型;
 2、在华为设备中, OSPF 的管理距离(preference)是10;度量值,称之为 cost(开销)

路由协议 -  路由宣告方式
   1、network : 凡是以该方式进入协议的,我们称之为内部路由
                  在 LS 路由协议中,内部路由,有细分为:区域内和区域间;
   2、import-route : 凡是以方式进入协议的,我们称之为外部路由
      (redistribute) 在 LS 协议中,外部路由分为 type 1 和 type 2 ,默认是2

 拓扑配置内容:
   1、OSPF建立邻居;(手动指定了 OSPF RID )
       display ospf peer brief 
    2、验证邻居表和路由表
       display ospf peer brief 
       display ip routing-table
    3、查看和更改 loopback 0 的 网络类型 ;
       display ospf interface loopback 0
       interface loopback 0
          ospf network-type broadcast
    4、查看 OSFP 路由的细分类型
       display ospf routing 
    5、验证 ASE 类型的路由 - 引出了“路由宣告”方式:network / import-route
    6、在 R4 上配置静态路由,然后 import-route,在其他路由器查看;
        R4: 
           ip rout-static 100.1.1.0 255.255.255.0 null 0 
           ospf 1 
              import-route static 
        R3:
            display ip routing-table
            display ospf routing 

  OSPF 普通区域
                 LSA - link state advertisment      

    5类LSA
        -表示的是“外部路由”;
        -传输范围是没有区域限制的,可以传输到OSPF的整个网络;
    OSPF 特殊区域
    -指的是那些不允许 5 类 LSA 存在的区域;

    -分类
        # stub 区域 : 末节区域
             该区域中是不允许存在4、5类LSA的,所以该区域的所有路由器
             都没有外部路由,那么,为了与外部路由进行数据互通,
             所以,stub 区域的 ABR ,向 stub 自动产生了一个默认路由。
             并且属于 OSPF 的 inter-area 。
            -配置命令:
                #需要在该区域的每一个路由器配置;
                #配置如下:
                     ospf 1 
                         area 34
                           stub 
        # totally stub 区域 : 完全末节区域
              该区域中不允许存在3、4、5类LSA(仅保留一个特殊的3类LSA,表示默认路由)
              可以减小 stub 区域中的数据库的大小;
              同时,还可以减少其他区域的不稳定,对该区域造成的不良影响。

        # nssa 区域:not so stub area ,
               该区域中不允许存在 

        # totally nssa 区域: 完全 NSSA 区域                  

=================================================================

LSA的类型:
  1类LSA - router lsa , 
     任何一个 OSPF 路由器,都会在任何一个区域中产生一个1类LSA。
     相当于 路由器在 特定区域中的 自我介绍。
     基于 1 类 LSA 计算出来的路由,我们称之为 intra-area 路由。

 2类LSA - 

3类LSA - summary-network 
     只有ABR才会产生;作用是在不同区域之间实现路由的传递;
     基于 3 类 LSA 计算出来的路由,我们称之为 inter-area 路由。
     3类LSA的产生: 
            ABR 会将非骨干区域中的路由,变成3类LSA的形式,发送到骨干区域

            骨干区域中的 ABR会将在区域0中收到的3类LSA,继续下发给其他的
            非骨干区域;

            ARB还可以将区域0中的路由,变成3类LSA的形式,发送非骨干区域               

            3类LSA在传输过程中,每经过一个 ABR,“通告路由器”都会变化
            一次。
4类LSA - 该LSA仅仅是为了配合5类LSA计算外部路由而存在的;
     是与ASBR在同一个区域中的 ABR 产生的;
     传输过程,与3类LSA类似,每经过一个 ABR,“通告路由器”都会变化一次。

5类LSA - as external lsa  
     只有 ASBR 可以产生,作用是表示外部路由,可以传输到 OSPF 网络
     的任何地方。
     并且在传输过程中,LSA 是不会产生任何变化的。   

    NSSA :no so stub area,
        该区域不允许4、5类LSA,但是是允许外部路由存在的;
        外部路由的表现方式为 - 7 类LSA。
        7类LSA,仅仅能存在于 NSSA 区域 。
        即只有1、2、3、7
    -应用场景 
    -配置:
        在该区域的每一个路由器上,都配置 NSSA 。
        ospf 1 
          area 14
               nssa 
        该区域的 ABR 也会向 NSSA 区域自动的产生一个默认路由,
        并且是通过 7 类 LSA 表示;

        并且该区域的 ABR  会将7类LSA表示的外部路由,转换为5类LSA,
        从而可以让其他的 OSPF 区域(普通)获得该外部路由条目;

        并且在进行7到5的单向转换时,只能让 NSSA 区域中的 RID 大的
        ABR进行最终的转换。

   totally NSSA 
        与NSSA相比,也是少了明细的3类LSA表示的路由;
        即只有1、2、7;
        仅仅通过 NSSA 区域中的 ABR 自动产生的一个 7类LSA表示的
        默认路由,就可以实现 NSSA 区域与 其他区域和外部路由的互通;
        配置命令:
            仅仅需要在 NSSA 区域的所有的 ABR 做,就可以了。
            ospf 1 
                area 14
                   nssa no-summary 

 OSPF 不连续区域解决方案:
  -构造ABR,让该非骨干区域的路由在其他区域中是以内部路由的方式存在;
    #在连接多个非骨干区域的路由器上,与区域0建立一个OSPF邻居关系
     是通过重新链接一个“物理链路”的方式;

    #virtual-link
       通过虚链路建立的OSPF邻居关系,永远是属于区域0的;
       虚链路的建立,是需要依靠底层的真实链路所在的区域来传输
          OSPF报文的(hello等)。所以呢,如果底层的“穿越/传输区域”
          不稳定的话,则会导致上层的 “ 虚链路”不稳定,则影响整个
          网络的骨干区域的稳定性。
          所以,一般不建议使用这种方式。
          如果不得不使用,那么也仅仅是临时的解决方案。
       -配置: 
           在想成为ABR的路由器和传输区域的真实的ABR配置以下命令:
           R1:
              ospf 1 
                  area 14
                    vlink-peer 4.4.4.4 // 此处,必须是对方路由器的RID
           R4:
              ospf 1 
                  area 14 
                    vlink-peer 1.1.1.1 // 一定不能写成对方设备的接口IP

           前提,必须确保:
                  区域14中的 OSPF 邻居关系是完好的;

        display ospf vlink  // 查看本地上通过 虚链路建立的 OSFP 邻居关系 

OSPF虚链路配置
 为什么要使用虚链路和什么时候使用?
     //当非主干区域与主干区域AREA0不连续时必须建立虚链路
     虚链路实验
     需求:在area 0、1、2、3启用ospf协议,使这些区域可以互通
     步骤:
              配置ip地址【略】
                        配置ospf略【不会的看上一章博客】
          配置完ospf以后我们用pc1 ping 192.168.30.2 不通
                        接下来就是虚链路开始上场了
                        在路由器R4和R5进入area 2 配置vlink-peer 4.4.4.4//此处必须是对方路由器的RID
                        //一定不能写成对方的接口IP
                     //前提是必须确保区域2中的ospf邻居关系是完好的
         [R4]ospf
         [R4-ospf-1]area 2
         [R4-ospf-1-area-0.0.0.2]vlink-peer 5.5.5.5
         [R5-ospf-1]area 2
         [R5-ospf-1-area-0.0.0.2]vlink-peer 4.4.4.4

下图为没有配置虚链路


下图为配置完虚链路后

import-route 重分发实验
PC2和PC3为外部网络顾需要使用重分发,不然和域内路由是无法通信的
PC2为直连网络使用import-route direct
PC3为静态网络使用import-route static
R2:
ip route-static 192.168.1.0 255.255.255.0 192.168.10.1
ospf 1 router-id 2.2.2.2 
import-route direct
import-route static

R1:
ip route-static 0.0.0.0 0.0.0.0 192.168.10.2
验证测试:
PC1分别ping PC2和PC3

   实验stub
   把区域1设置成stub区域
  [R2]ospf
  [R2-ospf-1]area 1
 [R2-ospf-1-area-0.0.0.1]stub
 [R3]ospf
  [R3-ospf-1]area 1
  [R3-ospf-1-area-0.0.0.1]stub
   然后用PC1pingPC2和PC3发现不通

 OSPFSTUB区域是一个末梢区域,当一个OSPF区域处于整个自治系统边界时,而又不含其他路由协议,这时就可以配置OSPF Stub区域。
STUB区域虽然为合理的规划网络描绘了美好的前景,但它在实际的组网中又不具备可操作性,未免遗憾。但此时的OSPF协议已经基本成型,不可能再做大的修改。为了弥补缺陷,协议设计者提出了一种新的概念NSSA
NSSA实验:
把刚才配置成stub的区域配置成NSSA
[R2]ospf
 [R2-ospf-1]area 1
 [R2-ospf-1-area-0.0.0.1]nssa
 [R3]ospf
 [R3-ospf-1]area 1
 [R3-ospf-1-area-0.0.0.1]nssa
验证测试: