




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
OSPF路由协议概念及工作原理1■概述OSPF路由协议是一种典型的链路状态(Link-state)的路由协议,一般用于同一个路由域内。在这里,路由域是指一个自治系统(AutonomousSystem),即AS,它是指一组通过统一的路由政策或路由协议互相交换路由信息的网络。在这个AS中,所有的OSPF路由器都维护一个相同的描述这个AS结构的数据库,该数据库中存放的是路由域中相应链路的状态信息,OSPF路由器正是通过这个数据库计算出其OSPF路由表的。作为一种链路状态的路由协议,OSPF将链路状态广播数据包LSA(LinkStateAdvertisement)传送给在某一区域内的所有路由器,这一点与距离矢量路由协议不同。运行距离矢量路由协议的路由器是将部分或全部的路由表传递给与其相邻的路由器。2■数据包格式在OSPF路由协议的数据包中,其数据包头长为24个字节,包含如下8个字段:Versionnumber-定义所采用的OSPF路由协议的版本。Type-定义OSPF数据包类型。OSPF数据包共有五种:Hello-用于建立和维护相邻的两个OSPF路由器的关系,该数据包是周期性地发送的。DatabaseDescription-用于描述整个数据库,该数据包仅在OSPF初始化时发送。Linkstaterequest-用于向相邻的OSPF路由器请求部分或全部的数据,这种数据包是在当路由器发现其数据已经过期时才发送的。Linkstateupdate-这是对linkstate请求数据包的响应,即通常所说的LSA数据包。Linkstateacknowledgment-是对LSA数据包的响应。Packetlength-定义整个数据包的长度。RouterID-用于描述数据包的源地址,以IP地址来表示。AreaID-用于区分OSPF数据包属于的区域号,所有的OSPF数据包都属于一个特定的OSPF区域。*Checksum-校验位,用于标记数据包在传递时有无误码。Authenticationtype-定义OSPF验证类型。Authentication-包含OSPF验证信息,长为8个字节。3.0SPF基本算法3.1SPF算法及最短路径树SPF算法是OSPF路由协议的基础。SPF算法有时也被称为Dijkstra算法,这是因为最短路径优先算法SPF是Dijkstra发明的。SPF算法将每一个路由器作为根(ROOT)来计算其到每一个目的地路由器的距离,每一个路由器根据一个统一的数据库会计算出路由域的拓扑结构图,该结构图类似于一棵树,在SPF算法中,被称为最短路径树。在OSPF路由协议中,最短路径树的树干长度,即OSPF路由器至每一个目的地路由器的距离,称为OSPF的Cost,其算法为:Cost=100x106/链路带宽在这里,链路带宽以bps来表示。也就是说,OSPF的Cost与链路的带宽成反比,带宽越高,Cost越小,表示OSPF到目的地的距离越近。举例来说,FDDI或快速以太网的Cost为1,2M串行链路的Cost为48,10M以太网的Cost为10等。3.2链路状态算法作为一种典型的链路状态的路由协议,OSPF还得遵循链路状态路由协议的统一算法。链路状态的算法非常简单,在这里将链路状态算法概括为以下四个步骤:当路由器初始化或当网络结构发生变化(例如增减路由器,链路状态发生变化等)时,路由器会产生链路状态广播数据包LSA(Link-StateAdvertisement),该数据包里包含路由器上所有相连链路,也即为所有端口的状态信息。所有路由器会通过一种被称为刷新(Flooding)的方法来交换链路状态数据。Flooding是指路由器将其LSA数据包传送给所有与其相邻的OSPF路由器,相邻路由器根据其接收到的链路状态信息更新自己的数据库,并将该链路状态信息转送给与其相邻的路由器,直至稳定的一个过程。当网络重新稳定下来,也可以说OSPF路由协议收敛下来时,所有的路由器会根据其各自的链路状态信息数据库计算出各自的路由表。该路由表中包含路由器到每一个可到达目的地的Cost以及到达该目的地所要转发的下一个路由器(next-hop)。第4个步骤实际上是指OSPF路由协议的一个特性。当网络状态比较稳定时,网络中传递的链路状态信息是比较少的,或者可以说,当网络稳定时,网络中是比较安静的。这也正是链路状态路由协议区别与距离矢量路由协议的一大特点。4.0SPF路由协议的基本特征前文已经说明了OSPF路由协议是一种链路状态的路由协议,为了更好地说明OSPF路由协议的基本特征,我们将OSPF路由协议与距离矢量路由协议之一的RIP(RoutingInformationProtocol)作一比较,归纳为如下几点:RIP路由协议中用于表示目的网络远近的唯一参数为跳(HOP),也即到达目的网络所要经过的路由器个数。在RIP路由协议中,该参数被限制为最大15,也就是说RIP路由信息最多能传递至第16个路由器;对于OSPF路由协议,路由表中表示目的网络的参数为Cost,该参数为一虚拟值,与网络中链路的带宽等相关,也就是说OSPF路由信息不受物理跳数的限制。并且,OSPF路由协议还支持TOS(TypeofService)路由,因此,OSPF比较适合应用于大型网络中。RIP路由协议不支持变长子网屏蔽码(VLSM),这被认为是RIP路由协议不适用于大型网络的又一重要原因。采用变长子网屏蔽码可以在最大限度上节约IP地址。OSPF路由协议对VLSM有良好的支持性。RIP路由协议路由收敛较慢oRIP路由协议周期性地将整个路由表作为路由信息广播至网络中,该广播周期为30秒。在一个较为大型的网络中,RIP协议会产生很大的广播信息,占用较多的网络带宽资源;并且由于RIP协议30秒的广播周期,影响了RIP路由协议的收敛,甚至出现不收敛的现象。而OSPF是一种链路状态的路由协议,当网络比较稳定时,网络中的路由信息是比较少的,并且其广播也不是周期性的,因此OSPF路由协议即使是在大型网络中也能够较快地收敛。在RIP协议中,网络是一个平面的概念,并无区域及边界等的定义。随着无级路由CIDR概念的出现,RIP协议就明显落伍了。在OSPF路由协议中,一个网络,或者说是一个路由域可以划分为很多个区域area,每一个区域通过OSPF边界路由器相连,区域间可以通过路由总结(Summary)来减少路由信息,减小路由表,提高路由器的运算速度。OSPF路由协议支持路由验证,只有互相通过路由验证的路由器之间才能交换路由信息。并且OSPF可以对不同的区域定义不同的验证方式,提高网络的安全性。—、基本概念和术语链路状态OSPF路由器收集其所在网络区域上各路由器的连接状态信息,即链路状态信息(Link-State),生成链路状态数据库(Link-StateDatabase)。路由器掌握了该区域上所有路由器的链路状态信息,也就等于了解了整个网络的拓扑状况。OSPF路由器利用''最短路径优先算法(ShortestPathFirst,SPF)〃,独立地计算出到达任意目的地的路由。区域OSPF协议引入''分层路由〃的概念,将网络分割成一个''主干〃连接的一组相互独立的部分,这些相互独立的部分被称为''区域〃(Area),''主干〃的部分称为''主干区域〃。每个区域就如同一个独立的网络,该区域的OSPF路由器只保存该区域的链路状态。每个路由器的链路状态数据库都可以保持合理的大小,路由计算的时间、报文数量都不会过大。OSPF网络类型根据路由器所连接的物理网络不同,OSPF将网络划分为四种类型:广播多路访问型(BroadcastmultiAccess)、非广播多路访问型(NoneBroadcastMultiAccessNBMA)、点到点型(Point-to-Point)、点到多点型(Point-to-MultiPoint)。广播多路访问型网络如:Ethernet、TokenRing、FDDI°NBMA型网络如:FrameRelay、X.25、SMDSoPoint-to-Point型网络如:PPP、HDLC。指派路由器(DR)和备份指派路由器(BDR)在多路访问网络上可能存在多个路由器,为了避免路由器之间建立完全相邻关系而引起的大量开销,OSPF要求在区域中选举一个DRo每个路由器都与之建立完全相邻关系。DR负责收集所有的链路状态信息,并发布给其他路由器。选举DR的同时也选举出一个BDR,在DR失效的时候,BDR担负起DR的职责。点对点型网络不需要DR,因为只存在两个节点,彼此间完全相邻。协议组成OSPF协议由Hello协议、交换协议、扩散协议组成。本文仅介绍Hello协议,其他两个协议可参考RFC2328中的具体描述。当路由器开启一个端口的OSPF路由时,将会从这个端口发出一个Hello报文,以后它也将以一定的间隔周期性地发送Hello报文oOSPF路由器用Hello报文来初始化新的相邻关系以及确认相邻的路由器邻居之间的通信状态。对广播型网络和非广播型多路访问网络,路由器使用Hello协议选举出一个DR。在广播型网络里,Hello报文使用多播地址224.0.0.5周期性广播,并通过这个过程自动发现路由器邻居。在NBMA网络中,DR负责向其他路由器逐一发送Hello报文。二、协议操作第一步:建立路由器的邻接关系所谓''邻接关系〃(Adjacency)是指OSPF路由器以交换路由信息为目的,在所选择的相邻路由器之间建立的一种关系。路由器首先发送拥有自身ID信息(Loopback端口或最大的IP地址)的Hello报文。与之相邻的路由器如果收到这个Hello报文,就将这个报文内的ID信息加入到自己的Hello报文内。如果路由器的某端口收到从其他路由器发送的含有自身ID信息的Hello报文,则它根据该端口所在网络类型确定是否可以建立邻接关系。在点对点网络中,路由器将直接和对端路由器建立起邻接关系,并且该路由器将直接进入到第三步操作:发现其他路由器。若为MultiAccess网络,该路由器将进入选举步骤。第二步:选举DR/BDR不同类型的网络选举DR和BDR的方式不同。MultiAccess网络支持多个路由器,在这种状况下,OSPF需要建立起作为链路状态和LSA更新的中心节点。选举利用Hello报文内的ID和优先权(Priority)字段值来确定。优先权字段值大小从0到255,优先权值最高的路由器成为DR。如果优先权值大小一样,贝9ID值最高的路由器选举为DR,优先权值次高的路由器选举为BDRo优先权值和ID值都可以直接设置。第三步:发现路由器在这个步骤中,路由器与路由器之间首先利用Hello报文的ID信息确认主从关系,然后主从路由器相互交换部分链路状态信息。每个路由器对信息进行分析比较,如果收到的信息有新的内容,路由器将要求对方发送完整的链路状态信息。这个状态完成后,路由器之间建立完全相邻(FullAdjacency)关系,同时邻接路由器拥有自己独立的、完整的链路状态数据库。在MultiAccess网络内,DR与BDR互换信息,并同时与本子网内其他路由器交换链路状态信息。Point-to-Point或Point-to-MultiPoint网络中,相邻路由器之间信息。第四步:选择适当的路由器当一个路由器拥有完整独立的链路状态数据库后,它将采用SPF算法计算并创建路由表。OSPF路由器依据链路状态数据库的内容,独立地用SPF算法计算出到每一个目的网络的路径,并将路径存入路由表中。OSPF利用量度(Cost)计算目的路径,Cost最小者即为最短路径。在配置OSPF路由器时可根据实际情况,如链路带宽、时延或经济上的费用设置链路Cost大小。Cost越小,则该链路被选为路由的可能性越大。第五步:维护路由信息当链路状态发生变化时,OSPF通过Flooding过程通告网络上其他路由器。OSPF路由器接收到包含有新信息的链路状态更新报文,将更新自己的链路状态数据库,然后用SPF算法重新计算路由表。在重新计算过程中,路由器继续使用旧路由表,直到SPF完成新的路由表计算。新的链路状态信息将发送给其他路由器。值得注意的是,即使链路状态没有发生改变,OSPF路由信息也会自动更新,默认时间为30分钟。OSPF路由器之间使用链路状态通告(LSA)来交换各自的链路状态信息,并把获得的信息存储在链路状态数据库中。各OSPF路由器独立使用SPF算法计算到各个目的地址的路由。OSPF协议支持分层路由方式,这使得它的扩展能力远远超过RIP协议。当OSPF网络扩展到100、500甚至上千个路由器时,路由器的链路状态数据库将记录成千上万条链路信息。为了使路由器的运行更快速、更经济、占用的资源更少,网络工程师们通常按功能、结构和需要把OSPF网络分割成若干个区域,并将这些区域和主干区域根据功能和需要相互连接从而达到分层的目的。一、OSPF分层路由的思想OSPF把一个大型网络分割成多个小型网络的能力被称为分层路由,这些被分割出来的小型网络就称为''区域〃(Area)。由于区域内部路由器仅与同区域的路由器交换LSA信息,这样LSA报文数量及链路状态信息库表项都会极大减少,SPF计算速度因此得到提高。多区域的OSPF必须存在一个主干区域,主干区域负责收集非主干区域发出的汇总路由信息,并将这些信息返还给到各区域。OSPF区域不能随意划分,应该合理地选择区域边界,使不同区域之间的通信量最小。但在实际应用中区域的划分往往并不是根据通信模式而是根据地理或政治因素来完成的。二、OSPF中的四种路由器在OSPF多区域网络中,路由器可以按不同的需要同时成为以下四种路由器中的几种:内部路由器:所有端口在同一区域的路由器,维护一个链路状态数据库。主干路由器:具有连接主干区域端口的路由器。区域边界路由器(ABR):具有连接多区域端口的路由器,一般作为一个区域的出口。ABR为每一个所连接的区域建立链路状态数据库,负责将所连接区域的路由摘要信息发送到主干区域,而主干区域上的ABR则负责将这些信息发送到各个区域。自治域系统边界路由器(ASBR):至少拥有一个连接外部自治域网络(如非OSPF的网络)端口的路由器,负责将非OSPF网络信息传入OSPF网络。三、OSPF链路状态公告类型OSPF路由器之间交换链路状态公告(LSA)信息。OSPF的LSA中包含连接的接口、使用的Metric及其他变量信息。OSPF路由器收集链接状态信息并使用SPF算法来计算到各节点的最短路径。LSA也有几种不同功能的报文,在这里简单地介绍一下:LSATYPE1由每台路由器为所属的区域产生的LSA,描述本区域路由器链路到该区域的状态和代价。一个边界路由器可能产生多个LSATYPE1。LSATYPE2:由DR产生,含有连接某个区域路由器的所有链路状态和代价信息。只有DR可以监测该信息。LSATYPE3由ABR产生,含有ABR与本地内部路由器连接信息,可以描述本区域到主干区域的链路信息。它通常汇总缺省路由而不是传送汇总的OSPF信息给其他网络。LSATYPE4由ABR产生,由主干区域发送到其他ABR,含有ASBR的链路信息,与LSATYPE3的区别在于TYPE4描述到OSPF网络的外部路由,而TYPE3则描述区域内路由。LSATYPE5由ASBR产生,含有关于自治域外的链路信息。除了存根区域和完全存根区域,LSATYPE5在整个网络中发送。LSATYPE6:多播OSPF(MOSF),MOSF可以让路由器利用链路状态数据库的信息构造用于多播报文的多播发布树。LSATYPE7:由ASBR产生的关于NSSA的信息丄SATYPE7可以转换为LSATYPE5四、OSPF区域类型前述的四种路由器可以构成五种类型的区域,这五种区域的主要区别在于它们和外部路由器间的关系:标准区域:一个标准区域可以接收链路更新信息和路由总结。主干区域(传递区域):主干区域是连接各个区域的中心实体。主干区域始终是'区域0〃,所有其他的区域都要连接到这个区域上交换路由信息。主干区域拥有标准区域的所
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 心理学应用心理学练习题
- 工程经济考试各科目的学习策略试题及答案
- 绿色农业种植标准化管理体系构建方案
- 现代日式风格软装设计
- 生物化学分子基础考题汇编
- 2025市政工程考试精彩试题及答案
- 行政管理经济法在现实中的作用试题及答案
- 人口经济学与政策研究试题及答案
- 相声课件的教学课件
- 提高产品质量的管理策略计划
- 体育教育中的跨学科整合教学研究论文
- 高危药物外渗处理流程
- 超星尔雅学习通《创新创业(同济大学)》2025章节测试附答案
- 医院无线网络方案
- 水库安全运行管理防汛知识培训
- 基于高光谱成像的青稞品种鉴别和特征品质无损检测技术研究
- 2024年山东省政府采购评审专家考试真题100个题及答案
- 2025年合肥市公安局第一批招考聘用警务辅助人员591人高频重点提升(共500题)附带答案详解
- 医院培训课件:《医务人员职业暴露及安全防护》
- 煤质化验工职业技能竞赛理论考试题及答案
- DB52T 1512-2020 水利水电工程隧洞施工超前地质预报技术规程
评论
0/150
提交评论