CN108667681A - 用于多路径路由的路由跟踪 - Google Patents
用于多路径路由的路由跟踪 Download PDFInfo
- Publication number
- CN108667681A CN108667681A CN201711465522.9A CN201711465522A CN108667681A CN 108667681 A CN108667681 A CN 108667681A CN 201711465522 A CN201711465522 A CN 201711465522A CN 108667681 A CN108667681 A CN 108667681A
- Authority
- CN
- China
- Prior art keywords
- routing
- network
- network device
- router
- message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/20—Hop count for routing purposes, e.g. TTL
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/26—Route discovery packet
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/28—Flow control; Congestion control in relation to timing considerations
- H04L47/286—Time to live
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/20—Network management software packages
Abstract
总体描述了用于扩展诸如路由跟踪等网络连接性软件实用程序的技术,以提供对源装置和目的地装置之间的网络拓扑的完全可见性,甚至当中间网络装置在朝着目的地转发报文时可能正在主动利用多个网络链路时。在一个示例中,耦接到多条路径并位于源网络装置和目的地网络装置之间的网络装置可以接收路由跟踪报文。所述网络装置还可以针对多条路径中的每一条修改路由跟踪报文的有效载荷,以包括用于多条路径中的对应路径的各标识符,以构建用于对应路径的各修改的路由跟踪报文。所述网络装置也可以在对应路径上转发各修改的路由跟踪报文。
Description
技术领域
本发明涉及计算机网络,并且更具体地,涉及用于确定计算机网络连接状态的软件实用程序。
背景技术
计算机网络是可以交换数据和共享资源的互连计算装置的集合。在诸如因特网等基于报文的网络中,计算装置通过将数据分成称为报文的小块来传送数据,通过网络从源装置向目的地装置单独路由所述小块。目的地装置从报文中提取数据并将数据组装成其原始形式。
被称为路由器的装置维护描述通过网络的路由的路由信息。通常可以将“路由”定义为网络上两个位置之间的路径。在接收到入站报文时,路由器检查报文内的信息以识别报文的目的地。基于目的地,路由器根据路由信息转发报文。
存在用于识别网络的两个节点之间的失败连接并且用于探索网络拓扑的各种软件实用程序。被称为路由跟踪的这样一种实用程序允许源网络装置识别从源网络装置到目的地网络装置的网络路径。路由跟踪实用程序通过记录从源装置到指定的网络目的地的因特网控制消息协议(Internet Control Message Protocol,ICMP)回显请求报文的路径来确定到目标网络装置的网络路径。作为输出,路由跟踪通常显示报文经过了多少跳到达网络目的地,通过网络地址识别沿路径的每一跳,并显示到达每跳的往返时间。
发明内容
通常,本公开描述了用于扩展诸如路由跟踪等网络连接性软件实用程序的技术,以提供对源装置和目的地装置之间的网络拓扑的完全可见性,甚至当中间网络装置在朝着目的地转发报文时可能正在主动利用多个网络链路时。例如,网络路径中的网络装置(例如,中间路由器)可以被配置为当转发流量到达目的地网络装置时主动利用多条路径,即链路。作为一个示例,中间装置可以被配置为基于散列操作(hashing operation)来大体上应用等价多路径(equal cost multi-path),来在一组活动链路中的任一个上转发报文。如本文中所描述的,为了促进探索多条路径中的每条路径的网络拓扑,中间网络装置可以利用各会话来跟踪沿着活动的多条路径中的每条路径的各路由跟踪报文的转发。例如,响应于接收指定网络目的地的路由跟踪报文,中间网络装置可以在从网络装置到目的地的每个对应路径上配置和输出各修改的路由跟踪报文。各修改的路由跟踪报文均可以包括与多条路径中的对应路径相关联的各标识符。网络装置沿着对应的路径转发各修改的路由跟踪报文,使得每条路径可以由其各路由跟踪报文来跟踪。沿着每条路径(例如,下一跳路由器或目的地装置)的后续网络装置接收给定路径的修改的路由跟踪报文,并配置响应,以包括与对应路径相关联的标识符。以这种方式,网络装置可以将响应与特定路径相关联,修改的路由跟踪报文沿着该特定路径转发到网络装置。当源网络装置已经接收针对多个活动路径中的每一条的响应时,源网络装置更新路由跟踪实用程序的结果,以反映网络内的多条路径中的每一条,并为新的路由跟踪报文配置递增的生存时间(Time-to-Live,TTL)值,并向目的地网络装置发送该路由跟踪报文。源网络装置继续该过程,直到从目的地网络装置接收到响应。这样,甚至当给定的中间装置可能沿着多个网络路径主动地转发去往目的地的报文(甚至对于相同的报文流)时,路由跟踪报文和响应也可以向源网络装置提供完整的可见性。
在一个示例中,一种方法可以包括:通过耦接到用于到达目的地网络装置的多条路径并位于源网络装置和目的地网络装置之间的网络装置接收路由跟踪报文。该方法还可以包括对于所述多条路径中的每条路径,由所述网络装置修改所述路由跟踪报文的有效载荷,以包括所述多条路径中的对应路径的各标识符,以构建用于所述对应路径的各修改的路由跟踪报文。该方法还可以包括由所述网络装置在对应路径上转发各修改的路由跟踪报文。
在另一示例中,一种方法可以包括:由源网络装置将路由跟踪报文发送到耦接到用于到达目的地网络装置的多条路径的中间网络装置,其中,所述中间网络装置位于所述源网络装置和所述目的地网络装置之间。该方法还可以包括由所述源网络装置从所述中间网络装置接收一个或多个各响应,其中,一个或多个各响应中的每一个包括包含用于所述多条路径中的对应路径的各标识符的有效载荷。
在另一示例中,网络装置可以包括多个网络接口,所述网络接口中的每一个耦接到用于到达目的地网络装置的多条路径中的不同路径,其中,所述网络装置位于源网络装置和所述目的地网络装置之间。网络装置还可以包括一个或多个基于硬件的处理器,其被配置为:接收去往目的地装置的路由跟踪报文;对于所述多条路径中的每一条路径,修改所述路由跟踪报文的有效载荷,以包括所述多条路径中的对应路径的各标识符,以构建用于对应路径的各修改的路由跟踪报文;并且在对应路径上转发各修改的路由跟踪报文。
在另一示例中,源网络装置可以包括一个或多个基于硬件的处理器,其被配置为:向目的地网络装置发送路由跟踪报文;并且接收一个或多个各响应,其中,一个或多个各响应中的每一个响应包括有效载荷,所述有效载荷包括用于中间网络装置的多条路径中的对应路径的各标识符,其中,所述中间网络装置位于所述源网络装置和所述目的地网络装置之间。
在附图和下面的描述中阐述一个或多个实施例的细节。其他特征、目的和优点将通过说明书和附图以及权利要求书变得显而易见。
附图说明
图1是示出示例网络***的方框图,其中,中间网络装置已被改进,以使软件实用程序(例如,路由跟踪)能够跟踪和报告从源目的地到目的地装置的连接性信息,甚至当将实用程序的报文转发到目的地时一个或多个中间网络装置利用多个活动链路时;
图2是示出根据本公开中描述的技术的路由器的示例的方框图;
图3是示出了诸如图1的源网络装置等网络装置的示例的方框图,该源网络装置允许管理员根据本文描述的技术来实现多条路径的路由跟踪;
图4是示出根据本文描述的技术的用于跟踪多条路径的路由跟踪报文的示例格式的方框图;
图5是示出根据本文描述的技术的用于跟踪多条路径的响应报文的示例格式的方框图;
图6是示出根据本公开中描述的技术的网络***的示例操作的流程图;
图7是示出根据本公开中描述的技术的网络装置的示例操作的流程图;
图8是示出根据本公开中描述的技术的源网络装置的示例操作的流程图。
具体实施方式
图1是示出示例网络***的方框图,其中,中间网络装置已被改进以使软件实用程序(例如,路由跟踪)跟踪和报告从源目的地到目的地装置的连接性信息,甚至在当将实用程序的报文转发到目的地时一个或多个中间网络装置利用多个活动链路时。在图1的示例中,源网络装置12和网络装置18A-18E(统称为“网络装置18”或“路由器18”)支持使用扩展的路由跟踪,扩展的路由跟踪已经被扩展,以在转发流量到达目的地网络装置时,促进探测多条路径中的每一条路径的网络拓扑。
在该示例中,网络***10包括源网络装置12和目的地网络装置14,该源网络装置12和目的地网络装置14经由中间路由器、交换机和为了示例的目的而示出为路由器18的其他网络装置通过网络8连接。网络8可以包括诸如因特网等公共网络、诸如由企业或服务提供商拥有和运营的私有网络、或者公共网络和私有网络的组合。因此,网络8在本文可以另外被称为服务提供商(Service Provider,SP)网络。网络8可以包括一个或多个广域网(WAN)、局域网(LAN)、虚拟局域网(VLAN)、虚拟专用网络(VPN)和/或另一种类型的网络。
在一些示例中,网络8可以是互联网协议(IP)网络,其中,路由器18使用IP转发来传输网络报文。在其他实例中,网络8可以是标签交换网络,其中,诸如路由器18等网络装置(通常称为标签交换路由器或LSR(Label Switching Router))使用多协议标签交换(Multi-Protocol Label Switching,MPLS)信令协议(signaling protocols)来建立标签交换路径(Label Switched Path,LSP),用于传输从源网络装置12接收的网络报文。网络8的MPLS数据携带机制可以被视为位于开放***互连(Open Systems Interconnection,OSI)模型的层2和层3之间,并且通常被称为层2.5协议。对数字后面加上层的引用可以指OSI模型的特定层。可以在Hubert Zimmermann于1980年4月在IEEE Transactions onCommunications28卷4号中发布的题为“OSI Reference Model–the ISO Model ofArchitecture for Open Systems Interconnection”的IEEE文章中,找到更多有关OSI模型的信息,该文章通过引用如同被全部阐述一样结合于此。可以在Request for Comments(RFC)3031中由Network Working Group of the Internet Engineering Task Force(IETF)于2001年1月的题为“Multiprotocol Label Switching Architecture”中找到关于MPLS和MPLS的各种特征的更多信息以及关于MPLS的一般架构信息,该文章通过引用结合于此。
尽管在图1中示为单个网络,网络8可以包括任意数量的公共或私有的互连网络,其中各种网络互连以形成各种虚拟网络。另外,网络8可以包括用于转发网络流量的各种其他网络装置,例如,额外路由器、交换机或网桥。网络***10的特定配置仅仅是一个示例,路由器18可以驻留在单个网络中或多个网络内。虽然关于路由器已经描述,但是该技术的方面适用于其他网络装置,例如,网桥、交换机、网关、网络缓存和网络加速装置。
在图1的示例中,源网络装置12和目的地网络装置14可以分别是个人计算机、膝上型计算机、移动电话、网络电话、电视机顶盒、集成到车辆中的网络装置、视频游戏***、销售点装置、个人数字助理、中间网络装置、网络设备、超级计算机、大型计算机或能够通过网络8进行对接和通信的其他类型的装置。
网络8的多个物理和/或虚拟通信链路15A-15H(统称为“链路15”)互连路由器18,以促进路由器之间的控制和数据通信。网络8的物理链路可以包括例如以太网PHY、同步光学网络(Synchronous Optical Networking,SONET)/同步数字分级结构(SynchronousDigital Hierarchy,SDH)、λ(Lambda)或包括报文传输能力的其他层2数据链路。网络8的逻辑链路可以包括例如以太网虚拟LAN、MPLS LSP或MPLS-TE LSP。
在该示例中,源网络装置12经由接入链路15A连接到网络8,目的地网络装置14经由接入链路15G和/或15H连接到网络8,并且路由器18经由接入链路15B-15F通信。接入链路15可以包括有线和/或无线通信链路。本文使用的术语“通信链路”包括任何形式的有线或无线传输介质,并且可以包括诸如网络装置等中间节点。每个接入链路15可以包括例如不对称DSL网络、WiMAX、T-1线路、综合流量数字网络(ISDN)或有线以太网的方面。
路由器18维护描述通过网络8的可用路由的路由信息。在接收到入站报文时,接收路由器检查报文内的信息并根据路由信息转发报文。为了保持网络8的准确表示,路由器根据定义的路由协议(例如,内部网关协议(IGP)、开放式最短路径优先(OSPF)、中间***-中间***(IS-IS)或路由信息协议(RIP))交换路由信息,例如,链路的带宽可用性。
各种路由协议允许“等成本多路径”(Equal-Cost Multipath,ECMP)路由。在这个示例中,ECMP提供路由技术,通过该技术,路由器可以沿相同成本的多条路径(链路)中的任何路径转发去往特定目的地装置的报文。实现ECMP的路由器可以在转发报文时识别多个下一跳中要使用哪个下一跳(路径),并且可以基于该选择在给定链路上输出报文。例如,路由器可以使用散列阈值、模数N和/或最高随机权重(HRW)技术来确定下一跳。可以在Requestfor Comments(RFC)2991中的由Network Working Group of the Internet EngineeringTask Force(IETF)于2000年11月的题为“Multipath Issues in Unicast and MulticastNext-Hop Selection”的文章,以及RFC 2992中IETF于2000年11月的题为“Analysis of anEqual-Cost Multi-Path Algorithm”的文章中,找到关于ECMP的进一步信息,这两者均通过引用结合于此。尽管示出了图1中路径的关于等价多路径(ECMP)的路径,但是网络***10可以包括其他类型的多路径路由。本文描述的技术不限于ECMP拓扑结构,并且在下述网络中可能是有利的:该网络为中间装置沿着朝向目的地的多条路径中的任何一条路径主动向目的地装置转发报文,甚至是以目的地装置为目标的路由跟踪包的任何网络。其他示例包括加权ECMP。
例如,诸如路由跟踪等各种软件实用程序是用于识别失败的连接性和用于探索网络的两个节点之间的网络拓扑结构的有用工具。源网络装置12通常可以使用路由跟踪来识别从源网络装置12到目的地网络装置14的网络路径。源网络装置12使用路由跟踪向目的地网络装置14发送路由跟踪报文。
源网络装置12可以实施路由跟踪并且以初始跳数(例如,生存时间(Time-to-Live,TTL)值)向目的地网络装置14发送路由跟踪报文。在每一跳,接收路由器(例如,“中间路由器”)处理路由跟踪报文并且递减跳数。当跳数为零时,路由器通常向源网络装置12将响应(例如,TTL过期消息、不可达端口和错误/超时报文)发送回源网络装置12,通知源网络装置已接收该报文,并且跳数已过期。源网络装置12接收响应并基于该响应来配置路由跟踪树。源网络装置12继续以递增的TTL值发送另一路由跟踪报文,使得路由跟踪报文到达路径中的下一个装置,并且继续该过程直到到达目的地装置。
然而,当路由器(例如,路由器18A)被配置为使用多个活动路径中的任何一个向目的地网络转发报文时,每次以递增的TTL值发送路由跟踪报文时,路由跟踪报文可以使用与先前的路由跟踪报文不同的端口号。同样,路由器18A可以沿着15B、15C中的不同链路向目的地网络装置转发路由跟踪报文,因为在计算下一跳散列(next-hop hash)(例如,5-元组的一部分)时经常考虑端口号。报文的报头内的5-元组(例如,正被转发的路由跟踪报文)可以包括例如:<源网络地址,目标网络地址,源端口,目的端口,协议>。同样,应用ECMP或其他技术来沿多条路径主动地转发去往相同目的地的报文的网络装置(例如,路由器18A)的网络路径的跟踪通常导致跟踪多条路径中的不同分支。结果,路由跟踪响应不向源网络装置12提供路由器18A的多条路径中的每条路径的完整图像,并且传统的路由跟踪实用程序提供不完整或不准确的结果(如果有的话)。
根据本公开的技术,中间装置(例如,路由器18)被配置为增强路由跟踪报文,以提供网络装置的多条路径的完整可见性。例如,响应于接收要转发到目的地的路由跟踪报文,当前应用ECMP或其他技术来主动利用到目的地的多条路径的路由器18中的任何一个可以沿着多条路径中的每条路径生成、配置并输出各修改的路由跟踪报文,使得每条路径可以被单独识别。
在操作中,管理员16访问源网络装置12并调用诸如路由跟踪等诊断软件实用程序来发起路由跟踪请求。作为响应,在源网络装置12上执行的软件实用程序可以利用与路由跟踪报文要转发的网络路径相关联的标识符来配置路由跟踪报文,例如,协议数据单元(protocol data unit,PDU)报文。例如,源网络装置12可以为路由跟踪报文初始地配置TTL值1,并且可以在路由跟踪有效载荷中包括“会话栈”,其包括源网络装置12的网络地址和表示到路由器18A的路径的会话标识符。即,会话栈可以指示转发网络装置和报文转发的路径。为了说明的目的,源网络装置12可以将会话栈配置为10.1.1.1:1,包括源网络装置12的IP地址(例如,10.1.1.1)以及与来自源网络装置12的该单个下一跳路径相关联的会话号。
源网络装置12可以向目的地网络装置14向上游发送路由跟踪报文。路由器18A可以接收路由跟踪报文。在这个示例中,路由器18A可以通过递减TTL值并确定TTL值是否为零来处理路由跟踪报文。在该示例中,路由器18A可以确定TTL值为零,并且可以配置响应报文(例如,TTL过期报文),以包括具有从接收到的会话栈复制的值(例如,10.1.1.1:1)的“反向会话栈”的有效载荷。路由器18A将响应报文发送回源网络装置12。源网络装置12接收响应报文并且可以基于响应报文的反向会话栈来确定路由器18A是经由接入链路15A沿着单条路径的源网络装置12的下一跳。
继续路由跟踪过程,源网络装置12可以向目的地网络装置14配置和发送具有递增的TTL值的新的路由跟踪报文,以识别路径中的一个或多个下一跳。例如,源网络装置12可以发送如上所述的另一路由跟踪报文(例如,10.1.1.1:1),递增的TTL值为2。当路由器18A接收路由跟踪报文时,路由器18A递减TTL值并确定TTL值大于1。作为响应,路由器18A可以将路由跟踪报文转发到下一跳。
在转发路由跟踪报文之前,路由器18A可以输出消息,以通知源网络装置12关于路由器18A可用于到达目的地网络装置14的主动转发路径(链路15B、15C)的数量。因为路由器18A被配置为在路由跟踪报文的任何活动的多条路径之间进行选择,路由器18A可以为多条路径中的每一条配置各修改的路由跟踪报文。在图1的示例中,路由器18A可以对接收到的路由跟踪报文执行目的地查找,并且基于其内部路由信息来确定其被配置为沿着两条活动路径中的任一条(即,分别通向路由器18B、18C的路径)转发去往目的地的报文。路由器18A可以通知源网络装置12存在路由跟踪报文的两条可行路径。在一些示例中,路由器18A可以通过将诸如新的实用程序PDU报文等的指示符13配置为包括下一跳路径的计数和/或下一跳路径上的下一跳路由器的网络地址,来通知源网络装置12路径的数量。在图1的示例中,路由器18B、18C分别是经由链路15B、15C的到路由器18A的下一跳路由器。为了方便说明,路由器18B可以具有10.39.1.1的IP地址,路由器18C可以具有10.100.1.1的IP地址。路由器18A可以将新的实用程序PDU报文配置为字符串列表,例如,{2,10.39.1.1,10.100.1.1},以通知源网络装置12路由器18A具有,例如,到路由器18B和18C的两个下一跳路径。路由器18A可以将指示符13发送到源网络装置12。
源网络装置12可以接收指示符13,并且可以延迟构建具有递增的TTL值的新的路由跟踪报文,直到基于指示符13确定已经接收对由路由器18A生成的相应路由跟踪报文的响应,并且沿着从路由器18A通向目的地的多条路径中的每一条输出。
路由器18A可以将各修改的路由跟踪报文配置为被转发到路由器18B和18C的每条路径。例如,路由器18A可以修改所接收的路由跟踪报文,以包括与到路由器18B的路径相关联的各标识符。在另一示例中,路由器18A可以修改所接收的路由跟踪报文,以包括与到路由器18C的路径相关联的各标识符。
特别地,路由器18A可以分别配置表示到路由器18B和路由器18C的每条路径的会话16、17的各标识符。例如,路由器18A可以配置一个修改的路由跟踪报文,以包括表示到路由器18B的路径的标识符,其由会话16表示。路由器18A可以经由接入链路15B将修改的路由跟踪报文发送到路由器18B。
在另一示例中,路由器18A还可以配置另一修改的路由跟踪报文,以包括表示路由器18C的路径的标识符,由会话17表示。路由器18A可以经由接入链路15C将该修改的路由跟踪报文发送到路由器18C。在一些示例中,路由器18A可以将各修改的路由跟踪报文并行地发送到对应的路径。在其他示例中,路由器18A可以将各修改的路由跟踪报文依次发送到对应的路径。无论如何,路由器18A可以在对应路径上发送各修改的路由跟踪报文,以沿到路由器18B和18C的每条路径跟踪下一跳。
对于会话16,路由器18A可以例如修改路由跟踪报文的有效载荷,以包括会话栈,该会话栈至少包括其网络地址(例如,192.168.0.2)以及经由链路15B将路由器18A与到路由器18B的路径相关联的会话标识符(例如,1)。路由器18A可以将接入链路15B上的修改的路由跟踪报文发送到路由器18B。路由器18B接收修改的路由跟踪报文,减小TTL值,并且可以确定TTL值是零,路由器18B将由此构建响应20A。在这个示例中,路由器18B可以给TTL到期报文配置反向会话栈,该反向会话栈可以包括从路由器18A接收到的会话栈值(例如,10.1.1.1:1,192.168.0.2:1)。
对于会话17,路由器18A例如可以修改路由跟踪报文的有效载荷,以包括会话栈,该会话栈至少包括其网络地址(例如,192.168.0.2)以及经由链路15C(例如,会话17)将路由器18A与到路由器18C的路径相关联的会话标号(例如,2)。路由器18A可以将接入链路15C上的修改的路由跟踪报文发送到路由器18C。路由器18C接收修改的路由跟踪报文,递减TTL值,并且可以确定TTL值是零,路由器18C将由此构建响应20B。在这个示例中,路由器18C可以给TTL到期报文配置反向会话栈,该反向会话栈包括从路由器18A接收到的会话栈值(例如,10.1.1.1:1,192.168.0.2:2)。
路由器18B和18C均可以往下游向路由器18A发送其响应(例如,20A、20B)。源网络装置12可以用其各反向会话栈来接收响应20A、20B,并且可以从各标识符中确定路由器18B是路由器18A的一条路径的下一跳,并且路由器18C是路由器18A的另一路径的下一跳。例如,源网络装置12可以从路由器18B接收包括反向会话栈“10.1.1.1:1,192.168.0.2:1”的响应,由此,源网络装置12可以确定路由器18B与会话标识符“1”相关联,表示会话16的跟踪。源网络装置12还可以从路由器18C接收包括反向会话栈“10.1.1.1:1,192.168.0.2:2”的响应,由此,源网络装置12可以确定路由器18C与会话标识符“2”相关联,表示会话17的跟踪。
如上所述,源网络装置12可以从指示符13确定路由器18A具有两条路径。基于来自指示器13的信息,当针对路由器18A的所有路径接收到响应时,源网络装置12可以用递增的TTL值来配置新的路由跟踪报文。例如,当源网络装置12接收来自路由器18B的带有从路由器18A到路由器18B的路径的标识符的响应并且接收来自路由器18C的带有从路由器18A到路由器18C的路径的标识符的响应时,源网络装置12可以基于指示符13确定接收了路由器18A的所有路径的响应。作为响应,路由器18A可以配置路由器18A的路径的路由跟踪树,并且可以用递增的TTL值来配置新的路由跟踪报文。源网络装置12可以向目的地网络装置14发送新的路由跟踪报文,以识别路径中的下一跳。
继续上述示例,源网络装置12可以将TTL值递增到3,并向目的地网络装置14发送新的路由跟踪报文(例如,10.1.1.1:1)。由于TTL值大于1,路由器18A可以在修改路由跟踪报文之后转发该路由跟踪报文,以包括其网络地址和与连接到路由器的对应的下一跳路径相关联的各会话标识符。
对于会话16,路由器18A将TTL值递减到2,并且修改接收到的具有当前会话栈(例如,10.1.1.1:1)的路由跟踪报文,以包括路由器18A的网络地址(例如,192.168.0.2)和会话号(例如,1),以构建具有表示从源网络装置12到路由器18B的路径的更新的会话栈(例如,10.1.1.1:1,192.168.0.2:1)的修改的路由跟踪报文。
当路由器18B从路由器18A接收修改的路由跟踪报文时,路由器18B递减TTL值并确定TTL值不为零,由此,路由器18B将修改的路由跟踪转发到其下一跳。路由器18B可以执行目的地查找并且确定路由器18B具有到路由器18D的单条路径。路由器18B配置指示器(未示出),以通知源网络装置12可用于路由器18B的路径的数量。例如,路由器18B可以将新的实用程序PDU报文配置为{1,0.168.1.224},其可以包括到路由器18B的可用下一跳路径的计数(例如,1)和耦接到该路径的路由器18D的网络地址(例如,10.168.1.224)。路由器18B可以将新的实用程序PDU报文发送到源网络装置12,使得通知源网络装置12路由器18B的路径的数量。
在转发修改的路由跟踪报文之前,路由器18B可以进一步修改经修改的路由跟踪报文,以包括表示到路由器18D的路径的标识符。在图1的示例中,路由器18B可以进一步修改具有当前会话栈(例如10.1.1.1:1、192.168.0.2:1)的修改的路由跟踪报文,以包括其网络地址(例如,10.39.1.1)和会话标识符(例如,1),以构建具有更新的会话栈(例如,10.1.1.1:1、192.168.0.2:1、10.39.1.1:1)的修改的路由跟踪报文,以表示从源网络装置12到路由器18D的路径。路由器18B然后将修改的路由跟踪报文发送到路由器18D。
路由器18D接收修改的路由跟踪报文,递减TTL值,并且可以确定TTL值是零,由此,路由器18D将构建响应。在这个示例中,路由器18D可以用从路由器18B接收到的更新的会话栈拷贝的反向会话栈配置TTL到期报文,并朝下游向源网络装置12发送响应。源网络装置12可以接收具有反向会话栈的响应,并且可以从更新的会话栈中的标识符确定路由器18D是路由器18A的一条路径的下一个下一跳。当从路由器18B的所有路径接收到响应时,源网络装置12可更新路由跟踪树,以包括路由器18B和18D,作为路由器18A的会话16的下一跳和下一个下一跳。
类似地,对于会话17,路由器18A将TTL值递减到2,并且修改接收到的具有当前会话栈(例如,10.1.1.1:1)的路由跟踪报文,以包括路由器18A的网络地址(例如,192.168.0.2)和会话标识符(例如2),以构建具有表示从路由器18A到路由器18C的路径的更新的会话栈(例如,10.1.1.1:1,192.168.0.2:2)的修改的路由跟踪报文。当路由器18C从路由器18A接收修改的路由跟踪报文时,路由器18C递减TTL值,并确定TTL值不是零,由此,路由器18C将修改的路由跟踪报文转发到其下一跳。路由器18C可以执行目的地查找并且确定其分别具有到路由器18D、18E的两条路径。路由器18C可以配置指示器(未示出),以通知源网络装置12路径的数量。例如,路由器18C可以将新的实用程序PDU报文配置为{2,10.168.1.224,100.200.2.2},其可以包括分别到路由器18D和18E的可用下一跳的计数(例如,2),并且包括耦接到路径的路由器18D(例如,10.168.1.224)和路由器18E(例如100.200.2.2)的网络地址。路由器18D可以将该指示符发送到源网络装置12,使得通知源网络装置12路由器18D的路径的数量。
在一个示例中,路由器18C可以分别配置表示用于到路由器18D和路由器18E的每条路径的会话18、19的各标识符。例如,路由器18C可以配置一个修改的路由跟踪报文,以包括表示到路由器18D的路径的标识符,由会话18表示。路由器18C可以经由接入链路15E将修改的路由跟踪报文发送到路由器18D。
在另一示例中,路由器18C还可以配置另一修改的路由跟踪报文,以包括表示到路由器18E的路径的标识符,由会话19表示。路由器18C可以经由接入链路15F将这个修改的路由跟踪报文发送到路由器18E。在一些示例中,路由器18C可以将各修改的路由跟踪报文并行地发送到对应的路径,并且在其他示例中,可以将各修改的路由跟踪报文依次发送到对应路径。在任何情况下,路由器18C都可以在对应路径上发送各修改的路由跟踪报文,以沿着到路由器18D和18E的每条路径跟踪下一跳。
对于会话18,路由器18C例如可以进一步修改经修改的路由跟踪报文的有效载荷,以包括会话栈,该会话栈至少包括其网络地址(例如,10.100.1.1)以及经由链路15E(例如,会话18)将路由器18C与到路由器18D的路径相关联的会话标识符(例如,1)。即,路由器18C可以用上述信息修改当前的会话栈(例如,10.1.1.1:1,192.168.0.2:2),以构建更新的会话栈(例如,10.1.1.1:1,192.168.0.2:2,10.100.1.1:1),以表示到路由器18D的路径。路由器18C可以将接入链路15E上的修改的路由跟踪报文发送到路由器18D。
路由器18D接收修改的路由跟踪报文,递减TTL值,并且可以确定TTL值是零,由此,路由器18D将构建响应21A。在这个示例中,路由器18D可以为TTL过期报文配置包括从路由器18C接收的会话栈值的反向会话栈。路由器18D向下游对源网络装置12发送具有该反向会话栈的响应。
对于会话19,路由器18C可以例如进一步修改经修改的路由跟踪报文的有效载荷,以包括会话栈,该会话栈至少包括其网络地址(例如,10.100.1.1)以及经由链路15F(例如,会话19)将路由器18C与到路由器18E的路径相关联的会话标识符(例如,2)。即,路由器18C可以用上述信息修改当前的会话栈(例如,10.1.1.1:1,192.168.0.2:2),以构建更新的会话栈(例如,10.1.1.1:1,192.168.0.2:2,10.100.1.1:2),以表示到路由器18E的路径。路由器18C可以将接入链路15F上的修改的路由跟踪报文发送到路由器18E。
路由器18E接收修改的路由跟踪报文,递减TTL值,并且可以确定TTL值是零,由此,路由器18E将构建响应21B。在这个示例中,路由器18E可以为TTL过期报文配置包括从路由器18C接收的会话栈值的反向会话栈并向下游对源网络装置12发送响应。
源网络装置12可以用其各反向会话栈来接收响应21A、21B,并且可以从各标识符中确定路由器18D是路由器18C的一条路径的下一跳,并且路由器18E是路由器18C的另一路径的下一跳。根据本文描述的技术,源网络装置12可以确定到达路由器18D的一条路径包括路由器18A、18B,并且到达路由器18D的另一路径包括路由器18A、18C。即,源网络装置12可以跟踪每个ECMP路由的路径。例如,源网络装置12可以从路由器18D接收包括反向会话栈“10.1.1.1:1,192.168.0.2:2,10.100.1.1:1”的响应,由此,源网络装置12可以确定路由器18D与表示会话18的跟踪的会话标识符“1”相关联。源网络装置12还可以从路由器18E接收包括反向会话栈“10.1.1.1:1,192,168.0.2:2,10.100.1.1:2”的响应,由此,源网络装置12可以确定路由器18C与表示会话19的跟踪的会话标识符“2”相关联。
当源网络装置12接收路由器18C的会话18、19的所有响应时,源网络装置12可以向上游对目的地网络装置14发送具有递增的TTL值的新的路由跟踪报文。源网络装置12继续该过程,直到接收来自目的地网络装置14的响应。作为一个示例,源网络装置12可以向目的地网络装置14发送TTL值为4的路由跟踪报文,使得目的地装置14从路由器18D或者18E接收路由跟踪报文并且返回端口不可达消息,来表示跟踪已完成。作为响应,源网络装置12可以基于这些响应来配置最终的路由跟踪树,其在逻辑上表示为:
1、路由器18A-路由器18B-路由器18D-目的地
2、路由器18A-Router 18C:
a、路由器18A-路由器18C-路由器18D-目的地
b、路由器18A-路由器18C-路由器18E-目的地
图2是示出根据本公开中描述的技术的路由器的示例的方框图。在图2的示例中,路由器18可以表示图1的任何路由器18。路由器18包括控制单元32,其包括路由引擎34。路由器18包括分别经由入站网络链路90A-90N(统称为“入站网络链路90”)和出站网络链路92A-92N(统称为“出站网络链路92”)发送和接收报文流的接口卡88A-88N(统称为“IFC88”)。IFC88通常经由多个接口端口(未示出)耦接到链路90、92。入站链路90和出站链路92可以表示物理接口、逻辑接口或上述接口的一些组合。
路由引擎34为在网络堆栈的不同层执行的各种协议44提供操作环境。路由引擎34负责维护路由信息40,以反映路由器18连接到的网络和其他网络实体的当前拓扑。具体而言,路由协议周期性地更新路由信息40,以基于由路由器18接收的路由协议消息准确地反映网络和其他实体的拓扑。协议可以是在一个或多个处理器上执行的软件进程。例如,路由引擎34包括在网络堆栈的网络层操作的网络协议。在图2的示例中,网络协议包括TCP/IP46。
路由引擎34还可以包括各种消息传递协议,包括互联网控制消息协议(ICMP)48和用户数据报协议(UDP)49,以实现在本公开中描述的路由跟踪技术。ICMP 48可以包括如Request for Comments(RFC)792中由Network Working Group of the InternetEngineering Task Force(IETF)于1981年9月的题为“Internet Control MessageProtocol”所示的ICMP版本4以及如Request for Comments(RFC)4443中题为“InternetControl Message Protocol(ICMPv6)for the Internet Protocol Version 6(IPv6)”所示的ICMP版本6,这两个参考文献均通过引用结合于此。路由器18可以使用ICMP 48将诸如ICMP路由跟踪请求等控制信息传送给源网络装置12。UDP 49还可以提供过程,由此过程路由器18A可以将路由跟踪消息发送到其他网络装置的,如Request for Comments(RFC)768中1980年8月28日的题为“User Datagram Protocol”所示,该参考文献通过引用结合于此。路由引擎34可以包括图2中未示出的其他路由和/或消息传递协议。
路由引擎34还可以包括路由跟踪模块42。在一个示例中,路由跟踪模块42可以在路由器18的控制平面中执行。虽然路由跟踪模块42的示例是相对于控制平面来描述的,但是路由跟踪模块42可被配置为在控制平面、转发平面或两者中执行。
在一个示例中,路由器18可以从任何入站链路90接收包括TTL值的路由跟踪报文。在一个示例中,转发引擎36可以递减TTL值并确定TTL值不为零。在该示例中,路由跟踪模块42可以确定从路由器18可到达目的地网络装置14的路径的数量。路由跟踪模块42可以配置指示符,以通知源网络装置12路由器的下一跳路径。例如,路由跟踪模块42可以配置新的实用程序PDU报文,以包括对于目的地网络装置可到达的路由器18的可用的网络路径的计数。在一些示例中,路由跟踪模块42可以在新的实用程序PDU报文中包括这些路径上的下一跳路由器的一个或多个网络地址。路由跟踪模块42可将指示符转发给转发引擎36,使得指示符在任何出站链路92上被转发到源网络装置12。
路由跟踪模块42还可以修改路由跟踪报文,以包括路由器18的多条路径中的对应路径的标识符。在一些示例中,路由器18可以构建新的路由跟踪报文,以包括该标识符。在其他示例中,路由器18可以修改现有的路由跟踪报文,以包括该标识符。
在任何事件中,路由跟踪模块42可以修改所接收的路由跟踪报文的有效载荷,以包括路由器18的网络地址和/或会话标识符,以与路由跟踪报文转发到路由器18的对应路径相关联。在一些示例中,如上所述,路由跟踪报文可以包括当前会话堆栈,该当前会话堆栈包括转发路由跟踪报文的一个或多个网络装置的网络地址以及转发路由跟踪报文的路径的一个或多个会话标识符。即,路由跟踪报文可以识别从源网络装置12到路由器18的路径。以这种方式,路由跟踪模块42可以为对应路径构建更新的会话堆栈,以包括从源网络装置12到路由器18的一个或多个网络地址。
在另一示例中,路由器18可以从任何入站链路90接收包括TTL值的路由跟踪报文。转发引擎36可以递减TTL值并确定TTL值为零。作为响应,转发引擎36可以将路由跟踪报文转发到路由引擎34,使得路由跟踪模块42可以根据本文描述的技术来配置扩展路由跟踪响应。例如,路由跟踪模块42可以构建TTL过期消息,以在响应的有效载荷内包括反向会话栈,该响应的有效载荷包括与转发路由跟踪报文到路由器18的对应路径相关联的标识符。在一个示例中,路由跟踪模块42可以将从路由跟踪报文接收到的会话堆栈复制到响应的反向会话堆栈。即,反向会话栈可以包括通向路由器18的一个或多个网络地址和/或转发路由跟踪报文到路由器18的路径的一个或多个会话标识符。
转发引擎36表示提供网络流量的高速转发的硬件和逻辑功能。转发引擎36通常包括用转发信息编程的一个或多个转发芯片构成的组,该转发信息将网络目的地映射到特定的下一跳和对应的输出接口端口。在图2的示例中,转发引擎36包括转发信息50。根据路由信息40,转发引擎36维护转发信息50,转发信息50将网络目的地与特定的下一跳和对应的接口端口相关联。例如,路由引擎34分析路由信息40并根据路由信息40生成转发信息50。能够以一个或多个表格、链接列表、基数树、数据库、平面文件或任何其他数据结构的形式维护转发信息50。
图2中示出的路由器18的架构,仅出于示例目的被示出。本公开不限于这种架构。在其他示例中,路由器18可以用各种方式来配置。在一个示例中,路由引擎34和转发引擎36的一些功能可以分布在IFC 88内。
控制单元32的元件可以仅以软件或硬件来实现,或者可以以软件、硬件或固件的组合来实现。例如,控制单元32可以包括一个或多个处理器、一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或任何其他等效的集成或离散逻辑电路、或其任何组合,其执行软件指令。在这种情况下,控制单元32的各种软件模块可以包括在包含指令的计算机可读介质(例如,计算机可读存储介质)中存储、体现或编码的可执行指令。在计算机可读介质中嵌入或编码的指令可以使可编程处理器或其他处理器执行该方法,例如,当执行指令时。计算机可读存储介质可以包括随机存取存储器(RAM)、只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)非易失性随机存取存储器(NVRAM)、闪存、硬盘、CD-ROM、软盘、盒式磁带、固态驱动器、磁介质、光学介质或其他计算机可读介质。计算机可读介质可以用对应于路由器18的各种方面的指令(例如,协议)编码。在一些示例中,控制单元32对于这些方面检索并执行来自存储器的指令。
图3是示出了根据本文描述的技术的诸如图1的源网络装置12等网络装置的示例的方框图,这允许管理员16实现扩展路由跟踪实用程序,以识别具有多条路径的网络装置的网络路径。
在该示例中,源网络装置12包括分别经由入站网络链路326A-326N(统称为“入站网络链路326”)和出站网络链路328A-328N(统称为“出站网络链路328”)发送和接收报文流的接口卡324A-324N(统称为“IFC324”)。IFC 324通过输入/输出总线330耦接到控制单元320。通常,控制单元320提供执行存储在存储装置333内的软件指令的操作环境。
例如,控制单元320可以包括能够执行软件指令的一个或多个可编程处理器334。操作***335在由处理器334执行时为软件组件提供执行环境,包括诸如路由跟踪336等诊断协议。路由跟踪336允许源网络装置12输出路由跟踪请求报文,并接收路由跟踪响应报文,如本文所述。例如,路由跟踪336可以构建路由跟踪报文,包括来自源网络装置12的可到达目的地网络装置14的一条或多条路径的标识符。在一些示例中,路由跟踪336还可以构建路由跟踪报文,以包括源网络装置12的网络地址。
路由跟踪336还可以从路由器18接收的一个或多个指示符中确定路由器必须到达目的地网络装置14的路径的数量。基于该指示符,路由跟踪336可以确定源网络装置12是否已经从路由器的多条路径中的每一条接收响应。如果源网络装置12尚未接收到路由器的每条路径的响应,则路由跟踪336可以防止源网络装置12以递增的TTL值配置新的路由跟踪报文,并且可以等待,直到源网络装置12接收路由器的所有路径的响应。如果源网络装置12已经接收路由器的所有路径的响应,则路由跟踪336可以基于响应来配置路由跟踪树,并且还可以递增TTL值并配置另一路由跟踪报文。
尽管关于计算机进行了描述,源网络装置或者目的网络装置可以是任何形式的网络装置,并且该装置中的任一个或两者都可以具有一个或者多个无编号的接口。其他装置的示例包括服务器、笔记本电脑、台式机、移动装置、入侵检测装置、虚拟专用网络(VPN)装置、路由器、集线器、交换机、网关、防火墙、安全装置以及其他网络装置和设备。
图4是示出根据本文描述的技术的用于跟踪网络装置的多条路径的路由跟踪报文400的示例格式的方框图。在图4的示例中,路由跟踪报文400仅仅作为示例示出,并且可以包括更多或更少的数据字段。
路由跟踪报文400包括报头401,报头401至少包括源端口字段402、目的端口字段404和TTL值字段406。源端口字段402可以包括用于路由目的的源信息。例如,源端口字段402可以包含源网络装置12的源IP地址。目的地端口字段404包含目的地信息。例如,目的地端口字段404可以包含目的地网络装置14的目的地IP地址。TTL值字段406可以包括指示报文在到期之前在到达报文的目的地的路上可以经过的最大跳跃次数的值。长度字段408可以包括路由跟踪报文400的长度。可以考虑整个路由跟踪报文400来计算校验和字段410。可以在Request for Comments(RFC)768中1980年8月28日的题为“User Datagram Protocol”中找到关于UDP和UDP的报文格式的其他信息,该参考文献通过引用结合于此。
有效载荷412可以包括如本公开中所描述的“会话栈”。例如,有效载荷412可以包括网络装置标识符(“DEV ID”)字段414和会话标识符(“SESSION ID”)字段416。例如,当在源网络装置处启动路由跟踪时,网络装置可以将源网络装置的网络装置标识符(例如,IP地址)输入到网络装置标识符字段414内,并且可以将会话号输入到会话标识符字段416内,以将可达的源网络装置的特定路径与目的地网络装置相关联。当报文穿过网络时,中间网络装置(例如,路由器18A)接收具有大于1的TTL值的TTL值字段406的路由跟踪报文400,该中间网络装置可以修改有效载荷412,以包括在网络装置标识符字段414中的其网络地址以及在会话标识符字段416中与中间网络装置的特定路径相关联的会话号。例如,路由器18A可以向有效载荷412添加装置标识符字段414中的其网络地址以及与在会话标识符字段416中的到路由器18B和18C的一条路径相关联的各会话标识符。以这种方式,例如,有效载荷410可以包括用于源网络装置12和路由器18A的网络地址的列表以及与到路由器18B的路径相关联的各会话标识符。
图5是示出根据本文描述的技术的用于跟踪网络装置的多条路径的响应500的示例格式的方框图。响应500可以例如被构造为与ICMP超时报文类似并且由图2的路由跟踪模块42来配置。响应500可以包括用于路由目的的包含目的地信息的IP报头502。例如,IP报头502可以包含源IP地址、目的地IP地址和生存时间(TTL)值,其指示报文在到期之前可以在去往报文的目的地的路上经过的最大跳数。
另外,响应500可以包括具有类型字段504、代码字段506和校验和508的报头503。类型字段504用于标识消息的类型。例如,类型值“11”表示该报文是超时消息。当TTL值为零时,路由跟踪实用程序使用这种类型的报文进行响应。代码字段506根据由类型字段504指定的特定类型的消息而变化。例如,对于具有类型11(“超过时间”)的路由跟踪应答报文,代码值“0”指示报文在传输途中时过期的生存时间。可以考虑整个报文来计算校验和508。可以在Request for Comments(RFC)792中由Network Working Group of the InternetEngineering Task Force(IETF)于1981年9月的题为“Internet Control MessageProtocol”中,找到关于ICMP和ICMP的各种报文格式的进一步信息,该参考文献通过引用结合于此。
如本公开中所描述的,有效载荷510被扩展为包括“反向会话栈”。例如,有效载荷510可以包括网络装置标识符(“DEV ID”)字段512和会话标识符(“SESSION ID”)字段514。当目标网络装置接收具有TTL值为1的IP报头的路由跟踪报文时,目标网络装置可以为路由跟踪响应报文500配置从前一跳接收的路由跟踪报文(如图4所示)的有效载荷中复制的有效载荷510。即,包括在收到的路由跟踪报文中的一个或多个装置标识符和一个或多个会话标识符包括在响应500的有效载荷510中。
图6是示出根据本公开中描述的技术的网络***10的示例操作的流程图。为了说明的目的,参照图1和图3的源网络装置12以及图1和2的路由器18A-18C来解释图6。尽管下面描述的示例是相对于图1和图2的路由器18A-18C来示出的,但是路由器18中的任何一个可以执行所描述的示例。
源网络装置12可以配置包括与从源网络装置12到目的地网络装置的一条或多条路径相关联的标识符和TTL值的路由跟踪报文(602)。例如,管理员可以调用源网络装置12的路由跟踪实用程序336来配置路由跟踪报文,以包括具有会话栈的标识符,以关联从源网络装置到目的地网络装置的一条或多条路径,该会话栈包括源网络装置12的网络地址和会话标识符。源网络装置12可以向上游对目的地网络装置14发送路由跟踪报文(604)。
中间网络装置(例如,路由器18A)可以接收路由跟踪报文(606)。如在图6中进一步描述的,路由器18A可以基于包括在路由跟踪报文中的TTL值来确定是转发路由跟踪报文还是构建对路由跟踪报文的响应。在这个示例中,路由器18A可以被示出为转发路由跟踪报文。
在转发路由跟踪报文之前,路由器18A可以确定可以到达目的地的路由器18A的路径的数量(608)。在一个示例中,路由器18A可以配置包括路由器18A的路径的数目的指示符。在该示例中,路由器18A可以包括表示到路由器18B和18C的路径的数量的指示符。在一些示例中,指示符还可以包括路径上的下一跳装置的一个或多个网络地址,例如,路由器18B和18C的网络地址。
路由器18A可以将该指示符发送到源网络装置12(610)。源网络装置12可以接收指示符(612)。源网络装置12可以基于该指示符来确定路由器18A的路径的数量。
路由器18A可修改路由跟踪报文的有效载荷,以包括与路由器18A的对应路径相关联的各标识符(614)。例如,路由器18A可以配置一个各修改的路由跟踪报文,包括包含路由器18A的网络地址和各会话标识符的会话栈,以关联到达路由器18B的对应路径。路由器18A还可以配置另一各修改的路由跟踪报文,包括包含路由器18A的网络地址和各会话标识符的会话栈,以关联到达路由器18C的对应路径。即,路由器18A可以为路由器18A的对应路径构建各修改的路由跟踪报文。路由器18A可以将各修改的路由跟踪报文发送到到达目标路由器18B和18C的对应路径(616)。
目标路由器18B和18C均可以接收各修改的路由跟踪报文(618、620)。当TTL值为1时,路由器18B和18C中的每一个可以配置对修改的路由跟踪报文的响应(622、624)。如在图6中进一步描述的,接收到的修改的路由跟踪报文被转发给目标网络装置的控制面,使得目标网络装置可以配置响应。在一个示例中,响应可以包括从路由器18A接收的会话栈复制的反向会话栈。即,路由器18B的响应可以包括用于源网络装置12和中间路由器18A的网络地址以及关联从中间路由器18A到目标路由器18B的路径的会话标识符。类似地,路由器18C的响应可以包括用于源网络装置12和中间路由器18A的网络地址以及关联从中间路由器18A到目标路由器18C的路径的会话标识符。
路由器18B和18C均可以向源网络装置12发送其响应(626、628)。例如,响应于配置响应,路由器18B和18C中的每一个可以将响应转发到其转发引擎,以将出站接口链路上的响应转发到路由器18A。
中间路由器18A可以接收响应(630)。路由器18A可以并行或依次接收响应。无论如何,路由器18A可以将来自路由器18B和18C的响应发送到源网络装置12(632)。
源网络装置12可以在任何入站接口链路326上接收响应,并且可以基于接收到的指示符确定源网络装置12是否已经接收针对网络装置的多个网络路径中的每一条的响应(634)。例如,基于接收到的指示符,源网络装置12的路由跟踪实用程序336可以确定源网络装置12期望接收对于从路由器18A到路由器18B的路径的响应以及对于从路由器18A到路由器18C的路径的另一响应。响应于接收到路由器18A的每个网络路径的响应,源网络装置12然后可以基于接收到的响应来配置路由跟踪树(636),并且为新的路由跟踪报文配置递增的TTL值,源网络装置12可以向目的地网络装置14发送该新的路由跟踪报文(638)。源网络装置12可以继续该过程,直到从目的地网络装置接收到响应。
图7是示出根据本公开中描述的技术的路由器18的示例操作的流程图。图7的路由器18可以表示图1和2中的任何路由器18。
路由器18可以从一个入站网络链路90接收包括TTL值的路由跟踪报文(702)。路由器18的转发引擎36可以递减TTL值并确定TTL值是否为零(704)。如果TTL值为零,路由器18可以将路由跟踪报文转发给路由引擎34,使得路由跟踪模块42可以构建对路由跟踪报文的响应。
路由器18的路由跟踪模块42可以构建包括从路由跟踪报文接收到的各标识符的响应(706)。例如,路由器18可以接收路由跟踪报文,在该路由跟踪报文的有效载荷中包括会话栈,该会话栈包括转发路由跟踪报文的一个或多个网络装置的网络地址和/或与转发路由跟踪报文相关的路径相关联的一个或多个会话标识符。在一个示例中,路由器18可以构建扩展的TTL过期消息,在消息的有效载荷中包括复制所接收的路由跟踪报文的会话栈的反向会话栈。即,响应可以包括转发路由跟踪报文的网络装置的一个或多个网络地址以及与转发路由跟踪报文的路径相关联的一个或多个会话标识符。路由器18可以将该响应转发给转发引擎36,以在任何出站链路92上向源网络装置12发送响应(708)。
如果TTL值不为零,则路由器18可确定其到达目的地网络装置14所具有的路径的数量(710)。例如,路由器18的路由跟踪模块42可以执行目的地查找,以确定可到达目的地网络装置14的路径。路由跟踪模块42可以配置包括路径数量的指示符(712)。在一个示例中,路由器18可以使用路由跟踪模块42来将指示符配置为包括路由器18的路径的数量的新的实用程序PDU。在一些示例中,新的实用程序PDU可以包括在路由器18的路径上的下一跳网络装置的一个或多个网络地址。路由器18可以在任何出站链路92上向源网络装置12发送指示符(714)。
路由器18的路由跟踪模块42可以修改路由跟踪报文的有效载荷,以包括路由器18的对应路径的各标识符(716)。在一个示例中,路由跟踪模块42可以修改有效载荷,以包括会话栈,该会话栈至少包括路由器18的网络地址和与可以到达目的地网络装置14的路由器18的对应路径相关联的会话标识符。
路由器18可以在对应路径上转发各修改的路由跟踪报文(718)。例如,路由跟踪模块42可以将各修改的路由跟踪报文转发到转发引擎36,以在任何出站链路92上将各修改的路由跟踪报文转发到下一跳的对应路径。
路由器18的转发引擎36可以在任何入站链路90上接收对修改的路由跟踪报文的一个或多个响应(720)。路由器18的转发引擎36可以从响应报文报头中识别出该响应将在到源网络装置12的任何出站链路92上被向源网络装置12转发(722)。
图8是示出根据本公开中描述的技术的源网络装置12的示例操作的流程图。在图8的示例中,源网络装置12表示图1和3的源网络装置12。
管理员可以使用源网络装置12来启动路由跟踪实用程序336(802)。源网络装置12可以配置路由跟踪报文,包括可用于源网络装置12到达目的地网络装置的路径的网络标识符(804)。例如,源网络装置12可以利用“会话栈”来配置路由跟踪报文的有效载荷,该会话栈包括源网络装置12的网络地址和/或与来自源网络装置12的下一跳路径相关联的各会话标识符。源网络装置12还可以配置TTL值,以指示报文在到期之前到达报文的目的地的路上可以经过的最大跳数。
源网络装置12经由任何出站链路328向目的地网络装置14发送路由跟踪报文和TTL值(806)。例如,源网络装置12可以使用UDP协议来将如本文所描述的路由跟踪报文沿着到目的地网络装置的路径传达给来自目的地网络装置(例如,路由器18)的不正当响应。
当路由跟踪报文穿过网络时,源网络装置12可以从中间路由器接收指示符,该指示符包括路由器到达目的地网络装置可用的多条路径(808)。在一些示例中,指示符还可以包括这些路径上的下一跳路由器的一个或多个网络地址。
源网络装置12可以在任何入站链路326上接收对路由跟踪报文的一个或多个响应(810)。源网络装置12的路由跟踪336可以基于从中间路由器接收到的指示符,来确定源网络装置12是否已经从中间路由器的多条路径中的每条路径接收响应(812)。如果源网络装置12没有对于中间路由器的每条路径接收到响应,源网络装置12可以不为新的路由跟踪报文配置递增的TTL值,并且可以等待接收对路由跟踪报文的一个或多个额外响应(810)。如果源网络装置12已经接收到针对中间路由器的多条路径中的每一条的响应,则源网络装置12可以基于中间路由器的每条路径的接收到的一个或多个响应,来配置路由跟踪树(814),并且也可以递增TTL值(816)并配置另一路由跟踪报文(804)。
在本文中描述的技术可以在硬件、软件、固件或其任何组合内实现。作为模块、单元或元件描述的各种特征可以在集成逻辑装置内共同地,或者独立地作为离散的但是互操作的逻辑装置或其他硬件装置实现。在某些情况下,电子电路的各种特征可以作为一个或多个集成电路装置实现,例如,集成电路芯片或芯片组。
如果在硬件内实现,则本公开可以涉及一种设备,例如,处理器或集成电路装置,例如,集成电路芯片或芯片组。可替换地或者此外,如果在软件或固件内实现,则这些技术可以至少部分由包括指令的计算机可读数据储存介质实现,在执行时,这些指令致使处理器执行上面描述的一种或多种方法。例如,计算机可读数据储存介质可以储存这种指令,以由处理器执行。
计算机可读介质可以形成一部分计算机程序产品,该产品可以包括封装材料。计算机可读介质可以包括计算机可读储存介质,例如,随机存取存储器(RAM)、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦可编程只读存储器(EEPROM)、闪速存储器、磁或光学数据储存介质以及类似物。在一些示例中,制品可以包括一个或多个计算机可读储存介质。
在一些示例中,计算机可读储存介质可以包括非暂时性介质。术语“非暂时性”可以表示储存介质不在载波或传播信号内体现。在某些示例中,非暂时性储存介质可以储存能随着时间改变的数据(例如,在RAM或高速缓冲存储器内)。
代码或指令可以是由包括一个或多个处理器的由处理电路执行的软件和/或固件,例如,一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他等效的集成或离散逻辑电路。据此,在本文中使用的术语“处理器”可以表示任何上述结构或者适合于实现在本文中描述的技术的任何其他结构。此外,在一些方面,可以在软件模块或硬件模块内提供在本公开中描述的功能。
除了上述之外或者作为上述的替代,描述下面的示例。任何以下示例中描述的特征可以与本文描述的任何其他示例一起使用。
示例1.一种方法,包括:通过耦接到用于到达目的地网络装置的多条路径并位于源网络装置和目的地网络装置之间的网络装置接收路由跟踪报文;对于多条路径中的每条路径,由网络装置修改路由跟踪报文的有效载荷,以包括多条路径中的对应路径的各标识符,以构建用于对应路径的各修改的路由跟踪报文;由网络装置在对应路径上转发各修改的路由跟踪报文。
示例2.根据示例1的方法,其中,接收路由跟踪报文包括:接收在到达网络装置的路径上转发路由跟踪报文的一个或多个中间网络装置的一个或多个网络地址,其中,一个或多个中间网络装置位于网络装置和源网络装置之间;并且接收与一个或多个中间网络装置转发路由跟踪报文到网络装置的路径相关联的一个或多个会话标识符。
示例3.根据示例1的方法,其中,修改路由跟踪报文的有效载荷,以包括各标识符,还包括修改路由跟踪报文的有效载荷,以包括网络装置的网络地址。
示例4.根据示例1的方法,还包括:由网络装置配置表示网络装置的多条路径的数量的指示符;并且由网络装置将指示符发送给源网络装置。
示例5.根据示例4的方法,其中,配置指示符还包括将指示符配置为包括网络装置的多条路径上的一个或多个下一跳的一个或多个网络地址。
示例6.根据示例1的方法,还包括:由网络装置确定路由跟踪报文是否包括TTL值零;并且响应于确定TTL值为零,由网络装置构建包括包含路由跟踪报文的各标识符的响应。
示例7.根据示例6的方法,其中,构建包括各标识符的响应还包括:构建响应,以包括将路由跟踪报文转发到网络装置的一个或多个中间网络装置的一个或多个网络地址,其中,一个或多个中间网络装置位于网络装置和源网络装置之间;并且网络装置向源网络装置发送响应。
示例8.根据示例6的方法,其中,构建对路由跟踪报文的响应包括配置互联网控制消息协议(ICMP)报文。
示例9.根据示例1的方法,其中,多条路径包括多个等价多路径(ECMP)路径。
示例10.一种方法,包括:由源网络装置将路由跟踪报文发送到耦接到用于到达目的地网络装置的多条路径的中间网络装置,其中,中间网络装置位于源网络装置和目的地网络装置之间;并且由源网络装置从中间网络装置接收一个或多个各响应,其中,一个或多个各响应中的每一个包括包含用于多条路径中的对应路径的各标识符的有效载荷。
示例11.根据示例10的方法,其中,接收一个或多个各响应包括:接收在对应路径上转发路由跟踪报文的一个或多个网络装置的一个或多个网络地址。
示例12.根据示例10的方法,还包括:由源网络装置从中间网络装置接收表示中间网络装置的多条路径的数量的指示符;由源网络装置基于指示符确定源网络装置是否已经接收多个路由跟踪报文中的每一个的各响应,各响应是针对由中间网络装置生成的并且在多条路径中的各路径上向目的地网络装置输出;并且响应于确定源网络装置已经接收针对多条路径中的每一条的各响应,由源网络装置为另一路由跟踪报文配置递增的TTL值。
示例13.根据示例12的方法,还包括:响应于确定源网络装置已经接收多条路径中的每一条的各响应,由源网络装置基于响应构建多条路径中的每一条的路由跟踪树。
示例14.根据示例10的方法,其中,发送路由跟踪报文,包括从源网络装置向目的地网络装置发送一条或多条路径的标识符。
示例15.根据示例14的方法,其中,发送路由跟踪报文,还包括发送源网络装置的网络地址。
示例16.根据示例10的方法,其中,对应路径的各标识符还包括:在对应路径上转发路由跟踪报文的一个或多个网络装置的一个或多个网络地址。
示例17.一种网络装置,包括:多个网络接口,网络接口中的每一个耦接到用于到达目的地网络装置的多条路径中的不同路径,其中,网络装置位于源网络装置和目的地网络装置之间;一个或多个基于硬件的处理器,其被配置为:接收去往目的地装置的路由跟踪报文;对于多条路径中的每一条路径,修改路由跟踪报文的有效载荷,以包括多条路径中的对应路径的各标识符,以构建用于对应路径的各修改的路由跟踪报文;并且在对应路径上转发各修改的路由跟踪报文。
示例18.根据示例17的网络装置,其中,一个或多个基于硬件的处理器进一步被配置为:确定路由跟踪报文是否包含TTL值零;并且响应于确定TTL值为零,构建包括包含路由跟踪报文的各标识符的响应。
示例19.根据示例17的网络装置,其中,一个或多个基于硬件的处理器还被配置为:配置表示多条路径的数量的指示符;并且将指示符发送给源网络装置。
示例20.一种源网络装置,包括:一个或多个基于硬件的处理器,其被配置为:向目的地网络装置发送路由跟踪报文;并且接收一个或多个各响应,其中,一个或多个各响应中的每一个响应包括有效载荷,有效载荷包括用于中间网络装置的多条路径中的对应路径的各标识符,其中,中间网络装置位于源网络装置和目的地网络装置之间。
示例21.根据示例20的源网络装置,其中,一个或多个基于硬件的处理器进一步被配置为:从中间网络装置接收表示中间网络装置的多条路径的数目的指示符;基于指示符确定源网络装置是否已经接收针对多条路径中的每一条的各响应;并且响应于确定源网络装置已经接收针对多条路径中的每一条的各响应,为另一路由跟踪报文配置递增的TTL值。
此外,上述任何示例中阐述的任何特定特征可以组合成所描述的技术的有益示例。即,任何特定特征通常适用于本公开的所有示例。本发明的各种示例已经被描述。这些和其他示例在以下权利要求的范围内。
Claims (21)
1.一种方法,包括:
通过耦接到用于到达目的地网络装置的多条路径并位于源网络装置和所述目的地网络装置之间的网络装置接收路由跟踪报文;
对于所述多条路径中的每条路径,由所述网络装置修改所述路由跟踪报文的有效载荷,以包括所述多条路径中的对应路径的各标识符,以构建用于所述对应路径的各修改的路由跟踪报文;
由所述网络装置在所述对应路径上转发各修改的所述路由跟踪报文。
2.根据权利要求1所述的方法,其中,接收所述路由跟踪报文包括:
接收在到所述网络装置的路径上转发所述路由跟踪报文的一个或多个中间网络装置的一个或多个网络地址,其中,一个或多个所述中间网络装置位于所述网络装置和所述源网络装置之间;并且
接收与一个或多个所述中间网络装置转发所述路由跟踪报文的到所述网络装置的路径相关联的一个或多个会话标识符。
3.根据权利要求1所述的方法,其中,修改所述路由跟踪报文的有效载荷,以包括所述各标识符,还包括修改所述路由跟踪报文的有效载荷,以包括所述网络装置的网络地址。
4.根据权利要求1-3中的任一项所述的方法,还包括:
由所述网络装置配置表示所述网络装置的所述多条路径的数量的指示符;并且
由所述网络装置将所述指示符发送给所述源网络装置。
5.根据权利要求4所述的方法,其中,配置所述指示符还包括将所述指示符配置为包括所述网络装置的所述多条路径上的一个或多个下一跳的一个或多个网络地址。
6.根据权利要求1所述的方法,还包括:
由所述网络装置确定所述路由跟踪报文是否包括为零的生存时间值;并且
响应于确定所述生存时间值为零,由所述网络装置构建包括路由跟踪报文所包含的各标识符的响应。
7.根据权利要求6所述的方法,其中,构建包括所述各标识符的所述响应还包括:
构建所述响应,以包括将所述路由跟踪报文转发到所述网络装置的一个或多个中间网络装置的一个或多个网络地址,其中,一个或多个所述中间网络装置位于所述网络装置和所述源网络装置之间;
并且
由所述网络装置向所述源网络装置发送所述响应。
8.根据权利要求6或7所述的方法,其中,构建对所述路由跟踪报文的响应包括配置互联网控制消息协议报文。
9.根据权利要求1所述的方法,其中,所述多条路径包括多个等价多路径路径。
10.一种方法,包括:
由源网络装置将路由跟踪报文发送到中间网络装置,所述中间网络装置耦接到用于到达目的地网络装置的多条路径,其中,所述中间网络装置位于所述源网络装置和所述目的地网络装置之间;并且
由所述源网络装置从所述中间网络装置接收一个或多个各响应,其中,一个或多个各所述响应中的每一个包括有效载荷,所述有效载荷包含所述多条路径中的对应路径的各标识符。
11.根据权利要求10所述的方法,其中,接收一个或多个各所述响应包括:
接收在所述对应路径上转发所述路由跟踪报文的一个或多个网络装置的一个或多个网络地址。
12.根据权利要求10或11所述的方法,还包括:
由所述源网络装置从所述中间网络装置接收表示所述中间网络装置的所述多条路径的数量的指示符;
由所述源网络装置基于所述指示符确定所述源网络装置是否已经针对由所述中间网络装置生成的并且在所述多条路径中的相应一条路径上向所述目的地网络装置输出的多个路由跟踪报文中的每一个接收到各响应;并且
响应于确定所述源网络装置已经针对所述多条路径中的每一条接收到各所述响应,由所述源网络装置为另一路由跟踪报文配置递增的生存时间值。
13.根据权利要求12所述的方法,还包括:
响应于确定所述源网络装置已经针对所述多条路径中的每一条接收到各所述响应,由所述源网络装置基于所述响应构建所述多条路径中的每一条的路由跟踪树。
14.根据权利要求10所述的方法,其中,发送所述路由跟踪报文包括从所述源网络装置向所述目的地网络装置发送一条或多条路径的标识符。
15.根据权利要求14所述的方法,其中,发送所述路由跟踪报文还包括发送所述源网络装置的网络地址。
16.根据权利要求10所述的方法,其中,所述对应路径的所述各标识符还包括:
在所述对应路径上转发所述路由跟踪报文的一个或多个网络装置的一个或多个网络地址。
17.一种网络装置,包括:
多个网络接口,所述网络接口中的每一个耦接到用于到达目的地网络装置的多条路径中的不同的一条路径,其中,所述网络装置位于源网络装置和所述目的地网络装置之间;
一个或多个基于硬件的处理器,被配置为:
接收去往所述目的地网络装置的路由跟踪报文;
对于所述多条路径中的每一条路径,修改所述路由跟踪报文的有效载荷,以包括所述多条路径中的对应路径的各标识符,以构建用于所述对应路径的各修改的路由跟踪报文;并且
在所述对应路径上转发各修改的所述路由跟踪报文。
18.根据权利要求17所述的网络装置,其中,一个或多个基于硬件的所述处理器进一步被配置为:
确定所述路由跟踪报文是否包含为零的生存时间值;并且
响应于确定所述生存时间值为零,构建包括路由跟踪报文所包含的各标识符的响应。
19.根据权利要求17或18所述的网络装置,其中,一个或多个基于硬件的所述处理器还被配置为:
配置表示所述多条路径的数量的指示符;并且
将所述指示符发送给所述源网络装置。
20.一种源网络装置,包括:
一个或多个基于硬件的处理器,被配置为:
向目的地网络装置发送路由跟踪报文;并且
接收一个或多个各响应,其中,一个或多个各所述响应中的每一个响应包括有效载荷,所述有效载荷包括用于中间网络装置的多条路径中的对应路径的各标识符,其中,所述中间网络装置位于所述源网络装置和所述目的地网络装置之间。
21.根据权利要求20所述的源网络装置,其中,一个或多个基于硬件的所述处理器进一步被配置为:
从所述中间网络装置接收表示所述中间网络装置的所述多条路径的数目的指示符;
基于所述指示符确定所述源网络装置是否已经针对所述多条路径中的每一条接收到各响应;并且
响应于确定所述源网络装置已经针对所述多条路径中的每一条接收到各所述响应,为另一路由跟踪报文配置递增的生存时间值。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/470,427 | 2017-03-27 | ||
US15/470,427 US20180278514A1 (en) | 2017-03-27 | 2017-03-27 | Traceroute for multi-path routing |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108667681A true CN108667681A (zh) | 2018-10-16 |
CN108667681B CN108667681B (zh) | 2022-03-18 |
Family
ID=61002917
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711465522.9A Active CN108667681B (zh) | 2017-03-27 | 2017-12-28 | 用于多路径路由的路由跟踪 |
Country Status (3)
Country | Link |
---|---|
US (2) | US20180278514A1 (zh) |
EP (1) | EP3382954B1 (zh) |
CN (1) | CN108667681B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110677319A (zh) * | 2019-08-23 | 2020-01-10 | 北京邮电大学 | 端到端时延测量方法和装置 |
CN111869246A (zh) * | 2020-01-21 | 2020-10-30 | 深圳市汇顶科技股份有限公司 | 消息传输的方法、ble设备和ble芯片 |
CN114363250A (zh) * | 2020-09-30 | 2022-04-15 | 瞻博网络公司 | 支持分段路由的网络中的多路径的重新计算 |
CN114978942A (zh) * | 2022-05-13 | 2022-08-30 | 深信服科技股份有限公司 | 一种路由器检测方法、装置及电子设备和存储介质 |
CN115460126A (zh) * | 2019-09-27 | 2022-12-09 | 瞻博网络公司 | 自治***间跟踪路由消息 |
CN115865796A (zh) * | 2023-03-03 | 2023-03-28 | 深圳市欣博跃电子有限公司 | 路由器标签交换的路径规划方法 |
CN115460126B (zh) * | 2019-09-27 | 2024-05-17 | 瞻博网络公司 | 自治***间跟踪路由消息 |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6801409B2 (ja) * | 2016-12-02 | 2020-12-16 | 富士通株式会社 | 経路探索システム、経路探索方法及び経路探索プログラム |
US10601644B2 (en) * | 2017-11-10 | 2020-03-24 | Twitter, Inc. | Detecting sources of computer network failures |
US11882202B2 (en) * | 2018-11-16 | 2024-01-23 | Cisco Technology, Inc. | Intent based network data path tracing and instant diagnostics |
US10904123B2 (en) * | 2019-05-31 | 2021-01-26 | Microsoft Technology Licensing, Llc | Trace routing in virtual networks |
CN110336716B (zh) * | 2019-07-15 | 2022-05-06 | 哈尔滨工业大学 | 一种高效的目标主机末跳路由器探测方法 |
US11290365B2 (en) | 2019-07-31 | 2022-03-29 | Microsoft Technology Licensing, Llc | Optimizing how test packets are sent during continuous network monitoring |
US11170776B1 (en) * | 2019-09-16 | 2021-11-09 | Amazon Technologies, Inc. | Speech-processing system |
CN111614557B (zh) * | 2020-04-02 | 2021-09-24 | 深圳创维-Rgb电子有限公司 | Mesh网络的数据传输方法、装置、网关及存储介质 |
US11296982B2 (en) * | 2020-04-20 | 2022-04-05 | Cisco Technology, Inc. | Initiator-based data-plane validation for segment routed, multiprotocol label switched (MPLS) networks |
US20210409322A1 (en) * | 2020-06-24 | 2021-12-30 | Juniper Networks, Inc. | Point-to-multipoint layer -2 network extension over layer-3 network |
US11405320B2 (en) | 2020-12-04 | 2022-08-02 | Cisco Technology, Inc. | Systems and methods for scalable validation of multiple paths in a network using segment routing |
US11922938B1 (en) | 2021-11-22 | 2024-03-05 | Amazon Technologies, Inc. | Access to multiple virtual assistants |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101335689A (zh) * | 2007-06-26 | 2008-12-31 | 华为技术有限公司 | 跟踪路由的实现方法及设备 |
US20110299406A1 (en) * | 2010-06-02 | 2011-12-08 | Brocade Communications Systems, Inc. | Path detection in trill networks |
US20110317696A1 (en) * | 2010-06-29 | 2011-12-29 | Cisco Technology | In-band multicast trace in ip and mpls networks |
US20120207039A1 (en) * | 2011-02-16 | 2012-08-16 | Oracle International Corporation | Method and system for validating network traffic classification in a blade server |
US20130163446A1 (en) * | 2011-12-22 | 2013-06-27 | Voipfuture Gmbh | Correlation of Media Plane and Signaling Plane of Media Services in a Packet-Switched Network |
US20150036478A1 (en) * | 2008-01-31 | 2015-02-05 | Cisco Technology, Inc. | Event triggered traceroute for optimized routing in a computer network |
US20160105336A1 (en) * | 2014-10-13 | 2016-04-14 | Cisco Technology, Inc. | SGT Feature Trace Using Netflow |
US20160142291A1 (en) * | 2013-05-01 | 2016-05-19 | Joseph Polland | Enhanced route tracing |
CN105634776A (zh) * | 2014-10-31 | 2016-06-01 | 华为技术有限公司 | 一种确定报文转发接口的方法及设备 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5675741A (en) * | 1994-10-25 | 1997-10-07 | Cabletron Systems, Inc. | Method and apparatus for determining a communications path between two nodes in an Internet Protocol (IP) network |
US8176154B2 (en) * | 2002-09-30 | 2012-05-08 | Avaya Inc. | Instantaneous user initiation voice quality feedback |
WO2004056047A1 (en) * | 2002-12-13 | 2004-07-01 | Internap Network Services Corporation | Topology aware route control |
US7596097B1 (en) * | 2006-03-09 | 2009-09-29 | Cisco Technology, Inc. | Methods and apparatus to prevent network mapping |
TWI462530B (zh) * | 2006-05-01 | 2014-11-21 | Koninkl Philips Electronics Nv | 在分散式無線通信網路發現至少具有一最小組可用資源的一經請求即直接連接的距離向量路由之方法 |
US7706278B2 (en) * | 2007-01-24 | 2010-04-27 | Cisco Technology, Inc. | Triggering flow analysis at intermediary devices |
US8130663B2 (en) * | 2007-09-14 | 2012-03-06 | At&T Intellectual Property I, L.P. | Methods and apparatus to route emergency communication sessions |
US8959245B2 (en) * | 2008-11-25 | 2015-02-17 | Broadcom Corporation | Multiple pathway session setup to support QoS services |
US8724494B2 (en) * | 2009-10-07 | 2014-05-13 | Riverbed Technology, Inc. | Network multi-path discovery |
US8483069B1 (en) * | 2010-01-13 | 2013-07-09 | Juniper Networks, Inc. | Tracing Ethernet frame delay between network devices |
WO2011105815A2 (en) * | 2010-02-23 | 2011-09-01 | Lg Electronics Inc. | A method and an apparatus for session routing in home network system |
US20120066165A1 (en) * | 2010-09-14 | 2012-03-15 | Verizon Patent And Licensing Inc. | Traceroute diagnosis |
US9185018B2 (en) * | 2010-10-22 | 2015-11-10 | Brocade Communications Systems, Inc. | Path diagnosis in communication networks |
US9049140B2 (en) * | 2010-11-18 | 2015-06-02 | Microsoft Technology Licensing, Llc | Backbone network with policy driven routing |
US8670326B1 (en) * | 2011-03-31 | 2014-03-11 | Cisco Technology, Inc. | System and method for probing multiple paths in a network environment |
CN102177681B (zh) * | 2011-04-21 | 2013-04-24 | 华为技术有限公司 | 检测故障的方法和*** |
US8750288B2 (en) * | 2012-06-06 | 2014-06-10 | Juniper Networks, Inc. | Physical path determination for virtual network packet flows |
US9647921B2 (en) * | 2012-08-07 | 2017-05-09 | Qualcomm Incorporated | Statistics and failure detection in a network on a chip (NoC) network |
US8953460B1 (en) * | 2012-12-31 | 2015-02-10 | Juniper Networks, Inc. | Network liveliness detection using session-external communications |
US9282019B2 (en) * | 2013-07-12 | 2016-03-08 | Nicira, Inc. | Tracing logical network packets through physical network |
US9374294B1 (en) * | 2013-11-05 | 2016-06-21 | Cisco Technology, Inc. | On-demand learning in overlay networks |
US20170117978A1 (en) * | 2015-10-27 | 2017-04-27 | Mediatek Inc. | Method for selecting ttl for a mesh network |
US10158556B2 (en) * | 2017-03-24 | 2018-12-18 | Cisco Technology, Inc. | Application-aware equal cost multipath discovery mechanism |
-
2017
- 2017-03-27 US US15/470,427 patent/US20180278514A1/en not_active Abandoned
- 2017-12-28 CN CN201711465522.9A patent/CN108667681B/zh active Active
-
2018
- 2018-01-17 EP EP18152156.8A patent/EP3382954B1/en active Active
-
2022
- 2022-08-24 US US17/821,998 patent/US20220407800A1/en active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101335689A (zh) * | 2007-06-26 | 2008-12-31 | 华为技术有限公司 | 跟踪路由的实现方法及设备 |
US20150036478A1 (en) * | 2008-01-31 | 2015-02-05 | Cisco Technology, Inc. | Event triggered traceroute for optimized routing in a computer network |
US20110299406A1 (en) * | 2010-06-02 | 2011-12-08 | Brocade Communications Systems, Inc. | Path detection in trill networks |
US20110317696A1 (en) * | 2010-06-29 | 2011-12-29 | Cisco Technology | In-band multicast trace in ip and mpls networks |
US20120207039A1 (en) * | 2011-02-16 | 2012-08-16 | Oracle International Corporation | Method and system for validating network traffic classification in a blade server |
US20130163446A1 (en) * | 2011-12-22 | 2013-06-27 | Voipfuture Gmbh | Correlation of Media Plane and Signaling Plane of Media Services in a Packet-Switched Network |
US20160142291A1 (en) * | 2013-05-01 | 2016-05-19 | Joseph Polland | Enhanced route tracing |
US20160105336A1 (en) * | 2014-10-13 | 2016-04-14 | Cisco Technology, Inc. | SGT Feature Trace Using Netflow |
CN105634776A (zh) * | 2014-10-31 | 2016-06-01 | 华为技术有限公司 | 一种确定报文转发接口的方法及设备 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110677319A (zh) * | 2019-08-23 | 2020-01-10 | 北京邮电大学 | 端到端时延测量方法和装置 |
CN110677319B (zh) * | 2019-08-23 | 2021-03-23 | 北京邮电大学 | 端到端时延测量方法和装置 |
CN115460126A (zh) * | 2019-09-27 | 2022-12-09 | 瞻博网络公司 | 自治***间跟踪路由消息 |
CN115460126B (zh) * | 2019-09-27 | 2024-05-17 | 瞻博网络公司 | 自治***间跟踪路由消息 |
CN111869246A (zh) * | 2020-01-21 | 2020-10-30 | 深圳市汇顶科技股份有限公司 | 消息传输的方法、ble设备和ble芯片 |
WO2021146879A1 (zh) * | 2020-01-21 | 2021-07-29 | 深圳市汇顶科技股份有限公司 | 消息传输的方法、ble设备和ble芯片 |
CN111869246B (zh) * | 2020-01-21 | 2022-05-17 | 深圳市汇顶科技股份有限公司 | 消息传输的方法、ble设备和ble芯片 |
CN114363250A (zh) * | 2020-09-30 | 2022-04-15 | 瞻博网络公司 | 支持分段路由的网络中的多路径的重新计算 |
CN114363250B (zh) * | 2020-09-30 | 2023-06-09 | 瞻博网络公司 | 支持分段路由的网络中的多路径的重新计算 |
CN114978942A (zh) * | 2022-05-13 | 2022-08-30 | 深信服科技股份有限公司 | 一种路由器检测方法、装置及电子设备和存储介质 |
CN115865796A (zh) * | 2023-03-03 | 2023-03-28 | 深圳市欣博跃电子有限公司 | 路由器标签交换的路径规划方法 |
CN115865796B (zh) * | 2023-03-03 | 2023-04-21 | 深圳市欣博跃电子有限公司 | 路由器标签交换的路径规划方法 |
Also Published As
Publication number | Publication date |
---|---|
US20180278514A1 (en) | 2018-09-27 |
EP3382954A1 (en) | 2018-10-03 |
CN108667681B (zh) | 2022-03-18 |
EP3382954B1 (en) | 2021-09-01 |
US20220407800A1 (en) | 2022-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108667681A (zh) | 用于多路径路由的路由跟踪 | |
US9596173B2 (en) | Method and system for traffic pattern generation in a software-defined networking (SDN) system | |
CN107347021B (zh) | 一种基于sdn网络可靠传输方法 | |
CN106170952B (zh) | 用于在数据网络中部署最大冗余树的方法和*** | |
US11296972B2 (en) | Scalable network path tracing | |
CN101496348B (zh) | 用于标签交换数据流量的多径转发的技术 | |
US10148560B2 (en) | Enhanced error signaling and error handling in a network environment with segment routing | |
KR101317969B1 (ko) | 링크 애그리게이션 방법 및 노드 | |
Zhang et al. | BGP design and implementation | |
CN113347091B (zh) | 灵活算法感知边界网关协议前缀分段路由标识符 | |
US20090252161A1 (en) | Method And Systems For Routing A Data Packet Based On Geospatial Information | |
Soniya et al. | A survey on named data networking | |
CN112688888B (zh) | Evpn vxlan上改进的端口镜像 | |
US11349735B2 (en) | Faster fault-detection mechanism, for example using bidirectional forwarding detection (BFD), on network nodes and/or hosts multihomed using a link aggregation group (LAG) | |
US9397913B1 (en) | Packet loss measurement in a distributed data plane | |
CN103581009A (zh) | 对丢弃敏感的前缀(bgp路径)属性修改 | |
CN108206753A (zh) | 一种检测时延的方法、装置及*** | |
WO2017000802A1 (zh) | 一种业务故障定位方法及装置 | |
CN110120916A (zh) | Bgp会话的优先级形成 | |
CN113709034A (zh) | 使用路由协议的定向信息分布中的位掩码路线目标 | |
Wilkins | Designing for Cisco Internetwork Solutions (DESIGN) Foundation Learing Guide | |
US11882016B2 (en) | Systems and methods for data plane validation of multiple paths in a network | |
CN110380966A (zh) | 一种发现转发路径的方法及其相关设备 | |
CN109756412A (zh) | 一种数据报文转发方法以及设备 | |
Tayeb et al. | An Evaluative Analysis of DUAL, SPF, and Bellman-Ford |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: California, USA Applicant after: Juniper Networks, Inc. Address before: California, USA Applicant before: Jungle network |
|
GR01 | Patent grant | ||
GR01 | Patent grant |