OSPF 多区域配置

OSPF (SPF)
属于链路状态路由选择协议,并且是公有标准,理论上是没有网络规模限制的;支持网络的层次化设计,可以将网络分为2层。
层,是通过“区域”的概念来进行区分的。
划分区域以后,可以带来以下好处:
1、节省区域中的每一个设备的系统资源
(大区域被划分以后,小区域中的数据库内容就会变少)
(同一个区域中的所有的路由器,数据库是完全相同)
2、增强 OSPF 网络的稳定性
(一个不稳定链路造成的不良影响,仅在同一个区域)
(中传播,不会影响到其他区域)
-骨干区域
-非骨干区域
所有的非骨干必须与骨干区域直接相连,才能正常通讯。
路由器因为区域的存在,也分为不同的类型:
-骨干路由器
所有链路都属于骨干区域的路由器;
-非骨干路由器
所有链路都属于非骨干区域的路由器;
-区域边界路由器(*) 【ABR:area border router 】
必须同时连接着骨干区域和非骨干区域;
-自治系统边界路由器【ASBR:】
具有引入外部路由能力的路由器,叫做OSPF的 ASBR。
OSPF 多区域配置

-工作原理
1、建立邻居表
仅仅使用 hello 报文。
OSPF路由,仅仅在 OSPF 邻居路由器之间进行交换;

   邻居状态:
     down
             init
             2way
             Exstart(exchange start)
             exchange
             loading
             full           

  2、同步数据库 
          LSA-link state advertisement , 链路状态通告;

  3、计算路由表(通过SPF算法,对LSA进行计算,从而获得最终的路由条目)

 -OSPF报文:
hello:发现、维护邻居关系;
    dbd:database description ,数据库描述报文;
    lsu:link state update ,链路状态更新报文;
    lsr:link state request ,链路状态请求报文;
    lsack:link state ack ,链路状态确认报文;     

-OSPF相关命令:

  0、建立测试端口:
        [R1]interface loopback 0 
        [R1-loopback0]ip address 10.10.1.1 255.255.255.0            

        [R2]interface loopback 0 
        [R2-loopback0]ip address 10.10.2.2 255.255.255.0  

  1、配置OSPF
    [R1]ospf [process-id]   // 不写的话,默认是1;
        [R1-ospf-1] area 0  // 进入区域0;
        [R1-ospf-1-area-0.0.0.0] network 192.168.12.1 0.0.0.0 
                                   //精确宣告 192.168.12.1所在的链路     
                            gi0/0/0的IP地址为192.168.12.1;
                            那么 gi0/0/0,则启用 OSPF 1 :
                            #可以发送 ospf 1 的包;
                            #可以接收 ospf 1 的包;
                            #可以将该端口的IP地址中的
                         网络部分,放入 OSPF 1 的包;
                        中,传输出去,给邻接路由器。
  2、验证
      display ospf [1] peer brief //查看OSPF邻居表的简要信息;
       display ospf [1] peer   //查看OSPF邻居表的详细信息;
       display ospf [1] brief //查看本地设备上的 OSPF 1 的相关信息;
       display ip routing-table //查看路由表中的OSPF路由 
                                     (确定路由的类型和属性)

OSPF邻居建立影响因素:
1、确保最小范围内链路是互相 Ping通 的;(交换)
R1:Ping R2 ;
R2:Ping R1 ;

2、确保设备端口可以发送报文;
#network要宣告正确的网络范围;
#确保接收OSPF报文的端口不能是“被动端口- silent-interface”
(华为设备上的 OSPF 的 silent-interface , 既不能发,也不能收包)
ospf 1
silent-interface gi0/0/0

3、确保设备端口可以接收报文;
#network要宣告正确的网络范围;
#确保 ACL 是允许 OSPF 流量的;
#确保接收OSPF报文的端口不能是“被动端口- silent-interface”
(华为设备上的 OSPF 的 silent-interface , 既不能发,也不能收包)
R1:
acl name Deny-OSPF advance
rule 5 deny ospf source 192.168.12.2 0.0.0.0 destination 224.0.0.5 0.0.0.0
interface gi0/0/0
traffic-filter inbound acl name Deny-OSPF

4、确保 OSPF Hello 包中的关键参数一致;【比较hello中的参数】

直接建立邻居关系的路由器,RID一定不能相同;

        [R1]ospf 1 router-id  x.x.x.x // 指定 OSPF 1 使用的 RID 
          <R1> reset ospf 1 process // 重启 OSPF 1,才能生效;
   #区域ID必须相同;
       [R1]ospf 1
          [R1-OSPF-1]area 0 
          [R1-OSPF-1-area-0.0.0.0]undo network 192.168.12.1 0.0.0.0
          [R1-OSPF-1]undo area 0 
          [R1-OSPF-1]area 1
          [R1-OSPF-1-area-1]network 192.168.12.1 0.0.0.0 
   #认证必须成功;
   #子网掩码必须得相同(特殊情况下)    
   #hello 时间,必须相同;
         [R1]interface gi0/0/0 
             [R1-gi0/0/0]ospf timer hello 20 // 更改hello时,dead跟随变化之间倍数关系是 4 倍; 
   #dead  时间,也必须相同;
         [R1]interface gi0/0/0 
             [R1-gi0/0/0]ospf timer dead 41 //更改dead时,hello不变;
   #特殊标记位,必须完全相同;
   #DR优先级,不能全为0;(特殊情况下)
         [R1]interface gi0/0/0 
             [R1-gi0/0/0]ospf dr-priority 0
   #3层MTU,必须完全相同;

验证命令:
display ospf peer brief //查看 OSPF 的邻居表
display ospf interface gi0/0/0 //查看OSPF的接口;

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

    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 区域中的数据库的大小;
                        同时,还可以减少其他区域的不稳定,对该区域造成的不良影响。
                    #需要在该区域的边界路由器配置;
                    #配置如下:
                     ospf 1 
                          area 34
                            stub  no-summary

        # nssa 区域:not so stub area ,
               允许接受以类型7的LSA发送的外部路由信息,并且ABR要负责把类型7的LSA转换成类型5的LSA。 
                                 ABR不会自动向NSSA区域内发送一条指向自己的默认路由,
                                  #需要在该区域的每一个路由器配置;
                #配置如下:
                     ospf 1 
                          area 34
                            nssa 

        # totally nssa 区域: 完全 NSSA 区域 
                                过滤3,4,5类lsa,ABR会产生缺省的3类lsa,该区域能引入外部路由
                                7类LSA在这里还是7类LSA,出本area后就变成5类而传播了
                                #需要在该区域的边界路由器配置;
                                #配置如下:
                                     ospf 1 
                                            area 34
                                            stub  no-summary

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 是不会产生任何变化的。

猜你喜欢

转载自blog.51cto.com/13211071/2373925