招生热线-郑州总部:0371-53313521/85517887 沈阳分部:024-31079621 西安分部:029-68569207

宇信张娇老师详解HCIE-Routing & Switching面试考点:OSPFv3新增LSA

【宇信教育】3年前阅读(918)

在HCIE-Routing & Switching面试中,我们经常会被问到关于OSPFv3的相关考题,而在OSPFv3中,新增的两类LSA也成为面试的大热点,下面请跟随我们一起重点了解一下OSPFv3新增的两类LSA。


首先,我们先来了解一下OSPFv3的常用LSA信息以及与OSPFv2的LSA的差异。


OSPFv3是OSPF Version 3的简称,是运行于IPv6的OSPF路由协议,OSPFv3在OSPFv2基础上进行了修改,是一个独立的路由协议。同OSPFv2一样,OSPFv3协议同样把自治系统划分成逻辑意义上的一个或多个区域,通过LSA(link state advertisement)的形式发布路由。


我们来简单介绍一下OSPFv3的LSA类型:



通过以上OSPFv3的LSA学习,我们可以发现,OSPFv3的某些LSA与OSPFv2的LSA功能上很相似,但不完全相同,比如Type1类Router-LSA和Type2类Network-LSA与OSPFv2的Type1类和Type2类LSA名称相同,但功能上并不完全一样,还有Type3类和Type4类LSA与OSPFv2的对应Type3和Type4类LSA功能相同,但是名称有修改,Type5和Type7类LSA功能和名称都相同。另外在OSPFv3新增了Type8类Link-LSA和Type9类Inter-Area-Prefix-LSA。如下图所示(OSPFv2和OSPFv3的LSA的差异):




接下来我们重点介绍OSPFv3新增的两类LSA及其对收敛的影响.
1、Link LSA
Link-LSA是OSPFv3新增的一种LSA类型,一个路由器如果启动了OSPFv3协议,该路由器会为每个运行OSPFv3的接口生成一个link-LSA,描述该接口的Link-local地址和接口在该链路上的IPv6前缀信息,只能在链路范围内传递。Link LSA用于通告在本链路上直连的路由器间有用的信息,接在本链路上的每台路由器都通告自己的Link LSA到直连链路。当然,路由器也会从该接口收到所有接在这条链路上的其他路由器的Link LSA。Link LSA包含如下功能:
(1)通告接口的Link-local地址给链路上的其他节点,其他节点可以使用Link-local地址作为路由的下一跳地址。
由于OSPFv3的Router LSA中Link Data中移除了协议地址,取而代之的为接口ID,这样OSPFv3在描述拓扑连接关系时多用接口ID来描述,但在路由计算时下一跳仍然需要通过IP地址来表示,比如,路由器计算出访问某个目的地址的需要经过邻居的0x1接口,此时它需要在当前路由表中添加邻居的0x1接口所对应的IPv6地址来充当下一跳。OSPFv3路由的下一跳地址一律是Link-Local地址,当前路由器要知道邻居0x1接口的Link Local地址就需要用到邻居通告的Link LSA,其中包含0x1接口和Link-Local地址的对应关系。
(2)向链路范围内的其他路由器通告本链路上的IPv6前缀信息
在OSPFv3中,区域内节点的前缀信息不再包含在Router LSA和Network LSA中(这两类LSA在OSPFv3中只描述拓扑信息,不再描述前缀信息),而是包含在新增的Intra-Area-Prefix-LSA中,但该LSA中并没有说明哪些前缀对应那条链路,并且由DR生成的Intra-Area-Prefix-LSA用于描述MA网络的所有前缀信息,DR如何知道该网络上所有路由器的接口的所有前缀信息呢?这些信息来源于该链路上的每台路由器为该链路生成的Link LSA。
(3)在广播和NBMA网络上为DR提供Option取值信息
2类LSA即Network LSA中的Option字段显示该链路上的所有路由器的Link-LSA的Option字段的集合,即所有路由器的能力集合,该能力集合也来源于该链路上的每台路由器为该链路生成的Link LSA。Link-LSA的结构如下:




Rtr Pri:该路由器在该链路上的优先级(Router Priority);Options:描述该路由的能力;Link Local Interface Address:该接口的本地链路地址,用于路由的下一跳计算;#Prefix:所包含前缀的个数;其他:Prefix三元组。【备注:在OSPFv2中,使用“IP网段+掩码”来表示前缀信息,而且两段信息在不同LSA中的位置还各不相同,结构很不清晰。在OSPFv3的LSA中,使用专门的三元组(Prefix-Length, PrefixOptions, Prefix)来表示前缀信息】
2、Intra-Area-Prefix-LSA
OSPFv2的主要缺点除了不能支持IPv6之外,还在于其1类LSA和2类LSA中既承载拓扑信息,又承载网络信息,无法真正实现拓扑和网络信息的分离,如下图:




AR1和AR2同时运行OSPFv2,互联属于area0区域,AR1上有个Loopback0接口,发布到Area0中,当L0接口地址被删除或者取消network发布时,会触发区域内的ISPF算法和PRC计算,为什么明明拓扑没有变化,只是路由信息变化,仍然会触发ISPF计算呢,原因就是OSPFv2中区域内1类LSA中携带的既有拓扑信息,又有路由信息,路由结构的变化会触发新的1类LSA的生成,区域内会重新进行拓扑计算和路由计算,该方式造成OSPFv2的收敛效率低下。所以重新设计OSPFv3时,将LSA1/LSA2只用于承载拓扑信息,而网络信息移到Intra-Area-Prefix-LSA(即9类LSA,以下简称9类LSA)中去承载,在区域内泛洪。
9类LSA的作用是携带区域内的网络信息,即原OSPFv2的Router LSA中的Stubnet的网络信息和2类LSA中的网络信息,这样实现拓扑信息和网络信息分别使用不同的LSA来携带,1类LSA和2类LSA仅仅包含用于拓扑计算的拓扑信息,区域内的网络信息使用9类LSA来携带,这样网络信息的变化仅影响9类LSA,而不会导致拓扑的重新计算,完成了拓扑和网络信息的真正分离。
9类LSA携带区域内的一个或多个IPv6前缀信息,包含* 依附于路由器的Prefix* 依附于Stub网段的Prefix* 依附于Transit网段的Prefix
9类LSA对收敛的影响:定义9类LSA使得接口前缀变化,不会触发拓扑的计算,只会触发PRC的重新计算,上图中,如果AR1和AR2运行OSPFv3,则Loopback0接口的前缀变化或者接口去使能OSPFv3之后,该路由器会重新生成一条新的9类LSA,不包含该L0接口的前缀信息,泛洪到本区域,其他路由器收到之后会重新计算路由,删除对应路由条目,区域内拓扑信息不需要重新计算(1类LSA和2类LSA没有变化),该方式使得OSPFv3节省计算资源的同时,收敛速度大大提升。相比OSPFv2,OSPFv3中,Intra-Area-Prefix-LSA、Inter-Area-Prefix-LSA、Inter-Area-Router-LSA、AS-External-LSA及Type 7 LSA,这些是OSPF中传递网络前缀或成本信息的LSA,它们的任何变化,只要拓扑没有同时发生变化,只会触发局部路由计算即PRC计算。
9类LSA的结构如下:




各字段解释如下:#Prefixes:LSA中包含的Prefix个数。

Referenced Link State Type:

=1: 携带的Prefix依附于Router(包括Stub网络);

=2: 携带的Prefix依附于Transit Network。

Referenced Link State ID:

Type1:  0;

Type2:DR接口ID。

Referenced Advertising Router:

Type 1:依附的路由器Router ID;

Type 2:DR Router ID。

其他:Prefix三元组信息(所携带的前缀长度、Prefix Option、前缀)。

根据所参考的LSA不同9类LSA可分为以下两种情况:

A、参考Router-LSA,由各路由器分别生成,用于发布点到点链路的前缀信息以及Stub网络的前缀信息;

B、参考Network-LSA,由DR生成,用于发布该链路对应网络上的所有前缀信息,这些前缀来自链路上所有路由器各自生成的Link-LSA(见Link-LSA讲解)。但是,Link-LSA中的本地链路地址信息、NU或LA位置1的前缀除外。

(1)Intra-Area-Prefix-LSA (依附Router)举例



<RTA>display OSPFv3 lsdb intra-Prefix
  Intra-Area-Prefix-LSA (Area 0.0.0.0)
  LS Age: 20
  LS Type: Intra-Area-Prefix-LSA
  Link State ID: 0.0.0.1
  Originating Router: 1.1.1.1
  LS Seq Number: 0x8000003E
  Checksum: 0xA932
  Length: 76
  Number of Prefixes: 3
  Referenced LS Type: 0x2001 参考Router LSA
  Referenced Link State ID: 0.0.0.0  第一个Router LSA LS ID
  Referenced Originating Router: 1.1.1.1   Router ID
  Prefix: 3000:2:2::/48          前缀三元组信息
  Prefix Options: 0 (-|-|-|-)
 Metric: 1562
 Prefix: 3000:1:1::/48
 Prefix Options: 0 (-|-|-|-)
 Metric: 1562

 Prefix: 3000:3:3::3/128
 Prefix Options: 2 (-|-|LA|-)  
 Metric: 0

(2)Intra-Area-Prefix-LSA (依附Transit网络)举例




<RTA>display OSPFv3 lsdb intra-Prefix
  Intra-Area-Prefix-LSA (Area 0.0.0.0)
  LS Age: 1407
  LS Type: Intra-Area-Prefix-LSA
  Link State ID: 0.0.0.2
  Originating Router: 2.2.2.2  DR生成
  LS Seq Number: 0x80000028
  Checksum: 0xB1E7
  Length: 68
  Number of Prefixes: 3
  Referenced LS Type: 0x2002  参考Network-LSA
  Referenced Link State ID: 24.0.2.2  DR接口ID
  Referenced Originating Router: 2.2.2.2  DR Router ID

    Prefix: 2000:1:1::/48            前缀三元组信息
    Prefix Options: 0 (-|-|-|-)
    Metric: 0

    Prefix: 2000:2:2::/48
    Prefix Options: 0 (-|-|-|-)
    Metric: 0

    Prefix: 2000:3:3::/48
    Prefix Options: 0 (-|-|-|-)
    Metric: 0

通过这篇文章,你了解了OSPFv3新增的两类LSA的功能以及对收敛的影响了吗,认识OSPFv3的LSA对协议的学习来说很重要,大家可以动手做一下实验,深入验证一下OSPFv3的LSA信息哦!



作者简介

张娇,郑州市宇信职业培训中心讲师,从业10年以上,具备丰富的教学和工程经验,拥有精湛的网络专业知识和高超的培训技巧,对于华为R&S、WLAN、云计 算均有较深的理解。





TOP