
链路状态路由协议
-
2023年3月20日发(作者:苯的性质)动态路由选择协议
1.计算机网络与路由简述
计算机网络(computernetworks)是一个复杂的系统,其中存在许多技术,并且每种技
术都与其它的技术一样起着不可替代的作用。许多国际组织和公司已经独立地设置了网络标
准,而且彼此并不完全兼容。许多企业也已经推出了各种使用非常规的网络技术的产品和网
络服务及其网络协议。计算机网络正变得越来越复杂,使其变得复杂的原因在于有多种网络
技术以及各种网络协议被用来连接两个或者多个网络,这也就导致网络间有多种可能的连接
方式。比如,CISCO公司的路由器有其自主开发的动态路由协议IGRP和EIGRP,在广域网
三层使用路由协议进行PACKET的分组交换路由的时候,目的路由器必须是使用的CISCO的
路由器并且使用的是IGRP或者EIGRP路由选择协议,否者在路由器所连接的源和目的主机
间不能进行通讯,因为IGRP和EIGRP是CISCO专有的路由协议。
2.路由/路由协议(Route/RoutingProtocols)
2.1路由(Route)与路由器(Router)
路由(Route)将分组从网间网的一个地方转发到另一个地方的路径和过程。
路由器(Router)用来网络互连计算机三层网络边缘设备,工作在OSI七层参考模型的
网络层,为不同的网络之间报文寻径并存储转发。
2.2路由选择协议(RoutingProtocol)与可路由选择协议(routedprotocols)
我们可以想象一种情况,如果整个武汉市只有一条公路,每辆汽车、每辆自行车、每个
摩托车、每个行人都必须使用这唯一的一条公路。成千上万的汽车造成的交通通信量将在所
有的地方造成拥塞。显然,需要将过多的交通量转移到不同的道路上,以将其分解为可以管
理的部分。道路仍然需要交叉,这样人们仍然可以到达它们需要的任何目的地。多个交叉也
可以提供富余的路由,这样可以避免巨大的交通延迟。通过在不同的路由上发送交通量,可
以将交通拥塞压缩到最低限度。按照相同的方法,互连网络通信量需要分解,以避免网络通
信量拥塞。引导互连网络通信量达到不同网络上的过程称为路由选择(Routing)。
路由选择协议(RoutingProtocols):用于建立和维护路由表和按照达到数据包的目
的地的最佳路径转发数据数据包的协议。比如,RIPV1,IGRP,OSPF等。
可路由选择协议(Routedprotocols):已选择路由协议由最终节点使用,以将数据和
网络层地址分配信息一起封装在数据包中,目的是它可以通过互连网络进行中继。AppleTa
lk、IP和IPX都是已选择路由协议。注:当一个协议不支持网络层地址时,那么它就不是
一个已路由协议。
路由器使用路由选择协议(routingprotocols),以建立和维护路由表和按照达到数据
包的目的地的最佳路径转发数据数据包。路由选择协议使路由器可以了解没有直接连接的网
络的状态和与其他的路由器通信,以了解它们所关心的网络。这种通信不断进行,这样当互
连网络中发生变化时,路由选择表中的信息可以随时更新。
2.3路由选择算法(Algorith)和度量值(Metric)
路由选择算法就是路由选择协议用于决定达到目的网络的最佳路径的计算方法。路由选
择算法越简单,则路由器将使用的处理能力就越小。这将减少路由器的日常费用。
路由选择算法的主要目的有3个:
•准确性
•低开销
•快速收敛
度量值(Metric)是那些用于决定哪个路由是最优的值。根据所使用的路由选择协议,不
同的因素可以决定一个路由的度,包括中继数量、链路速度、延迟(delay)、可靠性(capab
ility)和负载(load)。
3.动态路由选择协议(DynamicRoutingProtocols)分类
动态路由是用某种算法寻找网络中的最佳路径和维护这张路由表的过程。
动态路由选择协议(DynamicRoutingProtocols)主要类型,如下:
距离矢量(DistanceVector)
链路状态路由协议(LinkState)
3.1距离矢量(DistanceVector)
距离向量路由选择协议也称为BellmanFord协议。
距离矢量路由协议主要有:RIPV1、RIPV2、IGRP(RIP:RoutingInformationProtocol
s,IGRP:InteriorGatewayRoutingProtocols)距离矢量路由器定期向相邻的路由器发送
它们的整个路由选择表(routingtable)。距离相邻路由器在从相邻路由器接收到的信息的
基础之上建立自己的路由选择信息表。无论使用何种类型的路由选择算法,互连网络上的所
有路由器都需要时间以更新它们的路由选择表中的改动,这个过程称为聚合(convergenc
e)。
距离向量路由选择是最古老也是最简单的一种路由选择协议算法。
距离矢量路由协议有一个严重的缺点,缓慢的收敛时间过程会造成路由回路(RoutingL
oop)。
解决路由回环方法:水平分割,定义最大跳数,路由毒杀,反转毒杀,抑制时间。
(注:真正的距离矢量路由协议只有RIPV1和RIPV2,因为它们只用到了HOP跳数做为
唯一的计算路由的方法。IGRP是CISCO公司专有的动态距离矢量路由协议,它使用到了跳
数,但是主要决定路由因数是链路带宽,延迟,负载,最大传输单元,设备可靠性,能力等。)
3.2链路状态路由协议(LinkState)
链路状态路由选择协议的目的是映射互连网络的拓扑结构,它是一种比距离矢量更复杂
的路由选择协议,目前最流行的动态路由协议就是一种链路状态协议:OSPF。OSPF的普及
因为多协议标签交换(MPLS:Mulitiprotocollabelswitch)的出现而更流行。
链路状态路由协议主要有:OSPF、ISIS(OSPF:OpenShortestPathFirst,ISIS:Int
ermediateSystemtoIntermediateSystem中间系统到中间系统)每个链路状态路由器提供
关于它邻居的拓扑结构的信息。这包括:
•路由器所连接的网段(链路)
•那些链路的情况(状态)
链路状态路由器并不会广播包含在它们的路由表内的所有信息。链路状态路由协议只发
送已经改动的路由的信息。链路状态路由器将向它们的邻居发送呼叫消息,这称为链路状态
通告(LSA:Link-StateAdvertisement是链接状态协议使用的一个分组,它包括有关
邻居和通道成本的信息。LSAs被接收路由器用于维护它们的路由选择表)。然后,邻
居将LSA复制到它们的路由选择表中,并传递那个信息到网络的剩余部分。这个过程称为泛
洪(flooding)。链路状态路由选择协议使用称为代价(cost)的方法,而不是使用跳(hop)。
代价是自动或人工赋值的。链路状态路由选择协议的一个主要优点,即路由选择循环不可能
形成,第2个优点,在链路状态互连网络中聚合是非常快。这些优点释放了路由器的资源,
因为对不好的路由信息所花费的处理能力和带宽消耗都很少。
(注:EIGRP是一种混合动态路由协议,它综合了距离矢量和链路状态的两种路由方法。
但是我们还是认为它属于一种高级距离矢量路由协议(HYBRID),这里就不在过多讨论了。E
IGRP和IGRP都是CISCO公司专有的路由协议,只有运用在CISCO公司或者它授权的路由产
品中才能使用。)
4.内部和外部网关协议(IGP和EGP)
在大型网络中,例如Internet,极小的互连网络分解为自治系统AS(AutonomousSys
tem)。每个AS被认为是一个自我管理的互连网络,一个自治系统内部运用相同的路由策略
和路由算法。连接到Internet上的大型公司网络是自己拥有的自治系统,因为Internet
上的其他主机并不由它来管理,而且它和Internet路由器并不共享内部路由选择信息。
路由选择协议是在一个自治系统内部为管理系统而开发的。它们也称为内部网关协议
(IGPInteriorGatewayProtocols)。内部网关协议也称为域内协议,因为它们工作在域
内,而不是在域之间。这些协议认为,它们所处理的路由器是它们系统的一部分,并且可以
自由交换路由选择信息。内部网关路由协议主要有:RIPv1,RIPv2,IGRP,EIGRP,O
SPF,ISIS等。
有些路由选择协议也是为在一个较大的互连网络中连接自治系统而开发的。它们称为外
部网关协议(EGP–ExteriorGatewayProtocls)。外部网关协议就是所谓的域间协议,因
为它们工作在域之间。这些协议认为,它们在系统的边缘上,而且仅仅交换必须的最少的信
息,以维持对信息提供路由的能力。外部网关路由协议主要有:EGP和BGP4(BorderGa
tewayprotocol4)。
总结
综述,路由选择协议是三层网络设备路由器转发分组寻找路由的动态算法和方法,一个
好的动态路由算法不仅仅能增加网络可利用带宽,降低路由器CPU利用率,还将更好的转发
分组增加网络的稳定性。动态路由协议的开发和不断完善是计算机广域网的一个重要部分。
如何选择路由协议
1静态路由和动态路由
典型的路由选择方式有两种:静态路由和动态路由。
静态路由是在路由器中设置的固定的路由表。除非网络管理员干预,否则静态路由不会
发生变化。由于静态路由不能对网络的改变作出反映,一般用于网络规模不大、拓扑结构固
定的网络中。静态路由的优点是简单、高效、可靠。在所有的路由中,静态路由优先级最高。
当动态路由与静态路由发生冲突时,以静态路由为准。
动态路由是网络中的路由器之间相互通信,传递路由信息,利用收到的路由信息更新路
由器表的过程。它能实时地适应网络结构的变化。如果路由更新信息表明发生了网络变化,
路由选择软件就会重新计算路由,并发出新的路由更新信息。这些信息通过各个网络,引起
各路由器重新启动其路由算法,并更新各自的路由表以动态地反映网络拓扑变化。动态路由
适用于网络规模大、网络拓扑复杂的网络。当然,各种动态路由协议会不同程度地占用网络
带宽和CPU资源。
静态路由和动态路由有各自的特点和适用范围,因此在网络中动态路由通常作为静态路
由的补充。当一个分组在路由器中进行寻径时,路由器首先查找静态路由,如果查到则根据
相应的静态路由转发分组;否则再查找动态路由。
3.2内部网关协议和外部网关协议
根据是否在一个自治域内部使用,动态路由协议分为内部网关协议(IGP——interior
gatewayprotocol)和外部网关协议(EGP——exteriorgatewayprotocol)。这里的自治
域指一个具有统一管理机构、统一路由策略的网络。自治域内部采用的路由选择协议称为内
部网关协议,常用的有RIP(RoutingInformationProtocol)、OSPF;外部网关协议主要
用于多个自治域之间的路由选择,常用的是BGP和BGP-4。
当网络启用了路由协议,网络便具有了能够自动更新路由表的强大功能。但是使用像
RIP/RIP2、OSPF或IGRP/EIGRP等一些主要的内部网关协议(IGP)都有一定的协定。
内部网关协议首先适合于在那些只有单个管理员负责网络操作和运行的地方;否则,将
会出现配置错误导致网络性能降低或是导致网络运行不稳定的情况。对于由许多管理员共同
分担责任的网络,如Internet,则考虑使用外部网关协议(EGP),如BGP4。
如果网络中只有一个路由器,不需要使用路由协议;只有当网络中具有多个路由器时,
才有必要让它们去共享信息。但如果仅有小型网络,完全可以通过静态路由手动地更新路由
表。
3.2.1RIP
RIP协议最初是为Xerox网络系统的Xeroxparc通用协议而设计的,是Internet中
常用的路由协议。RIP采用距离向量算法,即路由器根据距离选择路由,所以也称为距离向
量协议。路由器收集所有可到达目的地的不同路径,并且保存有关到达每个目的地的最少站
点数的路径信息,除到达目的地的最佳路径外,任何其它信息均予以丢弃。同时路由器也把
所收集的路由信息用RIP协议通知相邻的其它路由器。这样,正确的路由信息逐渐扩散到了
全网。
RIP以规则的时间间隔及在网络拓扑改变时发送路由更新信息。当路由器收到包含某表
项的更新的路由更新信息时,就更新其路由表。更新了自己的路由表后,路由器立刻发送路
由更新把变化通知给其它路由器,这种更新与周期性发送的更新信息无关。
RIP使用非常广泛,它简单、可靠,便于配置。但是RIP只适用于小型的同构网络,因
为它允许的最大站点数为15,任何超过15个站点的目的地均被标记为不可达。而且RIP每
隔30s一次的路由信息广播也是造成网络的广播风暴的重要原因之一。
RIP的最大问题涉及到具有多余路径的较大网络。如果网络没有多余的路径,RIP协议
将很好地工作,它是被几乎每个支持路径选择的厂商实施的Internet标准。RIP协议适用
于多数服务器操作系统,它的配置和障碍修复非常容易。对于规模较大的网络,或具有多余
路径的网络,应该考虑使用其它路由协议。
3.2.2OSPF
80年代中期,RIP已不能适应大规模异构网络的互连,0SPF随之产生。它是网间工程
任务组织(1ETF)的内部网关协议工作组为IP网络而开发的一种路由协议。
OSPF2是类似RIP协议的Internet标准,可以弥补RIP协议的缺点。1991年在RFC1247
中它被第一次标准化;最新的版本是在RFC2328中。但是与RIP协议不同,OSPF是一套链
路状态路由协议,这意味着路由选择的变化基于网络中路由器物理连接的状态与速度,并且
变化被立即广播到网络中的每一个路由器。
0SPF是一种基于链路状态的路由协议,需要每个路由器向其同一管理域的所有其它路
由器发送链路状态广播信息。在OSPF的链路状态广播中包括所有接口信息、所有的量度和
其它一些变量。利用0SPF的路由器首先必须收集有关的链路状态信息,并根据一定的算法
计算出到每个节点的最短路径。而基于距离向量的路由协议仅向其邻接路由器发送有关路由
更新信息。
与RIP不同,OSPF将一个自治域再划分为区,相应地即有两种类型的路由选择方式:
当源和目的地在同一区时,采用区内路由选择;当源和目的地在不同区时,则采用区间路由
选择。这就大大减少了网络开销,并增加了网络的稳定性。当一个区内的路由器出了故障时
并不影响自治域内其它区路由器的正常工作,这也给网络的管理、维护带来方便。
虽然OSPF协议是RIP协议强大的替代品,但是它执行时需要更多的路由器资源。如果
网络中正在运转的是RIP协议,并且没有发生任何问题,仍然可以继续使用。但是如果想在
网络中利用基于标准协议的多余链路,OSPF协议是更好的选择。
3.2.3BGP和BGP-4
BGP是为TCP/IP互联网设计的外部网关协议,用于多个自治域之间。它既不是基于纯
粹的链路状态算法,也不是基于纯粹的距离向量算法。它的主要功能是与其它自治域的BGP
交换网络可达信息。各个自治域可以运行不同的内部网关协议。BGP更新信息包括网络号/
自治域路径的成对信息。自治域路径包括到达某个特定网络须经过的自治域串,这些更新信
息通过TCP传送出去,以保证传输的可靠性。
为了满足Internet日益扩大的需要,BGP还在不断地发展。在最新的BGP4中,还可以
将相似路由合并为一条路由。
3.3路由表项的优先问题
在一个路由器中,可同时配置静态路由和一种或多种动态路由。它们各自维护的路由表
都提供给转发程序,但这些路由表的表项间可能会发生冲突。这种冲突可通过配置各路由表
的优先级来解决。通常静态路由具有默认的最高优先级,当其它路由表表项与它矛盾时,均
按静态路由转发。
3.4路由算法
路由算法在路由协议中起着至关重要的作用,采用何种算法往往决定了最终的寻径结果,
因此选择路由算法一定要仔细。通常需要综合考虑以下几个设计目标:
(1)最优化:指路由算法选择最佳路径的能力。
(2)简洁性:算法设计简洁,利用最少的软件和开销,提供最有效的功能。
(3)坚固性:路由算法处于非正常或不可预料的环境时,如硬件故障、负载过高或操
作失误时,都能正确运行。由于路由器分布在网络联接点上,所以在它们出故障时会产生严
重后果。最好的路由器算法通常能经受时间的考验,并在各种网络环境下被证实是可靠的。
(4)快速收敛:收敛是在最佳路径的判断上所有路由器达到一致的过程。当某个网络
事件引起路由可用或不可用时,路由器就发出更新信息。路由更新信息遍及整个网络,引发
重新计算最佳路径,最终达到所有路由器一致公认的最佳路径。收敛慢的路由算法会造成路
径循环或网络中断。
(5)灵活性:路由算法可以快速、准确地适应各种网络环境。例如,某个网段发生故
障,路由算法要能很快发现故障,并为使用该网段的所有路由选择另一条最佳路径。
路由算法按照种类可分为以下几种:静态和动态、单路和多路、平等和分级、源路由和
透明路由、域内和域间、链路状态和距离向量。前面几种的特点与字面意思基本一致,下面
着重介绍链路状态和距离向量算法。
链路状态算法(也称最短路径算法)发送路由信息到互联网上所有的结点,然而对于每
个路由器,仅发送它的路由表中描述了其自身链路状态的那一部分。
距离向量算法(也称为Bellman-Ford算法)则要求每个路由器发送其路由表全部或部
分信息,但仅发送到邻近结点上。
从本质上来说,链路状态算法将少量更新信息发送至网络各处,而距离向量算法发送大
量更新信息至邻接路由器。
由于链路状态算法收敛更快,因此它在一定程度上比距离向量算法更不易产生路由循环。
但另一方面,链路状态算法要求比距离向量算法有更强的CPU能力和更多的内存空间,因此
链路状态算法将会在实现时显得更昂贵一些。除了这些区别,两种算法在大多数环境下都能
很好地运行。
最后需要指出的是,路由算法使用了许多种不同的度量标准去决定最佳路径。复杂的路
由算法可能采用多种度量来选择路由,通过一定的加权运算,将它们合并为单个的复合度量、
再填入路由表中,作为寻径的标准。通常所使用的度量有:路径长度、可靠性、时延、带宽、
负载、通信成本等。