![路由交换机培训教材(基础篇)(ZXR10基础篇2)_第1页](http://file2.renrendoc.com/fileroot_temp3/2021-11/23/4e167c04-2c54-4439-b6e5-0597d5f66f79/4e167c04-2c54-4439-b6e5-0597d5f66f791.gif)
![路由交换机培训教材(基础篇)(ZXR10基础篇2)_第2页](http://file2.renrendoc.com/fileroot_temp3/2021-11/23/4e167c04-2c54-4439-b6e5-0597d5f66f79/4e167c04-2c54-4439-b6e5-0597d5f66f792.gif)
![路由交换机培训教材(基础篇)(ZXR10基础篇2)_第3页](http://file2.renrendoc.com/fileroot_temp3/2021-11/23/4e167c04-2c54-4439-b6e5-0597d5f66f79/4e167c04-2c54-4439-b6e5-0597d5f66f793.gif)
![路由交换机培训教材(基础篇)(ZXR10基础篇2)_第4页](http://file2.renrendoc.com/fileroot_temp3/2021-11/23/4e167c04-2c54-4439-b6e5-0597d5f66f79/4e167c04-2c54-4439-b6e5-0597d5f66f794.gif)
![路由交换机培训教材(基础篇)(ZXR10基础篇2)_第5页](http://file2.renrendoc.com/fileroot_temp3/2021-11/23/4e167c04-2c54-4439-b6e5-0597d5f66f79/4e167c04-2c54-4439-b6e5-0597d5f66f795.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 ZXR10 电信级路由交换机培训教材(基础篇)第五章 路由选择协议5.1 路由协议在IP路由中的作用路由器的主要工作就是为经过路由器的每个IP包寻找一条最佳传输路径,并将该数据有效地传送到目的站点。既然路由器要完成IP路由的功能,那么从功能逻辑上可以划分为路由功能器件(路由引擎)和转发功能器件(转发引擎)这两部分。转发引擎负责把IP包从自身的输入端快速地真实地转发到输出端。而为了转发一个IP包,转发引擎使用了两种信息资源:一个是路由器维护的路由转发表,另一个是IP包自身携带的信息(一般是目的IP地址)。而路由引擎则是负责建立并且维护路由转发表,它是转发引擎的前提和基础。路由引擎功能部件则是由
2、一个或多个路由协议构成。这些路由协议提供了路由器之间的路由信息的交换,并且利用交换得到的路由信息通过一定的算法转换成路由转发表。故路由协议的作用一句话就是:通过路由信息的交换生成并维护转发引擎需要的路由转发表。路由协议不仅提供路由表信息(路由路径改变时要更新路由表),而且负责决定数据从发送方通过网络传输到接收方的最佳路径。5.2 路由协议综述5.2.1 单播路由协议和组播路由协议Internet应用中的IP包一般是点到点的应用,但也有某些情况是点到多点的应用,如音频/视频会议(多媒体会议),某些如股票信息的实时数据传送,网络游戏和仿真等。我们分别称这两种IP包的路由为单播路由和组播路由,他们路
3、由IP包时使用的路由转发表是结构不同的,并且使用的IP包中的信息是不同的(不详细介绍)。而分别生成和维护单播路由表和组播路由表的协议称为单播路由协议和组播路由协议。单播路由协议有:RIP、OSPF、IS-IS、IGRP、BGP等。组播路由协议有:DVMRP、PIM-SM、PIM-DM、MOSPF、MBGP等。5.2.2 域间路由协议(EGP)和域内路由协议(IGP)大的ISP的网络可能含有上千台路由器,而小的提供商通常具有十几台路由器,每个ISP管理自己的内部网络,一般称为一个管理域。它和其他ISP的连通称为域间连接。这样Internet又可以讲是由一个个域互连而成。由于将网络分割为逻辑组(如
4、路由域或自治域)的现象则产生了相应的两种路由协议(如图51所示):l 负责一个路由域(在一个管理域内运行同一种路由协议的域称为一个路由域)内路由的路由协议,称为域内路由协议(Interior Gateway Protocol,IGP)。域内路由协议的作用是确保在一个域内每个路由器均遵循相同的方式表示路由信息,并且遵循相同的发布和处理信息的规则。域内路由协议对单播协议而言有:RIP、OSPF、IGRP等,对组播协议而言有:DVMRP,PIM-SM,PIM-DM等。l 负责在自治系统之间或域间完成路由和可到达信息的交互,称为域间路由协议(Exterior Gateway Protocol,EGP)
5、。域间路由协议对单播协议而言有:BGP等;对组播协议而言有:MBGP(多协议BGP)、BGMP(边界网关组播协议)、MSDP(组播源发现协议)等。EGP协议主要是早期的EGP协议(此处的EGP是外部网关协议的一种,两者不能混淆),其效率太低,目前仅被作为一种标准的外部网关协议,没有被广泛使用。而BGP协议特别是BGP-4,由于能处理聚合(采用CIDR无类域间路由技术)和超网(supernet)的功能,为互联网提供可控制的无循环拓扑,在互联网上被大量使用。BGP-4已经成为当前互联网选路的实际标准。通常,一个自治系统内部的BGP对等体之间通过内部BGP协议(IBGP)交互路由信息,不同自治系统的
6、BGP对等体之间通过外部BGP协议(EBGP)交互路由信息。图51 EGP和IGP5.2.3 距离-矢量路由协议和链路状态路由协议前面提到,路由器之间的路由信息交换是基于路由协议实现的。交换路由信息的最终目的在于形成路由转发表,进而通过此表找到一条数据交换的“最佳”路径。每一种路由算法都有其衡量“最佳”的一套原则。大多数算法使用一个量化的参数来衡量路径的优劣,一般说来,参数值越小,路径越好。该参数可以通过路径的某一特性进行计算,也可以在综合多个特性的基础上进行计算,几个比较常用的特征是: l 路径所包含的路由器结点数(hop count) l 网络传输费用(cost) l 带宽(bandwid
7、th) l 延迟(delay) l 负载(load) l 可靠性(reliability) l 最大传输单元MTU(maximum transmission unit) 依据路由器间交换路由信息的内容及路由算法,将路由协议分为:距离-矢量路由协议和链路状态路由协议。1距离-矢量路由协议距离-矢量路由协议有:RIP,IGRP等。距离向量协议如RIP,是通过跳数来计算开销,由于选路性能低效,同时跳数受到限制,最大为15,使之只适合应用于小型网络。距离-矢量路由协议的缺陷:一是中继计数的可信度因为距离仅仅表示的是中继计数,对路由器之间的链路的带宽,延迟等无考虑。这会导致数据包传送会走在一个看起来跳数
8、是小,但实际带宽窄和延时大的链路上。二是交换路由信息的方式,即路由器交换它们可以通过定期广播整个路由表所能到达的适用网络号码。在稍大一点的网络中,路由器之间交换的路由表会很大,而且很难维护,导致收敛很缓慢。三是不支持可变长度子网掩码或CIDR以及距离矢量网络可看成是平面的,它们缺少层次,亦即缺少聚合。但RIPV2已经克服了此缺陷。距离-矢量路由协议总结如下:l 周期性的路由信息更新l 受限的路由域大小l 通告信息直接来源於转发表l 采用多点或广播的方式向使用这种协议的局域网上通告l 只需要少量的计算就可以将接受到的路由更新同本地转发表融合在一起l “水平分割”可以限制路由更新的大小和某些情况的
9、路由黑洞的形成l “毒性逆转”可以提高收敛时间,代价是更大的路由更新l “触发更新”可以使得路由拓扑变化在检测到之后立即传播开来,而无效等待下一次的周期通告的时间间隔(一般至少30S)2链路状态路由协议链路状态路由协议有OSPF、IS-IS等。链路状态路由协议工作的基础是路由器交换称为链路状态的信息元素,它带有关于链路和节点的信息。链路状态型路由协议只当网络拓扑结构发生变化时,通过交换链路状态和节点信息实现路由动态更新,这使得它能够适应更大更复杂的网络拓扑。由于链路状态协议本身不能提供国际互联网域间选路所需的全球连通解决办法,在超大型网络中,以及在链路波动较大时,链路状态的重新传输和计算工作会
10、非常繁重,导致路由器内存和CPU不堪重负,因此它仍然被限制于内部选路。3链路状态路由协议与距离矢量路由协议的比较链路状态路由协议与距离矢量路由协议相比,具有下面的优点:l 没有中继计数:采用的衡量标准是链路的综合度量,如OSPF路径选择是基于开销而不是跳数。标准可信度优于中继计数,它综合考虑了链路的带宽和时延。l 更快的收敛速度:通过链路状态更新,链路和节点的改变扩散到域中,域内所有的路由器马上更新它们的路由表。l 支持VLSM和CIDR:链路状态协议交换掩码信息作为扩散到域中的信息元素的一部分。所以,带有可变长度掩码的网络可以很容易地被识别。 l 更好的分层:鉴于距离矢量网络是平面的网络,链
11、路状态协议将域分成不同的层次和区域。这种分层的方法可以更好地控制网络的不稳定因数,并提供了一种更好的方法在区域间综合选路更新。5.3 RIP协议RIP是第一个实现动态选路的路由协议,该协议是基于本地网络的矢量距离算法而实现的。RIP使用用户数据报文协议UDP包(端口号520)来交换RIP路由信息的。RIP报文中的路由信息包含了路由所经过的路由器数即跳数,路由器根据该跳数决定各目的网络的路由。RFC规定最大跳数不得大于16,因此,RIP是适用于较小规模的自治系统的内部网关协议。路由信息协议(RIP1)是距离向量型协议,也是有类别(classful)路由协议,在路由更新时没有子网掩码的同步发送。5
12、.3.1 RIP报文的格式RIPV1协议规定RIP报文的格式如下:CommandVersionUnused (set to all zeros)Address Family identifierRoute TagIP Address00Metric( Multiple fields, up to a maxinum of 25)Address Family identifierRoute TagIP Address00Metric每个RIP报文都以由4个字节组成的一个公用头开始,紧跟在后面的是一系列路由条目,反映了其路由信息。具体内容如下:l Command:区分RIP报文类型。Command
13、 = 1,是一个路由请求报文;Command = 2,是一个路由响应报文。l Version:RIP的版本号。在一个RIP报文中,最多可通告25条路由条目,若路由条目数多于25条,则需要用多个RIP报文来交换路由信息。每条路由条目所包含的信息用以下字段来描述:l Address Family identifier:地址族标识,对一般的路由条目,取值为2;若是跟在RIP报文头后面的第一条路由条目,则取值为0XFFFF,表示是一个安全认证;若是对所有路由的请求报文,取值为0;l Route Tag: 路由标识,用于描述由其它路由协议所导入的外部路由信息。该字段域在扩散过程中保持不变,使所携带的外部
14、路由信息在经过RIP路由域时得以保存,并导入到另一自治系统中。Route Tag一般要保存产生该路由的AS值,RIP协议本身不需要该属性值;l IP Address:可达的目的地址,。一般是指网络地址;l Metric:到可达路由所需经过的路由器数,其取值范围在116。度量值在115内为可达路由,大于或等于16表示路由已不可达。RIP一个比较大的缺陷是Metric只是简单的用跳数来表示,并不能准确的反映路径的真实状况。如图5-2所示,有三条路径的跳数是一样的,所以RIP就认为这三条路径是一样的路径,但实际上各有好坏。图52 RIP的Metric5.3.2 RIP的路由过程RIP不支持可变长度子
15、网掩码(VLSM)的网络路由,子网划分时遵守“连续子网”的规则。其路由动作为:发送更新先判断待发送路由的主网络与发送端口的主网络是否一样,不一样的话只发送主网络地址,这也称为路由汇总(summary),不但可以减少通信量,而且可以有效地减少路由表的大小,因为对端无须知道该网络的每个子网信息,只根据该路由可将到各子网的数据包转发到本路由器,本路由器了解各子网的拓扑,可以实现正确的转发;如果主网络一样的话再判断子网部分,两者子网掩码一样的话,广播该子网,不一样的话就丢弃该路由,因为如果广播出去,对端检查后安装了该路由的话既没有该子网的详细信息,也可能导致路由循环,所以不能发送。接收更新先判断收到的
16、路由的主网络与接受端口的主网络是否一样,一样时用接收端口的掩码作为该路由的掩码,但如果该路由的主机地址部分非全零,将把该路由作为主机路由,掩码长度为32位;不一样时(一般而言该路由的网络地址就是主网络地址,唯一的例外是应用了“ip unnumbered”命令的ppp线路上,发送过来的路由可能含有子网部分),检查路由表是否有来自其他端口的为该主网络的子网的路由条目,已有就忽略该更新,没有就用标准分类掩码安装该路由。(但若是由ip unnumbered接口来的子网路由,由于无法确定掩码长度,则将该路由作为主机路由,掩码长度为32位)。下面以一个具体例子看一下路由的更新检查:图53 RIP的路由更新
17、路由器1发送更新到路由器2时要执行检查:131.108.5.0/24与S0口131.108.2.0/24的主网络部分一样吗?一样,都是131.108,掩码长度一样吗?一样,广播该网络131.108.5.0。 对于137.99.88.0/24网络,主网络部分为137.99与出口的131.108不一样,所以只广播网络137.99.0.0,这也称为路由汇总(summary)。再看路由器2收到路由器1的更新时也要执行检查:137.99.0.0的主网络与131.108.2.0一样吗?不一样,路由表中有来自除S0以外其他端口的主网络为137 .99的子网路由条目吗?没有,那么将255.255.0.0作为该
18、路由的掩码,安装该路由条目。131.108.5.0与131.108.2.0两者的主网络部分相同吗?相同,用S0口的掩码255.255.255.0作为该路由的掩码,安装该路由条目。5.3.3 可变长度子网掩码(VLSM)所谓变长子网掩码(VLSM)是指统一主网络地址下的子网划分应用了不同长度的子网掩码,一般在大规模的网络中使用,以充分利用IP网络地址。RIP1路由协议不支持VLSM,因为通告路由的掩码长度与发送接口的掩码长度不一样,导致该路由不被通告。下图就是应用VLSM的网络拓扑:图54 RIP1路由协议不支持VLSM网络131.108.0.0划分为四个子网,网络掩码长度不同,三个子网的网络掩
19、码长度为30位,一个子网的网络掩码的长度为24位。当路由器1在发送路由更新到路由器2时执行如下的检查过程:首先检查131.108.5.0/24与发送端口网络131.108.6.0/30两者的主网络地址是否一致?是一致,检查掩码长度是否一致:不一致,路由器1不通告该路由。再检查131.108.7.0/30与发送端口网络131.108.6.0/30两者的主网络地址是否一致?是一致,检查掩码长度是否一致;一致,路由器1通告该路由。以上检查过程决定了路由器1的通告只包括131.108.7.0一条路由。在路由器1上执行debug ip rip调试命令可以看到实际的路由通告情况:RIP: sending
20、v1 update to 255.255.255.255 via Serial0 (131.108.6.2) subnet 131.108.7.0, metric 1观察路由器2的路由表可以看到实际的路由安装情况,以下为执行show ip route命令的输出结果:131.108.0.0/30 is subnetted, 3 subnetsR 131.108.7.0 120/1 via 131.108.2.2, 00:00:08, Serial0 C 131.108.6.0 is directly connected, Serial0C 131.108.2.0 is directly conn
21、ected, Ethernet0这种情况下为达到网络的互通,可以使用静态路由的方法,但最好的解决办法还是使用统一长度的子网掩码,或者使用支持VLSM的路由协议,如RIP2,EIGRP。OSPF等。5.3.4 不连续子网路由更新时的检查过程决定了RIP1不支持VLSM, 也不支持对于不连续的子网划分,所谓不连续的网络是指任意的两个主网络相同的网络之间有其它的主网络的存在,在如下图所示的网络拓扑中,网络131.108.0.0被网络137.99.0.0隔开,所以131.108.0.0就是不连续的网络。图55 RIP1不支持不连续子网路由器1通告网络131.108.5.0时,由于其主网络部分131.1
22、08与发送口的主网络部分137.99不一样,因此路由器1只通告网络131.108.0.0,用debug ip rip可看到路由器1实际的通告内容:RIP: received v1 update from 137.99.88.1 on Serial0 131.108.0.0 in 1 hops当路由器2收到该通告路由时,检查其主网络地址是否与接收端口的主网络一致,发现不一致再检查路由表是否存在该主网络的子网路由条目,由于存在131.108.2.0/24路由条目,所以该通告路由被忽略。同样路由器2也不能将其局域网路由通告到路由器1的路由表中,因此两边的网络不能够互通。解决办法为使用静态路由。5.3
23、.5 RIP路由表的建立RIP路由表的建立过程如下:l 当路由器最初引导时,它所知道的唯一的网络是直接与之相连的网络。RIP路由表包含目标网络、到目标网络的跳跃计数或度量,以及包被发送到目标网络应经过的接口。l 每30秒,RIP将使用图54中的格式广播每个接口的整个路由表。一个RIP消息可包含至多25个网络。如果路由表包含多于25个条目,那不得不传输多个RIP消息。l 当路由器接收一个RIP消息时,使用简单的一个算法来确定是否应该把路由器增加到路由表中:l)如果要更新的路由不在路由表中,那么,把路由添加到表中,并把度量值增加1。2)如果要更新的路由在路由表中,那么只把它添加到本地路由表中。如果
24、度量值小于当前路由的度量值,且更新是在不同的接口接收到的,那么,把路由添加到路由表中,如果更新是在与路由表中某个接口相同的接口接收到的,那么,接受该路由。5.3.6 路由回路图56 路由回路1) 如图56所示,当RouterC的E0端口down掉了,便失去与10.4.0.0网络的连接。2) 如果RouterB这时发送路由更新(该更新信息包里包含了到网络10.4.0.0的路由信息,跳数为1),RouterC就会接受该信息(因为接受到的路由信息更新包里的有关网络10.4.0.0的路由比自己的要好),并将到网络10.4.0.0的路由安装到自己的路由表里。(这时,在B和C之间便出现了路由环路。)3)
25、此时,RouterC将发送新的路由更新信息,可以到达网络10.4.0.0,且跳数为2。4) RouterB在收到这个更新信息之后,因为和路由表里原有的路由信息属于同一个端口,所以就会接受,并放入自己的路由表(此时,跳数为3)。5) 如此反复,B和C中有关网络10.4.0.0的路由信息的跳数,将不断增大,直到无限大。针对以上出现的问题,可以采用以下几种办法加以解决:l 设置跳数的极限值:将跳数的极限值设为16,当跳数达到16时,就说明网络已经不可达,将不再进行发送。l 水平分割(Horizon Split):水平分割是用于解决上述问题的技术,利用这种方法,路由器将不再通过它得知路由的接口去宣告路
26、由。这将防止路由器B宣告到网络10.4.0.0的路由回到路由器C。然后,在30秒内,A将宣告到网络10.4.0.0的跳跃计数是16,即其他Router宣告网络10.4.0.0是不可到达的。l 毒性逆转(Poisoned Reverse):RIP协议亦使用毒性逆转(Poisoned Reverse)来解决这些问题。毒性逆转(Poisoned Reverse)是设置那些不可达的网络跳数设置为16,收到此种的路由信息后,路由器会立刻抛弃该路由,而不是等待其老化时间到(Age Out)。l 触发更新:RIP协议可以使用来加快路由信息在RIP路由域中的扩散,当每个RIP路由器检测到某个接口正在或已经停止
27、工作,或者是某个相邻节点瘫痪了,或者是一个新的子网或邻居节点加入进来,这时它将立刻发送一个“触发更新”,这将大大的加速了网络的收敛速度。5.3.7 定时器RIP使用一些定时器来创建和管理路由选择表。下面的输出信息显示了所用的定时器:ZXR10#show ip riprip version : 2update timer: 30 secondsinvalid timer: 180 secondsholddown timer:180 secondsflush timer : 240 seconds刷新定时器(update timer)RFC协议规定每隔一定的时间间隔发送一次路由信息的更新报文,这个
28、过程称为路由信息通告。更新报文使用UDP端口520,所有RIP信息被封装在UDP段中。RIP定义了2个信息类型:Request message和Response message。Request被用来要求邻居路由器送Update包。Response用来传送Update包。这个时间间隔由刷新定时器(update timer)控制,缺省为30秒。严格地讲,刷新定时器随机产生一个介于约25到30秒之间的时间值,借用这种差异来扰乱路由表的同步。当共享同一个广播域的多个路由器开始同时发送它们的广播刷新报文时,将会导致传输阻塞。失效定时器(invalid timer)失效定时器被用作迟滞机制。这个定时器会使
29、路由信息在路由表内保持一段时间,而不被路由表刷新报文来更新。如果一条已建立的路由在6个刷新间隔内仍没有被刷新,这条路由将被标示为不可达,但它仍存在于路由表中。抑制定时器(holddown timer)当路由表中某条路由被标示为不可达时,触发抑制定时器。抑制定时器和清除定时器用来计量该条路由彻底从路由表中删除前的时间。当网络路由处于抑制状态时,关于该路由的刷新就会被忽略。抑制定时器计时终止后,该路由仍将作为一条可能已经断掉的路由保持在路由表中,但是,任何一条接受到的网络刷新都将是可用的。清除定时器(flush timer)当路由表中某条路由被标示为不可达时,触发清除定时器。抑制定时器和清除定时器
30、用来计量该条路由彻底从路由表中删除前的时间。在抑制定时器计时终止后的60秒中,路由器如果没有收到那条被标示为不可达路由的刷新报文,则彻底清除这条路由。5.3.8 RIP版本2RFC 1723(1994)包含RIP版本1的扩展(即RIPv2)。最显著的是RIP消息格式(图57)。其中带阴影的条目是在版本2中所做的补充。路由标志可用于指出从其他RIP路由器,或从另一个IGP,如OSPF,或者从EGP如BGP得知的路由。子网掩码大概是最重要的补充,允许设计者在RIP版本2中使用VLSM。不幸的是,RIP版本2仍然受到RIP版本1的其他限制。RIP可安全地用于小网络,但若有其他选择的话,则应当使用别的
31、。RIPV2协议规定RIP报文的格式如下:CommandVersionUnused (set to all zeros)Address Family identifierRoute TagIP AddressSubnet MaskNext HopMetric( Multiple fields, up to a maxinum of 25)Address Family identifierRoute TagIP AddressSubnet MaskNext HopMetricSubnet Mask:可达目的地址的掩码,IP Address 和Subnet Mask是一个地址/掩码对,共同标识一个
32、可达的网络地址前缀。当取值为0.0.0.0时,该路由条目没有子网掩码;Next Hop:到达该可达路由的更好的下一跳的IP地址。对一般的可达路由,Next Hop = 0.0.0.0,表示下一跳的IP地址就是发布该路由信息的路由器地址;对于公共访问介质(如以太网、FDDI等)上的路由器扩散路由信息时,若某路由信息是由该公共访问介质上的某路由器传送来的,则在该公共访问介质上往其它路由器进一步扩散该路由信息时,下一跳IP地址Next Hop应为先前的路由器地址,而不是目前发布该路由信息的路由器地址,以使该路由上的IP报文在途经公共访问介质时,直接送往前一个路由器,不需经由这个多余的中转路由器,此时
33、,Next Hop不再为0.0.0.0,而是前一个路由器的IP地址;在RIP2中,增加了口令和MD5的安全认证机制,其格式是将RIP报文头后面的第一条路由信息更换为安全鉴权,这样一个RIP报文最多可通告 24 条路由信息,具体格式如下:CommandVersionUnused (set to all zeros)0XFFFFAuthentication TypePassWord (Byte 03)PassWord (Byte 47)PassWord (Byte 811)PassWord (Byte 1215)( Multiple fields, up to a maxinum of 24)Ad
34、dress Family identifierRoute TagIP AddressSubnet MaskNext HopMetricAuthentication Type:安全鉴权类型,Authentication Type = 2,是一个纯文本口令,口令最多可由16个八位组组成,当少于16个八位组时,其余域应置为0。Authentication Type = 3,是Cisco 基于MD5的安全鉴权。5.3.9 RIP的限制:l 收敛慢l 路由选取到无限l 不能处理VLSM(版本1)l 不能检测路由环路l 度量值只是跳跃计数;l 网络直径小(15个跳跃)5.4 OSPF协议OSPF代表开放最
35、短路径优先,它是一个链路状态协议。OSPF协议是IETF在RFC-1371中推荐的内部网关协议。第一个OSPF的RFC出版与1989年10月,最后一个完整的Internet标准版本RFC-2328出版于1998年4月。5.4.1 概述OSPF是一个内部网关协议(Interior Gateway Protocol, IGP),用于在单一自治系统(Autonomous system,AS)内决策路由。与RIP相对, OSPF是链路状态路由协议, RIP是距离向量路由协议。RIP的运作是通过与其他相邻的路由器交换它的整张路由表,而OSPF和其他路由器交换的信息不是路由信息,而是链路信息。OSPF不是
36、告知其他路由器它们可以到达哪些网络,以及距离是多少,而是告知他们的网络接口的状态,这些接口所连的网络,以及使用这些接口的费用。显然,各个路由器和其他路由器相比,都有不同的链路状态。每个路由器链路的状态都可称为本地链路状态,这些本地链路状态遍布在OSPF网络中传播,直到所有路由器都有完整而相同的链路状态数据库为止。一旦每个路由器都接受到所有的链路状态信息,那么每个路由器就可以构造一棵树,以自己为根,而分支表示到AS中所有网络的最短的或费用最少的路由。每个OSPF路由器使用这些最短路径构造路由表,因此得名最短路径优先。OSPF中的O只是意味着定义OSPF的标准是对公共开放的,而不是私有的专用路由协
37、议,比如CISCO的IGRP和EIGRP。链路-状态路由是最短路径优先( S P F )协议-维护一个复杂的网络拓扑数据库。与距离-向量路由协议不同,链路-状态协议形成和维护网络路由器的全部信息,以及它们是如何互联的。可以通过和网络中的其他路由器交换链路-状态通告( L S A )来实现这一点。交换了L S A的每一个路由器于是使用收到的L S A建造一个拓扑数据库。S P F算法用于计算目的地的可达性。计算的信息用于更新路由表。这个过程能发现由于链路断开或网络升级等而导致的拓扑变化。实际上, L S A交换由网络中的事件驱动,而不是周期性地运行,这样能大大减小收敛过程,因为在这种情况下路由器
38、没有必要等一系列计时器超时后才开始汇聚!链路-状态路由作为动态路由可以适合任何大小的网络。在一个设计优良的网络中,链路-状态路由协议会使网络可以经得起任何不可预知的网络拓扑结构变化。使用事件(如变化事件)来驱动更新(而不是固定时间间隔的计时器)能使收敛在拓扑变化之后更快地进行。距离-向量路由协议中经常性的、以时间驱动的更新所造成的开销在这里也被避免了。如果正确地设计网络,可以使更多的带宽用于路由数据流量而不是网络维护流量。链路-状态路由协议能更好地利用带宽带来的另一个好处是,使网络比使用静态路由或距离向量协议的网络具有更好的可扩展性。综合考虑这些协议的限制,会很容易看出链路-状态路由对于更大的
39、、更复杂化的网络或高度可扩展的网络是最合适的。虽然有这些特点和灵活性,链路-状态路由可能产生两个问题:l 在初始发现过程中,链路-状态路由协议会在网络传输线路上进行洪泛( f l o o d ),因此会大大削弱网络传输数据的能力。性能降低虽然只是暂时的,但是却非常显著。这样的洪泛过程是否会显著影响网络性能依赖于两点:可获得的带宽和必须交换路由信息的路由器数。在一个具有带宽相对窄的大型网络中进行洪泛(如帧中继网络,拨号线路等 )造成的影响比在具有大带宽链路(如千兆接口 )的小型网络上造成的影响显著得多。l 链路-状态路由对存储器容量和处理器处理能力敏感。因此,要求支持链路-状态路由的路由器配置较
40、高,价格较贵。5.4.2 OSPF数据报头格式OSPF数据包头格式如图5-7所示,其中各域的描述如下:以字节表示的域长11244228可变的版本号类型数据包长度路由器ID区域ID校验和认证类型认证数据l 版本号标识所使用的OSPF版本l 类型将OSPF数据包类型标识为以下类型之一:² hello包:建立和维持邻居关系;Hello包被周期地发向路由器接口,周期长短以网络类型为根据。Hello协议还担负着在多路访问网络中挑选出DR。² 数据库描述包(DBD或DDP):描述拓扑结构数据库的内容,并且是形成邻接的第一步(初始化一个(adjacency)关系时将交换这些消息)。每台路
41、由器通过发送空的数据库描述器包来选举主从关系,一个路由器被指定为主机,其它的被指定为从机,主机发出数据库描述包,从机通过发出数据库描述器包来发出应答;² 链路状态请求包(LSR):向相邻路由器请求其拓扑结构数据库的部分内容。当路由器发现(通过检查数据库描述包)它的拓扑结构数据库有些部分过时后,路由器将会使用链路状态请求包请求对端发送更新,交换消息;² 链路状态更新包(LSU):对链路状态请求数据包的回应。这些消息也被用于常规的LSA散布。几个LSA包可以被包括在一个链路状态更新数据包内;L S A有很多类(路由器、网络、汇总和外部);² 链路状态确认包(LSAck
42、):对链路状态更新数据包的确认,这种确认使O S P F的扩散过程更可靠;l 数据包长度以字节为单位的数据包的长度,包括OSPF包头;l 路由器ID标识数据包的发送者;l 区域ID标识数据包所属的区域。所有OSPF数据包都与一个区域相关联;l 校验和校验整个数据包的内容,以发现传输中可能受到的损伤;l 认证类型包含认证类型:类型0标识不进行认证,类型1表示采用明文方式进行认证,类型2表示采用MD5算法进行认证。OSPF协议交换的所有信息都可以被认证,认证类型可按各个区域进行配置;l 认证包含认证信息;l 数据包含所封装的上层信息(实际的路由信息)5.4.3 概念和术语很有必要先理解OSPF网络
43、的术语,下面我们一一介绍。l Router ID(路由器标识符):用于标识每个路由器的32位数。通常,最高的IP地址分配给路由器。如果在路由器 上使用了Loopback接口,那么,路由器 ID是所有Loopback接口中的最高 IP地址,不管其他物理接口的IP地址的值。l Interface(接口):路由器和具有唯一IP地址和子网掩码的网络之间的连接。也称为链路(Link)。l Neighboring Routers(相邻路由器):带有到公共网络的接口的路由器。l Broadcast Network(广播网络):支持广播的网络,如Ethernet。l NonBroadcast Network(
44、非广播网络):不支持广播的网络,如帧中继(Frame Relay)和X.25。l 指定路由器(DR)和备份指定路由器(BDR):在一个广播型多路访问环境中的路由器必须选举一个DR和BDR来代表这个网络。DR和BDR的选举是为了减少在局域网上的OSPF的流量。为确保稳定性,一旦选举产生后,它们就始终担当这个角色,即使有更好的选择出现。除非是DR或BDR本身瘫痪了。DR瘫痪后,BDR成为DR,重新选举BDR。在DR运行时,BDR不执行任何DR的功能。但它会接收所有信息,只是不做处理而已,由DR完成转发和同步的任务。l Adjacency(邻接关系):邻接在广播或NBMA网络的DR和非指定路由器之间
45、形成。邻接也在BDR和所有非指定路由器之间形成。OSPF路由更新信息仅通过邻接被传送和接收。邻接关系的建立必须在建立双向连接之后。构成邻接关系,也就是一对路由器交换并维护一个公共的链接状态数据库。l 邻居表(Neighbor Database):包括所有建立联系的邻居路由器。(如图所示)。l 链接状态表(拓扑表)(Link State Datebase):包含了网络中所有路由器的链接状态。它表示着整个网络的拓扑结构。同Area内的所有路由器的链接状态表,都是相同的。(如图所示)。l 路由表(Routing Table):也称转发表,在链接状态表的基础之上,利用SPF算法计算而来。(如图5-8所
46、示)。图5-8 OSPF的邻居表,拓扑表和路由表l 路由器类型:OSPF路由器的不同类型对控制数据流如何进入和外出区域是不同的。路由器对于它所连接的每个区域都有一个单独的链路状态数据库。属于同一区域的两台路由器有关于该共同区域的相同的区域链路状态数据库。值得注意的是:链路状态数据库在每对邻接路由器间是同步的,也就是说在一台路由器和它的DR及BDR之间是同步的。l Link state advertisement(LSA)(链路状态宣告):描述路由器的本地状态。在OSPF网络中,有6种LSA。每个LSA包含一个LSA头,LSA头中的Router ID表明生成此LSA的路由器,其中LSA头中的顺序
47、号使得新LSA可以覆盖旧LSA。l Flooding(洪泛):用于分布和同步路由器之间的链路状态数据库。l Route Summarization(路由汇总):一个区域内的路由,来自另一个AS的路由,以及从另一个路由协议得知的路由,所有这些路由可由SOPF汇总成一个路由宣告,假如IP网络的设计正确的话。图67显示了一个OSPF区域,它有6个类网络。不经过汇总,ABR将通告6个路由。经过汇总后,ABR只要通告2个路由,显著地减少了路由更新量,且下游路由器可有更小的路由表。注意,汇总仅可以在ABR或ASBR上发生。汇总不是自动的,需要手工配置。图5-9 OSPF的路由汇总5.4.4 OSPF工作原
48、理5.4.4.1 运作过程概述链路状态路由协议工作原理简单来说为:相邻路由器通过“hello”包相互建立邻居关系,在邻居关系建立好后,就相互交换链路状态,这样最终每一个路由器都保存一份最新的关于整个网络的网络拓扑结构数据库。因此路由器不仅清楚地知道从本路由器出发能否到达某一指定网络,而且在能到达的情况下,还能选择出最短的路径以及使用该路径将经过哪些路由器。OSPF由两个互相关联的主要部分组成:“呼叫”协议(hello Protocol) 和“可靠洪泛机制”(Reliable Flooding)。呼叫协议使得OSPF可以检测邻居并确认它们的存活。呼叫协议在每个活跃的OSPF接口上运行,它使用的多
49、点传送地址使得这些流量不会对非OSPF路由器造成影响。可靠洪泛算法可以确保所有的路由器(在OSPF区域中)始终具有一致的链接状态数据库。5.4.4.2 呼叫(Hello)协议呼叫协议的数据包通过多点传送的方式发送到启用OSPF的路由器的接口上。呼叫协议数据包的目的地址为224.0.0.5(所有OSPF路由器)。默认情况下,OSPF的呼叫每10S(Hello Interval)传送一次。某个路由器连续的呼叫数据包就是告诉其他路由器,它还是活跃的。如果4个呼叫间隔时间过去了,但还没有侦听到邻居路由器的呼叫,就认为该邻居已“瘫痪”。OSPF呼叫协议的功能主要是:它的通告说明路由器仍然处于“活动”状态
50、;通过呼叫协议包中列出的邻居项可以验证双向连接,避免单向连接;可以用于在多点传送网络上选举“指定路由器”和“备份指定路由器”;在OSPF邻接关系建立后,它可以进行维护。5.4.4.3 DR和BDR的选举选举DR和BDR时,路由器将在hello数据包交换过程中查看相互之间的优先级值(Router Priority)或路由器ID(Router ID)值,具体过程是这样的(如图5-10所示):l 在局域网上出现的第一个路由器在等待一个时间后,如果没有其他活跃的路由器后,就宣布自己为DR,出现的第二个路由器同样等待一段时间后,确定除DR外没有其他活动的路由器,则宣布自己为BDR。l 如果在局域网中原先
51、没有DR和BDR,并且多个路由器同时初始化,则具有最大RouterPriority值的路由器将成为DR。如果多个路由器具有相同的选举RouterPriority值,则具有最大RouterId的路由器将成为DR。在OSPF的hello数据包中,RouterPriority字段是一个8位的字段,其值可以从0到255,值越大优先级越高。如果某个系统管理员将某个路由器接口的RotuerPriority设置为0,则说明该路由器永远也不会成为DR和BDR(在该特定接口上)。大多数路由器默认值为1。为了使协议稳定,一旦DR和BDR选举产生后,它们便不会因为任何原因而变化,除非是某一个瘫痪了。即使DR和BDR
52、的RouterPriority值都为1,而这时一个RotuerPriority值为200的新路由器加入到了局域网中,也不将作任何改变。如果DR瘫痪了,BDR将成为DR(这也是为什么选举BDR的原因,这样在必要时它就可以立即替代其位置)。这时在等待RouterDeadInterval的间隔时间后,RouterPriority值为200的新路由器将成为BDR。如果开始的DR在这期间又恢复了,它也无法再担任原来的角色了。再者,活跃的DR和BDR其中的一个瘫痪是改变它们地位的唯一机会。图5-10 DR和BDR的选举5.4.4.4 邻居表的建立(如图5-11所示)1. Down state: Route
53、r A刚刚开启,处于DOWN状态,便开始发送hello包。2. Init state: Router B收到该包,便把Router A加入自己的邻居表。3. Two-way state: Router B收到该包之后,便向Router A返回一个包,Router A收到该包后,便把Router B加入自己的邻居表。再A和B互相将对方加入自己的邻居表之后,便达到了Two-way状态。图5-11 OSPF的邻居表的建立过程5.4.4.5 链接状态数据库的建立OSPF链接状态数据库是所有OSPF路由器共享的一个分布式数据库。如果OSPF路由域划分为多个区域,链接状态数据库也将被分隔,并且每个区域基于
54、唯一的链接状态数据库。在一个区域中的变化应该只引起该区域内路由器路由表的重新计算,而不应影响整个区域的路由表。区域边界路由器必须维护一个链接状态数据库聚合。如果网络拓扑没有变化,那么OSPF路由器只需集中交换链路状态数据库一次,然后就保持不变。当链路状态发生变化时,则任何的变化都必须依靠“洪泛”到整个域,并且每个更新必须加以确认,这样可以使得路由器确保更新正确地传递到下一个路由器。在局域网上,发生的变化通过多点传送地址224.0.0.6以“洪泛”方式发送到DR和BDR上。因为多点传送是不可靠的,所以发送的路由器必须等到确认后才传送更新。在DR和BDR获得更新后,它们将向邻接关系的每一个邻居发送
55、一份更新的拷贝(224.0.0.5)。并且,每个邻接节点必须确认接受到的更新,否则将继续重传。将更新可靠地传送到包括区域中所有路由器的伸展树的过程,也就是OSPF的可靠洪泛算法。链接状态数据库的建立分为以下四个步骤:1. Exstart State:2. Exchange State:3. Loading State:4. Full State:具体过程如图5-12所示。图5-12 OSPF链接状态数据库的建立过程(1)图5-12 OSPF链接状态数据库的建立过程(2)5.4.4.6 路由表的建立路由表的建立是在这个链接状态数据库的基础之上的。当链接状态数据库完整的建立完毕之后,便开始利用SP
56、F算法算出最短的路径,并将其放入路由表。请注意,OSPF只支持等值路径负载均衡,不支持非等值路径负载均衡。图5-13 OSPF的最佳路由选择 5.4.4.7 OSPF的域(Area)对于单域(single area)的OSPF网络来说,网络规模过大,就会出现以下一些问题(如图所示):l 频繁的SPF计算:对于一个大规模的网络,频繁的网络变化会引起频繁的SPF的计算,这将消耗路由器大量的CPU资源和内存资源。l 多大的路由表:每个路由器将要维护一个巨大的路由表。l 过大的链接状态表:链接状态表表示着整个网络完整的拓扑结构,网络规模的过大,也将直接导致链接状态表的过大。图5-14 没有划分Area
57、时的问题针对这种情况,OSPF提供了一种解决办法,就是将一个大的网络分割成多个区域。区域(Area)的种类分为以下几种:l 标准区域这种区域能够接收(域内)链路更新、(域间)路由归纳以及外部路由。l 主干区域(转接区域)当互连多个区域时,主干区域是所有其他区域所连接的中心实体。主干区域总被标注为区域0,所有其他区域都必须连接到该区域以交换信息并路由数据包。主干区域属于转换区域。OSPF主干区域具有所有标准OSPF区域所具有的属性。转换区域中的ABR可以向转换区域中引入区域间的摘要Summary-LSA和AS-External-LSA。l 根状区域(Stub Area)指不接收那些关于本自治系统(即OSPF网络)以外路由信息的一种区域,比如来自非OSPF源的路由。如果路由器需要路由到自治系统以外的网络
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年别墅建设合同范例
- 2025年农村道路安全改善工程合同
- 2025年企业食堂经营承包合同
- 2025年二手车交易双方性权益保障协议书
- 2025年医疗康复人才交流策划协议
- 2025年交通供电检测装备项目申请报告
- 2025年二手房产交易合同额外补充协议
- 2025年海洋台站仪器项目提案报告
- 2025年度学生权益保障协议书
- 2025年太阳能热电站交易合同模板
- 2024-2025学年冀教版数学五年级上册期末测试卷(含答案)
- 商业综合体市场调研报告
- 自动体外除颤器
- 《微生物学发展史》课件
- 少儿素描课件
- 天津市部分区2023-2024学年高二上学期期末考试 生物 含解析
- 《对私外汇业务从业资格》开放式测试答案
- 《保险法解读》课件
- 非煤矿山复工复产安全培训
- 变压器投标书-技术部分
- 《我国跨境电子商务消费者权益保护问题研究》
评论
0/150
提交评论