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

文档序号:7945016阅读:206来源:国知局
专利名称:计算机网络中用于优化路由的事件触发追踪路由的制作方法
技术领域
本发明一般地涉及计算机网络,更具体地涉及计算机网络中用于优化
路由的追踪路由(tmceroute)操作。
背景技术
当前,当在计算机网络中发生网络事件(例如,性能问题)时,通常 希望确定该问题的诱因,例如,为什么流量不再到达网络中的目的地,或 者为什么到达目的地的延迟变得不可接受。但是,时常,到系统管理员得 到通知去检查问题时,网络可能已经自我校正,因而隐藏了问题使其无法 被检测到。特别地,管理员通常不得不去本地域的特定边缘路由器,并手 动对正遭遇性能问题的目的地运行诊断。
追踪路由(例如,用于因特网协议或"IP"的传统追踪路由)是管理 员可以使用的一种功能,该功能允许管理员看见对网络中从追踪路由操作 的源到选定的最终目标目的地的各节点的逐跳(每跳)追踪。例如,当目 的地前缀不可到达时,网络管理员通常并不知晓管制(brownout)(即, 临时网络断供)或中断(blackout)(即,具有分组进入但无外出的情况 或配置的网络区域)确切地发生在网络中的何处。此外,当发生拥塞并且 应用经历比预计更大的分组丢失或往返时间(RTT)时,可能有利的是查 看从源到目的地的每跳度量。在这些情形中,可以由管理员使用追踪路由 来确定每条度量以诊断问题。但是,同样的,手动应用追踪路由诊断所具 有的问题在于网络事件可能不再处于发生中(例如,可能已被校正)。
另外,与追踪路由相关联的另一个问题是确定要将追踪路由导向的适 当的追踪目标。例如,某些目标可能是不工作的(例如,事件的诱因), 或者管理员通常可能仅仅知晓具有问题的目的地地址前缀,而不知晓追踪 路由工作所需的该前缀内的特定目标地址。此外,传统追踪路由通常被应
5用于从源到目标目的地的当前路径(例如,通过各种路由协议确定的"最 佳"路径),并且不提供例如针对通过网络的任何替代可用路径的额外度 量,这些额外度量在其它情况下可用于额外目的。

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


通过结合附图来参考以下描述,可以更好地理解本文所描述的实施 例,在附图中,相似标号指示相同或功能相似的元件,其中 图1图示了一个示例计算机网络; 图2图示了一个示例网络设备/节点; 图3图示了像图1一样的一个示例计算机网络; 图4图示了一个示例度量表;以及图5图示了用于优化路由的事件触发追踪路由的示例过程。
具体实施方式
概况
根据本公开的一些实施例,网络设备(例如,主控制器)可以检测计 算机网络中从本地网络域到远程域的目的地地址前缀的当前路径上的事 件。作为响应,该设备可以动态地(例如,智能地)确定目的地地址前缀 内的追踪目标目的地地址,并且可以执行(或请求执行)对当前路径以及
网络中从本地网络域到追踪目标的替代路径的选集(a selection of alternate paths)的追踪路由,其中,追踪路由被用于获取沿各条被追踪路径的每跳 度量。这些度量随后可以被存储,例如以用于最佳路径选择、故障标识报 告等。 描述
计算机网络是通过用于在端节点(例如,个人计算机和工作站)之间 传送数据的通信链路和分段互连的节点的地理分布集合。可以有许多种网 络,其中,种类的范围从局域网(LAN)到广域网(WAN)不等。LAN 通常经由位于诸如楼宇或校园之类的同一总的物理位置中的专用私有通信 链路来连接节点。另一方面,WAN通常经由诸如公共载波电话线路、光 路径、同步光网络(SONET)或同步数字体系(SDH)链路之类的长距离 通信链路来连接地理上分散的节点。因特网是连接全世界的分立网络的 WAN的一个示例,其提供了各种网络上的节点之间的全球通信。这些节 点通常通过根据诸如传输控制协议/因特网协议(TCP/IP)之类的预定义协 议交换离散的数据帧或分组来经由网络通信。在这种上下文中,协议由定 义了节点如何交互的一组规则组成。计算机网络还可以通过诸如路由器之 类的中间网络节点来互连,以扩展各个网络的有效"大小"。
因为对互连计算机网络的管理可以证明是繁重的,所以可以将较小群 组的计算机网络维护为路由域或自治系统。自治系统(AS)内的网络通常 通过被配置为运行"域内"(intmdomain)路由协议的传统域内路由器来 耦合在一起,并且通常经历公共授权。为了提高路由可扩展性,服务提供商(例如,ISP)可以将AS划分为多个"区域"或"级别"。但是,可能 希望增加能够交换数据的节点数目;在这种情况下,运行域间路由协议的 域间路由器被用于互连各个AS的节点。并且,可能希望互连在不同管理 域下操作的各个AS。本文中所使用的AS、区域或级别被统称为"域", 并且将不同域互连在一起的节点被统称为"边缘节点/路由器"(或者"边 界节点/路由器")。
图1是一个示例计算机网络100的示意性框图,该计算机网络100例 示地包括节点(例如,个人计算机、工作站等)Sl、 Tl和T2,这些节点 通过如图所示的一个或多个网络域(例如,AS1-AS4)之间的链路和网络 设备(例如,路由器)来互连(显然,AS内的链路/路由器为了简化起见 而未被示出)。例示性地,每个域都可以包括一个或多个域间/边缘路由 器,例如,ER1-ER8,诸如数据分组流量之类的客户端通信通过所述路由 器可以进入或流出AS,如图所示。 一般而言,各个AS可以是企业网络、 服务提供商网络(ISP)或者任何其它网络或子网络。此外,各个AS (例 如AS1禾P 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包含
8机械的、电的、和信号传递电路,用于经由耦合到网络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可以分布在多个节点中,因而不必存在于单
10个QER主控制器201中。此外,除了与边界节点通信所必需的之外,单 个OER主控制器无需包含路由处理或路由表。
根据本文所描述的一个或多个实施例,为了获得统计值,OER处理 245可以被动地监控和/或主动探测所监控的前缀。被动监控有赖于从OER 收集从监控诸如吞吐量、定时、等待时间、分组丢失、可到达性等的传统 用户流量中获悉的信息。另一方面,主动探测有赖于探测分组以测量与从 发起节点(源)访问所监控的前缀相关联的各种参数。探测分组被边缘节 点/路由器用于测量与到达网络中的所监控前缀(例如,目标前缀)相关联 的各种参数(例如,抖动、延迟、丢失、可到达性等)。具体而言,探测 分组(请求)通常基于来自OER主控制器201的请求而被边缘路由器202 (OER处理245)生成,并被传送到与目标前缀相关联的目标节点。目标 节点获取各个探测分组,并例如通过以下方式向边界节点返回响应(答 复)修改并返回探测分组,返回新生成的响应分组,或者在经修改的传 统返回消息(例如ACK消息)中包括所需的响应信息。边界节点随后使 用所返回的探测分组来测量与到达目标前缀相关联的各种参数,并将结果 返回给OER主控制器。
例如,假设AS1中的边缘路由器ER1例如通过测量建立TCP会话的 等待时间来测量发送给AS4中的目标Tl的流量的往返分组延迟时间 (RTT) 。 ER1的OER处理245测量在向Tl发送TCP同步序列号 (SYN)分组与接收相应的确认(ACK)分组之间的等待时间。或者, OER处理可以采用其它技术来测量往返延迟时间,例如,发出传统的"回 声"分组(或"ping"分组)。本领域技术人员将会了解,探测分组可以 结合诸如ICMP、 UDP、 TCP、 RTP、 HTTP等的许多已知协议来使用。显 然,来自各种协议的回声请求和答复消息(回声分组)在本文中被统一描 述为探测分组。并且,可能希望控制向目标发送探测分组的速率,从而使 由ISP进行的取舍(过滤)免受似乎为"服务拒绝"或"DoS"的攻击。 其结果是,发送探测分组的速率可以限于非常低的速率,例如,每分钟一 个探测分组。
边缘路由器202向呈现给定被监控前缀的各个目标发送探测分组。该给定前缀内的目标可以是所配置目标或者所获悉目标。所配置目标可以由
系统管理员或客户在OER主节点处配置。所配置目标的一个示例可以是 管理员与前缀中的目标达成协议的情况,例如,使用UDP的目标。每个 所配置目标被假定为可用,例如,网络(AS)之间的协议确保将返回有效 响应的情况。
另一方面,所获悉目标是可以通过监控出口处的流量来获悉的目标。 例如,所获悉目标可以通过监控已经建立从一出口到所监控前缀中的特定 节点的数据连接的流量(例如,通过检测TCP连接)而被确定。根据此信 息,可以创建前缀内的节点列表,例如Tl-Tn (例如,T2)。可用于收集 网络统计值的一个示例软件应用是思科系统公司的NetFlowTM。这些从目 标前缀中获悉的节点随后可以用作所获悉目标。通常,虽然并不必要,但 是最频繁使用的节点或者具有最高流量吞吐量的节点将是针对给定前缀最 具代表性的所获悉目标节点,例如,前缀内的web服务器。但是,可能希 望先于使用所获悉目标而使用所配置目标。
使用目标来表示整个所监控前缀所引起的一个问题在于如何确定一个 目标是否为有效目标。例如,虽然响应目标是可用于测量参数信息的有效 目标,但是诸如策略过滤(例如,防火墙)、黑孔(blackhole)、管制等 的网络问题可能会导致无响应目标,或者,简单地目标(主机)自身被关 闭(例如,为了维护或其它原因),或者在其它情况下由于其自身的特定 (非网络相关的)原因而不响应。在无响应目标的情况下,由诸如故障等 的网络问题导致的不响应出于测量所监控前缀的参数信息的目的而为有 效,这是因为在到达目标的过程中的网络故障可应用于到达整个所监控前 缀。由于目标自身被断电或者在其它情况下不可访问或停用而导致的不响 应对于测量参数信息是无效的,这是因为其不在整体上表示所监控前缀。 此外,在所监控前缀的所有代表性目标都不作响应的情况下,源可能错误 地断定整个前缀都不可到达,而前缀大体上(除了无响应目标之外)可能 仍然存在并正确地工作。
因此, 一种例示性目标管理技术可以针对计算机网络的特定(所监 控)前缀动态地选择最佳的一组有效目标。具体而言,可以从要用作所监
12控前缀的代表的可能所获悉和所配置目标库中选择一个或多个目标。在评 估时间段期间可以从源向所选择的目标发送探测分组。在该评估时间段不 对探测分组作响应的目标是无效的且被取消选定,并且如果可以,则从可 用目标库中选择未被使用目标用以在下一个评估时间段内取代各个无响应 目标。可以丢弃无效的所获悉目标,同时可以将无效的所配置目标返回给 可能目标库,以在随后的评估时间段内用于潜在的重新选择。
显然,在典型网络中,通常存在可用于到达特定目的地前缀(例如, 针对如上所述的多归属站点)的多条路径。主动探测通常探测所有可用路
径以确定参数信息,从而使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可以动态地(例 如,智能地)确定目的地地址前缀内的追踪目标目的地地址(例如, Tl),并且可以执行(或请求执行)对当前路径以及对网络中从本地网络 域到追踪目标的替代路径选集的追踪路由,其中,追踪路由用于获取沿各 条被追踪路径的每跳度量。这些度量随后可以被存储,以例如用于最佳路径选择、故障标识报告等。
例示性地,本文所描述的一个或多个实施例可以协同追踪路由处理
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可被配置为将流量从源节点Sl路由到延 迟不大于30ms的目的地前缀(例如,包含节点T1和T2)。(或者,AS1 可以与AS2达成协议到达AS4的延迟不大于30ms,等。)如果主OER 处理245检测到到达目的地前缀(或者穿过AS2)的延迟大于30ms,例如 50ms,则当前路径的延迟参数被认为是OOP。如上所述,可以使用被动 监控和/或主动探测来测量这样的参数。此外,例如,当探测响应不再被接 收到时,OOP事件可能是目的地前缀不再可达(即,不可达)。
除了 OOP事件之外,通路/路径相关事件也可用于触发OER追踪路 由。例如,如果沿当前路径已经发生通路改变(例如,通过BGP公告而获 悉),则可以检测到事件。此外,如上所述,为了确定最佳路径,主OER 处理245可以周期性地触发对(例如,经由ER1的)当前路径以及(例 如,经由ER2的)替代路径选集的探测,以用于路径选择优化。换而言 之,当不仅仅探测当前路径时(例如,"探测全部"或"探测N"),也 可以不仅仅针对当前路径触发追踪路由,例如以用于(本文所描述的)路 径选择优化。以这种方式,作为路径选择优化的一部分可以执行"周期性 追踪路由"操作,因而使得主OER处理245可以基于(同样,在本文中
15描述的)追踪路由结果选择离开其网络的最佳出口。(显然,本文所提及 的事件仅仅是例示性的示例,而不意味着限制本文所描述的实施例的范 围。例如,替代路径上的OOP事件也可被视为可以触发追踪路由的事 件,并且本文所描述的实施例不限于在当前路径上发生的事件)。
根据本文所描述的一个或多个实施例,OER主控制器201可以(例 如,响应于事件或者在事件之前周期性地)动态地(例如,智能地)确定 要用作追踪路由的目的地的目的地地址前缀内的追踪目标目的地地址。例 如,虽然OER通常对地址前缀进行操作(例如,用于路径选择),但是 追踪路由使用前缀内的显式目标。如此,主OER处理245可以动态地获 取属于用作追踪目标(例如,Tl或T2)的优化前缀的主机地址。例如, 追踪目标可以是最近的已知可到达目标或者上述探测分组的主动响应目的 地地址。g卩,如果目标的主动探测得以配置,则OER可以使用当前正在 响应的(可到达/主动)探测的地址。可替代地或者除此之外,可以通过用 于主动目的地地址检测的流量监控(即,检测去往/来自所需前缀内的特定 目标的流量)来获悉追踪目标。换而言之,如果动态前缀获悉得以配置, 则OER可以例如使用上述NetFlowTM来获悉前缀和当前主动主机的地址。 显然,通过使用动态(智能)获取的追踪目标,根据本文所描述的一个或 多个实施例经由OER获取的追踪路由结果比配置追踪路由的其它方法 (例如,由网络管理员进行的静态配置)更加可预测和/或有用(例如,精 确)。
一旦事件被检测到并且追踪目标被选定,OER处理245就可以执行对 (例如,从ER1起的)当前路径和从本地网络域(AS1)到追踪目标(例 如Tl)的替代路径选集(例如,诸如从ER2起的所有替代路径/出口)的 追踪路由。例如,主控制器201的主OER处理245可以请求执行从本地域 的相应出路/出口节点202起(例如,从ER1和ER2起)的追踪路由。如 此,ER1和ER2 (例如,通过追踪路由处理246)可以各自发起到目的地 地址前缀中的追踪目标的追踪路由。通过这样做,追踪路由(例如,多个 追踪路由——各自从各个出路节点202起)可以获取沿上述所追踪路径的 每跳度量。例如,追踪路由可以记录沿到追踪目标的路径的每跳(节点),以及到达每跳的延迟。
图3是图示出响应于所检测到的事件而相应执行的追踪路由(1和
2)的、如上述图1所示的示例计算机网络100的示意框图。本领域技术 人员可以了解,(例如,从ER1和ER2起的)每条追踪路由一次一跳地 穿过去往追踪目标(例如,Tl)的相应路径,其中,每跳都接收超时
(timed-out) TTL定时/值,并向追踪路由的源返回适当的响应。例如,可 以用第一TTL值1从ER1 (追踪路由处理246)向T1发送追踪路由1。在 接收到时,ER3将TTL减小到0,并返回响应(例如,错误消息或其它, 如本文中所述)。ER1随后可以发送追踪路由的第二部分,特别地,TTL 值为2的第二消息。如此,ER3接收到该消息/分组,将TTL值减小到1, 随后将消息转发给T1。 ER5随后接收到消息,并将TTL值减小到O,并向 ER1返回另一个响应。这个追踪路由处理继续到ER7,并最终到T1 (假设 每跳都可到达)。(类似地,可以由ER2沿替代路径发起追踪路由2,相 应地使得ER4、 ER6、 ER8禾nTl返回每跳响应)。
注意,作为对传统追踪路由(即,IP追踪路由)的增强,OER追踪路 由可以例示性地表示特定流量类别以及它们的通过网络的关联往返传输
(traversal),而不仅仅是测量传统追踪路由消息(例如,追踪路由 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的AS ID字段425中。
根据本文所描述的一个或多个实施例,追踪路由度量因而可以示例性 地提供从源网络域到目的地目标地址(例如,前缀)的所有路径(或者这 些路径的子集/选集)上的基于每条路径、每跳(和每AS)的网络性能参 数,这样的参数包括延迟/RTT、跳数/标识、AS号等。这种信息用于诊断
18意外的网络性能事件,尤其是实时的网络性能事件。动态响应和追踪目标
选择不仅消除了响应于某些事件而从各个边缘路由器202启动追踪路由所 需的人工干预,而且还将结果合并在一个位置中以向网络处理(例如, OER处理245)和/或网络管理员提供在所有可能路径上的每跳信息。例 如,这样的度量可用于实时故障标识,并且用于标识到目标目的地(前 缀)的当前路径和替代路径每条上的任何OOP跳。如此,来自各种计算/ 确定/等的追踪路由度量和/或结果可相应地被报告给网络处理和/或网络管 理员。此外,利用每AS度量(ASID字段425),特定远程域的适当管理 处理和/或管理员可被通知以那些度量(或者简单地被通知以问题),例如 以触发自我校正机制或者动态获取的度量会有助于的进一步调査。
除了收集和报告表400中的追踪路由度量(例如,用于故障标识)之 外,主OER处理245还可以使用这些度量来相应地确定针对目的地地址 前缀的最佳路径(最佳出口选择)。例如,可以基于取决于每跳追踪路由 度量的路径选择策略来确定最佳路径,其中,该路径选择策略例如是可以 声明跳之间的延迟都不大于2ms的新策略,从而考虑每跳策略参数。根据 本文所描述的一个或多个实施例,也可以使用基于以上获得的度量的其它 策略,例如,基于所收集的AS号的基本路径确定、延迟每AS、 AS内的 跳的数目、等等。注意,可以在下述情况中使用追踪路由来确定最佳路 径例如在可能需要定位新路径的情况下(或者在当前路径需要被确认为 最佳路径的情况下)响应于上述事件(例如,OOP参数检测、通路改变、 探测N等等);或者为了路径选择优化的目的而响应于执行例示性的 OER追踪路由技术的触发(例如,特别地,以确定给定流量类别是否在所 有可能路径上都在策略一致性内,并从其中选择最佳路径)。
显然,在OER处理245确定所选择的追踪目标无响应的情况下,例 如,到目标的追踪并未完成的情况下,可以相应地尝试另一个追踪目标。 例如,以类似于针对探测目标的上述的方式,OER处理245可以绕过无响 应追踪目标,直到确定响应追踪目标为止。但是,有可能没有追踪目标会 作响应,例如在整个目的地前缀都不可达的情况下。但是,在这种情形 下,追踪路由在确定沿去往追踪目标的路径的最后可到达跳方面仍然特别
19有益,这是本领域技术人员可以了解的(例如,如本文所述的用于故障标 识)。
图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跳的标识。此外,本文所描述的一个或多个实施例的动态方面减轻了对繁重且低效率的 手动配置的需要。
以上描述已针对本发明的具体实施例。但是,将清楚的是,可以对所 描述的实施例进行其它变化和修改,同时实现它们的优点中的一些或全 部。例如,显然可设想,本文所描述的组件和/或元件可被实现为软件、硬 件、固件或其组合,其中,软件包括具有在计算机上运行的程序指令的计 算机可读介质。此外,可以生成电磁信号以经由例如无线数据链路或诸如 因特网之类的数据网络来承载实现本发明各个方面的计算机可执行指令。 因此,这种描述仅仅是作为示例来进行的,而在其它情况下不限制本发明 的范围。因此,所附权利要求的目的在于覆盖在本发明的真实精神和范围 内的所有那些变化和修改。
权利要求
1. 一种方法,包括检测网络中从本地网络域到远程域中的目的地地址前缀的当前路径上的事件;动态确定所述目的地地址前缀内的追踪目标目的地地址;响应于所述事件,对所述当前路径和所述网络中从所述本地网络域到所述追踪目标的替代路径选集执行追踪路由;通过所述追踪路由获取沿各条被追踪路径的每跳度量;以及存储所述度量。
2. 如权利要求l所述的方法,还包括基于追踪路由度量来对所述目的地地址前缀确针最佳路径。
3. 如权利要求2所述的方法,还包括基于取决于每跳追踪路由度量的路径选择策略来确定所述最佳路径。
4. 如权利要求1所述的方法,其中,所述事件是脱离策略参数检
5. 如权利要求l所述的方法,还包括 标识所述当前路径和替代路径每条上的任何脱离策略跳。
6. 如权利要求1所述的方法,其中,所述替代路径选集包括从所述 本地网络域到所述目的地地址前缀的所有可用替代路径。
7. 如权利要求1所述的方法,其中,所述事件是所检测到的沿所述 当前路径的通路改变。
8. 如权利要求l所述的方法,还包括经由所述本地网络域的各个出路节点对所述当前路径和替代路径发起 相应追踪路由。
9. 如权利要求l所述的方法,还包括生成表示特定流量类别的追踪路由消息,其中,所述追踪路由被执行 以获取沿各条被追踪路径的表示所述特定流量类别的每跳度量。
10. 如权利要求l所述的方法,还包括在每个追踪路由中请求记录各个每跳度量的关联网络域标识。
11. 如权利要求IO所述的方法,其中,所述网络域标识是自治系统号。
12. 如权利要求1所述的方法,其中,所述事件是对所述当前路径和 所述替代路径选集的触发探测,以用于路径选择优化。
13. 如权利要求l所述的方法,还包括 将所述追踪目标确定为最近己知可到达目标。
14. 如权利要求l所述的方法,还包括将所述追踪目标确定为对探测主动作出响应的目的地地址。
15. 如权利要求l所述的方法,还包括通过用于主动目的地地址检测的流量监控来获悉所述追踪目标。
16. 如权利要求l所述的方法,还包括 确定所述追踪目标为无响应;以及尝试使用另一追踪目标。
17. 如权利要求16所述的方法,还包括 绕过无响应追踪目标,直到确定一个响应追踪目标。
18. —种装置,包括一个或多个网络接口,适于与网络中的本地网络域中的节点通信; 处理器,与所述网络耦合并且适于运行一个或多个处理;以及 存储器,适于存储由所述处理器运行的优化边缘路由追踪路由处理, 所述优化边缘路由追踪路由处理被运行来用于检测所述网络中从所述本地网络域到远程域中的目的地地址前缀 的当前路径上的事件;动态确定所述目的地地址前缀内的追踪目标目的地地址;响应于所述事件,请求对所述当前路径和所述网络中从所述本地 网络域到所述追踪目标的替代路径选集执行追踪路由;以及通过所述追踪路由来获取沿各条被追踪路径的每跳度量; 其中,所述存储器还适于存储所述度量。
19. 如权利要求18所述的装置,其中,所述优化边缘路由追踪路由处理在被运行时还用于基于追踪路由度量来针对所述目的地地址前缀定 确针最佳路径。
20. —种装置,包括用于检测网络中从本地网络域到远程域中的目的地地址前缀的当前路径上的事件的装置;用于动态确定所述目的地地址前缀内的追踪目标目的地地址的装置; 用于响应于所述事件对所述当前路径和所述网络中从所述本地网络域到所述追踪目标的替代路径选集执行追踪路由的装置;用于通过所述追踪路由获取沿各条被追踪路径的每跳度量的装置;以及用于存储所述度量的装置。
全文摘要
本发明提供了计算机网络中用于优化路由的事件触发追踪路由。在一个实施例中,网络设备可以检测计算机网络中从本地网络域到远程域的目的地地址前缀的当前路径上的事件。作为响应,该设备可以动态地确定目的地地址前缀内的追踪目标目的地地址,并且可以对当前路径以及网络中从本地网络域到追踪目标的替代路径选集执行追踪路由,其中,追踪路由适用于获取沿各条被追踪路径的每跳度量。这些度量随后可以被存储,例如以用于最佳路径选择、故障标识报告等。
文档编号H04L12/56GK101505230SQ20091000854
公开日2009年8月12日 申请日期2009年1月23日 优先权日2008年1月31日
发明者拉胡尔·G·帕特尔, 普瑞塔姆·沙赫, 达纳·布莱尔 申请人:思科技术公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1