,#,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,杭州华三通信技术有限公司,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,OSPF,是,Open Shortest Path First,(开放最短路径优先)的缩写。它是,IETF,组织开发的一个基于链路状态的内部网关协议,目前在互联网上大量的使用。本章主要介绍,OSPF,协议的工作原理,包括它的分层结构、网络类型、报文封装、邻居建立和维护等内容。,引入,了解,OSPF,协议的特点,掌握,OSPF,协议分层结构,掌握,OSPF,协议中的网络类型,掌握,OSPF,协议的报文封装,掌握,OSPF,协议状态迁移,课程目标,学习完本课程,您应该能够:,协议概述,分层结构,网络类型,报文和封装,邻居建立和状态迁移,LSDB,更新,目录,RIP,协议存在的问题,存在最大,15,跳的限制,不能适应大规模组网的需求,周期性发送全部路由信息,占用大量的带宽资源,路由收敛速度慢,以跳数作为度量值,存在路由环路可能性,OSPF,协议特点,没有路由跳数的限制,使用组播更新变化的路由和网络信息,路由收敛速度较快,以开销(,Cost,)作为度量值,采用的,SPF,算法可以有效的避免环路,在互联网上大量使用,是运用最广泛的路由协议,邻居关系、,LSDB,和路由表,邻居表,路由表,LSDB,邻居表记录了建立了邻居关系的路由器,LSDB,中包含了所有的链路状态信息,并需要实时同步,经过,SPF,算法计算出的路由存放在,OSPF,路由表中,生成,OSPF,路由,1,2,5,3,A,D,C,B,D,C,B,1,2,3,D,C,1,2,3,A,D,B,1,2,3,A,C,B,1,2,3,A,A,(,一,),网络的拓扑结构,(,二,),每台路由器的,LSDB,(,三,),由,LSDB,得到的带权有向图,(,四,),每台路由器分别以自己为根节点计算最小生成树,RTA,RTB,RTC,RTD,1,2,5,3,B,C,D,RTA,的,LSA,RTB,的,LSA,RTC,的,LSA,RTD,的,LSA,LSDB,协议概述,分层结构,网络类型,报文和封装,邻居建立和状态迁移,LSDB,更新,目录,骨干区域与非骨干区域,骨干区域,非骨干区域,非骨干区域,骨干区域负责转发非骨干区域之间的路由,划分区域的优势,减少了区域内,LSDB,中链路状态信息的数量,降低了运行,OSPF,协议对路由器性能的要求,可以将相同功能性或者地理位置的路由器划分在一个区域内,以便于管理。,隔离拓扑变化,减少路由震荡对整个自治系统的影响。,OSPF,路由器类型,区域内路由器(,Internal Router,),区域边界路由器(,ABR,,,Area Border Router,),骨干路由器(,Backbone Router,),自治系统边界路由器(,ASBR,,,Autonomous System Border Router,),OSPF,路由器类型示例,骨干区域,非骨干区域,非骨干区域,ABR,ASBR,Backbone Router,Internal Router,Internal Router,RTA,RTB,RTC,RTD,RTE,RTF,RTG,协议概述,分层结构,网络类型,报文和封装,邻居建立和状态迁移,LSDB,更新,目录,Router ID,一台路由器如果要运行,OSPF,协议,则必须存在,Router ID,(,RID,)。,RID,是一个,32,比特无符号整数,可以在一个自治系统中唯一的标识一台路由器。,RID,可以手工配置,也可以自动生成。,如果没有通过命令指定,RID,,将按照如下顺序自动生成一个,RID,:,如果当前设备配置了,Loopback,接口,将选取所有,Loopback,接口上数值最大的,IP,地址作为,RID,;,如果当前设备没有配置,Loopback,接口,将选取它所有已经配置,IP,地址且链路有效的接口上数值最大的,IP,地址作为,RID,。,Router ID,选取示例,Loopback 0,:,172.16.1.1/32,GE 0/0,:,192.168.1.1/24,GE 0/1,:,192.168.2.1/24,Router ID:172.16.1.1,GE 0/0,:,192.168.1.1/24,GE 0/1,:,192.168.2.1/24,GE 1/0,:,192.168.3.1/24,Router ID:192.168.2.1,RTA,RTB,OSPF,网络类型,Broadcast,NBMA,(,Non-Broadcast Multi-Access,,非广播多点可达网络),P2MP,(,Point-to-MultiPoint,,点到多点),P2P,(,Point-to-Point,,点到点),NBMA,与,P2MP,NBMA,网络是指那些全连通的、非广播、多点可达网络。而,P2MP,网络,则并不需要一定是全连通的。,NBMA,是一种缺省的网络类型,而,P2MP,网络必须是由其它的网络强制更改的。,NBMA,网络采用单播发送报文,需要手工配置邻居。,P2MP,网络采用组播方式发送报文。,协议概述,分层结构,网络类型,报文和封装,邻居建立和状态迁移,LSDB,更新,目录,OSPF,报文类型与封装,OSPF,报文类型,作用,Hello,建立并维护邻居关系,Database Description,(,DD,),数据库内容的汇总(仅包含,LSA,摘要),Link State Request,(,LSR,),请求自己没有的或者比自己更新的链路状态详细信息,Link State Update,(,LSU),链路状态更新信息,Link State Acknowledge,(,LSAck,),对,LSU,的确认,OSPF,报文直接封装在,IP,报文中,协议号为,89,。,OSPF Packet,IP Header,链路层帧头,链路层帧尾,协议概述,分层结构,网络类型,报文和封装,邻居建立和状态迁移,LSDB,更新,目录,建立邻居关系,RTB,RTA,Hello,Hello,RTB,RTA,启动,OSPF,启动,OSPF,RTB,RTA,发现,邻居,维持邻居关系,RTB,RTA,Hello,邻居,RTB,RTA,Hello,邻居,邻居之间通过交换,Hello,报文,确认邻居是否工作正常,如果在一定的时间间隔内,收不到邻居发来的,Hello,报文,就认为邻居已经失效,从邻居表中删除。,DR/BDR,的选举,邻接关系,R=,n(n-1),邻接关系,R=,2(n-2)+1,RTA,RTB,RTD,RTE,RTA,RTB,RTC,RTD,RTE,DR,BDR,RTC,2,采用,DR/BDR,建立邻接关系,可以降低需要维护的邻接关系数量,DR/BDR,的选举原则,首先比较,Hello,报文中携带的优先级,优先级最高的被选举为,DR,,优先级次高的被选举为,BDR,优先级为,0,的不参与选举,优先级一致的情况下,比较,Router ID,Router ID,越大越优先,保持稳定原则,当,DR/BDR,已经选举完毕,就算一台具有更高优先级的路由器变为有效,也不会替换该网段中已经选举的,DR/BDR,成为新的,DR/BDR,。,DR/BDR,的选举示例一,RTD,RTB,RTC,RTA,RID,:,192.168.4.1,RID,:,192.168.3.1,RID,:,192.168.1.1,RID,:,192.168.2.1,BDR,DR,DRother,RTD,RTB,RTC,RTA,RID,:,192.168.4.1,RID,:,192.168.3.1,RID,:,192.168.1.1,RID,:,192.168.2.1,DRother,RTE,RID,:,192.168.5.1,RTE,后来加入网络,虽然它的,Router ID,比原有的,DR,和,BDR,都高,但是出于稳定性的考虑,只能成为,DRother,路由器。,BDR,DR,DR/BDR,的选举示例二,RTD,RTB,RTC,RTA,RID,:,192.168.4.1,RID,:,192.168.3.1,RID,:,192.168.1.1,DR,DRother,RTE,BDR,RID,:,192.168.5.1,RTD,RTB,RTC,RTA,RID,:,192.168.4.1,RID,:,192.168.3.1,RID,:,192.168.1.1,DRother,RTE,RID,:,192.168.5.1,BDR,RID,:,192.168.2.1,RID,:,192.168.2.1,当,DR,失效时,,BDR,立刻成为新的,DR,DRother,路由器进行竞争,,Router ID,高的成为新的,BDR,DR,邻接关系建立过程(,1,),网络云,Router ID 1.1.1.1,Router ID 2.2.2.2,10.1.0.1/24,10.1.0.2/24,DOWN,DOWN,Neighbors seen=0,DR=0.0.0.0,Hello,邻居,ID,邻居地址,邻居状态,1.1.1.1,10.1.0.1,Init,邻居表,Neighbors seen=RTA,DR=RTB,Hello,邻居,ID,邻居地址,邻居状态,2.2.2.2,10.1.0.2,2-way,邻居表,RTA,RTB,Neighbors seen=RTB,DR=RTB,Hello,邻居,ID,邻居地址,邻居状态,1.1.1.1,10.1.0.1,2-way,邻接关系建立过程(,2,),网络云,Router ID 1.1.1.1,Router ID 2.2.2.2,10.1.0.1/24,10.1.0.2/24,2-way,2-way,RTA,RTB,MS=1,M=1,Seq=x,I=1,邻居,ID,邻居地址,邻居状态,2.2.2.2,10.1.0.2,ExStart,邻居,ID,邻居地址,邻居状态,1.1.1.1,10.1.0.1,ExStart,DD,MS=1,M=1,Seq=y,I=1,DD,邻居,ID,邻居地址,邻居状态,2.2.2.2,10.1.0.2,Exchange,MS=0,M=1,Seq=y,I=0,DD,邻居,ID,邻居地址,邻居状态,1.1.1.1,10.1.0.1,Exchange,MS=1,M=1,Seq=y+1,I=0,DD,MS=0,M=1,Seq=y+1,I=0,DD,邻接关系建立过程(,3,),网络云,Router ID 1.1.1.1,Router ID 2.2.2.2,10.1.0.1/24,10.1.0.2/24,Exchange,Exchange,RTA,RTB,将收到的,LSA,摘要和本地的,LSDB,比较,发现在,LSDB,里缺少部分,LSA,邻居,ID,邻居地址,邻居状态,2.2.2.2,10.1.0.2,Loading,LS Request,LS Update,邻居,ID,邻居地址,邻居状态,2.2.2.2,10.1.0.2,Full,LSAck,邻居,ID,邻居地址,邻居状态,1.1.1.1,10.1.0.1,Full,OSPF,的状态机,Down,Attempt,Init,2-way,ExStart,Loading,Full,Exchange,协议概述,分层结构,网络类型,报文和封装,邻居建立和状态迁移,LSDB,更新,目录,LSDB,更新,在,LSDB,中,查找此条,LSA,收到一条,LSA,更新报文,比较收到的,LSA,与本地,LSA,将,LSA,刷新,,同时将序列号更新,加入,LSDB,忽略收到的,LSA,未查到,本地的,LSA,序,列号更大,查到,LSA,收到的,LSA,序列号更大,广播和,NBMA,网络中,LSDB,更新,RTD,RTB,RTC,RTA,DR,BDR,RTD,RTB,RTC,RTA,DR,BDR,LSU,LSU,LSU,LSU,在广播和,N