OSPF详解

一,OSPF基础

1.1基础术语

1.OSPF

  基于IP协议封装,SPF算法的链路状态路由协议OSPF(Open Shortest Path Firest),内部网关协议,协议号89。通过交互LSA(Link State Advertisement链路状态通告),同步LSDB(Link State DataBase链路状态数据库)计算得出最优路径放入路由表中。

2.Router-ID

  Router-ID由32位无符号整数组成,用来标识一台运行OSPF协议的路由器,设备的Router-ID不能相同。

  Router-ID的配置方式(按优先级排序):

    ①手工配置(ospf router-id xxx.xxx.xxx.xxx)

    ②loopback接口中最大的IP地址

    ③物理接口中最大的IP地址

    ④以上配置都为空时,Router-ID为0.0.0.0

[Huawei]ospf router-id  ?
  IP_ADDR<X.X.X.X>  OSPF Private router ID value
  auto-recover      Automatic modification of conflicted router IDs

3.区域 area

  area由四个点分十进制组成,用来标识一个OSPF区域。从逻辑上将设备分为不同的组,每个组由area来表示。多区域时,必须和骨干区域连接。

[Huawei-ospf-1]area ?
  INTEGER<0-4294967295>  OSPF area ID (Integer)
  IP_ADDR<X.X.X.X>       OSPF area ID (IP address)

4.度量值

  累计cost为开销值,计算公式为: 参考带宽100M/接口实际带宽 。修改cost有两种方式:①接口cost ② 参考带宽。 图1-1 及粘贴代码中所示,AR2到到10.1.14.0/24的累计cost为2,为AR2的的G0/0/0口的cost + AR1的G0/0/1口的cost

图 1-1

[R2]display  ospf routing  
         OSPF Process 1 with Router ID 2.2.2.2
                  Routing Tables 
 Routing for Network 
 Destination        Cost  Type       NextHop         AdvRouter       Area
 10.1.12.0/24       1     Transit    10.1.12.2       2.2.2.2         0.0.0.0
 10.1.14.0/24       2     Stub       10.1.12.1       1.1.1.1         0.0.0.0
 Total Nets: 2  
 Intra Area: 2  Inter Area: 0  ASE: 0  NSSA: 0 

1.2OSPF三大表

1.OSPF邻居邻接表

[R2]display  ospf peer  brief  

         OSPF Process 1 with Router ID 2.2.2.2
                  Peer Statistic Information
 ----------------------------------------------------------------------------
 Area Id          Interface                        Neighbor id      State    
 0.0.0.0          GigabitEthernet0/0/0             1.1.1.1          Full        
 ----------------------------------------------------------------------------
[R2]display  ospf peer    //查看OSPF邻居

         OSPF Process 1 with Router ID 2.2.2.2  //本地自己的Router ID
                 Neighbors 

 Area 0.0.0.0 interface 10.1.12.2(GigabitEthernet0/0/0)'s neighbors
 Router ID: 1.1.1.1 //邻居的router-id    Address: 10.1.12.1   //邻居的接口IP     
   State: Full //OSPF的状态 Mode:Nbr is  Slave  Priority: 1   //接口优先级用于选举DR和BDR
   DR: 10.1.12.1  BDR: 10.1.12.2  MTU: 0    //MTU值 最大传输单元,缺省为1500,华为缺省是不开启MTU检测
   Dead timer due in 39  sec   //死亡时间(失效时间)
   Retrans timer interval: 5  //LSA重传时间
   Neighbor is up for 00:05:21   //邻居UP  
   Authentication Sequence: [ 0 ]  //认证字段

2.OSPF LSDB表

  用来存放其他路由器的LSA。

1.Type:LSA的类型
2.LinkState ID:描述拓扑信息或者路由信息
3.AdvRouter:通告路由器(谁通告的的路由器)
4.Age:LSA的存放时间
5.Len:长度,以字节为单位
6.Sequence:OSPF LSA的序列号,当拓扑发生变化后+1,十六进制
7.Metric:开销
[R2]display ospf lsdb  

         OSPF Process 1 with Router ID 2.2.2.2
                 Link State Database 

                         Area: 0.0.0.0
 Type      LinkState ID    AdvRouter          Age  Len   Sequence   Metric
 Router    2.2.2.2         2.2.2.2           1175  36    80000003       1
 Router    1.1.1.1         1.1.1.1           1175  48    80000008       1
 Network   10.1.12.1       1.1.1.1           1175  32    80000002       0

3.OSPF 路由表

[R2]display  ospf routing 
         OSPF Process 1 with Router ID 2.2.2.2
                  Routing Tables 
 Routing for Network 
 Destination        Cost  Type       NextHop         AdvRouter       Area
 10.1.12.0/24       1     Transit    10.1.12.2       2.2.2.2         0.0.0.0
 10.1.14.0/24       2     Stub       10.1.12.1       1.1.1.1         0.0.0.0
 Total Nets: 2  
 Intra Area: 2  Inter Area: 0  ASE: 0  NSSA: 0 

二,OSPF报文

  组成:OSPF头部(通用头部)和具体5个消息报文。

2.1 OSPF报头

  如图2-1和图2-2所示,头部由IP报头封装,协议号为89。以及图

  图 2-1

 

 图 2-2

 图 2-3

2.2Hello报文

  发送目的组播224.0.0.5,Hello报文的作用主要有三个:发现,建立(hello时间,dead时间,掩码,区域,RID等)和维护邻居。Hello报文的组成如图 2-4 和图 2-5 所示。注意:未接收到对端存活的邻居的Hello包时,Neighbour字段为空。

 图 2-4

图 2-5 之1

  options:E-bit表示是否接收外部路由信息,必须和相关区域的配置保持一致。

 图 2-5 之2

 

三,OSPF邻居状态机

①down:没有发送Hello包

②attempt:必须是在NBMA网络才存在

③init:初始,收到Hello包

④two-way:双向通信,收到的Hello包包含自己的Rotuer-ID。

------------------------------选举DR/BDR路由器---------------------------

⑤exstart:预启动

⑥exchange:交换

⑦loading:加载

⑧full:完成邻接关系

3.1邻居关系建立过程

  RTA发送给Hello包,RTB也发送Hello包,同时接收到对端Hello包,状态从down转为init。RTA也接收到对端Hello包后,从down转为Init。两端Hello包中的Neighbour字段都为对端的Router-ID时,从Init状态转为2-way,邻居关系建立完成。如图 3-1所示。

 
  图 3-1

3.2邻居关系建立条件

OSPF通用头部需要具备以下条件

3.2.1.版本要一致

3.2.2.Router-ID不能相同

如果OSPF区域存在Router-ID冲突,则系统可以重新选择Router ID。 

情况一,直连的RID相同(一定不能)

直连的RID相同,无法修复。

报错:

Jan 28 2023 16:22:55-08:00 R5 %%01OSPF/4/CONFLICT_ROUTERID_INTF(l)[2]:OSPF Router id conflict is detected on interface. (ProcessId=256, RouterId=1.1.1.1, AreaId=0.0.0.0, InterfaceName=GigabitEthernet0/0/0,  IpAddr=15.1.1.15, PacketSrcIp=1.1.1.15) 
 17    : Router id confusionq #通过display ospf error

情况二,非直连RID相同(能建立),但路由不稳定。

针对以上情况,华为存在OSPF自动修改机制:命令如下:

  #undo ospf router-id auto-recover disable----------默认开启

情况三,不同区域,非直连RID相同

可以建立邻居,也可以邻接,路由有问题。

3.2.3.区域ID相同

3.2.4.掩码一致

   广播类型需要检查掩码一致性,而P2P类型不需要检查掩码的一致性。NBMA类型需要检查掩码的一致性。P2MP不一定要检查掩码的一致性,默认P2MP需要检查掩码一致性,但可以手工配置忽略(配置方式:在接口下ospf p2mp-mask-ignore)。

3.2.5.Hello时间,Dead时间一致

①情况一,修改Hello时间,dead时间也会变为Hello的4倍。如下所示,将G0/0/0接口的Hello时间修改为20,Dead时间也自动变为20的四倍80,并且邻居关系状态为down。

[R2]display  ospf interface  GigabitEthernet  0/0/0

         OSPF Process 1 with Router ID 2.2.2.2
                 Interfaces 
 Interface: 10.1.12.2 (GigaitEthernet0/0/0)
 Cost: 1       State: BDR       Type: Broadcast    MTU: 1500  
 Priority: 1
 Designated Router: 10.1.12.1
 Backup Designated Router: 10.1.12.2
 Timers: Hello 10 , Dead 40 , Poll  120 , Retransmit 5 , Transmit Delay 1 
[R2]int g0/0/0
[R2-GigabitEthernet0/0/0]ospf timer hello 20
[R2-GigabitEthernet0/0/0]dis ospf interface g0/0/0
         OSPF Process 1 with Router ID 2.2.2.2
                 Interfaces 
 Interface: 10.1.12.2 (GigabitEthernet0/0/0)
 Cost: 1       State: BDR       Type: Broadcast    MTU: 1500  
 Priority: 1
 Designated Router: 10.1.12.1
 Backup Designated Router: 10.1.12.2
 Timers: Hello 20 , Dead 80 , Poll  120 , Retransmit 5 , Transmit Delay 1 
Jan 19 2023 16:51:05-08:00 R2 %%01OSPF/3/NBR_CHG_DOWN(l)[7]:Neighbor event:neighbor state changed to Down. (ProcessId=256, NeighborAddress=1.1.1.1, NeighborEvent=Inactiv
ityTimer, NeighborPreviousState=Full, NeighborCurrentState=Down)

②情况二,Dead时间修改,Hello时间会自动变更。如下所示,Dead时间改变为80后,Hello时间不会自动改变。同时邻居关系变为Down。

[R2-GigabitEthernet0/0/0]dis ospf interface g0/0/0 

         OSPF Process 1 with Router ID 2.2.2.2
                 Interfaces 


 Interface: 10.1.12.2 (GigabitEthernet0/0/0)
 Cost: 1       State: DR        Type: Broadcast    MTU: 1500  
 Priority: 1
 Designated Router: 10.1.12.2
 Backup Designated Router: 10.1.12.1
 Timers: Hello 10 , Dead 80 , Poll  120 , Retransmit 5 , Transmit Delay 1 s

③情况三,只要Hello,Dead时间修改相同,邻居关系即可建立。

[R1-GigabitEthernet0/0/0]ospf timer dead  80
[R1-GigabitEthernet0/0/0]dis ospf p b

         OSPF Process 1 with Router ID 1.1.1.1
                  Peer Statistic Information
 ----------------------------------------------------------------------------
 Area Id          Interface                        Neighbor id      State    
 0.0.0.0          GigabitEthernet0/0/0             2.2.2.2          Full        
 ----------------------------------------------------------------------------

3.2.6.Option(特殊区域标志)要一致

3.2.7.认证要相同

[R1-GigabitEthernet0/0/0]ospf authentication-mode  simple   cipher  Huawei[R1-GigabitEthernet0/0/0]dis this
[V200R003C00]
#
interface GigabitEthernet0/0/0
 ip address 10.1.12.1 255.255.255.0 
 ospf authentication-mode simple cipher %$%$9(5r4KZ_`2-N{%8kU60V1bi6%$%$ 
 ospf enable 1 area 0.0.0.0
#
return
[R1]display ospf peer

         OSPF Process 1 with Router ID 1.1.1.1

3.3 DR/BDR选举

   作用是减少邻接的个数,邻接的配置量减少。抑制重复的LSA,节约带宽和性能。

  选举时,优先比较优先级(默认为1,范围是0~255)越大越优先,优先级为0 时,不参加选举(如果所有设备的优先级都为0则都停留在邻居2-way状态)。优先级相同时,比较Router-ID。选举过程发生的2-way至exstart之间

 如果DR和BDR已经选举成功时,此时存在更高优先级的设备或者更大Router-ID的设备也无法成为DR或BDR。网络的健壮性和稳定性。

  根据最优路径指定适合的DR和BDR。DRother只能与DR和BDR建立邻接关系。DRother之间是邻居关系。

3.4网络类型的影响

修改网络类型命令:

interface  xxx
ospf network-type   xxx

1.P2MP

支持组播和广播,组播224.0.0.5

不需要选举DR和BDR

Hello 30,Dead 120

[R5-Serial4/0/0]dis this
[V200R003C00]
#
interface Serial4/0/0
 link-protocol ppp
 ip address 10.1.25.5 255.255.255.0 
 ospf network-type p2mp
 ospf enable 1 area 0.0.0.0
#
return
[R5-Serial4/0/0]display ospf interface s4/0/0
         OSPF Process 1 with Router ID 5.5.5.5
                 Interfaces 
 Interface: 10.1.25.5 (Serial4/0/0)
 Cost: 48      State: P-2-P     Type: P2MP      MTU: 1500  
 Timers: Hello 30 , Dead 120 , Poll  120 , Retransmit 5 , Transmit Delay 1

2.NBMA

不支持组播和广播,只能使用单播

需要选举DR和BDR

Hello 30,Dead 120

[R2-ospf-1]peer  10.1.25.5
Jan 22 2023 09:46:25-08:00 R2 %%01OSPF/4/NBR_CHANGE_E(l)[110]:Neighbor changes event: neighbor status changed. (ProcessId=256, NeighborAddress=5.25.1.10, NeighborEvent=Start, NeighborPreviousState=Down, NeighborCurrentState=Attempt) 
[R5-ospf-1]peer  10.1.25.2
[R5-ospf-1]display  ospf peer  brief  

         OSPF Process 1 with Router ID 5.5.5.5
                  Peer Statistic Information
 ----------------------------------------------------------------------------
 Area Id          Interface                        Neighbor id      State    
 0.0.0.0          Serial4/0/0                      2.2.2.2          Full        
 ----------------------------------------------------------------------------

 3.两端网络类型不同的情况

①P2P+Boradcat

配置:

[R2-Serial4/0/0]dis thisinterface Serial4/0/0
 link-protocol ppp
 ip address 10.1.25.2 255.255.255.0 
 ospf enable 1 area 0.0.0.0
[R5-Serial4/0/0]dis thisinterface Serial4/0/0
 link-protocol ppp
 ip address 10.1.25.5 255.255.255.0 
 ospf network-type broadcast
 ospf enable 1 area 0.0.0.0

邻居建立,但是没有选举出DR和BDR,因为P2P不选举DR和BDR。路由表中没有学习到路由。

[R5]display ospf peer      
         OSPF Process 1 with Router ID 5.5.5.5
                 Neighbors 
 Area 0.0.0.0 interface 10.1.25.5(Serial4/0/0)'s neighbors
 Router ID: 2.2.2.2          Address: 10.1.25.2       
   State: Full  Mode:Nbr is  Slave  Priority: 1
   DR: None   BDR: None   MTU: 0    
   Dead timer due in 36  sec 
   Retrans timer interval: 5 
   Neighbor is up for 00:04:36     
   Authentication Sequence: [ 0 ] 

[R2]display  ospf peer  
         OSPF Process 1 with Router ID 2.2.2.2
                 Neighbors 
 Area 0.0.0.0 interface 10.1.25.2(Serial4/0/0)'s neighbors
 Router ID: 5.5.5.5          Address: 10.1.25.5       
   State: Full  Mode:Nbr is  Master  Priority: 1
   DR: None   BDR: None   MTU: 0    
   Dead timer due in 36  sec 
   Retrans timer interval: 5 
   Neighbor is up for 00:01:36     
   Authentication Sequence: [ 0 ] 

②P2P +P2MP

由于P2P和P2MP的Hello时间和Dead时间不同,配置网络类型后,将时间修改相同。

[R2]display ospf interface  s4/0/0
         OSPF Process 1 with Router ID 2.2.2.2
                 Interfaces 
 Interface: 10.1.25.2 (Serial4/0/0) --> 10.1.25.5
 Cost: 48      State: P-2-P     Type: P2P       MTU: 1500  
 Timers: Hello 10 , Dead 40 , Poll  120 , Retransmit 5 , Transmit Delay 1 
[R5]display  ospf interface  Serial 4/0/0
         OSPF Process 1 with Router ID 5.5.5.5
                 Interfaces 
 Interface: 10.1.25.5 (Serial4/0/0)
 Cost: 48      State: P-2-P     Type: P2MP      MTU: 1500  
 Timers: Hello 10 , Dead 40 , Poll  120 , Retransmit 5 , Transmit Delay 1

邻居建立并学习到OSPF路由

[R5]display  ospf peer  brief  
         OSPF Process 1 with Router ID 5.5.5.5
                  Peer Statistic Information
 ----------------------------------------------------------------------------
 Area Id          Interface                        Neighbor id      State    
 0.0.0.0          Serial4/0/0                      2.2.2.2          Full        
 ----------------------------------------------------------------------------
[R5]display  ospf routing

         OSPF Process 1 with Router ID 5.5.5.5
                  Routing Tables 
 Routing for Network 
 Destination        Cost  Type       NextHop         AdvRouter       Area
 5.5.5.5/32         0     Stub       5.5.5.5         5.5.5.5         0.0.0.0
 10.1.25.5/32       0     Stub       10.1.25.5       5.5.5.5         0.0.0.0
 2.2.2.2/32         48    Stub       10.1.25.2       2.2.2.2         0.0.0.0
 10.1.1.0/24        49    Transit    10.1.25.2       3.3.3.3         0.0.0.0
 10.1.25.0/24       96    Stub       10.1.25.2       2.2.2.2         0.0.0.0
 Total Nets: 5  
 Intra Area: 5  Inter Area: 0  ASE: 0  NSSA: 0 

 3.5邻接建立过程

 

 

 

 exstart发送DD报文标志邻接开始,RTA和RTB都发送第一个DD报文。数据库描述的I位表示这是第一个报文,M位表示接下来还有报文,MS位表示自己的Master。

在比较了Router-ID后,选择Router-ID大的2.2.2.2,确定了DD序列号。同时状态切换至exchange状态:

exchange也是交互DD报文。loading状态开始交互LSR,LSU,LSACK报文。full状态表示邻接完成。

3.6邻接建立条件

1.MTU一致,华为默认不比较MTU值。默认MTU=0级。

2.两边路由器优先级不可以同时为0。优先级为0不参与DR和BDR选举,卡在two-way状态。

3.链路请求列表或者链路重传列表不为空(loading)

 

3.7OSPF邻接表

1.OSPF邻接表简要信息

[R2]display  ospf peer  brief    #查看OSPF邻接表摘要
         OSPF Process 1 with Router ID 2.2.2.2
          #进程        #路由器Router-ID Peer Statistic Information ---------------------------------------------------------------------------- Area Id Interface Neighbor id State 0.0.0.0 GigabitEthernet0/0/0 1.1.1.1 Full 0.0.0.0 Serial1/0/0 3.3.3.3 Full  #区域ID #接口                 #对方的RID #状态 ----------------------------------------------------------------------------

2.OSPF邻接表详细信息

[R2]display  ospf peer   #查看OSPF邻接表详细信息
         OSPF Process 1 with Router ID 2.2.2.2
                 Neighbors 
 Area 0.0.0.0 interface 12.1.1.2(GigabitEthernet0/0/0)'s neighbors
          #本端接口        
 Router ID: 1.1.1.1          Address: 12.1.1.1    
    #对端RID             #对端接口地址
   State: Full  Mode:Nbr is  Slave  Priority: 1
                       #优先级
   DR: 12.1.1.2  BDR: 12.1.1.1  MTU: 0    
  #DR       #BDR
   Dead timer due in 38  sec  #死亡时间
   Retrans timer interval: 5 
   Neighbor is up for 00:15:49     
   Authentication Sequence: [ 4972] #认证

 四,LSA

 4.1 LSA报文

 
字段 备注
LS Age 表示LSA已经生存的时间,单位为秒。 
LS Type 标识了LSA的格式和功能。常用的LSA类型有五种。
Link State ID 是该LSA所描述的那部分链路的标识。例如Router ID等。
Advertising Router 产生此LSA的路由器的Router ID。
Sequence Number 用于检测旧的和重复的LSA。
PS LS Type、Link State ID和Advertising Router共同标识一条LSA。

LSA新旧比较(华为)

1.比较LSA的序列号,序列号越大越新。

2.如果序列号相同,比较checksum值,比checksum值大。

3.如果checksum值,比较LS AGE时间,看是否是最大的MAX AGE时间,如果是最大的就是最新。

4.如果不是最大的MAX AGE时间,采用MAX AGE DIFF算法,MAX AGE大于15分支,就最新的LSA,如果小于15分钟忽略不计。

 

4.2 一类LSA(Router LSA)

  每个路由器都会生成路由器LSA。只在本区域内传递,不跨越ABR设备。作用是通告自己的直连信息。

[R3]display  ospf lsdb router  self-originate  

         OSPF Process 1 with Router ID 3.3.3.3
                         Area: 0.0.0.0
                 Link State Database 


  Type      : Router----------LSA类型
  Ls id     : 3.3.3.3---------链路状态ID
  Adv rtr   : 3.3.3.3---------产生此LSA的路由器Router ID
  Ls age    : 612 
  Len       : 48 
  Options   :  ABR  E  
  seq#      : 80000013 
  chksum    : 0x5281
  Link count: 2
   * Link ID: 3.3.3.3---------环回口地址      
     Data   : 255.255.255.255-环回口掩码
     Link Type: StubNet-------环回口(默认是P2P)      
     Metric : 0---------------度量值
     Priority : Medium--------优先级
   * Link ID: 23.1.1.3---------DR的接口地址     
     Data   : 23.1.1.3---------LSA描述本设备的接口
     Link Type: TransNet-------封装以太网
     Metric : 1----------------度量值
                         Area: 0.0.0.1
                 Link State Database
  Type      : Router-------LSA类型
  Ls id     : 3.3.3.3------链路状态ID
  Adv rtr   : 3.3.3.3------产生此LSA的路由器Router ID
  Ls age    : 826 
  Len       : 48                          
  Options   :  ABR  E  
  seq#      : 80000007 
  chksum    : 0x2c3e
  Link count: 2
   * Link ID: 4.4.4.4-------邻居路由器的Router ID       }
     Data   : 34.1.1.3------宣告该一类LSA的路由器接口IP地址  }  描述了拓扑信息
     Link Type: P-2-P-------P2P网络类型                }
     Metric : 48                          }
   * Link ID: 34.1.1.0------该Stub网络的IP地址   }
     Data   : 255.255.255.0-该Stub网络的网络掩码   }
     Link Type: StubNet                   } 描述了路由信息
     Metric : 48                      }
     Priority : Low                   }

  一类LSA的Link type由4个类型:P-2-P,TransNet,StubNet,Vlink。

4.3 二类LSA(Network LSA)

  二类LSA由DR产生,只在自己的本区域内传递,不跨越ABR设备。通告MA网络的掩码和MA网络链接的路由器。

[R3]display  ospf lsdb network  self-originate 

         OSPF Process 1 with Router ID 3.3.3.3
                         Area: 0.0.0.0
                 Link State Database 


  Type      : Network------------LSA类型
  Ls id     : 23.1.1.3-----------DR接口的IP地址
  Adv rtr   : 3.3.3.3------------DR的Router ID
  Ls age    : 1355 
  Len       : 32 
  Options   :  E  
  seq#      : 80000004 
  chksum    : 0x8a90
  Net mask  : 255.255.255.0------网络掩码
  Priority  : Low
     Attached Router    3.3.3.3--连接到该网络的路由器
     Attached Router    2.2.2.2--连接到该网络的路由器

4.4  SPF计算过程

第一步:计算路由信息

第二步计算路由信息

SPF Tree算法:①OSPF区域的防环,使用1类和2类保证无环。②计算最短的COST值。

以下拓扑,我们只能登录AR1,通过查看一类和二类LSA计算单区域内的拓扑。

 

①查看AR1自己产生的Router LSA

[R1]display ospf lsdb  router  self-originate 
         OSPF Process 1 with Router ID 1.1.1.1
                         Area: 0.0.0.0
                 Link State Database 
  Type      : Router
  Ls id     : 1.1.1.1
  Adv rtr   : 1.1.1.1  
  Ls age    : 259 
  Len       : 60 
  Options   :  E  
  seq#      : 8000000c 
  chksum    : 0x163d
  Link count: 3
   * Link ID: 10.1.12.2----------DR的接口地址    
     Data   : 10.1.12.1----------产生该LSA的接口地址
     Link Type: TransNet---------以太网接口
     Metric : 1------------------度量值
   * Link ID: 3.3.3.3--------------      
     Data   : 10.1.13.1        ↑
     Link Type: P-2-P        
     Metric : 48
   * Link ID: 10.1.13.0         可知还连接了一条串行链路,本端为10.1.13.1/24,对端RID:3.3.3.3。开销为48。
     Data   : 255.255.255.0 
     Link Type: StubNet    
     Metric : 48           ↓
     Priority : Low----------------

 ②再查看对应的2类LSA

[R1]display  ospf lsdb network 10.1.12.2
         OSPF Process 1 with Router ID 1.1.1.1
                         Area: 0.0.0.0
                 Link State Database 
  Type      : Network
  Ls id     : 10.1.12.2
  Adv rtr   : 2.2.2.2  
  Ls age    : 730 
  Len       : 32 
  Options   :  E  
  seq#      : 80000002 
  chksum    : 0x9299
  Net mask  : 255.255.255.0----------掩码24位
  Priority  : Low
     Attached Router    2.2.2.2-------对端RID:2.2.2.2
     Attached Router    1.1.1.1

综上所述,逻辑推理的的拓扑

 ③查看2.2.2.2产生的一类LSA

[R1]display  ospf lsdb router  2.2.2.2
         OSPF Process 1 with Router ID 1.1.1.1
                         Area: 0.0.0.0
                 Link State Database 
  Type      : Router
  Ls id     : 2.2.2.2
  Adv rtr   : 2.2.2.2  
  Ls age    : 896 
  Len       : 72 
  Options   :  E  
  seq#      : 80000014 
  chksum    : 0xb470
  Link count: 4---------------------
   * Link ID: 10.1.12.2    
     Data   : 10.1.12.2      确认该链路2.2.2.2的接口地址为10.1.12.2/24
     Link Type: TransNet     
     Metric : 1
   * Link ID: 4.4.4.4----------------   
     Data   : 10.1.24.2    
     Link Type: P-2-P        
     Metric : 48      
   * Link ID: 10.1.24.0       有一条串行链路,对端RID:4.4.4.4。本端接口为10.1.24.2/24。
     Data   : 255.255.255.0 
     Link Type: StubNet      
     Metric : 48 
     Priority : Low------------------
   * Link ID: 10.1.235.2  ----------- 
     Data   : 10.1.235.2       有一条以太网链路,DR是10.1.235.2,该LSA由10.1.235.2产生  
     Link Type: TransNet     
     Metric : 1----------------------

④查看该以太网链路对应的二类LSA

[R1]display ospf lsdb network 10.1.235.2
         OSPF Process 1 with Router ID 1.1.1.1
                         Area: 0.0.0.0
                 Link State Database 
  Type      : Network
  Ls id     : 10.1.235.2
  Adv rtr   : 2.2.2.2  
  Ls age    : 77 
  Len       : 36 
  Options   :  E  
  seq#      : 80000005 
  chksum    : 0xa583
  Net mask  : 255.255.255.0
  Priority  : Low
     Attached Router    2.2.2.2-----}
     Attached Router    3.3.3.3-----}该以太网链路中连接了3个设备RID分别为2.2.2.2,3.3.3.3,5.5.5.5
     Attached Router    5.5.5.5-----}

 综上所述,逻辑推理的拓扑:

⑤查看3.3.3.3产生的一类LSA

[R1]display  ospf lsdb router  3.3.3.3
         OSPF Process 1 with Router ID 1.1.1.1
                         Area: 0.0.0.0
                 Link State Database 
  Type      : Router
  Ls id     : 3.3.3.3
  Adv rtr   : 3.3.3.3  
  Ls age    : 544 
  Len       : 60 
  Options   :  E  
  seq#      : 8000000a 
  chksum    : 0x2e5b
  Link count: 3
   * Link ID: 1.1.1.1--------------      
     Data   : 10.1.13.3    
     Link Type: P-2-P        
     Metric : 48
   * Link ID: 10.1.13.0      确定了该设备的接口为10.1.13.3/24,度量值48
     Data   : 255.255.255.0 
     Link Type: StubNet      
     Metric : 48 
     Priority : Low----------------
   * Link ID: 10.1.235.2   
     Data   : 10.1.235.3     确定了该设备接口为10.1.235.3,DR为10.1.235.2
     Link Type: TransNet     
     Metric : 1-------------------

⑥查看4.4.4.4产生的一类LSA

[R1]display  ospf lsdb router  4.4.4.4
         OSPF Process 1 with Router ID 1.1.1.1
                         Area: 0.0.0.0
                 Link State Database 
  Type      : Router
  Ls id     : 4.4.4.4
  Adv rtr   : 4.4.4.4  
  Ls age    : 1082 
  Len       : 72 
  Options   :  E  
  seq#      : 80000007 
  chksum    : 0xf074
  Link count: 4
   * Link ID: 2.2.2.2----------------  
     Data   : 10.1.24.4    
     Link Type: P-2-P        
     Metric : 48
   * Link ID: 10.1.24.0    
     Data   : 255.255.255.0 
     Link Type: StubNet       与2.2.2.2连接的的串行链路,接口地址为10.1.24.4/24,度量值48
     Metric : 48 
     Priority : Low
   * Link ID: 5.5.5.5----------------      
     Data   : 10.1.45.4    
     Link Type: P-2-P        
     Metric : 48
   * Link ID: 10.1.45.0      与5.5.5.5连接的串行链路,本端接口地址为10.1.45.4/24,度量值48
     Data   : 255.255.255.0               
     Link Type: StubNet      
     Metric : 48 
     Priority : Low----------------

综上所述,逻辑推理的拓扑图

 

 ⑦查看5.5.5.5对应的一类LSA

[R1]display  ospf lsdb router  5.5.5.5
         OSPF Process 1 with Router ID 1.1.1.1
                         Area: 0.0.0.0
                 Link State Database 
  Type      : Router
  Ls id     : 5.5.5.5
  Adv rtr   : 5.5.5.5  
  Ls age    : 1487 
  Len       : 60 
  Options   :  E  
  seq#      : 80000007 
  chksum    : 0xae7d
  Link count: 3
   * Link ID: 4.4.4.4-------------      
     Data   : 10.1.45.5    
     Link Type: P-2-P        
     Metric : 48            可知与4.4.4.4串行链路本端接口为10.1.45.5/24。度量值48
   * Link ID: 10.1.45.0    
     Data   : 255.255.255.0 
     Link Type: StubNet      
     Metric : 48 
     Priority : Low----------------
   * Link ID: 10.1.235.2   
     Data   : 10.1.235.5    可知本端接口主机位为5
     Link Type: TransNet     
     Metric : 1--------------------

 推理完成的拓扑

 实际上的拓扑

 

计算最优路由

OSPF路由表:

[R1]display  ospf routing 
         OSPF Process 1 with Router ID 1.1.1.1
                  Routing Tables 
 Routing for Network 
 Destination        Cost  Type       NextHop         AdvRouter       Area
 10.1.12.0/24       1     Transit    10.1.12.1       1.1.1.1         0.0.0.0
 10.1.13.0/24       48    Stub       10.1.13.1       1.1.1.1         0.0.0.0
 10.1.24.0/24       49    Stub       10.1.12.2       2.2.2.2         0.0.0.0
 10.1.45.0/24       50    Stub       10.1.12.2       5.5.5.5         0.0.0.0
 10.1.235.0/24      2     Transit    10.1.12.2       2.2.2.2         0.0.0.0
 Total Nets: 5  
 Intra Area: 5  Inter Area: 0  ASE: 0  NSSA: 0 

 4.5 三类LSA(Network-Summary-LSA)

[R2]display ospf lsdb summary 24.1.1.0
         OSPF Process 1 with Router ID 2.2.2.2
                         Area: 0.0.0.0
                 Link State Database 
  Type      : Sum-Net---------三类LSA
  Ls id     : 24.1.1.0--------目的网段地址
  Adv rtr   : 2.2.2.2---------产生该三类LSA的RID(注意:经过每一个DR都会改变)
  Ls age    : 428 
  Len       : 28 
  Options   :  E  
  seq#      : 80000005 
  chksum    : 0xe055
  Net mask  : 255.255.255.0---网络掩码
  Tos 0  metric: 1------------开销值(由本设备到达ABR的开销+ABR去往目标的开销)
  Priority  : Low

配置:

ospf x

area x

abr-summary x.x.x.x x.x.x.x

注意:①必须在ABR设备汇总,非ABR设备汇总无效。

4.6虚链路

  由于可能存在OSPF设计不规范,且有且只能有一个骨干区域。同时所有非骨干区域必须连接骨干区域的设备(真正的ABR)

  解决方案:虚链路。虚链路不能在骨干区域实施,只能在非骨干区域实施。

  国际标准按“需”链路,产生大量的DNA LSA(永不老化的LSA)。

  华为标准,周期性发送hello,hello=10,dead=40,类型virtual。

  虚链路用于属于Area 0

场景1:

area0--area1--area2

其中area2原理骨干区域

问题:area2区域学习不到任何其他区域的路由

原因:因为area2和area1之间不存在ABR设备,所以不能产生3类LSA。

配置方法:

ospf x

area x

vlink-peer x.x.x.x(指对端RID,RID指向唯一的设备)

[AR1]display  ospf vlink  
	 OSPF Process 1 with Router ID 1.1.1.1
		 Virtual Links 
 Virtual-link Neighbor-id  -> 2.2.2.2, Neighbor-State: Full
 Interface: 12.1.1.1 (GigabitEthernet0/0/0)
 Cost: 1  State: P-2-P  Type: Virtual 
 Transit Area: 0.0.0.1 
 Timers: Hello 10 , Dead 40 , Retransmit 5 , Transmit Delay 1  
 GR State: Normal 

area0--area1--area0(骨干区域被分离

问题:两边area0互相不能学习到路由

原因:右边的ABR无法从右边的area0学习到目标的LSA,只能把学习到的3类放入LSDB,不能放入OSPF路由表。

解决方案:配置虚链路以后,虚链路属于area0,连接两边的area0,这样就形成逻辑上只有一个area0

 场景三:
area1-area2-area3(没有骨干区域)
问题:三个区域互相不能互访
原因:没有ABR设备
解决方案:配置虚链路以后,虚链路是area0,有真正的ABR

4.6.1三类LSA和虚链路总结实验

1.拓扑

 

查看各区域的三类LSA,以及对配置不符合要求的area3区域配置虚连接。

2.配置:

按拓扑配置IP地址和OSPF(略)。

R1和R2是ABR,负责生成三类LSA,并在区域内泛洪,经过其他ABR后,重新生成并泛洪。area3区域无法获得路由是由于在area3区域没有ABR。在R2上指定虚链路的邻居R4,在R4上指定虚链路的邻居R2。

[R2-ospf-1]area 1                  
[R2-ospf-1-area-0.0.0.1]vlink-peer  4.4.4.4
[R4-ospf-1]area 1
[R4-ospf-1-area-0.0.0.1]vlink-peer  2.2.2.2

3.观察现象

①R4变成了ABR

 

②查看vlink状态

[R4]display  ospf vlink  
         OSPF Process 1 with Router ID 4.4.4.4
                 Virtual Links 
 Virtual-link Neighbor-id  -> 2.2.2.2, Neighbor-State: Full
 Interface: 24.1.1.4 (GigabitEthernet0/0/0)
 Cost: 1  State: P-2-P  Type: Virtual 
 Transit Area: 0.0.0.1 
 Timers: Hello 10 , Dead 40 , Retransmit 5 , Transmit Delay 1 
 GR State: Normal s

③R4产生的部分三类LSA

[R4]display  ospf lsdb summary  self-originate  
         OSPF Process 1 with Router ID 4.4.4.4
                         Area: 0.0.0.0
                 Link State Database 
  Type      : Sum-Net
  Ls id     : 45.1.1.0
  Adv rtr   : 4.4.4.4  
  Ls age    : 273 
  Len       : 28 
  Options   :  E  
  seq#      : 80000001 
  chksum    : 0x9a82
  Net mask  : 255.255.255.0
  Tos 0  metric: 1
  Priority  : Low
  Type      : Sum-Net
  Ls id     : 24.1.1.0
  Adv rtr   : 4.4.4.4  
  Ls age    : 273 
  Len       : 28 
  Options   :  E  
  seq#      : 80000001 
  chksum    : 0xac85
  Net mask  : 255.255.255.0
  Tos 0  metric: 1
  Priority  : Low
                         Area: 0.0.0.1
                 Link State Database                                       
  Type      : Sum-Net
  Ls id     : 45.1.1.0
  Adv rtr   : 4.4.4.4  
  Ls age    : 273 
  Len       : 28 
  Options   :  E  
  seq#      : 80000001 
  chksum    : 0x9a82
  Net mask  : 255.255.255.0
  Tos 0  metric: 1
  Priority  : Low

 4.7四类LSA(ASBR-Summary LSA)

  由ABR产生,在除了ASBR所在的区域内通告。通告内容为ASBR的RID,表明ASBR的所处位置为5类LSA服务。
[R2]display  ospf lsdb asbr
         OSPF Process 1 with Router ID 2.2.2.2
                         Area: 0.0.0.0
                 Link State Database 
  Type      : Sum-Asbr----------LSA类型
  Ls id     : 3.3.3.3-----------ASBR的RID
  Adv rtr   : 2.2.2.2-----------产生四类LSA的 ABR的RID(经过ABR后改变)
  Ls age    : 74 
  Len       : 28 
  Options   :  E  
  seq#      : 80000004 
  chksum    : 0x9aa9
  Tos 0  metric: 1--------------从RTB到达此ASBR的开销

4.8五类LSA(AS-External-LSA)

  由ASBR产生,在整个OSPF自治系统内泛洪,作用是通告外部路由。

[R3]display  ospf lsdb ase self-originate  
         OSPF Process 1 with Router ID 3.3.3.3
                 Link State Database
  Type      : External---------LSA类型
  Ls id     : 4.4.4.4----------目的网段地址
  Adv rtr   : 3.3.3.3----------产生此五类LSA ASBR的RID(经过ABR不改变)
  Ls age    : 900 
  Len       : 36 
  Options   :  E  
  seq#      : 80000004 
  chksum    : 0xe5cb
  Net mask  : 255.255.255.255--网络掩码
  TOS 0  Metric: 1-------------开销值(默认type 2 的开销为1)
  E type    : 2----------------0_ASE有两种类型type1 和type2,默认为type2
  Forwarding Address : 0.0.0.0-转发地址
  Tag       : 1----------------标记:标记外部路由,为路由过滤做准备
  Priority  : Low 
 FA地址:(作用是解决次优问题)
Forwarding Address-------转发地址
①全0------0.0.0.0(代表转发地址)
如果访问外部路由,转发给ASBR
②非全0---有转发地址
如果访问外部路由,转发给转发地址
1.如何生成FA地址条件:
把ASBR连接外部的路由出接口宣告进OSPF,生成出接口的下一跳地址成为转发地址。
2.不能产生FA地址条件:
①出接口的网络类型为P2P和P2MP
②出接口为静默端口
③静态路由没写出接口(没有明确的下一跳)
E Type 1/2
1.外部路由Type1:既要考虑外部的开销,还要考虑内部的开销。
修改Type1,配置如下:
#ospf 1
#import-route static cost 10   type 1
         外部的cost +内部的cost
2.外部路由Type 2(默认)
只考虑ASBR到达路由的COST,默认值为1
可以修改外部的COST值
配置如下:
ospf 1
import-route static cost 10 type 2
        外部cost 默认为2
Type1和2比较规则
1.同时为type2时,先比较外部开销值,开销值小的就优,如果外部开销一致,看内部开销值,内部开销值小的优。如果内部开销值也一样,就负载分担。
2.同时为type1时,比较外部开销值+内部开销值的累加值,累加值小的成为优的路,如果累计开销值也一样就负载分担。
3.同时为Type1和Type2时,无论Type 2 cost都小,多会选择Type1(原因Type1比Type2更靠谱)
注:一边有FA,一边没有FA的,比较到达FA地址开销和到达ASBR的开销进行比较。
 五类LSA的汇总:
   为了减少LSDB的条目,针对外部路由的汇总(域外汇总,在ASBR上汇总)
语法:
  ospf xxx
  asbr-summary x.x.x.x y.y.y.y
  参数:
    not-advertise:汇总的不通告
    cost:修改cost值
    tag:标记

 4.9特殊区域

4.9.1Stub区域

末节区域,屏蔽四类五类LSA。区域内不能又ASBR,不能是区域0,不能有虚链路。并由BAR向该区域内发送一条三类LSA的缺省路由。区域内只有1类,2类,3类LSA。
语法:
  ospf xx
    area xxx
     stub 

4.9.2Totally Stub区域

完全末节区域,屏蔽四类和五类LSA。区域内不能有ASBR,不能是区域0,不能有虚链路。除了ABR向该区域内发送一条三类缺省路由(只有这条缺省路由的三类LSA)。
语法:
  ospf xxx
    area xxx
      stub no-summary

 4.9.3NSSA(Not so Stubby Area)

引入NSSA区域的目的是解决次优问题。

不是那么末梢区域,屏蔽四类五类LSA。但区域内允许存在ASBR,引入了外部路由后区域内使用7类LSA代替五类LSA,转发到其他正常区域后转换为五类LSA。该区域存在七类LSA的缺省路由。

4.9.4Totally NSSA

完全不那么末梢区域,屏蔽三,四,五类LSA。但区域内允许有ASBR,因此引入外部路由,区域内使用七类代替五类LSA,到了其他区域转换成五类LSA。

该区域ABR会发送一条三类和七类LSA的缺省路由。

4.10NSSA 七类LSA 

 

[R4]display  ospf lsdb nssa self-originate  
         OSPF Process 1 with Router ID 4.4.4.4
                         Area: 0.0.0.2
                 Link State Database 
  Type      : NSSA
  Ls id     : 1.1.0.0----外部路由网段
  Adv rtr   : 4.4.4.4----ASBR的RID
  Ls age    : 1054 
  Len       : 36 
  Options   :  NP--------NSSA  
  seq#      : 8000000a 
  chksum    : 0x706
  Net mask  : 255.255.248.0 
  TOS 0  Metric: 1 
  E type    : 1
  Forwarding Address : 34.1.1.4 
  Tag       : 1 
  Priority  : Low

 

 

 

[AR1]display  ospf error   -------------------------------查看OSPF的错误

	 OSPF Process 1 with Router ID 1.1.1.1
		 OSPF error statistics 

General packet errors:
 0     : IP: received my own packet     3     : Bad packet ----------------看下面具体的报文错误
 0     : Bad version                    0     : Bad checksum
 0     : Bad area id                    0     : Drop on unnumbered interface
 0     : Bad virtual link               0     : Bad authentication type
 0     : Bad authentication key         0     : Packet too small
 0     : Packet size > ip length        0     : Transmit error
 6     : Interface down                 0     : Unknown neighbor
 0     : Bad net segment                0     : Extern option mismatch
 0     : Router id confusion

HELLO packet errors:
 3     : Netmask mismatch               0     : Hello timer mismatch
 0     : Dead timer mismatch            0     : Virtual neighbor unknown
 0     : NBMA neighbor unknown          0     : Invalid Source Address

DD packet errors:
 0     : Neighbor state low             0     : Unknown LSA type
 0     : MTU option mismatch

LS ACK packet errors:
 0     : Neighbor state low             0     : Unknown LSA type

LS REQ packet errors:
 0     : Neighbor state low             0     : Empty request
 0     : Bad request

LS UPD packet errors:
 0     : Neighbor state low             0     : Newer self-generate LSA 
 0     : LSA checksum bad               0     : Received less recent LSA
 0     : Unknown LSA type

  

 

posted @ 2023-01-19 14:56  L_F_A_L  阅读(1260)  评论(0编辑  收藏  举报