CN116192721A - 路径感知方法、装置及系统 - Google Patents
路径感知方法、装置及系统 Download PDFInfo
- Publication number
- CN116192721A CN116192721A CN202111434500.2A CN202111434500A CN116192721A CN 116192721 A CN116192721 A CN 116192721A CN 202111434500 A CN202111434500 A CN 202111434500A CN 116192721 A CN116192721 A CN 116192721A
- Authority
- CN
- China
- Prior art keywords
- path
- node
- information
- request message
- identifier
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 142
- 230000008447 perception Effects 0.000 title description 11
- 230000004044 response Effects 0.000 claims abstract description 40
- 238000012545 processing Methods 0.000 claims description 53
- 238000004891 communication Methods 0.000 claims description 46
- 230000002159 abnormal effect Effects 0.000 claims description 37
- 238000013507 mapping Methods 0.000 claims description 24
- 238000004590 computer program Methods 0.000 claims description 18
- 230000006870 function Effects 0.000 description 38
- 238000013461 design Methods 0.000 description 33
- 238000010586 diagram Methods 0.000 description 20
- 230000000694 effects Effects 0.000 description 20
- 238000001514 detection method Methods 0.000 description 18
- 230000005856 abnormality Effects 0.000 description 9
- 230000009471 action Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 230000000712 assembly Effects 0.000 description 6
- 238000000429 assembly Methods 0.000 description 6
- 230000011664 signaling Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 5
- 230000008878 coupling Effects 0.000 description 4
- 238000010168 coupling process Methods 0.000 description 4
- 238000005859 coupling reaction Methods 0.000 description 4
- 238000006467 substitution reaction Methods 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 241000238633 Odonata Species 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 235000019800 disodium phosphate Nutrition 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 239000000523 sample Substances 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- HRULVFRXEOZUMJ-UHFFFAOYSA-K potassium;disodium;2-(4-chloro-2-methylphenoxy)propanoate;methyl-dioxido-oxo-$l^{5}-arsane Chemical compound [Na+].[Na+].[K+].C[As]([O-])([O-])=O.[O-]C(=O)C(C)OC1=CC=C(Cl)C=C1C HRULVFRXEOZUMJ-UHFFFAOYSA-K 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- 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
-
- 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/02—Topology update or discovery
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种路径感知方法、装置及系统,能够精确进行故障检测和故障定位。该方法包括:源节点向目标节点发送包括第一节点的标识、第一数据流的标识和第一预留信息的第一请求报文,接收包括第一数据流的标识、第一节点的标识和第一指示信息的第一应答报文,根据第一应答报文获得第一路径经过第一节点或第一路径不经过第一节点的信息。第一请求报文用于请求确定第一路径是否经过第一节点,第一预留信息用于记录第一路径是否经过第一节点的结果,第一指示信息是将第一路径是否经过第一节点的结果记录在第一预留信息后获得的。
Description
技术领域
本申请涉及通信领域,尤其涉及一种路径感知方法、装置及系统。
背景技术
如今的数据中心网络(data center network,DCN)包括大量的服务器。服务器之间可通过网卡、交换机、路由器、电缆和光纤等互联,从而组成一个超大规模的组内和组间的数据中心网络。这种大级别的数据中心网络在云计算的趋势下变得更大。在数据中心物理设施的基础之上的是大规模、分布式业务,例如高性能计算、分布式存储、云业务等。
分布式业务具体有大规模、实现该分布式业务的软件系统多的特点,从而实现该分布式业务需要大量的组件,并且组件相互之间的耦合关系非常复杂。现有的数据流路径感知的方案非常复杂,示例性地,源节点发送探测报文后,每个接收到该探测报文的中间节点,均需要修改探测报文的结构,在该探测报文中增加自身的标识,以指示探测报文探测的路径经过的中间节点。
例如,中间节点1接收探测报文,并将中间节点1的标识封装至该报文,封装后的报文包括中间节点1,中间节点2接收中间节点1转发的报文,并封装自身的标识至该报文,封装后的报文包括中间节点1和中间节点2,以此类推,当路径经过大量的中间节点时,会导致探测报文的长度非常长,并且该方案依赖于对报文的结构的修改,使方案非常复杂,并且对芯片的要求比较高。
发明内容
本申请提供一种路径感知方法、装置及系统,不需要对报文的结构进行修改,能够通过简单的方案实现数据流路径感知。
为达到上述目的,本申请采用如下技术方案:
第一方面,提供一种路径感知方法。该路径感知方法应用于通信网络中的源节点,通信网络包括源节点、N个中间节点、以及目标节点,N为大于0的整数。
该路径感知方法包括:向目标节点发送第一请求报文,接收来自目标节点的第一应答报文,根据第一应答报文获得第一信息。其中,第一请求报文包括第一节点的标识、第一数据流的标识和第一预留信息,第一数据流为源节点与目标节点之间的数据流,第一数据流在第一路径上传输,第一请求报文用于请求确定第一路径是否经过第一节点,第一节点为N个中间节点中的任一个,第一预留信息用于记录第一路径是否经过第一节点的结果。第一应答报文包括第一数据流的标识、第一节点的标识和第一指示信息。第一指示信息是将第一路径是否经过第一节点的结果记录在第一预留信息后获得的,第一指示信息用于指示第一路径经过第一节点、或第一路径不经过第一节点。第一信息包括第一路径经过第一节点、或第一路径不经过第一节点。
基于第一方面所述的路径感知方法,源节点向目标节点发送包括第一节点的标识、第一数据流的标识和第一预留信息的第一请求报文,接收包括第一数据流的标识、第一节点的标识和第一指示信息的第一应答报文,根据第一应答报文获得第一路径经过第一节点或第一路径不经过第一节点的信息。其中,第一数据流在第一路径上传输,第一请求报文用于请求确定第一路径是否经过第一节点,第一预留信息用于记录第一路径是否经过第一节点的结果,第一指示信息是将第一路径是否经过第一节点的结果记录在第一预留信息后获得的。如此,不需要对报文的结构进行修改,不会增加报文的长度,不依赖芯片特定的特性,能够通过简单的方案实现数据流路径感知,并且对设备的要求不高。
另外,可以通过数据流感知路径,在感知路径的过程中,若存在异常时(例如时延超阈值、没有响应、或中间节点异常通知源节点等),可以精准定位到路径(例如结合拓扑连接关系可识别到路径上涉及的节点和链路),从而降低故障排查周期。并且,方案简单,不依赖于大量的测量数据,也不需要对这些数据推理分析,可以降低开销。
在一种可能的设计方式中,第一信息还可以包括第一数据流的标识和/或第一路径的时延。
在一种可能的设计方式中,第一方面提供的路径感知方法,还可以包括:根据拓扑连接关系和第二信息,确定第一路径。其中,拓扑连接关系可以包括源节点、N个中间节点、和目标节点之间的拓扑关系,第二信息可以是根据N个中间节点对应的第一应答报文迭代更新第一信息后获得的,第一路径可以包括Q个中间节点的连接关系,Q为大于0且小于或等于N的整数。如此,可以获得第一路径依次经过的中间节点。
在一种可能的设计方式中,第一方面提供的路径感知方法,还可以包括:确定第一相关值。其中,第一相关值表示第一请求报文与第二请求报文的相关度,第二请求报文包括第二数据流的标识、第一节点的标识和第二预留信息,第二数据流为源节点与目标节点之间的数据流,第二数据流在第二路径上传输,第二请求报文为已发送的报文,第二请求报文用于请求确定第二路径是否经过第一节点,所述第二预留信息用于记录所述第二路径是否经过所述第一节点的结果。如此,可以提高探测的覆盖率,降低探测源节点的开销和网络开销。
在一种可能的设计方式中,上述向目标节点发送第一请求报文,可以包括:在第一相关值小于或等于相关度阈值的情况下,向目标节点发送第一请求报文。如此,相关度高可以不发送,相关度低则发送,这样可以提高探测的覆盖率,降低探测成本。
在一种可能的设计方式中,第一方面提供的路径感知方法,还可以包括:在第一相关值大于相关度阈值的情况下,生成映射信息。其中,映射信息可以包括第二数据流的标识与第一数据流的标识的映射关系。如此,可以避免源节点再次构造并发送该第一请求报文,可以降低探测成本。
在一种可能的设计方式中,第一方面提供的路径感知方法,还可以包括:在第一路径发生异常的情况下,根据相关度信息和/或异常节点信息,由通过第一路径与目标节点进行通信切换为通过第三路径与目标节点进行通信。其中,相关度信息可用于指示一个或多个第四路径分别与第一路径的相关度,源节点与目标节点之间的路径可以包括第一路径和一个或多个第四路径,异常节点信息可用于指示发生异常的中间节点。第三路径为一个或多个第四路径中与第一路径的相关度最低的路径、和/或一个或多个第四路径中不经过发生异常的中间节点的路径。如此,可以提高源节点与目标节点间多路径的可靠性。此外,可以提高业务流的切换速度,减轻网络故障对业务的影响,提高系统的可靠性。
第二方面,提供一种路径感知方法。该路径感知方法应用于通信网络中的中间节点,通信网络包括源节点、N个中间节点、以及目标节点,N为大于0的整数。该路径感知方法包括:接收第一请求报文,确定第一路径是否经过第一节点,发送第三请求报文。
其中,第一请求报文包括第一节点的标识、第一数据流的标识和第一预留信息,第一数据流为源节点与目标节点之间的数据流,第一数据流在第一路径上传输,第一请求报文用于请求确定第一路径是否经过第一节点,第一节点为N个中间节点中的任一个。第三请求报文包括第一数据流的标识、第一节点的标识和第一指示信息,第一指示信息用于指示第一路径经过第一节点、或第一路径不经过第一节点,第一预留信息用于记录第一路径是否经过第一节点的结果,第一指示信息是将第一路径是否经过第一节点的结果记录在第一预留信息后获得的,第一节点为N个中间节点中的任一个。
此外,第二方面所述的路径感知方法的技术效果可以参考第一方面中任一种可能的实现方式所述的路径感知方法的技术效果,此处不再赘述。
第三方面,提供一种路径感知方法。该路径感知方法应用于通信网络中的目标节点,通信网络包括源节点、N个中间节点、以及目标节点,N为大于0的整数。该路径感知方法包括:接收第三请求报文,根据第一数据流的标识向源节点发送第一应答报文。
其中,第三请求报文包括第一数据流的标识、第一节点的标识和第一指示信息,第一指示信息用于指示第一路径经过第一节点、或第一路径不经过第一节点。第一数据流为源节点与目标节点之间的数据流,第一数据流在第一路径上传输,第一节点为N个中间节点中的任一个。第一应答报文包括第一数据流的标识、第一节点的标识和第一指示信息,第一指示信息用于指示第一路径经过第一节点、或第一路径不经过第一节点。
此外,第三方面所述的路径感知方法的技术效果可以参考第一方面中任一种可能的实现方式所述的路径感知方法的技术效果,此处不再赘述。
第四方面,提供一种路径感知装置。该路径感知装置应用于包括路径感知装置、N个中间节点、以及目标节点的通信网络,N为大于0的整数。该路径感知装置包括:收发模块和处理模块。
其中,收发模块,用于向目标节点发送第一请求报文。其中,第一请求报文包括第一节点的标识、第一数据流的标识和第一预留信息,第一数据流为路径感知装置与目标节点之间的数据流,第一数据流在第一路径上传输,第一请求报文用于请求确定第一路径是否经过第一节点,第一节点为N个中间节点中的任一个,第一预留信息用于记录第一路径是否经过第一节点的结果。
收发模块,还用于接收来自目标节点的第一应答报文。其中,第一应答报文包括第一数据流的标识、第一节点的标识和第一指示信息。第一指示信息是将第一路径是否经过第一节点的结果记录在第一预留信息后获得的,第一指示信息用于指示第一路径经过第一节点、或第一路径不经过第一节点。
处理模块,用于根据第一应答报文获得第一信息。其中,第一信息包括第一路径经过第一节点、或第一路径不经过第一节点。
在一种可能的设计方式中,第一信息还可以包括第一数据流的标识和/或第一路径的时延。
在一种可能的设计方式中,处理模块,还用于根据拓扑连接关系和第二信息,确定第一路径。其中,拓扑连接关系可以包括路径感知装置、N个中间节点、和目标节点之间的拓扑关系,第二信息是根据N个中间节点对应的第一应答报文迭代更新第一信息后获得的,第一路径可以包括Q个中间节点的连接关系,Q为大于0且小于或等于N的整数。
在一种可能的设计方式中,处理模块,还用于确定第一相关值。其中,第一相关值表示第一请求报文与第二请求报文的相关度,第二请求报文包括第二数据流的标识、第一节点的标识和第二预留信息,第二数据流为源节点与目标节点之间的数据流,第二数据流在第二路径上传输,第二请求报文为已发送的报文,第二请求报文用于请求确定第二路径是否经过第一节点,第二预留信息用于记录第二路径是否经过第一节点的结果。
在一种可能的设计方式中,在第一相关值小于或等于相关度阈值的情况下,收发模块,还用于向目标节点发送第一请求报文。
在一种可能的设计方式中,在第一相关值大于相关度阈值的情况下,处理模块,还用于生成映射信息。其中,映射信息可以包括第二数据流的标识与第一数据流的标识的映射关系。
在一种可能的设计方式中,在第一路径发生异常的情况下,处理模块,还用于根据相关度信息和/或异常节点信息,由通过第一路径与目标节点进行通信切换为通过第三路径与目标节点进行通信。其中,相关度信息可用于指示一个或多个第四路径分别与第一路径的相关度,路径感知装置与目标节点之间的路径可以包括第一路径和一个或多个第四路径,异常节点信息可用于指示发生异常的中间节点。第三路径为一个或多个第四路径中与第一路径的相关度最低的路径、和/或一个或多个第四路径中不经过发生异常的中间节点的路径。
需要说明的是,第四方面所述的收发模块可以包括接收模块和发送模块。其中,接收模块用于接收来自第一节点或目标节点的数据和/或信令;发送模块用于向第一节点或目标节点发送数据和/或信令。本申请对于收发模块的具体实现方式,不做具体限定。
可选地,第四方面所述的路径感知装置还可以包括存储模块,该存储模块存储有程序或指令。当处理模块执行该程序或指令时,使得第四方面所述的路径感知装置可以执行第一方面所述的方法。
需要说明的是,第四方面所述的路径感知装置可以是源节点,例如服务器,也可以是可设置于源节点的芯片(系统)或其他部件或组件,本申请对此不做限定。
此外,第四方面所述的路径感知装置的技术效果可以参考第一方面中任一种可能的实现方式所述的路径感知方法的技术效果,此处不再赘述。
第五方面,提供一种路径感知装置。该路径感知装置应用于包括源节点、N个中间节点、以及目标节点的通信网络,N为大于0的整数。该路径感知装置为N个中间节点中的任一个。该路径感知装置包括:收发模块和处理模块。
其中,收发模块,用于接收第一请求报文。其中,第一请求报文包括第一节点的标识、第一数据流的标识和第一预留信息,第一数据流为源节点与目标节点之间的数据流,第一数据流在第一路径上传输,第一请求报文用于请求确定第一路径是否经过第一节点,第一预留信息用于记录第一路径是否经过第一节点的结果,第一节点为所述N个中间节点中的任一个。
处理模块,用于确定第一路径是否经过第一节点。
收发模块,还用于发送第三请求报文。其中,第三请求报文包括第一数据流的标识、第一节点的标识和第一指示信息,第一指示信息是将第一路径是否经过第一节点的结果记录在第一预留信息后获得的,第一指示信息用于指示第一路径经过第一节点、或第一路径不经过第一节点。
需要说明的是,第五方面所述的收发模块可以包括接收模块和发送模块。其中,接收模块用于接收来自源节点、目标节点、或其他中间节点的数据和/或信令;发送模块用于向源节点、目标节点、或其他中间节点发送数据和/或信令。本申请对于收发模块的具体实现方式,不做具体限定。
可选地,第五方面所述的路径感知装置还可以包括存储模块,该存储模块存储有程序或指令。当处理模块执行该程序或指令时,使得第五方面所述的路径感知装置可以执行第二方面所述的方法。
需要说明的是,第五方面所述的路径感知装置可以是中间节点,例如交换机,也可以是可设置于中间节点的芯片(系统)或其他部件或组件,本申请对此不做限定。
此外,第五方面所述的路径感知装置的技术效果可以参考第二方面中任一种可能的实现方式所述的路径感知方法的技术效果,此处不再赘述。
第六方面,提供一种路径感知装置。该路径感知装置应用于包括源节点、N个中间节点、以及路径感知装置的通信网络,N为大于0的整数。该路径感知装置包括:接收模块和发送模块。
其中,接收模块,用于接收第三请求报文。其中,第三请求报文包括第一数据流的标识、第一节点的标识和第一指示信息,第一指示信息用于指示第一路径经过第一节点、或第一路径不经过第一节点。第一数据流为源节点与路径感知装置之间的数据流,第一数据流在第一路径上传输,第一节点为N个中间节点中的任一个。
发送模块,用于根据第一数据流的标识向源节点发送第一应答报文。其中,第一应答报文包括第一数据流的标识、第一节点的标识和第一指示信息,第一指示信息用于指示第一路径经过第一节点、或第一路径不经过第一节点。
需要说明的是,接收模块和发送模块可以分开设置,也可以集成在一个模块中,即收发模块。本申请对于接收模块和发送模块的具体实现方式,不做具体限定。
可选地,第六方面所述的路径感知装置还可以包括处理模块和存储模块,该存储模块存储有程序或指令。当处理模块执行该程序或指令时,使得第六方面所述的路径感知装置可以执行第三方面所述的方法。
需要说明的是,第六方面所述的路径感知装置可以是目标节点,例如服务器,也可以是可设置于目标节点的芯片(系统)或其他部件或组件,本申请对此不做限定。
此外,第六方面所述的路径感知装置的技术效果可以参考第三方面中任一种可能的实现方式所述的路径感知方法的技术效果,此处不再赘述。
第七方面,提供一种路径感知装置。该路径感知装置包括:处理器,该处理器与存储器耦合,存储器用于存储计算机程序。
处理器用于执行存储器中存储的计算机程序,以使得如第一方面至第三方面中任一种可能的实现方式所述的路径感知方法被执行。
在一种可能的设计中,第七方面所述的路径感知装置还可以包括收发器。该收发器可以为收发电路或输入/输出端口。所述收发器可以用于该路径感知装置与其他设备通信。
需要说明的是,输入端口可用于实现第一方面至第三方面所涉及的接收功能,输出端口可用于实现第一方面至第三方面所涉及的发送功能。
在本申请中,第七方面所述的路径感知装置可以为源节点、中间节点或目标节点,或者设置于源节点、中间节点或目标节点内部的芯片或芯片系统。
此外,第七方面所述的路径感知装置的技术效果可以参考第一方面至第三方面中任一种实现方式所述的路径感知方法的技术效果,此处不再赘述。
第八方面,提供一种路径感知系统。该路径感知系统包括如第四方面所述的路径感知装置、如第五方面所述的路径感知装置、和如第六方面所述的路径感知装置。
或者,该路径感知系统包括如第四方面所述的用于实现如第一方面所述方法的路径感知装置、如第五方面所述的用于实现如第二方面所述方法的路径感知装置、和如第六方面所述的用于实现如第三方面所述方法的路径感知装置。
示例性的,该路径感知系统可以包括源节点、N个中间节点和目标节点,N为大于0的整数。
第九方面,提供了一种芯片系统,该芯片系统包括逻辑电路和输入/输出端口。其中,逻辑电路用于实现第一方面至第三方面所涉及的处理功能,输入/输出端口用于实现第一方面至第三方面所涉及的收发功能。具体地,输入端口可用于实现第一方面至第三方面所涉及的接收功能,输出端口可用于实现第一方面至第三方面所涉及的发送功能。
在一种可能的设计中,该芯片系统还包括存储器,该存储器用于存储实现第一方面至第三方面所涉及功能的程序指令和数据。
该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件。
第十方面,提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序或指令;当该计算机程序或指令在计算机上运行时,使得第一方面至第三方面中任意一种可能的实现方式所述的路径感知方法被执行。
第十一方面,提供一种计算机程序产品,包括计算机程序或指令,当该计算机程序或指令在计算机上运行时,使得第一方面至第三方面中任意一种可能的实现方式所述的路径感知方法被执行。
附图说明
图1a-图1c为本申请实施例提供的一些数据中心网络的架构示意图;
图2为本申请实施例提供的一种拓扑示意图;
图3为本申请提供的一种报文的结构示意图;
图4为本申请实施例提供的一种路径感知方法的流程示意图;
图5为本申请实施例提供的另一种路径感知方法的流程示意图;
图6为本申请实施例提供的一种路径切换示意图;
图7为本申请实施例提供的另一种路径切换示意图;
图8为本申请实施例提供的一种路径感知装置的结构示意图;
图9为本申请实施例提供的另一种路径感知装置的结构示意图;
图10为本申请实施例提供的又一种路径感知装置的结构示意图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
本申请实施例的技术方案可以应用于各种通信网络,例如数据中心(datacenter,DC)网络,数据中心网络可用于高性能计算、高性能分布式存储、大数据、人工智能等场景。
本申请将围绕可包括多个设备、组件、模块等的系统来呈现各个方面、实施例或特征。应当理解和明白的是,各个系统可以包括另外的设备、组件、模块等,并且/或者可以并不包括结合附图讨论的所有设备、组件、模块等。此外,还可以使用这些方案的组合。
另外,在本申请实施例中,“示例地”、“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用示例的一词旨在以具体方式呈现概念。
本申请实施例描述的网络架构以及业务场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
为便于理解本申请实施例,首先以图1a至图1c中示出的数据中心网络为例详细说明适用于本申请实施例的数据中心网络。示例性地,图1a至图1c为本申请实施例提供的路径感知方法所适用的几种数据中心网络的架构示意图。
图1a为大规模克洛斯(CLOS)网络架构的数据中心网络的架构示意图。数据中心网络可以包括:服务器、交换机、存储设备、计算网络、和存储网络等。其中,交换机可以分为柜顶交换机(top of rack,ToR)、叶(leaf)交换机、和脊(spine)交换机等,柜顶交换机为直接连接服务器的交换机。分发点(point of delivery,POD),是数据中心网络的基本部署单元,为了便于数据中心网络的资源池化操作,可以将整个数据中心网络的资源划分为一个或多个物理分区,每个物理分区就是一个POD,一台物理设备只能属于一个POD。一个或多个POD和叶交换机组成分发点集合。一个或多个分发点集合组成数据中心网络。
图1b为网状(mesh)拓扑的数据中心网络的架构示意图。该数据中心网络中所有的节点(例如交换机、或网络设备)都互相连接,并且每一个交换机至少连接其他两个交换机,所有交换机之间形成一个整体的网络。支持mesh功能的路由器,组网后,可以生成一种网状网络,不同接入点可以以星状、树状、串联和总线方式,混合组网。
图1c为蜻蜓(dragonfly)拓扑的数据中心网络的架构示意图。蜻蜓拓扑是一种两级的层次式网络,蜻蜓拓扑的组内和组间可采用任何拓扑,全局跳步少,延迟低,并且网络规模更容易扩展。
需要说明的是,本申请实施例提供的路径感知方法,可以适用于图1a至图1c所示的数据中心网络,还可以应用于采用其他拓扑结构的数据中心网络,图1a至图1c仅为本申请提供的数据中心网络的几种架构示意图。
应理解,图1a至图1c仅为便于理解而示例的简化示意图,该数据中心网络中还可以包括其他网络设备,和/或,其他设备,图1a至图1c中未予以画出。
为了使得本申请实施例更加清楚,以下对与本申请实施例相关的部分内容以及概念作统一介绍。
第一,路径:
数据中心网络的典型特征是多路径,多路径主要可以保证网络的可靠性和流量负载均衡。如图2所示,服务器1和服务器4之间有两条路径,例如路径1和路径2,两个服务器之间的流量可以分担在不同的路径。示例性地,服务器1与服务器4之间的路径1依次包括交换机21、交换机11、和交换机24,服务器1与服务器4之间的路径2依次包括交换机21、交换机12、和交换机24。
第二,哈希密钥(HASH key):
哈希密钥可用于选择路径,节点获得报文后,可获取报文中的哈希密钥,通过哈希算法,获得下一跳及接口,从而可以从多条路径中选取一条路径。
图3为本申请提供的一种报文的结构示意图。
如图3所示,报文可以包括等价多路径(equal cost multipath routing,ECMP)哈希域(HASH fields)和有效载荷(payload)字段。
结合图3,等价多路径哈希域可以包括源IP(source IP)、目标IP(destinationIP)、4层通信协议(layer 4protocol)、源端口(source port)、目标端口(destinationport)。等价多路径哈希域可以包括源(media access control,MAC)和目标MAC。有效载荷指报文实际传输的数据。
需要说明的是,图3仅为本申请提供的一个示例,不对本申请中报文的格式进行限定。
下面将结合图4-图7对本申请实施例提供的路径感知方法进行具体阐述。通信网络包括源节点、N个中间节点、以及目标节点,N为大于0的整数。其中,源节点、目标节点均可以为服务器,结合图2,源节点可以为服务器1至服务器4中任一个,目标节点可以为服务器1至服务器4中任一个,例如,在存储场景中,源节点和目标节点可以为存储业务节点,包括存储客户端、存储控制器、和存储阵列等。中间节点可以为交换机、路由器等。结合图2,N个中间节点可以包括如下一个或多个:交换机21至交换机24、以及交换机11至交换机12。
示例性地,图4为本申请实施例提供的一种路径感知方法的流程示意图。
如图4所示,该路径感知方法包括如下步骤:
S401,源节点向目标节点发送第一请求报文。相应地,中间节点接收第一请求报文。
示例性地,第一请求报文可以包括第一节点的标识、第一数据流的标识和第一预留信息。
例如,第一节点为N个中间节点中的任一个。结合图2,若第一节点为交换机21,则第一节点的标识为21、交换机21、和/或交换机21对应的设备编号。
可选地,可以将第一节点的标识封装在第一请求报文的有效载荷中。例如,第一请求报文的结构可以如图3所示。
例如,第一数据流为源节点与目标节点之间的数据流。例如,结合图2,第一数据流可以为服务器1与服务器4之间的数据流,目标节点可以为服务器4。
一些实施例中,第一数据流的标识可以包括:源节点的互联网协议地址(internetprotocol,IP)地址、目标节点的第一端口、和目标节点的IP地址。
可选地,第一数据流的标识还可以包括如下一项或多项:源节点的端口、协议字段、源节点的媒体介入控制(media access control,MAC)地址、和目标节点的MAC地址。
示例性地,第一数据流的标识可以为一元组、二元组、四元组、五元组、或七元组等。
可选地,第一数据流在第一路径上传输。结合图2,第一路径可以为路径1或路径2。
示例性地,第一请求报文可用于请求确定第一路径是否经过第一节点。
示例性地,第一预留信息可用于记录第一路径是否经过所述第一节点的结果。
例如,第一预留信息可以占用一个或多个比特位置。假设第一预留信息的长度为1个比特,则第一预留信息的初始值可以为“0”或“1”。
例如,用“1”指示第一路径经过第一节点,用“0”指示第一路径不经过第一节点,第一预留信息的初始值为“0”,默认第一路径不经过第一节点。
以第一预留信息的初始值是“0”为例,在中间节点接收第一请求报文并确定第一路径经过第一节点的情况下,中间节点可将第一预留信息的值置为“1”,以指示第一路径经过第一节点,否则,中间节点可以不对第一预留信息进行操作,第一预留信息的值为“0”指示第一路径不经过第一节点。
需要说明的是,还可以用“1”指示第一路径不经过第一节点,用“0”指示第一路径经过第一节点,本申请对此不进行限定。本申请以用“1”指示第一路径经过第一节点,用“0”指示第一路径不经过第一节点为例进行阐述。
结合图2,以第一节点为交换机21、第一路径为路径1为例,第一请求报文可用于请求确定路径1是否经过交换机21,并在第一请求报文的特定的位置(例如第一预留信息的位置)设置标记,以指示第一路径经过第一节点、或第一路径不经过第一节点。例如,交换机21接收第一请求报文,确定路径1经过交换机21,则将第一预留信息的“0”置为“1”;交换机21继续转发第一请求报文至交换机11,交换机11可以确定路径1是否经过交换机21,或者,交换机11发现第一预留信息置为“1”的情况下,不再进行判断;交换机11继续转发第一请求报文至交换机24,交换机24的动作参考交换机11,此处不再赘述。
如此,中间节点接收第一报文后,不需要对报文的结构进行修改,不增加报文的长度,便可以使报文携带第一路径是否经过第一节点的信息,方案简单。
可选地,第一请求报文可以为探测报文、或心跳报文等。
S402,中间节点确定第一路径是否经过第一节点。
可选地,中间节点可以通过自身的标识与第一请求报文中第一节点的标识是否匹配,确定第一路径是否经过第一节点。
例如,自身的标识与第一节点的标识匹配,则确定第一路径经过第一节点,否则,确定第一路径不经过第一节点。
其中,“匹配”可指相同、或存在对应关系、或存在映射关系等。例如,交换机11的标识可以为交换机11、或交换机-11等,交换机11与交换机11相同,交换机11与交换机-11之间存在对应关系或映射关系。
示例性地,中间节点识别第一请求报文,并检测自身的标识与第一请求报文中的第一节点的标识是否匹配,若匹配则标记经过。
例如,假设第一预留信息为“0”,指示第一路径不经过第一节点,若确定匹配,则将“0”置为“1”,指示第一路径经过第一节点;若确定不匹配,则不对“0”进行操作。
S403,中间节点发送第三请求报文。相应地,目标节点接收第三请求报文。
示例性地,第三请求报文可以包括第一数据流的标识、第一节点的标识和第一指示信息。
可选地,第一指示信息是中间节点将第一路径是否经过第一节点的结果记录在第一预留信息后获得的,第一指示信息可以用于指示第一路径经过第一节点、或第一路径不经过第一节点。
示例性地,在中间节点确定第一路径经过第一节点的情况下,将结果记录在第一预留信息,例如第一预留信息的初始值是“0”,中间节点将第一预留信息的值置为“1”,获得第一指示信息,指示第一路径经过第一节点。在中间节点确定第一路径不经过第一节点的情况下,例如第一预留信息的初始值是“0”,中间节点可以不对第一预留信息进行操作,获得第一指示信息,指示第一路径不经过第一节点。
需要说明的是,本申请不对第一预留信息的名称和第一指示信息的名称进行限定,能实现源节点在第一请求报文中预留特定的比特位置,可以通过该特定的比特位置指示第一路径是否经过第一节点即可。
可选地,在第一指示信息指示第一路径经过第一节点的情况下,第一指示信息可以占用第三请求报文的差分服务代码点(differentiated services code point,DSCP)字段。
一些实施例中,中间节点可以继续转发第三请求报文,可以经历一个或多个其他中间节点转发,最终目标节点接收到第三请求报文。
结合图2,假设第一路径为路径1,路径1包括:交换机21-交换机11-交换机24,第一节点的标识为交换机11的标识,例如交换机11。服务器1发送的第一请求报文包括交换机11、数据流1和“0”,数据流1对应路径1,请求确认路径1是否经过交换机11。交换机21接收该第一请求报文,确定自身的标识与交换机11不相同,不对“0”进行操作,继续转发该第一请求报文至交换机11。交换机11确定自身的标识与交换机11相同,则将“0”修改为“1”,指示路径1经过交换机11,交换机11转发包括交换机11、数据流1和“1”的报文至交换机24。交换机24确定自身的标识与交换机11不相同,或者,发现“1”后不再确定自身的标识与交换机11是否相同,继续转发包括交换机11、数据流1和“1”的报文至服务器4。
S404,目标节点根据第一数据流的标识向源节点发送第一应答报文。相应地,源节点接收来自目标节点的第一应答报文。
示例性地,第一应答报文包括第一数据流的标识、第一节点的标识和第一指示信息。
可选地,目标节点可以将第一数据流的标识、第一节点的标识和/或第一指示信息封装在第一应答报文的有效载荷中。例如,第一应答报文的结构可以如图3所示。
需要说明的是,本申请中,报文的结构不限于图3所示的结构,第一数据流的标识、第一节点的标识和/或第一预留信息可以封装在其他字段中(除有效载荷以外的字段),类似地,第一数据流的标识、第一节点的标识和/或第一指示信息可以封装在其他字段中。
S405,源节点根据第一应答报文获得第一信息。
示例性地,第一信息可以包括第一路径经过第一节点、或第一路径不经过第一节点。
可选地,第一信息还可以包括第一数据流的标识和/或第一路径的时延。
也就是说,源节点可以记录第一路径的信息、还可以记录第一数据流的标识和/或第一路径的时延。
示例性地,源节点根据第一应答报文中的第一数据流的标识、第一节点的标识和第一指示信息,更新第一路径的信息。
一些实施例中,源节点遍历N个中间节点,执行S401,生成N个中间节点的每个中间节点对应的第一请求报文,每个中间节点均执行上述S402至S403,对应的目标节点执行上述S404,从而源节点获得N个中间节点分别对应的第一信息,源节点迭代更新第一信息,获得第二信息。
示例性地,结合图2,以第一路径是路径1、第一数据流的标识为数据流1为例,N个中间节点包括交换机21至交换机24、和交换机11至交换机12。源节点发送交换机21对应的第一请求报文,交换机21对应的第一请求报文包括交换机21和数据流1和第一预留信息。交换机21接收该第一请求报文,并确定出自身经过路径1,发送第三请求报文,该第三请求报文包括数据流1、交换机21和第一指示信息(指示路径1经过交换机21)。依次经过交换机11和交换机24转发该第三请求报文后,目标节点接收第三请求报文,并将第三请求报文的内容发给源节点。源节点获得的第一路径(路径1)的信息(可称为第一信息)包括:路径1经过交换机21,还可以获得数据流1和/或路径1的时延21。
源节点发送交换机22对应的第一请求报文,交换机22对应的第一请求报文包括交换机22和数据流1和第一预留信息。该第一请求报文可依次经过交换机21、交换机11和交换机24转发至目标节点,交换机21、交换机11和交换机24均确定自身的标识与交换机22不相同,则确定出路径1不经过交换机22。目标节点接收的第三请求报文包括数据流1、交换机22和第一指示信息(指示路径1不经过交换机22),并将第三请求报文的内容发给源节点。源节点获得的第一路径的信息(可称为第一信息)包括:路径1不经过交换机22,还可以获得数据流1和/或路径1的时延22。
源节点更新第一路径的信息,获得路径1经过交换机21、以及路径1不经过交换机22的路径信息,还可以获得数据流1、路径1的时延21、和路径1的时延22。
类似地,遍历交换机23至交换机24、以及交换机11至交换机12,源节点迭代更新第一信息,获得的最终的第一路径的信息(可称为第二信息)包括:路径1经过交换机21、路径1不经过交换机22、路径1不经过交换机23、路径1经过交换机24、路径1经过交换机11、和路径1不经过交换机12,还可以包括数据流1、路径1的时延21、路径1的时延22、路径1的时延23、路径1的时延24、路径1的时延11、和路径1的时延12。
在一种可能的设计方式中,本申请提供的路径感知方法,还可以包括:S406,源节点根据拓扑连接关系和第二信息,确定第一路径。
可选地,第二信息可以是根据N个中间节点分别对应的第一应答报文迭代更新第一信息后获得的。具体可参照上述结合图2对第二信息的阐述,此处不再赘述。
可选地,拓扑连接关系可以包括源节点、N个中间节点、和目标节点之间的拓扑关系。
结合图2,拓扑连接关系可以包括服务器1至服务器4、交换机21至交换机24、和交换机11至交换机12之间的拓扑关系。
可选地,第一路径可以包括Q个中间节点的连接关系,Q为大于0且小于或等于N的整数。
结合图2,对于第一路径为路径1的情况,第二信息包括:路径1经过交换机21、路径1不经过交换机22、路径1不经过交换机23、路径1经过交换机24、路径1经过交换机11、和路径1不经过交换机12。源节点根据拓扑连接关系和第二信息,确定出路径1依次包括交换机21、交换机11和交换机24,路径1为依次由交换机21、交换机11和交换机24组成的链路。
可选地,源节点还可以获得路径1的时延信息。例如,将路径1的时延21、路径1的时延22、路径1的时延23、路径1的时延24、路径1的时延11、和路径1的时延12的平均值作为路径1的时延。
可选地,可以根据第一路径的时延识别第一路径是否异常。例如,第一路径的时延的值大于时延阈值,则第一路径发生异常,否则,第一路径正常。
需要说明的是,对于第一路径为图2中路径2的情况,源节点获得路径2的信息的具体实现方式可参照上述获得路径1的信息的具体实现方式,此处不再赘述。
基于图4所示的路径感知方法,源节点向目标节点发送包括第一节点的标识、第一数据流的标识和第一预留信息的第一请求报文,第一数据流在第一路径上传输,第一请求报文用于请求确定第一路径是否经过第一节点,接收包括第一数据流的标识、第一节点的标识和第一指示信息的第一应答报文,根据第一应答报文获得第一路径经过第一节点、或第一路径不经过第一节点的信息。该方案简单,不需要对报文的结构进行修改,不会增加报文的长度,能够通过简单的方案实现路径感知,并且对设备的要求不高。
另外,可以通过数据流感知路径,在感知路径的过程中,若存在异常时(例如时延超阈值、没有响应、或中间节点异常通知源节点等),可以精准定位到路径(例如结合拓扑连接关系可识别到路径上涉及的节点和链路),从而降低故障排查周期。并且,方案简单,不依赖于大量的测量数据,可以降低开销。
示例性地,图5为本申请实施例提供的另一种路径感知方法的流程示意图。图5所示的路径感知方法可以与图4所示的路径感知方法结合使用,也可以单独使用。
如图5所示,该路径感知方法包括如下步骤:
S501,源节点确定第一相关值。
可选地,第一相关值可表示第一请求报文与第二请求报文的相关度。
示例性地,第二请求报文可以包括第二数据流的标识、第一节点的标识和第二预留信息,第二数据流可以为源节点与目标节点之间的数据流,第二数据流在第二路径上传输,第二请求报文可以为已发送的报文,第二请求报文可用于请求确定第二路径是否经过第一节点。
示例性地,第二预留信息可用于记录第二路径是否经过第一节点的结果。关于第二预留信息的具体实现方式可参照上述S401中第一预留信息的具体实现方式,此处不再赘述。
示例性地,第一请求报文可以为将要发送的报文,关于第一请求报文的具体实现方式可参照上述S401,此处不再赘述。
结合图2和表1,假设第二路径为图2所示的路径2,路径2包括交换机21-交换机12-交换机24,第二请求报文为表1所示的报文2。第一请求报文可以为表1中的报文1、报文3至报文5中的任一项,路径1、路径3至路径5可参照表1。
如表1所示,报文1与报文2的相关度为1,报文3与报文2的相关度为2,报文4与报文2的相关度为0,报文5与报文2的相关度为2。也就是说,路径1与路径2的相关度为1,路径3与路径2的相关度为2,路径4与路径2的相关度为0,路径5与路径2的相关度为2。
表1
S502,在第一相关值小于或等于相关度阈值的情况下,源节点向目标节点发送第一请求报文。
可选地,相关度阈值可以为预设置的。
一些实施例中,第一请求报文与第二请求报文的相关度越高,第一相关值越大,第一请求报文与第二请求报文(或第一路径与第二路径)越相近、相似,甚至相同。
结合表1,例如相关度阈值为3,假设第一请求报文为报文1,第一相关值1小于相关度阈值3,则源节点向目标节点发送该报文1。假设第一请求报文为报文3,第一相关值3等于相关度阈值3,报文3与报文2相同,则源节点不发送报文3,并且可以执行下述S503。类似地,第一请求报文为报文4至报文5时,源节点采用类似的方式确定是否发送相应的报文。
如此,通过相关度阈值确定是否发送当前要发送的报文,相关度高可以不发送,相关度低则发送,这样可以提高探测的覆盖率,降低探测成本。图5所示的方法的构思还可用于路径建立的场景中,通过将要建立的路径与已有路径的关系,确定是否建立将要建立的路径,相关度高可以不建立,相关度低则建立,这样可以提高节点间路径的可靠性。
与图4结合使用时,图4中S401,向目标节点发送第一请求报文,可以包括S502,在第一相关值小于或等于相关度阈值的情况下,源节点向目标节点发送第一请求报文。
S503,在第一相关值大于相关度阈值的情况下,源节点生成映射信息。
可选地,映射信息可以包括第二数据流的标识与第一数据流的标识的映射关系。
结合表1,映射信息可以包括报文2与报文3(或路径2与路径3)的映射关系。源节点可以根据映射信息,不再构建该报文3(或路径3),如此,可以避免源节点再次构造并发送该第一请求报文,可以降低探测成本。用于路径建立的场景中,可以避免源节点再次建立路径,可以降低开销。
需要说明的是,S503可以为可选地,在第一相关值大于相关度阈值的情况下,源节点可以不发送第一请求报文,还可以生成并记录映射信息。
可选地,在第一相关值大于相关度阈值的情况下,源节点可以不建立该路径,可以不利用该路径对应的数据流的标识发送探测报文、检测的数据、业务数据、和应用数据等。
一些实施例中,源节点可以再次构建新的第一请求报文,提高探测的覆盖率。
基于图5所示的路径感知方法,源节点确定第一请求报文与第二请求报文的相关度,该第二请求报文为已发送的报文,在第一相关值小于或等于相关度阈值的情况下,向目标节点发送第一请求报文,否则,不发送第一请求报文。如此,可以提高探测的覆盖率,降低探测源节点的开销和网络开销。
在一种可能的设计方式中,本申请实施例提供的方法,可以包括:在第一路径发生异常的情况下,源节点根据相关度信息和/或异常节点信息,由通过第一路径与目标节点进行通信切换为通过第三路径与目标节点进行通信。该方案可以与图4结合使用,可以与图5结合使用,可以与图4和图5结合使用,也可以单独使用。
可选地,相关度信息可用于指示一个或多个第四路径分别与第一路径的相关度。
可选地,异常节点信息可用于指示发生异常的中间节点。例如,假设路径1包括:交换机1-交换机2-交换机3,其中交换机2异常。
示例性地,源节点与目标节点之间的路径可以包括第一路径和一个或多个第四路径。例如,源节点与目标节点之间的路径包括路径1、路径2、路径3、和路径4。
一些实施例中,第三路径为一个或多个第四路径中与第一路径的相关度最低的路径,和/或,第三路径为一个或多个第四路径中不经过发生异常的中间节点的路径。
例如,假设第一路径为路径1,源节点与目标节点之间当前通过路径1进行通信,一个或多个第四路径包括路径2、路径3、和路径4,相关度信息可以包括路径2与路径1的相关度(例如取值为2)、和路径3与路径1的相关度(例如为1)、和路径4与路径1的相关度(例如为2)。路径3与路径1的相关度最低,则第三路径可以为路径3。
假设交换机2异常,路径2包括:交换机1-交换机2-交换机4-交换机5,路径3包括:交换机1-交换机6-交换机4-交换机5,路径4包括:交换机1-交换机7-交换机4-交换机5,则第三路径可以为路径3或路径4。
若将与第一路径的相关度最低的路径且不经过发生异常的中间节点的路径作为第三路径,则第三路径可以为路径3。
可选地,还可以根据路径2至路径4分别对应的时延,选择时延取值最小的路径作为第三路径。
如此,当路径发生异常时,切换至相关度较低的路径上进行通信,或者绕过故障的节点,切换至不包括故障节点的路径上进行通信,可以提高源节点与目标节点间多路径的可靠性。此外,可以提高业务流的切换速度,减轻网络故障对业务的影响,提高系统的可靠性。
图6和图7为本申请实施例提供的路径切换示意图。假设源节点与目标节点之间包括路径1至路径4,路径1发生异常,路径1、路径2和路径3经过故障节点,路径4不经过故障节点。
图6和图7为在基于网络连接的非易失性存储(non-volatile memory expressover fabric,NoF)场景下的路径切换示意图。例如,在NoF场景下,由一条路径切换至另一条路径需要1s,如图6所示,源节点按顺序切换路径,感知到路径1异常后,尝试切换至路径2;感知到路径2异常,尝试切换至路径3;感知到路径3异常,尝试切换至路径4,路径4无异常,切换成功,总共需要3S。
如图7所示,源节点根据相关度信息和/或异常节点信息进行路径切换,感知到路径1异常后,判断出路径4不经过故障节点,直接切换至路径4,总共需要1S,用时更短,提高了业务流的切换速度。
本申请中,除特殊说明外,各个实施例之间相同或相似的部分可以互相参考。在本申请中各个实施例、以及各实施例中的各个实施方式/实施方法/实现方法中,如果没有特殊说明以及逻辑冲突,不同的实施例之间、以及各实施例中的各个实施方式/实施方法/实现方法之间的术语和/或描述具有一致性、且可以相互引用,不同的实施例、以及各实施例中的各个实施方式/实施方法/实现方法中的技术特征根据其内在的逻辑关系可以组合形成新的实施例、实施方式、实施方法、或实现方法。以下所述的本申请实施方式并不构成对本申请保护范围的限定。
以上结合图2-图7详细说明了本申请实施例提供的路径感知方法。以下结合图8-图10详细说明本申请实施例提供的路径感知装置。
图8为可用于执行本申请实施例提供的一种路径感知装置的结构示意图。路径感知装置800可以是源节点、N个中间节点中的任一个、或目标节点,也可以是应用于源节点、中间节点、或目标节点中的芯片或者其他具有相应功能的部件。如图8所示,路径感知装置800可以包括处理器801。可选地,路径感知装置800还可以包括存储器802和收发器803中的一个或多个。其中,处理器801可以与存储器802和收发器803中的一个或多个耦合,如可以通过通信总线连接,处理器801也可以单独使用。
下面结合图8对路径感知装置800的各个构成部件进行具体的介绍:
处理器801是路径感知装置800的控制中心,可以是一个处理器,也可以是多个处理元件的统称。例如,处理器801是一个或多个中央处理器(central processing unit,CPU),也可以是特定集成电路(application specific integrated circuit,ASIC),或者是被配置成实施本申请实施例的一个或多个集成电路,例如:一个或多个微处理器(digital signal processor,DSP),或,一个或者多个现场可编程门阵列(fieldprogrammable gate array,FPGA)。
其中,处理器801可以通过运行或执行存储在存储器802内的软件程序,以及调用存储在存储器802内的数据,执行路径感知装置800的各种功能。
在具体的实现中,作为一种实施例,处理器801可以包括一个或多个CPU,例如图8中所示的CPU0和CPU1。
在具体实现中,作为一种实施例,路径感知装置800也可以包括多个处理器,例如图8中所示的处理器801和处理器804。这些处理器中的每一个可以是一个单核处理器(single-CPU),也可以是一个多核处理器(multi-CPU)。这里的处理器可以指一个或多个通信设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
可选地,存储器802可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储通信设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储通信设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储通信设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器802可以和处理器801集成在一起,也可以独立存在,并通过路径感知装置800的输入/输出端口(图8中未示出)与处理器801耦合,本申请实施例对此不作具体限定。
示例性地,输入端口可用于实现上述任一方法实施例中由源节点、中间节点、或目标节点执行的接收功能,输出端口可用于实现上述任一方法实施例中由源节点、中间节点、或目标节点执行的发送功能。
其中,所述存储器802可用于存储执行本申请方案的软件程序,并由处理器801来控制执行。上述具体实现方式可以参考下述方法实施例,此处不再赘述。
可选地,收发器803,用于与其他路径感知装置之间的通信。例如,路径感知装置800为源节点时,收发器803可以用于与N个中间节点和/或目标节点通信。又例如,路径感知装置800为中间节点时,收发器803可以用于与源节点、目标节点和/或其他中间节点通信。此外,收发器803可以包括接收器和发送器(图8中未单独示出)。其中,接收器用于实现接收功能,发送器用于实现发送功能。收发器803可以和处理器801集成在一起,也可以独立存在,并通过路径感知装置800的输入/输出端口(图8中未示出)与处理器801耦合,本申请实施例对此不作具体限定。
需要说明的是,图8中示出的路径感知装置800的结构并不构成对该路径感知装置的限定,实际的路径感知装置可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
其中,上述图2-图7中源节点的动作可以由图8所示的路径感知装置800中的处理器801调用存储器802中存储的应用程序代码以指令源节点执行。
上述图2-图7中中间节点的动作可以由图8所示的路径感知装置800中的处理器801调用存储器802中存储的应用程序代码以指令中间节点执行,本实施例对此不作任何限制。
上述图2-图7中目标节点的动作可以由图8所示的路径感知装置800中的处理器801调用存储器802中存储的应用程序代码以指令目标节点执行,本实施例对此不作任何限制。
当路径感知装置为源节点时,路径感知装置800可执行上述方法实施例中的源节点所涉及的任一种或多种可能的设计方式;当路径感知装置为中间节点时,路径感知装置800可执行上述方法实施例中的中间节点所涉及的任一种或多种可能的设计方式;当路径感知装置为目标节点时,路径感知装置800可执行上述方法实施例中的目标节点所涉及的任一种或多种可能的设计方式。
需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
图9为本申请实施例提供的另一种路径感知装置的结构示意图。为了便于说明,图9仅示出了该路径感知装置的主要部件。
该路径感知装置900包括收发模块901、和处理模块902。该路径感知装置900可以是前述方法实施例中的源节点、或中间节点。收发模块901,也可以称为收发单元,用以实现上述任一方法实施例中由源节点、或中间节点执行的收发功能。
需要说明的是,收发模块901可以包括接收模块和发送模块(图9中未示出)。其中,接收模块用于接收来自其他设备的数据和/或信令;发送模块用于向其他设备发送数据和/或信令。本申请对于收发模块的具体实现方式,不做具体限定。该收发模块可以由收发电路、收发机、收发器或者通信接口构成。
处理模块902,可以用于实现上述任一方法实施例中由源节点、或中间节点执行的处理功能。该处理模块902可以为处理器。
在本实施例中,该路径感知装置900以采用集成的方式划分各个功能模块的形式来呈现。这里的“模块”可以指特定ASIC,电路,执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。在一个简单的实施例中,本领域的技术人员可以想到该路径感知装置900可以采用图8所示的路径感知装置800的形式。
比如,图8所示的路径感知装置800中的处理器801可以通过调用存储器802中存储的计算机执行指令,使得上述方法实施例中的路径感知方法被执行。
具体的,图9中的收发模块901和处理模块902的功能/实现过程可以通过图8所示的路径感知装置800中的处理器801调用存储器802中存储的计算机执行指令来实现。或者,图9中的处理模块902的功能/实现过程可以通过图8所示的路径感知装置800中的处理器801调用存储器802中存储的计算机执行指令来实现,图9中的收发模块901的功能/实现过程可以通过图8中所示的路径感知装置800中的收发器803来实现。
由于本实施例提供的路径感知装置900可执行上述路径感知方法,因此其所能获得的技术效果可参考上述方法实施例,在此不再赘述。
图10为本申请实施例提供的又一种路径感知装置的结构示意图。为了便于说明,图10仅示出了该路径感知装置的主要部件。
该路径感知装置1000包括发送模块1001和接收模块1002。该路径感知装置1000可以是前述方法实施例中的目标节点。发送模块1001,也可以称为发送单元,用以实现上述任一方法实施例中由目标节点执行的发送功能。接收模块1001,也可以称为接收单元,用以实现上述任一方法实施例中由目标节点执行的接收功能。
需要说明的是,发送模块1001和接收模块1002可以分开设置,也可以集成在一个模块中,即收发模块。本申请对于接收模块和发送模块的具体实现方式,不做具体限定。该收发模块可以由收发电路、收发机、收发器或者通信接口构成。
可选地,路径感知装置1000还可以包括处理模块1003和存储模块,该存储模块存储有程序或指令。当处理模块1003执行该程序或指令时,使得路径感知装置1000可以执行上述任一方法实施例所述的方法。
处理模块1003,可以用于实现上述任一方法实施例中由目标节点执行的处理功能。该处理模块1003可以为处理器。
在本实施例中,该路径感知装置1000以采用集成的方式划分各个功能模块的形式来呈现。这里的“模块”可以指特定ASIC,电路,执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。在一个简单的实施例中,本领域的技术人员可以想到该路径感知装置1000可以采用图8所示的路径感知装置800的形式。
比如,图8所示的路径感知装置800中的处理器801可以通过调用存储器802中存储的计算机执行指令,使得上述方法实施例中的路径感知方法被执行。
具体地,图10中的处理模块1003和存储模块的功能/实现过程可以通过图8中所示的路径感知装置800中的收发器803来实现。图10中的处理模块1003的功能/实现过程可以通过图8所示的路径感知装置800中的处理器801调用存储器802中存储的计算机执行指令来实现,
由于本实施例提供的路径感知装置1000可执行上述路径感知方法,因此其所能获得的技术效果可参考上述方法实施例,在此不再赘述。
在一种可能的设计方案中,图9所示出的路径感知装置900可适用于图1a-图1b所示出的路径感知系统中,执行上述任一方法实施例中的源节点的功能。
该路径感知装置900应用于包括路径感知装置900、N个中间节点、以及目标节点的通信网络,N为大于0的整数。
其中,收发模块901,用于向目标节点发送第一请求报文。其中,第一请求报文包括第一节点的标识、第一数据流的标识和第一预留信息,第一数据流为路径感知装置900与目标节点之间的数据流,第一数据流在第一路径上传输,第一请求报文用于请求确定第一路径是否经过第一节点,第一节点为N个中间节点中的任一个,第一预留信息用于记录第一路径是否经过第一节点的结果。
收发模块901,还用于接收来自目标节点的第一应答报文。其中,第一应答报文包括第一数据流的标识、第一节点的标识和第一指示信息。第一指示信息是将第一路径是否经过第一节点的结果记录在第一预留信息后获得的,第一指示信息用于指示第一路径经过第一节点、或第一路径不经过第一节点。
处理模块902,用于根据第一应答报文获得第一信息。其中,第一信息包括第一路径经过第一节点、或第一路径不经过第一节点。
在一种可能的设计方式中,第一信息还可以包括第一数据流的标识和/或第一路径的时延。
在一种可能的设计方式中,处理模块902,还用于根据拓扑连接关系和第二信息,确定第一路径。其中,拓扑连接关系可以包括路径感知装置900、N个中间节点、和目标节点之间的拓扑关系,第二信息是根据N个中间节点对应的第一应答报文迭代更新第一信息后获得的,第一路径可以包括Q个第一节点的连接关系,Q为大于0且小于或等于N的整数。
在一种可能的设计方式中,处理模块902,还用于确定第一相关值。其中,第一相关值表示第一请求报文与第二请求报文的相关度,第二请求报文包括第二数据流的标识、第一节点的标识和第二预留信息,第二数据流为路径感知装置900与目标节点之间的数据流,第二数据流在第二路径上传输,第二路径为已被建立的路径,第二请求报文可用于请求确定第二路径是否经过第一节点,第二预留信息用于记录第二路径是否经过所述节点的结果。
在一种可能的设计方式中,在第一相关值小于或等于相关度阈值的情况下,收发模块901,还用于向目标节点发送第一请求报文。
在一种可能的设计方式中,在第一相关值大于相关度阈值的情况下,处理模块902,还用于生成映射信息。其中,映射信息可以包括第二数据流的标识与第一数据流的标识的映射关系。
在一种可能的设计方式中,在第一路径发生异常的情况下,处理模块902,还用于根据相关度信息和/或异常节点信息,由通过第一路径与目标节点进行通信切换为通过第三路径与目标节点进行通信。其中,相关度信息可用于指示一个或多个第四路径分别与第一路径的相关度,路径感知装置900与目标节点之间的路径可以包括第一路径和一个或多个第四路径,异常节点信息可用于指示发生异常的中间节点。第三路径为一个或多个第四路径中与第一路径的相关度最低的路径、和/或一个或多个第四路径中不经过发生异常的中间节点的路径。
可选的,路径感知装置900还可以包括存储模块(图9中未示出),该存储模块存储有程序或指令。当处理模块902执行该程序或指令时,使得路径感知装置900可以执行上述任一方法实施例所述的源节点的功能。
需要说明的是,路径感知装置900可以是源节点,也可以是可设置于源节点的芯片(系统)或其他部件或组件,本申请对此不做限定。
此外,路径感知装置900的技术效果可以参考上述任一方法实施例所述的路径感知方法的技术效果,此处不再赘述。
在一种可能的设计方案中,图9所示出的路径感知装置900可适用于图1a-图1b所示出的路径感知系统中,执行上述任一方法实施例所述的路径感知方法中的中间节点的功能。
该路径感知装置900应用于包括源节点、N个中间节点、以及目标节点的通信网络,N为大于0的整数。该路径感知装置900为N个中间节点中的任一个。
其中,收发模块901,用于接收第一请求报文。其中,第一请求报文包括第一节点的标识、第一数据流的标识和第一预留信息,第一数据流为源节点与目标节点之间的数据流,第一数据流在第一路径上传输,第一请求报文用于请求确定第一路径是否经过第一节点,第一预留信息用于记录第一路径是否经过第一节点的结果。
处理模块902,用于确定第一路径是否经过第一节点。
收发模块901,还用于发送第三请求报文。其中,第三请求报文包括第一数据流的标识、第一节点的标识和第一指示信息,第一指示信息是将第一路径是否经过第一节点的结果记录在第一预留信息后获得的,第一指示信息用于指示第一路径经过第一节点、或第一路径不经过第一节点。
需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
可选的,路径感知装置900还可以包括存储模块(图9中未示出),该存储模块存储有程序或指令。当处理模块902执行该程序或指令时,使得路径感知装置900可以执行上述任一方法实施例所述的中间节点的功能。
需要说明的是,路径感知装置900可以是中间节点,也可以是可设置于中间节点的芯片(系统)或其他部件或组件,本申请对此不做限定。
此外,路径感知装置900的技术效果可以上述任一方法实施例所述的路径感知方法的技术效果,此处不再赘述。
在又一种可能的设计方案中,图10所示出的路径感知装置1000可适用于图1a-图1b所示出的路径感知系统中,执行上述任一方法实施例所述的路径感知方法中目标节点的功能。
该路径感知装置1000应用于包括源节点、N个中间节点、以及路径感知装置1000的通信网络,N为大于0的整数。
其中,接收模块1002,用于接收第三请求报文。其中,第三请求报文包括第一数据流的标识、第一节点的标识和第一指示信息,第一指示信息用于指示第一路径经过第一节点、或第一路径不经过第一节点。第一数据流为源节点与路径感知装置1000之间的数据流,第一数据流在第一路径上传输,第一节点为N个中间节点中的任一个。
发送模块1001,用于根据第一数据流的标识向源节点发送第一应答报文。其中,第一应答报文包括第一数据流的标识、第一节点的标识和第一指示信息,第一指示信息用于指示第一路径经过第一节点、或第一路径不经过第一节点。
需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
可选的,路径感知装置1000还可以包括存储模块(图10中未示出),该存储模块存储有程序或指令。当处理模块1002执行该程序或指令时,使得路径感知装置1000可以执行上述任一方法实施例中目标节点的功能。
需要说明的是,路径感知装置1000可以是目标节点,也可以是可设置于目标节点的芯片(系统)或其他部件或组件,本申请对此不做限定。
此外,路径感知装置1000的技术效果可以参考上述任一方法实施例中所示的路径感知方法的技术效果,此处不再赘述。
本申请实施例提供一种路径感知系统。该路径感知系统包括:源节点、N个中间节点和目标节点,N为大于0的整数。其中,源节点用于执行上述方法实施例中源节点的动作,N个中间节点用于执行上述方法实施例中中间节点的动作,目标节点用于执行上述方法实施例中目标节点的动作,具体执行方法和过程可参照上述方法实施例,此处不再赘述。
本申请实施例提供一种芯片系统,该芯片系统包括逻辑电路和输入/输出端口。其中,逻辑电路可用于实现本申请实施例提供的路径感知方法所涉及的处理功能,输入/输出端口可用于本申请实施例提供的路径感知方法所涉及的收发功能。
示例性地,输入端口可用于实现本申请实施例提供的路径感知方法所涉及的接收功能,输出端口可用于实现本申请实施例提供的路径感知方法所涉及的发送功能。
示例性的,路径感知装置800中的处理器可用于进行,例如但不限于,基带相关处理,路径感知装置800中的收发器可用于进行,例如但不限于,射频收发。上述器件可以分别设置在彼此独立的芯片上,也可以至少部分的或者全部的设置在同一块芯片上。例如,处理器可以进一步划分为模拟基带处理器和数字基带处理器。其中,模拟基带处理器可以与收发器集成在同一块芯片上,数字基带处理器可以设置在独立的芯片上。随着集成电路技术的不断发展,可以在同一块芯片上集成的器件越来越多,例如,数字基带处理器可以与多种应用处理器(例如但不限于图形处理器,多媒体处理器等)集成在同一块芯片之上。这样的芯片可以称为系统芯片(system on chip)。将各个器件独立设置在不同的芯片上,还是整合设置在一个或者多个芯片上,往往取决于产品设计的具体需要。本发明实施例对上述器件的具体实现形式不做限定。
在一种可能的设计中,该芯片系统还包括存储器,该存储器用于存储实现本申请实施例提供的路径感知方法所涉及功能的程序指令和数据。
该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件。
本申请实施例提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序或指令,当计算机程序或指令在计算机上运行时,使得本申请实施例提供的路径感知方法被执行。
本申请实施例提供一种计算机程序产品,该计算机程序产品包括:计算机程序或指令,当计算机程序或指令在计算机上运行时,使得本申请实施例提供的路径感知方法被执行。
应理解,在本申请实施例中的处理器可以是中央处理单元(central processingunit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(digital signalprocessor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
还应理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(random accessmemory,RAM)可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
上述实施例,可以全部或部分地通过软件、硬件(如电路)、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质。半导体介质可以是固态硬盘。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,其中A,B可以是单数或者复数。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系,但也可能表示的是一种“和/或”的关系,具体可参考前后文进行理解。
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (22)
1.一种路径感知方法,其特征在于,应用于通信网络中的源节点,所述通信网络包括所述源节点、N个中间节点、以及目标节点,N为大于0的整数,包括:
向所述目标节点发送第一请求报文;其中,所述第一请求报文包括第一节点的标识、第一数据流的标识和第一预留信息,所述第一数据流为所述源节点与所述目标节点之间的数据流,所述第一数据流在第一路径上传输,所述第一请求报文用于请求确定所述第一路径是否经过所述第一节点,所述第一节点为所述N个中间节点中的任一个,所述第一预留信息用于记录所述第一路径是否经过所述第一节点的结果;
接收来自所述目标节点的第一应答报文;其中,所述第一应答报文包括所述第一数据流的标识、所述第一节点的标识和第一指示信息;所述第一指示信息是将所述第一路径是否经过所述第一节点的结果记录在所述第一预留信息后获得的,所述第一指示信息用于指示所述第一路径经过所述第一节点、或所述第一路径不经过所述第一节点;
根据所述第一应答报文获得第一信息;其中,所述第一信息包括所述第一路径经过所述第一节点、或所述第一路径不经过所述第一节点。
2.根据权利要求1所述的路径感知方法,其特征在于,所述第一信息还包括所述第一数据流的标识和/或所述第一路径的时延。
3.根据权利要求1或2所述的路径感知方法,其特征在于,所述方法还包括:
根据拓扑连接关系和第二信息,确定所述第一路径;其中,所述拓扑连接关系包括所述源节点、所述N个中间节点、和所述目标节点之间的拓扑关系,所述第二信息是根据所述N个中间节点对应的所述第一应答报文迭代更新所述第一信息后获得的,所述第一路径包括Q个所述中间节点的连接关系,Q为大于0且小于或等于N的整数。
4.根据权利要求1-3中任一项所述的路径感知方法,其特征在于,所述方法还包括:
确定第一相关值;其中,所述第一相关值表示所述第一请求报文与第二请求报文的相关度,所述第二请求报文包括第二数据流的标识、所述第一节点的标识和第二预留信息,所述第二数据流为所述源节点与所述目标节点之间的数据流,所述第二数据流在第二路径上传输,所述第二请求报文为已发送的报文,所述第二请求报文用于请求确定所述第二路径是否经过所述第一节点,所述第二预留信息用于记录所述第二路径是否经过所述第一节点的结果。
5.根据权利要求4所述的路径感知方法,其特征在于,所述向所述目标节点发送第一请求报文,包括:
在所述第一相关值小于或等于相关度阈值的情况下,向所述目标节点发送所述第一请求报文。
6.根据权利要求4所述的路径感知方法,其特征在于,所述方法还包括:
在所述第一相关值大于相关度阈值的情况下,生成映射信息;其中,所述映射信息包括所述第二数据流的标识与所述第一数据流的标识的映射关系。
7.根据权利要求1-6中任一项所述的路径感知方法,其特征在于,所述方法还包括:
在所述第一路径发生异常的情况下,根据相关度信息和/或异常节点信息,由通过所述第一路径与所述目标节点进行通信切换为通过第三路径与所述目标节点进行通信;其中,所述相关度信息用于指示一个或多个第四路径分别与所述第一路径的相关度,所述源节点与所述目标节点之间的路径包括所述第一路径和所述一个或多个第四路径,所述异常节点信息用于指示发生异常的中间节点;所述第三路径为所述一个或多个第四路径中与所述第一路径的相关度最低的路径、和/或所述一个或多个第四路径中不经过所述发生异常的中间节点的路径。
8.一种路径感知方法,其特征在于,应用于通信网络中的中间节点,所述通信网络包括源节点、N个所述中间节点、以及目标节点,N为大于0的整数包括:
接收第一请求报文;其中,所述第一请求报文包括第一节点的标识、第一数据流的标识和第一预留信息,所述第一数据流为所述源节点与所述目标节点之间的数据流,所述第一数据流在第一路径上传输,所述第一请求报文用于请求确定所述第一路径是否经过所述第一节点,所述第一预留信息用于记录所述第一路径是否经过所述第一节点的结果,所述第一节点为所述N个中间节点中的任一个;
确定所述第一路径是否经过所述第一节点;
发送第三请求报文;其中,所述第三请求报文包括所述第一数据流的标识、所述第一节点的标识和第一指示信息,所述第一指示信息是将所述第一路径是否经过所述第一节点的结果记录在所述第一预留信息后获得的,所述第一指示信息用于指示所述第一路径经过所述第一节点、或所述第一路径不经过所述第一节点。
9.一种路径感知方法,其特征在于,应用于通信网络中的目标节点,所述通信网络包括源节点、N个中间节点、以及目标节点,N为大于0的整数,包括:
接收第三请求报文;其中,所述第三请求报文包括第一数据流的标识、所述第一节点的标识和第一指示信息,所述第一指示信息用于指示所述第一路径经过所述第一节点、或所述第一路径不经过所述第一节点;所述第一数据流为所述源节点与所述目标节点之间的数据流,所述第一数据流在第一路径上传输,所述第一节点为所述N个中间节点中的任一个;
根据所述第一数据流的标识向所述源节点发送第一应答报文;其中,所述第一应答报文包括所述第一数据流的标识、所述第一节点的标识和第一指示信息,所述第一指示信息用于指示所述第一路径经过所述第一节点、或所述第一路径不经过所述第一节点。
10.一种路径感知装置,其特征在于,应用于包括所述路径感知装置、N个中间节点、以及目标节点的通信网络,N为大于0的整数,所述路径感知装置包括:收发模块和处理模块;其中,
所述收发模块,用于向所述目标节点发送第一请求报文;其中,所述第一请求报文包括第一节点的标识、第一数据流的标识和第一预留信息,所述第一数据流为所述路径感知装置与所述目标节点之间的数据流,所述第一数据流在第一路径上传输,所述第一请求报文用于请求确定所述第一路径是否经过所述第一节点,所述第一节点为所述N个中间节点中的任一个,所述第一预留信息用于记录所述第一路径是否经过所述第一节点的结果;
所述收发模块,还用于接收来自所述目标节点的第一应答报文;其中,所述第一应答报文包括所述第一数据流的标识、所述第一节点的标识和第一指示信息;所述第一指示信息是将所述第一路径是否经过所述第一节点的结果记录在所述第一预留信息后获得的,所述第一指示信息用于指示所述第一路径经过所述第一节点、或所述第一路径不经过所述第一节点;
所述处理模块,用于根据所述第一应答报文获得第一信息;其中,所述第一信息包括所述第一路径经过所述第一节点、或所述第一路径不经过所述第一节点。
11.根据权利要求10所述的路径感知装置,其特征在于,所述第一信息还包括所述第一数据流的标识和/或所述第一路径的时延。
12.根据权利要求10或11所述的路径感知装置,其特征在于,
所述处理模块,还用于根据拓扑连接关系和第二信息,确定所述第一路径;其中,所述拓扑连接关系包括所述路径感知装置、所述N个中间节点、和所述目标节点之间的拓扑关系,所述第二信息是根据所述N个中间节点对应的所述第一应答报文迭代更新所述第一信息后获得的,所述第一路径包括Q个所述中间节点的连接关系,Q为大于0且小于或等于N的整数。
13.根据权利要求10-12中任一项所述的路径感知装置,其特征在于,
所述处理模块,还用于确定第一相关值;其中,所述第一相关值表示所述第一请求报文与第二请求报文的相关度,所述第二请求报文包括第二数据流的标识、所述第一节点的标识和第二预留信息,所述第二数据流为所述路径感知装置与所述目标节点之间的数据流,所述第二数据流在第二路径上传输,所述第二路径为已被建立的路径,所述第二请求报文用于请求确定所述第二路径是否经过所述第一节点,所述第二预留信息用于记录所述第二路径是否经过所述第一节点的结果。
14.根据权利要求13所述的路径感知装置,其特征在于,
在所述第一相关值小于或等于相关度阈值的情况下,所述收发模块,还用于向所述目标节点发送所述第一请求报文。
15.根据权利要求13所述的路径感知装置,其特征在于,
在所述第一相关值大于相关度阈值的情况下,所述处理模块,还用于生成映射信息;其中,所述映射信息包括所述第二数据流的标识与所述第一数据流的标识的映射关系。
16.根据权利要求10-15中任一项所述的路径感知装置,其特征在于,
在所述第一路径发生异常的情况下,所述处理模块,还用于根据相关度信息和/或异常节点信息,由通过所述第一路径与所述目标节点进行通信切换为通过第三路径与所述目标节点进行通信;其中,所述相关度信息用于指示多个第四路径分别与所述第一路径的相关度,所述路径感知装置与所述目标节点之间的路径包括所述第一路径和所述多个第四路径,所述异常节点信息用于指示发生异常的中间节点;所述第三路径为所述多个第四路径中与所述第一路径的相关度最低的路径、和/或所述多个第四路径中不经过所述发生异常的中间节点的路径。
17.一种路径感知装置,其特征在于,应用于包括源节点、N个中间节点、以及目标节点的通信网络,N为大于0的整数,所述路径感知装置为N个中间节点中的任一个,所述路径感知装置包括:收发模块和处理模块;其中,
所述收发模块,用于接收第一请求报文;其中,所述第一请求报文包括第一节点的标识、第一数据流的标识和第一预留信息,所述第一数据流为所述源节点与所述目标节点之间的数据流,所述第一数据流在第一路径上传输,所述第一请求报文用于请求所述第一节点确定所述第一路径是否经过所述第一节点,所述第一预留信息用于记录所述第一路径是否经过所述第一节点的结果,所述第一节点为所述N个中间节点中的任一个;
所述处理模块,用于确定所述第一路径是否经过所述第一节点;
所述收发模块,还用于发送第三请求报文;其中,所述第三请求报文包括所述第一数据流的标识、所述第一节点的标识和第一指示信息,所述第一指示信息是将所述第一路径是否经过所述第一节点的结果记录在所述第一预留信息后获得的,所述第一指示信息用于指示所述第一路径经过所述第一节点、或所述第一路径不经过所述第一节点。
18.一种路径感知装置,其特征在于,应用于包括源节点、N个中间节点、以及所述路径感知装置的通信网络,N为大于0的整数,所述路径感知装置包括:接收模块和发送模块;其中,
所述接收模块,用于接收第三请求报文;其中,所述第三请求报文包括第一数据流的标识、所述第一节点的标识和第一指示信息,所述第一指示信息用于指示所述第一路径经过所述第一节点、或所述第一路径不经过所述第一节点;所述第一数据流为所述源节点与所述路径感知装置之间的数据流,所述第一数据流在第一路径上传输,所述第一节点为所述N个中间节点中的任一个;
所述发送模块,用于根据所述第一数据流的标识向所述源节点发送第一应答报文;其中,所述第一应答报文包括所述第一数据流的标识、所述第一节点的标识和第一指示信息,所述第一指示信息用于指示所述第一路径经过所述第一节点、或所述第一路径不经过所述第一节点。
19.一种路径感知装置,其特征在于,所述路径感知装置包括:处理器;所述处理器,用于执行如权利要求1-9中任一项所述的路径感知方法。
20.一种路径感知系统,其特征在于,所述路径感知系统包括如权利要求10-16中任一项所述的路径感知装置、如权利要求17所述的路径感知装置、和如权利要求18所述的路径感知装置。
21.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序或指令,当所述计算机程序或指令在计算机上运行时,使得如权利要求1-9中任一项所述的路径感知方法被执行。
22.一种计算机程序产品,其特征在于,所述计算机程序产品包括:计算机程序或指令,当所述计算机程序或指令在计算机上运行时,使得如权利要求1-9中任一项所述的路径感知方法被执行。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111434500.2A CN116192721A (zh) | 2021-11-29 | 2021-11-29 | 路径感知方法、装置及系统 |
PCT/CN2022/130384 WO2023093513A1 (zh) | 2021-11-29 | 2022-11-07 | 路径感知方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111434500.2A CN116192721A (zh) | 2021-11-29 | 2021-11-29 | 路径感知方法、装置及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116192721A true CN116192721A (zh) | 2023-05-30 |
Family
ID=86451075
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111434500.2A Pending CN116192721A (zh) | 2021-11-29 | 2021-11-29 | 路径感知方法、装置及系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN116192721A (zh) |
WO (1) | WO2023093513A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116760761B (zh) * | 2023-08-16 | 2023-10-13 | 摩尔线程智能科技(北京)有限责任公司 | 路径创建方法、数据处理系统、控制器、存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102217378B (zh) * | 2011-05-27 | 2014-03-05 | 华为技术有限公司 | 探测路径信息的方法、设备及系统 |
CN104780095A (zh) * | 2015-04-30 | 2015-07-15 | 杭州华三通信技术有限公司 | 一种sdn网络中的路径探测方法和装置 |
US10880203B2 (en) * | 2017-06-12 | 2020-12-29 | Cisco Technology, Inc. | Centralized segment routing dataplane based backup path validation |
CN113206789A (zh) * | 2019-09-12 | 2021-08-03 | 华为技术有限公司 | 路径探测方法、装置及计算机存储介质 |
CN112350938B (zh) * | 2020-10-28 | 2023-01-10 | 北京轻网科技有限公司 | 路径建立方法及装置 |
-
2021
- 2021-11-29 CN CN202111434500.2A patent/CN116192721A/zh active Pending
-
2022
- 2022-11-07 WO PCT/CN2022/130384 patent/WO2023093513A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2023093513A1 (zh) | 2023-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11283707B2 (en) | Segment routing with fast reroute for container networking | |
CN111886833B (zh) | 重定向控制信道消息的方法和用于实现该方法的设备 | |
US9137119B2 (en) | Efficient handling of multi-destination traffic in an internet protocol fabric data center | |
US9548919B2 (en) | Transparent network service header path proxies | |
EP3154227B1 (en) | Packet transmission method, node, path management server and storage medium | |
US20210176168A1 (en) | Advanced Preferred Path Route Graph Features in a Network | |
CN107078963B (zh) | 虚拟可扩展局域网中的路由追踪 | |
US10461958B2 (en) | Packet transmission method and apparatus | |
CN110380959B (zh) | 转发报文方法和装置 | |
WO2015024510A1 (en) | Segmented source routing in a network | |
US20220345404A1 (en) | Packet sending method, routing entry generation method, apparatus, and storage medium | |
WO2016064704A1 (en) | Distributed computing based on deep packet inspection by network devices along network path to computing device | |
US20140040477A1 (en) | Connection mesh in mirroring asymmetric clustered multiprocessor systems | |
US11863454B2 (en) | Systems and methods for scalable validation of multiple paths in a network using segment routing | |
US20220124033A1 (en) | Method for Controlling Traffic Forwarding, Device, and System | |
US20240129223A1 (en) | Systems and methods for data plane validation of multiple paths in a network | |
US10333829B2 (en) | Service function chaining and overlay transport loop prevention | |
CN105812257A (zh) | 业务链路由管理系统及其使用方法 | |
WO2023093513A1 (zh) | 路径感知方法、装置及系统 | |
CN114615179A (zh) | 报文传输方法、设备及系统 | |
CN117176546A (zh) | 故障处理方法、相关设备和系统 | |
US20230300062A1 (en) | Route optimization method, physical network device and computer-readable storage medium | |
WO2021232190A1 (en) | Forward path planning method in massive data center networks | |
CN116781453A (zh) | 报文隔离方法及装置 | |
CN116366593A (zh) | 报文转发方法及相关装置 |
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 |