欢迎来到长城宽带!请[]
内容页横幅
OSPF故障处理
发布时间:2017-07-12 14:29:36    来源:长城宽带    点击:

     大家都知道OSPF是Open Shortest Path First(即“开放最短路由优先协议”)的缩写。由IETF组织研发的关于链路的自治系统内部路由协议。在IP上,它是由收集与传送的自治系统中的链路状态来寻找并传播路由;而且OSPF协议是对于信息的标记引入,在IP子网与该外部路由之间;它对于接口的报文验证是也以这个方式来保证路由计算的安全性;毕竟OSPF协议是用IP Multicasting的方式来发送和接收报文。

    每个支持OSPF协议的路由器都维护着一份描述整个自治系统拓扑结构的数据库――这一数据库是收集所有路由器的链路状态广播而得到的。每一台路由器总是将描述本地状态的信息(如可用接口信息、可达邻居信息等)广播到整个自治系统中去。在各类可以多址访问的网络中,如果存在两台或两台以上的路由器,该网络上要选举出“指定路由器”(DR)和“备份指定路由器”(BDR)。

    指定路由器”负责将网络的链路状态广播出去。引入这一概念,有助于减少在多址访问网络上各路由器之间邻接关系的数量。OSPF协议允许自治系统的网络被划分成区域来管理,区域间传送的路由信息被进一步抽象,从而减少了占用网络的带宽。OSPF使用4类不同的路由,按优先顺序来说分别是:区域间路由第一类外部路由第二类外部路由区域内和区域间路由描述的是自治系统内部的网络结构,而外部路由则描述了应该如何选择到自治系统以外目的地的路由。

    一般来说,第一类外部路由对应于OSPF从其它内部路由协议所引入的信息,这些路由的花费和OSPF自身路由的花费具有可比性;第二类外部路由对应于OSPF从外部路由协议所引入的信息,它们的花费远大于OSPF自身的路由花费,因而在计算时,将只考虑外部的花费。

    根据链路状态数据库,各路由器构建一棵以自己为根的最短路径树,这棵树给出了到自治系统中各节点的路由。外部路由信息出现在叶节点上,外部路由还可由广播它的路由器进行标记以记录关于自治系统的额外信息。OSPF的区域由BackBone(骨干区域)进行连接,该区域以标识。所有的区域都必须在逻辑上连续,为此,骨干区域上特别引入了虚连接的概念以保证即使在物理上分割的区域仍然在逻辑上具有连通性。

    在同一区域内的所有路由器都应该一致同意该区域的参数配置。因此,应该以区域为基础来统一考虑,错误的配置可能会导致相邻路由器之间无法相互传递信息,甚至导致路由信息的阻塞或者自环等。OSPF排错步骤由于OSPF协议自身的复杂性,在配置的过程中可能会出现错误。OSPF协议正常运行的标志是:在每一台运行该协议的路由器上,应该得到的路由一条也不少,并且都是最优路径。

    排除故障的步骤:(1)配置故障处理:检查是否已经启动并正确配置了OSPF协议。(2)局部故障处理:检查两台直接相连的路由器之间协议运行是否正常。(3)全局故障处理:检查一下系统设计(主要是指区域的划分)是否正确。(4)其它疑难问题:路由时通时断、路由表中存在路由却无法PING通该地址。需要针对不同的情况具体分析。协议基本配置是否正确在排除故障之前,应首先检查基本的协议配置是否正确。

    是否已经配置了Router ID使用命令router id Router-id可以配置为与本路由器一个接口的IP地址相同,需要注意的是:不能有任何两台路由器的Router ID是完全相同的。(2) 检查OSPF协议是否已成功地被激活使用命令ospf enable启动协议的运行。该命令是协议正常运行的前提。<3) 检查需要运行OSPF的接口是否已配置属于特定的区域使用命令ospf enable area area_id 将接口配置属于特定区域。

    可通过命令 display ospf interface interfacename来查看该接口是否已经配置成功。(4) 检查是否已正确地引入了所需要的外部路由。实际运行中可能经常需要引入自治系统外部路由(其他协议如BGP或静态路由)。如果需要,是否已经通过命令import 配置了引入。邻居路由器之间的故障由于OSPF协议需要整个自治系统中所有路由器的协调工作,所以任意两台相邻路由器之间的故障都会导致网络中全部或部分路由错误。

    如何判断相邻的路由器之间运行正常:在两台路由器上分别执行display ospf peer命令,查看在相应的接口上是否已发现对端路由器为自己的邻居,并且邻居状态机达到Full状态。需要注意的是:在Broadcast和NBMA类型的网络中,两台接口状态是DROther的路由器之间邻居状态机停留在“2-Way”状态,这是正常的,但都应该与DR之间达到Full状态。两台路由器之间达到Full需要一定的时间,一般在几秒钟至3分钟之间为正常。

    如果超过这段时间仍旧没有发现邻居或没有达到Full状态,则可以判断为出现故障。若出现故障可按下列几点来检查:(1)检查物理连接及下层协议是否正常运行。OSPF正常运行需要下层协议来发送和接收报文,所以必须确保下层协议运行无误。可通过ping命令测试,若从本地路由器Ping对端路由器不通,则表明物理连接和下层协议有问题。

    但需要注意的是:ping命令发送的是单播报文,而OSPF除了在NBMA类型的接口之外,都发送多播报文。所以除了能够ping通对端之外,还必须具有能够收发多播报文的能力。(2)检查双方在接口上的配置是否一致如果物理连接和下层协议正常,则检查在接口上配置的OSPF参数,必须保证和与该接口相邻的路由器的参数一致。这些参数包括 ospf timer hello, ospf timer dead和authentication-mode。区域(area)号必须相同。

    网段与掩码也必须一致(点到点与虚连接的网段与掩码可以不同)。这些错误可以通过命令display ospf error来查看。关于常用的OSPF错误值可以参见附录的说明。(3)hello时间与dead时间之间的关系按照协议规定,接口上的dead的值必须大于hello,并且至少在4倍以上。否则的话会引起邻居状态之间的震荡。(4)若网络的类型为广播或NBMA,至少有一台路由器的priority应大于零。

    协议规定,接口的priorty = 0 的路由器没有被选举权,即不能被选为DR或BDR。而在广播或NBMA类型网络中所有的路由器只与DR之间交换路由信息,所以至少应有一台路由器的priority应大于零。(5)区域的STUB属性必须一致如果一个AREA配置成STUB AREA,则在与这个区域相连的所有路由器中都应将该区域配置成STUB AREA。(6)接口的网络类型必须一致两台直接相连的路由器,它们之间的接口的网络类型必须一致。

    否则可能无法正确计算出路由。查看接口的网络类型可以使用命令display ospf interface,如果发现双方类型不一致,可使用接口配置模式下的命令 ospf network-type 来修改。需要特别注意的是:当两台路由器的接口类型不一致时,双方的邻居状态机仍旧有可能达到Full状态,但无法正确计算路由。(7)在NBMA类型的网络中是否手工配置了邻居协议规定在NBMA类型的网络中发送单播报文,这样就不能通过发送多播报文来动态发现邻居,所以必须手工指定邻接点的IP地址。

    系统规划的故障系统规划中的故障主要体现在区域化分中的错误。协议中对区域划分的要求是:如果自治系统被划分成一个以上的区域,则必须有一个区域是骨干区域,并且保证其它区域与骨干区域直接相连或逻辑上相连,且骨干区域自身也必须是连通的。区域划分错误的表现形式是:在一个区域内通常路由都是正常的,但无法得到区域外部的路由。

    这是从全局规划的角度来看的,如果落实到具体的配置上,可以这样认为:如果在一台路由器上配置了两个以上的区域,则至少应该有一个是骨干区域,或者配置了一条虚连接。在用此方法判断,配置了两个以上区域的是RTB和RTC,其中RTB符合要求,RTC上由于没有配置骨干区域,所以是错误的配置。表现的形式可能是在RTD上无法得到RTA和RTB的路由,同理,RTA和RTB上也无法得到RTD的路由。修改的方法是将Area0和Area1互相调换一下位置,或者在RTB和RTC之间配置一条虚连接。但这种判断方法只是配置正确的必要条件,而非充分条件。

    系统规划例如,每台路由器的配置都符合上面的条件,但配置仍旧是不正确的。错误在于骨干区域自身没有连通。改正的方法是:在RTB与RTC之间配置一条虚连接。其它疑难杂症如果经过以上分析之后,仍无法定位错误产生的原因,可继续按以下步骤查找。(1)路由表中丢失部分路由:可以查询一下是否本路由器配置了路由过滤。可查看是否配置了命令distribute list in(在OSPF协议配置模式下)。

    如果配置,再查询access-list中的访问规则,是否丢失的路由恰好是访问列表中所过滤的(2)路由表不稳定,时通时断:表现形式为:路由表中的部分或者全部路由表现不稳定,一会儿加上了,一会儿又丢失,且变化很快。这种错误不太好分析,可能由以下几种原因产生:网络中线路质量不好,导致线路时通时断,造成OSPF上的路由随之不停的更改。可以通过检查相应的链路层协议是否正常来定位问题的原因。 在拨号的情况下,如果是多台路由器同时拨一台路由器时,应将所有的这些拨号的接口类型改为point-to-multipoint。

    因为缺省的网络类型是point-to-point,如果不加更改的话,当有多台路由器同时拨入时,接入方会在这些拨入的路由器之间不停的选择其中的一个并建立邻接关系。导致路由不稳定。有可能是自治系统中有两台路由器的Router ID相同了。协议中规定,一台路由器的Router ID应该在整个自治系统中唯一。如果有两台路由器的Router ID相同,协议运行就会出现故障。

    这两台路由器如果是邻居的话,在相互接收对方的hello报文时会检测到这一错误,导致无法建立邻接关系。如果这两台路由器不是直接相连,而是分别位于自治系统中的两个不同的地方,则表现出的现象是部分路由时断时通。可以通过查看这部分不正常的路由所属的路由器来定位此问题。(3)无法引入自治系统外部路由:某台路由器引入了自治系统外部路由后,却无法在其它路由器上发现这些路由。

    则很可能是由于本路由器处于一个STUB区域之内,因为按照协议规定,STUB区域内不传播Type5类型的LSA。所以这种类型的LSA即不能由区域外传播进来,也同样不能由区域内传播出去。实际上即使是同一个区域内的其它路由器也无法获得这些路由信息。4)区域间路由聚合的问题:通过在ABR上配置路由聚合可以大大减少自治系统中的路由信息,但如果配置不当,也会出现如下问题:

    某个区域配置了聚合之后,在其它区域中虽然有聚合后的路由,但未聚合前的路由仍旧存在。出现这种现象的原因多半是因为该区域有两个以上的ABR,用户只在其中一台ABR上配置了聚合命令,而没有在其它的ABR上配置相同的命令。在Area1内有两个网段,在其中的一个ABR(RTA)上配置了聚合命令,将这两条路由聚合为一条10.1.0.0/16 的路由。而在另一个ABR(RTB)上,由于没有配置聚合命令,所以仍旧向Area 0发送两条未经聚合的路由10.1.1.0/24、10.1.2.0/24。

    所以在Area 0中会有3条路由同时出现。配置了路由聚合之后,路由表显示正常,但却无法PING通某些目的地址。可能是由于聚合命令配置错误导致。例如在Area1中内有两个网段,被ABR(RTA)聚合成一条10.1.0.0/16的路由后发送到Area 0;同时在另一个区域Area 2中有两个网段10.1.3.0/24、10.1.4.0/24,也被ABR(RTB)聚合成一条相同的路由10.1.0.0/16后发送到Area 0中。这样RTA和RTB同时发布一条相同的到达10.1.0.0/16的路由。

    至于RTC是因为与RTA距离较近(花费值为5,而到RTB为10),故而,将RTA作为到达该目的地址的下一站。假如在时候将RTC上PING10.1.3.0/24网段中的某个地址取消,那么报文发错给RTA,引起报文到达不了。对于这种情况的改正的方案就是去掉某台ABR上的路由聚合。以这样的方式来保证报文的直接到达,避免误发情况的产生。

上海装宽带 上海装宽带
上海装宽带
中国的宽带业务各种各样,大家比较多用的像中国移动宽带、中国联通宽带以及中国电信宽带。许...
宝山区长城宽带 宝山区长城宽带
宝山区长城宽带
宝山区长城宽带是一家专门致力于服务上海人民的宽带公司,在过去的几年中,宝山区长城宽带公...
铁通 铁通
铁通
对于铁通宽带,相信大家都还有点陌生,但是提及移动宽带,那就是无人不晓了,这是中国移动旗...
光纤宽带 光纤宽带
光纤宽带
光纤的特点是:1.传输容量大2.传输质量好3.损耗小4.中继距离长。光纤传输所使用的方式是把小...
无线网络IP地址 无线网络IP地址
无线网络IP地址
IP地址被用来给Internet上的电脑一个编号。大家日常见到的情况是每台联网的PC上都需要有IP地...
2m宽带下载速度 2m宽带下载速度
2m宽带下载速度
我们时常都有这样一个疑惑,明明申请的2Mb带宽,但是只要下载本地网站的软件时,下载速度只能...
南汇区长城宽带 南汇区长城宽带
南汇区长城宽带
长城宽带网络服务有限公司是在新时期新阶段首先进行宽带改革的一家公司,经过多年的打拼,中...
360浏览器的相关知识 360浏览器的相关知识
360浏览器的相关知识
360安全浏览器拥有全国最大的恶意网址库,采用恶意网址拦截技术,可自动拦截挂马、欺诈、网银...
2345浏览器基本设置 2345浏览器基本设置
2345浏览器基本设置
2345王牌浏览器采用Chromium和IE双内核,主打极速与安全特性。基于Chromium深度定制,引入网...
路由器的安全 路由器的安全
路由器的安全
大多数人对待路由器的态度基本上都是初始设置完成之后便置之不理,除非网络出现问题。实际上...