第15章路由选择和路由选择协议主要内容1.路由选择基础2.静态路由3.动态路由4.路由选择协议一、路由选择基础路由选择是路由器用来将数据分组转发到目的地网络的过程。路由器根据分组的目的IP地址做出决定。路由器为了能对分组的去向做出正确的决定,必须获知远程网络的方向。当路由器使用动态路由选择协议时,可以从其他的路由器学习到远程网络的方向。当路由器使用静态路由选择时,需要网络管理员手工配置远程网络的信息。二、静态路由1、路由介绍2、静态路由的目的和操作3、路由器的工作过程4、配置静态路由5、配置缺省路由6、检查静态路由的配置7、诊断静态路由1、路由介绍路由:根据数据包的目的ip地址决定下一跳如何转发。静态路由:由网络管理员手工输入。只要网络拓扑发生改变,管理员必须手工更新这些静态路由条目。动态路由:通过路由选择协议自动适应网络拓扑或流量的变化。启动动态路由后,只要从互联网收到新的信息,路由选择进程就会自动更新路由,不必管理员干预。2、静态路由的目的和操作静态路由一般适用于比较简单的网络环境,在这样的环境中,网络管理员易于清楚地了解网络的拓扑结构,便于设置正确的路由信息。使用静态路由的另一个好处是网络安全保密性高。动态路由因为需要路由器之间频繁地交换各自的路由表,而对路由表的分析可以揭示网络的拓扑结构和网络地址等信息。因此,网络出于安全方面的考虑也可以采用静态路由。大型和复杂的网络环境通常不宜采用静态路由。一方面,网络管理员难以全面地了解整个网络的拓扑结构;另一方面,当网络的拓扑结构和链路状态发生变化时,路由器中的静态路由信息需要大范围地调整,这一工作的难度和复杂程度非常高。静态路由的优点是简单、高效、可靠。在所有的路由中,静态路由优先级最高。当动态路由与静态路由发生冲突时,以静态路由为准。与动态路由进行对比动态路由是网络中的路由器之间相互通信,传递路由信息,利用收到的路由信息更新路由器表的过程。它能实时地适应网络结构的变化。如果路由更新信息表明发生了网络变化,路由选择软件就会重新计算路由,并发出新的路由更新信息。这些信息通过各个网络,引起各路由器重新启动其路由算法,并更新各自的路由表以动态地反映网络拓扑变化。动态路由适用于网络规模大、网络拓扑复杂的网络。当然,各种动态路由协议会不同程度地占用网络带宽和CPU资源。静态路由的操作步骤:网络管理员配置静态路由。静态路由进入路由器的路由表。根据静态路由对数据包进行路由转发。3、路由器的工作过程我们先来分析一下数据包(报文)到达路由器端口时,路由器需要干什么。首先路由器会检查数据帧目的地址字段中的数据链路标识(MAC地址)。如果数据链路标识是路由器自己的端口标识或者广播标识,那么路由器将从帧中剥离出报文并传给上面的网络层。在网络层,将检查报文的目的地址(IP地址)。如果目的地址是路由器端口的IP地址或者是所有主机的广播地址,那么需要再检查报文的协议字段,然后再向上层传送。除此之外的其他目的地址都要进行路由选择。(也可以理解为这些是需要路由器转发到其它网络上的数据包)(这些数据包里的数据链路标识(MAC地址)应该是路由器的端口地址或者广播地址,报文的目的地址(IP地址)是其它网络中的主机地址。)那路由器究竟凭什么来进行路由选择呢?就是下面要说的路由选择表。通过一个例子来理解路由选择表我们可以这样来理解:每个路由器都是一个交通管制员,数据链路就是公路,数据包就是行人,路由器在交叉道口管理交通运行。行人都不认识路,但都知道自己要到哪里去,交警(路由器)负责告诉行人当前该往哪个路口走。当一个数据包来到路由器1,它需要去10.1.6.0的网络(也就是路由器3的S1端口接的网络),那路由器1就告诉它应该从自己的S0端口出去先到10.1.2.2这个地址,具体下面怎么走,自己再去问人吧。这就是一条路由选择项了:只要是要去10.1.6.0网络的,那就全部走S0端口先去10.1.2.2如果在路由器1的数据包是要去10.1.1.0网络呢,那就走E0端口,直接连线的。所以根据这个我们就可以写出路由器1需要的路由选择表了:路由器1:网络下一跳10.1.1.0直连10.1.2.0直连10.1.3.010.1.2.210.1.4.010.1.2.210.1.5.010.1.2.210.1.6.010.1.2.210.1.7.010.1.2.2路由器2:网络下一跳10.1.1.010.1.2.110.1.2.0直连10.1.3.0直连10.1.4.0直连10.1.5.010.1.4.210.1.6.010.1.4.210.1.7.010.1.4.2由此可以看出:在路由表中每个路由表项最少必须包括下面两个项目:1.目的地址:路由器可以到达的网络地址2.指向目的地的指针:就是将告诉路由器把数据包从哪个端口转发出去。(可以是路由器直接连接的网络或下一台路由器)也叫“下一跳”。注意:路由器只认网络号,并不关心主机号。比如:一个数据包到达路由器2,路由器检查到它的源地址为10.1.2.97、目的地址为10.1.7.35、自带的子网掩码为255.255.255.0,那它会通过目的地址与子网掩码得出要到达的网络号10.1.7.0,查找路由表,然后将其转发到下一跳(10.1.4.1)。如果路由器无法在自己的路由表中查到相关路由表项,将会丢弃此数据包。4、配置静态路由步骤:1.确定目的网络的地址和掩码,确定下一跳地址或转发数据包的本地接口。2.进入全局配置模式。3.使用iproute命令添加路由。4.退出全局配置模式。5.使用copyrunning-configstartup-config将配置保存到nvram里面。iproute命令格式:iproute目的网络目的网络的子网掩码下一跳地址例如:iproute10.4.6.0255.255.255.0192.168.1.66静态路由配置举例(使用模拟软件)5、配置缺省路由缺省路由是一种特殊的静态路由。缺省路由作用:当路由表中不存在到某一目的网络的条目时,路由器使用缺省路由对数据包进行转发。命令格式如下:iproute0.0.0.00.0.0.0[next-hop-address|outgoinginterface]iproute0.0.0.00.0.0.0192.1.0.65即只要没有在路由表里找到去特定目的地址的路径,则数据均被路由到地址为192.1.0.65的相邻路由器。缺省路由举例6、检查静态路由的配置可使用以下命令来检查:Showrunning-configShowiproute7、诊断静态路由使用命令:Showinterface查看接口的状态Showiproute查看路由表Ping下一条路由器接口地址Ping远端路由器或主机Traceroute远端路由器或主机三、动态路由1、路由选择协议介绍2、自治系统3、动态路由选择的操作4、路由器的度量标准5、路由选择协议分类6、距离矢量路由选择协议7、链路状态路由选择协议8、混合路由选择协议1、路由选择协议介绍被路由协议和路由选择协议的区别:被路由协议:以寻址方案为基础,为分组从一个主机发送到另一个主机提供充分的第3层地址信息的任何网络协议。被路由协议定义了分组所包含的字段格式。被路由协议使用路由选择表来转发分组。例如IP、DECnet、AppleTalk、NovellNetWare、BanyanVINES和XeroxNetworkSystem(XNS)。路由选择协议:是实现路由算法的协议,为被路由协议提供支持。路由选择协议消息在路由器之间移动。路由选择协议使路由器之间可以传达路由更新信息和维护路由选择表。常见的路由选择协议如:IGRP、EIGRP、OSPF、EGP、BGP及RIP等2、自治系统(AS)一个自治系统就是处于一个管理机构控制之下的路由器和网络群组。它可以是一个路由器直接连接到一个LAN上,同时也连到Internet上;它可以是一个由企业骨干网互连的多个局域网。在一个自治系统中的所有路由器必须相互连接,运行相同的路由协议,同时分配同一个自治系统编号。自治系统的编号和网络号有关系吗?答:这两个号码没什么直接关系,自治系统号码是用来表示共同使用相同动态路由协议的一个自治系统区域,而网络号是用来表示特定网段的。一个自治区域可以跨越多个网段。自治系统(AS)-由同一组织管理的网络区域。3、动态路由选择的操作路由选择表的维护给其它路由器发布路由更新信息(例如如何发送更新、更新中包含什么信息、什么时候发送这些更新信息、如何定位更新的接收者等)4、路由器的度量标准当路由选择算法更新路由选择表时,主要目标是确定路由选择表中包含的最佳信息。每个路由选择算法都有自己的度量标准。通常,度量标准值越小,路径就越好。常用的度量标准如下:带宽(bandwidth)指链路的数据容量。延迟(delay)指分组沿着从源到目的的每条链路移动所需的时间。负载(load)指网络资源的活动量。可靠性(reliability)指每个网络链路的错误率。跳数(hopcount)指分组到达目的地之前必须必须经过的路由器个数。滴答数(ticks)指使用IBMPC时钟滴答计数的数据链路延迟。代价(cost)由管理员指派的基于带宽、花费等的度量值。5、路由选择协议的分类距离矢量(Distancevector)链路状态(Link-state)平衡混和(Balancedhybrid)根据路由选择算法的不同进行分类。6、距离矢量路由选择协议距离矢量路由选择协议方法确定互联网络中任何一条链路的方向(矢量)和距离。该算法定期地将路由选择表的拷贝从一个路由器发往另一个路由器。这些在路由器之间的定期更新交流了网络拓扑的变化。该算法也称为贝尔曼-福特算法。距离矢量算法示例图说明:每个路由器收到来自相邻路由器的完整的路由选择表,并且积累距离矢量。每个直连网络的接口距离为0,当距离矢量网络发现进程启动后,路由器根据接收自每个邻居的信息发现到达目的网络的最佳路径。距离矢量算法不向路由器提供互联网络的确切拓扑结构,因为路由器仅仅知道自己的邻居路由器。路由选择表W-----0X-----0Y------1Z------2BCAXWYZ路由选择表X-----0Y-----0Z------1W------1路由选择表Y-----0Z-----0X------1W------2算法积累网络距离信息,以便可以维护一个网络拓扑信息的数据库。7、链路状态路由选择基础链路状态算法也称为最短路径优先算法。该算法维护着远端路由器及其互联情况的全部信息,即重建整个互联网的精确拓扑结构。链路状态路由选择使用以下内容:链路状态通告(LSA)—路由器之间发送的路由选择信息的小分组拓扑数据库—通过LSA收集到的信息集合最短路径优先算法(SPF)—基于数据库的计算路由选择表—已知路径和接口的列表链路状态相关概念链路状态路由发现链路状态路由选择的问题处理器的负荷内存占用的要求带宽资源的占用运行链路状态协议的路由器需要更多的存储容量并执行更多的进程。路由器必须有足够的内存来存放各种数据库、拓扑树和路由选择表的所有信息。同时,初始链路状态分组的泛洪也要消耗一定的网络带宽。8、混合路由选择协议该协议具有距离矢量和链路状态两种路由协议的特性。该协议使用更精确度量标准的距离矢量来确定到达目的网络的最佳路径。它使用拓扑的改变来触发路由选择数据库的更新,而不是周期性的更新。该协议的算法收敛较快,占用更少的带宽、内存和处理器开销。例如:增强内部网关路由协议(EIGRP)。四、配置路由器使用路由选择协议路由配置路由选择协议IGP和EGP1、路由配置配置步骤:进入全局配置模式。选择路由协议。指定相关网络。配置命令Router(config)#routerprotocol{options}—选择路由协议其中:Pro