《路由交换技术与应用》课件第17章_第1页
《路由交换技术与应用》课件第17章_第2页
《路由交换技术与应用》课件第17章_第3页
《路由交换技术与应用》课件第17章_第4页
《路由交换技术与应用》课件第17章_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第17章路由技术基础17.1路由的概念17.2路由表17.3路由的优先级17.4浮动静态路由与路由备份17.5最长匹配原则17.6路由协议原理17.7距离矢量路由协议小结

主要内容:

路由及路由表的概念

路由优先级的作用及其应用

路由选择时的最长匹配原则

多种产生路由的方式及其特点

静态路由、缺省路由的作用,动态路由的作用、特点、分类

路由器提供了将异构网互连的机制,实现将一个数据包从一个网络发送到另一个网络。路由就是指导IP数据包发送的路径信息。

在互联网中进行路由选择要使用路由器,路由器只是根据所收到的数据包头的目的地址选择一个合适的路径(通过某一个网络),将数据包传送到下一个路由器,路径上最后的路由器负责将数据包送交目的主机。17.1路由的概念数据包在网络上的传输就好像是体育运动中的接力赛一样,每一个路由器只负责将自己本站的数据包通过最优的路径转发,通过多个路由器一站一站的接力将数据包通过最优最佳路径转发到目的地,当然有时由于实施一些路由策略,数据包通过的路径并不一定是最佳的路径。

路由器的一个作用就是为经过路由器的每个数据帧寻找一条最佳传输路径,并将该数据有效地传送到目的站点。选择通畅快捷的近路,能大大提高通信速度,减轻网络系统通信负荷,节约网络系统资源,提高网络系统畅通率,从而让网络系统发挥出更大的效益来。17.2路由表由此可见,选择最佳路径的策略即路由算法是路由器的关键所在。为了完成这项工作,在路由器中保存着各种传输路径的相关数据——路由表(RoutingTable),供路由选择时使用。通常情况下,路由器根据接收到的IP数据包的目的网段地址查找路由表来决定转发路径。路由表中需要保存着子网的标志信息、网上路由器的个数和要到达此目的网段需要将IP数据包转发至哪一个下一跳相邻设备地址等内容,以供路由器查询使用。路由表被存放在路由器的RAM上,这意味着路由器如果要维护的路由信息较多,则必须有足够的RAM,而且一旦路由器重新启动,那么原来的路由信息都会消失。路由表可以是由系统管理员固定设置好的(静态路由表),也可以是根据网络系统的运行情况而自动调整的路由表(动态路由表)。后者是根据路由选择协议提供的功能,自动学习和记忆网络运行情况,在需要时自动计算数据传输的最佳路径。路由器的另一个作用是连通不同的网络。一般说来,异种网络互连与多个子网互连都应采用路由器来完成。

通常情况下,路由表包含了路由器进行路由选择时所需要的关键信息。这些信息构成了路由表的总体结构。理解路由表的构成对我们进行路由维护和排错有非常重要的意义。下边将逐一讲述路由表的结构成分。

(1)目的网络地址(Dest):用于标识IP包要到达的目的逻辑网络或子网地址。

(2)掩码(Mask):与目的地址一起来标识目的主机或路由器所在的网段的地址。将目的地址和网络掩码“逻辑与”后可得到目的主机或路由器所在网段的地址。例如:目的地址为8.0.0.0,掩码为255.0.0.0的主机或路由器所在网段的地址为8.0.0.0。掩码由若干个连续“1”构成,既可以用点分十进制表示,也可以用掩码中连续“1”的个数来表示。

(3)下一跳地址(Gw):与承载路由表的路由器相邻的路由器的端口地址,有时我们也把下一跳地址称为路由器的网关地址。

(4)发送的物理端口(Interface):学习到该路由条目的接口,也是数据包离开路由器去往目的地将经过的接口。

(5)路由信息的来源(Owner):表示该路由信息是怎样学习到的。路由表可以由管理员手工建立(静态路由表);也可以由路由选择协议自动建立并维护。路由表不同的建立方式也决定了其中路由信息的不同学习方式。

(6)路由优先级(pri):决定了来自不同路由来源的路由信息的优先权。(后边的课程中将有详细的讲解。)

(7)度量值(metric):用于表示每条可能路由的代价。度量值最小的路由就是最佳路由。

图17-1中所显示的是路由表中的一条路由信息,其中:

172.16.8.0为目的逻辑网络地址或子网地址,255.255.255.0为目的逻辑网络或子网的网络掩码。1.1.1.1为下一跳逻辑地址。

fei_0/1.1为学习到这条路由的接口和将要进行数据转发的接口。

static为路由器学习到这条路由的方式,本例中本条路由信息是通过手工配置的方式学习到的。

1为此路由的路由管理距离,0为此路由的度量值。

图17-1路由表示例

一台路由器上可以同时运行多个路由协议。不同的路由协议都有自己的标准来衡量路由的好坏(衡量参数有的采用下一跳次数,有的采用带宽,有的采用延时,一般在路由数据中使用度量值来量化),并且每个路由协议都把自己认为是最好的路由送到路由表中。这样到达一个同样的目的地址,可能有多条分别由不同路由选择协议学习来的不同的路由。虽然每个路由选择协议都有自己的度量值,但是不同协议间的度量值含义不同,也没有可比性。17.3路由的优先级路由器必须选择其中一个路由协议计算出来的最佳路径作为转发路径加入到路由表中。因此我们需要有一种方法来实现这个目的。通过这种方法,我们能判断出最优的路由并使用它来转发数据包。

实际的应用中,我们使用路由优先级来实现这个目的。每个路由器可以配置一个优先级参数。路由器选择路由协议的依据就是这个路由优先级。不同的路由协议有不同的路由优先级。数值小的优先级高。当我们有到达同一个目的地址的多条路由时,可以根据优先级的大小,选择其中一个优先级最小的作为最优路由,同时将这条路由写进路由表中。在图17-2中,一台路由器上同时运行两个路由协议:RIP和OSPF。RIP与OSPF协议都发现并计算出了到达同一条网络10.0.0.0/16的最佳路径,但由于选路算法不同选择了不同的路径。由于OSPF具有比RIP高的路由优先级(数值较小),所以路由器将通过OSPF学到的这条路由加入到路由表中。

图17-2路由优先级

——小提示:

完全相同的一条路由才能进行路由优先级的比较,如10.0.0.0/16和10.0.0.0/24被认为不是相同的路由,如果RIP学到了其中的一条,而OSPF学到了另一条,则两条路由都会被加入路由表中。

表17-1中列出了各种路由选择协议的缺省优先级。

表17-1各种路由选择协议的缺省优先级路由优先级的数值范围为0~255。

缺省路由优先级赋值原则为:直连路由具有最高优先级;人工设置的路由条目优先级高于动态学习到的路由条目;度量值算法复杂的路由协议优先级高于度量值算法简单的路由协议。

这样,各路由协议(包括静态路由)都被赋予了一个管理距离。当存在多个路由信息源时,具有较小管理距离数值的路由协议发现的路由将成为最优路由,并被加入路由表中。对不同路由协议的路由优先级的赋值是各个设备厂商自行决定的,没有统一标准。所以有可能不同厂商的设备上路由优先级是不同的,并且通过配置可以修改缺省路由优先级。

应用路由的这种选择机制,可以实现路由的备份。用户可以根据实际情况,配置到同一个目的地的多条路由,并设置通主链路的路由优先级最高,其余的备份链路依次递减。这样配置后,正常的情况下,路由器采用主链路发送数据。当主链路发生故障时,备份链路接替主链路转发数据。当主链路状态恢复正常后,流量应该自动切换回主链路。17.4浮动静态路由与路由备份路由表中的路由条目也会根据链路的状态做适当的调整,如图17-3所示,正常情况下所有到达外部网络的路由应该通过接口e1_1进行转发,而当连接接口e1_1的DDN链路down掉后,路由表中的到达外部网络的路由应该自动变为指向接口e1_2,通过其所连接的PSTN网络进行转发。

图17-3浮动静态路由在路由器上如何设置以满足备份链路的需求呢?我们可以使用浮动静态路由配置备份链路。如图17-4所示,分别配置了通过不同接口到达外部网络10.0.0.0255.0.0.0的路由,其中通过主链路的静态路由的路由优先级没有配置,保持缺省值1;通过备份链路的静态路由的路由优先级配置为5。

在两条链路状态都正常的情况下,由于设置的是两条完全相同的路由,所以路由优先级高(数值小)的通过接口e1_1转发的路由条目会出现在路由表中,而路由优先级低(数值大)的通过接口e1_2转发的路由条目不会出现在路由表中。当主链路发生故障,路由器在接口上检测出链路down掉后会撤消所有通过此接口转发的路由条目。图17-4浮动静态路由的配置此时路由优先级低(数值大)的通过接口e1_2转发的路由条目就自动出现在路由表中,所有到达外部网络10.0.0.0255.0.0.0的流量被切换到备份链路。而当主链路状态恢复正常后,通过主链路转发的路由会自动出现在路由表中,而通过备份链路转发的路由被自动撤消。

在路由器中,路由查找遵循的是最长匹配原则。所谓的最长匹配,就是路由查找时,使用路由表中到达同一目的地的子网掩码最长的路由。17.5最长匹配原则如图17-5所示,相对于上述的去往10.1.1.1的数据包,在路由表中,同时有三条路由显示可以为此数据包进行转发,分别是10.0.0.0、10.1.0.0和10.1.1.0。根据最长匹配原则,10.1.1.0这个条目匹配到了24位,因此,去往10.1.1.0的数据包用10.1.1.0的路由条目提供的信息进行转发,也就是从fei_0/1.3进行转发。

图17-5最长匹配原则

17.2节我们讲解了路由表的结构,也许大家会有疑问:无论手工或自动学习,路由表最初是如何建立起来的呢?建立起路由表后又如何进行维护呢?路由器不是即插即用设备,路由信息必须通过配置才会产生,并且路由信息必须要根据网络拓扑结构的变化做相应的调整与维护。这些都如何来实现呢?下面将介绍路由的分类和产生与维护的过程。17.6路由协议原理根据路由信息产生的方式和特点,也就是路由是如何生成的,路由可以被分为直连路由、静态路由、缺省路由和动态路由等。17.6.1直连路由

路由器接口上配置的网段地址会自动出现在路由表中并与接口关联,这样的路由叫做直连路由。直连路由是由链路层发现的。其优点是自动发现,开销小;缺点是只能发现本接口所属网段。

当路由器的接口配置了网络协议地址并状态正常,即物理连接正常,并且可以正常检测到数据链路层协议的keepalive信息时,接口上配置的网段地址将自动出现在路由表中并与接口关联。其中产生方式(Owner)为直连(direct),路由优先级为0,拥有最高路由优先级。其metric值为0,表示拥有最小metric值。如图17-6所示。

图17-6直连路由表直连路由会随接口的状态变化在路由表中自动变化,当接口的物理层与数据链路层状态正常时,此直连路由会自动出现在路由表中,当路由器检测到此接口down掉后,此条路由会自动消失。17.6.2静态路由及配置

系统管理员手工设置的路由称之为静态(Static)路由,一般是在系统安装时就根据网络的配置情况预先设定的,它不会随未来网络拓扑结构的改变而自动改变。

静态路由的优点是不占用网络、系统资源;其缺点是当一个网络故障发生后,静态路由不会自动修正,必须有管理员的介入,需网络管理员手工逐条配置,不能自动对网络状态变化做出相应的调整。我们也许会这样考虑:“我们应该避免使用静态路由!”,然而,对于一个平滑的网络,静态路由在很多地方都是必要的。合理地设置和使用静态路由可以改进网络的性能,为重要的应用保存带宽。实际上,在一个无冗余连接网络中,静态路由可能是最佳选择。我们推荐在以下两种情况下使用静态路由。

(1)在稳固的网络中使用静态路由,减少路由选择问题和路由选择数据流的过载。例如,在只有一条通路有效的Stub网络中使用静态路由。某些时候,可以通过备份中心提供多条通路,这时,由备份中心来检测网络拓扑结构,以便当一条网络链路出现故障时,通过路由的切换来实现数据业务在不同通路间的切换。

(2)在构筑一个非常大型的网络时使用静态路由。这是静态路由的另一个价值方面的体现,这时各个区域通过一刀两条主链路连接的。静态路由的隔离特征能够有助于减少整个网络中的路由选择协议的开销、限制路由选择发生改变和出现问题的范围。静态路由是否出现在路由表中取决于下一跳是否可达,即此路由的下一跳地址所处网段对本路由器是否可达。

静态路由在路由表中的产生方式(Owner)为静态(Static),路由优先级为1,其metric值为0。如图17-7所示。

图17-7静态路由表示例我们使用命令iproute命令来配置静态路由。一条静态路由的配置命令中要有以下几个要素:

(1)目的地址:用来标识IP包的目标地址或目标网络;

(2)网络掩码:其和目标地址一起来标识目标网络;

(3)下一跳IP地址:说明IP包所经由的下一个IP地址;

(4)接口:说明IP包从哪个接口发出去;

(5)

distance-metric:相当于路由协议的优先级,值越小,优先级越高。

如图17-7和17-8所示,路由器A的静态路由配置如下:

发给网络10.0.0.0的包将被路由到拥有地址172.16.2.2的路由器:

ZXR10(config)#iproute10.0.0.0255.0.0.0172.16.2.217.6.3缺省路由

缺省路由是一个路由表条目,用来指明一些在下一跳没有明确地列于路由表中的数据单元应如何转发。对于在路由表中找不到明确路由条目的所有的数据包,都将按照缺省路由指定的接口和下一跳地址进行转发。在路由表中,缺省路由以到网络0.0.0.0(掩码为0.0.0.0)的路由形式出现。可通过命令Showiproute的输出看它是否被设置。如果报文的目的地址不能与路由表的任何入口项相匹配,那么该报文将选取缺省路由。如果没有缺省路由且报文的目的地址不在路由表中,那么该报文被丢弃的同时,将返回源端,一个ICMP报文指出该目的地址或网络不可达。缺省路由是否出现在路由表中,取决于本地出口状态。缺省路由在网络中是非常有用的。在一个包含上百个路由器的典型网络中,选择动态路由协议可能耗费较大量的带宽资源,使用缺省路由意味着采用适当带宽的链路来替代高带宽的链路,以满足大量用户通信的需求。

Internet上大约99.99%的路由器上都存在一条缺省路由!缺省路由并不一定都是手工配置的静态路由,有时也可以由动态路由协议产生。比如,OSPF路由协议配置了Stub区域的路由器,会动态产生一条缺省路由。缺省路由的优点:可以极大减少路由表条目。

缺省路由的缺点:①一旦配置不正确,可能导致路由环路;②可能导致非最佳路由。

图17-8中显示的是一个手工配置缺省路由的配置例子。所有从172.16.1.0网络中传出的没有明确目的地址路由条目与之匹配的IP包,都被传送到了缺省的网关172.16.2.2上。

图17-8缺省路由示例17.6.4动态路由协议

正如前边所讲,路由表既可以是由系统管理员固定设置好的静态路由表,也可以是配置的可根据网络系统的运行情况而自动调整路由的动态路由选择协议。根据所配置的路由选择协议提供的功能,动态路由可以自动学习和记忆网络运行情况,在需要时自动计算数据传输的最佳路径。它适应大规模和复杂的网络环境下的应用。

所有的动态路由协议在TCP/IP协议栈中都属于应用层的协议,但是不同的路由协议使用的底层协议不同。

图17-9给出了动态路由协议在协议栈中的位置。

OSPF工作在网络层,将协议报文直接封装在IP报文中,协议号为89。由于IP协议本身是不可靠传输协议,所以OSPF传输的可靠性需要协议本身来保证。

BGP工作在应用层,使用TCP作为传输协议,提高了协议的可靠性,TCP的端口号是179。

RIP工作在应用层,使用UDP作为传输协议,RIP的端口号是520。

图17-9动态路由协议在协议栈中的位置配置了动态路由选择协议后,动态路由协议通过交换路由信息,生成并维护转发引擎所需的路由表。当网络拓扑结构改变时,动态路由协议可以自动更新路由表,并负责决定数据传输最佳路径。

动态路由协议的优点是:可以自动适应网络状态的变化,自动维护路由信息而不需要网络管理员的参与。其缺点是:由于需要相互交换路由信息,因而占用网络带宽与系统资源;另外,安全性也不如静态路由的。

在有冗余连接的复杂大型网络环境中,适合采用动态路由协议。

在动态路由协议中目的网络是否可达,取决于网络状态。17.6.5动态路由协议的分类

动态路由协议有几种划分方法,按照工作区域,路由协议可以分为IGP(InteriorGatewayProtocols,内部网关协议)和EGP(ExteriorGatewayProtocols,外部网关协议)。

1. IGP

IGP用于在同一个自治系统内交换路由信息。RIP和IS-IS都属于IGP。IGP的主要目的是发现和计算自治域内的路由信息。

2. EGP

EGP用于连接不同的自治系统,在不同的自治系统之间交换路由信息。其主要使用路由策略和路由过滤等控制路由信息在自治域间的传播,应用的一个实例是BGP。

一个自治系统(AS)是一组共享相似的路由策略并在单一管理域中运行的路由器的集合。一个AS可以是一些运行单个IGP(内部网关协议)的路由器集合,也可以是一些运行不同路由选择协议但都属于同一个组织机构的路由器集合。不管是哪种情况,外部世界都将整个AS看做是一个实体。每个自治系统都有一个唯一的自治系统编号,这个编号是由因特网授权的管理机构IANA分配的。它的基本思想就是希望通过不同的编号来区分不同的自治系统。这样,当网络管理员不希望自己的通信数据通过某个自治系统时,这种编号方式就十分有用了。例如,该网络管理员的网络完全可以访问某个自治系统,但由于它可能是由竞争对手在管理,或是缺乏足够的安全机制,因此,可能要回避它。通过采用路由协议和自治系统编号,路由器就可以确定彼此间的路径和路由信息的交换方法。自治系统的编号范围是1~65535,其中1~65411是注册的因特网编号,65412~65535是专用网络编号。

按照路由的寻径算法和交换路由信息的方式,路由协议可以分为距离矢量D-V(Distance-Vector)协议和链路状态(L-S)协议。距离矢量协议包括RIP和BGP,链路状态协议包括OSPF、IS-IS。距离矢量路由协议基于贝尔曼-福特算法,使用D-V算法的路由器通常以一定的时间间隔向相邻的路由器发送它们完整的路由表。接收到路由表的邻居路由器将收到的路由表和自己的路由表进行比较,新的路由或到已知网络但开销(metric)更小的路由都被加入到路由表中。相邻路由器然后再继续向外广播它自己的路由表(包括更新后的路由)。距离矢量路由器关心的是到目的网段的距离(metric)和矢量(方向,从哪个接口转发数据)。在发送数据前,路由协议计算到目的网段的metric;在收到邻居路由器通告的路由时,将学到的网段信息和收到此网段信息的接口关联起来,以后有数据要转发到这个网段,就使用这个关联的接口。距离矢量路由协议的优点:配置简单,占用较少的内存和CPU处理时间。缺点:扩展性较差,比如RIP最大跳数不能超过16跳。

链路状态路由协议基于Dijkstra算法,有时被称为最短路径优先算法。L-S算法提供比RIP等D-V算法更大的扩展性和快速收敛性,但是它的算法要耗费更多的路由器内存和处理能力。D-V算法关心网络中链路或接口的状态(up或down、IP地址、掩码),每个路由器将自己已知的链路状态向该区域的其他路由器通告,这些通告称为链路状态通告(LinkStateAdvertisement,LSA)。通过这种方式区域内的每台路由器都建立了一个本区域的完整的链路状态数据库。路由器根据收集到的链路状态信息来创建它自己的网络拓扑图,形成一个到各个目的网段的带权有向图。

17.7.1概述

距离矢量(Distance-Vector,简称D-V)算法(也称Bellman-Ford算法)周期性地将路由表信息的拷贝在路由器之间传送。当网络拓扑变化时,也会将更新信息及时传送给路由器。17.7距离矢量路由协议每一个路由器只能接收到网络中相邻路由器的路由表,如图17-10所示,路由器B接收到相邻路由器A的信息,通过增加一个距离矢量数(例如一个跳数)来增大距离矢量,然后将更新的路由表信息传送给相邻路由器C。这种逐步过程发生在相邻路由器之间。

这种方式的算法可以积累网络距离(Distances),因而能够维护网络拓扑信息数据库。距离矢量算法无法使一台路由器了解网络的精确拓扑。

图17-10距离矢量路由算法17.7.2距离矢量路由协议的功能

距离矢量路由协议可以实现以下功能:

(1)识别信息源;

(2)找出路由;

(3)选择最佳路由;

(4)维护路由选择信息。

下面我们分析距离矢量路由协议是如何实现上述功能的。

在图17-11

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论