用于检测网络故障的系统和方法

文档序号:7949016阅读:728来源:国知局
专利名称:用于检测网络故障的系统和方法
背景技术
计算机网络一般包括不同计算机之间的物理互连,以允许对程序和数据进行便利的交换。诸如交换机和路由器之类的多个连通性设备互连每个连接到网络的用户计算机。连通性设备维护关于计算机的路由选择信息,并且执行关于经由连通性设备在计算机之间传递的消息流量的路由选择判决。每个连通性设备或路由器对应于指示其可直接或间接访问的其他计算机的网络路由选择前缀(前缀)。因此,被从一个计算机路由到另一个计算机的数据沿着由两个计算机之间的路由器限定的经过网络的路径前行。以这种方式,网络中路由器的聚集限定了连接到网络的各种计算机之间的互连的图。
因此,在图形表示中,这种网络可被设想为计算机之间的节点的图。该图限定了连接到网络的每个计算机之间的一个或多个路径。因此,路由器限定了网络中的节点,以及在网络上的一系列所谓的“跳”中在节点之间行进的数据。由于每个路由器一般连接到多个其他路由器,因此在给定计算机之间可能存在多个可能的路径。一般来说,路由选择信息被用于每个路由器中的路由选择表中,该路由选择表被用于确定去往目的地计算机或网络的路径。路由器利用路由选择表作出路由选择判决,以识别向其发送数据的下一“跳”或下一路由器,以便它最终到达目的地计算机。但是,可能出现网络问题,使得路由器和路由器之间的传输路径不可工作。这种故障在实际上消除了由网络限定的图中的节点或跳(这种故障本应当由控制平面检测到),因此干扰了本该通过受影响路径路由的数据流量。

发明内容
在典型的计算机网络中,可能发生阻止或延迟从一个节点到另一节点的传输的故障。这种故障可能在路由器本身处,例如不正常工作的端口或转发引擎,或者可以发生在去往下一跳的传输线路中,例如物理中断或线路缺口。传输线路故障一般可通过内部网关(路由选择)协议(IGP)来识别和绕过。但是,IGP却无法识别转发问题。因此,传统的方法通过手工地“查验(ping)”远程节点以识别可能发生问题的区域,来逼近这种事故。如本领域所知的,这种“查验”或者连通性检查包括发送请求确认的简单消息到远程节点。如果接收到确认(ack),则认为远程节点和中间的路径可工作。但是,这种传统的方法却有若干个缺陷。可能存在去往被“查验”的节点的多个路径,并且中间节点可能绕开故障路由查验和相应的ack。此外,否定结果仅仅是未接收到ack;而没有提供关于故障发生在何处以及为何发生的更多信息,或者关于故障是否将自己更正自身的更多信息,例如在传输线路故障的情形下就是如此。
本发明的配置部分地基于以下观察到的事实传统的网络诊断和故障排查机制一般识别不可达的目的地,但不识别问题的位置,例如断开的连接或发生故障的路由器。传统路由器的特定缺点在支持关于虚拟专用网(VPN)的因特网RFC 2547bis的设备中尤其明显。通常,这种影响沿着下一跳的数据传输的所谓“转发/数据平面”问题在“控制平面”或者说判定路由选择路径的功能处是不明显的。因此,控制平面判决可能基于转发平面关于网络的不准确视图继续通过已废止的路径进行路由,而此时路由器或者使不可转发的分组排队,或者甚至丢弃不可转发的分组。后者有时被称为分组的“黑洞效应(black holing)”,导致为了避免丢失数据而依赖于应用冗余性和重传机制,这两者都负面地影响着吞吐量。
换言之,转发平面级别的问题或故障可能要到认识到丢失分组的积累拥堵或丢失分组变得显著时才会变得明显。直到有了这种认识并且操作者随后进行手工干预,控制平面判决才不会继续沿着不可工作的路径进行路由。因此,开发出这样一种路径验证机制将会是有益的,该机制可以探测特定路由选择路径,并且不仅识别端到端故障,比如常见的“查验”消息,还通过发送命令并接收指示对增长点(incremental point)来说可见的其他节点的响应来识别增长点或者说节点处的故障。以这种方式,一系列路径验证消息可识别发生这种转发平面问题的增长点,例如节点或路径,并且可能推翻数据平面路由选择判决,以便沿着绕开识别出的问题的替换路由选择路径前行。
因此,本发明的配置通过提供一种枚举发送到沿可疑路径的一组节点或路由器的一系列消息的路径验证协议(PVP),基本上克服了传统的网络故障检测和故障排查的缺点。这些消息包括这样一个命令,该命令请求询问另一远程节点,以便获得关于接收PVP消息的节点和另一远程节点之间的路径的信息。接收PVP消息的节点(第一节点)利用指示尝试达到另一远程节点(第二节点)的结果的命令响应作为答复。在特定的传统设备中,例如根据RFC 2547bis的设备中,某些客户装备(CE)边缘路由器不具有核心(即中间公共网络)内的可见性,因此依赖于另一节点例如提供商装备(PE)节点来执行这种验证。该系列消息总体上覆盖了沿着从发源者到接收者的路径的一组重要的预定路由选择点。路径验证处理器分析对该系列PVP消息的聚集命令响应,以尝试不仅识别整个路径是否可工作,并且还尝试识别问题的位置和性质(端口、卡、传输线路等等)。以这种方式,下文进一步讨论的路径验证机制限定了用于从网络设备(如路由器)中的路径验证处理器枚举一组消息并且分析来自对路径验证消息作出响应的一组节点的命令响应以便定位故障的路径验证协议(PVP)。
在典型网络中,如上所述,数据采取消息的形式,消息在从源到目的地的一系列跳中在网络设备(例如路由器)之间传播。在适合用于这里讨论的方法和设备的示例性网络中,虚拟专用网(VPN)利用VPN服务互连两个或更多个本地网络(例如LAN),所述VPN服务可操作来向子网之间的网络流量提供安全性,以便每个子LAN的节点可与作为同一VPN的成员的其他子LAN的节点通信。在典型的VPN布置中,特定子网可以是具有分别有一个实质性的子网的多个不同站内的大型商业企业(例如银行、零售商店或大公司)的个体站点。这种环境中的传统VPN十分适合于向子网之间的通信提供透明保护。
在典型的VPN中,每个子网具有一个或多个网关节点,或者说客户装备(CE)路由器,离开以去往其他子网或从其他子网进入的流量经过这些网关节点。网关节点连接到核心网络边缘处的可操作来提供去往VPN中的其他子网的传输的网络提供商路由器,或者说提供商装备(PE)。CE和PE路由器有时被称为“边缘”路由器,因为它们接近客户网络或提供商网络的边缘。核心网络可以是诸如因特网这样的公共接入网络、物理上分离的内联网或者其他互连,它提供去往远程PE路由器的传输。远程PE路由器耦合到代表远程子网或LAN(其是VPN的一部分)的入口的远程CE路由器。远程CE路由器在远程VPN(LAN)子网内将消息流量继续转发到的目的地。
在这种VPN布置中,VPN源或者说发源者和VPN目的地或者说接收者之间特定的端到端路径代表多个网段。每个网段是沿着路径的某些节点之间的一个或多个跳的集合。多个网段代表一个路径,并且包括从本地CE路由器到核心网络的本地CE网段,核心网络的PE路由器之间的核心网段,以及从远程PE路由器到远程CE路由器的远程CE网段,下文将对此进行进一步讨论。也可以定义其他网段。
具体而言,在操作的一个级别,这里讨论的配置执行一种用于通过以下步骤来定位网络故障的方法根据诊断协议发送多个路径验证消息到多个预定的网络点(即节点),并且接收来自这些节点的与发送的路径验证消息相对应的命令响应,其中响应包括根据诊断协议的测试结果。该方法跟踪响应于沿着从源到目的地的特定路径发送的多个路径验证消息中的每一个而接收的命令响应,并且基于接收到来自预定网络点的响应,断定或计算一个路由选择判决,该路由选择判决包括网络中消息流量的可能的替换路由选择路径。因此,命令响应允许了发起路径验证消息的路由器或交换机基于在响应中接收的测试结果,确定是否在网络中重路由流量,以及如果是,则基于接收和未接收到来自特定网络点的响应,定位替换路径。
更详细地说,本发明的配置通过以下步骤执行网络故障识别周期性地发送诊断消息到沿着去往目的地的路径的多个预定的路由选择点,并且如果诊断消息指示沿着路径的中间节点存在问题,则发送一系列路径验证消息,其中每个路径验证消息包括一个命令,该命令可操作来引导中间节点(第一节点)发送另一消息到路径中的后继中间节点(第二节点),接收来自另一消息的结果,并且将结果作为命令响应进行报告,从而使得结果指示从第一节点到后继(第二)中间节点的可达性。该方法根据预定的跳(即“重要”路由选择点)以系统的方式重复发送路径验证消息到指示或报告问题的节点的沿着所述路径的后继节点。该方法分析接收到的来自后继路径验证消息的命令响应以识别问题或故障,并且因此基于分析确定替换路径,以绕过被识别为所指示问题的源的中间节点。
发送路径验证消息还包括1)根据诊断协议发送一组路径验证消息到多个预定的网络点,2)接收与发送的路径验证消息相对应的命令响应,其中命令响应包括根据诊断协议的测试结果;以及3)跟踪从沿着从源到目的地的路径发送的多个路径验证消息中的每一个接收的命令响应,其中跟踪还包括识别响应所源自的网段。
分析接收到的命令响应包括分析路径验证消息,以识别命令响应指示有问题的第一中间节点和对诊断消息的命令响应指示正常操作的前面的中间节点。如上所述,中间节点表示网络中的网段,其中网段还包括客户设备和核心网络之间的本地网段,代表多个提供商设备的核心网段,以及核心网络和目的地之间的远程网段。分析还包括识别接收和未接收,其中接收包括从发送消息的预定网络点起的可访问路径的指示,未接收根据诊断逻辑指示调解故障。分析可以识别指示无法沿假定的所选路径传播消息的转发平面差错,从而使得确定替换路径包括改变与假定可工作路径相对应的控制平面路由选择判决。
在特定布置中,该方法基于网络故障的位置和性质,识别在该处更改流量以重路由流量使之绕开故障的网络点。这种点是中间网络节点,并且识别中间节点还对应于识别与测试发起者和目的地之间的网络跳相对应的网络前缀。
这里公开的配置通过以下步骤解决核心网络中的故障发送第一路径验证消息,识别没有接收到来自核心网络中间路由器的与第一路径验证消息相对应的命令响应,以及等待预定的阈值,其中该预定阈值对应于一个收敛时间,该收敛时间适合于允许自动路由选择表更新以补偿不稳定的路由。该方法随后发送第二路径验证消息,其中接收到对第二路径验证消息的命令响应指示绕开不稳定路由的路由选择表改变,从而将所谓的核心网络的收敛属性用于重路由以利用冗余路径绕开故障。
发送诊断消息包括识别与具有实质性的逻辑路由选择价值的网络路由选择点相对应的重要前缀,以及发送针对重要前缀的诊断消息。在重要前缀中,该方法还可选地确定活动前缀,其中活动前缀指示在前一阈值定时窗口期间的实质量的路由选择流量。这种实质量的路由选择流量负载是基于所传输的预定最小量字节的,并且重要路径对应于若干个可用的替换路由选择路径,例如可能的瓶颈和周期性的突发门户。此外,该方法基于驱动覆盖端到端路径检查的一组消息的可抖动且可配置的定时器来交错诊断消息,从而避免PE路由器本身接收到诊断消息突发。
在示例性的布置中,路径验证消息是根据预定协议的探测消息。探测消息包括出于确认特定路径的可用性或交换的目的而发送的消息和分组,而不是对数据有效载荷的传输。这里所使用的探测消息包括用于指定测试结果的测试指示符和用于指示所关注的节点的目的地指示符,并且断定还包括根据预定协议应用诊断逻辑。该协议的诊断逻辑实现了指示或确定特定类型的故障(例如发生故障的转发引擎和灾难性的节点故障)的规则或状况。
本发明的替换配置包括多重编程或多重处理的计算机化设备,例如工作站、手持式计算机或膝上型计算机,或者专用计算设备等等,其被配置以软件和/或电路(例如上面概括的处理器)以便处理这里作为本发明实施例公开的任何一种或全部方法操作。本发明的其他实施例包括软件程序,例如Java虚拟机和/或操作系统,其可单独工作、或者彼此结合工作、或者与多重处理计算机化设备相联合地工作,以执行上面概括的或在下面详细公开的方法实施例步骤和操作。一个这种实施例包括具有计算机可读介质的计算机程序产品,该计算机可读介质包括编码在其上的计算机程序逻辑,该计算机程序逻辑当在具有存储器和处理器的耦合的多重处理计算机化设备中被执行时,将处理器编程为执行这里作为本发明实施例公开的操作,以进行数据访问请求。本发明的这种布置一般是以布置或编码在计算机可读介质(所述计算机可读介质例如是光介质(例如CD-ROM)、软盘或硬盘,或其他介质)上的软件、代码和/或其他数据(例如数据结构)、例如一个或多个ROM或RAM或PROM芯片或现场可编程门阵列(FPGA)中的固件或微代码,或者专用集成电路(ASIC)的形式提供的。软件或固件或其他这种配置可被安装在计算机化设备上(例如在用于执行环境的操作系统的安装期间),以使计算机化设备执行这里作为本发明实施例说明的技术。


本发明的前述和其他目的、特征和优点将从以下对附图中示出的本发明的优选实施例的更具体描述中显现出来,在附图中类似的标号在不同图中指代相同的部件。附图不一定是按比例绘制的,相反重点在于图示本发明的原理。
图1是可用于本发明的包括经由多个提供商装备设备(路由器)限定路径的网络节点的网络通信环境的上下文图;图2是在图1的网络中使用路径验证机制的流程图;图3是图1的示例性网络中的路径验证设备的框图;以及图4-7是在图4的网络中利用图3的路径验证设备的路径验证机制的操作的流程图。
具体实施例方式
本发明的配置部分基于以下事实即传统的网络诊断和故障排查机制一般识别不可达目的地,但不识别问题的位置,例如断开的连接或发生故障的路由器。通常,这种影响去往后继的下一跳的数据传输的所谓“转发平面”问题在“控制平面”级别或者说判定路由选择路径的功能(即路由选择逻辑)处是不明显的。因此,控制平面判决可能继续通过转发平面处已废止的路径进行路由,而此时路由器或者使不可转发的分组排队,或者甚至丢弃不可转发的分组。后者有时被称为分组的“黑洞效应”,导致为了避免丢失数据而依赖于应用冗余性和重传机制,这两者都负面地影响着吞吐量。
换言之,转发平面级别的问题或故障可能要到认识到丢失分组的积累拥堵或丢失分组变得显著时才会变得明显,而在控制平面级别则永远不会明显。直到有了这种认识并且操作者随后进行手工干预,控制平面判决才不会继续沿着不可工作的路径进行路由。下面将进一步讨论的是一种路径验证机制,该机制可操作来探测特定路由选择路径,并且不仅识别端到端故障,比如常见的“查验”消息,还通过发送命令并接收指示对增长点来说可见的其他节点的响应来识别增长点或者说节点处的故障。以这种方式,一系列路径验证消息可识别发生这种转发平面问题的位置,并且推翻来自路由选择逻辑的数据平面路由选择判决,以便沿着绕开识别出的问题的替换路由选择路径前行。
这里更详细描述的路径验证机制使用了一种路径验证协议,该协议可操作来根据协议发送路径验证消息,以便尝试诊断和识别网络故障的位置。因此,路径验证设备,例如具有这里公开的路径验证处理器的数据通信设备(即路由器)可操作来利用路径验证协议执行路径验证。
因此,这里公开的系统包括在路由器中运行或执行的路径验证处理器,其具有用于执行这里详细公开的用于定位有缺陷网络互连的方法,包括识别从数据通信设备到远程网络目的地的路径,其中该路径还包括多个网段,其中每个网段由若干个跳界定。路径验证处理器通过识别去往目的地的路径所限定的网段顺序,并且反复地发送探测到沿着有序路径的相继的每一跳,来识别故障点。如果针对特定的跳的探测响应返回,则路径验证处理器断定该路径直到与返回的探测相对应的跳都无阻塞,而如果对于特定探测未接收到探测响应,则断定在与该特定探测相对应的跳和前一跳之间存在阻塞。路径验证处理器随后基于与断定的阻塞相对应的跳和/或先前的跳识别替换路径,并且基于识别出的替换路径确定是否将消息流量引导到识别出的替换路径。
因此,本发明的配置通过提供一种枚举发送到沿可疑路径的一组节点或路由器的一系列消息的路径验证协议(PVP),基本上克服了传统的网络故障检测和故障排查(例如查验)的缺点。这些消息包括这样一个命令,该命令请求询问另一远程节点,以便获得关于接收PVP消息的节点和另一远程节点之间的路径的信息。接收PVP消息的节点利用指示尝试达到另一远程节点的结果的命令响应作为答复。该系列消息总体上覆盖了沿着从发源者到接收者的路径的一组重要路由选择点。对该系列PVP消息的聚集命令响应被分析,以不仅识别整个路径是否可工作,并且还尝试定位故障(端口、卡、交换架构等等)。以这种方式,路径验证机制限定了用于从网络设备(如路由器)中的路径验证处理器枚举一组消息并且分析来自对路径验证消息作出响应的一组节点的命令响应以便定位故障的路径验证协议(PVP)。
图1是可用于本发明的包括限定路径的网络节点的网络通信环境的上下文图。参考图1,网络通信环境100包括互连多个本地用户114-1...114-3(总称为114)的本地VPN LAN子集110。本地LAN 110连接到网关客户装备CE路由器120,该网关客户装备CE路由器120耦合到一台或多台提供商装备设备130-1和130-2(总称为130)。如下文将更详细讨论的,知晓多个PE路由器130-1和130-2的CE路由器120可基于这里讨论的考虑因素执行关于是否经由路由器130-1或130-2来路由流量的路由选择判决,所述考虑因素一般是位于核心网络140边缘的另一路由器。CE路由器120或初始路径验证设备包括可操作以用于典型的控制平面路由选择判决的路由选择逻辑122、可操作来定位故障并补充路由选择判决的路径验证处理器124以及用于转发和接收网络流量的网络接口126。交换架构128可对路由选择逻辑122作出响应,用于经由设备上的物理端口(未具体示出)实现交换判决。核心网络140包括多个核心节点142-1...142-2(总称为142),例如各种路由器、集线器、交换机和其他连通性设备,它们互连由提供商服务的其他用户。远程提供商装备设备132(即远程PE路由器)耦合到为比如VPN LAN 112这样的远程VPN子网服务的远程客户装备路由器122。远程VPN LAN 112就像其对应子网110那样为多个远程用户116-1...116-3(总称为116)服务。
这里讨论的配置中实现的原理可由图1来概括,并且在下面参考图3和图4-7的流程图更详细讨论。本地CE路由器120将从本地LAN 110上的用户114发送来的分组路由到提供商装备路由器130,该提供商装备路由器130表示进入核心网络140的入口。PE路由器130-1和130-2可通过核心网络140分别经由特定路径146-1或146-2将分组转发向其预期目的地。为了说明方便,假设PE1例如通过调用PE1 130-1作为进入核心网络140的入口来将分组114转发到节点142-1。
如果例如在节点142-1处发生问题,则CE路由器120上的路径验证处理器124调用PE路由器130来经由一组周期性诊断消息150识别问题,并且PE路由器130经由一组路径验证消息152定位问题,两者都将在下文进一步讨论。因此,CE路由器120上的路径验证处理器124引导路由选择逻辑122经由PE2路由器130-2路由分组144。如上所述,控制平面和转发平面操作之间的差异由路径验证处理器124来有效地衔接。传统的路由选择逻辑为特定分组识别优选路由。在转发平面级别的问题在路由选择逻辑计算优选路由的控制平面可能是不明显的。因此,在上述示例中,PE路由器130-1处的传统的路由选择逻辑继续使用路由146-1,而不知晓节点142-1的问题。CE路由器120上的使用这里讨论的路径验证协议的路径验证处理器124经由PE路由器130-2识别去往核心网络140的使用路径146-2上的节点142-2而不是已废止节点142-1的替换路径,并且推翻路由选择逻辑否则会使用的优选路由判决。注意实现路径验证处理器124执行的操作的软件、硬件和/或固件可分布在PE和CE设备130和132上,并且为了简单在CE路由器120中被放大示出。PE和CE设备(路由器)中的每一个可被实现以一个路径验证处理器,或者可对路径验证处理器124作出响应的其他机制以及因而实现的方法。由于经由130-2的替换路径使路径142-2至146-2从PE2延伸通过核心网络140。因此,CE1可执行路由选择判决以将其流量从PE1切换到PE2,在所示出的示例性实施例中,这有效地绕过了核心中的节点142-1,而改为选择节点142-2。应当注意,这种路由选择判决应用来自网络的路径信息,例如其中路径146-1和146-2是分离的,只有146-1依赖于节点142-1。
图2是在图1的网络中使用路径验证机制的示例性客户装备设备(例如路由器120)的流程图。参考图1和图2,路由器120基于最近传送的流量从重要路由中识别活动路由,如步骤200所示。活动路由是当前传送实质量的流量的路径或交换选项,这可以根据观察交换架构的活动、嗅探或其他扫描机制来确定。路径验证处理器124为每个识别出的活动路由确定是否存在无阻塞的网络路径,如步骤201所示。路径验证处理器124可执行所谓的“查验”或其他机制,以确定每个活动路由的可用性。应当注意,活动路由是由负责沿活动路径的消息吞吐量的特定设备或路由器来表示的,并且在确定是否存在问题时是决定性的。这些路由器一般由指示它们所服务的IP地址的前缀来指定,这里本领域的技术人员已知的。
因此,路径验证处理器124首先为每个活动路由发送一个诊断消息150,例如“查验”或其他查询消息,以确定是否存在可能的阻塞,如步骤202所示。路径验证处理器124执行检查,以确定是否接收到指示非响应节点的否定回复,如步骤203所示。如果未从活动路由(即与活动路由相对应的路由器)接收到否定回复,则控制传递到步骤204,以期待下一诊断间隔。
在如步骤202-204中所公开的向每个活动路由发送周期性诊断消息之后,对于路径验证处理器124未接收到对其的响应的每个前缀,即活动路由,路径验证处理器124发送多个路径验证消息152到故障路径中当前使用的下一跳设备,如步骤205所示。路径验证消息152是以预定的顺序或模式发送到已被发现了问题的路径中的前缀(路由器)的。作为对路径验证消息152的响应,路径验证处理器124接收到与发送的路径验证消息相对应的命令响应154,其中命令响应154包括根据诊断协议的测试结果,如步骤206所示。在步骤207,执行检查以确定是否有更多命令响应154要取得,并且控制相应地回到步骤206。注意,未接收到命令响应154也被视为否定响应,下文将更详细讨论这一点。路径验证处理器124跟踪从发送到本地PE路由器的多个路径验证消息152中每一个接收到的一组命令响应154,如步骤208所示,并且基于从本地PE路由器接收到响应154,断定网络100中消息流量144的替换路由选择路径,如步骤209所示。因此,从CE路由器120发送的该组路径验证消息152引发一组命令响应154,每个命令响应指示路径验证信息。典型的路径验证信息例如是关于路由器是否能够与端到端网络的特定网段通信的指示。整个这组命令响应154指示哪些网段正确工作,因此使故障的发生本地化,现在将更详细讨论这一点。
图3是图1的示例性网络的CE路由器120中的路径验证处理器124的框图。参考图3,网络100包括客户装备120-11..120-13(总称为120),提供商装备130-11、130-12和132-11,以及中间节点142-11..142-15(总称为142)。通过网络100的路径可被细分为网段160,这些网段由客户装备120和提供商装备130、132定界,并且由点线168示出。本地VPN网段162包括从本地VPN 110到提供商装备130-11和130-12的路径。
核心网段164包括去往远程提供商装备132-11设备的核心网络140,远程VPN网段166覆盖从远程PE路由器132-11到远程VPN 112的路径。另外的多个主机S1、S2和S3位于远程VPN LAN子网112内,例如本地LAN服务器节点,下文将对其进行更详细讨论。
在特定配置中,路径验证处理器124利用PE节点130使用路径验证协议(PVP),以通知CE节点120路径可用性,以识别发生故障的网段160。由于对核心网段164的路由选择控制可能是有限的,因此CE路由器120进行的路由选择判决的有效性可能是有限的。但是,在本地网段162中,可能有多个PE路由器130-11、130-12用于接入到核心网络164中。此外,这些PE路由器130-11、130-12可连接到核心网络140中的不同节点142,例如分别连接到142-11和142-14。因此,使用不同的提供商装备路由器130的路由选择判决可有效地绕过了核心网络140中的故障。类似地,多个CE路由器120可为特定的子网VPN服务。在所示的示例中,远程VPN LAN 112耦合到CE路由器120-12和120-13(CE2和CE3)。因此,如果132-11(PE3)上的路径验证处理器124识别出CE2或CE3的问题,则它可使用其他CE路由器来从提供商装备132接入远程子网112。
又例如,继续参考图3,从VPN子网110到VPN子网112的优选路由包括节点PE1、142-11、142-12、142-13,在PE3处离开提供商网络并在CE2处进入远程VPN子网112。进一步假设在节点142-11发生转发平面路由选择差错。因此,120-11(CE1)上的路径验证处理器124经由周期性诊断消息(下文进一步讨论)识别存在问题,并且调用路径验证协议如下。根据CE1的请求,PE1上的路径验证处理器124发送路径验证(PVP)消息152到路由器PE3,该消息实际上询问“你能看见子网112吗?”PE3可能接收到该PVP消息,也可能未接收到。如果它接收到,则PE3发送另一个PVP消息以测试去往子网112的远程网段166,并且确认连续性。因此,PE3将命令响应154发送回PE1,指示从PE3到CE2的网段166正确工作。然而,如果在PE3和CE2之间检测到问题,则PE3上的路径验证处理器124可使用CE3,作为进入VPN子网112的重路由判决。如果接收到指示网段164和166完好(例如在这种情况下是节点142-11没有问题)的肯定响应,则CE1上的路径验证处理器124可推断问题出在节点130-11。
如果PE1上的路径验证处理器124在设置的时间内未接收到对它发送到PE3的PVP消息的响应,则它将假设在其自身和PE3之间存在问题,因此通过核心网段164中的节点142前进,最终尝试询问节点142-11。PE1上的路径验证处理器124发送PVP消息152到节点142-11。由于PE1可工作,并且它从节点142-11接收到对其PVP消息的肯定响应,因此它可推断问题出在节点142-11和142-12之间,并且PE1发送命令响应154到CE1 120-11,指示核心数据平面故障为故障源,而不是正常的收敛事件。因此,路由器CE1处的路径验证处理器124分析返回的命令响应154,并且确定不应当使用PE1路由器130-11。此外,路径验证处理器124识别出路由器PE2 130-12为进入核心网络140的替换入口,它也提供了去往PE3的路径。因此,CE1上的路径验证处理器124实现路由选择判决,以推翻路由选择逻辑122,以经由提供商装备路由器130-12(PE2)发送流量到核心网络140。
图4-7是在图3的网络中利用图1的路径验证设备(即路由器)120的路径验证机制的操作的流程图。参考图1和图3-7,这里公开的使用路径验证处理器124识别网络故障的方法包括周期性地发送诊断消息150到多个预定的路由选择点,例如目的地116,如步骤300所示。路径验证处理器124为了识别中间节点,识别与测试发起者和目的地之间的网络跳相对应的网络前缀,如步骤301所示。该下一跳一般是本地附接的PE路由器。如上所述,典型的TCP/IP(传输控制协议/因特网协议)路由选择配置为个体设备或路由器分配指示它可路由到或“看见”的IP地址的网络前缀。因此,CE1上的路径验证处理器124只能看见其本地附接的PE路由器,因此必须依赖于来自这些PE的PVP处理结果。PE路由器能够经由一组前缀识别活动路径146,该组前缀限定了它和去往目的地116的出口点(即132-11(PE3))之间的路径146中的路由器。
路径验证处理器124基于驱动端到端路径检查的可抖动且可配置的定时器来交错发送诊断消息150到每个前缀,如步骤302所示。路径验证处理器124以恒定的间隔发送或查询活动路由,如上所述。使消息150交错避免了在每个间隔诊断消息150的骤然突发。这种接收诊断消息150的前缀被标为重要前缀(其可利用访问列表来识别),并且对应于具有实质性的逻辑路由选择价值的网络路由选择点,如步骤303所示。此外,路径验证处理器124从重要前缀中确定活动前缀,其中活动前缀指示前一阈值定时窗口期间的实质量的路由选择流量,如步骤304所公开。此外,某些前缀可能经历休眠时段,或者可能主要在特定时间被利用,例如在每日或每周备份或下载时。因此,对实质量路由选择流量负载的确定是基于所传输的预定最小量字节的,并且重要路径对应于若干个可用的替换路由选择路径,如步骤305所示。例如,金融机构往往可能在业务周结束时(即星期五下午)进行许多事务。因此,某些前缀可被指明为仅在星期五下午活动,因为在这种时间,路由选择问题可能尤其会侵害业务操作。在确定活动前缀之后,路径验证处理器124发送诊断消息150到重要的活动前缀,如步骤306所示。
如步骤307所示,路径验证处理器124执行检查以确定是否诊断消息150中的任何一个指示出问题,这一般是由未接收到确认引起的。如果没有诊断消息150指示了问题,则控制回到步骤300以等待下一间隔。但是,如果一个或多个目的地未确认诊断消息150,则路径验证处理器124开始发送一系列路径验证消息,其中每个路径验证消息包括一个命令,该命令可操作来引导中间PE节点执行以下操作a)发送另一个消息到路径中后继的中间节点,b)接收来自该另一个消息的结果,以及c)报告该结果以作为命令响应,其中该结果指示后继的中间节点的可达性,如步骤308所示。
在步骤300-306中公开的去往每个活动路由的周期性诊断消息150(即去往活动前缀的消息)之后,路径验证处理器124应用路径验证以识别和定位未回复的前缀的问题。如步骤309所示,对于每个有问题的目的地,PE1上的路径验证处理器124根据诊断协议发送多个路径验证消息152到多个预定的网络点(即活动前缀),如步骤310所示。在这里的示例性配置中,路径验证消息152是根据预定协议的探测消息,其中探测消息包括测试指示符和目的地指示符,以便探测消息152引发来自每个路径验证消息152的命令响应154,从而允许PE1上的路径验证处理器124根据预定的协议应用诊断逻辑,如步骤311所示。路径验证消息152中的测试指示符和目的地指示符包括关于其他远程节点142及其可达性的信息。接收方节点142执行所请求的对目的地指示符中的节点的检查,并将测试结果写入测试指示符中。例如,节点142-1接收询问提供商边缘PE节点132(图1)的可达性的消息。此外,PE节点130接收到类似的消息。如果PE节点130能够看见PE节点132,但是节点142-1不能看见节点132,则似乎在节点142-1处存在问题。可以假设,PE节点130经由节点142-2访问PE节点132,去往142-2的后续路径验证消息可以确认。在这两种情况下,PE1上的路径验证处理器124都请求和获得测试指示符字段中携带的关于通过不同的远程节点访问另一个不同的远程节点的信息,而不仅仅是识别路径验证处理器124本身可达的节点。典型的传统查验和相关操作只识别针对发送方节点(进行查验操作的节点)的成功,而不代表其他节点。
继续上述示例,路径验证处理器124接收与发送的路径验证消息152相对应的命令响应154,其中命令响应154包括根据诊断协议的关于目的地指示符中的节点的测试结果,如步骤312所示。路径验证处理器124聚集命令响应154,以跟踪从沿着从源到目的地的特定可疑路径发送的多个路径验证消息152中每一个接收的命令响应,如步骤313所示。在步骤314,执行检查以确定被跟踪的命令响应是否指示问题。如果不,则路径验证处理器124继续重复发送路径验证消息到指示所述问题的节点的沿着所述路径的后继节点(如步骤315所示),因此遍历沿可疑路径的每个前缀以识别原因。
如果特定命令响应154指示出问题,则在步骤314,PE1上的路径验证处理器124尝试检测核心网段164中的核心网络问题。通常,网络在路由器之间提供多个物理路径,并且路由器自适应地改变路由以避开问题区域。这种作法被称为收敛,并且可以在路径验证消息经由命令响应154指示故障之后立刻发生。
因此,路径验证处理器识别没有接收到与第一路径验证消息152相对应的命令响应或接收到与第一路径验证消息152相对应的否定命令响应,如步骤316所示。路径验证处理器124随后等待预定的阈值,其中该预定阈值对应于一个收敛时间,该收敛时间适合于允许自动路由选择表更新以补偿不稳定的路由,如步骤317所示。在收敛阈值时间之后,路径验证处理器发送第二路径验证消息,其中接收到对第二路径验证消息152的命令响应154指示绕开不稳定路由的路由选择表改变或其他收敛校正,如步骤318所示。
如果路径验证处理器接收到来自第二路径验证消息的肯定响应,如步骤319所示,则路径验证消息处理器断定核心网段164内的收敛问题,并将此报告回CE1,并且控制回到步骤300,直到下一诊断间隔。如果收敛阈值检查没有解决故障,则路径验证处理器分析接收到的来自后继的路径验证消息的命令响应,以识别问题或故障,如步骤320所示,并将此报告给CE1。
路径验证处理器聚集并分析针对去往指示故障的前缀的路径所接收的响应154。分析响应消息154还包括识别接收和未接收,其中接收包括来自发送消息的预定网络点的可访问路径的指示,未接收根据诊断逻辑指示调解故障,如步骤321所示。在从源到目的地的特定路径中,这种分析可包括分析接收到的来自路径验证消息的命令响应以识别命令响应指示有问题的第一中间节点以及对诊断消息的命令响应指示正常操作的前面的中间节点,如步骤322所公开。换言之,分析力求识别在该处可识别故障的第一网络跳。紧挨着的前一跳或者说路径上可达(即响应154指示没有问题)的最后一个成功前缀和第一个不成功跳,从而标识发生故障的范围。这种分析可操作来识别指示无法沿假定的最优路径传播消息的转发平面差错,如步骤323所示。如上所述,转发平面差错,例如关于转发引擎、端口或交换架构的故障,可能不会立即在作出路由选择判决的控制平面(即路由选择逻辑)处变得明显。通过询问沿着已知有问题的路径的后继跳,可以识别第一个发生错误的跳。
在特定配置中,收敛场景是基于整体流量的量来审查的。在拥塞网络中,冒险丢弃一些分组并等待滞后时间以便收敛阈值过去而不是通过已知的拥塞路由重新路由分组,可能是有益的。
一旦分析指示出发生错误的位置、跳或节点,路径验证处理器124就基于网络故障的位置和性质识别在该处更改流量的网络点,如步骤324所示。例如,给定从本地VPN LAN 110到远程VPN LAN 112(图3)的路径,如果在路由器PE1(130-11)中或在去往节点142-11的跳中发现问题,则替换路径是从CE1重新路由流量以使之在PE2(130-12)而不是PE1处进入核心网络140,以避开故障并且仍维持去往位于核心网络140远侧的PE3的路径。此外,中间节点表示网段160,其中网段还包括客户设备和核心网络之间的本地网段162、代表多个提供商设备的核心网段164和核心网络和目的地之间的远程网段166,从而使得跟踪还包括识别响应所源自的网段,如步骤325所示。在特定配置中,网段可由与路径验证处理器或本地CE路由器120的距离来标识,其中网段还包括从客户边缘路由器到中间网络到远程边缘路由器的第一网段162、提供商边缘路由器之间的第二网段164和从提供商边缘路由器到远程客户边缘路由器的第三网段166,如步骤326所示。
如上所述,对替换路由的确定可包括改变与假定的可工作路径相对应的控制平面路由选择判决,如步骤327所示。路径验证处理器124基于步骤320的分析确定替换路由,以绕过在步骤324被识别为所指示问题的源的中间节点,如步骤328所公开。基于响应消息的接收的路由选择判决的结论包括基于在响应中接收的测试结果确定是否在网络中重路由流量,如步骤329所公开的,并且如果是,则基于接收和未接收到来自特定网络点的响应来定位可操作来将流量传输到同一目的地或VPN子网的替换路径。
参考图3,控制平面路由选择判决可如下进行。从本地VPN LAN 110起的最优(最短)路径包括经由142-11、142-12和142-13从PE1到PE3。参考上述示例,PE1上的路径验证处理器124识别故障发生在去往远程VPN LAN 112的最优(最短)路径中包括的节点142-11中的转发引擎。传统的方法将会使控制平面继续沿最优路径进行路由,从而导致节点142-11处的黑洞效应和/或排队。还注意到,在一些情况下,核心网络可能是公共接入网络和/或外部提供商网络,因此不会直接对路径验证处理器作出响应(即不像VPN那样在用户的直接控制之下)。然而,CE1上的路径验证处理器124观察到经由PE2通过节点142-14和142-15的替换路径在142-13处与最优(最短)路径汇合。CE1上的路径验证处理器124推翻倾向于以PE1作为进入核心140的优选入口的路由选择逻辑122,并且使用PE2作为替换路径。因此,路径验证处理器通过观察和确定路由选择逻辑122能够控制的新的PE设备而解决了核心网络中的问题(142-11),并且避免了会继续将流量引导到故障节点142-11的数据平面状况。类似地,如果问题被诊断为影响了CE2,则从PE3进入远程VPN LAN 112的替换路径包括CE3。
更详细地说,图3的系统中的示例性PVP场景如下。继续参考图3,如果从同一VPN的不同的本地附接的客户端接收到针对同一远程目的地的多个请求,则PE路由器应当聚集路径验证检查。PE在发起某些路由时充当下一跳本身。因此,接收来自请求验证去往116-1和116-2的路径的CE的PVP消息的PE将能够看到两个前缀都具有同一BGP下一跳(即远程PE3)。利用这种信息,可按如下方式为路径的核心部分164聚集PVP过程注意,对于下面的示例,如图3所示,CE1连接到PE1和PE2。还要注意CE2附接到PE3,并且CE3也附接到PE3。关于子网前缀116-1、116-2和116-3,前缀PE1连接到CE1、前缀116-1、116-2和116-3连接到CE2和CE3,如下面的序列所描述-CE1希望验证去往前缀116-1、116-2和11-63的路径。这假设了先前去往这些设备的查验已经失败-CE1读取前缀的共性(community)/标签,并找出哪些是前缀的下一跳,如下116-1->PE1116-2->PE1116-3->PE1-CE1准备3个PVP消息。这些消息可以是基本的或高级的,详见下ο目的地为PE1针对116-1的PVPο目的地为PE1针对116-2的PVPο目的地为PE1针对116-3的PVP-CE1将PVP消息发送到PE1-PE1检查这些PVP消息的目的地,并找出前缀116实际上连接到同一PE(PE3)。
-如果请求是基本检查,则PE1将会向前缀116中的每一个发送一个查验。如果成功,则它将会以肯定响应对CE1作出响应。如果查验失败,则它将会以否定响应对CE1作出响应。
-如果请求是高级检查,则PE1准备一个PVP消息ο针对PE3的PVP(包括针对116-1、116-2和116-3的PVP)-PE1将该PVP消息发送到PE3-当PE3接收到PVP消息时,它将会ο检查谁是去往116-1、116-2和116-3的下一跳,并发现使用了相同的下一跳ο发起到适当CE的PVP消息。
-假设是对BPV(基本路径验证)的请求,则客户端(在本示例中即本地VPN LAN 110或CE1 120-11)将会接收来自PE 130-11的肯定或否定响应。如果接收到肯定响应,则它将会假设问题存在于入口PE 130-11(PE1)的交换路径内,因为该PE能够达到远程目的地,但是来自CE1的分组却不能,从而指示在PE1上存在本地交换故障,并且它因此将促成本地重路由(其细节是特定于实现方式的,取决于所使用的网络管理协议/机制)。如果响应是否定的,则客户端将会假设收敛事件正在进行中并因而不采取进一步动作,或者,基于配置和诸如沿替换路径的路径成本增长这样的标准,判定触发本地重路由。
-假设是对APV(高级路径验证)的请求,则PE路由器130将会识别问题是存在于(1)核心网络146内,(2)远程PE路由器132内,还是(3)核心网络之外。
-如果问题在核心网络164内,则PE 130将会向客户端120-11作出响应,指示核心146问题。依赖于基于定时器的方法的技术可被用于此目的,从而PE 130可启动一个定时器,该定时器的值将会反映最坏IGP收敛时间。客户端应当将该信息理解为意味着正在发生收敛事件,因此不采取动作。
-如果问题在于远程PE路由器132,则PE将会向客户端作出响应以指示这一点。远程PE路由器132的故障可以是真实故障(例如路由处理器、电源、线路卡等),在这种情况下收敛事件正在进行,或者该故障可以是交换故障,在这种情况下收敛事件并未进行。在任一种情况下,如果经由另一PE的另一路径可用,客户端CE1就将会发起本地重路由,而不论该路径的成本是否大于当前最佳路径(即,应当触发层间故障通知机制)。这将会增加到经由另一PE或经由同一PE的不同可工作接口到达目的地。
-如果问题在核心网络164之外,则客户端CE1应当不采取动作。
-在任何故障情况下,客户端应当记录从PE路由器接收的验证响应。
-一旦本地重路由被发起,客户端就启动可配置的定时器Y,在该定时器期满时新的验证被触发。这是为了确保一旦原始故障的原因已得以矫正并且倘若路由选择协议仍选择原始(故障前)路径作为最佳路径,更优的路径会被重新建立。
本领域的技术人员将很容易认识到,这里定义的用于识别网络故障的程序和方法可以以许多形式递送到处理设备,所述形式包括但不限于a)永久存储在诸如ROM设备这样的不可写存储介质上的信息,b)可改变地存储在诸如软盘、磁带、CD、RAM设备和其他磁介质和光介质之类的可写存储介质上的信息,或者c)通过通信介质传输到计算机的信息,例如利用基带信令或宽带信令技术传输到计算机的信息,就像诸如因特网或电话调制解调器线路之类的电子网络中那样。这些操作和方法可实现在软件可执行对象中,或者实现为嵌入在载波中的一组指令。或者,这里公开的操作和方法可整体或部分地利用硬件组件或者硬件、软件和固件组件的组合实现,所述硬件组件例如是专用集成电路(ASIC)、现场可编程门阵列(FPGA)、状态机、控制器或其他硬件组件或设备。
虽然已经参考其实施例具体地示出和描述了用于识别网络故障的系统和方法,但是本领域的技术人员将会理解,在不脱离由所附权利要求所限定的本发明的范围的情况下,可对其作出各种形式和细节上的改变。因此,本发明只打算由所附权利要求所限。
权利要求
1.一种识别网络故障的方法,包括周期性地发送诊断消息到沿着去往目的地的路径的多个预定的路由选择点;如果所述诊断消息指示沿着所述路径的中间节点存在问题,则发送一系列路径验证消息,每个所述路径验证消息包括一个命令,该命令可操作来引导中间节点发送另一消息到所述路径中的后继中间节点,接收来自所述另一消息的结果,并且将所述结果作为命令响应进行报告,所述结果指示所述后继中间节点的可达性;重复发送路径验证消息到指示所述问题的节点的沿着所述路径的后继节点;分析接收到的来自所述后继路径验证消息的命令响应以识别问题;以及基于所述分析确定替换路径,以绕过被识别为所指示问题的源的中间节点。
2.如权利要求1所述的方法,其中分析还包括分析接收到的来自所述路径验证消息的命令响应,以识别所述命令响应指示有问题的第一中间节点和对所述诊断消息的命令响应指示正常操作的前面的中间节点。
3.如权利要求2所述的方法,其中所述中间节点表示网段,所述网段还包括客户设备和核心网络之间的本地网段,代表多个提供商设备的核心网段,以及所述核心网络和所述目的地之间的远程网段,跟踪还包括识别响应所源自的网段。
4.如权利要求3所述的方法,其中所述网段还包括从客户边缘路由器到中间网络到远程边缘路由器的第一网段、提供商边缘路由器之间的第二网段和从提供商边缘路由器到远程客户边缘路由器的第三网段。
5.如权利要求1所述的方法,其中发送还包括根据诊断协议发送多个路径验证消息到多个预定的网络点;接收与发送的路径验证消息相对应的命令响应,所述命令响应包括根据所述诊断协议的测试结果;以及跟踪从沿着从源到目的地的路径发送的所述多个路径验证消息中的每一个接收的命令响应。
6.如权利要求5所述的方法,其中分析还包括识别接收和未接收,其中所述接收包括来自发送所述消息的预定网络点的可访问路径的指示,未接收根据诊断逻辑指示调解故障。
7.如权利要求6所述的方法,还包括基于所述网络故障的位置和性质,识别在该处更改流量的网络点。
8.如权利要求7所述的方法,还包括识别与具有实质性的逻辑路由选择价值的网络路由选择点相对应的重要前缀;以及发送所述诊断消息到所述重要前缀。
9.如权利要求8所述的方法,还包括确定活动前缀,所述活动前缀指示在前一阈值定时窗口期间的实质量的路由选择流量。
10.如权利要求9所述的方法,其中所述实质量的路由选择流量负载是基于所传输的预定最小量字节的,并且所述重要路径对应于多个可用的替换路由选择路径。
11.如权利要求10所述的方法,其中所述路径验证消息是根据预定协议的探测消息,所述探测消息包括测试指示符和目的地指示符,并且断定还包括根据所述预定协议应用诊断逻辑。
12.如权利要求11所述的方法,还包括基于驱动端到端路径检查的可抖动且可配置的定时器来交错所述诊断消息。
13.如权利要求12所述的方法,其中识别所述中间节点还对应于识别与测试发起者和目的地之间的网络跳相对应的网络前缀。
14.如权利要求1所述的方法,其中分析还包括识别指示无法沿假定的最优路径传播消息的转发平面差错,并且确定包括改变与所述假定可工作路径相对应的控制平面路由选择判决。
15.如权利要求14所述的方法,其中发送所述路径验证消息还包括发送第一路径验证消息;识别没有接收到与所述第一路径验证消息相对应的命令响应;等待预定的阈值,该预定阈值对应于一个收敛时间,该收敛时间适合于允许自动路由选择表更新以补偿不稳定的路由;以及发送第二路径验证消息,其中接收到对所述第二路径验证消息的命令响应指示绕开所述不稳定路由的路由选择表改变。
16.一种用于定位网络故障的方法,包括根据诊断协议发送多个路径验证消息到多个预定的网络点;接收与发送的路径验证消息相对应的命令响应,所述响应包括根据所述诊断协议的测试结果;跟踪从沿着从源到目的地的路径发送的所述多个路径验证消息中的每一个接收的命令响应;以及基于接收到来自所述预定网络点的响应,断定所述网络中消息流量的替换路由选择路径。
17.如权利要求16所述的方法,其中基于接收消息而断定还包括基于在所述响应中接收的测试结果,确定是否在所述网络中重路由流量;以及基于接收和未接收来自特定网络点的响应,定位替换路径。
18.一种用于定位有缺陷的网络互连的方法,包括识别从数据通信设备到远程网络目的地的路径,该路径还包括多个网段,每个网段由一跳来界定;识别故障点包括识别由去往所述目的地的路径限定的网段顺序;反复发送探测到沿着所述有序路径的每个后继跳;如果针对特定跳有探测响应返回,则断定所述路径直到与返回的探测相对应的跳都无阻塞;如果对于特定探测没有接收到探测响应,则断定在与所述特定探测相对应的跳和前一跳之间存在阻塞;基于与断定出的阻塞相对应的跳,识别替换路径;以及基于识别出的替换路径,确定是否将消息流量引导到所述识别出的替换路径。
19.一种用于网络故障位置识别的方法,包括枚举一组重要路由,所述重要路由通过关键路径传送着实质性的流量负载;基于最近传送的流量从所述重要路由中识别活动路由;对于每个识别出的活动路由,确定是否存在无阻塞的网络路径;对于被确定具有阻塞的每个活动路由,应用路径验证以识别与阻塞点相对应的路径网段,所述路径验证过程还包括查验多个中间跳中的每一个;识别其查验响应有缺陷的跳;如果所述查验响应有缺陷,则在等待收敛阈值延迟之后重查验所述跳;如果接收到对重查验的响应,则断定已被重路由以绕开的核心网络故障;以及如果未接收到重查验响应,则确定在被重查验的跳和前一跳之间的某个点存在故障。
20.一种识别网络故障的数据通信设备,包括可操作来存储指令和数据的存储器;耦合到所述存储器的执行单元,所述执行单元与所述数据通信,并且可对所述指令作出响应;耦合到其他数据通信设备的网络接口;所述执行单元中的路径验证处理器,该路径验证处理器可操作来经由所述网络接口周期性地发送诊断消息到沿着去往目的地的路径的多个预定的路由选择点,并且还可操作来在所述诊断消息指示沿着所述路径的中间节点存在问题的情况下,发送一系列路径验证消息,每个所述路径验证消息包括一个命令,该命令可操作来引导中间节点发送另一消息到所述路径中的后继中间节点;接收来自所述另一消息的结果;并且将所述结果作为命令响应进行报告,所述结果指示所述后继中间节点的可达性,所述路径验证处理器还可操作来重复发送路径验证消息到指示所述问题的节点的沿着所述路径的后继节点;分析接收到的来自所述后继路径验证消息的命令响应以识别问题;以及所述存储器中的路由选择逻辑,其可对所述路径验证处理器作出响应,并且可操作来基于所述分析确定替换路径,以绕过被识别为所指示问题的源的中间节点。
21.如权利要求20所述的数据通信设备,其中所述路径验证处理器还可操作来分析接收到的来自所述路径验证消息的命令响应,以识别所述命令响应指示有问题的第一中间节点和对所述诊断消息的命令响应指示正常操作的前面的中间节点。
22.如权利要求21所述的数据通信设备,其中所述中间节点表示网段,所述网段还包括客户设备和核心网络之间的本地网段,代表多个提供商设备的核心网段,以及所述核心网络和所述目的地之间的远程网段,跟踪还包括识别响应所源自的网段。
23.如权利要求20所述的数据通信设备,还包括耦合到所述路径验证处理器的网络接口,该网络接口可操作来根据诊断协议发送多个路径验证消息到多个预定的网络点;接收与发送的路径验证消息相对应的命令响应,所述命令响应包括根据所述诊断协议的测试结果;以及将所述命令响应转发到所述路径验证处理器,以便跟踪从沿着从源到目的地的路径发送的所述多个路径验证消息中的每一个接收的命令响应。
24.如权利要求23所述的数据通信设备,其中所述路径验证处理器还可操作来识别与具有实质性的逻辑路由选择价值的网络路由选择点相对应的重要前缀;以及发送所述诊断消息到所述重要前缀。
25.如权利要求24所述的数据通信设备,其中所述路径验证处理器还可操作来确定活动前缀,所述活动前缀指示在前一阈值定时窗口期间的实质量的路由选择流量。
26.如权利要求25所述的数据通信设备,其中所述路径验证消息是根据预定协议的探测消息,所述探测消息包括测试指示符和目的地指示符,并且断定还包括根据所述预定协议应用诊断逻辑。
27.如权利要求20所述的数据通信设备,其中所述路径验证处理器还可操作来识别指示无法沿假定的最优路径传播消息的转发平面差错,并且确定包括改变与所述假定可工作路径相对应的控制平面路由选择判决。
28.如权利要求14所述的数据通信设备,其中发送所述路径验证消息还包括发送第一路径验证消息;识别没有接收到与所述第一路径验证消息相对应的命令响应;等待预定的阈值,该预定阈值对应于一个收敛时间,该收敛时间适合于允许自动路由选择表更新以补偿不稳定的路由;以及发送第二路径验证消息,其中接收到对所述第二路径验证消息的命令响应指示绕开所述不稳定路由的路由选择表改变。
29.一种具有计算机可读介质的计算机程序产品,该计算机可读介质可操作来存储体现在编码在其上的计算机程序代码中的计算机程序逻辑,用于识别识别网络故障,包括用于周期性地发送诊断消息到沿着去往目的地的路径的多个预定的路由选择点的计算机程序代码;用于如果所述诊断消息指示沿着所述路径的中间节点存在问题,则发送一系列路径验证消息的计算机程序代码,每个所述路径验证消息包括一个命令,该命令可操作来引导中间节点发送另一消息到所述路径中的后继中间节点,接收来自所述另一消息的结果,并且将所述结果作为命令响应进行报告,所述结果指示所述后继中间节点的可达性;用于重复发送路径验证消息到指示所述问题的节点的沿着所述路径的后继节点的计算机程序代码;用于分析接收到的来自所述后继路径验证消息的命令响应以识别问题的计算机程序代码;以及用于基于所述分析确定替换路径,以绕过被识别为所指示问题的源的中间节点的计算机程序代码。
30.一种计算机数据信号,具有用于识别网络故障的程序代码,包括用于周期性地发送诊断消息到沿着去往目的地的路径的多个预定的路由选择点的程序代码;用于如果所述诊断消息指示沿着所述路径的中间节点存在问题,则发送一系列路径验证消息的程序代码,每个所述路径验证消息包括一个命令,该命令可操作来引导中间节点发送另一消息到所述路径中的后继中间节点,接收来自所述另一消息的结果,并且将所述结果作为命令响应进行报告,所述结果指示所述后继中间节点的可达性;用于重复发送路径验证消息到指示所述问题的节点的沿着所述路径的后继节点的程序代码;用于分析接收到的来自所述后继路径验证消息的命令响应以识别问题的程序代码;以及用于基于所述分析确定替换路径,以绕过被识别为所指示问题的源的中间节点的程序代码。
31.一种用于识别网络故障的数据通信设备,包括用于周期性地发送诊断消息到沿着去往目的地的路径的多个预定的路由选择点的装置;用于如果所述诊断消息指示沿着所述路径的中间节点存在问题,则发送一系列路径验证消息的装置,每个所述路径验证消息包括一个命令,该命令可操作来引导中间节点发送另一消息到所述路径中的后继中间节点,接收来自所述另一消息的结果,并且将所述结果作为命令响应进行报告,所述结果指示所述后继中间节点的可达性;用于重复发送路径验证消息到指示所述问题的节点的沿着所述路径的后继节点的装置;用于分析接收到的来自所述后继路径验证消息的命令响应以识别问题的装置;以及用于基于所述分析确定替换路径,以绕过被识别为所指示问题的源的中间节点的装置。
全文摘要
一种枚举发送到沿可疑路径的一组节点或路由器的一系列消息的路径验证协议(PVP)识别转发平面问题,以实现控制平面级别的改变。这些消息包括这样一个命令,该命令请求询问另一远程节点,以便获得关于接收PVP消息的节点和另一远程节点之间的路径的信息(202)。接收PVP消息的节点利用指示尝试达到另一远程节点的结果的命令响应作为答复(206)。该系列消息总体上覆盖了沿着从发源者到接收者的路径的一组重要的预定路由选择点。对该系列PVP消息的聚集命令响应被分析,以不仅识别整个路径是否可工作,并且还识别问题的位置和性质(308)。
文档编号H04J1/16GK101036330SQ200580034136
公开日2007年9月12日 申请日期2005年11月30日 优先权日2004年12月1日
发明者詹姆斯·N·古伊查德, 让-菲利普·瓦瑟尔, 克拉伦斯·A·M·菲尔斯非斯, 戴维·D·沃德, 斯特凡诺·普雷维蒂, 托马斯·D·纳德奥 申请人:思科技术公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1