资源描述
,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,ospf,协议详解,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,*,ospf,协议详解,OSPF,协议路由,需要更复杂的网络规划和配置,需要占用更多的路由器资源,需要占用更多的内存来存储多个表,需要占用更多的,CPU,和处理资源来完成复杂的路由计算,与距离矢量协议相比较,链路状态路由协议具有以下特性:,4,1,2,3,ospf,协议详解,ospf,协议详解,OSPF(Open Shortest Path First,开放式最短路径优先,),是一个内部网关协议,(Interior Gateway Protocol,简称,IGP),,用于在单一自治系统,(autonomous system,,,AS),内决策路由。,OSPF,的协议管理距离(,AD,)是,110,。,OSPF,由,IETF,在,20,世纪,80,年代末期开发,,OSPF,是,SPF,类路由协议中的开放式版本。,链路是路由器接口的另一种说法,因此,OSPF,也称为接口状态路由协议。,ospf,协议详解,链路状态协议泛洪链路状态信息,使每台路由器有一个完整的网络拓扑视图。,最短路径优先算法用于点到点的网络连接,为了在目前多样的网络中实现,OSPF,协议,,OSPF,必须知道它所运行的网络类型。,在交换,OSPF,链路状态信息前,,OSPF,协议会在路由器之间建立邻居关系。,大型的,OSPF,网络使用分级设计原则。多个区域连接到一个分配区,区域,0,,也称为骨干。,ospf,协议详解,毗邻数据库,记录有关邻居路由器的信息,拓扑数据库(链路状态数据库),在,OSPF,区域内的每台路由器具有相同的链路状态数据库,带有多个接口的路由器可以加入多个区域(区域边界路由器),它会为每个区域维护一个单独的拓扑数据库,路由选择表,在路由器的数据库上运行最短路径优先(,SPF,)算法,决定到目的地的最佳路由,ospf,协议详解,OSPF,分组类型,作用,可靠性,HELLO,1,、用于发现邻居,2,、建立邻接关系,3,、维持邻接关系,4,、确保双向通信,5,、选举,DR,和,BDR,Database Description,数据库的描述,DBD,可靠,Link-state Request,链路状态请求包,LSR,可靠,Link-state Update,链路状态更新包,LSU,可靠,Link-state Acknowledment,链路状态确认包,LSACK,OSPF,路由器为了与它的邻居有效共享链路状态信息而建立各种关系或状态。路由器依靠,5,种不同的分组来识别它们的邻居并更新链路状态信息。,ospf,协议详解,区域长度,32,位,可以用,10,进制,也可以类似于,IP,地址的点分十进制,分,3,种通信量,Intra-Area Traffic:,域内间通信量,Inter-Area Traffic:,域间通信量,External Traffic:,外部通信量,ospf,协议详解,Internal Router:,内部路由器,ABR(Area Border Router):,区域边界路由器,Backbone Router(BR):,骨干路由器,ASBR(Autonomous System Boundary Router):,自治系统边界路由器,.,ospf,协议详解,以下,2,中情况需要使用到虚链路,:,通过一个非骨干区域连接到一个骨干区域,.,通过一个非骨干区域连接一个分段的骨干区域两边的部分区域,.,虚链接是一个逻辑的隧道(,Tunnel,),配置虚链接的一些规则,:,虚链接必须配置在,2,个,ABR,之间,.,虚链接所经过的区域叫,Transit Area,它必须拥有完整的路由信息,.,Transit Area,不能是,Stub Area.,尽可能的避免使用虚链接,ospf,协议详解,OSPF,网络分为以下,2,个级别的层次,:,骨干区域,(backbone or area 0),非骨干区域,(nonbackbone areas),在一个,OSPF,区域中只能有一个骨干区域,可以有多个非骨干区域,骨干区域的区域号为,0,。,为了避免回环的产生,各非骨干区域间是不可以交换,LSA,信息的,他们只有与骨干区域相连,通过骨干区域相互交换信息。,ospf,协议详解,非骨干区域和骨干区域之间相连的路由叫边界路由(,ABRs-Area Border Routers,),只有,ABRs,记载了接入各区域的所有路由信息。各非骨干区域内的非,ABRs,只记载了本区域内的路由表,若要与外部区域中的路由相连,只能通过本区域的,ABRs,,由,ABRs,连到骨干区域的,BR,,再由骨干区域的,BR,连到要到达的区域。,ospf,协议详解,点到点网络,(point-to-point).,广播型网络,(broadcast),点到多点网络,(point-to-multipoint),非广播型,(NBMA),网络,(non-broadcast),虚链接,(virtual link),ospf,协议详解,比如,T1,线路,是连接单独的一对路由器的网络,点到点网络上的有效邻居总是可以形成邻接关系的,在这种网络上,OSPF,包的目标地址使用的是,224.0.0.5,这个组播地址称为,AllSPFRouters.,ospf,协议详解,比如以太网,Token Ring,和,FDDI,这样的网络上会选举一个,DR,和,BDR,DR/BDR,的发送的,OSPF,包的目标地址为,224.0.0.5,运载这些,OSPF,包的帧的目标,MAC,地址为,0100.5E00.0005;,而除了,DR/BDR,以外发送的,OSPF,包的目标地址为,224.0.0.6,这个地址叫,AllDRouters.,ospf,协议详解,比如,X.25,Frame Relay,和,ATM,不具备广播的能力,因此邻居要人工来指定,在这样的网络上要选举,DR,和,BDR,OSPF,包采用,unicast,的方式,是,NBMA,网络的一个特殊配置,可以看成是点到点链路的集合,.,在这样的网络上不选举,DR,和,BDR.,虚链接,: OSPF,包是以,unicast,的方式发送,ospf,协议详解,传输网络,(Transit Network),末梢网络,(Stub Network,),Image Info,- Note to customers : This image has been licensed to be used within this PowerPoint template only. You may not extract the image for any other use.,ospf,协议详解,COST= 10,8,/BW,OSPF,协议决定最短路径是基于路由器每一个接口指定的代价(,cost,)来的,一条路由的代价:是指沿着到达目的网络的路由路径上,所有出站接口的代价之和,!,100M,128K,A,B,C,C,学习到的,10,网段的,Cost,是多少?,10,8,/100M,1,10,8,/128K,781,Cost,值为,1,1,781,783,10,100M,ospf,协议详解,Down,:,此状态还没有与其他路由器交换信息。首先从其,ospf,接口向外发送,hello,分组,还并不知道,DR(,若为广播网络,),和任何其他路由器。发送,hello,分组使用组播地址,224.0.0.5,。,Init,:,表明在,DeadInterval,里收到了,Hello,包,但是,2-Way,通信仍然没有建立起来,.,ospf,协议详解,two-way,:,双向会话建立,而,RID,彼此出现在对方的邻居列表中。,(,若为广播网络:例如:以太网。在这个时候应该选举,DR,BDR,。,),ExStart,:,信息交换初始状态,在这个状态下,本地路由器和邻居将建立,Master/Slave,关系,并确定,DD Sequence Number,路由器,ID,大的的成为,Master.,ospf,协议详解,Exchange,:,信息交换状态,本地路由器和邻居交换一个或多个,DBD,分组(也叫,DDP),。,DBD,包含有关,LSDB,中,LSA,条目的摘要信息,),。,Loading,:,信息加载状态:收到,DBD,后,将收到的信息同,LSDB,中的信息进行比较。如果,DBD,中有更新的链路状态条目,则向对方发送一个,LSR,,用于请求新的,LSA,。,Full,:,完全邻接状态,邻接间的链路状态数据库同步完成,通过邻居链路状态请求列表为空且邻居状态为,Loading,判断。,ospf,协议详解,4.,允许邻居之间的双向通信,5.,用于在,NBMA,网络上选举,DR,和,BDR,1.,用于发现邻居,2.,成为邻居前,对,Hello,包的参数进行协商,3.,在邻居间扮演,keepalive,的角色,ospf,协议详解,源路由器的,RID,源路由器的,Area ID,源路由器接口的掩码,源路由器接口的认证类型和认证信息,源路由器接口的,Hello,包发送的时间间隔,源路由器接口的无效时间间隔,优先级,DR/BDR,接口,IP,地址,标记位,(flag bit),源路由器的所有邻居的,RID,23,ospf,协议详解,数据库交换过程,主从协商,DD,交换,LSA,请求,LSA,传播,LSA,应答,ospf,协议详解,RA,RB,Down,Down,Init,2-way,2-way,Full,Hello(neighbor=,“,”,),Hello(neighbor=,“,RA,”,),Hello(neighbor=,“,RB,”,),Hello(neighbor=,“,”,),Init,DBD,(,Seq,),接收到对方的,HELLO,报文,转换为初始状态,在对方发来的,HELLO,报文中看到自己的,Router ID,,转换为双向状态,确定数据库描述报文的序列号,转换为信息交换初始状态,DBD,(,Seq,),ExStart,ExStart,DBD,DBD,ExChange,ExChange,发送数据库描述报文,转换为信息交换状态,LSR,Loading,LSU,LSR,LSU,Loading,Full,发送链路状态信息请求报文,获取未知的链路状态信息,发送链路状态信息更新报文,同步链路状态数据库,直到两台路由器的链路状态数据库完全一致,形成邻接关系,发送,Hello,消息就像双方互相打个招呼,DBD,类似于一个目录,互相发送对方未知的链路信息,25,ospf,协议详解,Down,Attempt,Init,2-way,ExStart,Exchange,Loading,Full,维护路由选择信息,ospf,协议详解,建立路由器毗邻关系,选举一个,DR,和,BDR,发现路由,选择适当的路由,ospf,协议详解,邻接关系建立的,4,个阶段,:,邻居发现阶段,双向通信阶段:,Hello,报文都列出了对方的,RID,,则,BC,完成,数据库同步阶段,完全邻接阶段,: full adjacency,邻居关系的建立和维持都是靠,Hello,包完成的,在一般的网络类型中,Hello,包周期性的以,HelloInterval,秒发送,28,ospf,协议详解,对于多点接入网络,即,NBMA,和,broadcast,,如果网络内有上百台路由器,那将形成多少邻接关系:两两互相形成,即,100*,(,100-1,),这些邻接关系要定期的交换,LSDB,这样耗费的系统资源更是不计其数。,BROADCAST,NBMA,HUB,FR/X.25,29,ospf,协议详解,M= n(n-1)/2,= 28,M= (n-2)2+1,= 13,DR,BDR,ospf,协议详解,DR,将完成如下工作:,描述这个多址网络和该网络上剩下的其他相关路由器,.,管理这个多址网络上的,flooding,过程,.,同时为了冗余性,还会选取一个,BDR,,作为备份之用,.,路由器的每个多路访问,(multi-access),接口都有个路由器优先级,(Router Priority),8,位长的一个整数,范围是,0,到,255,Cisco,路由器默认的优先级是,1,优先级为,0,的话将不能选举为,DR/BDR.,优先级可以通过命令,ip ospf priority,进行修改,.,Hello,包里包含了优先级的字段,还包括了可能成为,DR/BDR,的相关接口的,IP,地址,.,当接口在多路访问网络上初次启动的时候,它把,DR/BDR,地址设置为,0.0.0.0,同时设置等待计时器,(wait timer),的值等于路由器无效间隔,(Router Dead Interval).,ospf,协议详解,DR BDR,选取是以接口状态机的方式触发的,.,1,2,3,ospf,协议详解,路由器在和邻居建立双向,(2-Way),通信之后,检查邻居的,Hello,包中,Priority,DR,和,BDR,字段,列出所有可以参与,DR/BDR,选举的邻居,如果有一台或多台这样的路由器宣告自己为,BDR,(也就是说,在其,Hello,包中将自己列为,BDR,,而不是,DR,),选择其中拥有最高路由器优先级的成为,BDR,;如果相同,选择拥有最大路由器标识的。如果没有路由器宣告自己为,BDR,,选择列表中路由器拥有最高优先级的成为,BDR,,(同样排除宣告自己为,DR,的路由器),如果相同,再根据路由器标识,。,ospf,协议详解,如果有一台或多台路由器宣告自己为,DR,(也就是说,在其,Hello,包中将自己列为,DR,),选择其中拥有最高路由器优先级的成为,DR,;如果相同,选择拥有最大路由器标识的。如果没有路由器宣告自己为,DR,,将新选举出的,BDR,设定为,DR,。,如果路由器,X,新近成为,DR,或,BDR,,或者不再成为,DR,或,BDR,,重复步骤,2,和,3,,然后结束选举。这样做是为了确保路由器不会同时宣告自己为,DR,和,BDR,。,当网络中已经选举了,DR/BDR,后,又出现了,1,台新的优先级更高的路由器,DR/BDR,是不会重新选举的。,ospf,协议详解,优先级为,0,的不参与选举;,优先级高的路由器为,DR,;,优先级相同时,以,router ID,大为,DR,;,router ID,以回环接口中最大,ip,为准;若无回环接口,以真实接口最大,ip,为准。,缺省条件下,优先级为,1,。,ospf,协议详解,Flooding,采用,2,种报文,LSU Type 4-,链路状态更新报文,LSA Type 5-,链路状态确认报文,在,P-P,网络,路由器是以组播方式将更新报文发送到组播地址,224.0.0.5,在,P-MP,和虚链路网络,路由器以单播方式将更新报文发送至邻接邻居的接口地址,.,ospf,协议详解,在,广播型网络,,,DR,路由器只能和,DR&BDR,形成邻接关系,所以更新报文将发送到,224.0.0.6,,相应的,DR,以,224.0.0.5,泛洪,LSA,并且,BDR,只接收,LSA,,不会确认和泛洪这些更新,除非,DR,失效 在,NBMA,型网络,,LSA,以单播方式发送到,DR,和,BDR,,并且,DR,以单播方式发送这些更新,.,LSA,通过,LS,类型、,LS,标识和宣告路由器来识别,并通过序列号、校验和、老化时间判断,LSA,新旧。,ospf,协议详解,类型,1:Router LSA,:,每个路由器都将产生,Router LSA,这种,LSA,只在本区域内传播,描述了路由器所有的链路和接口,状态和开销,.,类型,2:Network LSA,:,在每个多路访问网络中,,DR,都会产生这种,Network LSA,,它只在产生这条,Network LSA,的区域泛洪描述了所有和它相连的路由器(包括,DR,本身)。,ospf,协议详解,类型,3:Network Summary LSA,:,由,ABR,路由器始发,用于通告该区域外部的目的地址,.,当其他的路由器收到来自,ABR,的,Network Summary LSA,以后,它不会运行,SPF,算法,它只简单的加上到达那个,ABR,的开销和,Network Summary LSA,中包含的开销,通过,ABR,到达目标地址的路由和开销一起被加进路由表里,这种依赖中间路由器来确定到达目标地址的完全路由,(full route),实际上是距离矢量路由协议的行为。,ospf,协议详解,类型,4:ASBR Summary LSA:,由,ABR,发出,,ASBR,汇总,LSA,除了所通告的目的地是一个,ASBR,而不是一个网络外,其他同,Network Summary LSA.,类型,5:AS External LSA:,发自,ASBR,路由器,用来通告到达,OSPF,自主系统外部的目的地,或者,OSPF,自主系统那个外部的,缺省路由,的,LSA.,这种,LSA,将在全,AS,内泛洪(,4,个特殊区域除外),.,类型,6:Group Membership LSA,ospf,协议详解,类型,7:NSSA External LSA:,来自非完全,Stub,区域(,not-so-stubby area,)内,ASBR,路由器始发的,LSA,通告它只在,NSSA,区域内泛洪,这是与,LSA-Type5,的区别,.,类型,8:External Attributes LSA,类型,9:Opaque LSA(link-local scope,),类型,10:Opaque LSA(area-local scope),类型,11:Opaque LSA(AS scope),ospf,协议详解,配置,loopback,接口地址,Router(config)# interface loopback 0,Router(config-if)# ip address,IP,地址 掩码,启动,OSPF,路由进程,Router(config)# router ospf,进程号,指定,OSPF,协议运行的接口和所在的区域,Router(config-router)# network,网络号 反向掩码,area,区域号,本路由器的进程号,用于标识同一路由器上的多个,OSPF,进程,可以是网络地址、子网地址、接口地址,指明网络所属区域,此处是,0-,骨干区域,用于产生路由器的,Router ID,192.168.1.0/24,子网掩码:,255.255.255.0,反向掩码:,0.0.0.255,子网掩码为,1,的位,在反向掩码中为,0,;,子网掩码为,0,的位,在反向掩码中为,1,。,例如:,192.168.2.0/28,的反向掩码应该是多少?,反向掩码:,0.0.0.15,ospf,协议详解,修改接口的,Cost,值,Router(config-if)#ip ospf cost,number,例如:,Router(config)#interface s0,Router(config-if)#ip ospf cost 1000,取值范围,165535,OSPF,路由器在接口上使用,cost,值来决定最佳路径,ospf,协议详解,配置,OSPF,计时器,Router(config-if)#ip ospf hello-interval,时间,(s),Router(config-if)#ip ospf dead-interval,时间,(s),例如:,Router(config)#interface e0,Router(config-if)#ip ospf hello-interval 5,Router(config-if)#ip ospf dead-interval 20,为了交换信息,相邻由器必须有相同的,hello,和,dead,间隔,通常,dead,时间是,hello,时间的,4,倍,ospf,协议详解,查看邻居列表,Router#show ip ospf neighbor,查看链路状态数据库,Router#show ip ospf database,查看路由表,Router#show ip route,查看,OSPF,的配置,Router#show ip ospf,查看,OSPF,接口数据结构,Router#show ip ospf interface,接口,ospf,协议详解,ospf,协议详解,环回接口是路由器的一个虚拟接口,它永远不会失效。,OSPF,的成功运行需要一个进程,ID,和路由器,ID,。路由器,ID,来自于一个活动的接口,如果这个接口失效了,,OSPF,进程就无法继续。,为了保证,OSPF,的稳定性,我们配置环回地址作为路由器的,ID,。,ospf,协议详解,当,OSPF,进程启动时,,IOS,使用最高的本地地址作为其,OSPF,路由器的,ID,。,如果为环回接口配置了,IP,地址,路由器将会使用该环回接口地址,而不管其值大小。,在基于,OSPF,的网络中,建议所有关键路由器都使用环回地址。,为了避免路由选择问题,在配置环回接口地址的时候最好配置一个,32,位的子网掩码。,ospf,协议详解,ospf,协议详解,NBMA,的网络使用,OSPF,会产生一些问题,例如组播的,Hello,分组交换。,IOS,提供了一些选项以克服,NBMA,的局限性,包括:,neighbor,命令、点到点子接口和点到多点的配置。具体使用哪种取决于,NBMA,网络拓扑。,ospf,协议详解,全网状结构,部分网状结构,ospf,协议详解,全网状结构利用了帧中继可以在一个串行接口中支持多条永久的虚电路的能力。在全网状拓扑结构中,每台路由器都有一条永久虚电路线路连接到其他的路由器。,要使得,OSPF,能在一个不支持广播的多路访问全网状拓扑结构中正常工作,必须在每台路由器上手工输入,OSPF,的邻居路由器地址。,使用,neighbor,address,命令,ospf,协议详解,IOS,子接口功能可用于将多路访问型网络分隔成多个点到点型网络构成的集合。,OSPF,自动将这种配置看作是点到点网络。即使是在这些接口上配置了帧中继。,ospf,协议详解,部分网状结构是由至少一台路由器维持对其他路由器的多个连接,但不是每台路由器都有到其他所有路由器的直接连接。,最经济的结构是轴辐型拓扑结构,一台中心路由器连接着其他多台分支路由器。,命令,neighbor,在轴辐结构中不能正确工作。,ospf,协议详解,在这种,OSPF,网络中,要正确工作,必须由中心路由器担当,DR,。因此,应该在所有分支路由器上将,OSPF,接口的优先级设置为。,一个轴辐型物理拓扑可以被手工配置为一个点带多点网络类型。,ospf,协议详解,在一个点到多点型网络中,一台轴路由器被直接连接到多台辐路由器,但所有广域网接口的地址都在同一个,IP,子网中。,点到多点网络有一下特性:,毗邻关系在所有相邻路由器之间被建立。,当发出一个路由器,LSA,时,点到多点型接口被作为点到点的链路的集合报告给接口的所有邻居。,ospf,协议详解,使用,ip ospf network point-to-multipoint,命令来取代所检测到的,OSPF,网络类型。,使用,frame-relay map ip,address dlci,broadcast,命令来配置接口。,其中,broadcast,允许路由器通过指定的,DLCI,号将广播分组发送给所映射的邻居。,
展开阅读全文