admin管理员组

文章数量:1530864

2023年12月16日发(作者:)

第7章 路由选择

网络互联中路由器起着关键作用,它负责将IP信息包传递到目的地。路径选择和数据转发是它必须要做的工作,如何进行路径选择和管理、解决选择过程中出现的各种问题,则是我们首先要考虑的问题。本章主要讲述了IP路由工作过程、路由设备中路由表的建立和作用以及路由协议的工作原理。并利用软件模拟了实现静态路由的配置过程。

本章学习要求:

 掌握:路由选择的基本原理;

 掌握:标准路由选择和子网路由选择中路由表各条目的结构和含义;

 了解:默认路由和主机路由的表示方法和作用;

 掌握:能够利用模拟软件实现静态路由的配置;

 掌握:掌握距离向量和链路状态路由协议的工作原理与特点。

7.1 路由选择基本知识

7.1.1 路由选择基本原理

通信子网为网络中源节点到目的节点之间IP信息包的传递,提供多条传输路径,这样在网络节点上收到一个分组后,就要确定其下一个节点的传递路径,这个过程就是IP路由选择。它是网络层要实现的基本功能。

在数据报方式中,网络节点要为每一个分组做出路由选择;而在虚电路方式中,只需要在建立连接的过程中确定路由。路由选择包括两个基本操作:最佳路径的判断、网间信息包的转发。其中,对于最佳路径的选择判断较为复杂,而在这里起传递作用的设备,最主要的就是路由器。

如图7-1所示,主机 172.16.0.1 到主机 192.168.0.1 就有多条路可走。所以,路径选择就成了路由器最重要的工作。

图7-1 IP路由选择

确定路由选择的策略被称为路由选择算法,它是路由选择的核心。首先,要考虑是选择最短路径还是最佳路径;另外,要考虑通信子网采用的是虚电路方式还是数据报方式;第三,还要考虑是集中式路由选择还是分布式路由选择;最后,是选择静态路由还是选择动态路由。路由器就是互联网中的中转站,网络中的数据包通过路由器转发到目的网络。在路由器的内部都有一个路- 1 -

由表,这个路由表中包含有该路由器掌握的目的网络地址以及通过此路由器到达这些网络的最佳路径,如某个接口或下一跳的地址,正是由于路由表的存在,路由器可以依据它进行转发。

当路由器从某个接口中收到一个数据包时,路由器查看数据包中的目的网络地址,如果发现数据包的目的地址不在接口所在的子网中,路由器查看自己的路由表,找到数据包的目的网络所对应的接口,并从相应的接口转发出去。上述描述是最基本的路由原理。

7.1.2 标准路由选择

1.标准路由选择的基本构成

在IP互联网中,需要进行路由选择的设备一般采用表驱动的路由选择算法。每台需要路由选择的设备需要保存一份IP路由表,该表保存着可能到达的目的地址以及如何到达目的网络的路径信息。在进行路由选择时,就会查询路由表,决定数据投递的路径。

路由表的基本结构一般由目的网络的IP地址,以及到下一个网络所必经的路由器IP地址组成。由于互联网中拥有大量的主机,因而如果用具体的IP地址(网络号和主机号结合)来依依描述这些可能作为目的地的主机信息几乎不可能,所以我们往往借助于同一网络中所有主机共享的同一网络号,来作为目的地址的标识。但是有些特点主机仍然采用具体IP地址来进行标识。

一个标准的IP路由表通常包含许多(N,R)对序偶结构,其中N代表目的网络的IP地址信息,R代表要到网络N所经过的下一站路由器的IP地址信息。可以看出,就网路中的某一个路由器来说,它并不清楚到达目的地的完整路径信息,只是知道如何选择到达其下一站路由器的投递路径。

下图7-2中,列举出了三个路由器各自路由表。以路由器B为例,它与网络10.0.2.0和网络10.0.3.0直接相连,路由器B如果收到目的IP地址的网络号为10.0.2.0或10.0.3.0,那么B将该报文直接投递给目的主机。如果收到的目的地网络号为10.0.1.0,那么路由器R就需要将该报文传送给与其相连的另外一个路由器A,由路由器A再次转发该报文,直至目的地。以此如果接受到报文的目的地网络号为10.0.4.0,则路由器B就需要再将该报文传送给路由器C。

图7-2 标准路由选择

2.在主机上的路由表信息

在运行Windows系列操作系统的计算机上输入Route Print 命令,既可以得到结构如下的- 2 -

本机路由表信息:

图7-3 本机路由表信息

主机的IP路由表包含以下所列信息。

(1)目标网络(Network Destination)

主机路由表里的目标可以是目标主机(10.112.10.99)、子网地址(10.112.10.0)、网络地址或默认路由(0.0.0.0)。路由表中的127.0.0.0代表本地环路网;224.0.0.0代表组播网络。255.255.255.255代表本地广播网。

(2)网络掩码(Netmask)

网络掩码与目标位置结合使用以决定使用路由的时间。如:主机路由的掩码255.255.255.255,默认路由的掩码为0.0.0.0,而子网或网络路由的掩码在这两个极限值之间。

掩码255.255.255.255表明只有精确匹配的目标位置使用此路由。掩码0.0.0.0表示任何目标位置都可以使用此路由。

(3)网关(Geteway)

网关是数据包需要发送到下一个路由器的IP地址。本例中网关有三个:127.0.0.1代表发往本地环回地址;10.112.10.254是本机的默认网关地址,凡是不能在路由表中查找的目标,就发往本地址;10.112.10.99是本机的IP地址,代表发往本机网卡。

(4)接口(Interface)

接口表明用于接通下一个路由器的本地网卡的IP地址或本地环回地址。

(5)度量参数(Metric)

本机的度量参数使用的是“跳数(跃点数)”,表明到达目标位置所通过的路由器数目。如果有多个到相同目标位置的跳数,则选择跳数最低的路由为最佳路径。

7.1.3 子网路由选择

现实中很多网络不是采用标准路由的选路,而是采用子网路由选择路径。主要是因为很多网络是采用子网编制的结构,中间必须涉及到子网掩码的区分,因此,我们必须更改标准路由选择- 3 -

方法,以满足子网选路的需求。

首先我们必须在标准路由表的对序偶(N,R)中加入区分子网的重要信息字段“子网掩码”,则子网的IP路由表表项最终可为(M,N,R)三元组结构。其中M代表子网掩码,N代表目的网络地址,R代表到达网络N所经过的下一站路由器的IP地址信息。

在子网路由选择时,首先将IP数据包中的目的地址F取出来并转换为二进制形式,接着与路由表中的“子网掩码”进行逐位“相与”运算,得到结果F1再与路由表中“目的网络地址”逐个进行比较,如果相同,说明路由选择成功,IP数据报沿着对应的“下一站路由器IP地址”传送出去。

如下图7-4所示,如果路由器R收到一个目的地址为10.4.0.16的数据报,那么它首先将该地址与路由表的第一项子网掩码255.255.0.0进行“与运算”,得到F1=(10.4.0.0),发现与第一项中10.2.0.0不符,说明路由选择不成功。这样它会按此方法逐项计算比较,直到最后一项。得到相与的结果F1与此项中10.4.0.0相一致,说明选路成功,这样路由器将此数据报转发给下一站路由器S(10.3.0.7),然后S会按照相同方法继续转发数据报直至目的主机。

图7-4 子网选路

7.1.4 特殊路由

1.默认路由

如果路由表没有明确指明一条到达目的网络的路由信息,就将数据报转发到默认路由指定的路由器。这样做的主要目的可以缩短路由表的长度、减少路由计算时间。

例如在上图7-4中如果路由器Q建立一个指向路由器R的默认路由,就不必建立达到子网10.3.0.0和10.4.0.0的路由了。只要收到的数据报目的地址不属于Q直接相连的网络10.1.0.0和网络10.2.0.0的信息,它就直接将此信息按照默认路由转交给路由器R。

其默认路由可设计成(0.0.0.0 ,0.0.0.0 ,10.2.0.6)。

2.特定主机路由

对单个主机(而不是网络)指定一条特别的路径。其主要目的是可以增强安全性,并可以利用此路由进行网络连通性调试和路由表正确性的判断。其中路由表的子网掩码项设置为- 4 -

255.255.255.255,目的地址为目的主机的IP地址。

7.2 路由选择协议

7.2.1 路由表的建立

路由表的建立过程可以采用静态路由建立和动态路由建立两类。静态路由是通过人工建立的,而动态路由则是路由器采用动态路由协议自己学习得到的。

1.静态路由

静态路由是指需要由网络管理员手工配置路由信息。当网络的拓扑结构或链路的状态发生变化时,网络管理员需要手工去修改路由表中相关的静态路由信息。静态路由信息在默认情况下是私有的,不会传递给其他的路由器。当然,网管员也可以通过对路由器进行设置使之成为共享的。静态路由一般适用于比较简单的网络环境,在这样的环境中,网络管理员易于清楚地了解网络的拓扑结构,便于设置正确的路由信息。

使用静态路由的另一个好处是网络安全保密性高。动态路由因为需要路由器之间频繁地交换各自的路由表,而对路由表的分析可以揭示网络的拓扑结构和网络地址等信息。因此,网络出于安全方面的考虑也可以采用静态路由。

综合上述可以看出静态路由有如下特点:

(1)优势:安全可靠、简单直观,避免了动态路由选择的开销;

(2)适用环境:不太复杂的互联网结构;

(3)劣势:不适用于复杂的互联网结构;建立和维护工作量大;容易出现路由环;互联网出现故障,静态路由不会自动做出选路更改,如下图7-5所示。

图7-5 静态路由中路由表出错

下面介绍一个利用模拟软件Boson Netsim实现静态路由的配置过程,步骤如下:

(1)拓扑环境和网络参数

- 5 -

图7-6 静态路由配置环境

(2)针对R1的初始配置

(3)针对R2的初始配置

- 6 -

(4)针对Host1的图形化配置

(5)针对Host2的命令行配置

(6)在R1上的路由设置

(7)在R2上的路由设置

- 7 -

(8)配置完成后测试效果

2.动态路由

动态路由是指路由器能够根据封装的动态路由协议,自动地建立自己的路由表,并且能够根据实际情况的变化实时地进行调整,选择到达目的地的最佳路径。动态路由机制的运作依赖路由器的两个基本功能:对路由表的维护;路由器之间实时的路由信息交换。

路由器之间的路由信息交换是基于路由协议实现的。路由协议包含路由器间共享网络是否可达和连接状态等相关信息,是彼此间进行相互交流的“语言”。很显然,路由器之间想进行信息交流的话,必须说同一种语言,有8种主要的IP路由协议可供我们在设计网络时选择。

交换路由信息的最终目的在于通过路由表找到一条数据交换的“最佳”路径。例如在下图7-7中计算机A访问计算机B,我们可选两条路径:一个是走上面的56Kbps 连接的通道;另一个则是走向下的E1速度(2.048Mbps)连接的通道。那么这两条路径哪一个比较有效呢?如果就从远近上说,两个路径是一样的;如果从速度的角度出发,则应该选择后一条线路。

图7-7动态路由中最佳路由选择

每一种路由算法都有其衡量“最佳路径”的一套标准。大多数动态路由算法使用一个度量值(Metric)来衡量路径的优劣,一般来说,此参数值越小,路径越好。该参数可以通过路径的某些特性进行综合评价,也可以以个别参数特性进行单一评价。几个比较常用的特征如下:

(1)跳数(hop count):IP数据报到达目的地必须经过的路由器个数;

- 8 -

(2)带宽(bandwidth):链路的数据能力;

(3)延迟(delay):将数据从源送到目的地所需的时间;

(4)负载(load):网络中(如路由器中或链路中)信息流的活动数。如 CPU 使用情况和每秒处理的分组数;

(5)可靠性(reliability):数据传输过程中的差错率;

(6)最大传输单元(MTU) :路由器端口所能处理的、以字节为单位的包的最大尺寸;

(7)开销(cost):一个变化的数值,通常可以根据建设费用、维护费用、使用费用等因素由网络管理员指定。

动态路由的特点为:

(1)动态路由可以通过自身学习自动修改和刷新路由表,自动排除错误路径,自动选择性能更优的路径,拥有更多的自主性和灵活性;

(2)动态路由要求路由器之间不断地交换路由信息,因而对网络资源需求较多;

(3)适用环境:拓扑结构复杂、网络规模庞大的互联网;

(4)交换路由信息需要占用网络的带宽,路由表的动态修改和刷新需要占用路由器的内存和CPU处理时间,消耗路由器的资源。

7.2.2 RIP协议

1. 向量-距离路由选择算法

向量距离路由算法是计算网络中所有链路的向量和距离。它是为小型网络环境设计的。在大型网络环境下,这类算法在学习路由及保持路由时将产生较大的流量,占用过多的带宽。

每隔 30 秒,向量距离路由算法就要向相邻站点发送整个路由选择表,使相邻站点的路由选择表得到更新。如果在 90 秒内没有收到相邻站点发送的路由选择表更新信息,它既认为相邻站点不可达。这样,它就能从别的站点(直接相连的或其他方式连接的)收集一个网络的列表,以便进行路由选择。向量距离路由算法使用跳数作为度量值,来计算到达目的地要经过的路由器个数。图7-8显示了向量距离路由算法的路由表更新过程。

图7-8 向量距离路由算法的实现过程

- 9 -

(1)路由器启动时初始化自己的路由表:初始路由表包含所有去往与该路由器直接相连的网络路径;初始路由表中各路径的距离均为0;

(2)各路由器周期性地向其相邻的路由器广播自己的路由表信息;

(3)路由器收到其他路由器广播的路由信息后,刷新自己的路由表(假设Ri收到Rj的路由信息报文)。

①Rj列出的某表目Ri中没有:Ri须增加相应表目,其“目的网络”是Rj表目中的“目的网络”,其“距离”为Rj表目中的距离加1,而“路径”则为Rj。

②Rj去往某目的地的距离比Ri去往该目的地的距离减1还小:Ri修改本表目,其“目的网络”不变,“距离”为Rj表目中的距离加1,“路径”为Rj。

③Ri去往某目的地经过Rj,而Rj去往该目的地的路径发生变化:如果Rj不再包含去往某目的地的路径,Ri中相应路径须删除;如果Rj去往某目的地的距离发生变化,Ri中相应表目的“距离”须修改,以Rj中的“距离”加1取代之 。

向量距离路由算法的特点:

(1)优点:算法简单、易于实现;

(2)缺点:易产生慢收敛问题,路由器的路径变化需要像波浪一样从相邻路由器传播出去,过程缓慢;需要交换的信息量较大,与自己路由表的大小相似。

(3)适用环境:路由变化不剧烈的中小型互联网。

协议

RIP协议是向量距离路由选择算法在局域网上的直接实现。RIP协议规定了路由器之间交换路由信息的时间、交换信息的格式、错误的处理等内容。

相邻的路由器之间每30秒交换一次路由信息;路由信息来源于本地路由表;路由器到达目的网络的距离以“跳数”计算。

针对相同开销路由我们采用“先入为主”的原则,即先收到谁的信息就先使用谁的;

针对过时路由的处理,我们使用计时器的方法。即设置计时器中超时时间为180s,相当于6个RIP刷新周期,以此来判断是否超时。

RIP最大允许的跳数通常定为15。那些必须经过15个以上的路由器才能达到的终端被认为是不可到达的。

如下图7-9所示,启动RIP后,默认情况下,每隔30秒路由器会向它们的邻居通告自己的路由表。即路由器 A 通告给路由器B,路由器B通告给路由器A和路由器C,路由器C通告给路由器B。我们先看一下路由器A接收到路由器B发来的路由信息后所发生的变化。路由器A收到B发来的信息,这里包含着有关10.0.2.0 和10.0.3.0网络的信息,因路由器A已知10.0.2.0网络的信息,且是直连的,则对该条信息不做任何处理;10.0.3.0 网络的信息在路由器A的信息表中没有,A则将该条信息加入到路由表中。因10.0.3.0 网是直连于路由器B的,如果路由器A想到达该网络的话,则必须经过路由器B,所以路由器A在重新计算跳数的时候,会在原跳数的基础上加1,即将 0+1 的结果1作为新的跳数值记入路由表。同理,当路由器B接收到路由器

- 10 -

A和C发来的路由信息后,则会将有关网络10.0.1.0 和10.0.4.0网络的信息,经过重新计算跳数后加入到自己路由信息表中;路由器C则会将从路由器B接收来的有关10.0.2.0网络的信息,经过重新计算跳数后加入到自己的路由表中。各路由表的内容如图7-9所示。第一次彼此间的路由信息交换结束。

图7-9 向量距离路由选择算法的实现过程

下一周期到来,路由器A接收到B发来的路由信息,对照自己已知的信息,发现只有有关网络10.0.4.0 的信息不知道,则路由器A就会将这条信息经过重新计算跳数后放入到自己的路由表中;路由器B与C执行同样的操作,最后形成了如图7-9所示的结果。

至此,所有网络的信息3个路由器都已经知道,这种状态称之为路由收敛。由路由开始,一直到达到收敛的这段时间,叫做收敛时间。从上述的过程来看,如果RIP运行在大型的网络环境中,它的收敛时间就会很长。没有达到收敛状态,某些网络的信息在路由表中不存在,就会无法进行正常的信息转发。因此,慢收敛问题是RIP协议的最大不足,因而RIP一般不会被应用在大型的网络结构中。

7.2.3 OSPF协议

1.链路状态路由算法

链路状态路由算法定时重新发现整个网络或是路由器所在的部分网络。此类算法基于拓扑数据库来建立路由表。该数据库是根据所有路由器之间传递的链路状态数据包建立起来的,用以描述网络状态。

基于链路状态的路由算法,也被称为开放式最短路径优先(OSPF)协议。其基本思想是:互联网上的每个路由器周期性地向其他路由器广播自己与相邻路由器的连接关系,互联网上的每个路由器利用收到的路由信息画出一张互联网拓扑结构图,利用画出的拓扑结构图和最短路径优先算法,计算自己到达各个网络的最短路径。

与RIP不同的是,OSPF协议知道远程网络的确定信息,维护所有关于远程路由器及其互联状况的信息资料。初始泛洪交换整个路由表后,以后就基于事件触发更新的机制传递变化信息,这样就减少了传递的信息量。此类算法更适合大型网络,但由于它的复杂性,使得路由器需要更多

- 11 -

图7-10 链路状态路由选择算法实现过程

的CPU资源。它能够在更短的时间内发现已经断了的链路或新连接的路由器,使得协议的收敛时间比距离向量路由协议更短。通常,在 10秒钟之内没有收到邻站的Hello报文,它就认为邻站已不可达。一个链接状态路由器向它的邻站发送更新报文,通知它所知道的所有链路。它确定最优路径的度量值是一个数值代价,这个代价的值一般由链路的带宽决定。具有最小代价的链路被认为是最优的。在最短路径优先算法中,最大可能代价的值几乎可以是无限的。如网络没有发生任何变化,路由器只要周期性将没有更新的路由选择表进行刷新就可以了。

综合上述,可以看出OSPF路由选择协议的特点为:

(1)OSPF路由选择协议以链路-状态算法为基础;

(2)主要优势:收敛速度快,支持服务类型选路,提供负载均衡和身份认证;

(3)适用环境:规模庞大、环境复杂的互联网;

(4)主要缺陷:要求较高的路由器处理能力;带宽需求较大。

针对它的主要不足,提出了如下解决方法:

分层:将一个大型的互联网分成几个不同的区域,一个区域中的路由器只需要保存和处理本区域的网络拓扑和路由,区域间的路由信息的交换由一个特定的路由器完成;

指派路由器:指在互联网中,路由器将自己与相邻路由器的关系发送给一个或多个指定的路由器上,指派路由器生成整个网络的拓扑结构,以便其它路由器查询。

向量-距离路由选择算法和链路-状态路由选择算法对比如下:

(1)向量-距离路由选择算法:不需要路由器了解整个互联网的拓扑结构,通过相邻的路由器了解到达每个网络的可能路径;

(2)链路-状态路由选择算法:依赖于整个互联网的拓扑结构图,利用整个互联网的拓扑结构图得到SPF树,进而由SPF树生成路由表。

- 12 -

习 题

一、填空题

1. 标准的IP路由表中N代表___________________,R代表_____________________。

2. 默认路由的表示方式为:子网掩码M用__________表示,目的网络地址用__________表示,下一站路由R用__________表示。

3. 动态路由的度量值一般由以下参数综合评定_______、_________、_______、_______。

二、选择题

1.在IP互联网中,以下哪种设备需要具备路由选择功能________。

A.路由器 B.具有多网卡的主机

C.具有单网卡的主机 D.以上都需要

2.关于OSPF和RIP,下列说法正确的是__________。

和RIP都适合在规模大、动态的互联网上使用。

适合在小型的、静态的互联网上使用,而RIP适合于大型的、动态的互联网上使用。

适合在小型的、静态的互联网上使用,而OSPF适合于大型的、动态的互联网上使用。

和RIP都比较适合在小型的、静态的互联网上使用。

三、简答题

1.什么是路由选择?

2.简述路由选择算法的基本作用?

3.向量距离路由选择算法和链路状态路由选择算法的思想各是什么?

1995678

5.5

1.4

219955

- 13 -

本文标签: 路由路由器选择网络