




已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
OSPF(开放式最短路径优先)1.OSPF基础概念1.1 Router-id:每一台OSPF路由器只有一个Router-ID,Router-ID使用IP地址的形式来表示,确定Router-ID的方法为:n 1 .手工指定Router-ID。n 2 .路由器上活动Loopback接口中IP地址最大的,也就是数字最大的,如C类地址优先于B类地址,一个非活动的接口的IP地址是不能被选为Router-ID的。n 3 .如果没有活动的Loopback接口,则选择活动物理接口IP地址最大的。Router-ID只在OSPF启动时计算,或者重置OSPF进程后计算,言外之意,假如已经建立了邻居关系再配置router-id,是无效的(抢占原则,也是为了稳定OSPF域),除非重启进程(clear ip ospf process)方能生效。如下为router-id的验证实验配置好IP地址宣告进OSPF域内。可以查看OSPF邻居情况。由于R2的物理接口地址大于R1,所以R2成为了DR。然后尝试在R1,R2上各开启一个loopback口,R1的大于R2,观察结果可见,当R1loopback口的IP大于R2时,R1就会成为DR最后尝试修改router-id来控制选举,在loopback口地址不修改的情况下进行,R2的router-id大于R1的。可见,R2因为router-id的缘故又成为了DR。使用loopback作为router-id有2个好处:l Loopback口比其他任何物理接口更稳定,一旦路由器启动成功,这个环回口就立即生效直至被关闭或者路由器断电。l 分配和识别路由器router-id时有更多的回旋余地。1.2 COST值OSPF使用接口的带宽来计算Metric,例如一个10 Mbit/s的接口,计算Coast的方法为:将10 Mbit换算成bit,为10 000 000 bit,然后用10000 0000除以该带宽,结果为 10000 0000/10 000 000 bit = 10,所以一个10 Mbit/s的接口,OSPF认为该接口的Metric值为10,需要注意的是,计算中,带宽的单位取bit/s,而不是Kbit/s,例如一个100 Mbit/s的接口,Cost 值为 10000 0000 /100 000 000=1,因为Cost值必须为整数,所以即使是一个1000 Mbit/s(1GBbit/s)的接口,Cost值和100Mbit/s一样,为1。如果路由器要经过两个接口才能到达目标网络,那么很显然,两个接口的Cost值要累加起来,才算是到达目标网络的Metric值,所以OSPF路由器计算到达目标网络的Metric值,必须将沿途中所有接口的Cost值累加起来,在累加时,同EIGRP一样,只计算出接口,不计算进接口。(路由的出接口,也就是数据的入接口)例如路由器B,来自192.168.100.0/24的路由条目COST值为1+64=65。 OSPF计算的Cost,同样是和接口带宽成反比,带宽越高,Cost值越小。到达目标相同Cost值的路径,可以执行负载均衡,最多6条链路同时执行负载均衡。 1.3 DR BDR的选举当一台路由器加入到OSPF进程中时,它将检查是否已经存在DR和BDR,假如存在,则接受设定成为一台DROTHER,否则,就参与选举,选出具有最高优先级别的路由器作为DR,其次的作为BDR。PS:只有在多路访问网络中存在DR和BDR的选举。选举优先级如下:比较路由器优先级,若没有设置优先级,则比较router-id,若无router-id则比较loopback接口地址大小,最后比较路由器所配置的最大的的物理地址大小。有配置优先级的情况下,自动忽略剩下的三种比较方式。当两台需要建立邻居关系的路由器同时把优先级设置为0,则永远无法建立起邻居。将会永远停留在INIT这个阶段。2. OSPF邻居关系建立2.1 OSPF邻居状态n DOWN路由器刚刚启动OSPF进程,还没有从任何路由器收到任何数据包,Hello包也没有收到,在此进程,可以向外发送Hello包,以试图发现邻居。n ATTEMPT因为OSPF使用组播发送数据包,如使用组播发送Hello包,如果Hello包不能发出去被其它路由器收到,就不能和其它路由器建立OSPF邻居;在一些组播不能发送的网络中,例如帧中继这样的非广播网络环境,组播不能够传递,在这种情况下,就需要指定OSPF使用单播向邻居发送Hello包,以此试图和指定的邻居建立OSPF邻居关系,在此状态下,OSPF称为Attempt状态。 n INIT只是OSPF路由器一方收到了另一方的Hello,但并没有双方都交换Hello,也就是对方的Hello中还没有将自己列为邻居。 n 2-WAY双方都已经交换了Hello信息,并且从Hello中看到对方已经将自己列为邻居,此状态,就表示OSPF邻居关系已经建立,并且如果是需要选举DR和BDR的话,也已经选举出来,但OSPF邻居之间并不一定就会交换LSA,如果不需要交换LSA,则永远停留在此状态,如果需要形成邻接并互相交换LSA,则状态继续往下进行。(比如Drother与Drother之间将永远停留在Two-way状态,因为Drother与Drother之间不需要交换LSA。) n EXSTART因为在OSPF邻居之间交换完整的LSA之前,会先发送Database Description Packets (DBD),Link-state Request(LSR)等数据包,邻居之间是谁先发,谁后发,需要确定顺序,在Exstart 状态,就是确定邻居之间的主从关系(MasterSlave关系),Router-ID数字大的为主路由器,另一端为从路由器,由主路由器先向从路由器发送信息。在选举DR与BDR的网络环境中,并不一定DR就是主路由器,BDR就是从路由器,因为DR和BDR可以通过调整接口优先级来控制,所以DR也许是因为优先级比BDR高,而Router-ID并不比BDR高。 在任何网络环境下,OSPF在交换LSA之前,都需要确定主从关系。 n EXCHANGE就是交换Database Description Packets (DBD)的过程,DBD只是LSA的简单描述,只包含LSA的一些头部信息,收到DBD的路由器会和自己的链路状态数据库作对比,确定需要哪些LSA的完整信息,就会发送LSR请求给邻居 n LOADING邻居根据收到的LSR(Link-State Request),向对方回复Link-state update(LSU)。 n FULL等到OSPF都收到了邻居回复的所有Link-state update(LSU),那么此时的数据库状态就变成了收敛状态,此状态就是Full状态,但此时只是数据库已经同步,但路由表却还在计算当中。 3. OSPF的几种链路类型OSPF作为一种链路状态路由协议,对于2层链路状态的变化,OSPF会采取不同的行为。常见的几种OSPF链路类型如下网络类型HELLO时间DR/BDR选举邻居建立方式点到点(Point-to-Point)10s否自动点到多点(Point-to-Multipoint)30s否自动广播(Broadcast)10s是自动非广播(Non-Broadcast)30s是手动点到多点非广播(Point-To-Multipoint Non-Broadcast)30s否手动n OSPF的网络类型决定于二层链路类型,但是也支持手工修改(比如帧中继情况下增加broadcast关键字使链路支持广播)n OSPF邻居建立并不要求双方网络类型一致,但是,由于网络类型不一致也许会导致邻居建立成功之后数据库的链路状态信息无法加载进路由表。3.1 Point-To-Point Linkn 如果二层的协议为PPP、HDLC等,则OSPF网络类型为P2Pn 如果帧中继子接口类型为P2P的,则OSPF网络类型也为P2Pn 不选举DR、BDRn 使用组播地址224.0.0.5n OSPF能够根据二层封装自动检测到P2P网络类型在P2P类型的网络中,建立邻居的路由器两端IP地址掩码长度不一,邻居一样可以建立起来由于建立邻居的两个IP地址前缀长度不同,会多出来一条对端IP地址所属网段的路由。R1的路由表R2的路由表3.2 Transit Link拥有2台和两台以上OSPF进程并建立邻居关系的路由器组成的链路,称为Transit Link。从左上往右下依次为R1-R5,R1借口优先级设置为250,R2借口优先级设置为200,其余路由器保持默认1。在R1上查看OSPF邻居状态在R2上查看OSPF邻居状态在广播多路访问网络中,需要选举DR,BDR。3.3 Virtual Link4. OSPF数据包HELLO建立和维护OSPF邻居关系,每10s发送一次hello分组。DBD描述路由器链路状态数据库的内容LSR链路状态请求,向OSPF邻居请求链路状态信息LSU向邻居发布链路状态更新信息(往往包含多条LSA)LSACK确认信息4.1 HELLO包HELLO包报文格式4.2 DBD报文此报文为两台OSPF路由器建立邻居关系的第一个DBD报文数据库描述数据包里有3个标记为用于管理邻接关系的建立n I位:又称初始位(Init bit) 只有第一个数据库描述数据包的I位会被置为1,后续的都是0。n M位:又称后继位(More bit) 表明不是最后一个数据库描述数据包时,M位被置为1。否则置0。n MS位:又称为主从位 当DBD数据包始发于一个主路由器时,此位置1。但是当两台路由器刚建立邻居关系时,为了抢占选举Master,双方发出的第一个DBD包中,此位都会置1。 下图是最后一个DBD报文,可见,M位置0,说明后续再无DBD报文发送,而MS位置0说明发送此DBD报文的是一台Slave路由器而非Master路由器。4.3 LSR报文4.4 LSU报文链路状态IDn V位 当置为1时,说明此路由器是一条或者多条具有完全邻接关系的虚链路的断点。n E位 当始发路由器时一台ASBR时,此位置1n B位 当始发路由器时一台ABR时,此位置14.5 LSA格式4.5.1 类型1 路由器LSA(Router LSA)n 每个路由器针对它所在的区域产生LSA1,描述区域内部与路由器直连的链路的信息(包括链路类型,Cost等)n 1类LSA只允许在本区域内洪泛,不允许跨越ABRn LSA中会标识路由器是否是ABR(B比特置位),ASBR(E比特置位)或者是Virtual-link(V比特置位)的端点的身份信息4.5.2 类型2 网络LSA(Network LSA)n 描述TransNet(包括Broadcast和NBMA网络)网络信息n 由DR生成,描述其在该网络上连接的所有路由器以及网段掩码信息,以及这个MA所属的路由器n LSA类型2只在本区域Area内洪泛,不允许跨越ABRn Network LSA ID是DR进行宣告的那个接口的IP地址n Network LSA 中没有COST字段4.5.3 类型3 网络汇总LSA(Network Summary LSA)n 由ABR生成,实际上就是将区域内部的Type1 Type2的LSA信息收集起来以路由子网的形式扩散出去n Type 3 的链路状态ID是目的网络地址n 如果台ABR路由器在与它本身相连的区域内有多条路由可以到达目的地,那么它将只会始发单一的一条网络汇总LSA到骨干区域,而且这条网络汇总LSA是上述多条路由中代价最低的4.5.4 类型4 ASBR汇总LSA (ASBR Summary LSA)n ASBR Summary LSA由ABR生成,用于描述ABR能够到达的ASBR它的链路状态ID为目的ASBR的RID4.5.5 类型5 自治系统外LSA (AS External LSA)n Autonomous System External LSA由ASBR生成 n 用于描述OSPF自治域系统外的目标网段信息n 链路状态ID是目的地址的IP网络号。4.5.6 类型7 NSSA中的外部LSA(NSSA External LSA )n 在NSSA(非完全存根区域)not-so-stubby area中ASBR针对外部网络产生类似于LSA5的LSA类型7n LSA类型7只能在NSSA区域中洪泛,到达NSSA区域ABR后,NSSA ABR将其转换成LSA类型5外部路由,传播到Area 0,从而传播到整个OSPF路由域n 生成路由缺省用ON2表示,也可指定为ON14.6 Option字段Option字段出现在每个Hello,DBD,LSA报文中。n 1. NP位 NP位只出现在HELLO包和LSA报文中在HELLO报文中,N位用于指示该路由器是NSSA路由器,NP置1时E位必须置0在LSA报文中,P位仅在7类LSA中存在1) 置1时,NSSA区域的ABR可以将7类LSA转化为5类LSA2) 置0时,NSSA区域的ABR不能将7类LSA转化为5类LSAn 2.E位 在所有AS外部的LSA和所有始发于骨干区域且非末梢区域产生的LSA中,此位置1。所有始发于末梢区域的LSA中,此位置05. OSPF区域类型5.1 普通区域 标准的OSPF区域,能发起也能接收区域内路由、区域间路由、外部路由;骨干区域Area 0也是一个标准区域。5.2 骨干区域(Area 0)顾名思义,骨干区域承载着非常重要的责任,当一个OSPF网络中存在多个区域时,必须有且只能有一个骨干区域存在如上图,Area1的路由条目要去往Area2,必须通过Area0转发,即使Area1和Area2之间可能存在着一条链路。5.3 末梢区域(Stub Area)阻挡不必要的LSA5外部路由进入本地区域,从而精简路由表;不能重发布引入外部路由,也不能接收外部路由。ABR会生成0/0的缺省路由(3类LSA)通告进stub区域内部。下图是Area1为正常区域时R3的路由表当Area1 被配置为Stub区域时,路由表发生了变化生成了一条额外的默认路由O*IA 0.0.0.0/0 110/2 via 172.16.23.1, 00:00:01, FastEthernet0/05.4 完全末梢区域(Totally Stub Area)在Totally Stub Area(完全末节区域)下,ABR将过滤掉所有外部路由和其它OSPF区域的路由(Inter-Area Route)进入完全末节区域,同时,末节区域内的路由器也不可以将外部路由重分布进OSPF进程,即完全末节区域内的路由器不可以成为ASBR,由于没有去往外部网络的路由,所以ABR会自动向完全末节区域内发送一条指向自己的默认路由 下图是Area1为正常区域时R3的路由表当Area1 被配置为Totally Stub区域时,路由表发生了变化自动生成了一条默认路由,且只能看到本区域内的路由。5.5 NSSA区域(Not So Stubby Area)在NSSA区域下,ABR将过滤掉所有外部路由进入末节区域,同时也允许其它OSPF区域的路由(Inter-Area Route)进入NSSA区域,并且路由器还可以将外部路由重分布进OSPF进程,即NSSA区域内的路由器可以成为ASBR,由于自身可以将外部网络的路由重分布进OSPF进程,所以ABR不会自动向NSSA区域内发送一条指向自己的默认路由,但可以手工向NSSA域内发送默认路由,并且只可在ABR上发送默认路由 此时,R1作为一台ASBR,负责向nssa内注入来自RIP的路由。而同时,手工配置一条指向ABR的默认路由 area X default-information-originateR1的路由表5.6 完全NSSA区域(Totally NSSA Area)在Totally NSSA区域内,ABR将过滤掉所有外部路由和其它OSPF区域的路由(Inter-Area Route)进入Totally NSSA区域,但路由器可以将外部路由重分布进OSPF进程,即Totally NSSA区域内的路由器可以成为ASBR,由于没有去往其它OSPF区域的路由,所以ABR会自动向Totally NSSA内发送一条指向自己的默认路由 下图
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年航空公司飞机维护员新员工岗位专业知识笔试题目及答案
- 生药学试题试卷及答案
- 高校采购合同模板(3篇)
- 高粱种子买卖合同书模板(3篇)
- 高空施工合同范本售后(3篇)
- 地坪施工与设备租赁综合合同
- 农用土地租赁与农业绿色生产模式合作框架协议
- 汽车制造企业生产线员工招聘与安全生产协议
- 民航气象专业面试题及答案
- 幼师专业考试题及答案
- 海水鱼类增殖放流记录表格、人工标志、增殖放流验收报告
- 室内高尔夫行业分析
- 微商培训的课件目录
- 《农业保险承保理赔电子化作业规范》
- 常见呼吸道传染病课件
- 《影视艺术鉴赏》课件
- 老年心脏病护理课件
- 德国国家概况
- 服装立体裁剪课件
- 整本书读写《一颗遗失的扣子》(课件)三年级下册语文统编版
- 检测室安全操作规程
评论
0/150
提交评论