
动态路由协定
动态路由协定通过路由信息的交换生成并维护转发引擎所需的路由表。当网路拓扑结构改变时动态路由协定可以自动更新路由表,并负责决定数据传输最佳路径。
在动态路由中,管理员不再需要与静态路由一样,手工对路由器上的路由表进行维护,而是在每台路由器上运行一个路由协定。这个路由协定会根据路由器上的接口的配置(如IP位址的配置)及所连线的链路的状态,生成路由表中的路由表项。
基本介绍
- 中文名:动态路由协定
- 外文名:dynamic routing protocol
- 分类:内部网关协定和外部网关协定
- 包括:各种网路层协定
- 计算机:领域
作用
动态路由协定的作用主要有以下三点:
(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,无连线网路协定)。
按寻径算法分类
动态路由协定按定址算法的不同,可以分为距离矢量路由协定和链路状态路由协定。
距离矢量路由协定
採用距离矢量(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等。
性能指标
衡量动态路由协定的性能指标有:
(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-IS
IS-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中,还可以将相似路由合併为一条路由。
路由表项的优先问题
在一个路由器中,可同时配置静态路由和一种或多种动态路由。它们各自维护的路由表都提供给转发程式,但这些路由表的表项间可能会发生冲突。这种冲突可通过配置各路由表的优先权来解决。通常静态路由具有默认的最高优先权,当其它路由表表项与它矛盾时,均按静态路由转发。
动态路由协定的管理距离:
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等路由协定,通过提供共享路由选择信息的机制来支持被动路由协定。路由选择协定讯息在路由器之间传送。路由选择协定允许路由器与其他路由器通信来修改和维护路由选择表。
路由协定

典型的路由选择方式有两种:静态路由和动态路由。
静态路由
是在路由器中设定的固定的路由表。除非网路管理员干预,否则静态路由不会发生变化。由于静态路由不能对网路的改变作出反映,一般用于网路规模不大、拓扑结构固定的网路中。静态路由的优点是简单、高效、可靠。在所有的路由中,静态路由优先权最高。当动态路由与静态路由发生冲突时,以静态路由为準。
动态路由
是网路中的路由器之间相互通信,传递路由信息,利用收到的路由信息更新路由器表的过程。它能实时地适应网路结构的变化。如果路由更新信息表明发生了网路变化,路由选择软体就会重新计算路由,并发出新的路由更新信息。这些信息通过各个网路,引起各路由器重新启动其路由算法,并更新各自的路由表以动态地反映网路拓扑变化。动态路由适用于网路规模大、网路拓扑複杂的网路。当然,各种动态路由协定会不同程度地占用网路频宽和CPU资源。
静态路由和动态路由的适用情形
静态路由和动态路由有各自的特点和适用範围,因此在网路中动态路由通常作为静态路由的补充。当一个分组在路由器中进行寻径时,路由器首先查找静态路由,如果查到则根据相应的静态路由转发分组;否则再查找动态路由。