简说IPv6
上QQ阅读APP看书,第一时间看更新

3.2.2 静态路由和动态路由

1.静态路由

每一台路由器工作时都会有一个路由表,为路由器的选路提供依据。在路由表的表项(也就是通常所说的路由)中,那些人为设置的,就是这里讨论的静态路由。静态路由不随网络拓扑的变化而变化,不论它所指示的路径是否有用,只要不人为删除,它总是存在于路由表中。

静态路由具有以下优点:


·简单、高效、可靠;

·比动态路由协议需要更少的带宽;

·占用CPU处理时间比较少;

·在小型网络上容易配置,便于维护路由表。


静态路由的缺点:


·配置和维护比较耗费时间;

·配置容易出错,尤其是在大型网络中;

·不能随着网络的扩展而扩展,维护起来比较麻烦;

·希望将一部分网络隐藏起来,静态路由可以达到这样的目的。

2.动态路由

动态路由,是指路由器能够自动建立自己的路由表,并能够根据网络结构的变化而适时进行调整。如果网络中节点与节点间的链路发生故障,此时存在其他可用路由时,动态路由会自行切换至可用路径进行报文转发。

动态路由具有以下优点:


·无须管理员手工维护,减轻管理员的工作负担;

·占用网络带宽;

·在路由器上运行路由协议,使路由器可以自动根据网络拓朴结构的变化调整路由条目;

·适用于规模大、拓扑复杂的网络。


当网络的拓扑结构发生变化或某条路由出现故障时,动态路由可以自动更新路由表。动态路由器指的就是能够动态配置路由表的路由器。它通过路由器之间的实时通信可以自动建立和维护路由表。路由器之间是根据路由协议进行通信的。路由器之间周期性地交换路由表的。除了最初的配置,动态路由器几乎很少需要即时维护,因此可以适用于较大型的网络。

由于具有度量和恢复网络故障的能力,因此动态路由是中型、大型网络较好的选择。常见的动态路由协议有:RIPng、OSPFv3、IS-ISv6、BGP4+等。

1)RIPng概述

RIPng(Routing Information Protocol next generation,RIP协议下一代)是一种基于IPv6网络和算法的协议,它通过距离向量算法来计算到达目的地的最佳路径。

在IPv4中,使用最广泛的基于距离向量的路由协议是路由信息协议RIP。RIP经过多年的应用,已经较为成熟和稳定。RIP最大的优点就是比较简单,在中小规模、拓扑结构比较简单的网络上易于管理和维护。但对于较大规模的网络,由于其选路存在环路以及计数到无穷大等问题,选路性能不如基于链路状态的协议(如OSPF),因而较少被采用。考虑到RIP与IPv6存在兼容性的问题,IETF对现有技术进行升级改造,制定出IPv6下的RIP标准,即RIPng。

RIPng使用Bellman-Ford距离向量算法来决定到达目的地的最佳路径。RIPng使用跳数(hop count)作为度量。RIPng允许路由器在基于IPv6的网络上交换信息从而计算路由。RIPng一般作为中等或偏小规模的网络自治系统中的内部网关协议。

2)OSPFv3概述

OSPFv3是OSPF version 3(Open Shortest Path First version 3)的简称,它应用于IPv6网络中,基于OSPFv2进行修改,是一个独立的路由协议。OSPFv3在RFC2740中定义。

随着全球互联网技术的飞速发展,基于IPv4的OSPF路由协议已成为广域网、企业网采用最多、应用最广泛的路由协议之一。OSPF路由协议是一种链路状态型路由协议,一般在同一个路由域内。路由域是指在一个自治系统(Autonomous System,AS)中,一组通过统一的路由策略或路由协议互相交换路由信息的网络。作为一种链路状态的路由协议,OSPF与距离向量路由协议的不同之处是将链路状态公告(Link State Advertisement,LSA)传送给在某一区域内的所有路由器,而使用距离向量路由协议的路由器则将全部或部分的路由表传递给与其相邻的路由器。

从IPv4向IPv6过渡的阶段,OSPFv3作为下一代网络中的核心路由技术,已引起学术领域的高度重视和深入研究,并逐渐成为IPv6网络中路由技术的主流协议。OSPFv3是专为IPv6设计的,也是基于链路状态的动态路由协议,同时也是一个为运行在单个自治系统上的路由协议而设计的。OSPFv3在协议设计思路和协议结构上和OSPFv2很相似。在OSPFv3中,每个路由器都有描述其当前状态和接口状态的LSA,每台IPv6路由器有效地公告各种LSA。

在链路状态数据库中总存在大量的LSA集合,每台路由器计算以自己为根的一个最短路径树,这些路径最终成为IPv6路由表中的OSPFv3路由。为了减少LSDB的大小,OSPFv3允许创建区域。一个区域是一组连续的网段。在所有OSPFv3网络中,至少有一个区域称为骨干域。OSPFv3允许在其边界上进行路由信息汇总。

3)IS-ISv6概述

除了OSPFv3,IS-ISv6也是被广泛使用的链路状态路由协议。IS-IS(Intermediate System-to-Intermediate System,中间系统到中间系统)定义在ISO文档10589中,最初是应用在CLNS网络的动态协议。由于IS-IS具有良好的扩展性,它首先扩展支持了IPv4路由协议的功能(RFC1195),有人将这种既能为IP服务,又能为CLNS服务的协议叫作集成的IS-IS。

按照类似的方法,IS-IS也可以通过扩展来支持IPv6的路由信息。针对IPv6的IS-IS协议标准草案已经讨论过多次,但目前还没有形成正式的RFC标准。该草案通过在IS-IS数据报文(Hello、LSP和SNP)中引入TLV(可变长度的数据域),使其支持IPv6路由功能。草案中只是增加了有关IPv6的TLV,邻居数据库、拓扑数据库的建立和维护上依旧保持了ISO10589和RFCl195的模式。因此,CLNSIPv4和IPv6具有相同的拓扑结构,我们将这种实现方式称作IS-ISv6单一拓扑模式。

人们很快发现,由于单一拓扑模式在IPv4和IPv6网络完全重合的要求上存在不足,限制了IPv6网络的部署。IPv4的数据报文错误地被转发到IPv6网络,造成路由的错乱和麻烦,无法同时满足IPv4、IPv6对扩展范围的需求。IS-ISv6多重拓扑模式的出现彻底解决了这些问题,它通过IPv4和IPv6不同的网络拓扑避免了两个网络必须一致的限制。多重拓扑模式为IPv4和IPv6网络分别建立了一套拓扑数据库,并进行最短路径优先算法的计算。这样IPv4和IPv6就拥有了相互独立的路由子系统,使IPv6网络的建设彻底摆脱了IPv4的限制,也给IPv6网络的快速发展提供了条件。

目前IS-ISv6还处于草案阶段,没有发布正式的RFC,而且和OSPF的起源相同(OSPF来源于IS-IS的一个早期版本)。

4)BGP4+概述

为了使BGP4(Border Gateway Protocol 4)能够支持IPv6等多种网络层协议,BGP4进行了扩展即BGP4+。RFC1771中定义了边界网关协议,它是目前使用最广泛的IPv4外部路由协议。1999年,为了能够支持非典型性网络通信的需求,在BGP4的报文中加入了一些新的字段,这些新的字段及属性被称为多协议扩展,这些扩展最初是假设用来支持多播路由的。这些新的字段同样也可以用来传播IPv6的地址信息,后来这些扩展对MPLS也提供了支持。扩展的BGP版本被称为BGP4+或者多协议(MultiProtocol)BGP,在当前的网络环境中普遍使用这个扩展的BGP来传播IPv6的路由信息。

6BGP4+属于距离向量协议,它的基本功能是在自治系统间自动交换无环路的路由信息。它引入了NLRI的两个属性,分别是MP_REACH_NLRI和MP_UNREACH_NLRI,分别用来公告可达路由和下一跳路由信息,及用来撤销不可达路由。这两者都属于可选非传递属性,以便与BGP进行通信。Next_Hop的属性是用IPv6地址来标识,用IPv6全球单播地址或者下一跳的链路本地地址都可以。

IPv6的RIPng协议和OSPFv3协议都在一个自治系统内部使用,与这两个协议不同,BGP4+协议被设计在多个自治系统之间进行路由信息交换。BGP4+协议的路由信息在多个自治系统之间建立逻辑路径树。然后BGP4+路由器使用路径树中的信息在自己的路由表中建立无循环的路由。BGP4+是一种域间路由协议,它处理各ISP间的路由传递。其具有丰富的路由策略的特点,这是OSPFv3、RIPng等协议不具备的。BGP4+通过在ISP边界路由器上增加过滤路由的策略,把BGP、OSPFv3、RIPng等路由发送到对方。随着IPv6实验网络的大量组建,BGP4+将得到越来越多的应用。

综上所述,BGP4+之所以能够在IPv6网络中得以应用,是因为通过利用BGP4的多协议扩展属性来实现的,而BGP4的消息机制和路由机制在BGP4+中并没有发生变化。因此,BGP4+和BGP4在应用场合和工作原理上没有太大差别,只是BGP4的多协议扩展属性,既能支持IPv4,也能对IPv6提供良好支持。