OSPF路由协议:LSA1、LSA2与路由计算步骤

1、OSPF的区域

OSPF路由协议作为一种动态路由协议,其生成路由表的过程依赖于网络中每台路由器保持一致的LSDB(链路状态数据库)。随着网络中路由器的不断增多,LSDB会越来越庞大,拓扑结构的改变也容易引起网络的“动荡”。因此,动态路由协议(如OSPF、IS-IS)都提供将整个网络划分成多个区域的能力,减少LSDB的大小和维护LSDB的开销,也减少LSA泛洪的影响。在OSPF中,被划开的所有区域必须以骨干区域为中心,也即其他区域必须与骨干区域相连。

2、LSA的含义

LSA(Link-State Advertisement,链路状态通告),是OSPF路由协议的协议报文中携带的、用于进行路由计算的信息。根据用途及作用范围的不同,可以分为11类(即type1~11)。其中,用于区域内路由通告的是type1、type2,用于区域间路由通告的主要有type3、type4、type5、type7。
本文的主要内容为介绍LSA中用于区域内路由通告的LSA1和LSA2,以及路由计算的 步骤。

3、LSA type 1 (Router LSA)

每台路由器会为自己所处的每一个区域产生一份RouterLSA,该LSA包含本区域所有链路的状态信息。

LSA1消息包含的字段:

  • LS Age :DoNotAge Flag和age数值(秒)
  • Option位
  • LS type :1
  • Link State ID
  • Advertising Router
  • Sequence Number
  • CheckSum
  • Flags
  • Number Of Links: OSPF有向图上的Link
    • Point to point
      • ID:邻居路由器的RID;Data:自己接口的IP
    • TransNetwork:MA类型链路
      • ID:DR的接口IP ;Data:自己接口IP
    • StubNetwork:末节类型链路/网络
      • ID:网络号 Data:掩码
    • Virtual Link
      • ID:vlink对端ABR的RID ;Data:本地Vlink的IP

有向图的说明

  • 每个实节点外出方向的链路成本是该接口的成本(OSPF Cost值)。
  • 在MA网络中,所有节点之间通过虚节点(N1)拓扑互联。虚节点N1到所连节点的距离为0,每个节点到N1的边的距离是它在至N1接口上的cost值。
  • 在末节(stub)网络中,到其他节点的叶子的cost需要计算邻居间cost和对方节点到其叶子的cost的和。路由器到自身叶子节点的cost也是叶子所在链路的cost(如果叶子是链路接口的网段)。

4、LSA type2 (Network LSA)

Network LSA用于描述MA网络的拓扑关系:TransNet网络号和该网络与路由器的关系,在MA网络的DR路由器产生。

LSA2消息包含的字段:

  • LS Age:同LSA1
  • Option
  • LSType : 2
  • Link Stat ID :DR接口IP地址
  • Advertising Router
  • Sequence Num
  • Checksum
  • Netmask:和LS ID进行逻辑与运算,得出LSA2的网络号
  • Attacked Router:本网络所有邻居路由器列表

与lSA1区别

LSA1由实节点(代表路由器的节点)产生,描述实节点周边的关系;LSA2由虚节点DR产生,描述虚节点周边关系。

DR的作用

  • DR选举机制
    • MA网络可以没有BDR,但不能没有DR。
    • DR选举开始于OSPF中一个网络达到2-way状态之后,网络中的路由器通过交互hello完成选举。
    • 路由器根据所有邻居的hello报文,构建接口的数据结构,其中包括以下三个集合。
      • DR集合:接口刚开启时,其内容为0 。
      • BDR集合:接口刚开启时,其内容为0 。
      • DRother集合:即有资格成为DR/BDR的路由器,其选举规则为优先级不为0即可。
    • 选举过程:
      1. 接口开启,hello中DR字域全0,wait timer启动;
      2. 若收到hello中有dr字域,wait timer停止,接受字域数值;
      3. 从other中选出BDR,再从这里面选出DR,如果BDR空,则再次从other中选出BDR。

5、OSPF路由计算

OSPF路由计算包含以下步骤。

  1. 画出网络图Graph
    网络中的每台路由器会根据接收到的LSA1和LSA2画出网络图 。由于LSDB中的链路信息不能反映出路由,因此需要SPF(最短路径优先)算法,根据网络图生成路由转发的最优路径。
  2. 对Graph进行SPF计算
    每台路由器以自身为Root执行SPF计算。华为设备初次计算过程执行全部节点的Full SPF,在此之后都执行iSPF计算。iSPF只重画受影响的节点及周边连接关系,位置不同范围不同,根节点的边发生变化则重新计算整个拓扑。
  3. 添加叶子节点
    OSPF路由器在计算叶子节点的路由时一般使用PRC(部分路由计算),即在ISPF计算出的最短路径树基础上计算叶子节点路由。
    在计算叶子链路网段的cost时,常见的是链路上的路由计算。当对端路由器和本路由器均下挂同一网段时,选择成本更小的本路由器的网段放到OSPF路由中,由于IP路由表中的直连路由更优,所以dis ip routing-table看不到OSPF这条路由.
    以下几种LSA携带的信息用于计算不同“叶子”的路由:
    • lSA2:MA网络的网段挂在虚节点N上;
    • LSA3:挂在ABR节点上(其他区域内拓扑变化不影响本区域SPF);
    • LSA7:挂在ASBR节点上。
    • LSA5: 挂在ASBR或ABR,依ASBR是否在当前区域而定

posted on 2021-05-02 19:10  屋后的白桦  阅读(1500)  评论(0编辑  收藏  举报

导航