资源预览内容
第1页 / 共64页
第2页 / 共64页
第3页 / 共64页
第4页 / 共64页
第5页 / 共64页
第6页 / 共64页
第7页 / 共64页
第8页 / 共64页
第9页 / 共64页
第10页 / 共64页
亲,该文档总共64页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
RB-005 OSPF协议原理及配置,ISSUE 2.0,日期:,杭州华三通信技术有限公司 版权所有,未经授权不得使用与传播,叙述OSPF路由协议的原理 配置OSPF协议 调试和维护OSPF协议 简单的OSPF故障排除,课程目标,学习完本课程,您应该能够:,第一章 OSPF协议原理 第二章 OSPF配置 第三章 OSPF调试、监控 第四章 OSPF排错,目录,OSPF协议原理,OSPF协议基础 通过LSA描述网络拓扑结构 用SPF算法计算路由 邻居状态机 DR和BDR 划分区域,OSPF协议概述,OSPF(Open Shortest Path First),目前IGP中应用最广、性能最优的一个协议(最新版本是version 2,RFC2328),具有如下特点: 无路由自环 可适应大规模网络 路由变化收敛速度快 支持区域划分 支持等值路由 支持验证 支持路由分级管理 支持以组播方式发送协议报文,OSPF协议基本概念,Router ID 一个32-bit的无符号整数,是一台路由器的唯一标识,在整个自治系统内唯一。 协议号 OSPF 是基于IP的,其协议号是89。,OSPF协议报文不转发 通常OSPF的协议报文是不被转发的,只能传递一跳,即在IP报文头中TTL值被设为1 (虚连接除外)。,OSPF协议原理,OSPF协议基础 通过LSA描述网络拓扑结构 用SPF算法计算路由 邻居状态机 DR和BDR 划分区域,OSPF通过LSA描述网络拓扑,OSPF协议将周边的网络拓扑结构抽象为4种典型的网络模型,OSPF网络拓扑模型(一),连接一个空的网段(stub net),该网段中没有其他运行OSPF协议的网络设备。 使用如下字段(link)来描述该网络类型。,link id: 10.0.0.0 /*网段*/ data : 255.0.0.0 /*掩码*/ type : StubNet (3) /*类型*/ metric : 50 /*花费*/,OSPF网络拓扑模型(二),通过一条点到点的链路连接另外一台运行OSPF的路由器。 使用如下两段字段(link)来描述该网络类型。 描述该接口网段的路由信息。,link id: 20.0.0.0 /*网段*/ data: 255.0.0.0 /*掩码*/ type: StubNet (3) /*类型*/ metric: 5/*花费*/,描述与路由器RTB相连的情况。,link id: 2.2.2.2 /*RTB的router id*/ data : 20.0.0.2 /*RTB的接口地址*/ type : router (1) /*类型*/ metric : 5 /*花费*/,OSPF网络拓扑模型(三),通过一个点对多点的网络连接另外多台运行OSPF的路由器(这些路由器彼此之间并不是全连通的)。 使用如下三段字段(link)来描述该网络类型。,link id: 40.0.0.1 /*网段*/ data : 255.255.255.255 /* 掩码*/ type : StubNet ( 3) /*类型*/ metric : 5 /*花费*/ link id: 3.3.3.3 /*RTF 的router id*/ data : 40.0.0.1/* 与RTF相连的接口地址*/ type : router ( 1) /*类型*/ metric : 5 /*花费*/ link id: 4.4.4.4 /*RTE 的router id*/ data : 40.0.0.1 /* 与RTE相连的接口地址*/ type : router ( 1) /*类型*/ metric : 5 /*花费*/,OSPF网络拓扑模型(四),连接一个广播(或者是NBMA)的网段,该网段中所有运行OSPF协议的网络设备之间都直接可达。 使用如下字段(link)来描述该网络类型。 简化的描述信息。,link id: 30.0.0.3 /*网段中DR的接口地址*/ data : 30.0.0.1 /*本接口的地址*/ type : TransNet (2) /*类型*/ metric : 50 /*花费*/,Net mask : 255.0.0.0/*本网段的掩码*/ Attached 30.0.0.1 router/*本网段内所有的路由器的router id*/ Attached 30.0.0.2 router Attached 30.0.0.3 router,由DR另外生成的描述信息,统一描述了本网段的情况。,LSA (Link State Advertisement) 数据结构,将上述多个link组合在一起,加上一个head,组成了路由器RTA的LSA。该LSA准确的描述了RTA周边的网络拓扑。,type : router /*LSA的类型*/ ls id : 1.1.1.1 /*LSA的标识*/ adv rtr : 1.1.1.1 /*生成该LSA的路由器*/ ls age : 4 /*本条LSA的老化时间*/ len : 108 /*LSA的长度*/ seq# : 80000001 /*LSA的序列号*/ cksum : 0 x3543 /*较验和*/ link count: 7 /*本LSA中包含的连接个数*/ link id: 10.0.0.0 /*网段*/ data : 255.0.0.0 /*掩码*/ type : StubNet (3) /*类型*/ metric : 50 /*花费*/ ,OSPF协议原理,OSPF协议基础 通过LSA描述网络拓扑结构 用SPF算法计算路由 邻居状态机 DR和BDR 划分区域,OSPF协议计算路由过程,RTA,RTB,(1)网络的拓扑结构,(4)每台路由器分别以自己为根节点计算最小生成树,运行SPF算法计算路由,每个路由器根据搜集到的LSDB,使用SPF算法来计算路由。,SPF算法的计算步骤,每台路由器按照如下步骤从本机的LSDB计算出路由: 从LSDB中选取自己生成的LSA为SPF计算的起点。遇到类型为StubNet的link,其中包含的就是路由信息,填加到路由表中(但由于这些路由信息都是本机的直连路由,所以不会生效)。 遇到类型为router的link,则计算暂停,跳转到该link中link id(是某台路由器的router id信息)所指的路由器生成的LSA。 打开该条LSA,遇到类型为StubNet的link,其中包含的就是路由信息,填加到路由表中。下一跳为步骤2中link的data字段,cost值为本link的metric和步骤2中link的metric相加。 如果遇到类型为router的link,则继续跳转,直至某条LSA的全部信息都被计算完毕,此时再跳回到上一条的LSA。 重复步骤14,最终会回到自己生成的LSA,待该LSA计算完毕后,则SPF计算完成。,OSPF协议原理,OSPF协议基础 通过LSA描述网络拓扑结构 用SPF算法计算路由 邻居状态机 DR和BDR 划分区域,两台路由器之间建立邻接关系的过程,OSPF的邻居状态机,紫色的状态机可能是长期存在的状态。蓝色的状态机通常是临时状态。,OSPF的五种协议报文,Hello报文 发现及维持邻居关系,选举DR,BDR。 DD报文 本地LSDB的摘要信息(只包含LSA的Head信息)。 LSR报文 向对端请求本端没有或对端的更新的LSA (只包含LSA的Head信息) 。 LSU报文 向对方发送其需要的LSA (包含LSA的全部信息 )。 LSAck报文 收到LSU之后,进行确认(只包含LSA的Head信息) 。,OSPF协议原理,OSPF协议基础 通过LSA描述网络拓扑结构 用SPF算法计算路由 邻居状态机 DR和BDR 划分区域,广播及NBMA网段中的N2连接关系,一个广播的网段中,存在N8台路由器,则需要建立M=n(n-1)/2 = 28个邻接关系。,通过选举DR来解决问题,M= n(n-1)/2 = 28,M= (n-2)2+1 = 13,为了解决同一个网段内过多的邻接关系数量,OSPF协议提出了DR(Designated Router)的概念。该网段中的设备只与DR和BDR( Backup Designated Router )建立邻接关系。,DR的选举过程,DR是整个网段中所有的路由器选举出来的,选举方法与选举村长十分类似。 登记选民 本网段内的OSPF路由器; 本村内的18岁以上公民; 登记候选人 本网段内的priority0的OSPF路由器(priority可以手工配置,缺省值是1); 本村内的30岁以上公民且在本村居住3年以上; 竞选演说 所有的priority0的OSPF路由器都认为自己是DR; 所有的候选人都自认为应该当村长; 投票 选priority值最大的若priority值相等选Router ID最大的; 选年纪最大若年龄相等按姓氏笔划排序;,DR选举中的指导思想,选举制 DR是各路由器选出来的,而非人工指定的,虽然管理员可以通过配置priority干预选举过程。 终身制 DR一旦当选,除非路由器故障,否则不会更换,即使后来的路由器priority更高。 世袭制 DR选出的同时也选出BDR来,DR故障后,由BDR接替DR成为新的DR。,NBMA 和点到多点,在某种情况下(非全连通的NBMA网络),由于选举DR会导致路由信息不能正确学习,此时需要管理员手工将网络类型改为PTMP,不再选举DR了。,由于DR的出现带来协议的变化,为了减少在广播和NBMA网段内带宽的占用,提出了DR的概念。为协议本身带来如下变化: 将广播和NBMA网段内LSDB同步的次数由O(N)2减少为O(N)。 在广播和NBMA网段中,路由器的角色划分为DR、BDR、DROther。 路由器之间的关系分为Unknown、Neighbor、Adjacency。两台DROther路由器之间只建立Neighbor关系,邻居状态机停留在2-Way状态。DR及BDR与本网段内的所有路由器建立Adjacency关系,邻居状态机会达到Full状态。 增加了一种接口类型:Point-to-Multipoint。 增加了一种新的LSA类型:Network-LSA,由DR生成,描述了本网段的链路状态信息。,关于DR,只有在广播和NBMA的链路上才会选举DR,在PTP和PTMP的链路上不会选举DR。 DR是针对一个网段内的设备选举的,对于一台路由器来说,可能它在某个接口上是DR,在其它接口上是BDR、DROther,或者因为是PTP的链路而不参加DR的选举。 在广播的网络上必须存在DR才能够正常工作,但BDR不是必需的。 一个网段中即使只有一台路由器,也要选举DR。 由于“终身制”的原因,网段中的DR不一定是priority最高的,但通常是“来的早”的路由器。,OSPF协议原理,OSPF协议基础 通过LSA描述网络拓扑结构 用SPF算法计算路由 邻居状态机 DR和BDR 划分区域,链路状态算法的四宗罪,相比较D-V算法,链路状态存在如下缺点: 链路状态算法除了需要携带路由信息之外,还要挟带网络拓扑信息,这样会占用路由器大量的存储空间并且使路由同步时间加长。 链路状态算法计算的复杂度大大高于DV算法,对CPU消耗很大。 链路状态算法对网络拓扑变化十分敏感,网络中任何拓扑变化都会导致全网中所有运行OSPF的路由器重新启动路由计算。 由于链路状态算法计算路由完全依赖LSA,LSA在网络中传播时不可以被改变,所以导致链路状态算法的几乎不支持任何路由策略。 上述缺点在网络规模小的时候并不突出,但在网络规模较大时,会给网络带来很严重的后果,甚至导致网络不可用。 如果不解决上述问题,OSPF协议的网络规模和应用范围会受到极大的影响。,OSPF解决方案:引入区域的概念,分而治之,将整个OSPF域划分成若干区域,每个区域用不同的Area ID(32位整数)来标识,其中Area0区域称为骨干区域。区域边
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号