面试官:重点描述一下三大路由协议对IPv6的支持

2021-07-29 14:46:42 浏览数 (1)

OSPFv3
(1)报文头部
  • OSPFv3的报文头部移除了所有的认证字段,直接使用IPv6的认证及安全处理,不再需要其自身来完成认证。
  • 新增了Instance ID字段,缺省值为0,允许在一个链路上运行多个OSPFv3的实例,每个实例具有唯一的Instance ID,Instance ID只在本地链路上有意义。
(2)Hello报文
  • 删除了掩码字段
  • 新增了Interface ID字段,唯一标识了建立连接的接口,就是发送Hello报文的接口
  • Option位进行了扩充,增加了R位和V6位
    • ‍R位:指明始发路由器是否具备转发能力,R位置0的时候,表示该始发节点的路由信息将不参与路由计算
    • V6位:如果V6位置0,则表示该路由器或链路不会参与IPv6路由计算
    • AT:表示是否支持OSPFv3认证。若AT=1,则在OSPFv3报文后增加认证尾部字段,包含认证信息。
    • DC:表示是否具有支持按需链路的能
    • NP:表示是否为NSSA区域
    • MC:表示是否支持转发组播数据报文
    • E:表示是否支持外部路由‍
(3)LSA头部
  • 删除了Options字段
  • 扩充了LS Type(链路状态类型)字段
    • ‍U位:描述了路由器收到一个类型未知的LSA时如何处理,
      • ‍0:表示把类型未知的LSA当成具有链路本地范围的LSA一样处理
      • 1:表示按照S2/S1位标识的泛洪范围来处理
    • ‍S2/S1位:共同标识LSA的泛洪区域
      • 00:表示LAS只在产生该LSA的本地链路上泛洪
      • 01:表示LSA的泛洪范围是产生该LSA的路由器所在区域
      • 10:表示LSA在整个AS内泛洪
      • 11:保留 ‍
    • LSA Function Code:已知就按照已知类型转发,如果未知就根据S2/S1来进行转发
(4)一类LSA
  • 设备会为每个运行OSPFv3接口所在的区域产生一个LSA,描述了设备的链路状态(Link Type、Interface ID、Neighbor Interface ID以及Neighbor Router ID)和开销,在所属的区域内传播
  • 重要字段:
    • Flag位:
      • ‍‍W:OSPFv3中新增,用于组播路由
      • V:置1表示该路由器是虚连接的一端
      • E:置1表示该路由器是ASBR
      • B:置1表示该路由器是ABR‍‍
    • Link Type:链路类型
      • 类型为1表示P2P网络
      • 类型为2表示Transit网络
      • 类型为3表示保留
      • 类型为4表示虚连接
(5)三类LSA
  • 通过PrefixLength、PrefixOptions和Address Prefix三个字段来描述路由
  • 重要字段:
    • PrefixOptions:前缀特性
      • P位:传播位,置1表示一个NSSA区域的前缀需要被ABR传播出去
      • MC位:组播位,置1表示这个前缀应该纳入组播计算中
      • LA位:本地地址位,置1表示这个前缀是路由器的一个接口地址
      • NU位:非单播位,置1表示这个前缀不会纳入IPv6单播路由计算中
(6)五类LSA
  • 重要字段:
    • E:1bit,外部路由的Metric类型。
      • 如果设置为1,表示此为2类外部路由,其Metric不随着路由的传递而增长。
      • 如果设置为0,表示此为1类外部路由,其Metric随着路由的传递而增长。
    • F:1bit,如果设置为1,则表示后面的Forwarding Address可选字段存在。
    • T:1bit,如果设置为1,则表示后面的External Route Tag可选字段存在。
(7)八类LSA
  • 每个设备都会为每个链路产生一个Link-LSA,仅在始发链路内泛洪
  • 作用:
    • 向该链路上其他路由器通告本接口的链路本地地址
    • 向该链路上其他路由器通告本接口的IPv6前缀列表
    • 向该链路上其他路由器通告本链路始发的二类LSA中设置的可选项
(8)九类LSA
  • 九类LSA描述的是网段信息,只在所属的区域内传播,它需要依赖于拓扑信息,才能实现OSPFv3的路由计算,可以分为两种:
    • ①每台设备都会产生九类LSA,描述和一类LSA相关联的IPv6前缀地址
    • ②DR产生的九类LSA,描述和二类LSA相关联的IPv6前缀地址
  • 重要字段:
    • Referenced LS type:4Byte,表明这个LSA是参考一个Router-LSA,还是一个Network-LSA。
      • 该字段值为1表示参考一个Router-LSA
      • 该字段值为2表示参考一个Network-LSA
    • Referenced Link State ID:4Byte。
      • 当这个LSA是参考一个Router-LSA时,该字段值为0
      • 当这个LSA是参考一个Network-LSA时,该字段值为该链路的DR的InterfaceID
    • Referenced Advertising Router:4Byte。
      • 当这个LSA是参考一个Router-LSA时,该字段为这个路由器的RouterID
      • 当这个LSA是参考一个Network-LSA时,该字段为该链路的DR的RouterID
ISIS

(1)为了支持IPv6路由的处理计算,ISIS新增了两个TLV和一个新的NLPID

  • 236号TLV:IPv6 Reachability TLV,定义了路由信息的前缀、度量值等信息来说明当前网络的可达性。
    • U:Up/Down位,标识这个前缀是否是从高Level通告下来的,用来防环
    • X:标识这个前缀是否是从其他路由协议中引入过来的,用于区分内部路由和外部路由
    • S:子TLV标识位
  • 232号TLV:IPv6 IP Interface Address TLV,相当于IPv4中的132号TLV(IP Interface Address TLV),只是将原来的32比特的IPv4地址修改为128比特的IPv6地址
  • NLPID:表示网络层协议报文的一个8比特的字段值,IPv6的NLPID值是142,如果ISIS支持IPv6,那么向外发布IPv6的路由信息时就必须携带NLPID值。该字段通过TLV 129来携带。

(2)ISIS多拓扑MT ID,增加了四种新的TLV:222、229、235、237

  • ISIS MT是指在一个ISIS自治域内运行多个独立的IP拓扑。例如IPv4拓扑和IPv6拓扑,而不是将它们视为一个集成的单一拓扑。
  • 这有利于ISIS在路由计算中根据实际组网情况来单独考虑IPv4和IPv6网络。根据链路所支持的IP协议类型,不同拓扑运行各自的SPF计算,实现网络的互相屏蔽。
  • 如图,数值表示对应链路上的开销值,Router A、Router C和Router D支持IPv4和IPv6双栈,Router B只支持IPv4协议,不支持IPv6协议。

如果Router A不支持ISIS MT,进行SPF计算时只考虑单一的整体拓扑,则Router A到Router C的最短路径是Router A--Router B--Router C,但是由于Router B不支持IPv6,所以Router A发送的IPv6报文将无法通过Router B到达Router C。

如果在Router A上使能了ISIS MT,此时Router A在进行SPF计算时会根据不同的拓普进行计算,当Router A需要发送IPv6报文给Router C时,Router A只考虑IPv6链路来确定IPv6报文转发路径,则Router A--Router D--Router C路径被选为从Router A到Router C的IPv6最短路径。IPv6报文被正确转发。

BGP4

传统的BGP只能管理IPv4单播的路由信息,对于使用其他的网络层协议的应用,在跨AS传递的时候就会受到一定的限制,因此就需要BGP的多协议扩展MP-BGP,MP-BGP就是为了提供对多种网络层协议的支持,对BGP-4进行的一个扩展,目前MP-BGP使用扩展属性和地址簇来实现对IPv6、组播和VPN相关内容的支持,BGP协议原有的报文机制和路由机制并没有改变。

MP-BGP对IPv6单播网络的支持特性称为BGP4 ,对IPv4的组播网络的支持特性称为MBGP,MP-BGP为IPv6单播路由和IPv4组播网络分别建立独立的拓扑结构,并且将其路由信息存储在独立的路由表中,保持单播IPv4网络、单播IPv6网络和组播网络之间路由信息的相互隔离,也就实现了用单独的路由策略来维护好各自网络的路由。

(1)MP-BGP拓展属性:

在BGP使用的报文中,与IPv4相关的三处信息都由Update报文携带,这三处信息分别是NLRI字段、Next-Hop属性、Aggregator属性。为实现对多种网络层协议的支持,BGP需要将网络层协议的信息反映到NLRI以及Next-Hop,因此MP-BGP引入了两个新的可选非过渡路径的属性。

  • 1)MP-REACH-NLRI:多协议可达NLRI,用于发布可达路由以及下一跳信息
  • 2)MP-UNREACH-NLRI:多协议不可达NLRI,用于撤销不可达路由信息

(2)地址簇

MP-BGP采用地址簇(Address Family)来区分不同的网络层协议,OPEN报文中的Optional Parameters字段是一个可选参数值,用于BGP验证或多协议扩展等功能的协商,并且携带相应的地址簇参数

0 人点赞