IPv6单播路由协议解析

相关专题: 中兴通讯

  作为IP网络的主要基础设施,路由器在网络中占据着绝对主要的地位。路由器广泛支持的路由协议主要包括RIP(Routing Information Protocol,路由消息协议)、OSPF(Open Shortest Path First,开放式最短路径优先)、BGP(Border Gateway Protocol,边界网关协议)以及IS-IS(Intermediate System-Intermediate System,中间系统到中间系统)等。

  随着IPv6时代的来临,上述这些IPv4网络使用的路由协议迫切需要改进,以提供对IPv6的支持。这样,就从IPv4路由协议中衍生出各种IPv6路由协议,主要包括RIPng(RIP next generation,下一代路由消息协议)、OSPFv3、BGP4+和IS-ISv6等。从这些协议的标准化进程来看,RIPng和OSPFv3较为成熟,已经形成RFC;支持IPv6的IS-IS协议标准草案也已经过多次讨论修改,标准正在形成之中。

  IPv6路由协议

  RIPng路由协议

  RIPng是支持IPv6的距离向量路由协议,基于UDP(User Datagram Protocol,用户数据报协议),使用端口号521发送和接收数据。RIPng报文大致分为两类:选路信息报文和用于请求信息的报文。它们都使用相同的格式,由固定的首部和路由表项RTE(Route Table Entry)组成。其中路由表项可以有多个,基本工作原理是:路由器每隔30s发送一次RIPng路由信息,如果一个路由器在180s内未收到来自另一个路由器的更新信息,就会将相应的路由标记为不可用路由;如果在240s后依然未收到更新信息,则认为相应网络已不存在,并将路由表中的所有相关路由项予以删除。由此可以看出,RIPng对RIP协议的改变仅仅是允许接收128位地址,没有增加新特性。这样做的目的主要是为了保持RIPng的简单性,使得RIPng网络的配置与维护比较简单。但它限制了最大跳数为15,故只适合于企业建设小规模网络。

  OSPFv3路由协议

  OSPF意为“开放式最短路径优先”,“开放”是针对当时某些厂家的“私有”路由协议而言的,而正是因为开放性,它才具有强大的生命力和广泛的用途。其工作原理是,通过传递链路状态来得到网络信息,维护一张网络有向拓扑图,利用最小生成树算法得到路由表。当路由器初始化或当网络结构发生变化时,路由器就会产生链路状态广播数据报文,其中包含路由器上所有相连的链路,即所有端口的状态信息。这些广播数据通过泛洪(flooding)方式在某一个OSPF区域内进行传送。所谓泛洪是指路由器将其LSA(Link State Advertisement,链路状态公告)数据报文传送给所有与其相邻的OSPF路由器,相邻路由器根据收到的链路状态信息更新自己的数据库,并将该链路状态转送给与其相邻的路由器,直至稳定的一个过程。

  从IPv4到IPv6,OSPF在原理上并没有发生变化,仍采用LSA数据库,并保持与邻接路由器之间的同步。但从IPv4到IPv6的语义发生了变化,因此,OSPFv3为了支持IPv6地址格式,对OSPFv2协议进行了大量修改。不向位于数据包和链路状态公告起始位置的报头插入基于IP的数据,而是利用独立于网络协议的信息来执行过去需要IP报头数据才能完成的关键任务,如识别发布路由数据的LSA等。除了改变报头数据以外,OSPFv3还对LSA所发挥的作用进行了重新定义,将公告网络拓扑和IPv6数据的任务分配到新的和已有的LSA中,OSPFv3的网络和路由器LSA不再发布IP数据,路由器只利用它们来识别网络设计。为公告这些从LSA中删除的数据,OSPFv3引入了两个专用IPv6信息:Intra-Area-Prefix-LSA和Link-LSA,前者在本区域泛洪,后者只在本链路区域泛洪。OSPFv3对数据报文和LSA采取的这些改进措施,使得其减少了对IPv6的依赖性,为将来支持新型网络协议提供了可能。另外,为了简化复杂的容错网络的建设,OSPFv3引入了Instance ID和R-bit选项。作为每个OSPFv3包头的一个组件,Instance ID不再依赖于过去需要的复杂的认证方案或访问清单就能控制共享物理网络与OSPF域路由器之间的通信。R-bit则为服务器这类最终系统提供了有效冗余性。

  由上述可知,OSPFv3与OSPFv2相比,虽然在泛洪技术、路由原理上没有什么变化,但新增了一些OSPFv2不具备的功能,且具有很好的通用性,为以后的协议升级提供了便利。

  IS-ISv6路由协议

  IS-IS路由协议在IPv4中已有不少应用,它可以运行在一个单纯的CLNS(ConnectionLess Network Service,无连接网络业务)环境、IP环境或CLNS/IP混合环境中。由于OSPF借鉴了IS-IS很多的设计思路,因此,从表面来看,两者具有很多共性,比如:都维护一个链路状态数据库,并且这个数据库都来自于一个基于Dijkstra的SPF(Shortest Path First,最短路径优先)算法得到的一棵最短路径树;利用Hello报文来形成和维护邻接关系;使用区域的概念来构成一个两级层次的拓扑结构;具有在区域之间提供地址汇总的能力;属于无类别路由选择协议;通过选取一个指定的路由器来描述广播型网络;具有认证能力等。由于IS-IS在设计上与网络层协议相对独立,因此,它移植到IPv6比OSPF更有优越性,可较为方便地扩展到IPv6网络中。但是,到目前为止,IS-ISv6还未正式形成RFC标准,只有draft-ietf-isis-ipv6.txt标准草案。它通过在IS-IS数据报文(Hello、LSP和SNP)中引入两个可变长度的数据域TLV(Type、 Length and Value,类型、长度和含义),即IPv6 Reachability TLV和IPv6 Interface Address TLV,以及一个新的NLPID(Network Layer Protocol IDentifier,网络层协议标识)来标识IPv6。

  BGP4+路由协议

  BGP用来在自治域之间实现网络可达信息的交换,整个交换过程要求建立在可靠的传输连接基础上。这样做有许多好处,比如可以将所有的差错控制功能交给传输协议来处理,而其本身就变得简单许多。BGP使用TCP作为传输协议,缺省端口号为179,采用路径向量的概念并对CIDR(Classless Inter-Domain Routing,无级别域内路由)提供支持。路径向量中记录了路由所经路径上的所有AS(Autonomous System,自治系统)列表,从而可以有效检测并避免复杂拓扑结构中可能出现的环路问题。对CIDR的支持,减少了路由表项,从而加速了选路速度,同时减少了路由器间所要交换的路由信息。另外,BGP一旦与其他BGP路由器建立了对等关系,仅在最初的初始化过程中交换整个路由表,此后只有当自身路由表发生改变时,才会产生更新报文,发送给其他路由器。而且该报文仅包含那些发生变化的路由,这样,不但减少了路由器的计算量,而且节省了所占带宽。

  BGP有4种分组类型:打开分组,用来建立连接;更新分组,用来通告可达路由和撤销无效路由;存活分组,周期性地发送以确保连接的有效性;通告分组,当检测到一个差错时即被发出。

  支持IPv6的域间路由协议主要是BGP4+,它在BGP4协议基础上,将IPv6网络层协议的信息反映到NLRI(Network Layer Reachable Information,网络层可达信息)及Next_Hop属性中。它引入的两个NLRI属性是MP_REACH_NLRI和MP_UNREACH_NLRI,分别用来发布可达路由和下一跳信息,以及用来撤销不可达路由。两者都是可选非过渡属性,以便与BGP对端进行通信。Next_Hop属性用IPv6地址标识,可以是IPv6全球单播地址或者下一跳的链路本地地址。

  由上述可见,BGP4+利用了BGP的多协议扩展属性来达到在IPv6网络中应用的目的,而BGP中的消息机制和路由机制在BGP4+中都没有发生变化。因此可以说,BGP4+在应用场合和工作机理上与BGP4没有区别,只是BGP4的多协议扩展,既可支持IPv4,也可提供IPv6良好的支持。

  IPv6路由协议的特点

  从路由协议的应用范围来看,OSPFv3、RIPng和IS-ISv6适用于自治域内部路由,为内部网关协议;BGP4+用来在自治域之间交换网络可达信息,是外部网关协议。

  从各路由协议的路由算法来看,RIPng采用距离向量算法;IS-ISv6和OSPFv3则采用链路状态算法。一般来说,基于距离向量算法的路由协议易于配置和管理,在小型网络中应用比较广泛,但用于大型网络时,不但其固有的环路问题变得更难解决,而且其所占用的带宽也迅速增长,以至于网络无法承受。这时,会更多地采用链路状态算法的路由协议OSPFv3和IS-ISv6。它们与距离向量协议相比,在路由域中增加了分层系统,因而具有良好的扩展性和更多的控制功能,适合于运营商建设大规模网络。IS-IS对IPv6的支持只是扩展了两个TLV,对协议没有太大的改动,可以同时交换IPv4和IPv6的路由信息。OSPFv3则是新的协议,还没有经过OSPFv2那样的实际网络运营考验,而且只能用来交换IPv6路由信息。但从组网的观点来看,同在IPv4网络中一样,IS-IS和OSPFv3这两种路由协议没有本质区别。在一个网络中,从技术上说,可以选择这两种路由协议的任何一种。但在一般情况下,不推荐核心骨干网在隧道工作方式下运行OSPFv3或IS-IS,因为在IPv4网络环境恶化的情况下,会引起SPF的频繁计算,造成IGP(Interior Gateway Protocol,内部网关协议)路由的不稳定。

  BGP4+处理各ISP间的路由传递,是一种域间路由协议。其特点是有丰富的路由策略,这是RIPng、OSPFv3等协议无法做到的,因为它们需要全局的信息计算路由表。BGP4+通过在ISP边界路由器上增加一定的策略,选择过滤路由,把RIPng、OSPFv3、BGP等路由发送到对方。随着IPv6试验网络的大量组建,BGP4+将得到越来越多的应用。

  综上所述,在IPv6相关的路由协议中,无论是新开发的OSPFv3,还是基于IPv4协议扩展的BGP4+、IS-ISv6等,都是从相关的IPv4路由协议演变而来的,旨在提供对IPv6的支持,其应用场合、路由思路及优缺点并没有发生根本改变,没有真正从IPv4中独立出来,不能算作全新的事物。

  尽管经过几年时间的发展,IPv6路由协议正趋于成熟,但还没有经过像IPv4路由协议那样的实际运行网络的大规模路由流量和复杂网络环境的考验。现在,随着全球各地对IPv6网络部署的逐步展开,许多路由器厂商都纷纷推出纯IPv6或IPv4/v6双栈的高/低端路由器,提供对IPv6全套路由协议的支持,因此,IPv6路由协议正面临着实战检验。它们能否在下一代网络中担当起路由的重任,或是被其他更优、更好的全新路由协议所取代,我们将拭目以待。但是,可以相信,IPv6路由协议将在实践中得到快速发展。

----《现代通信》

作者:田东旭 王忠 李竹平 中兴通讯股份有限公司深圳技术中心研究部


微信扫描分享本文到朋友圈
扫码关注5G通信官方公众号,免费领取以下5G精品资料
  • 1、回复“YD5GAI”免费领取《中国移动:5G网络AI应用典型场景技术解决方案白皮书
  • 2、回复“5G6G”免费领取《5G_6G毫米波测试技术白皮书-2022_03-21
  • 3、回复“YD6G”免费领取《中国移动:6G至简无线接入网白皮书
  • 4、回复“LTBPS”免费领取《《中国联通5G终端白皮书》
  • 5、回复“ZGDX”免费领取《中国电信5GNTN技术白皮书
  • 6、回复“TXSB”免费领取《通信设备安装工程施工工艺图解
  • 7、回复“YDSL”免费领取《中国移动算力并网白皮书
  • 8、回复“5GX3”免费领取《R1623501-g605G的系统架构1
  • 本周热点本月热点

     

      最热通信招聘

      最新招聘信息

    最新技术文章

    最新论坛贴子