动态路由协议通过路由信息的交换生成并维护转发引擎所需的路由表。当网络拓扑结构改变时动态路由协议可以自动更新路由表,并负责决定数据传输最佳路径。
在动态路由中,管理员不再需要与静态路由一样,手工对路由器上的路由表进行维护,而是在每台路由器上运行一个路由协议。这个路由协议会根据路由器上的接口的配置(如IP地址的配置)及所连接的链路的状态,生成路由表中的路由表项。
作用动态路由协议的作用主要有以下三点:
(1)维护路由信息。
(2)建立路由表。
(3)决定最佳路由。
优缺点动态路由协议的优点:
(1)可以自动适应网络状态的变化。
(2)自动维护路由信息而不需要网络管理员的参与。
动态路由协议的缺点:
(1)由于需要相互交换路由信息,因而占用网络带宽与系统资源。
(2)安全性不如静态路。
在有冗余连接的复杂网络环境中,适合采用动态路由协议。在动态路由协议中,目的网络是否可达取决于网络状态。
分类所有的动态路由协议在TCP/IP协议栈中都属于应用层的协议。但是不同的路由协议使用的底层协议不同。
OSPF将协议报文直接封装在IP报文中,协议号89,由于IP协议本身是不可靠传输协议,所以OSPF传输的可靠性需要协议本身来保证。
BGP使用TCP作为传输协议,提高了协议的可靠性,TCP的端口号是179。
RIP使用UDP作为传输协议,端口号520。
IS-IS协议是开放系统互联(OSI)协议中的网络层协议,IS-IS协议基础是CLNP(Connectionless Network Protocol,无连接网络协议)。1
按寻径算法分类动态路由协议按寻址算法的不同,可以分为距离矢量路由协议和链路状态路由协议。
距离矢量路由协议
采用距离矢量(Distance-Vector,DV)算法,是相邻的路由器之间互相交换整个路由表,并进行矢量的叠加,最后学习到整个路由表。
距离矢量算法具有以下特点:
(1)路由器之间周期性的交换路由表。
(2)交换的是整张路由表的内容。
(3)每个路由器和它直连的邻居之间交换路由表。
(4)网络拓扑发生了变化之后,路由器之间会通过定期交换更新包来获得网络的变化信息。
距离矢量路由协议的缺陷:
(1)metric的可信度。因为距离仅仅表示的是跳数,对路由器之间链路的带宽,延迟等无考虑。这会导致数据包的传送会走在一个看起来跳数小但实际带宽窄和延时大的链路上。
(2)交换路由信息的方式,即路由器交换信息是通过定期广播整个路由表所能到达的适用网络号码。但在稍大一点的网络中,路由器之间交换的路由表会很大,而且很难维护,导致收敛很缓慢。
距离矢量路由协议有RIP、BGP等。
链路状态路由协议
采用链路状态(Link State,LS)算法。
链路状态是一个层次式的,执行该算法的路由器不是简单的从相邻的路由器学习路由,而是把路由器分成区域,收集区域内所有路由器的链路状态信息,根据链路状态信息生成网络拓扑结构,每一个路由器再根据拓扑结构图计算出路由。
链路状态路由协议有OSPF、IS-IS等。
按工作区域分类大的ISP的网络可能含有上千台路由器,而小的提供商通常只有十几台路由器。每个ISP管理的自己的内部网络,一般称为一个管理域,它和其他ISP的连通称为域间连接。因此,Internet又可以看成是由一个个域互连而成。
由于将网络分割为一个个管理域(AS),则根据协议适用的范围,产生了相应的两种路由协议,分别是域内路由协议和域间路由协议。
域内路由协议(Interior Gateway Protocol,IGP)
域内路由协议是负责一个路由域(在一个管理域内运行同一种路由协议的域,称为一个路由域)内路由的路由协议。
域内路由协议的作用是确保在一个域内的每个路由器均遵循相同的方式表示路由信息,并且遵循相同的发布和处理信息的规则,主要用于发现和计算路由。
域内路由协议有:RIP、OSPF、IS-IS等。
域间路由协议(Exterior Gateway Protocol,EGP)
域间路由协议负责在自治系统之间或域间完成路由和可到达信息的交互,主要用于传递路由。
域间路由协议有:EGP、BGP。
EGP协议,主要是早期的EGP协议(此处的EGP是外部网关协议的一种,两者不能混淆)其效率太低,仅被作为一种标准的外部网关协议,没有被广泛使用。而BGP协议特别是BGP-4,由于能处理聚合(采用CIDR无类域间路由技术)和超网(supernet)的功能,为互联网提供可控制的无循环拓扑,因此在互联网上被大量使用。
按路由类型分类Internet中的IP数据包一般是点到点的应用,但也有某些情况是点到多点的应用,如音频/视频会议(多媒体会议),某些信息(如股票)的实时数据传送,网络游戏和仿真等,我们分别称这两种IP数据包的路由为单播路由和组播路由。
单播路由和组播路由在传送IP数据包时使用的路由转发表的结构是不同的,并且使用的IP数据包中的信息也是不同的(不详细介绍),由此分出两种路由协议,分别是单播路由协议和组播路由协议。
单播路由协议
单播路由协议是生成和维护单播路由表的协议。
单播路由协议有RIP、OSPF、IS-IS、IGRP、BGP等。
组播路由协议
组播路由协议是生成和维护组播路由表的协议。
组播路由协议有DVMRP、PIM-SM、PIM-DM、MOSPF、MBGP等。2
性能指标衡量动态路由协议的性能指标有:
(1)正确性:能正确找到最优路径,且无路由自环。
(2)快速收敛:当拓扑结构发生变化时,能够迅速在自治系统中做相应的路由改变。
(3)低开销:协议自身的开销(占用的cpu/memory等)。
(4)安全性:协议自身不易受到攻击。
(5)普适性:适应各种拓扑结构和网络规模。
现有动态路由协议的性能比较,如下图所示。
常见种类简介RIP路由协议RIP(Routing information Protocol,路由协议)是应用较早、使用较普通的内部网关协议,适用于小型同类网络的一个自治系统(AS)内的路由信息的传递。RRIP有四个版本,即RIPv1、RIPv2、RIPv2、RIPv4。
RIP协议最初是为Xerox网络系统的Xerox parc通用协议而设计的,是Internet中常用的路由协议。RIP采用距离向量算法,即路由器根据距离选择路由,所以也称为距离向量协议。路由器收集所有可到达目的地的不同路径,并且保存有关到达每个目的地的最少站点数的路径信息,除到达目的地的最佳路径外,任何其它信息均予以丢弃。同时路由器也把所收集的路由信息用RIP协议通知相邻的其它路由器。这样,正确的路由信息逐渐扩散到了全网。
RIP使用非常广泛,它简单、可靠,便于配置。但是RIP只适用于小型的同构网络,因为它允许的最大站点数为15,任何超过15个站点的目的地均被标记为不可达。而且RIP每隔30s一次的路由信息广播也是造成网络的广播风暴的重要原因之一。
OSPF路由协议80年代中期,RIP已不能适应大规模异构网络的互连,OSPF随之产生。它是互联网工程任务组(IETF)的内部网关协议工作组为IP网络而开发的一种路由协议。
OSPF是一种基于链路状态的路由协议,需要每个路由器向其同一管理域的所有其它路由器发送链路状态广播信息。在OSPF的链路状态广播中包括所有接口信息、所有的量度和其它一些变量。利用OSPF的路由器首先必须收集有关的链路状态信息,并根据一定的算法计算出到每个节点的最短路径。而基于距离向量的路由协议仅向其邻接路由器发送有关路由更新信息。
与RIP不同,OSPF将一个自治域再划分为区,相应地即有两种类型的路由选择方式:当源和目的地在同一区时,采用区内路由选择;当源和目的地在不同区时,则采用区间路由选择。这就大大减少了网络开销,并增加了网络的稳定性。当一个区内的路由器出了故障时并不影响自治域内其它区路由器的正常工作,这也给网络的管理、维护带来方便。
IS-ISIS-IS是中间系统到中间系统的路由选择协议,是由国际标准化组织(ISO)提出的一种路由选择协议。ISIS协议主要用于城域网和承载网。
一个路由器是Intermediate System(IS),一个主机就是End System(ES)。主机和路由器之间运行的协议称为ES-IS,路由器与路由器之间运行的协议称为IS-IS。
IS-IS是一种链路状态协议,实际上与TCP/IP网络中的OSPF协议非常相似,它也使用Hello报文寻找毗邻节点,使用一个传播协议发送链接信息。
一个非技术问题是IS-IS受OSI约束,使得以前与OSPF相比它的发展比较缓慢。但IS-IS在RFC方面(Integrated)得到了很多的扩展,使得它可以比OSPF更容易、更简单地实现对新要求的支持,如IPv6、TE等。
BGP和BGP-4路由协议BGP是为TCP/IP互联网设计的外部网关协议,用于多个自治域之间。它既不是基于纯粹的链路状态算法,也不是基于纯粹的距离向量算法。它的主要功能是与其它自治域的BGP交换网络可达信息。各个自治域可以运行不同的内部网关协议。BGP更新信息包括网络号/自治域路径的成对信息。自治域路径包括到达某个特定网络须经过的自治域串,这些更新信息通过TCP传送出去,以保证传输的可靠性。
为了满足Internet日益扩大的需要,BGP还在不断地发展。在最新的BGp4中,还可以将相似路由合并为一条路由。3
路由表项的优先问题在一个路由器中,可同时配置静态路由和一种或多种动态路由。它们各自维护的路由表都提供给转发程序,但这些路由表的表项间可能会发生冲突。这种冲突可通过配置各路由表的优先级来解决。通常静态路由具有默认的最高优先级,当其它路由表表项与它矛盾时,均按静态路由转发。
动态路由协议的管理距离:
RIP 120
IGRP 100
EIGRP 90 EIGRP汇总路由—5;外部EIGRP---170
OSPF 110
BGP 200(从IBGP邻居收到的路由) 外部BGP—20(从EBGP邻居收到的路由)
IS-IS 115
未知 255
路由协议路由协议(Routing Protocol):用于路由器动态寻找网络最佳路径,保证所有路由器拥有相同的路由表,一般路由协议决定数据包在网络上的行走路径。这类协议的例子有OSPF,RIP等路由协议,通过提供共享路由选择信息的机制来支持被动路由协议。路由选择协议消息在路由器之间传送。路由选择协议允许路由器与其他路由器通信来修改和维护路由选择表。
典型的路由选择方式有两种:静态路由和动态路由。4
静态路由是在路由器中设置的固定的路由表。除非网络管理员干预,否则静态路由不会发生变化。由于静态路由不能对网络的改变作出反映,一般用于网络规模不大、拓扑结构固定的网络中。静态路由的优点是简单、高效、可靠。在所有的路由中,静态路由优先级最高。当动态路由与静态路由发生冲突时,以静态路由为准。
动态路由是网络中的路由器之间相互通信,传递路由信息,利用收到的路由信息更新路由器表的过程。它能实时地适应网络结构的变化。如果路由更新信息表明发生了网络变化,路由选择软件就会重新计算路由,并发出新的路由更新信息。这些信息通过各个网络,引起各路由器重新启动其路由算法,并更新各自的路由表以动态地反映网络拓扑变化。动态路由适用于网络规模大、网络拓扑复杂的网络。当然,各种动态路由协议会不同程度地占用网络带宽和CPU资源。
静态路由和动态路由的适用情形静态路由和动态路由有各自的特点和适用范围,因此在网络中动态路由通常作为静态路由的补充。当一个分组在路由器中进行寻径时,路由器首先查找静态路由,如果查到则根据相应的静态路由转发分组;否则再查找动态路由。
本词条内容贡献者为:
胡启洲 - 副教授 - 南京理工大学