计算机网络第5章网络的互联5.5Internet的路由选择协议网络层的IP数据报从源站传送到目的站,需要经过一个具体的交付过程,即数据报的转发过程。路由器基于路由表实现IP数据报的转发。那么路由器中的路由表是如何得来的呢?路由表可以由网络管理人员手工设置,我们称之为静态路由表,也可以是由路由协议建立和维护的动态路由表。5.5.1静态路由一般说来,以静态路由方式工作的路由器只知道那些和它有物理连接的网络,而不能发现和它没有直接物理连接的那些网络。对于这种路由器,如果想让它把数据包路由到任何其他的网络,需要以手工方式在路由表中添加条目。每台路由器中的静态路由表是一个本地文件,该文件包含所有去往已知网络的路由。静态路由要求手工配置固定的路由表。当网络结构发生变化时,网络管理人员要及时地调整路由表5.5.1静态路由图中路由器R1与网络192.168.6.0和192.168.7.0直接相连,R1启动时的初始路由表如下图图7-6配置静态路由192.168.6.0192.168.7.0192.168.8.0R1R2192.168.6.18192.168.7.1192.168.7.2192.168.8.1BA192.168.8.23192.168.6.15.5.1静态路由当主机A要向主机B发送信息时,R1无法根据图中的路由表进行转发。因此需要网络管理员手工在R1的路由表中添加与网络192.168.8.0相关的条项或者在R1的路由表中添加一个默认路由表项,如下图所示。图7-7路由器R1的初始路由表信宿地址子网掩码下一跳地址输出接口度量192.168.6.0255.255.255.0192.168.6.1192.168.6.11192.168.7.0255.255.255.0192.168.7.1192.168.7.115.5.1静态路由1.在路由表中添加信宿网络表项信宿地址子网掩码下一跳地址输出接口度量192.168.6.0255.255.255.0192.168.6.1192.168.6.11192.168.7.0255.255.255.0192.168.7.1192.168.7.11192.168.8.0255.255.255.0192.168.7.2192.168.7.122.在路由表中添加缺省路由表项信宿地址子网掩码下一跳地址输出接口度量192.168.6.0255.255.255.0192.168.6.1192.168.6.11192.168.7.0255.255.255.0192.168.7.1192.168.7.110.0.0.00.0.0.0192.168.7.2192.168.7.11图7-8路由器R1的路由表5.5.1静态路由默认路由表项可以使路由器把数据报发送到下一个路由器,并找到了一条通往信宿网络的路由,但在路由表中只能有一条默认路由表目。为了使得信息不仅出得去,而且进得来,通常采用的办法是将本自治系统内的网络都加入到路由表中,而去往本自治系统外的网络的数据报通过默认路由送出。5.5.1静态路由自治系统:由独立管理机构所管理的一组网络和路由器组成。自治系统内部包含多个网络和路由器,自治系统本身由一个独立的组织管理,其拓扑结构、地址建立与刷新机制等都由该管理机构自由选择。5.5.1静态路由静态路由信息在缺省情况下是私有的,不会传递给其他的路由器,一般适用于比较简单的网络环境。大型和复杂的网络环境通常不宜采用静态路由。一方面,网络管理员难以全面地了解整个网络的拓扑结构;另一方面,当网络的拓扑结构和链路状态发生变化时,路由器中的静态路由信息需要大范围地调整,这一工作的难度和复杂程度非常高。5.5.2路由协议的基本概念动态路由:路由器使用路由协议进行路由表的动态建立和维护。路由协议支持一个路由器与其他路由器的通信,路由器之间可以相互通告路由表中的变化。路由器根据获得的变化信息,刷新自己的路由表。在这种方式中,引入新的网络时不需要管理员编辑路由表。大规模的网络都采用动态路由。5.5.2路由协议的基本概念路由选择协议的核心是路由算法,即需要什么样的算法来获得路由表中的各项目。一个理想的路由算法应具有如下一些特点:正确性和完整性。简单性。自适应性。稳定性。公平性。最佳性。一个实际的路由算法,应尽可能的接近于理想的算法。5.5.2路由协议的基本概念Internet将整个互联网划分为许多较小的自治系统(AutonomousSystem,简称AS)。一个AS通常代表一个独立的组织机构,同时,一个AS是由若干个路由器组成的一个互联网络,并由本组织机构内的管理员进行管理,有权决定在本AS内所采用的路由选择协议。这样,Internet通过划分自治系统,把路由选择协议也划分为两大类,即:5.5.2路由协议的基本概念⑴内部网关协议(IGP,InteriorGatewayProtocol)。IGP是在一个AS内部使用的路由选择协议。在Internet中各个AS选用的路由选择协议相互独立,互不相关。目前常用的内部网关协议有:路由信息协议(RIP,RoutingInformationProtocol)和开放路径最短优先(OSPF,OpenShortestPathProtocol)协议。5.5.2路由协议的基本概念⑵外部网关协议(EGP,ExternalGatewayProtocol)。EGP是在AS之间使用的路由选择协议。若源站和目的站主机处在不同的AS中,而且这两个AS使用不同的IGP,当数据报传到一个AS的边界时,就需要使用EGP将路由选择信息传递到另一个AS中。目前使用最多的外部网关协议是边界网关协议第4版(BGP-4,BorderGatewayProtocol)。5.5.2路由协议的基本概念H1H2R1R2R3AS100AS200AS300IGPIGPIGPIGPIGPIGPIGPIGPIGPIGPIGPEGPEGPEGP内部网关协议(IGP)外部网关协议(EGP)内部网关协议(IGP)5.5.3路由信息协议RIP路由信息协议(RIP,RoutingInformationProtocol)是在同一个自治系统内部路由器之间传送路由信息的最常用的协议。RIP是一个基于距离向量的路由协议,最初在RFC1058中制定。目前,RIP有两个版本,RIP-1、RIP-2。现在较新的版本是1994年11月公布的RIP-2(RFC1723)。下面介绍的内容,没有特别标注时,都是泛指RIP具有的特点。5.5.3路由信息协议RIPRIP是一个基于距离向量的路由选择协议,把到达目的网络的“距离”作为选择路由的度量。在此,“距离”是指“跳数”(hopcount)。每经过一个路由器,跳数就增加1(即距离增加1)。RIP认为,一条好的路由就是它所通过的路由器数量最少的路由,即“距离短”的路由,而不考虑其它参数。5.5.3路由信息协议RIP运行RIP协议的路由器定期(每隔30秒)向与其直接相连的所有路由器(邻站路由器)广播自己的路由表,邻站路由器依据接收到的路由表更新自己的路由表。我们以下图为例解释路由表生成以及动态变化的过程。5.5.3路由信息协议RIP一个互联网拓扑Net1ABCDENet2Net3Net4Net5Net65.5.3路由信息协议RIP初始状态路由表Net1-1Net4-1Net1-1Net2-1Net5-1Net2-1Net3-1Net3-1Net4-1Net5-1Net6-1Net1ABCDENet2Net3Net4Net5Net65.5.3路由信息协议RIP各路由器的最终路由表Net1--1Net2B2Net3D2Net4--1Net5B2Net6B3Net1--1Net2--1Net3C2Net4A2Net5--1Net6E2Net1B2Net2--1Net3--1Net4D2Net5B2Net6B3Net1A2Net2C2Net3--1Net4--1Net5A3Net6A4Net1B2Net2B2Net3B3Net4B3Net5--1Net6--1Net1ABCDENet2Net3Net4Net5Net65.5.3路由信息协议RIPRIP路由更新算法5.5.3路由信息协议RIPRIP的特点RIP协议适用于小型网络。RIP协议是基于距离向量路由选择的协议。不能保证所选择的是最快的路径。RIP协议定期更新路由表。RIPv1协议是一个有类别路由协议,在RIPv1报文中不传送掩码地址。RIPv2协议是一个无类别路由协议。5.5.3路由信息协议RIPRIP2协议的报文格式5.5.3路由信息协议RIPRIP协议的优缺点RIP存在的一个问题是当网络出现故障时,要经过比较长的时间才能将此信息传送到所有的路由器(慢收敛)。RIP协议最大的优点就是实现简单,开销较小。RIP限制了网络的规模,它能使用的最大距离为15(16表示不可达)。路由器之间交换的路由信息是路由器中的完整路由表,因而随着网络规模的扩大,开销也增加。5.5.4开放最短路径优先(OSPF)协议问题:无论是RIPv1还是RIPv2都受限于最大路径长度15,因此不能满足大规模网络的要求。解决:采用开放最短路径优先OSPF。在OSPF中自治系统可以被进一步划分为区域,每个区域由位于同一自治系统中的一组网络、主机和路由器构成。区域内部的路由器以泛洪方式在区域内交换路由信息。区域的划分不仅使得广播得到了更好的管理,而且使OSPF能够支持大规模的网络。层次的概念的引入,使OSPF减少了一个路由器需要知道的信息总量。5.5.4开放最短路径优先(OSPF)协议在区域的边界定义一个边界路由器。边界路由器汇总该区域的信息,并送往其他区域。在每个自治系统的区域中都有一个特殊的区域叫做主干,其他区域都连到主干上。主干中的路由器称为主干路由器,主干路由器可以是一个区域的边界路由器。每个区域有一个区域标识,区域标识采用和IP地址一样的点分十进制数表示,主干区域的标识是0.0.0.0。5.5.4开放最短路径优先(OSPF)协议自治系统中的区域区域0(主干)区域1区域2区域边界路由器netnetnet自治系统(AS)自治系统边界路由器到其它自治系统netnetnetnet主干路由器区域边界路由器内部路由器5.5.4开放最短路径优先(OSPF)协议OSPF是一个链路—状态协议。每个路由器测试与其邻机相连链路的状态,并将这些信息用链路状态通告(LinkStateAdvertisements,LSA)发送给它的其他邻机,而邻机再将这些信息在自治系统中以泛洪方式传播出去。每个路由器接收这些链路状态信息,并将这些状态信息写入到一个链路状态数据库(LinkStateDatabase,LSDB)中。5.5.4开放最短路径优先(OSPF)协议当一个区域的网络拓扑结构发生变化时,LSDB就会被更新。每10秒钟评估一次LSDB,如果区域的拓扑结构没有改变,LSDB也就不做任何改动。OSPF直接使用IP。在IP首部的协议字段,OSPF协议的值为89。5.5.4开放最短路径优先(OSPF)协议OSPF具有以下这些特点支持服务类型路由给每个接口指派费用提供负载均衡支持扩展,易于管理支持特定主机、特定子网、分类网络路由以及无类网络路由支持无编号网络支持多种鉴别机制采用组播5.5.4开放最短路径优先(OSPF)协议OSPF报文类型及基本操作5.5.5边界网关协议BGP边界网关协议BGP出现于1989年,目的是取代较早的外部网关协议EGP。BGP是用于不同自治系统之间交换路由信息的外部网关协议。BGP经历了4个版本,1993年开发的第4版BGP(见RFC1467、RFC1771)可以支持CIDR。5.5.5边界网关协议BGPBGP采用的是与向量—距离算法类似的路径—向量算法。在该算法的路由表中包括信宿网络、下一跳路由器和去往信宿网络的路径。路径由一系列排序的自治系统号构成。自治系统的边界路由器通过内部