首页> 中国专利> 计算机网络中用于优化路由的事件触发追踪路由

计算机网络中用于优化路由的事件触发追踪路由

摘要

本发明提供了计算机网络中用于优化路由的事件触发追踪路由。在一个实施例中,网络设备可以检测计算机网络中从本地网络域到远程域的目的地地址前缀的当前路径上的事件。作为响应,该设备可以动态地确定目的地地址前缀内的追踪目标目的地地址,并且可以对当前路径以及网络中从本地网络域到追踪目标的替代路径选集执行追踪路由,其中,追踪路由适用于获取沿各条被追踪路径的每跳度量。这些度量随后可以被存储,例如以用于最佳路径选择、故障标识报告等。

著录项

  • 公开/公告号CN101505230A

    专利类型发明专利

  • 公开/公告日2009-08-12

    原文格式PDF

  • 申请/专利权人 思科技术公司;

    申请/专利号CN200910008545.6

  • 申请日2009-01-23

  • 分类号H04L12/24;H04L12/56;

  • 代理机构北京东方亿思知识产权代理有限责任公司;

  • 代理人李晓冬

  • 地址 美国加利福尼亚州

  • 入库时间 2023-12-17 22:23:16

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2013-04-24

    授权

    授权

  • 2009-10-07

    实质审查的生效

    实质审查的生效

  • 2009-08-12

    公开

    公开

说明书

技术领域

本发明一般地涉及计算机网络,更具体地涉及计算机网络中用于优化路由的追踪路由(traceroute)操作。

背景技术

当前,当在计算机网络中发生网络事件(例如,性能问题)时,通常希望确定该问题的诱因,例如,为什么流量不再到达网络中的目的地,或者为什么到达目的地的延迟变得不可接受。但是,时常,到系统管理员得到通知去检查问题时,网络可能已经自我校正,因而隐藏了问题使其无法被检测到。特别地,管理员通常不得不去本地域的特定边缘路由器,并手动对正遭遇性能问题的目的地运行诊断。

追踪路由(例如,用于因特网协议或“IP”的传统追踪路由)是管理员可以使用的一种功能,该功能允许管理员看见对网络中从追踪路由操作的源到选定的最终目标目的地的各节点的逐跳(每跳)追踪。例如,当目的地前缀不可到达时,网络管理员通常并不知晓管制(brownout)(即,临时网络断供)或中断(blackout)(即,具有分组进入但无外出的情况或配置的网络区域)确切地发生在网络中的何处。此外,当发生拥塞并且应用经历比预计更大的分组丢失或往返时间(RTT)时,可能有利的是查看从源到目的地的每跳度量。在这些情形中,可以由管理员使用追踪路由来确定每条度量以诊断问题。但是,同样的,手动应用追踪路由诊断所具有的问题在于网络事件可能不再处于发生中(例如,可能已被校正)。

另外,与追踪路由相关联的另一个问题是确定要将追踪路由导向的适当的追踪目标。例如,某些目标可能是不工作的(例如,事件的诱因),或者管理员通常可能仅仅知晓具有问题的目的地地址前缀,而不知晓追踪路由工作所需的该前缀内的特定目标地址。此外,传统追踪路由通常被应用于从源到目标目的地的当前路径(例如,通过各种路由协议确定的“最佳”路径),并且不提供例如针对通过网络的任何替代可用路径的额外度量,这些额外度量在其它情况下可用于额外目的。

发明内容

根据本发明的一个方面,提供了一种方法,其包括:检测网络中从本地网络域到远程域中的目的地地址前缀的当前路径上的事件;动态确定所述目的地地址前缀内的追踪目标目的地地址;响应于所述事件,对所述当前路径和所述网络中从所述本地网络域到所述追踪目标的替代路径选集执行追踪路由;通过所述追踪路由获取沿各条被追踪路径的每跳度量;以及存储所述度量。

根据本发明另一个方面,提供了一种装置,包括:一个或多个网络接口,该一个或多个网络接口适用于与网络中的本地网络域的节点通信;处理器,该处理器与所述网络耦合并且适用于运行一个或多个处理;以及存储器,该存储器适用于存储可由所述处理器运行的优化边缘路由(OER)追踪路由处理。所述OER追踪路由处理在被运行时可操作用于:检测所述网络中从所述本地网络域到远程域中的目的地地址前缀的当前路径上的事件;动态确定所述目的地地址前缀内的追踪目标目的地地址;响应于所述事件,请求对所述当前路径和所述网络中从所述本地网络域到所述追踪目标的替代路径选集执行追踪路由;以及通过所述追踪路由来获取沿各条被追踪路径的每跳度量。所述存储器还适用于存储所述度量。

附图说明

通过结合附图来参考以下描述,可以更好地理解本文所描述的实施例,在附图中,相似标号指示相同或功能相似的元件,其中:

图1图示了一个示例计算机网络;

图2图示了一个示例网络设备/节点;

图3图示了像图1一样的一个示例计算机网络;

图4图示了一个示例度量表;以及

图5图示了用于优化路由的事件触发追踪路由的示例过程。

具体实施方式

概况

根据本公开的一些实施例,网络设备(例如,主控制器)可以检测计算机网络中从本地网络域到远程域的目的地地址前缀的当前路径上的事件。作为响应,该设备可以动态地(例如,智能地)确定目的地地址前缀内的追踪目标目的地地址,并且可以执行(或请求执行)对当前路径以及网络中从本地网络域到追踪目标的替代路径的选集(a selection of alternatepaths)的追踪路由,其中,追踪路由被用于获取沿各条被追踪路径的每跳度量。这些度量随后可以被存储,例如以用于最佳路径选择、故障标识报告等。

描述

计算机网络是通过用于在端节点(例如,个人计算机和工作站)之间传送数据的通信链路和分段互连的节点的地理分布集合。可以有许多种网络,其中,种类的范围从局域网(LAN)到广域网(WAN)不等。LAN通常经由位于诸如楼宇或校园之类的同一总的物理位置中的专用私有通信链路来连接节点。另一方面,WAN通常经由诸如公共载波电话线路、光路径、同步光网络(SONET)或同步数字体系(SDH)链路之类的长距离通信链路来连接地理上分散的节点。因特网是连接全世界的分立网络的WAN的一个示例,其提供了各种网络上的节点之间的全球通信。这些节点通常通过根据诸如传输控制协议/因特网协议(TCP/IP)之类的预定义协议交换离散的数据帧或分组来经由网络通信。在这种上下文中,协议由定义了节点如何交互的一组规则组成。计算机网络还可以通过诸如路由器之类的中间网络节点来互连,以扩展各个网络的有效“大小”。

因为对互连计算机网络的管理可以证明是繁重的,所以可以将较小群组的计算机网络维护为路由域或自治系统。自治系统(AS)内的网络通常通过被配置为运行“域内”(intradomain)路由协议的传统域内路由器来耦合在一起,并且通常经历公共授权。为了提高路由可扩展性,服务提供商(例如,ISP)可以将AS划分为多个“区域”或“级别”。但是,可能希望增加能够交换数据的节点数目;在这种情况下,运行域间路由协议的域间路由器被用于互连各个AS的节点。并且,可能希望互连在不同管理域下操作的各个AS。本文中所使用的AS、区域或级别被统称为“域”,并且将不同域互连在一起的节点被统称为“边缘节点/路由器”(或者“边界节点/路由器”)。

图1是一个示例计算机网络100的示意性框图,该计算机网络100例示地包括节点(例如,个人计算机、工作站等)S1、T1和T2,这些节点通过如图所示的一个或多个网络域(例如,AS1-AS4)之间的链路和网络设备(例如,路由器)来互连(显然,AS内的链路/路由器为了简化起见而未被示出)。例示性地,每个域都可以包括一个或多个域间/边缘路由器,例如,ER1-ER8,诸如数据分组流量之类的客户端通信通过所述路由器可以进入或流出AS,如图所示。一般而言,各个AS可以是企业网络、服务提供商网络(ISP)或者任何其它网络或子网络。此外,各个AS(例如AS1和AS4)可以是多归属的(multi-homed),即,包括到一个或多个其它路由域或AS的多个不同对等(相邻)连接(例如,AS1分别经由ER1和ER2而连接到AS2和AS3)。另外,在某些边缘节点ER1-2处的路由操作可以由路由主控制器(RMC)201例如根据本文中所描述的优化边缘路由(OER)(例如,作为OER“主节点”或OER主控制器)来管理,路由主控制器(RMC)201可以通过例如点到点链路或局域网来连接到边缘节点。

可以使用诸如TCP/IP、用户数据报协议(UDP)、异步传送模式(ATM)协议、帧中继协议、因特网分组交换(IPX)协议等的预定义网络通信协议,在计算机网络100的节点/设备之间交换数据分组140(例如,流量)。

图2是例如作为路由主控制器(201)或路由器(例如,边缘路由器,“202”),可以有利地结合本文所描述的一个或多个实施例使用的示例节点/设备200的示意框图。该设备包括通过系统总线250互连的多个网络接口210、一个或多个处理器220和存储器240。网络接口210包含机械的、电的、和信号传递电路,用于经由耦合到网络100的物理链路来传送数据。网络接口可被配置为使用各种不同的通信协议来发送和/或接收数据,所述通信协议包括TCP/IP、UDP、ATM、同步光网络(SONET)、无线协议、帧中继、以太网、光纤分布式数据接口(FDDI)等。显然,物理网络接口210还可用于实现例如用于虚拟私有网络(VPN)接入的一个或多个虚拟网络接口,这是本领域技术人员已知的。

存储器240包括可由一个或多个处理器220和网络接口210寻址的多个存储位置,用于存储与本文所描述的实施例相关联的软件程序和数据结构。每个处理器220可以包括用于运行软件程序和操纵诸如路由表249和度量表400之类的数据结构的必要元件或逻辑。操作系统242(例如,思科系统公司的网络互连操作系统或IOSTM)通过调用支持在设备上运行的软件处理和/或服务的网络操作及其它而在功能上组织节点,其中,操作系统242的某些部分通常位于存储器240中并由一个或多个处理器运行。根据本文所描述的一个或多个实施例,这些软件处理和/或服务可以包括路由处理/服务247、OER/主OER处理/服务245和(例如,与OER处理245协同的)追踪路由处理/服务246。本领域技术人员将清楚,包括各种计算机可读介质在内的其它处理器和存储器装置可用于存储和运行涉及本文所描述的发明技术的程序指令。

本领域技术人员将会了解,路由处理/服务247包含这样的计算机可执行指令,这些计算机可执行指令由各个处理器220运行以执行由诸如内部网关协议(IGP)(例如,开放最短路径优先“OSPF”和中间系统到中间系统“IS-IS”)、边界网关协议等的一个或多个路由协议提供的功能。这些功能可被配置为管理一个或多个路由/转发信息数据库(例如,路由表249),该路由/转发信息数据库包含例如用于作出路由和转发决定的数据。具体而言,路由表通常用于存储用以到达各个目的地的可到达目的地地址、下一跳接口、和下一跳地址,以及基于网络拓扑可选的其它信息,例如到达目的地的关联尺度(例如,成本)。特别地,可以使用诸如传统OSPF和IS-IS链路状态协议之类的路由协议在路由器200之间传送网络拓扑的改变(例如,以“收敛”于网络拓扑的相同视图)。显然,路由服务247还可以执行与虚拟路由协议有关的功能,例如维护VRF实例(未示出),或者与隧道传输协议有关的功能,例如用于多协议标签切换等,这些功能各自为本领域技术人员所理解。

OER/主OER处理/服务245包含这样的计算机可执行指令,这些计算机可执行指令由各个处理器220运行以执行例示性地分别由OER节点202(例如,边缘路由器ER1-2)和OER主控制器201采用的功能。在OER主节点上运行的主OER处理245与边缘路由器ER1-2通信以请求监控一组地址前缀等。在边缘路由器上运行的OER处理245监控AS1的边缘处的流量,并响应以与所监控的前缀相对应的网络统计值等。例示性地,OER处理245可被配置为测量从所监控的流量获得的各种网络统计值。(显然,虽然一个OER处理245例示性地处于存储器240中,但是OER处理245的实例可以在网络接口210上运行(未示出))。这些统计值随后被转发到主OER处理245。针对各个所监控的前缀,统计值可以对应于各种流量度量,例如往返延迟时间(RTT)、数据吞吐量(即,传送或接收的数据量)、分组丢失、可到达性等。一般而言,OER处理245可以测量任何的任意流量尺度,包括传统的基于成本和基于距离的尺度。此外,OER处理245还可以计算流量度量集合的统计平均、方差、中值等。

随后可以在OER主控制器201处根据主OER处理245来处理从边缘路由器202的OER处理245接收的统计值和度量。更具体而言,主OER处理245对统计值进行分析,并确定是否可以优化进入和/或离开AS1的流量分布。如果是,则主OER处理例如通过将新的BGP本地优选值与选定流量相关联或者在统计上改变边缘节点的路由表内容(其随后可相应地在AS1内被传播),可以重新分布路由通过边缘节点的流量。从这种意义上说,除了利用所接收的统计值来确定的它们的实时性能之外,主OER处理还例如基于流量类型、流量类别、目的地前缀等来选择到各个目的地前缀的最佳出口链路(OEL)(即,“最佳出口选择”)。最后,最终结果是改进的因特网性能、更好的负载分布和/或用于因特网连接的更低成本。显然,主OER处理245可以分布在多个节点中,因而不必存在于单个OER主控制器201中。此外,除了与边界节点通信所必需的之外,单个OER主控制器无需包含路由处理或路由表。

根据本文所描述的一个或多个实施例,为了获得统计值,OER处理245可以被动地监控和/或主动探测所监控的前缀。被动监控有赖于从OER收集从监控诸如吞吐量、定时、等待时间、分组丢失、可到达性等的传统用户流量中获悉的信息。另一方面,主动探测有赖于探测分组以测量与从发起节点(源)访问所监控的前缀相关联的各种参数。探测分组被边缘节点/路由器用于测量与到达网络中的所监控前缀(例如,目标前缀)相关联的各种参数(例如,抖动、延迟、丢失、可到达性等)。具体而言,探测分组(请求)通常基于来自OER主控制器201的请求而被边缘路由器202(OER处理245)生成,并被传送到与目标前缀相关联的目标节点。目标节点获取各个探测分组,并例如通过以下方式向边界节点返回响应(答复):修改并返回探测分组,返回新生成的响应分组,或者在经修改的传统返回消息(例如ACK消息)中包括所需的响应信息。边界节点随后使用所返回的探测分组来测量与到达目标前缀相关联的各种参数,并将结果返回给OER主控制器。

例如,假设AS1中的边缘路由器ER1例如通过测量建立TCP会话的等待时间来测量发送给AS4中的目标T1的流量的往返分组延迟时间(RTT)。ER1的OER处理245测量在向T1发送TCP同步序列号(SYN)分组与接收相应的确认(ACK)分组之间的等待时间。或者,OER处理可以采用其它技术来测量往返延迟时间,例如,发出传统的“回声”分组(或“ping”分组)。本领域技术人员将会了解,探测分组可以结合诸如ICMP、UDP、TCP、RTP、HTTP等的许多已知协议来使用。显然,来自各种协议的回声请求和答复消息(回声分组)在本文中被统一描述为探测分组。并且,可能希望控制向目标发送探测分组的速率,从而使由ISP进行的取舍(过滤)免受似乎为“服务拒绝”或“DoS”的攻击。其结果是,发送探测分组的速率可以限于非常低的速率,例如,每分钟一个探测分组。

边缘路由器202向呈现给定被监控前缀的各个目标发送探测分组。该给定前缀内的目标可以是所配置目标或者所获悉目标。所配置目标可以由系统管理员或客户在OER主节点处配置。所配置目标的一个示例可以是管理员与前缀中的目标达成协议的情况,例如,使用UDP的目标。每个所配置目标被假定为可用,例如,网络(AS)之间的协议确保将返回有效响应的情况。

另一方面,所获悉目标是可以通过监控出口处的流量来获悉的目标。例如,所获悉目标可以通过监控已经建立从一出口到所监控前缀中的特定节点的数据连接的流量(例如,通过检测TCP连接)而被确定。根据此信息,可以创建前缀内的节点列表,例如T1-Tn(例如,T2)。可用于收集网络统计值的一个示例软件应用是思科系统公司的NetFlowTM。这些从目标前缀中获悉的节点随后可以用作所获悉目标。通常,虽然并不必要,但是最频繁使用的节点或者具有最高流量吞吐量的节点将是针对给定前缀最具代表性的所获悉目标节点,例如,前缀内的web服务器。但是,可能希望先于使用所获悉目标而使用所配置目标。

使用目标来表示整个所监控前缀所引起的一个问题在于如何确定一个目标是否为有效目标。例如,虽然响应目标是可用于测量参数信息的有效目标,但是诸如策略过滤(例如,防火墙)、黑孔(blackhole)、管制等的网络问题可能会导致无响应目标,或者,简单地目标(主机)自身被关闭(例如,为了维护或其它原因),或者在其它情况下由于其自身的特定(非网络相关的)原因而不响应。在无响应目标的情况下,由诸如故障等的网络问题导致的不响应出于测量所监控前缀的参数信息的目的而为有效,这是因为在到达目标的过程中的网络故障可应用于到达整个所监控前缀。由于目标自身被断电或者在其它情况下不可访问或停用而导致的不响应对于测量参数信息是无效的,这是因为其不在整体上表示所监控前缀。此外,在所监控前缀的所有代表性目标都不作响应的情况下,源可能错误地断定整个前缀都不可到达,而前缀大体上(除了无响应目标之外)可能仍然存在并正确地工作。

因此,一种例示性目标管理技术可以针对计算机网络的特定(所监控)前缀动态地选择最佳的一组有效目标。具体而言,可以从要用作所监控前缀的代表的可能所获悉和所配置目标库中选择一个或多个目标。在评估时间段期间可以从源向所选择的目标发送探测分组。在该评估时间段不对探测分组作响应的目标是无效的且被取消选定,并且如果可以,则从可用目标库中选择未被使用目标用以在下一个评估时间段内取代各个无响应目标。可以丢弃无效的所获悉目标,同时可以将无效的所配置目标返回给可能目标库,以在随后的评估时间段内用于潜在的重新选择。

显然,在典型网络中,通常存在可用于到达特定目的地前缀(例如,针对如上所述的多归属站点)的多条路径。主动探测通常探测所有可用路径以确定参数信息,从而使OER处理可以(例如,根据指定策略)从所有路径的集合中选择一条或多条优选路径。一直主动探测所有可用路径以确定最佳路径需要探测源(路由器)、目标以及总地来说网络上的大量资源。本领域技术人员将会了解,网络在探测所有路径期间更可能会过滤探测响应,而探测实际上可能会创建影响每个探测分组和响应的质量的拥塞。

因而可利用一种例示性技术来有效地经由计算机网络的两条或更多条路径从源向目的地前缀中的目标发送探测分组。例如,OER处理245可以经由选择的一条或更多条(例如,全部)可用路径(出口)向目的地前缀中的目标发送探测分组(例如,通过ER1或ER2)。一旦优选路径被选定(“路径选择优化”),源OER处理245就可以仅经由该优选路径向目标发送探测,直到诸如脱离策略(OOP,out of policy)事件、策略改变、或者可选的基于定时器的触发等的触发发生为止。在被触发时,源再次探测所有路径(当前路径和替代/非当前路径)以重新选择优选路径来到达目标(即,关联的目的地地址前缀)。

追踪路由处理/服务246包含这样的计算机可执行指令,这些计算机可执行指令由各个处理器220运行以根据本文所描述的一个或多个实施例来执行追踪路由操作。例如,作为对回声请求的扩展已经开发了追踪路由技术,以追踪分组在两个或更多个节点之间往返传送的通路(路径)。传统上,通过从源节点向目的地节点发送具有越来越长的生存时间(TTL)值的回声请求来执行追踪路由。例如,TTL为“1”的第一回声请求可以到达源和目的地之间的第一中间节点(“下一跳”节点)。当第一中间节点接收到回声请求时,其将TTL减小为“0”,并且向源节点返回消息(例如,错误消息)(一般而言,具有第一中间节点的地址)。源节点随后可以发送TTL为“2”的第二回声请求,该第二回声请求被第一中间节点接收,第一中间节点将该TTL减小为“1”并将回声请求转发给第二中间节点(“下下一跳”节点)。第二中间节点将TTL减小为“0”,并且也向源节点返回消息(例如,错误消息)。源节点可以继续发送具有增大的TLL值的后续回声请求,直到源和目的地之间的通路已被追踪到为止。显然,本领域技术人员将会了解,追踪路由也可以与逐跳追踪一起返回各种度量,例如到达每跳的延迟值。这样的度量(以及所追踪到的通路)可被存储在度量表400中,如以下将描述的。

如上所述,当在网络中发生网络事件(例如,性能问题)时,通常希望确定事件/问题的诱因,例如,为什么流量不再到达目的地,或者为什么到达目的地的延迟已经变得不可接受。管理员通常被通知去本地域的特定边缘路由器并手动对正遭受性能问题的目的地运行诊断(例如,追踪路由)。但是,同样地,手动应用追踪路由诊断所具有的问题在于网络事件可能不再处于发生中(例如,它们可能已经自我校正)。使用传统(手动)追踪路由还呈现其它问题,例如,确定将追踪路由导向的适当追踪目标,或者仅仅对从源到目标目的地的当前路径应用追踪路由,等等。因此,本文所描述的实施例解决了使用追踪路由的上述问题,并以有效且增强的方式利用追踪路由(例如,用于优化路由)。

用于优化路由的事件触发追踪路由

根据本公开的实施例,网络设备(例如,主控制器201)可以检测计算机网络中从本地网络域(例如,AS1)到远程域(例如,AS4)的目的地地址前缀的当前路径上的事件。作为响应,设备201可以动态地(例如,智能地)确定目的地地址前缀内的追踪目标目的地地址(例如,T1),并且可以执行(或请求执行)对当前路径以及对网络中从本地网络域到追踪目标的替代路径选集的追踪路由,其中,追踪路由用于获取沿各条被追踪路径的每跳度量。这些度量随后可以被存储,以例如用于最佳路径选择、故障标识报告等。

例示性地,本文所描述的一个或多个实施例可以协同追踪路由处理246来利用OER处理245,以根据本文所描述的一个或多个实施例来提供用于优化路由的事件触发追踪路由。特别地,处理245和246两者都可以共同位于OER主控制器201上,以提供集中式且受事件驱动的基于OER策略的追踪路由,其中获得了本文详细描述的一个或多个优点。显然,根据一个或多个实施例,OER处理245和追踪路由处理246也可以组合成单个“OER追踪路由处理”以执行本文所描述的功能,并且分立处理245/246仅仅是一个示例。

可操作地,OER主控制器201(主OER处理245)可以检测从本地网络域(AS1)到远程域(AS4)的目的地地址前缀的当前路径上的事件。例如,当脱离策略(OOP)参数被检测到时,事件可被检测到。OOP参数可以基于根据上述OER技术在主控制器201处配置的一组一个或多个参数策略。例如,主OER处理245可被配置为将流量从源节点S1路由到延迟不大于30ms的目的地前缀(例如,包含节点T1和T2)。(或者,AS1可以与AS2达成协议:到达AS4的延迟不大于30ms,等。)如果主OER处理245检测到到达目的地前缀(或者穿过AS2)的延迟大于30ms,例如50ms,则当前路径的延迟参数被认为是OOP。如上所述,可以使用被动监控和/或主动探测来测量这样的参数。此外,例如,当探测响应不再被接收到时,OOP事件可能是:目的地前缀不再可达(即,不可达)。

除了OOP事件之外,通路/路径相关事件也可用于触发OER追踪路由。例如,如果沿当前路径已经发生通路改变(例如,通过BGP公告而获悉),则可以检测到事件。此外,如上所述,为了确定最佳路径,主OER处理245可以周期性地触发对(例如,经由ER1的)当前路径以及(例如,经由ER2的)替代路径选集的探测,以用于路径选择优化。换而言之,当不仅仅探测当前路径时(例如,“探测全部”或“探测N”),也可以不仅仅针对当前路径触发追踪路由,例如以用于(本文所描述的)路径选择优化。以这种方式,作为路径选择优化的一部分可以执行“周期性追踪路由”操作,因而使得主OER处理245可以基于(同样,在本文中描述的)追踪路由结果选择离开其网络的最佳出口。(显然,本文所提及的事件仅仅是例示性的示例,而不意味着限制本文所描述的实施例的范围。例如,替代路径上的OOP事件也可被视为可以触发追踪路由的事件,并且本文所描述的实施例不限于在当前路径上发生的事件)。

根据本文所描述的一个或多个实施例,OER主控制器201可以(例如,响应于事件或者在事件之前周期性地)动态地(例如,智能地)确定要用作追踪路由的目的地的目的地地址前缀内的追踪目标目的地地址。例如,虽然OER通常对地址前缀进行操作(例如,用于路径选择),但是追踪路由使用前缀内的显式目标。如此,主OER处理245可以动态地获取属于用作追踪目标(例如,T1或T2)的优化前缀的主机地址。例如,追踪目标可以是最近的已知可到达目标或者上述探测分组的主动响应目的地地址。即,如果目标的主动探测得以配置,则OER可以使用当前正在响应的(可到达/主动)探测的地址。可替代地或者除此之外,可以通过用于主动目的地地址检测的流量监控(即,检测去往/来自所需前缀内的特定目标的流量)来获悉追踪目标。换而言之,如果动态前缀获悉得以配置,则OER可以例如使用上述NetFlowTM来获悉前缀和当前主动主机的地址。显然,通过使用动态(智能)获取的追踪目标,根据本文所描述的一个或多个实施例经由OER获取的追踪路由结果比配置追踪路由的其它方法(例如,由网络管理员进行的静态配置)更加可预测和/或有用(例如,精确)。

一旦事件被检测到并且追踪目标被选定,OER处理245就可以执行对(例如,从ER1起的)当前路径和从本地网络域(AS1)到追踪目标(例如T1)的替代路径选集(例如,诸如从ER2起的所有替代路径/出口)的追踪路由。例如,主控制器201的主OER处理245可以请求执行从本地域的相应出路/出口节点202起(例如,从ER1和ER2起)的追踪路由。如此,ER1和ER2(例如,通过追踪路由处理246)可以各自发起到目的地地址前缀中的追踪目标的追踪路由。通过这样做,追踪路由(例如,多个追踪路由——各自从各个出路节点202起)可以获取沿上述所追踪路径的每跳度量。例如,追踪路由可以记录沿到追踪目标的路径的每跳(节点),以及到达每跳的延迟。

图3是图示出响应于所检测到的事件而相应执行的追踪路由(1和2)的、如上述图1所示的示例计算机网络100的示意框图。本领域技术人员可以了解,(例如,从ER1和ER2起的)每条追踪路由一次一跳地穿过去往追踪目标(例如,T1)的相应路径,其中,每跳都接收超时(timed-out)TTL定时/值,并向追踪路由的源返回适当的响应。例如,可以用第一TTL值1从ER1(追踪路由处理246)向T1发送追踪路由1。在接收到时,ER3将TTL减小到0,并返回响应(例如,错误消息或其它,如本文中所述)。ER1随后可以发送追踪路由的第二部分,特别地,TTL值为2的第二消息。如此,ER3接收到该消息/分组,将TTL值减小到1,随后将消息转发给T1。ER5随后接收到消息,并将TTL值减小到0,并向ER1返回另一个响应。这个追踪路由处理继续到ER7,并最终到T1(假设每跳都可到达)。(类似地,可以由ER2沿替代路径发起追踪路由2,相应地使得ER4、ER6、ER8和T1返回每跳响应)。

注意,作为对传统追踪路由(即,IP追踪路由)的增强,OER追踪路由可以例示性地表示特定流量类别以及它们的通过网络的关联往返传输(traversa1),而不仅仅是测量传统追踪路由消息(例如,追踪路由ping)的往返传输。例如,通常可能是这种情况,其中,ping消息(回声请求)可以到达目标目的地,从而指示目标为可到达,但是,同时,某些类别的流量(例如,语音流量)可能正在经历与其类别相关的网络问题。例如,数据流量可被允许通过某些问题区域(或者防火墙等),但是语音数据可能不被允许。因此,以类似于OER探测的方式,OER追踪路由可以按需生成并使用表示特定流量类别的分组(例如,发送具有增大的TTL值的掩码语音分组,而不是简单的ping分组)。以这种方式,从OER追踪路由获得的结果更加接近地表示关于关联流量类别将会看到的实际参数度量。

图4是示例度量表400的示意框图,其中,度量表400可有利地结合本文所描述的一个或多个实施例使用以存储从追踪路由获得的度量。表400被例示性地存储在(例如,OER主控制器201的)存储器240中,并包括一个或多个条目450,每个条目450都包括多个字段,例如,路径/通路字段405、跳字段410、总延迟字段415、每跳延迟字段420和AS标识(ID)字段425。表400可以例示性地由OER主控制器上的主OER处理245和/或追踪路由处理246(例如,单独地或组合地)维护和管理,例如以提供统一和集中式的存储和维护位置(即,边缘路由器202可以例如通过OER处理245通信向OER主控制器201发送追踪路由的结果)。本领域技术人员将会了解,虽然本文示出并描述了表格,但是,根据本发明可以使用其它已知数据结构和条目,并且如图所示的表400仅仅是例示性的。

特别地,路径/通路字段405可以例示性地用于存储度量所属于的特定追踪路由(例如,追踪路由1或2)的标识(或者,可替代地,指示出从其接收结果的出口节点202,例如ER1和ER2)。跳字段410可以存储对TTL超时作出响应的节点的逐跳标识,这样来产生逐跳追踪通路(注意,附加条目450可以专用于整个所追踪通路,例如“长度”条目)。此外,根据追踪路由技术,总延迟字段415可以存储从(跳字段410中的)响应节点接收的延迟值,即,与追踪路由消息从源边缘路由器202到达该节点相关联的延迟。每跳延迟字段420可以存储计算得到的跳之间的延迟值,例如,通过从当前跳的总延迟值减去前一跳的总延迟值415来确定。除了上述度量之外,也可以从本文所描述的例示性OER追踪路由技术获得其它度量。例如,在每条追踪路由内可以请求记录针对各个每跳度量的关联网络域标识(例如,AS号)。换而言之,在各个节点对超时TTL值作出响应时,追踪路由消息可被配置为请求(或者以其它方式获取)响应节点的网络域ID。例如,当ER3作出响应时,也可以返回AS2的关联ID,从而指示出ER3处在AS2内,并且这个值可以被存储在相应条目450的ASID字段425中。

根据本文所描述的一个或多个实施例,追踪路由度量因而可以示例性地提供从源网络域到目的地目标地址(例如,前缀)的所有路径(或者这些路径的子集/选集)上的基于每条路径、每跳(和每AS)的网络性能参数,这样的参数包括延迟/RTT、跳数/标识、AS号等。这种信息用于诊断意外的网络性能事件,尤其是实时的网络性能事件。动态响应和追踪目标选择不仅消除了响应于某些事件而从各个边缘路由器202启动追踪路由所需的人工干预,而且还将结果合并在一个位置中以向网络处理(例如,OER处理245)和/或网络管理员提供在所有可能路径上的每跳信息。例如,这样的度量可用于实时故障标识,并且用于标识到目标目的地(前缀)的当前路径和替代路径每条上的任何OOP跳。如此,来自各种计算/确定/等的追踪路由度量和/或结果可相应地被报告给网络处理和/或网络管理员。此外,利用每AS度量(AS ID字段425),特定远程域的适当管理处理和/或管理员可被通知以那些度量(或者简单地被通知以问题),例如以触发自我校正机制或者动态获取的度量会有助于的进一步调查。

除了收集和报告表400中的追踪路由度量(例如,用于故障标识)之外,主OER处理245还可以使用这些度量来相应地确定针对目的地地址前缀的最佳路径(最佳出口选择)。例如,可以基于取决于每跳追踪路由度量的路径选择策略来确定最佳路径,其中,该路径选择策略例如是可以声明跳之间的延迟都不大于2ms的新策略,从而考虑每跳策略参数。根据本文所描述的一个或多个实施例,也可以使用基于以上获得的度量的其它策略,例如,基于所收集的AS号的基本路径确定、延迟每AS、AS内的跳的数目、等等。注意,可以在下述情况中使用追踪路由来确定最佳路径:例如在可能需要定位新路径的情况下(或者在当前路径需要被确认为最佳路径的情况下)响应于上述事件(例如,OOP参数检测、通路改变、探测N等等);或者为了路径选择优化的目的而响应于执行例示性的OER追踪路由技术的触发(例如,特别地,以确定给定流量类别是否在所有可能路径上都在策略一致性内,并从其中选择最佳路径)。

显然,在OER处理245确定所选择的追踪目标无响应的情况下,例如,到目标的追踪并未完成的情况下,可以相应地尝试另一个追踪目标。例如,以类似于针对探测目标的上述的方式,OER处理245可以绕过无响应追踪目标,直到确定响应追踪目标为止。但是,有可能没有追踪目标会作响应,例如在整个目的地前缀都不可达的情况下。但是,在这种情形下,追踪路由在确定沿去往追踪目标的路径的最后可到达跳方面仍然特别有益,这是本领域技术人员可以了解的(例如,如本文所述的用于故障标识)。

图5图示了根据本文所描述的一个或多个实施例、提供用于优化路由的事件触发追踪路由的示例过程。过程500开始于步骤505,并继续到步骤510,在步骤510中,由主控制器(例如,主控制器201的主OER处理245)在当前路径上检测到事件,例如,如上所述的OOP参数检测、通路改变、触发探测(例如,探测N)等等。在步骤515中,主控制器可以动态确定追踪目标,例如,最近的已知可到达目标、主动对探测作出响应的地址、通过流量监控获悉的追踪目标等等。然后,在步骤520中,响应于所检测到的事件,可以执行(例如,从相应的出路节点ER1-ER2请求的)对从本地网络域(例如,AS1)到追踪目标T1(例如,在AS4中)的当前路径和替代路径的追踪路由,以获取沿所追踪路径的每跳度量。(显然,如上所述,在步骤525中存在无响应追踪目标的情况下,则可以在步骤530中尝试另一个追踪目标,例如T2,例如绕过无响应追踪目标,直到找到响应追踪目标为止)。此外,可选地可以在步骤535中请求各个追踪路由记录各个每跳度量的关联网络域标识(例如,AS号)。

在步骤540中,主控制器201可以存储这些度量(例如,在表400中),并且基于返回的度量,在当前路径和替代路径每条上的OOP跳可以在步骤545中被标识。在步骤550中,主控制器201还可以例如向如上所述的网络管理员或(例如,其它网络域的)其它感兴趣的网络处理报告这些度量。此外,在可选步骤555中,主控制器201可以相应地基于追踪路由度量来确定针对(与追踪目标相对应的)目的地地址前缀的最佳路径。过程500随后在步骤560结束。

有利地,本文所描述的新颖技术提供了计算机网络中用于优化路由的事件触发追踪路由。通过动态地触发到智能选定目标的追踪路由,这些新颖技术使得可以智能且自动地分析网络问题,以及收集追踪路由和OOP信息以用于趋势分析、故障标识、路径选择等等。特别地,上述技术相应地提供了对来自到目的地前缀的当前路径和各条替代路径的结果的统一且集中式的报告,所述结果包括在每条可能路径上的OOP跳的标识。此外,本文所描述的一个或多个实施例的动态方面减轻了对繁重且低效率的手动配置的需要。

以上描述已针对本发明的具体实施例。但是,将清楚的是,可以对所描述的实施例进行其它变化和修改,同时实现它们的优点中的一些或全部。例如,显然可设想,本文所描述的组件和/或元件可被实现为软件、硬件、固件或其组合,其中,软件包括具有在计算机上运行的程序指令的计算机可读介质。此外,可以生成电磁信号以经由例如无线数据链路或诸如因特网之类的数据网络来承载实现本发明各个方面的计算机可执行指令。因此,这种描述仅仅是作为示例来进行的,而在其它情况下不限制本发明的范围。因此,所附权利要求的目的在于覆盖在本发明的真实精神和范围内的所有那些变化和修改。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号