您的位置 首页 汽车

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

几年来,随着计算机网络应用蓬勃发展,新的网络产品和网络技术得到了进一步的发展,这些又使计算机网络规模的扩展成为可能。OSPF(Open Shortest Path First)是一种广泛使用的路由协议

动态路由协议简介

路由和路由协议

望文生义,动态路由协议是一些动态生成(或学习到)路由信息的协议。在核算机网络互联技术领域,咱们可以把路由界说如下,路由是辅导IP报文发送的一些途径信息。动态路由协议是网络设备如路由器(Router)学习网络中路由信息的方法之一,这些协议使路由器能动态地跟着网络拓扑中发生(如某些途径的失效或新路由的发生等)的改动,更新其保存的路由表,使网络中的路由器在较短的时刻内,无需网络办理员介入主动地坚持共同的路由信息,使整个网络抵达路由收敛情况,然后坚持网络的快速收敛和高可用性。

路由器学习路由信息、生成并保护路由表的方法包括直连路由(Direct)、静态路由(Static)和动态路由(Dynamic)。直连路由是由链路层协议发现的,一般指去往路由器的接口地址地点网段的途径,该途径信息不需求网络办理员保护,也不需求路由器经过某种算法进行核算取得,只需该接口处于活动情况(Active),路由器就会把通向该网段的路由信息填写到路由表中去,直连路由无法使路由器获取与其不直接相连的路由信息。静态路由是由网络规划者依据网络拓扑,运用指令在路由器上装备的路由信息,这些静态路由信息辅导报文发送,静态路由方法也不需求路由器进行核算,可是它彻底依赖于网络规划者,当网络规划较大或网络拓扑常常发生改动时,网络办理员需求做的作业将会十分复杂并且简略发生过错。而动态路由的方法使路由器可以依照特定的算法主动核算新的路由信息,习惯网络拓扑结构的改动。

动态路由协议的分类

依照区域(指自治体系),动态路由协议可分为内部网关协议IGP(Interior Gateway Protocol)和外部网关协议EGP(Exterior Gateway Protocol),依照所履行的算法,动态路由协议可分为间隔向量路由协议(Distance Vector)、链路情况路由协议(Link State),以及思科公司开发的混合型路由协议,如图1所示。

本文侧重评论自治体系内部的链路情况协议OSPF的原理,并结合间隔向量协议作一些简略的比较。

OSPF协议的特色

OSPF全称为敞开最短途径优先。“敞开”标明它是一个揭露的协议,由规范协议安排拟定,各厂商都可以得到协议的细节。“最短途径优先”是该协议在进行路由核算时履行的算法。OSPF是现在内部网关协议中运用最为广泛、功能最优的一个协议,它具有以下特色:

◆ 可习惯大规划的网络;

◆ 路由改动收敛速度快;

◆ 无路由自环;

◆ 支撑变长子网掩码(VLSM);

◆ 支撑等值路由;

◆ 支撑区域区别;

◆ 供给路由分级办理;

◆ 支撑验证;

◆ 支撑以组播地址发送协议报文。

选用OSPF协议的自治体系,经过合理的规划可支撑超越1000台路由器,这一功能是间隔向量协议如RIP等无法比拟的。间隔向量路由协议选用周期性地发送整张路由表来使网络中路由器的路由信息坚持共同,这个机制浪费了网络带宽并引发了一系列的问题,下面对此将作简略的介绍。

路由改动收敛速度是衡量一个路由协议好坏的一个关键要素。在网络拓扑发生改动时,网络中的路由器能否在很短的时刻内彼此布告所发生的改动并进行路由的从头核算,是网络可用性的一个重要的体现方面。

OSPF选用一些技术手段(如SPF算法、邻接联系等)避免了路由自环的发生。在网络中,路由自环的发生将导致网络带宽资源的极大消耗,乃至使网络不可用。OSPF协议从底子(算法自身)上避免了自环的发生。选用间隔向量协议的RIP等协议,路由自环是不可避免的。为了完善这些协议,只能采纳若干方法,在自环发生前,下降其发生的概率,在自环发生后,减小其影响规模和时刻。

在IP(IPV4)地址日益匮乏的今日,能否支撑变长子网掩码(VLSM)来节约IP地址资源,对一个路由协议来说是十分重要的,OSPF可以满意这一要求。

在选用OSPF协议的网络中,假如经过OSPF核算出到同一意图地有两条以上价值(Metric)持平的路由,该协议可以将这些等值路由一起添加到路由表中。这样,在进行转发时可以完结负载分管或负载均衡。

在支撑区域区别和路由分级办理上,OSPF协议可以适合在大规划的网络中运用。

在协议自身的安全性上,OSPF运用验证,在邻接路由器间进行路由信息布告时可以指定暗码,然后承认邻接路由器的合法性。

与播送方法比较,用组播地址来发送协议报文可以节约网络带宽资源。

从衡量路由协议功能的视点,咱们可以看出,OSPF协议确实是一个比较先进的动态路由协议,这也是它得到广泛选用的首要原因。

OSPF协议的作业原理

网络拓扑结构

上文说到,OSPF协议是一种链路情况协议,那么OSPF是如何来描绘链路衔接情况呢?

笼统模型Model 1标明路由器的一个以太网接口不衔接其他路由器,只衔接了一个以太网段。此刻,关于运转 OSPF的路由器R1,只能辨认自身,无法辨认该网段上的设备(主机等);笼统模型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协议中,别离对以上四种链路情况类型作了描绘:

关于笼统模型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的Router ID,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(价值)来描绘接口路由。此刻Type值为2(Transnet),然后是本网段中DR(指定路由器)描绘的衔接布告。

路由器在通报其获悉的链路情况(即上面所述的参数)前,加上LSA头(Link State Advertisement Head),然后生成LSA(链路情况播送)。到此,路由器经过LSA完结周边网络的拓扑结构描绘,并发送给网络中的其他路由器。

核算路由

路由器完结周边网络的拓扑结构的描绘(生成LSA)后,发送给网络中的其他路由器,每台路由器生成链路情况数据库(LSDB)。路由器开端履行SPF(最短途径优先)算法核算路由,路由器以自己为根节点,把LSDB中的条目与LSA进行比照,经过若干次的递归和回溯,直至路由器把一切LSA中包括的网段都找到途径(把该路由填入路由表中),此刻意味着所抵达的该段链路的类型标识为3(Stubnet)。

确保LSA在路由器间传送的牢靠性

从上文可以知道,作为链路情况协议的OSPF的作业机制,与RIP等间隔向量的路由协议是不一样的。间隔向量路由协议是经过周期性地发送整张路由表,来使网络中的路由器的路由信息坚持共同。这种机制存在着上文说到的一些弊端。而OSPF协议将包括路由信息的部分与只包括路由器间邻接联系的部分分隔,它运用一种被称作Hello的数据包来承认邻接联系,这个数据包十分小,它仅被用来发现和坚持邻接联系。

在路由器R1初始化完结后,它将向路由器R2发送Hello数据包。此刻R1并不知道R2的存在,因此在数据包中不包括R2的信息(参数seen=0)。而R2在接收到该数据包后,将向R1发送Hello包。此刻,Hello包中将标明它已知道存在R1这个街坊。R1收到这个回应包后就会知道街坊R2的存在,并且街坊R2也知道了自己的存在(参数seen=R1)。此刻在路由器R1和R2之间就树立了邻接联系,它们就可以把LSA发送给对方。当然,在发送时OSPF考虑到要尽量削减占用的带宽,它选用了一些技巧,咱们将在下一节简略介绍这些内容。

众所周知,IP协议是一种不牢靠的、面向无衔接的协议,它自身没有承认和过错重传机制。那么,在这种协议根底之上,要做到数据包丢掉或犯错后进行重传,上层协议有必要自身具有这种牢靠的机制。OSPF采纳了与TCP相似的承认和超时重传机制。在机制中,R1和R2将进行一种被称作链路情况数据库描绘(DD)的数据包的互传。首要进行洽谈,然后承认两者之间的主从联系(依据路由器ID号,ID号大的将作为Master)。链路情况数据库描绘(DD)数据包中包括了一些参数,序列号(seq)、报文号(I)、结束标识(M)及主从标志(MS)。隶属路由器将运用主路由器宣布的DD包中的序列号(seq),作为自己的第一个DD包的序列号。当主路由器收到隶属路由器的DD包时,就能承认邻接路由器已收到自己的数据包(假如没有收到或收到的DD包的序列号不是自己一个DD包的序列号,主路由器将重传上一个DD包),主路由器将序列号加1(只要主路由器才有权改动序列号,而隶属路由器没有),并发送下一个DD包,该进程的重复确保了在OSPF协议中数据包传输的精确性,然后为OSPF协议成为一个精确的路由协议打下了根底。

高功率地进行LSA的交流

在RIP等间隔向量路由协议中,路由信息的交互是经过周期性地传送整张路由表的机制来完结的,该机制使间隔向量路由协议无法高效地进行路由信息的交流。在OSPF协议中,为了进步传输功率,在进行链路情况布告(LSA)数据包传输时,运用包括LSA头(Head)的链路情况数据库描绘数据包进行传输,由于每个LSA头中不包括详细的链路情况信息,它只含有各LSA的标识(该标识仅有代表一个LSA),所以,该报文十分小。邻接路由器间运用这种字节数很小的数据包,首要承认在彼此之间哪些LSA是对方没有的,而哪些LSA在对方路由器中也存在,邻接路由器间只会传输对方没有的LSA。关于自己没有的LSA,路由器会发送一个LS Request报文给邻接路由器来恳求对方发送该LSA,邻接路由器在收到LS Request报文后,回应一个LS Update报文(包括该整条LSA信息),在得到对方承认后(接收到对方宣布的LS ACK报文),这两台路由器完结了本条LSA信息的同步。

由此可见,OSPF协议选用增量传输的方法来使邻接路由器坚持共同的链路情况数据库(LSDB)。

小结

综上所述,咱们可以概括出在OSPF协议中运用到的五种协议报文,并简略介绍了它们的效果,咱们作个简略的小结:

◆ Hello报文,经过周期性地发送来发现和保护邻接联系;

◆ DD(链路情况数据库描绘)报文,描绘本地路由器保存的LSDB(链路情况数据库);

◆ LSR(LS Request)报文,向街坊恳求本地没有的LSA;

◆ LSU(LS Update)报文,向街坊发送其恳求或更新的LSA;

◆ LSAck(LS ACK)报文,收到街坊发送的LSA后发送的承认报文。

OSPF协议选用的特别机制

指定路由器和备份指定路由器

在OSPF协议中,路由器经过发送Hello报文来承认邻接联系,每一台路由器都会与其他路由器树立邻接联系,这就要求路由器之间两两树立邻接联系,每台路由器都有必要与其他路由器树立邻接联系,以抵达同步链路情况数据库的意图,在网络中就会树立起n×(n-1)/2条邻接联系(n为网络中OSPF路由器的数量),这样,在进行数据库同步时需求占用必定的带宽。

为了处理这个问题,OSPF选用了一个特别的机制:推举一台指定路由器(DR),使网络中的其他路由器都和它树立邻接联系,而其他路由器彼此之间不必坚持邻接。路由器间链路情况数据库的同步,都经过与指定路由器交互信息完结。这样,在网络中仅需树立n-1条邻接联系。备份指定路由器(BDR)是指定路由器在网络中的备份路由器,它会在指定路由器关机或发生问题后主动顶替它的作业。这时,网络中的其他路由器就会和备份指定路由器交互信息来完结数据库的同步。

要被推举为指定路由器,该路由器应契合以下要求:

◆ 该路由器是本网段内的OSPF路由器;

◆ 该OSPF路由器在本网段内的优先级(Priority)>0;

◆ 该OSPF路由器的优先级最大,假如一切路由器的优先级持平,路由器号(Router ID)最大的路由器(每台路由器的Router ID是仅有的)被推举为指定路由器。

满意以上条件的路由器被推举为指定路由器,而第二个满意条件的路由器则当选为备份指定路由器。

指定路由器和备份指定路由器的推举,是由路由器经过发送Hello数据报文来完结的。

OSPF协议中的区域区别

OSPF协议在大规划网络的运用中,链路情况数据库比较巨大,它占用了很大的存储空间。在履行最小生成数算法时,要消耗较长的时刻和很大的CPU资源,网络拓扑改动的概率也大大添加。这些要素的存在,不只消耗了路由器很多的存储空间,加剧了路由器CPU的担负,并且,整个网络会由于拓扑结构的常常改动,长时间处于“动乱”的不可用的情况。

OSPF协议之所以可以支撑大规划的网络,进行区域区别是一个重要的原因。

OSPF协议答应网络方案设计人员依据需求把路由器放在不同的区域(Area)中,两个不同的区域经过区域鸿沟路由器(ABR)相连。在区域内部的路由信息同步,采纳的方法与上文说到的方法相同。在两个不同区域之间的路由信息传递,由区域鸿沟路由器(ABR)完结。它把相连两个区域内生成的路由,以类型3的LSA向对方区域发送。此刻,一个区域内的OSPF路由器只保存本区域内的链路情况信息,没有其他区域的链路情况信息。这样,在两个区域之间减小了链路情况数据库,下降了生成数算法的核算量。一起,当一个区域中的拓扑结构发生改动时,其他区域中的路由器不需求从头进行核算。OSPF协议中的区域区别机制,有效地处理了OSPF在大规划网络中应用时发生的问题。

OSPF协议运用区域号(Area ID)来区别不同的区域,其间,区域0为主干区域(根区域)。由于在区域间不再进行链路情况信息的交互(实际上,在区域间传递路由信息选用了或许导致路由自环的递归算法),OSPF协议依托保护整个网络链路情况来完结无路由自环的才能,在区域间无法完结。所以,路由自环或许会发生在OSPF的区域之间。处理这一问题的方法是,使一切其他的区域都衔接在主干区域(Area 0)周围,即一切非主干区域都与主干区域邻接。关于一些无法与主干区域邻接的区域,在它们与主干区域之间树立虚衔接。

结束语

本文对OSPF动态路由协议的首要原理和特性作了简略的介绍,没有触及到自治体系(AS)以外的路由及路由聚合。

OSPF协议选用路由器间树立和保护邻接联系,保护链路情况信息数据库,选用最短生成树算法,避免了路由自环。一起,又选用了一些特别的机制,确保了它在大规划网络中的可用性。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qiche/185987.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部