动态路由协议OSPF的原理和特性

上传人:pu****.1 文档编号:569481948 上传时间:2024-07-29 格式:PDF 页数:10 大小:570.15KB
返回 下载 相关 举报
动态路由协议OSPF的原理和特性_第1页
第1页 / 共10页
动态路由协议OSPF的原理和特性_第2页
第2页 / 共10页
动态路由协议OSPF的原理和特性_第3页
第3页 / 共10页
动态路由协议OSPF的原理和特性_第4页
第4页 / 共10页
动态路由协议OSPF的原理和特性_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《动态路由协议OSPF的原理和特性》由会员分享,可在线阅读,更多相关《动态路由协议OSPF的原理和特性(10页珍藏版)》请在金锄头文库上搜索。

1、动态路由协议动态路由协议 OSPFOSPF 的原理和特性的原理和特性目目录录一、I.II.二、三、I.II.III.IV.V.四、I.II.五、动态路由协议简介.2路由和路由协议.2动态路由协议的分类.2OSPF 协议的特点.3OSPF 协议的工作原理.4网络拓扑结构.4计算路由.6确保 LSA 在路由器间传送的可靠性 .6高效率地进行 LSA 的交换 .7小结.7OSPF 协议采用的特殊机制.8指定路由器和备份指定路由器.8OSPF 协议中的区域划分 .9结束语.9一、一、 动态路由协议简介动态路由协议简介I. I.路由和路由协议路由和路由协议顾名思义,动态路由协议是一些动态生成(或学习到)

2、路由信息的协议。在计算机网络互联技术领域,我们可以把路由定义如下,路由是指导IP 报文发送的一些路径信息。动态路由协议是网络设备如路由器(Router)学习网络中路由信息的方法之一,这些协议使路由器能动态地随着网络拓扑中产生(如某些路径的失效或新路由的产生等)的变化,更新其保存的路由表,使网络中的路由器在较短的时间内,无需网络管理员介入自动地维持一致的路由信息,使整个网络达到路由收敛状态,从而保持网络的快速收敛和高可用性。路由器学习路由信息、生成并维护路由表的方法包括直连路由(Direct)、静态路由(Static)和动态路由(Dynamic)。 直连路由是由链路层协议发现的, 一般指去往路由

3、器的接口地址所在网段的路径,该路径信息不需要网络管理员维护,也不需要路由器通过某种算法进行计算获得,只要该接口处于活动状态(Active),路由器就会把通向该网段的路由信息填写到路由表中去,直连路由无法使路由器获取与其不直接相连的路由信息。静态路由是由网络规划者根据网络拓扑,使用命令在路由器上配置的路由信息,这些静态路由信息指导报文发送,静态路由方式也不需要路由器进行计算,但是它完全依赖于网络规划者,当网络规模较大或网络拓扑经常发生改变时,网络管理员需要做的工作将会非常复杂并且容易产生错误。 而动态路由的方式使路由器能够按照特定的算法自动计算新的路由信息,适应网络拓扑结构的变化。II.II.

4、动态路由协议的分类动态路由协议的分类按照区域(指自治系统),动态路由协议可分为内部网关协议IGP(Interior GatewayProtocol)和外部网关协议 EGP(Exterior Gateway Protocol), 按照所执行的算法, 动态路由协议可分为距离向量路由协议(Distance Vector)、链路状态路由协议(Link State),以及思科公司开发的混合型路由协议,如图1 所示。本文着重讨论自治系统内部的链路状态协议OSPF 的原理,并结合距离向量协议作一些简单的比较。图 1 动态路由协议分类二、二、 OSPF OSPF协议的特点协议的特点OSPF 全称为开放最短路径

5、优先。“开放”表明它是一个公开的协议,由标准协议组织制定,各厂商都可以得到协议的细节。“最短路径优先”是该协议在进行路由计算时执行的算法。OSPF 是目前内部网关协议中使用最为广泛、性能最优的一个协议,它具有以下特点: 可适应大规模的网络; 路由变化收敛速度快; 无路由自环; 支持变长子网掩码(VLSM); 支持等值路由; 支持区域划分; 提供路由分级管理; 支持验证; 支持以组播地址发送协议报文。采用 OSPF 协议的自治系统,经过合理的规划可支持超过1000 台路由器,这一性能是距离向量协议如 RIP 等无法比拟的。 距离向量路由协议采用周期性地发送整张路由表来使网络中路由器的路由信息保持

6、一致, 这个机制浪费了网络带宽并引发了一系列的问题,下面对此将作简单的介绍。路由变化收敛速度是衡量一个路由协议好坏的一个关键因素。 在网络拓扑发生变化时,网络中的路由器能否在很短的时间内相互通告所产生的变化并进行路由的重新计算,是网络可用性的一个重要的表现方面。OSPF 采用一些技术手段(如 SPF 算法、邻接关系等)避免了路由自环的产生。在网络中,路由自环的产生将导致网络带宽资源的极大耗费,甚至使网络不可用。OSPF 协议从根本(算法本身)上避免了自环的产生。采用距离向量协议的RIP 等协议,路由自环是不可避免的。为了完善这些协议,只能采取若干措施,在自环发生前,降低其发生的概率,在自环发生

7、后,减小其影响范围和时间。在 IP(IPV4)地址日益匮乏的今天,能否支持变长子网掩码(VLSM)来节省 IP 地址资源,对一个路由协议来说是非常重要的,OSPF 能够满足这一要求。在采用 OSPF 协议的网络中,如果通过 OSPF 计算出到同一目的地有两条以上代价(Metric)相等的路由,该协议可以将这些等值路由同时添加到路由表中。这样,在进行转发时可以实现负载分担或负载均衡。在支持区域划分和路由分级管理上,OSPF 协议能够适合在大规模的网络中使用。在协议本身的安全性上,OSPF 使用验证,在邻接路由器间进行路由信息通告时可以指定密码,从而确定邻接路由器的合法性。与广播方式相比,用组播地

8、址来发送协议报文可以节省网络带宽资源。从衡量路由协议性能的角度,我们可以看出,OSPF 协议确实是一个比较先进的动态路由协议,这也是它得到广泛采用的主要原因。三、三、 OSPF OSPF协议的工作原理协议的工作原理I. I.网络拓扑结构网络拓扑结构上文提到,OSPF 协议是一种链路状态协议,那么OSPF 是如何来描述链路连接状况呢?图 1 网络互联模型首先,我们通过图 2 来概括网络互联主要的四种抽象模型。图中,抽象模型Model 1 表示路由器的一个以太网接口不连接其他路由器,只连接了一个以太网段。此时,对于运行 OSPF 的路由器 R1,只能识别本身,无法识别该网段上的设备(主机等);抽象

9、模型 Model 2 表示路由器 R1 通过点对点链路(如 PPP、HDLC等)连接一台路由器R2; 抽象模型 Model 3 表示路由器R1 通过点对多点(如 Frame Relay、X.25 等)链路连接多台路由器 R3、R4 等,此时路由器R5、R6 之间不进行互联;抽象模型 Model 4 表示路由器 R1 通过点对多点(如 Frame Relay、X.25 等)链路连接多台路由器R5、R6 等,此时路由器 R5、R6 之间互联。以上抽象模型着重于各类链路层协议的特点,而不涉及具体的链路层协议细节。该模型基本表达了当前网络链路的连接种类。在 OSPF 协议中,分别对以上四种链路状态类型

10、作了描述:对于抽象模型 Model 1(以太网链路), 使用 Link ID(连接的网段)、 Data(掩码)、 Type(类型)和 Metric(代价)来描述。此时的 Link ID 即为路由器 R1 接口所在网段,Data 为所用掩码,Type 为 3(Stubnet),Metric 为代价值。对于抽象模型 Model 2(点对点链路),先使用 Link ID(连接的网段)、Data(掩码)、Type(类型)和 Metric(代价)来描述接口路由, 以上各参数与 Model 1 相似。 接下来描述对端路由器 R2, 四个参数名不变, 但其含义有所不同。 此时 Link ID 为路由器 R2

11、 的 RouterID,Data 为路由器 R2 的接口地址,Type 为 1(Router),Metric 仍为代价值。对于抽象模型 Model 3(点对多点链路,不全连通),先使用 Link ID(连接的网段)、Data(掩码)、Type(类型)和 Metric(代价)来描述接口路由,以上各参数与Model 1 相似。接下来分别描述对端路由器 R3、R4 的方法,与在 Model 2 中描述 R2 类似。对于抽象模型 Model 4(点对多点链路,全连通),先使用Link ID(网段中 DR 的接口地址)、Data(本接口的地址)、Type(类型)和 Metric(代价)来描述接口路由。此

12、时 Type 值为 2(Transnet),然后是本网段中 DR(指定路由器)描述的连接通告。路由器在通报其获知的链路状态(即上面所述的参数)前,加上 LSA 头(Link StateAdvertisement Head),从而生成 LSA(链路状态广播)。到此,路由器通过 LSA 完成周边网络的拓扑结构描述,并发送给网络中的其他路由器。II.II. 计算路由计算路由路由器完成周边网络的拓扑结构的描述(生成 LSA)后, 发送给网络中的其他路由器,每台路由器生成链路状态数据库(LSDB)。路由器开始执行 SPF(最短路径优先)算法计算路由,路由器以自己为根节点,把 LSDB 中的条目与 LSA

13、 进行对比,经过若干次的递归和回溯,直至路由器把所有 LSA 中包含的网段都找到路径(把该路由填入路由表中),此时意味着所到达的该段链路的类型标识为3(Stubnet)。III.III.确确保保 LSALSA 在路由器间传送的可靠性在路由器间传送的可靠性从上文可以知道,作为链路状态协议的OSPF 的工作机制,与RIP 等距离向量的路由协议是不一样的。距离向量路由协议是通过周期性地发送整张路由表,来使网络中的路由器的路由信息保持一致。这种机制存在着上文提到的一些弊病。而OSPF 协议将包含路由信息的部分与只包含路由器间邻接关系的部分分开,它使用一种被称作Hello 的数据包来确认邻接关系,这个数

14、据包非常小,它仅被用来发现和维持邻接关系。在路由器 R1 初始化完成后,它将向路由器 R2 发送 Hello 数据包。此时 R1 并不知道 R2 的存在,因此在数据包中不包含 R2 的信息(参数 seen=0)。而 R2 在接收到该数据包后,将向 R1 发送 Hello 包。此时,Hello 包中将表明它已知道存在 R1 这个邻居。R1收到这个回应包后就会知道邻居 R2 的存在,并且邻居 R2 也知道了自己的存在(参数seen=R1)。此时在路由器 R1 和 R2 之间就建立了邻接关系,它们就可以把 LSA 发送给对方,如图 3 所示。当然,在发送时OSPF 考虑到要尽量减少占用的带宽,它采用

15、了一些技巧,我们将在下一节简单介绍这些内容。图 1 邻接路由器众所周知,IP 协议是一种不可靠的、面向无连接的协议,它本身没有确认和错误重传机制。那么,在这种协议基础之上,要做到数据包丢失或出错后进行重传,上层协议必须本身具备这种可靠的机制。OSPF 采取了与 TCP 类似的确认和超时重传机制。在机制中, R1 和 R2 将进行一种被称作链路状态数据库描述(DD)的数据包的互传。 首先进行协商,从而确定两者之间的主从关系(根据路由器 ID 号,ID 号大的将作为 Master)。链路状态数据库描述(DD)数据包中包含了一些参数, 序列号(seq)、 报文号(I)、 结尾标识(M)及主从标志(M

16、S)。从属路由器将使用主路由器发出的DD 包中的序列号(seq),作为自己的第一个 DD 包的序列号。当主路由器收到从属路由器的DD 包时,就能确认邻接路由器已收到自己的数据包(如果没有收到或收到的DD包的序列号不是自己一个DD包的序列号,主路由器将重传上一个 DD 包),主路由器将序列号加 1(只有主路由器才有权改变序列号,而从属路由器没有),并发送下一个 DD 包,该过程的重复保证了在 OSPF 协议中数据包传输的准确性,从而为 OSPF 协议成为一个准确的路由协议打下了基础。IV.IV.高效率地进行高效率地进行 LSALSA 的交换的交换在 RIP 等距离向量路由协议中, 路由信息的交互

17、是通过周期性地传送整张路由表的机制来完成的,该机制使距离向量路由协议无法高效地进行路由信息的交换。在OSPF协议中,为了提高传输效率,在进行链路状态通告(LSA)数据包传输时,使用包含 LSA头(Head)的链路状态数据库描述数据包进行传输, 因为每个 LSA 头中不包含具体的链路状态信息,它只含有各 LSA 的标识(该标识唯一代表一个 LSA),所以,该报文非常小。邻接路由器间使用这种字节数很小的数据包,首先确认在相互之间哪些LSA 是对方没有的,而哪些 LSA 在对方路由器中也存在,邻接路由器间只会传输对方没有的LSA。对于自己没有的 LSA, 路由器会发送一个 LS Request 报文

18、给邻接路由器来请求对方发送该 LSA,邻接路由器在收到 LS Request 报文后,回应一个 LS Update 报文(包含该整条LSA 信息),在得到对方确认后(接收到对方发出的 LS ACK 报文),这两台路由器完成了本条 LSA 信息的同步。由此可见,OSPF 协议采用增量传输的方法来使邻接路由器保持一致的链路状态数据库(LSDB)。V.V. 小结小结综上所述,我们可以归纳出在OSPF 协议中使用到的五种协议报文,并简单介绍了它们的作用,我们作个简单的小结: Hello 报文,通过周期性地发送来发现和维护邻接关系; DD(链路状态数据库描述)报文,描述本地路由器保存的 LSDB(链路状

19、态数据库); LSR(LS Request)报文,向邻居请求本地没有的 LSA; LSU(LS Update)报文,向邻居发送其请求或更新的LSA; LSAck(LS ACK)报文,收到邻居发送的 LSA 后发送的确认报文。四、四、 OSPF OSPF协议采用的特殊机制协议采用的特殊机制I. I.指定路由器和备份指定路由器指定路由器和备份指定路由器在 OSPF 协议中,路由器通过发送 Hello 报文来确定邻接关系,每一台路由器都会与其他路由器建立邻接关系,这就要求路由器之间两两建立邻接关系,每台路由器都必须与其他路由器建立邻接关系,以达到同步链路状态数据库的目的,在网络中就会建立起 n(n-

20、1)/2 条邻接关系(n 为网络中 OSPF 路由器的数量),这样,在进行数据库同步时需要占用一定的带宽。为了解决这个问题,OSPF 采用了一个特殊的机制:选举一台指定路由器(DR),使网络中的其他路由器都和它建立邻接关系,而其他路由器彼此之间不用保持邻接。路由器间链路状态数据库的同步,都通过与指定路由器交互信息完成。这样,在网络中仅需建立 n-1 条邻接关系。备份指定路由器(BDR)是指定路由器在网络中的备份路由器,它会在指定路由器关机或产生问题后自动接替它的工作。这时,网络中的其他路由器就会和备份指定路由器交互信息来实现数据库的同步。 图 4 是选举指定路由器前后网络中的邻接关系对比。图

21、1 邻接关系对比要被选举为指定路由器,该路由器应符合以下要求: 该路由器是本网段内的 OSPF 路由器; 该 OSPF 路由器在本网段内的优先级(Priority)0; 该 OSPF 路由器的优先级最大,如果所有路由器的优先级相等,路由器号(Router ID)最大的路由器(每台路由器的 Router ID 是唯一的)被选举为指定路由器。满足以上条件的路由器被选举为指定路由器, 而第二个满足条件的路由器则当选为备份指定路由器。指定路由器和备份指定路由器的选举,是由路由器通过发送Hello 数据报文来完成的。II.II. OSPFOSPF 协议中的区域划分协议中的区域划分OSPF 协议在大规模网

22、络的使用中,链路状态数据库比较庞大,它占用了很大的存储空间。在执行最小生成数算法时,要耗费较长的时间和很大的 CPU 资源,网络拓扑变化的概率也大大增加。这些因素的存在,不仅耗费了路由器大量的存储空间,加重了路由器 CPU 的负担,而且,整个网络会因为拓扑结构的经常变化,长期处于“动荡”的不可用的状态。OSPF 协议之所以能够支持大规模的网络,进行区域划分是一个重要的原因。OSPF 协议允许网络方案设计人员根据需要把路由器放在不同的区域(Area)中, 两个不同的区域通过区域边界路由器(ABR)相连。在区域内部的路由信息同步,采取的方法与上文提到的方法相同。 在两个不同区域之间的路由信息传递,

23、 由区域边界路由器(ABR)完成。它把相连两个区域内生成的路由,以类型 3 的 LSA 向对方区域发送。此时,一个区域内的 OSPF 路由器只保留本区域内的链路状态信息,没有其他区域的链路状态信息。这样,在两个区域之间减小了链路状态数据库, 降低了生成数算法的计算量。 同时,当一个区域中的拓扑结构发生变化时, 其他区域中的路由器不需要重新进行计算。 OSPF协议中的区域划分机制,有效地解决了OSPF 在大规模网络中应用时产生的问题。OSPF 协议使用区域号(Area ID)来区分不同的区域,其中,区域0 为骨干区域(根区域)。因为在区域间不再进行链路状态信息的交互(实际上,在区域间传递路由信息

24、采用了可能导致路由自环的递归算法),OSPF 协议依靠维护整个网络链路状态来实现无路由自环的能力,在区域间无法实现。所以,路由自环可能会发生在OSPF 的区域之间。解决这一问题的办法是,使所有其他的区域都连接在骨干区域(Area 0)周围,即所有非骨干区域都与骨干区域邻接。对于一些无法与骨干区域邻接的区域,在它们与骨干区域之间建立虚连接。五、五、 结束语结束语本文对 OSPF 动态路由协议的主要原理和特性作了简单的介绍,没有涉及到自治系统(AS)以外的路由及路由聚合。OSPF 协议采用路由器间建立和维护邻接关系,维护链路状态信息数据库,采用最短生成树算法,避免了路由自环。同时,又采用了一些特殊的机制,保证了它在大规模网络中的可用性。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号