一、前期回顾

之前讲过运行ospf的路由器之间是通过lsa进行消息传递,且建立邻接关系时,两端接口的网络类型必须一致,如果在MA类型网络中接口的掩码也要一致,p2p网络掩码可以不一致,只有MA网络中才有DR与BDR角色等约束条件,之所以有这些要求,从另一个维度讲都是因为lsa需要满足这些条件,本章就来详细介绍下ospf中的lsa种类及作用。

二、拓扑介绍

假装网络工程师9——ospf中的1,2,3类lsa详解_第1张图片
area1是一个MA网络类型,area0是p2p网络类型,R1,R2,R3处于一个广播域,交换机上未作任何设备,只当一个纯二层设备,R3的g0/0/0口作为本area的DR,其余信息如图上所示。

三、lsa的种类级使用场景

lsa根据种类共分为7种,即1~7类lsa,每一种lsa的出现都需要满足特定的条件,本章重点介绍前3种lsa的特点及功能,其余lsa后续介绍。

1类lsa

每一个运行ospf的路由器都会产生1类lsa,1类lsa自己(本路由器)直连接口的信息在本area内进行泛洪,类似于广播终结于网关,1类lsa终结于ABR,1类lsa主要的两个特点:

  1. 通过lsa中相关的V、B、E位是否置1,描述路由器的virtual-link,ABR,ASBR等特殊角色。
  2. 描述本路由器在某个区域内部的直连链路接口及接口cost值。

通过查看R1的lsdb可以看到R1上有3条标表项为router的1类路由,R2上的lsdb与R1一致,印证了同一area内的lsdb完全一样

[R1]display 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              6  48    8000000B       1
 Router    1.1.1.1         1.1.1.1             13  48    80000007       1
 Router    3.3.3.3         3.3.3.3              6  36    8000000B       1
 Network   123.0.0.3       3.3.3.3              6  36    80000008       0
 Sum-Net   34.0.0.0        3.3.3.3           1194  28    80000005      48

仔细看下MA网络区域area1中router id为1.1.1.1路由器的lsdb

[R1]display  ospf lsdb router 1.1.1.1

     OSPF Process 1 with Router ID 1.1.1.1
                 Area: 0.0.0.1
         Link State Database 

  Type      : Router
  Ls id     : 1.1.1.1    
  Adv rtr   : 1.1.1.1  
  Ls age    : 263 
  Len       : 48 
  Options   :  E  
  seq#      : 80000007 
  chksum    : 0x49c4
  Link count: 2              #lsa包含2个链路描述
   * Link ID: 123.0.0.3      #DR的ip地址
     Data   : 123.0.0.1      #始发路由接口地址
     Link Type: TransNet     #传输区域网络
     Metric : 1              #接口cost=1
   * Link ID: 11.11.11.11  
     Data   : 255.255.255.255 
     Link Type: StubNet      #末梢网络
     Metric : 0 
     Priority : Medium

总结一下,不同链路类型的1类lsa中包含的link id及link data字段内容有所不同,具体为:

序号 链路类型 link id link data
1 点到点链接另一台路由 邻接路由器route id 和网络相连的本地路由器始发接口ip地址
2 传输区域网络(MA) dr路由器的接口ip地址 和网络相连的本地路由器始发接口ip地址
3 末梢网络 ip或子网地址 网络的ip地址或子网掩码
4 虚链路 邻接路由器route id 和网络相连的本地路由器始发接口MIB-II iflndex值

在R1的lsdb中除了代表1leilsa的router表项,还有network跟sum-net表项,这分别代表了2类和3类lsa,下面就这两种lsa进行介绍。

2类lsa

首先需要说明的是,2类lsa只存在于MA类型的网络中,在右边p2p网络区域area0中route id为4.4.4.4路由器lsdb中就没有network表项

[R4]dis 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
 Router    4.4.4.4         4.4.4.4            552  48    80000007      48
 Router    3.3.3.3         3.3.3.3            552  48    80000007      48
 Sum-Net   123.0.0.0       3.3.3.3            672  28    80000001       1
 Sum-Net   11.11.11.11     3.3.3.3            629  28    80000001       1
 Sum-Net   22.22.22.22     3.3.3.3            631  28    80000001       1

还记得介绍lsa建立邻接关系的条件时有一条是:MA网络类型下,接口的子网掩码位数要一致,而p2p网络就没有这个要求,原因是在1类lsa中p2p类型的网络使用2条描述信息来进行说明

[R4]display ospf lsdb router 4.4.4.4

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

  Type      : Router
  Ls id     : 4.4.4.4
  Adv rtr   : 4.4.4.4  
  Ls age    : 603 
  Len       : 48 
  Options   :  E  
  seq#      : 80000007 
  chksum    : 0x6a02
  Link count: 2
   * Link ID: 3.3.3.3        #邻接路由器router id
     Data   : 34.0.0.2       #与router id为3.3.3.3路由器相连的的本地接口ip
     Link Type: P-2-P        
     Metric : 48
   * Link ID: 34.0.0.0       #与router id为3.3.3.3路由器相连使用的网段
     Data   : 255.255.255.0  #该网段掩码
     Link Type: StubNet      
     Metric : 48 
     Priority : Low

而MA网络中只是介绍了dr的接口ip跟接入该网络本地ip地址与cost值,但光凭这一点还没发准确描述一个网络地址,还需要知道这ip所对应的掩码

Link count: 2
   * Link ID: 123.0.0.3    
     Data   : 123.0.0.1    
     Link Type: TransNet     
     Metric : 1

而network表项,就是弥补1类lsa中所缺少的掩码信息,且2类lsa只由DR产生,其掩码是dr接口的掩码信息,但该信息不包含cost值,所以在MA网络中需要通过1类和2类lsa一起才能准确的描述出网络信息

[R1]display ospf lsdb network 

     OSPF Process 1 with Router ID 1.1.1.1
                 Area: 0.0.0.1
         Link State Database 

  Type      : Network
  Ls id     : 123.0.0.3  #dr接口ip地址
  Adv rtr   : 3.3.3.3    #通告路由器
  Ls age    : 402 
  Len       : 36 
  Options   :  E  
  seq#      : 8000000c 
  chksum    : 0xd2d5
  Net mask  : 255.255.255.0  #子网掩码
  Priority  : Low
     Attached Router    3.3.3.3  #该MA网络中包含的路由器route id
     Attached Router    1.1.1.1  #该MA网络中包含的路由器route id
     Attached Router    2.2.2.2  #该MA网络中包含的路由器route id

通过上图中Adv rtr: 3.3.3.3可以看出,2类lsa是由本area中的dr路由器产生,并通过224.0.0.5这个组播地址发送给area内所有的路由器,还记得224.0.0.6这个组播地址么,之前介绍ospf在MA网络中的时候提到过,所有的drother相互间不通信,停留在2way阶段,只能与dr与bdr通信,原因就是dr与bdr同时又侦听了224.0.0.6地址接收lsa,再通过224.0.0.5这个组播将lsa下发到本区域内所有的路由器。总结一下,2类lsa的特点:

  • 2类lsa由dr产生,描述所有连接到该MA网络的路由器route id及该MA网络的掩码地址(dr接口掩码地址)
  • 2类lsa只在本area泛洪,终结于abr
  • 2类lsa没有cost字段
  • 1类lsa结合2类lsa才能完整提供一个MA网络所需要的信息

    3类lsa

    从拓扑图中,我们能够看到,无论是area1中的MA网络还是area0中的p2p网络,其内部的1类、2类lsa都无法传递到对方区域,这样无法计算出到达11.11.11.11/24等ip地址路由,3类lsa就是解决此类问题。3类lsa由abr路由器产生,其表项为Sum-Net,其功能是收集本区域的1类2类lsa,再将他们以3类lsa发送到其他区域泛洪,这样计算路由的问题就解决了
    假装网络工程师9——ospf中的1,2,3类lsa详解_第2张图片
    以上图中R3将area0中的1类lsa收集后发送到area1为例,此时在R1上看到的3类lsa是由R3产生,并且cost值为48,此处cost值是R4计算到R3的开销(p2p网络开销为48),而R3只是将此信息直接泛洪到了area1

    [R1]display 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            656  48    8000000D       1
    Router    1.1.1.1         1.1.1.1            662  48    8000000D       1
    Router    3.3.3.3         3.3.3.3            656  36    80000009       1
    Network   123.0.0.3       3.3.3.3            656  36    80000006       0
    Sum-Net   34.0.0.0        3.3.3.3            821  28    80000002      48

    在R1上详细看下3类lsa所包含的信息,能够看到area0中的网段、掩码、cost值都包含在本信息中,所以可以直接计算路由

    [R1]display ospf lsdb summary 
     OSPF Process 1 with Router ID 1.1.1.1
                 Area: 0.0.0.1
         Link State Database 
    Type      : Sum-Net
    Ls id     : 34.0.0.0
    Adv rtr   : 3.3.3.3  
    Ls age    : 1009 
    Len       : 28 
    Options   :  E  
    seq#      : 80000002 
    chksum    : 0x35c8
    Net mask  : 255.255.255.0
    Tos 0  metric: 48
    Priority  : Low

    总结一下3类lsa的特点:

    • 由abr产生,将本区域的1,2类lsa进行收集并在其他区域泛洪,以解决不同区域见路由计算问题
    • cost是直接将本区域内到达abr的开销泛洪到其他区域
    • 3类lsa这种自身不参与链路状态计算,只是收集1,2类lsa并泛洪到其他区域的工作特点与距离矢量协议特别类似