您好,欢迎访问三七文档
likewei路由器原理与技术OSPF协议路由需要更复杂的网络规划和配置需要占用更多的路由器资源需要占用更多的内存来存储多个表需要占用更多的CPU和处理资源来完成复杂的路由计算与距离矢量协议相比较,链路状态路由协议具有以下特性:4123链路状态路由协议OSPF协议•OSPF(OpenShortestPathFirst开放式最短路径优先)是一个内部网关协议(InteriorGatewayProtocol,简称IGP),用于在单一自治系统(autonomoussystem,AS)内决策路由。–OSPF的协议管理距离(AD)是110。–OSPF由IETF在20世纪80年代末期开发,OSPF是SPF类路由协议中的开放式版本。–链路是路由器接口的另一种说法,因此OSPF也称为接口状态路由协议。单区域OSPF•链路状态协议泛洪链路状态信息,使每台路由器有一个完整的网络拓扑视图。–最短路径优先算法用于点到点的网络连接,为了在目前多样的网络中实现OSPF协议,OSPF必须知道它所运行的网络类型。–在交换OSPF链路状态信息前,OSPF协议会在路由器之间建立邻居关系。–大型的OSPF网络使用分级设计原则。多个区域连接到一个分配区,区域0,也称为骨干。OSPF术语•毗邻数据库–记录有关邻居路由器的信息•拓扑数据库(链路状态数据库)–在OSPF区域内的每台路由器具有相同的链路状态数据库,带有多个接口的路由器可以加入多个区域(区域边界路由器),它会为每个区域维护一个单独的拓扑数据库•路由选择表–在路由器的数据库上运行最短路径优先(SPF)算法,决定到目的地的最佳路由OSPF分组OSPF分组类型作用可靠性HELLO1、用于发现邻居2、建立邻接关系3、维持邻接关系4、确保双向通信5、选举DR和BDRDatabaseDescription数据库的描述DBD可靠Link-stateRequest链路状态请求包LSR可靠Link-stateUpdate链路状态更新包LSU可靠Link-stateAcknowledment链路状态确认包LSACKOSPF路由器为了与它的邻居有效共享链路状态信息而建立各种关系或状态。路由器依靠5种不同的分组来识别它们的邻居并更新链路状态信息。OSPF区域•区域长度32位,可以用10进制,也可以类似于IP地址的点分十进制,分3种通信量–Intra-AreaTraffic:域内间通信量–Inter-AreaTraffic:域间通信量–ExternalTraffic:外部通信量路由器类型•InternalRouter:内部路由器•ABR(AreaBorderRouter):区域边界路由器•BackboneRouter(BR):骨干路由器•ASBR(AutonomousSystemBoundaryRouter):自治系统边界路由器.虚链路(VirtualLink)•以下2中情况需要使用到虚链路:–通过一个非骨干区域连接到一个骨干区域.–通过一个非骨干区域连接一个分段的骨干区域两边的部分区域.•虚链接是一个逻辑的隧道(Tunnel),配置虚链接的一些规则:–虚链接必须配置在2个ABR之间.–虚链接所经过的区域叫TransitArea,它必须拥有完整的路由信息.–TransitArea不能是StubArea.–尽可能的避免使用虚链接OSPF区域•OSPF网络分为以下2个级别的层次:–骨干区域(backboneorarea0)–非骨干区域(nonbackboneareas)•在一个OSPF区域中只能有一个骨干区域,可以有多个非骨干区域,骨干区域的区域号为0。•为了避免回环的产生,各非骨干区域间是不可以交换LSA信息的,他们只有与骨干区域相连,通过骨干区域相互交换信息。OSPF区域•非骨干区域和骨干区域之间相连的路由叫边界路由(ABRs-AreaBorderRouters),只有ABRs记载了接入各区域的所有路由信息。各非骨干区域内的非ABRs只记载了本区域内的路由表,若要与外部区域中的路由相连,只能通过本区域的ABRs,由ABRs连到骨干区域的BR,再由骨干区域的BR连到要到达的区域。OSPF的网络类型点到点网络(point-to-point).广播型网络(broadcast)点到多点网络(point-to-multipoint)非广播型(NBMA)网络(non-broadcast)虚链接(virtuallink)点到点网络•比如T1线路,是连接单独的一对路由器的网络,点到点网络上的有效邻居总是可以形成邻接关系的,在这种网络上,OSPF包的目标地址使用的是224.0.0.5,这个组播地址称为AllSPFRouters.广播型网络•比如以太网,TokenRing和FDDI,这样的网络上会选举一个DR和BDR,DR/BDR的发送的OSPF包的目标地址为224.0.0.5,运载这些OSPF包的帧的目标MAC地址为0100.5E00.0005;而除了DR/BDR以外发送的OSPF包的目标地址为224.0.0.6,这个地址叫AllDRouters.NBMA网络、点到多点网络和虚链接•比如X.25,FrameRelay,和ATM,不具备广播的能力,因此邻居要人工来指定,在这样的网络上要选举DR和BDR,OSPF包采用unicast的方式•是NBMA网络的一个特殊配置,可以看成是点到点链路的集合.在这样的网络上不选举DR和BDR.•虚链接:OSPF包是以unicast的方式发送OSPF的网络类型传输网络(TransitNetwork)末梢网络(StubNetwork)[ImageInfo]的度量方法•COST=108/BW•OSPF协议决定最短路径是基于路由器每一个接口指定的代价(cost)来的•一条路由的代价:是指沿着到达目的网络的路由路径上所有出站接口的代价之和!100M128KABCC学习到的10网段的Cost是多少?108/100M=1108/128K=781Cost值为1+1+781=78310100MOSPF状态•Down:此状态还没有与其他路由器交换信息。首先从其ospf接口向外发送hello分组,还并不知道DR(若为广播网络)和任何其他路由器。发送hello分组使用组播地址224.0.0.5。•Init:表明在DeadInterval里收到了Hello包,但是2-Way通信仍然没有建立起来.OSPF状态•two-way:双向会话建立,而RID彼此出现在对方的邻居列表中。(若为广播网络:例如:以太网。在这个时候应该选举DR,BDR。)•ExStart:信息交换初始状态,在这个状态下,本地路由器和邻居将建立Master/Slave关系,并确定DDSequenceNumber,路由器ID大的的成为Master.OSPF状态•Exchange:信息交换状态,本地路由器和邻居交换一个或多个DBD分组(也叫DDP)。DBD包含有关LSDB中LSA条目的摘要信息)。•Loading:信息加载状态:收到DBD后,将收到的信息同LSDB中的信息进行比较。如果DBD中有更新的链路状态条目,则向对方发送一个LSR,用于请求新的LSA。•Full:完全邻接状态,邻接间的链路状态数据库同步完成,通过邻居链路状态请求列表为空且邻居状态为Loading判断。hello协议的目的4.允许邻居之间的双向通信5.用于在NBMA网络上选举DR和BDR1.用于发现邻居2.成为邻居前,对Hello包的参数进行协商3.在邻居间扮演keepalive的角色Hellopacket包含的信息•源路由器的RID•源路由器的AreaID•源路由器接口的掩码•源路由器接口的认证类型和认证信息•源路由器接口的Hello包发送的时间间隔•源路由器接口的无效时间间隔•优先级•DR/BDR接口IP地址•标记位(flagbit)•源路由器的所有邻居的RID23邻接关系形成后开始相互交流•数据库交换过程–主从协商–DD交换–LSA请求–LSA传播–LSA应答Page24/43建立邻接关系的过程RARBDownDownInit2-way2-wayFullHello(neighbor=“”)Hello(neighbor=“RA”)Hello(neighbor=“RB”)Hello(neighbor=“”)InitDBD(Seq)接收到对方的HELLO报文,转换为初始状态在对方发来的HELLO报文中看到自己的RouterID,转换为双向状态确定数据库描述报文的序列号,转换为信息交换初始状态DBD(Seq)ExStartExStartDBDDBDExChangeExChange发送数据库描述报文,转换为信息交换状态LSRLoadingLSULSRLSULoadingFull发送链路状态信息请求报文,获取未知的链路状态信息发送链路状态信息更新报文,同步链路状态数据库直到两台路由器的链路状态数据库完全一致,形成邻接关系发送Hello消息就像双方互相打个招呼DBD类似于一个目录互相发送对方未知的链路信息25OSPF的邻居状态机DownAttemptInit2-wayExStartExchangeLoadingFull维护路由选择信息OSPF的运行步骤建立路由器毗邻关系选举一个DR和BDR发现路由选择适当的路由建立路由器毗邻关系•邻接关系建立的4个阶段:–邻居发现阶段–双向通信阶段:Hello报文都列出了对方的RID,则BC完成–数据库同步阶段–完全邻接阶段:fulladjacency•邻居关系的建立和维持都是靠Hello包完成的,在一般的网络类型中,Hello包周期性的以HelloInterval秒发送28OSPF邻居关系太多•对于多点接入网络,即NBMA和broadcast,如果网络内有上百台路由器,那将形成多少邻接关系:两两互相形成,即100*(100-1),这些邻接关系要定期的交换LSDB,这样耗费的系统资源更是不计其数。BROADCASTNBMAHUBFR/X.2529DR和BDRM=n(n-1)/2=28M=(n-2)×2+1=13DRBDRDR及BDR•DR将完成如下工作:–描述这个多址网络和该网络上剩下的其他相关路由器.–管理这个多址网络上的flooding过程.–同时为了冗余性,还会选取一个BDR,作为备份之用.路由器的每个多路访问(multi-access)接口都有个路由器优先级(RouterPriority),8位长的一个整数,范围是0到255,Cisco路由器默认的优先级是1优先级为0的话将不能选举为DR/BDR.优先级可以通过命令ipospfpriority进行修改.•Hello包里包含了优先级的字段,还包括了可能成为DR/BDR的相关接口的IP地址.当接口在多路访问网络上初次启动的时候,它把DR/BDR地址设置为0.0.0.0,同时设置等待计时器(waittimer)的值等于路由器无效间隔(RouterDeadInterval).DRBDR选取规则DRBDR选取是以接口状态机的方式触发的.DRBDR选取过程•路由器在和邻居建立双向(2-Way)通信之后,检查邻居的Hello包中Priority,DR和BDR字段,列出所有可以参与DR/BDR选举的邻居•如果有一台或多台这样的路由器宣告自己为BDR(也就是说,在其Hello包中将自己列为BDR,而不是DR),选择其中拥有最高路由器优先级的成为BDR;如果相同,选择拥有最大路由器标识的。如果没有路由器宣告自己为BDR,选择列表中路由器拥有最高优先级的成为BDR,(同样排除宣告自己为DR的路由器),如果相同,再根据路由器标识。DRBDR选取过程•如果有一台或多台路由器宣告自己为DR(也就是说,在其Hello包中将自己列为DR),选择其中拥有
本文标题:ospf协议详解
链接地址:https://www.777doc.com/doc-6166626 .html