说明:本篇接上一篇继续讲解

拓扑图

R1查看OSPF邻居 查看ospf邻居信息_R1查看OSPF邻居

为了方便,我把R1/2/3/4/5的router id改成了回环网卡的IP。

ospf协议三张表

邻居表(neighbortable)

OSPF用邻居机制来发现和维持路由的存在,邻居表存储了双向通信的邻居关系OSPF路由器列表的信息。

假如我发现R1和R2之间不能ping通,我们首先要考虑的就是R1和R2之间是否建立了邻居关系。那么如何判断它们建立了邻居关系呢?查看邻居表,命令是:dis ospf peer brief

我们看到上图R1和R2互为邻居:

  • R1的邻居表中必然会有R2的router id

R1查看OSPF邻居 查看ospf邻居信息_华为_02

  • R2中也必然会有R1的router id

R1查看OSPF邻居 查看ospf邻居信息_R1查看OSPF邻居_03

如果没有,则问题可能出现在以下几个地方:

  • 看State是否为:Full;
  • route id 有没有冲突;
  • IP有没有配置错误;
  • 设备宣告的区域错误;

我们还可以通过命令:dis ospf error 来检查ospf协议的报错信息。你可以称他为排错命令。

例如:下图中我把R2和R3的route id改成了相同的ID都是3.3.3.3,R2和R3之间已经无法ping通,用检查命令发现问题归类到router id的问题。说明这个命令还是很管用的。

R1查看OSPF邻居 查看ospf邻居信息_智能路由器_04


说明:上图中有错误的是非0的,前面是0的是没错误的。4代表这个错误发生的次数。

dis ospf error 这条命令思科是没有的。

下面是实验整个拓扑的邻居表:

<AR1>dis ospf peer brief

         OSPF Process 1 with Router ID 1.1.1.1
                  Peer Statistic Information
 ----------------------------------------------------------------------------
 Area Id          Interface                        Neighbor id      State    
 0.0.0.1          Serial4/0/0                      2.2.2.2          Full        
 ----------------------------------------------------------------------------
<AR2>dis 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             3.3.3.3          Full        
 0.0.0.1          Serial4/0/0                      1.1.1.1          Full        
 ----------------------------------------------------------------------------
<AR3>dis ospf peer brief

         OSPF Process 1 with Router ID 3.3.3.3
                  Peer Statistic Information
 ----------------------------------------------------------------------------
 Area Id          Interface                        Neighbor id      State    
 0.0.0.0          GigabitEthernet0/0/0             2.2.2.2          Full        
 0.0.0.2          GigabitEthernet0/0/1             192.168.1.4      Full        
 0.0.0.2          GigabitEthernet0/0/1             5.5.5.5          Full        
 ----------------------------------------------------------------------------
<AR4>dis ospf peer brief

         OSPF Process 1 with Router ID 4.4.4.4
                  Peer Statistic Information
 ----------------------------------------------------------------------------
 Area Id          Interface                        Neighbor id      State    
 0.0.0.2          GigabitEthernet0/0/0             3.3.3.3          Full        
 0.0.0.2          GigabitEthernet0/0/0             5.5.5.5          Full        
 ----------------------------------------------------------------------------
<AR5>dis 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.2          GigabitEthernet0/0/0             3.3.3.3          Full        
 0.0.0.2          GigabitEthernet0/0/0             192.168.1.4      Full        
 ----------------------------------------------------------------------------

拓扑表(topology table)

OSPF用LSA(link state Advertisement链路状态通告)来描述网络拓扑信息,然后OSPF路由器用拓扑数据库来存储网络的这些LSA。

在OSPF协议中,每个路由器先1对1、1对多形成邻居,每个邻居之间传递链路信息,路由器把收集到的链路信息放到一张表里面,这张表就叫做拓扑表。然后运行ospf的spf算法(最短路径树算法),以收集到的链路信息为依据,计算出到达每个节点的最佳路由。

下面是R1的拓扑表:

<AR1>dis ospf lsdb 

         OSPF Process 1 with Router ID 1.1.1.1
                 Link State Database   #翻译:链路状态数据库

                         Area: 0.0.0.1
 Type      LinkState ID    AdvRouter          Age  Len   Sequence   Metric
 Router    2.2.2.2         2.2.2.2           1005  48    8000000D      48
 Router    1.1.1.1         1.1.1.1           1007  60    80000014       0
 Sum-Net   23.1.1.0        2.2.2.2           1019  28    80000009       1
 Sum-Net   5.5.5.5         2.2.2.2           1023  28    80000003       2
 Sum-Net   3.3.3.3         2.2.2.2           1023  28    80000003       1
 Sum-Net   4.4.4.4         2.2.2.2           1023  28    80000003       2
 Sum-Net   2.2.2.2         2.2.2.2           1019  28    80000009       0
 Sum-Net   192.168.1.0     2.2.2.2           1023  28    80000003       2

OSPF路由表(routingtable)

路由器对链路状态数据库进行SPF(Dijkstra)计算,而得出的OSPF路由表。
以拓扑表为参数和依据,把自己作为根节点,算出到达每一个枝梢节点的最佳路径。

以下是拓扑中R3的路由表:

<AR3>display ip routing-table 
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
         Destinations : 18       Routes : 18       
         
Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface

        1.1.1.1/32  OSPF    10   49          D   23.1.1.2        GigabitEthernet0/0/0
        2.2.2.2/32  OSPF    10   1           D   23.1.1.2        GigabitEthernet0/0/0
        3.3.3.0/24  Direct  0    0           D   3.3.3.3         LoopBack0
        3.3.3.3/32  Direct  0    0           D   127.0.0.1       LoopBack0
      3.3.3.255/32  Direct  0    0           D   127.0.0.1       LoopBack0
        4.4.4.4/32  OSPF    10   1           D   192.168.1.4     GigabitEthernet0/0/1
        5.5.5.5/32  OSPF    10   1           D   192.168.1.5     GigabitEthernet0/0/1
       12.1.1.0/24  OSPF    10   49          D   23.1.1.2        GigabitEthernet0/0/0
       23.1.1.0/24  Direct  0    0           D   23.1.1.3        GigabitEthernet0/0/0
       23.1.1.3/32  Direct  0    0           D   127.0.0.1       GigabitEthernet0/0/0
     23.1.1.255/32  Direct  0    0           D   127.0.0.1       GigabitEthernet0/0/0
      127.0.0.0/8   Direct  0    0           D   127.0.0.1       InLoopBack0
      127.0.0.1/32  Direct  0    0           D   127.0.0.1       InLoopBack0
127.255.255.255/32  Direct  0    0           D   127.0.0.1       InLoopBack0
    192.168.1.0/24  Direct  0    0           D   192.168.1.3     GigabitEthernet0/0/1
    192.168.1.3/32  Direct  0    0           D   127.0.0.1       GigabitEthernet0/0/1
  192.168.1.255/32  Direct  0    0           D   127.0.0.1       GigabitEthernet0/0/1
255.255.255.255/32  Direct  0    0           D   127.0.0.1       InLoopBack0

三张表的关系

整体看来:每个路由器先1对1、1对多形成邻居关系,生成邻居表。每个邻居之间传递链路状态信息,路由器把收集到的链路状态信息放到一张表内,生成拓扑表。然后OSPF协议以收集到的链路状态信息为依据,通过ospf的spf算法(最短路径树算法),计算出到达每个节点的结果,即最佳路由。并把这些最佳路由放到一张新的表中,生成OSPF路由表。

没有邻居表,就无法收集链路状态信息,也就没有链路状态信息数据库,自然也就没有拓扑表。没有拓扑表,就没有计算的依据,自然也就无法计算出最佳路由。也就没有OSPF路由表。
就没有OSPF路由表。