本章提要:在IP网络中使用动态路由配置时,路由器使用路由协议自动完成路径的选择。不同的路由协议采用不同的路由算法来完成选路工作。采用距离矢量算法的路由协议称为距离矢量路由协议;采用链路状态算法的称为链路状态路由协议。引入自治域系统的概念可使路由表得以简化。在自治域系统内使用的路由协议称为内部路由协议,在自治域系统之间使用的称为外部路由协议。常用的路由协议有RIP,IGRP,EIGRP,OSPF和EGP等,其中前四个是内部路由协议,后一个是外部路由协议。配置路由协议时,需要在全局模式下指定所用的协议,进入相应的路由协议配置模式,然后再进行进一步的配置工作。7.1常用的路由协议路由器的路由表记录着到达目标网络的路径。路由表中的路由项可人工指定,为静态路由和默认路由。若要自动生成并维护路由表项,则需对路由器配置路由协议。由路由协议来给网络中的所有路由器提供网络拓扑结构图,生成并更新路由表。常用的路由协议有:路由信息协议RIP内部网关路由协议IGRP开放最短路径优先协议OSPF增强型内部网关路由协议EIGRP边界网关路由协议BGP7.1.1路由协议的分类1.自治域系统AS自治域系统(AutonomousSystem,AS)是指共享同一路由策略的网络的集合,自治域有时也称区域。在Internet上,使用自治域系统可以简化路由表。在自治域系统内的路由器只需知道本系统内的路由信息就可以了,不必了解其他自治域的情况。各个自治域之间的通信则通过位于自治域边界的路由器Ra、Rb和Rc来完成。在自治域内部路由器上运行的路由协议称为内部网关协议(InteriorGatewayProtocol,IGP),在连接各自治域之间的路由器(边界路由器)上运行的路由协议称为外部网关协议(ExteriorGatewayProtocol,EGP)。2.路由协议的分类按路由协议作用的范围,把其分为:内部网关协议(内部路由协议):在自治域内部的路由器使用的路由协议外部网关协议(外部路由协议):在连接各自治域之间的路由器上使用的路由协议这里的网关(Gateway)是以往对路由器的称呼,内部网关协议也就是内部路由协议,外部网关协议也就是外部路由协议。以下协议属于内部网关协议:路由信息协议RIP内部网关路由协议IGRP开放最短路径优先协议OSPF增强型内部网关路由协议EIGRP而外部网关协议则使用边界网关协议(BorderGatewayProtocol,BGP)。当然了,自治域系统的划分也是相对的,整个Internet可划分为若干个自治域系统。按路由协议使用的路由算法,把其分为:距离矢量路由协议链路状态路由协议1)距离矢量路由协议(DistanceVectorRoutingProtocol)在启用该协议的路由器上,该协议通过计算所连接的所有目标网络地址(其他路由器)的距离矢量值(以跳数做计算标准)来完成路由表的生成,在路由表中记下所有可到达的目标地址及其距离矢量。并且,定时把本路由表的副本传送到相邻的路由器,启用该协议的所有的路由器都如此做,使得路由信息在整个网络沟通。如果网络的拓扑结构发生了变化,在该协议的作用下,各个路由器的路由表都能自动更新。距离矢量路由协议所用的路由算法为Bellman-Ford,某路由器只了解与之直接相连的路由器和同步直接相邻的路由器的路由信息。某路由项变化时,整张路由表都被更新。以下协议属于距离矢量路由协议:路由信息协议RIP内部网关路由协议IGRP2)链路状态路由协议(LinkStateRoutingProtocol)该协议使用链路状态通告(LSA)获得网络中所有路由器的信息(这一点与距离矢量路由协议明显不同),如邻居路由器的名称、到达目标的路由开销等,各个路由器均拥有整个网络的拓扑结构信息。链路状态路由协议所用的算法为最短路径优先(SPT)算法,也称Dikjstra算法。链路状态路由协议在更新路由表时,只更新其变化的路由项部分而不是整体都更新,故能节约带宽;该协议还支持无类域间寻址和路由聚合等。7.1.2不同路由协议的特点1.路由信息协议RIP路由信息协议(RoutingInformationProtocol,RIP)是第一个出现的内部网关协议,纯粹采用距离矢量算法,目前仍在广泛使用,适用于比较简单的小型同类网络环境。RIP通过广播UDP报文来交换路由信息,定时发送路由信息更新。RIP提供跳数(HopCount)作为尺度来衡量路由的优劣。跳数是一个数据包到达目标所必须经过的路由器的数目,跳数最少的路径,RIP就认为是最优的路径。RIP最多支持的跳数为15,即在源和目的网间所要经过的最多路由器的数目为15,跳数16视为不可到达。RIP的缺点很明显,路由的度量标准过于简单,只考虑了跳数一个因素。如果有到相同目标的两个不等速或不同带宽的路由,但跳数相同,则RIP认为两个路由是等距离的。而其他因素,如链路带宽、拥塞程度等,对路径优劣的影响甚至大于跳数。因此RIP是一个比较简单“粗糙”的路由协议。在规模较大的网络中,只支持15跳是远远不够的。因此RIP只适用于较为简单的网络环境。RIP通过广播UDP数据段来实现路由信息的更新,默认为每30s进行一次。某路由器如果在180s内没有收到目标路由器的响应信息,则认为该目标路由器当前不可到达,在240s若仍无响应,则到达该目标路由器的路由信息就会从路由表中删除。RIP路由协议有两个版本,称为版本1和版本2,版本2是对版本1的改进。版本1不支持变长子网掩码,版本2则支持。RIP可以在6条相同开销的路径上进行负载均衡。这里的相同开销是指所选路径的优劣程度相同,即要求跳数相同;负载均衡又叫流量均衡,是指在两条或两条以上的路径上分流路由器之间的通信量,以避免在单一路径上传送数据的拥塞。RIP要求参与负载均衡的路径必须是开销相同的,条件比较苛刻。2.内部网关路由协议IGRP内部网关路由协议(InteriorGatewayRoutingProtocol,IGRP)是Cisco公司开发的路由协议,它以路由信息协议RIP为基础,但做了重大的改进。它使用由带宽、延迟、可靠性、负载和最大传输单元(mtu)五个参数作为路由选择的度量标准。IGRP的主要特点:路由度量标准复杂化,合理性提高。在网络拓扑变化时能快速地响应。带宽占用和CPU开销降低。可达目标距离大于RIP,默认跳数为100跳,最大可支持255跳。支持在6条路径上进行负载均衡,且不要求这些路径的开销相同。以上特点也是IGRP的优点。IGRP不使用跳数作为度量标准,但可提供最大255跳的路由信息,故其当时在大型网络中得到了较为广泛的应用。默认情况下,使用IGRP的路由器每隔90s广播一次路由更新信息,若在270s后未收到目标路由器的响应,则认为该目标路由器不可到达,若在280s后仍无响应,就会禁用到达该目标路由器的路由,若在630s后仍无响应,该路由器就会删除有关目标路由器的路由信息。IGRP的缺点之一是不支持可变长子网掩码。IGRP使用自治域系统来划分网络,配置IGRP协议时需要指明路由器所在地自治域系统号。3.开放最短路径优先路由协议OSPF开放最短路径优先(OpenShortestPathFirst,OSPF)路由协议是由Internet工程任务组(InternetEngineeringTaskForce,IETF)于20世纪80年代中期提出的,目的也是为了改进RIP协议的不足,开发一种新的协议来适应复杂的大型异种网络互联的需求。OSPF是典型的链路状态路由协议,采用最短路径优先(ShortestPathFirst,SPF)算法来进行最佳路由的计算。OSPF目前已成为Internet和Intranet采用最多、应用最广泛的路由协议之一。现在使用的是OSPF协议的第二版。OSPF可以把网络划分为不同层次的区域,称为一个路由域。一个路由域也可看成是一个自治系统,在同一路由域中,所有的OSPF路由器都维护一个相同的描述这个域结构的数据库,该数据库中存放的是该域中相应链路的状态信息,路由器正是通过这个数据库计算出OSPF路由表。作为一种链路状态的路由协议,OSPF将链路状态广播数据包(LinkStateAdvertisement,LSA)传送给在某一区域内的所有路由器,这一点与距离矢量路由协议不同。运行距离矢量路由协议的路由器是将部分或全部的路由表传递给与其相邻的路由器。当源地址和目标地址在同一区域之内时,OSPF路由器之间的路由选择称为域内路由选择;当源地址和目标地址在不同区域之内时,OSPF路由器之间的路由选择称为域间路由选择。图7.1由边界路由器组成的骨干区域Zone0通常,使用区域边界上的高性能路由器来作为域间路由选择的路由器。这些路由器构成的网络称为骨干网,图7.1中的区域Zone0就是一个骨干网。OSPF路由协议提供了不同的网络通过同一种TCP/IP协议交换网络信息的途径。作为一种链路状态的路由协议,OSPF协议的主要特点为:路由器拥有整个网络的拓扑结构信息,路由收敛快速。用增量方式更新路由表,即只更新变化的路由表项,节约带宽资源。支持可变长子网掩码。支持CIDR以及路由聚合(RoutingSummary)。支持路由信息验证。所有这些优点保证了OSPF路由协议能够被应用到大型的、复杂的网络环境中。4.增强型内部网关路由协议EIGRP增强型内部网关路由协议(EnhancedInteriorGatewayRoutingProtocol,EIGRP)即增强型的IGRP,也是Cisco专用的路由协议。它使用了IGRP的距离矢量作为度量计算的基础,但采用增量方式更新路由表。因此EIGRP称为混合型的路由协议,它兼有距离矢量路由协议和链路状态路由协议的优点。EIGRP采用的路由算法名为弥补修正算法,或称DUAL算法,它使用相邻路由器发送的Hello数据报中给的维持时间来了解网络拓扑结构的变化。该协议增强了网络的扩展能力,最大跳数可支持224跳。EIGRP的主要特点:支持可变长子网掩码。支持触发式路由表更新,在路由表发生变化时才广播路由信息。支持路由的自动重新分配,EIGRP和IGRP发现的路由可以彼此重新分配给对方。增强了网络的可扩展能力,到目标网络的距离EIGRP最大支持224跳。支持多种网络协议。EIGRP也是使用自治域系统来划分网络,配置EIGRP协议时需要指明路由器所在地自治域系统。5.边界网关协议BGP以上介绍了内部网关协议的特点,内部网关协议主要用于自治域系统内部的路由。而外部网关协议则用于自治系统之间的路由。边界网关协议(BGP)是常用外部网关协议,是Internet上标准的外部网关协议。在BGP出现之前,有一个名叫EGP(ExteriorGatewayProtocol)的外部路由协议。BGP改进了EGP,使用了可靠的传输协议,这样,BGP工作起来更为稳定可靠。BGP用来处理两个或多个自治系统边界路由器之间的路由,这些边界路由器又称核心路由器(CoreRoute)。通常,这些核心路由器彼此作为邻居,共享路由表信息。如今Internet的运行模式就是采用域间路由与域内路由选择的模式,Internet由许多大小不等的自治域系统组成,自治域系统的IP地址由网络信息中心InternetNIC统一分配。BGP使用单一度量来决定通往某一网络的最佳路径。每个网络连接都分配一个数值来标识该连接的优先级。7.2路由协议的配置配置路由协议,是路由器配置中最重要的项目之一。通过启用某种路由协议,完成相应的配置项目,路由器就能自动生成和维护路由表。7.2.1RIP的配置1.RIP路由协议配置步骤a.在全局配置模式下,指定使用RIP协议,进入路由协议配置模式router(config)#routerriprouter(config-router)#b.指定参与RIP路由的子网router(config-router)#networknetwork其中network为子网地址,路由器直接连接了多少个子网(网段),就配置多少行。c.允许在非广播型网络中进行RIP路由广播rout