OSPF技术原理与案例.docx

上传人:牧羊曲112 文档编号:4887118 上传时间:2023-05-21 格式:DOCX 页数:26 大小:384.89KB
返回 下载 相关 举报
OSPF技术原理与案例.docx_第1页
第1页 / 共26页
OSPF技术原理与案例.docx_第2页
第2页 / 共26页
OSPF技术原理与案例.docx_第3页
第3页 / 共26页
OSPF技术原理与案例.docx_第4页
第4页 / 共26页
OSPF技术原理与案例.docx_第5页
第5页 / 共26页
亲,该文档总共26页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《OSPF技术原理与案例.docx》由会员分享,可在线阅读,更多相关《OSPF技术原理与案例.docx(26页珍藏版)》请在三一办公上搜索。

1、路由基础、路由控制与转发为了使路由转发效率更高,系统使用了路由控制平面和转发平面。路由 控制平面负责路由计算和维护,而路由转发平面负责IP数据报文的转发。1、路由的控制与转发平面路由器、交换机承担着路由学习、MAC地址学习、数据报文转发等 重要的工作,其系统的稳定性是非常重要的。控制平面:控制平面指系统中用来传送信令、计算表项的部分。如: 路由系统中,负责路由协议学习、路由表项维护的进程就属于控制平面; 而交换系统中,负责MAC地址学习的进程则属于控制平面;转发平面:转发平面指系统中用来进行数据报文的封装、转发的部 分。诸如数据报文的接收、解封装、封装、转发等都属于转发平面的范 畴。例如系统接

2、收到IP报文后,需要进行解封装、查路由表、从出接口 转发等,系统中负责以上行为的进程则属于转发平面。控制平面与转发平面相对独立又协同工作。系统的控制平面进行协 议交互、路由计算后,生成若干表项,下发到转发平面,指导转发平面 对报文进行转发。例如,路由器通过OSPF协议建立了路由表项,再进 一步生成FIB表、快速转发表等,指导系统进行IP报文转发。2、路由表和FIB表路由表:当路由表中存在多个路由项可以同时匹配目的IP地址时,路由查找 进程会选择其中掩码最长的路由项用于转发,此为最长匹配。FIB 表:为了做到控制平面与转发平面完全分离,系统构建了另一张FIB表, 又称为转发表,专注于数据报文的转

3、发。FIB表项来源于路由表项。在计算路由信息的时候,不同路由协议所计算出的路径可能会不同。 在这种情况下,路由器会选择较高路由优先级的路由协议发现的路由作 为最优路由,并置为Active状态;而其他路由作为备份路由,置为 Inactive状态。此时,Active状态的路由表项会由系统导入FIB表中, 作为系统转发的依据。另外,在某些系统中,FIB表项也可能来源于ARP 解析;即系统将通过ARP解析而得到的本地网段的主机路由也添加到 FIB表中。FIB表与路由表是同步更新的。系统的控制平面发现新的路由信息, 根据路由信息更新自己的路由表,生成新的Active的路由表项,然后更 新FIB表;如果原

4、路由表中处于Active状态的路由表项失效,系统也会 删除相关FIB表项。FIB表命令显示参数描述表:井措述Destination count目的地址的个数FIB entry countF旧表项数目Destination.Mask目的地址.,掩码长度Nexthop转发的下一跳地址Flag路田的标志:, U;表示可用路由 G:表示网关路.由, H:表示主机路由, B:表示黑洞路由 D i表示动态路由, S:表示静态路由 R;表示迭代路由Qutinterface转发接口InnerLabel内层思值TokenLSP索引号3、快速转发表快速转发采用高速缓存来处理报文,采用了基于数据流的技术, inte

5、rnet上的数据基本都是基于数据流的,一个数据流的传输就是指两台 主机之间的一次特定的应用,比如访问HTTP服务的一次操作。我们一 般用一个五元组来描述一个数据流:源IP地址、源端口号、目的IP地 址、目的端口号、协议号。当一个数据流的第一个报文通过查找FIB表 转发后,在高速缓存中生成相应的转发信息,该数据流后续报文的转发 就可以直接通过查找高速缓存来实现。注:如果要对报文转发使用基于报文的负载分担,必须在相应方向 上禁止接口进行快速转发。在接口上配置了快速转发后,该接口上的IP 报文的调试信息将不再输出,也就是说debugging ip packet不起作用 了。对一个数据流而言,只有在该

6、数据流进路由器的接口上使能入接口 方向的快速转发,在出接口路由器的接口上使能出接口方向的快速转 发,才能实现该数据流的快速转发功能。二、路由协议基础路由器可以从三种方式获得网络中的路由信息,包括从链路层协议直接 学习、人工配置静态路、从动态路由学习。通过使用动态路由协议,路由器 可以自动维护路由信息。根据算法的不同,动态路由协议又可以分为链路状 态路由协议和距离矢量路由协议。1、路由分类:直连路由:由链路层协议发现的。静态路由:由管理员手工配置而成的路由。恰当的设置和使用静态路由可以改造网络的性能,并可为重要的 网络应用保证带宽。而在路由器上合理配置缺省路由能够减少路由 表中表项数量,节省路由

7、表空间,加快路由匹配速度。配置静态路由时,要注意双向配置,避免出现单程路由。单程路由对用户的业务是没有意义的。动态路由:由协议自动发现和维护的路由。2、动态路由协议内部网关协议(IGP):在一个自制系统内部运行,常见的IGP协 议包括 RIP、OSPF 和 IS-IS。 外部网关协议(EGP):运行于不同自制系统之间,BGP是目前最 常用的EGP。 距离矢量路由协议:包括RIP和BGP。其中,BGP也被称为路 径矢量协议。 链路状态路由协议:包括OSPF和IS-IS。动态路由协议工作原理:邻居发现:交换路由信息:计算路由:维护路由:距离矢量路由协议:周期性、广播式发送路由更新路由更新中携带全部

8、路由表,接收方据此更新自己 的路由超过一定时间接收不到路由更新,则认为路由失效以到目的地的距离(跳数)作为度量值拓扑变化以逐跳的方式扩散路由收敛速度慢采用距离矢量算法,可能导触由环路链路状态路由协议:通过Hell。报文来发现邻居建立邻接关系后,只发送链路状态公告(LSA)根据自己链路状态信息库(LSDB)来计算路由以到目的地的开销(cost)作为度量值链路状态变化时,马上发送LSA到区域内所有路由 器路由收敛速度快采用SPF算法,无路由自环路径矢量路由协议:仅在邻居刚建立时发送全部路由表邻居建立后发送增量路由 如果邻居失效,则认为路由失效 丰富的路由属性作为度量值 拓扑变化以逐跳的方式扩散采用

9、机制防止路由环路3、路由选择原则每个路由协议都维护了自己的路由表,称为协议路由表。协议路由 表中只记录了本路由协议学习和计算的路由。大多数路由协议都支持多进程。各个协议进程之间互不影响,相互 独立。各个进程之间的交互相当于不同路由协议之间的路由交互。各个路由协议的各个进程独立维护自己的路由表,然后统一汇总到 IP路由表中。IP路由表首先选择路由协议优先级高的路由使用。如果 协议优先级一致,则再选择度量值最优的路由,作为IP路由表的有效 路由,知道IP报文转发。其余的路由作为备份,如果有效路由失效, 再进行重新选择。路由度量值只在同一种路由协议内有比较意义,不同的路由协议之 间的路由度量值没有可

10、比性,也不存在换算关系。各类路由缺省优先级:路由协议比较:协议协议端口可靠性安全性(是 否支持验证)RIP-1UDP 520低否RIP-2UDP 520低是OSPFIP 89高是IS-IS基于链路层协议高是BGPTCP 179高是特性RIP-1RIP-2OSPFIS-ISBGP距离矢量算法链路状态算法支持VLSM支持手工聚合支持自动聚合支持无类别收敛速度慢慢快快慢度量值跳数跳数开销开销路径属 性协议周期性发送 全部路由Hello定时器保持定时器RIP-130秒180秒RIP-230秒180秒OSPF触发更新广播链路上10秒4倍Hello定时器IS-I5触发更新10秒4倍Hello定时器BGP触

11、发更新60秒3倍Hello定时器三、路由负载分担与备份通过路由表中生成具有多个不同下一跳的等值路由,路由可以在多路径 上实现负载分担。同时,合理的配置静态与动态路由协议,可以在网络中实 现路由备份,提高路由可靠性。1.路由负载分担ECMP(多路径等值路由),也成为等价路由,表示到达一个目的地有多条 相同度量值的路由项。对于同一目的地,路由协议可能会发现几条等值的路由,如果该路由协 议在所有活跃的路由协议中优先级最高,那么这几条不同的路由都被看做当前有效的路由。或者,管理员可以手工配置到同一目的地的几条等值的路由 作为有效路由。路由器对数据报文进行转发时,如果发现到目的地有多条最优路径,会 将数

12、据按照一定的策略在多条路径上一次发送。通过ECMP,在路由协议层 面上实现了 IP流量的负载分担。负载分担的方式有两种:基于流和基于包。基于流的负载分担:路由器根据IP报文中的五元组信息将数据分成不同的流。具有相同 五元组信息的IP报文属于同一个流。转发数据时,路由器把不同的数据 流根据算法从多个路径上一次发送出去。基于包的负载分担:转发数据时,路由器把数据包从多个路径上依次发送出去。基于包 转发能够做到更精确地负载分担。但是由于路由器要对每一个包都进行 路由查表与转发操作,无法使用快速转发缓存来转发数据,所以转发效 率降低了。另外,Internet应用都是基于流的,如果路由器采用基于包的 负

13、载分担,一条流中的数据包会经过不同路径到达目的地,可能会造成 接收方的乱序接收,影响应用程序的正常运行。2. 路由备份使用路由备份可以提高网络的可靠性。用户可根据实际情况,配置到同 一目的地的多条路由,其中优先级最高的一条路由作为主路由,其余优先级 较低的路由作为备份路由。正常情况下,路由器采用主路由转发数据。当线路出现故障时,该路由 变为非激活状态,路由器选择备份路由中优先级最高的转发数据。这样,也 就实现了从主路由到备份路由的切换。当主路由恢复正常时,路由器也恢复 相应的路由,并重新选择路由。由于该路由的优先级最高,路由器选择主路 由来发送数据。这就是从备份路由到主路由的切换。浮动静态路由

14、:路由器在主链路上配置动态路由协议,与邻居交换路由信息;同时配置 静态路由,指定优先级低于主路由,下一跳指向备份链路。由于主路由优先 级高,所以正常情况下路由器采用主路由转发数据。如果主链路出现故障, 主路由的下一跳不可达,变为非激活状态;此时静态路由“浮出”来,被激 活,路由器选择备份链路来转发数据。当主链路恢复时,原主路由恢复激活 状态,路由器重新选择主路由来发送数据,转发路径切换回主链路上。因为浮动静态路由没有链路带宽开销,所以通常适合于备份链路是低带 宽链路的场合。动态路由备份:路由器同时运行两种动态路由协议,并通过两种协议学习到了同一目的 地的路由。使用动态路由备份时,需要管理员手工

15、配置备份动态路由优先级 小于主动态路由。由于路由器同时运行良好总动态路由协议,对路由器的CPU和内存要 求较高;另外,动态路由协议开销较大,只有备份链路对带宽消耗不敏感的 情况下,才可以使用动态路由备份。拨号链路上动态路由备份:如果想在拨号链路上做路由备份,其中一个解决办法是配置浮动静态路由,另外一个解决办法是配置动态路由备份(standby routing) o四、路由聚合和CIDR在大规模网络中,数量众多的路由使得设备转发效率低下。通过应用路由聚 合和CIDR技术,路由数量能够得到一个程度的限制。路由聚合是指同一网段内的不同子网的路由聚合成1条路由向外发送,目的 是为了减小路由表的规模,从

16、而减少网络上的流量。路由器在转发数据报文时,要进行路由表的查表操作,找出其中掩码最长的 路由项用于转发。路由表中路由项数据越多,所需查找及匹配的次数则越多, 所消耗的CPU及内存资源也越大。有些路由协议如RIP,在与邻居路由器交换路由信息时,需要发送全部路由 表。如果路由表项数量众多,则会占用有限的链路带宽资源。路由聚合是指将同一网段内的不同子网的路由聚合成1条路由向外(其他网 段)发送,目的是为了减小路由表的规模,从而减少网络上的流量。RIP协议支持路由自动按类聚合。RIPv1无法支持VLSM,所以无法关闭自 动聚合功能。在不连续子网情况下,RIP自动路由聚合功能会导致路由学习错误。要解决以

17、上问题,需要网络设计者在规划阶段予以合理规划,避免在网络中 出现不连续子网的情况。或者,可以使用RIPv2协议并关闭自动路由聚合功能。 RIPv2协议能够支持手工路由聚合,以实现不按类,任意子网掩码的聚合。路由聚合环路产生于避免:路由聚合相当于将原有的路由信息转换成新的路由信息,原有的信息丢失 了。这样在某些情况下会产生路由环路。在配置聚合路由时,要尽量使发布的 聚合后路由恰好包含聚合前所有具体路由,以避免可能产生的环路。配置黑洞路由是解决聚合路由环路的较好方法。CIDR:CIDR(无类域间路由)是合理利用IP地址和减小路由表的方法。在下一代 Internet协议IPv6中,地址已经完全取消了

18、类的概念,用前缀长度来指明地址属 于哪一个网络。在使用CIDR进行网络规划时,要注意地址块要连续,分层次,以利于路由 聚合。OSPF一、OSPF协议基本原理OSPF是IETF开发的一个基于链路状态的内部网关协议,目前在互联网上大 量的使用。1. OSPF 特点:OSPF协议时典型的链路状态路由协议,和RIP协议有很大的不同。具有 以下特点:支持大规模的网络:组播触发式更新:收敛速度快:以开销(cost)作为度量值: 协议涉及避免路由环路:应用广泛:报文封装格式:链路层帧头IP HeaderOSPF Packet链路层帧尾OSPF报文头格式:作为典型的链路状态型路由协议,OSPF协议的工作过程包

19、含了邻居发 现、路由交换、路由计算、路由维护等阶段。这些过程中,主要涉及以下3 张表:邻居表:运行OSPF协议的路由器以组播方式(目的地址224.0.0.5) 发送Hello报文来发现邻居。收到Hello报文的邻居路由器检查报 文中所定义的参数,如果双方一致就会形成邻居关系。邻居表会记 录所有的建立了邻居关系的路由器,包括相关描述和邻居状态。路 由器会定时的向自己的邻居发送Hello报文,如果在一定的周期内, 没有收到邻居的回应报文,就认为邻居路由器已经失效,将它从邻 居表中删除。链路状态数据库(LSDB):有时候也被称为拓扑表。根据协议规定, 运行OSPF协议的路由器之间并不是交换路由表,而

20、是交换彼此对于 链路状态的描述信息。交换完成之后,同一区域的路由器的拓扑表 中都具有当前区域的所有链路状态信息,并且都是一致的。 路由表:运行OSPF协议的路由器在获得完整的链路状态描述之后, 运用SPF算法进行计算,并且将计算出来的最优路由加入OSPF路由 表中。生成OSPF路由:OSPF基于Dijkstra算法,也称为SPF(最短路径优先)算法。这种算法 的特点是,路由器收集网络中链路或接口的状态,然后将自己已知的链路状 态向该区域的其他路由器通告。这样,区域内的每台路由器都建立了一个本 区域的完整的链路状态数据库。然后路由器根据链路状态数据可来创建它自 己的网络拓扑图,并计算生成路由。生

21、成LSA描述自己的接口状态: 同步OSPF区域内每台路由器的LSDB:使用SPF计算出路由:2. 分层结构OSPF协议通过将自治系统分成不同的区域来解决庞大的LSDB问题。区 域是从逻辑上将路由器划分为不同的组,每个组用区域号来标识。区域的边 界是路由器,而不是链路。一个网段(链路)只能属于一个区域,或者说每个运行OSPF的接口必须属于某个特定区域。并非所有的OSPF区域都是平等的关系。其中有一个区域是与众不同的 他的区域号是0,通常被称为骨干区域。骨干区域负责区域之间的路由,非 骨干区域之间的路由信息必须通过骨干区域来转发。对此,OSPF规定:所有非骨干区域必须与骨干区域保持连通; 骨干区域

22、自身也必须保持连通;OSPF路由器类型:根据其在AS中不同位置,OSPF路由器分为以下四类:区域内路由器:该类路由器的所有接口都属于同一个OSPF区域。区域边界路由器(ABR):该类路由器可以同时属于两个以上的区域, 但其中一个必须是骨干区域。ABR用来连接骨干区域和非骨干区域, 它与骨干区域之间既可以是物理连接,也可以是逻辑上的连接。 骨干路由器(BR):该类路由器至少有一个接口属于骨干区域。因此, 所有位于Area0的内部路由器都是骨干路由器。自治系统边界路由器(ASBR):与其他AS交换路由信息的路由器称为 ASBR。ASBR并不一定位于AS的边界,它有可能是区域内部路由器, 也有可能是

23、ABR。只要一台OSPF路由器引入了外部路由的信息,它 就成为了 ASBR。3、Router ID与网络类型Router ID是一个32比特无符号整数,在大部分使用环境下,都可以用 来在一个自治系统中唯一的标识一台路由器,以区分其他路由器。路由器在 启动OSPF协议之前,会首先检查Router ID的配置。如果没有通过相关命令配置Router ID,路由器会按照以下顺序自动选 择一个 Router ID: 如果当前设备配置了 Loopback接口,将选取所有Loopback接口上 数值最大的IP地址作为Router ID; 如果当前设备没有配置Loopback接口,将选取它所有已经配置IP 地

24、址且链路有效的接口数值最大的IP地址作为Router ID;一般情况下,建议配置Loopback接口,并且将Loopback接口的IP地 址配置为路由器的Router ID,以便于统一管理和区分其他路由器。OSPF网络类型:OSPF根据链路层协议类型将网络分为四种类型: Broadcast(10s 40s):当链路层协议是 Ethernet. FDDI 时,OSPF 缺省认为网络类型是Broadcasto在该类型的网络中,通常以组播 形式(224.0.0.5和224.0.0.6)发送协议报文。 NBMA(非广播多点可达网络(30s 120s):当链路层协议是帧中继、 ATM或X.25时,OSP

25、F缺省认为网络类型为NBMA。在该类型网络中, 以单播形式发送协议报文。 P2MP(点到多点(30s 120s):没有一种链路层协议会被缺省的认为 是P2MP类型。点到多点必须是由其他的网络类型强制更改的。常用 做法是将NBMA改为点到多点的网络。在该类型的网络中,以组播形 式(224.0.0.5 )发送协议报文。 P2P(点到点(10s 40s):当链路层协议是PPP、HDLC时,OSPF缺省 认为网络类型是P2P。在该类型的网络中,以组播形式(224.0.0.5)发送协议报文。NBMA与P2MP: NBMA网络是指非广播、多点可达的网络,比较典型 的有ATM和帧中继网络。对于接口的网络类型

26、为NBMA的网络需要进行一些特殊的配置。 由于无法通过报文的形式发现相邻路由器,必须手工为该接口指定 相邻路由器的IP地址。根据OSPF协议要求,NBMA网络必须是全连通的,即网络中任意 两台路由器之间都必须有一条虚电路直接可达。如果部分路由器之 间没有直接可达的链路时,应将接口配置成P2MP类型。如果路由器 在NBMA网络中只有一个对端,也可将接口类型配置为P2P类型。OSPF协议中,NBMA与P2MP网络之间的区别如下: 从定义上来看,NBMA网络是指那些全连通的、非广播、多 点可达网络。而P2MP网络,则并不需要一定是全连通的。 NBMA是一种缺省的网络类型,如链路层协议时帧中继、ATM

27、 或X.25时接口默认的网络类型就是NBMA。而P2MP网络 必须是由其他的网络强制更改的。最常见的做法是将NBMA 网络改为P2MP网络。 NBMA网络采用单播发送报文,需要手工配置邻居,否则无 法正常建立邻居关系。P2MP网络采用组播方式发送报文, 不需要手工配置邻居,可以依靠协议自身的机制建立邻居关 系。4、报文和封装OSPF有五种类型的协议报文: Hello报文:周期性发送,用来发现和维持OSPF邻居关系。内 容包括一些定时器的数值、DR(Designated Router)、BDR(Backup Designated Router)以及自己已知的邻居。a. Hello时间和死亡时间;

28、b. 区域ID;c. Stub Flag 类型;d. 认证类型和认证的密钥;e. 通告OSPF Hello包的网段必须一致;OSPF的Router_ID必须要唯一即便点到点的链路不需要选择DR/BDR,但需要选择 Master/SlaveRouter_ID 大的成为 Master;在广播网络中,需要检查OSPF的Netmask子网掩码是否匹配 (PPP链路不受任何的影响); DD(Database Description数据库描述)报文:描述了本地LSDB 中每一条LSA的摘要信息,用于两台路由器进行数据库同步。 LSR(Link State Request链路状态请求)报文:向对方请求所需

29、要的LSA。两台路由器互相交换DD报文之后,得知对端路由器 有哪些LSA是本地的LSDB所缺少的,这时需要发送LSR报文向 对方请求所需的LSA。内容包括所需要的LSA的摘要。 LSU(链路状态更新)报文:向对方发送其所需要的LSA。 LSAck(链路状态确认)报文:用来对收到的LSA进行确认。内容 是需要确认的LSA的Header(一个报文可对多个LSA进行确认)。OSPF报文时直接封装在IP报文之中的,其IP报文头的协议号为89。5、邻居建立和状态迁移OSPF协议中同一链路的两台路由器是通过Hello报文相互发现,并且建 立邻居关系的。其过程如下: 两台路由器分别以组播方式(组播地址为22

30、4.0.0.5)发送OSPF的 Hello报文。Hello报文中包含自己的Router ID以及相关的参数协 商信息。组播地址224.0.0.5表示所有运行OSPF路由器都能收到这 个报文。两台路由器根据自己收到的Hello报文,判断协商的参数是否通过。 如果验证、区域等参数都一致,那么互相认为邻居已经发现。邻居之间周期性的交换Hello报文,以确认邻居是否正常工作。在 一定的时间间隔内,只要能够从邻居中收到Hello报文,就可以认 为邻居工作正常,继续维持邻居关系。如果在一定的时间间隔内,收不到邻居发来的Hello报文,就认为 邻居已经失效,从邻居表中删除。OSPF协议还定义了两个定时器:

31、Hello定时器:接口向邻居发送Hello报文的时间间隔,OSPF邻居 之间的Hello定时器的值要保持一致,且应收与路由收敛速度、网 络负荷大小成反比。邻居失效时间:在邻居失效时间内,如果接口还没有收到邻居发送 的Hello报文,路由器就会宣告该邻居无效。DR/BDR的选举:采用DR/BDR建立邻接关系,可以降低需要维护的邻接关系数量。DR和BDR之外的路由器之间将不再建立邻接关系,也不再交换任何 路由信息。这样就减少了广播网络和NBMA网络上各个路由器之间邻接 关系的数量。在OSPF中,邻居关系(Neighbor)和邻接关系(Adjacency)式两个不 同的概念。OSPF路由器启动后,便

32、会通过OSPF接口向外发送Hello报文。收 到Hello报文的OSPF路由器会检查报文中所定义的参数,如果双方一 致就会想成邻居关系。形成邻居关系的双方不一定都能形成邻接关系,这要根据网络类型 而定。只要双方交换DD报文,交换LSA并达到LSDB的同步之后,才形 成真正意义上的邻接关系。DR和DBR是由同一网段中所有的路由器根据路由器优先级、Router ID通过Hello报文选举出来的,只有优先级大于0的路由器才具有选举 资格。进行DR/BDR选举时每台路由器将自己选出的DR写入Hello报文中, 发给网段上的每台运行OSPF协议的路由器。当处于同一网段的两台路 由器同时宣布自己是DR时,

33、路由器优先级高者胜出。如果优先级相等, 则Router ID大者胜出。如果一台路由器优先级为0,则它不会被选举 为DR或BDR。此外,DR/BDR的选举机制还具有以下特点:只有广播或NBMA类型接口才会选举DR,在点到点或点到多点类 型的接口上不选举DR。 DR是某个网段中的概念,是针对路由器的接口而言的。某台路 由器在一个接口上可能是DR,在另外一个接口上有可能是BDR, 或者是DR Other o路由器的优先级可以影响一个选举过程,但是当DR/BDR已经选 举完毕,就算一台具有更高优先级的路由器变为有效,也不会 替换该网段中已经存在的DR/BDR成为新的DR/BDRo DR并不一定路由器优

34、先级最高的路由器接口;同理,BDR也并 不一定就是路由器优先级次高的路由器接口。DR/BDR的选举事例: 新加入网络的路由器的Router ID比原来的DR和BDR都高,但 出于稳定性的考虑,只能成为DRother路由器。 当DR失效时,BDR立刻成为新的DRo DRother路由器进行竞争,Router ID高的成为新的BDR。6、邻接关系建立过程ROUTEDR 如 1ER邻接关系建立过程(1)H3CRouter ID 1.1.1.1Router ID 2.2.2.2网络云w.oFwHell。DR=RTBRTBHell。Neighbors seen=RTADOWNDOWNRTA 和 RTB

35、的 Router ID 分别为 1.1.1.1 和 2.2.2.2,运行 OSPF 协议。邻居ID邻居地址邻居状态2 2 2 210.1.0.22-way邻居表DR=0.0.0.0Neighbors seen=010.1.0.1/24DR=RTBNeighbors seen=RTB邻居旧邻居地址邻居状态1.1.1.110.1.0.1Init邻居表邻居ID邻居地址邻居状态1.1 AA10.1.0.12-wayHello它们建立邻接关系的过程如下:第一步:初始情况下,邻居关系处于DOWN的状态。之后RTA开始发送 Hello报文。由于当前没有发现任何邻居,因此它的邻居表项是空的, 并且DR字段为0

36、.0.0.0O 第二步:RTB接收到RTA的Hello报文之后,将RTA添加到自己的邻居 表中,同时将RTA的邻居状态设为init。与RTA比较Router ID,由于 RTB的Router ID较大,所以在发送的Hello报文中,将DR字段设置为 自己的Router ID。第三步:RTA收到RTB发来的Hello报文,在邻居列表中发现了自己的 Router ID,因而将邻居表中RTB的状态修改为2-way。RTA发送Hello 报文,其中邻居表添加RTB的Router ID,将DR字段设置为RTB的Router ID。第四步:RTB检查RTA的Hello报文,发现了自己的Router ID,

37、从而 将邻居表中的RTA状态也修改为2-way。如果当链路上,RTA和RTB都 是DRother路由器,他们之间的临界状态就停留在2-way状态。如果RTA、 RTB有一个是DR/BDR,他们需要进一步的建立邻接关系。网络云mu.茹IROUTER邻接关系建立过程(2)HBCRouter ID 1.1.1.1Router ED 2.2.2.2邻居ID1 1.1.1邻居地址邻居状态Exchange10.1.0.1/24RTARTBROUTER如果两台路由器承担了 DR或者是BDR的角色,那么它们还需要进一步邻居ID邻居地址邻居状态2.2.2210.1.0.2ExStart2-way邻居ID邻居地址

38、邻居状态2 22 210.1 0.2ExchangeSeq=K1=1M=1MS=1Seq=y1=1M=1Seq=y1=口妇MS=0MS=1Seq=y4-1l=0M=1MS=0Seq=y+1邻居ID邻居地址邻居状态1.1.1.110.1.0.1ExStart建立邻接关系:第五步:RTA将邻居表中RTB的状态设置为ExStart状态,并且发送一 个不包含LSA摘要的DD报文,开始主从关系的协商。这个DD报文的序 列号由RTA决定,设置为X; I位被设置为1,表明这是RTA发起的初始 化报文;M位被设置为1,表明这不是最后一个DD报文;MS位被设置为 1,表明RTA首先判断自己是Master路由器。

39、这里的Master路由器的 作用主要是交换DD报文的时候,主动发送DD报文,并且控制修改报文 序列号,对应的Slave路由器只能接受Master路由器使用的序列号, 被动的发送DD报文。第六步:RTB收到RTA的DD报文之后,将邻居表中RTA的状态也设置为 ExStart。由于RTB的Router ID数值要大于RTA,因此RTB认为自己应 该作为Master路由器,所以它发送的DD报文同样将MS位设置为1,用 来表明自己Master路由器的身份。RTB使用的序列号为Y,同时将I位 和M位也设置为1,分别表明这是初始化报文以及后续还有更多的DD报 文。第七步:RTA同意RTB作为Master路

40、由器,因此将MS设置为0,表明 自己的Slave路由器身份,并且采用RTB设置的序列号Y开始发送DD 报文。这时的DD报文中包含LSA摘要。RTA将邻居中的RTB的状态修改 为 Exchangeo 第八步:RTB收到RTA发来的DD报文,将邻居表中RTA的状态修改为 Exchange,接下来采用Y+1的序列号和RTA交换LSA摘要信息。邻居ID邻居地址邻居状态2.2.2210.1.0.2LoadingLS Request邻接关系建立过程(3)Router ID 2.2,2.2Router ID 1JJ,110.1.0.1/24将收到的LSA摘要和本地 的LSDB比较,发现在 LSDB里缺少部分

41、LSA网络云10.1.0.2/24RTBROUTER邻居E邻居地址邻居状态1.1.1.110.1 0.1FullExchangeLS Update邻居ID邻居地址邻居状态2.2.2 210 1.0.2FulLSAckRTA和RTB对于DD报文中包含的LSA摘要信息,与自己的LSDB做比较。 RTB发现所有的LSA信息在LSDB中都存在,因此直接进入Full状态。 RTA比较之后,发现LSDB中缺少部分的LSA,需要向RTB请求LSA。 第九步:RTA将邻居表中RTB的状态设置为Loading,同时向RTB发送 LSR报文请求自己所缺少的LSA。LSR报文中也仅仅包含LSA摘要。第十步:RTB收

42、到LSR报文,将请求的LSA全部内容以一条或者多条LSU 报文发送给RTA。第十一步:RTA将收到的LSA更新放入自己的LSDB,直到所有请求的LSA 都获得之后,它将邻居表中RTB的状态设置为Full。到这个时候,完整的邻接关系才算建立完成。7、OSPF邻居状态机 Down:在上一个邻居失效时间内,在当前的接口没有收到任何Hello 报文。这个状态时状态机的第一个稳定状态。 Attempt:这个状态只存在于NBMA网络中。当一台设备试图通过Hello报文去联系自己的邻居,但是还没有收到回应的报文时,就 将它的邻居设置为Attempt状态。 Init: 一台路由器收到了其他路由器发送的Hell

43、o报文,但是在 Hello中的邻居列表中没有看到自己的Router ID。 2-way:一台路由器收到了其他路由器发送的Hello报文,并且在 Hello中的邻居列表中已经看到自己的Router ID。这是状态机的第 二个稳定状态。 ExStart: 一台路由器和它的邻居在这个状态协商主从关系,并且由 Master路由器决定DD交换的序列号。 Exchange:在这个状态时,路由器邻居之间交换DD报文。 Loading:路由器比较DD报文和LSDB,如果发现DD存在LSDB中不 具有LSA,向邻居发送LSU请求LSA。 Full:在这个状态,路由器结束更新自己的LSDB,具有完整的LSDB。

44、这是状态机的第三个稳定状态。在这些状态机中,只有Down、2-way、和Full状态才是稳定的状态,其 他状态都是瞬时的中间状态。正常情况下,DR/BDR和DRother路由器的 邻居状态应该稳定在Full状态,而DRother路由器之间的邻居状态应 该稳定在2-way状态。8、LSDB更新当网络拓扑发生变化时,感知到变化的OSPF路由器会生成相应的LSA更新报文,发送到区域中。运行OSPF协议的路由器收到一条LSA更新 报文的时候,其工作流程如下:系统会首先在LSDB中查找此条LSA的序列号。如果不能查到,就认 为是一条新的1,人,加入LSDB。如果查到了此条LSA,那么比较这条LSA的序列

45、号。如果收到的新 LSA序列号更大,那么认为这条LSA有了更新,将这条LSA的计时 器进行刷新,同时更新序列号。如果收到的新LSA序列号等于或者小于LSDB中LSA的序列号,那么 认为收到的LSA可能是由于网络拥塞或者重传的陈旧的LSA,不会 对LSDB的LSA做任何操作,并且将收到的LSA更新报文丢弃。另外,为了保证LSDB及时刷新,LSDB里面的LSA都设定有老化时间,缺省 为1小时。如果1个小时LSA没有本更新,LSA将会老化同时被移除。缺省情况下,LSDB每隔半个小时刷新一次所有的LSA。此时,LSA的序列号 会加一,同时老化计时器会重置。二、配置和优化OSPF协议缺省情况下,接口不属

46、于任何区域且OSPF功能处于关闭状态。一个网段只 能属于一个区域,并且必须为每个运行OSPF协议的接口指明属于某一个特定的 区域。在这个配置过程中,需要使用尽量精确的反掩码。当在路由器上启动多个OSPF进程时,需要指定不同的进程号。OSPF进程号 是本地概念,不影响与其它路由器之间的报文交换。因此,不同的路由器之间, 即使进程号不同也可以进行报文交换。在配置同一区域内的路由器时,大多数的配置数据都应该以区域为基础来统 一考虑。错误的配置可能导致相邻路由器之间无法相互传递信息,甚至导致路 由信息的阻塞或者产生路由环路。例如,在配置OSPF区域的时候,如果两台邻 居路由器错误地配置了不同的OSPF区域,就会导致邻居关系无法建立。在配置Router ID的时候,有两种方法(

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号