第六章路由协议第六章路由协议6.1路由器的工作原理及路由协议6.1.1路由器的工作原理6.1.2路由协议的作用及分类6.2RIP路由信息协议6.2.1RIP协议数据包的格式6.2.2RIP协议的工作过程6.2.3RIP协议的缺陷6.2.4RIP26.3OSPF开放最短路径优先6.4BGP边界网关协议6.5Internet的路由体系结构6.1路由器的工作原理及路由协议6.1.1路由器的工作原理路由器就是互联网中的中转站,网络中的数据包通过路由器转发到目的网络的依据是路由表,这个路由表中包含有该路由掌握的目的网络地址以及通过此路由器到达这些网络的最佳路径,如某个接口或下一跳的地址。6.1路由器的工作原理及路由协议6.1.1路由器的工作原理当路由器从某个接口中收到一个数据包时,路由器查看数据包中的目的网络地址,如果发现数据包的目的地址不在接口所在的子网中,路由器查看自己的路由表(静态或动态),找到数据包的目的网络所对应的接口,并从相应的接口转发出去。上述只是路由过程的简单描述,但却是最基本的路由原理。6.1.2路由协议的作用及分类路由协议的作用在于它是路由器能够与其他的路由器交换有关网络拓扑和可达性的信息(动态,尤其是外网)。路由协议的作用:●维护路由信息●建立路由表●决定最佳路径6.1路由器的工作原理及路由协议路由表由6个路由器互联的5个网络,每个网络在图中用一条粗线表示,下面标有网络地址。每个路由器在端口处标有其IP地址,现在网络10.0.0.0中的主机1要发送数据给网络50.0.0.0中的主机2,它们之间有多条路径相连。路由器420.0.0.040.0.0.020.0.0.340.0.0.1路由器640.0.0.250.0.0.250.0.0.0路由器320.0.0.230.0.0.230.0.0.0路由器530.0.0.350.0.0.1路由器1路由器2主机110.0.0.510.0.0.010.0.0.220.0.0.110.0.0.130.0.0.1主机250.0.0.56.1路由器的工作原理及路由协议网络层进行路由选择的依据是保存在路由器中的路由表。设路由器1和路由器5的路由表如表所示。路由器目标地址子网掩码下一站路由器地址10.0.0.0255.0.0.0直接投递20.0.0.0255.0.0.030.0.0.230.0.0.0255.0.0.0直接投递40.0.0.0255.0.0.030.0.0.2路由器150.0.0.0255.0.0.030.0.0.310.0.0.0255.0.0.030.0.0.120.0.0.0255.0.0.030.0.0.230.0.0.0255.0.0.0直接投递40.0.0.0255.0.0.050.0.0.2路由器550.0.0.0255.0.0.0直接投递6.1路由器的工作原理及路由协议路由表保存了通过该路由器可能到达的目标网络以及如何到达该目标网络的信息。路由表的目标地址主要是目标网络地址,但也可以包含两种特殊的路由表项。一种是默认路由,它可以进一步简化路由表,当路由表中没有表项能与目标网络相匹配时,就把数据报发送到默认路由。6.1路由器的工作原理及路由协议路由选择算法路由选择算法(RoutingAlgorithm)工作在网络层,它负责确定对所收到的IP数据报应通过哪条传输线传出(转发)。下面给出路由选择的一般算法:(1)路由器从收到的IP数据报中取出目标IP地址。(2)搜索路由表,寻找能与目的IP地址完全匹配的表目(网络号和主机号都要匹配)。如果找到,则把报文发送给该表目指定的下一站路由器或直接连接的网络接口,路由选择过程结束;如果找不到,则执行下一步。6.1路由器的工作原理及路由协议(3)搜索路由表,把目标IP地址与子网掩码逐位求“与”后,寻找能与目的网络号相匹配的表目。如果找到,则把报文发送给该表目指定的下一站路由器或直接连接的网络接口,路由选择过程结束;如果找不到,则执行下一步。(4)搜索路由表,寻找标为“默认(Default)”的表目。如果找到,则把报文发送给该表目指定的下一站路由器;如果找不到,则本次选路失败,发送一个“目标不可达”的ICMP报文给源主机。6.1路由器的工作原理及路由协议6.1路由器的工作原理及路由协议路由表的建立与刷新1.静态路由静态路由是由互联网网络管理员根据网络的拓扑结构和连接方式人工建立的。静态路由的优点是可以使网络更安全,因为只有一条流进和流出网络的路径(除非定义多条静态路由)。另一个优点是静态路由配置简单,系统开销少,因为它不使用路由器上的CPU来计算路由,需要很少的存储器就可以保存静态路由。2.动态路由动态路由指互联网中的路由器可以通过自身的学习,自动修改和刷新路由表。6.1路由器的工作原理及路由协议路由守护程序选择最佳路由是根据一定的选路策略(RoutingPolicy)来进行的。动态路由的刷新要通过执行路由选择协议来实现,在互联网中,目前采用了许多不同的选路协议。路由选择协议1.距离-向量路由算法和路由信息协议RIP距离-向量算法有时也称为Bellman-Ford算法,该算法的基本思想是路由器会周期性地把自己的路由表拷贝传送给与其直接相连网络的各个路由器。6.1路由器的工作原理及路由协议距离-向量算法的具体内容可描述如下:(1)在初始启动路由器时,各路由器的路由表只包含了与本路由器直接相连网络的路由,因为各路由器还不知道去其他网络的信息,并把距离设为0(与本路由器直接相连)。(2)各路由器周期性地向相邻的路由器广播自己的路由表信息,收到广播路由信息的其他路由器根据这些信息对自己的路由表进行刷新。如果路由器A收到了发自路由器B的路由信息(以下用A和B表示),则路由器A路由表的刷新可以分为以下几种情况:6.1路由器的工作原理及路由协议●添加表项。●修改表项。●删除表项。距离-向量路由选择算法在网络中的具体使用是通过RIP协议来实现的,该协议规定了路由器之间广播发送路由信息(报文)的时间间隔(一般为30秒)、信息格式、错误处理等内容。距离-向量路由算法的优点是算法简单,易于实现;缺点是当网络失败或发生其他变化时,路由器需要较长的时间才能收敛到对网络拓扑的正确认识。6.1路由器的工作原理及路由协议RIP的定义可以在RFC1058找到,使用UDP做载体(是UDP的上层),格式如下,最重要的是度量的段(记数路由器个数)。命令1请求2应答,3、4不用,5、6为非正式。版本通常为1,根据实际设定。地址,IP为2。最多携带25个路由。版本为2则利用必须为0的字段传递额外信息。031命令(1-6)版本(1)必须为0地址必须为032位IP地址必须为0必须为0度量(1-16)最多可有24个另外的路由,与前20个字节具有相同的格式6.1路由器的工作原理及路由协议给每一个已知的路由发送RIP请求报文,要求给出完整的路由。这种报文命令字段为1,地址字段为0,度量HOP为16。接受请求,给出完整的路由表,如果没有,就把请求表中有的部分添上跳数,没有添16。接受回应。更新路由表,使用HOP数最小的规则。定期更新路由表,一般30秒以广播形式给相邻路由启发一次自己的路由表。3分钟未更新,删除!6.1路由器的工作原理及路由协议RIP协议要求路由器每隔30秒无向地广播其路由表,在具有许多节点的大型网络中,这会消耗掉相当数量的带宽;它采用先入为主的原则,缺乏负载均衡的能力;最大距离规定为15,等于或超过16的距离视为不可达路由,限制了网络规模;路由度量值以跳数代替,并且默认跳数使用1(相邻路由之间),没有考虑其他因素。RIP在RFC1058中定义,以UDP为载体。6.1路由器的工作原理及路由协议2.链路-状态路由算法和开放式最短路径优先OSPF协议链路-状态路由算法也叫最短路径优先算法,它的基本思想是每个路由器主动测试与其相连链路的状态,并将这些信息发送给其他相邻的路由器,这样利用扩散,每个路由器可以告诉它所在区域的其他路由器与它相邻的路由器及其开销,每个路由器接收这些链路状态信息并保存在一个数据库中。6.1路由器的工作原理及路由协议开放式最短路径优先OSPF协议是基于链路-状态路由算法的,它的收敛速度比距离-向量协议更快,也就是说,在路由发生变化后(如路由器关闭或链路出故障),它可以较快稳定下来。它还可以根据吞吐率、往返时间、可靠性或其他性能来生成路由。另外,当同一个目的地址存在着多个相同费用的路由时,OSPF在这些路由上可以平均分配流量(流量平衡)。综上所述,OSPF是一个真正意义上的动态路由协议,现在,由于大部分厂商提供的路由器支持OSPF协议,因此使用OSPF的网络越来越多。6.1.2路由协议的作用及分类内部网关协议(IGP)与外部网关协议(EGP)●外部网关协议:用于在自治系统之间交换路由选择信息的互联网络协议,如BGP。自治系统:在同一公共路由选择策略和公共管理下的网络集合,如一个ISP的网络。●内部网关协议:在自主系统中交换路由选择信息的路由协议,常用的因特网内部网关协议有IGRP、OSPR、RIP。6.1.2路由协议的作用及分类距离矢量路由协议与链路状态路由协议●距离矢量路由协议:它确定到网络中任一连路的方向(向量,路由器+1)与距离,如RIP、IGRP等。●链路状态路由协议:为路由计算而重新生成整个网络的准备拓扑(状态,费用,标识),如OSPF、IS-IS等。6.2RIP路由信息协议●RIP:路由信息协议是一种古老的基于距离矢量算法的路由协议,使用UDP传输。通过计算抵达目的地的最少跳数(hop)来选取最佳路径。RIP协议的跳数最多计算到15跳,当超过这个数字时,RIP协议会认为目的地不可达。此外,单纯的以跳数作为选路的依据不能充分描述路径特征,可能导致所选的路径不是最优。因此RIP协议只适用在中小型的网络中。RIP已经成为在网关、路由器和主机间实现路由信息交换的实际标准。几乎在所有的IP路由器支持RIP协议。6.3OSPF开放最短路径优先●OSPF:开放式最短路径优先是一种链路状态路由协议,是除RIP外的另一个内部网关协议,直接使用IP协议。每一个OSRP路由器都维护一个相同的网络拓扑数据库,从这个数据库中,可以构造一个最短路径树来计算路由表。OSRP的收敛速递比RIP要快,而且在更新路由信息时,产生的流量也较少。为了管理大规模的网络,OSRP采用分层的连接结构。将自治系统分为不同的区域,以减少路由重计算的时间。6.4BGP边界网关协议●BGP:边界网关路由协议是一种自治系统(AS)间的路由协议,采用距离向量算法,它的主要功能是同其他的BGP系统交换网络可达信息。BGP属于外部网关路由协议,可以实现自治系统间的路由信息的无环路交换。以无类域间路由为基础,BGP已经发展到支持路由信息的聚合和削减。6.5Internet的路由体系结构不同的路由协议存在于整个Internet中:在每个AS里,都可以使用自己的协议,如OSPF,RIP等。