路由协议详解【完整版】
- 格式:doc
- 大小:898.50 KB
- 文档页数:22
路由协议详解【完整版】
(文档可以直接使用,也可根据实际需要修订后使用,可编辑放心下载) 路由协议详解
路由器的工作不外乎两个,一是路径选择,二是数据转发。进行数据转发相对容易一些,难的是如何判断到达目的网络的最正确路径。所以,路径选择就成了路由器最重要的工作。
许多路由协议可以完成路径选择的工作,常见的有RIP,OSPF,IGRP和 EIGRP协议等等。这些算法中,我们不能简单的说谁好谁坏,因为算法的优劣要依据使用的环境来判断。比方RIP协议,它有时不能准确地选择最优路径,收敛的时间也略显长了一些,但对于小规模的,没有专业人员维护的网络来说,它是首选的路由协议,我们看中的是它的简单性。
如果你手头正有一个小的网络工程,那么,就让我们来安排一个方案,30分钟读完本文〔一读〕,20分钟再细看一遍本文提及的命令和操作方法〔二读〕,用30分钟配置网络上的所有路由器〔小网络,没有几台路由器可以配的〕,最后20分钟,检查一下网络工作是否正常。好了,一百分钟,你的RIP网络运转起来了。就这么简单,不信,请继续往下看。
一、RIP是什么
RIP〔Routing Information Protocols,路由信息协议〕是使用最广泛的距离向量协议,它是由施乐〔Xerox〕在70年代开发的。当时,RIP是XNS〔Xerox Network Service,施乐网络效劳〕协议簇的一局部。TCP/IP版本的RIP是施乐协议的改进版。RIP最大的特点是,无论实现原理还是配置方法,都非常简单。
度量方法
RIP的度量是基于跳数〔hops count〕的,每经过一台路由器,路径的跳数加一。如此一来,跳数越多,路径就越长,RIP算法会优先选择跳数少的路径。RIP支持的最大跳数是15,跳数为16的网络被认为不可达。
路由更新
RIP中路由的更新是通过定时播送实现的。缺省情况下,路由器每隔30秒向与它相连的网络播送自己的路由表,接到播送的路由器将收到的信息添加至自身的路由表中。每个路由器都如此播送,最终网络上所有的路由器都会得知全部的路由信息。正常情况下,每30秒路由器就可以收到一次路由信息确认,如果经过180秒,即6个更新周期,一个路由项都没有得到确认,路由器就认为它已失效了。如果经过240秒,即8个更新周期,路由项仍没有得到确认,它就被从路由表中删除。上面的30秒,180秒和240秒的延时都是由计时器控制的,它们分别是更新计时器〔Update Timer〕、无效计时器〔Invalid Timer〕和刷新计时器〔Flush Timer〕。
路由循环
距离向量类的算法容易产生路由循环,RIP是距离向量算法的一种,所以它也不例外。如果网络上有路由循环,信息就会循环传递,永远不能到达目的地。为了防止这个问题,RIP等距离向量算法实现了下面4个机制。
水平分割〔split horizon〕。水平分割保证路由器记住每一条路由信息的来源,并且不在收到这条信息的端口上再次发送它。这是保证不产生路由循环的最根本措施。
毒性逆转〔poison reverse〕。当一条路径信息变为无效之后,路由器并不立即将它从路由表中删除,而是用16,即不可达的度量值将它播送出去。这样虽然增加了路由表的大小,但对消除路由循环很有帮助,它可以立即去除相邻路由器之间的任何环路。
触发更新〔trigger update〕。当路由表发生变化时,更新报文立即播送给相邻的所有路由器,而不是等待30秒的更新周期。同样,当一个路由器刚启动RIP时,它播送请求报文。收到此播送的相邻路由器立即应答一个更新报文,而不必等到下一个更新周期。这样,网络拓扑的变化会最快地在网络上传播开,减少了路由循环产生的可能性。
抑制计时〔holddown timer〕。一条路由信息无效之后,一段时间内这条路由都处于抑制状态,即在一定时间内不再接收关于同一目的地址的路由更新。如果,路由器从一个网段上得知一条路径失效,然后,立即在另一个网段上得知这个路由有效。这个有效的信息往往是不正确的,抑制计时防止了这个问题,而且,当一条链路频繁起停时,抑制计时减少了路由的浮动,增加了网络的稳定性。
即便采用了上面的4种方法,路由循环的问题也不能完全解决,只是得到了最大程度的减少。一旦路由循环真的出现,路由项的度量值就会出现计数到无穷大〔Count to Infinity〕的情况。这是因为路由信息被循环传递,每传过一个路由器,度量值就加1,一直加到16,路径就成为不可达的了。RIP选择16作为不可达的度量值是很巧妙的,它既足够的大,保证了多数网络能够正常运行,又足够小,使得计数到无穷大所花费的时间最短。
邻居
有些网络是NBMA〔Non-Broadcast MultiAccess,非播送多路访问〕的,即网络上不允许播送传送数据。对于这种网络,RIP就不能依赖播送传递路由表了。解决方法有很多,最简单的是指定邻居〔neighbor〕,即指定将路由表发送给某一台特定的路由器。
RIP的缺陷
RIP虽然简单易行,并且久经考验,但是也存在着一些很重要的缺陷,主要有以下几点:
过于简单,以跳数为依据计算度量值,经常得出非最优路由;
度量值以16为限,不适合大的网络;
平安性差,接受来自任何设备的路由更新;
不支持无类IP地址和VLSM〔Variable Length Subnet Mask,变长子网掩码〕;
收敛缓慢,时间经常大于5分钟;
消耗带宽很大。
OSPF协议介绍
OSPF是一种典型的链路状态路由协议。采用OSPF的路由器彼此交换并保存整个网络的链路信息,从而掌握全网的拓扑结构,独立计算路由。因为RIP路由协议不能效劳于大型网络,所以,IETF的IGP工作组特别开发出链路状态协议——OSPF。目前广为使用的是OSPF第二版,最新标准为RFC2328。
OSPF作为一种内部网关协议〔Interior Gateway Protocol,IGP〕,用于在同一个自治域〔AS〕中的路由器之间发布路由信息。区别于距离矢量协议(RIP),OSPF具有支持大型网络、路由收敛快、占用网络资源少等优点,在目前应用的路由协议中占有相当重要的地位。
根本概念和术语
1. 链路状态
OSPF路由器收集其所在网络区域上各路由器的连接状态信息,即链路状态信息〔Link-State〕,生成链路状态数据库(Link-State Database)。路由器掌握了该区域上所有路由器的链路状态信息,也就等于了解了整个网络的拓扑状况。OSPF路由器利用“最短路径优先算法(Shortest Path First, SPF)〞,独立地计算出到达任意目的地的路由。
2. 区域
OSPF协议引入“分层路由〞的概念,将网络分割成一个“主干〞连接的一组相互独立的局部,这些相互独立的局部被称为“区域〞 (Area),“主干〞的局部称为“主干区域〞。每个区域就如同一个独立的网络,该区域的OSPF路由器只保存该区域的链路状态。每个路由器的链路状态数据库都可以保持合理的大小,路由计算的时间、报文数量都不会过大。
3. OSPF网络类型
根据路由器所连接的物理网络不同,OSPF将网络划分为四种类型:播送多路访问型〔Broadcast MultiAccess〕、非播送多路访问型〔None Broadcast
MultiAccess,NBMA〕、点到点型〔Point-to-Point〕、点到多点型〔Point-to-MultiPoint〕。
播送多路访问型网络如:Ethernet、Token Ring、FDDI。NBMA型网络如:Frame Relay、X.25、SMDS。Point-to-Point型网络如:PPP、HDLC。具体结构如后图所示。
4. 指派路由器〔DR〕和备份指派路由器〔BDR〕
在多路访问网络上可能存在多个路由器,为了防止路由器之间建立完全相邻关系而引起的大量开销,OSPF要求在区域中选举一个DR。每个路由器都与之建立完全相邻关系。DR负责收集所有的链路状态信息,并发布给其他路由器。选举DR的同时也选举出一个BDR,在DR失效的时候,BDR担负起DR的职责。
点对点型网络不需要DR,因为只存在两个节点,彼此间完全相邻。 协议组成 OSPF协议由Hello协议、交换
OSPF路由器之间使用链路状态通告(LSA)来交换各自的链路状态信息,并把获得的信息存储在链路状态数据库中。 各OSPF路由器独立使用SPF算法计算到各个目的地址的路由。
OSPF协议支持分层路由方式,这使得它的扩展能力远远超过RIP协议。当OSPF网络扩展到100、500甚至上千个路由器时,路由器的链路状态数据库将记录成千上万条链路信息。为了使路由器的运行更快速、更经济、占用的资源更少,网络工程师们通常按功能、结构和需要把OSPF网络分割成假设干个区域,并将这些区域和主干区域根据功能和需要相互连接从而到达分层的目的。
目录
OSPF分层路由的思想
OSPF中的四种路由器
OSPF链路状态公告类型
OSPF区域类型
报文在OSPF多区域网络中发送的过程
OSPF分层路由的思想
OSPF把一个大型网络分割成多个小型网络的能力被称为分层路由,这些被分割出来的小型网络就称为“区域〞(Area)。由于区域内部路由器仅与同区域的路由器交换LSA信息,这样LSA报文数量及链路状态信息库表项都会极大减少,SPF计算速度因此得到提高。多区域的OSPF必须存在一个主干区域,主干区域负责收集非主干区域发出的汇总路由信息,并将这些信息返还给到各区域。
OSPF区域不能随意划分,应该合理地选择区域边界,使不同区域之间的通信量最小。但在实际应用中区域的划分往往并不是根据通信模式而是根据地理或政治因素来完成的。
OSPF中的四种路由器
在OSPF多区域网络中,路由器可以按不同的需要同时成为以下四种路由器中的几种:
1. 内部路由器:所有端口在同一区域的路由器,维护一个链路状态数据库。
2. 主干路由器:具有连接主干区域端口的路由器。
3. 区域边界路由器(ABR):
具有连接多区域端口的路由器,一般作为一个区域的出口。ABR为每一个所连接的区域建立链路状态数据库,负责将所连接区域的路由摘要信息发送到主干区域,而主干区域上的ABR那么负责将这些信息发送到各个区域。
4. 自治域系统边界路由器(ASBR):