CN119835209A - 报文传输方法、装置、设备及计算机可读存储介质 - Google Patents
报文传输方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN119835209A CN119835209A CN202311331888.2A CN202311331888A CN119835209A CN 119835209 A CN119835209 A CN 119835209A CN 202311331888 A CN202311331888 A CN 202311331888A CN 119835209 A CN119835209 A CN 119835209A
- Authority
- CN
- China
- Prior art keywords
- message
- path
- transmission
- paths
- 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
Classifications
-
- 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/06—Management of faults, events, alarms or notifications
-
- 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/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/28—Routing or path finding of packets in data switching networks using route fault recovery
-
- 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/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了报文传输方法、装置、设备及计算机可读存储介质,属于通信技术领域。方法包括:获取多个报文,多个报文包括第一报文;确定多个报文对应的多条传输路径,根据多条传输路径在多个报文中设置路径信息,任一报文中的路径信息用于指示传输多个报文的路径的变化和/或任一报文的传输路径,多条传输路径用于负载分摊多个报文;发送设置路径信息后的多个报文。在传输报文的时候,通信装置会根据能传输报文的多条传输路径对报文进行路径标记,设置路径信息,以根据报文中携带的路径信息确定是否存在传输异常,从而在传输报文的过程中,可以及时发现传输异常。
Description
技术领域
本申请涉及通信技术领域,特别涉及报文传输方法、装置、设备及计算机可读存储介质。
背景技术
随着通信技术的发展,网络上用于传输报文的传输路径越来越多。
相关技术中,报文的发送设备在传输报文的过程中,会利用探针报文或周期性统计等方式,周期性检测传输路径的运行情况,以确定是否存在传输异常。上述方法对报文传输过程中的异常感知慢,检测及时性低,基于及时性低的传输检测结果选择的传输路径会滞后于传输路径的质量变化,导致报文传输性能低。
发明内容
本申请提供了一种报文传输方法、装置、设备及计算机可读存储介质,以解决相关技术中存在的问题,技术方案如下:
第一方面,提供了一种报文传输方法,该方法应用于通信装置,方法包括:获取多个报文,多个报文包括第一报文;确定多个报文对应的多条传输路径,根据多条传输路径在多个报文中设置路径信息,任一报文中的路径信息用于指示传输多个报文的路径的变化和/或任一报文的传输路径,多条传输路径用于负载分摊多个报文;发送设置路径信息后的多个报文。
在传输报文的过程中,通信装置会根据能传输报文的多条传输路径对报文进行路径标记,设置路径信息,以根据报文中携带的路径信息确定是否存在传输异常,从而在传输报文的过程中,可以及时发现传输异常。并且,通过传输路径上的通信装置的协同,实现传输检测任务的分摊,进而减少端侧的实现复杂度和资源代价,负载分摊更均匀,有效减少网络拥塞点,提高报文的传输性能。
在一种可能的实现方式中,第一报文携带第一标识,第一标识用于确定需要设置路径信息的网络位置,获取多个报文之后,还包括:在第一报文携带的第一标识与通信装置的网络位置匹配成功的情况下,执行根据多条传输路径在第一报文中设置路径信息的操作。根据第一报文携带的第一标识确定是否需要对第一报文设置路径信息,避免对所有获取到的报文设置路径信息,而造成资源浪费。
在一种可能的实现方式中,路径信息包括路径数量和路径标识中的至少一种,路径数量指示通信装置所在网络中支持负载分摊多个报文的多条传输路径的路径总数,路径标识指示用于传输携带路径信息的报文的传输路径。不限定报文中携带的路径信息,可以是路径数量,也可以是路径标识,且无论报文中携带的是路径数量还是路径标识,均能用于传输检测,灵活度高,通用度广。
在一种可能的实现方式中,根据多条传输路径在多个报文中设置路径信息,包括:在第一报文中携带路径数量的初始值的情况下,根据路径数量的初始值和多条传输路径的数量更新路径数量的值;或者,在第一报文中未携带路径数量的初始值的情况下,将多条传输路径的数量作为路径数量的值添加在第一报文中。通信装置可以在第一报文中添加路径数量,也可以更新第一报文中原本携带的路径数量的值,设置路径数量的方式多样,灵活度高。
在一种可能的实现方式中,路径数量的初始值根据通信装置和第一报文对应的上游装置之间连接的传输路径确定。路径数量的初始值反应了通信装置和上游装置之间连接的传输路径的数量,通信装置由此可根据路径数量的初始值确定上游装置连接的传输路径的数量,进而结合上游装置连接的传输路径的数量和通信装置连接的传输路径的数量确定通信装置所在网络中的传输路径的数量,所确定的路径数量的精确度高。
在一种可能的实现方式中,根据多条传输路径在多个报文中设置路径信息,包括:确定用于传输第一报文的传输路径的参考标识,参考标识用于区分通信装置连接的多条传输路径中不同的传输路径;根据所确定的传输路径的参考标识在第一报文中设置路径标识,路径标识用于区分通信装置所在网络中的用于负载分摊多个报文的多条传输路径中不同的传输路径。路径标识可以区分通信装置所在网络中的不同传输路径,相较于仅能区分通信装置连接的不同传输路径的参考标识,区分范围更广,基于参考标识确定路径标识,从而实现传输路径的精确指示。
在一种可能的实现方式中,根据所确定的传输路径的参考标识在第一报文中设置路径标识,包括:在第一报文中携带路径标识的初始值的情况下,根据路径标识的初始值、参考标识的值和多条传输路径的数量更新第一报文中携带的路径标识的值;或者,在第一报文中未携带路径标识的初始值的情况下,将参考标识的值作为路径标识的值添加在第一报文中。无论第一报文中是否携带路径标识的初始值,通信装置均可以在第一报文中设置路径标识,路径标识的设置过程灵活度高。
在一种可能的实现方式中,确定多个报文对应的多条传输路径,包括:检测通信装置连接的多条传输路径的路径运行情况;在任一传输路径的路径运行情况指示任一传输路径故障的情况下,根据故障的传输路径更新多条传输路径,根据更新后的多条传输路径确定多个报文对应的多条传输路径。在存在传输路径故障的情况下,通信装置及时更新连接的多条传输路径的信息,根据更新后的传输路径的信息设置的路径信息存在区别,由此可根据报文中携带的路径信息实现传输检测。
在一种可能的实现方式中,第一报文还携带第二标识,第二标识用于确定第一报文的负载分摊方式,发送设置路径信息后的多个报文之前,还包括:在第二标识指示的负载分摊方式为逐包分摊的情况下,在多条传输路径中选择分别传输各个报文的传输路径;或者,在第二标识指示的负载分摊方式为逐流分摊的情况下,根据多个报文的流信息从多条传输路径中选择传输多个报文的一条传输路径。根据第二标识灵活选择不同的负载分摊方式,从而在报文对时延要求高的情况下,以逐流分摊的方式传输多个报文,在报文的时延要求低的情况下,以逐包分摊的方式传输多个报文,实现根据时延要求灵活传输报文。
在一种可能的实现方式中,第一报文还携带路径数量的初始值和路径标识的初始值,确定多个报文对应的多条传输路径之后,还包括:根据第一报文中携带的路径数量的初始值、路径标识的初始值和通信装置连接的传输路径的第一数量,确定用于传输第一报文的传输路径;通过确定的传输路径传输基于第一报文获取的第二报文。第一报文中携带的路径数量的初始值和路径标识的初始值除了可以进行传输检测,还可以用于指示传输第一报文的传输路径,灵活度高。
在一种可能的实现方式中,通过确定的传输路径传输基于第一报文获取的第二报文之前,还包括:根据第一数量更新第一报文中携带的路径数量的初始值和路径标识的初始值,得到第二报文。在传输报文之前,还会根据第一数量更新第一报文中携带的路径数量和路径标识的值,以使下游装置根据更新后的路径数量和路径标识确定下游装置连接的传输路径。
在一种可能的实现方式中,路径数量的初始值和路径标识的初始值根据通信装置所在网络中的传输路径确定。根据通信装置所在网络中的传输路径即可确定路径数量的初始值和路径标识的初始值,确定过程简单。
在一种可能的实现方式中,任一报文中的路径信息用于多个报文的接收装置确定多个报文是否存在传输异常。通过在报文中携带路径信息,即可实现传输异常检测,检测过程简单。
第二方面,提供了一种报文传输方法,该方法应用于接收装置,方法包括:接收通信装置发送的多个报文;解析各个报文携带的路径信息,根据路径信息确定多个报文是否存在传输异常。接收装置在接收报文后,可根据报文中的路径信息确定是否发生传输异常,检测过程简单,检测及时性高。
在一种可能的实现方式中,方法还包括:在多个报文存在传输异常的情况下,向多个报文的发送装置发送报文重传指令,报文重传指令指示发送装置重新传输多个报文中的至少一个报文。在检测到传输异常的情况下,触发报文重传,通过及时重传报文,以降低传输异常带来的影响。
在一种可能的实现方式中,路径信息包括路径数量和路径标识中的至少一种,解析各个报文携带的路径信息,根据路径信息确定多个报文是否存在传输异常,包括:解析多个报文携带的路径数量和路径标识中的至少一种,得到路径数量和/或路径标识的解析结果;在路径数量和路径标识的任一种解析结果指示异常的情况下,确定多个报文存在传输异常。无论报文中是携带路径数量还是携带路径标识,均可根据解析结果确定是否存在传输异常,灵活度高。
在一种可能的实现方式中,解析多个报文携带的路径数量和路径标识中的至少一种,得到路径数量和/或路径标识的解析结果,包括:比较多个报文携带的路径数量;在多个报文携带的路径数量不同的情况下,确定路径数量的解析结果指示异常。通过比较多个报文携带的路径数量,即可实现传输检测,检测过程简单,效率高。
在一种可能的实现方式中,解析多个报文携带的路径数量和路径标识中的至少一种,得到路径数量和/或路径标识的解析结果,包括:根据接收到的报文的报文序号和路径标识,更新报文的传输路径的接收信息,接收信息用于统计传输路径上接收的报文;在传输路径的接收信息指示存在报文发生丢包的情况下,确定路径标识的解析结果指示异常。根据路径标识实现接收信息的统计,进而可以确定是否存在报文发生丢包,丢包检测简单,操作复杂度低。
在一种可能的实现方式中,在传输路径的接收信息指示存在报文发生丢包的情况下,确定路径标识的解析结果指示异常之前,还包括:根据各条传输路径的接收信息确定各条传输路径中未接收的报文的第一序号;根据各条传输路径的接收信息确定各条传输路径接收的报文中的最大报文序号;在第一序号小于各条传输路径对应的最大报文序号的情况下,确定第一序号对应的报文发生丢包。通过比较第一序号和最大报文序号,以排除第一序号对应的报文还在传输路径上传输的可能性,由此确定第一序号对应的报文发生丢包,丢包检测精确度高。
在一种可能的实现方式中,报文重传指令包括发生丢包的报文的报文序号。发送装置可根据报文重传指令包括的报文序号重新发送发生丢包的报文,实现报文的精确重传,保证了传输资源的高效利用。
第三方面,提供了一种报文传输装置,该装置应用于通信装置,装置包括:获取模块,用于获取多个报文,多个报文包括第一报文;设置模块,用于确定多个报文对应的多条传输路径,根据多条传输路径在多个报文中设置路径信息,任一报文中的路径信息用于指示传输多个报文的路径的变化和/或任一报文的传输路径,多条传输路径用于负载分摊多个报文;发送模块,用于发送设置路径信息后的多个报文。
在一种可能的实现方式中,第一报文携带第一标识,设置模块,还用于在第一报文携带的第一标识与通信装置的网络位置匹配成功的情况下,执行根据多条传输路径在第一报文中设置路径信息的操作。
在一种可能的实现方式中,路径信息包括路径数量和路径标识中的至少一种,路径数量指示通信装置所在网络中支持负载分摊多个报文的多条传输路径的路径总数,路径标识指示用于传输携带路径信息的报文的传输路径。
在一种可能的实现方式中,设置模块,用于在第一报文中携带路径数量的初始值的情况下,根据路径数量的初始值和多条传输路径的数量更新路径数量的值;或者,在第一报文中未携带路径数量的初始值的情况下,将多条传输路径的数量作为路径数量的值添加在第一报文中。
在一种可能的实现方式中,路径数量的初始值根据通信装置和第一报文对应的上游装置之间连接的传输路径确定。
在一种可能的实现方式中,设置模块,用于确定用于传输第一报文的传输路径的参考标识,参考标识用于区分通信装置连接的多条传输路径中不同的传输路径;根据所确定的传输路径的参考标识在第一报文中设置路径标识,路径标识用于区分通信装置所在网络中的用于负载分摊多个报文的多条传输路径中不同的传输路径。
在一种可能的实现方式中,设置模块,用于在第一报文中携带路径标识的初始值的情况下,根据路径标识的初始值、参考标识的值和多条传输路径的数量更新第一报文中携带的路径标识的值;或者,在第一报文中未携带路径标识的初始值的情况下,将参考标识的值作为路径标识的值添加在第一报文中。
在一种可能的实现方式中,设置模块,用于检测通信装置连接的多条传输路径的路径运行情况;在任一传输路径的路径运行情况指示任一传输路径故障的情况下,根据故障的传输路径更新多条传输路径,根据更新后的多条传输路径确定多个报文对应的多条传输路径。
在一种可能的实现方式中,第一报文还携带第二标识,第二标识用于确定第一报文的负载分摊方式,设置模块,还用于在第二标识指示的负载分摊方式为逐包分摊的情况下,在多条传输路径中选择分别传输各个报文的传输路径;或者,在第二标识指示的负载分摊方式为逐流分摊的情况下,根据多个报文的流信息从多条传输路径中选择传输多个报文的一条传输路径。
在一种可能的实现方式中,第一报文还携带路径数量的初始值和路径标识的初始值,设置模块,还用于根据第一报文中携带的路径数量的初始值、路径标识的初始值和通信装置连接的传输路径的第一数量,确定用于传输第一报文的传输路径;通过确定的传输路径传输基于第一报文获取的第二报文。
在一种可能的实现方式中,设置模块,还用于根据第一数量更新第一报文中携带的路径数量的初始值和路径标识的初始值,得到第二报文。
在一种可能的实现方式中,路径数量的初始值和路径标识的初始值根据通信装置所在网络中的传输路径确定。
在一种可能的实现方式中,任一报文中的路径信息用于多个报文的接收装置确定多个报文是否存在传输异常。
第四方面,提供了一种报文传输装置,该装置应用于接收装置,装置包括:接收模块,用于接收通信装置发送的多个报文;检测模块,用于解析各个报文携带的路径信息,根据路径信息确定多个报文是否存在传输异常。
在一种可能的实现方式中,该装置还包括:发送模块,用于在多个报文存在传输异常的情况下,向多个报文的发送装置发送报文重传指令,报文重传指令指示发送装置重新传输多个报文中的至少一个报文。
在一种可能的实现方式中,路径信息包括路径数量和路径标识中的至少一种,检测模块,用于解析多个报文携带的路径数量和路径标识中的至少一种,得到路径数量和/或路径标识的解析结果;在路径数量和路径标识的任一种解析结果指示异常的情况下,确定多个报文存在传输异常。
在一种可能的实现方式中,检测模块,用于比较多个报文携带的路径数量;在多个报文携带的路径数量不同的情况下,确定路径数量的解析结果指示异常。
在一种可能的实现方式中,检测模块,用于根据接收到的报文的报文序号和路径标识,更新报文的传输路径的接收信息,接收信息用于统计传输路径上接收的报文;在传输路径的接收信息指示存在报文发生丢包的情况下,确定路径标识的解析结果指示异常。
在一种可能的实现方式中,检测模块,还用于根据各条传输路径的接收信息确定各条传输路径中未接收的报文的第一序号;根据各条传输路径的接收信息确定各条传输路径接收的报文中的最大报文序号;在第一序号小于各条传输路径对应的最大报文序号的情况下,确定第一序号对应的报文发生丢包。
在一种可能的实现方式中,报文重传指令包括发生丢包的报文的报文序号。
第五方面,提供了一种报文传输设备,该设备包括处理器,处理器用于加载并执行至少一条指令,以使报文传输设备执行第一方面或第一方面任一种可能的实施方式中的方法,或者执行第二方面或第二方面任一种可能的实施方式中的方法。
在一种可能的实现方式中,该设备包括存储器,存储器和处理器耦合,存储器存储有至少一条指令。
第六方面,提供了一种报文传输系统,该系统包括通信装置和接收装置,通信装置用于执行第一方面或第一方面任一种可能的实施方式中的方法,接收装置用于执行第二方面或第二方面任一种可能的实施方式中的方法。
第七方面,提供了一种计算机可读存储介质,计算机可读存储介质中存储有至少一条指令,指令由处理器加载并执行以实现第一方面或第一方面的任一种可能的实现方式中的报文传输方法,或者实现第二方面或第二方面的任一种可能的实现方式中的报文传输方法。
第八方面,提供了一种计算机程序(产品),计算机程序(产品)包括计算机程序/指令,计算机程序/指令被处理器执行,以使计算机实现第一方面或第一方面的任一种可能的实现方式中的报文传输方法,或者实现第二方面或第二方面的任一种可能的实现方式中的报文传输方法。
第九方面,提供了一种通信装置,该装置包括:收发器、存储器和处理器。其中,该收发器、该存储器和该处理器通过内部连接通路互相通信,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,以控制收发器接收信号,并控制收发器发送信号,并且当该处理器执行该存储器存储的指令时,使得该处理器执行第一方面或第一方面的任一种可能的实施方式中的方法,或者执行第二方面或第二方面的任一种可能的实施方式中的方法。
可选地,处理器为一个或多个,存储器为一个或多个。
可选地,存储器可以与处理器集成在一起,或者存储器与处理器分离设置。
在具体实现过程中,存储器可以为非瞬时性(non-transitory)存储器,例如只读存储器(read only memory,ROM),其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本申请对存储器的类型以及存储器与处理器的设置方式不做限定。
第十方面,提供了一种芯片,包括处理器,用于从存储器中调用并运行存储器中存储的运行程序指令或代码,使得安装有该芯片的通信设备执行上述各方面中的方法。
第十一方面,提供另一种芯片,包括:输入接口、输出接口、处理器和存储器,输入接口、输出接口、处理器以及存储器之间通过内部连接通路相连,该处理器用于执行存储器中的代码,当代码被执行时,处理器用于执行上述各方面中的方法。
应当理解的是,本申请的第三方面至第十一方面的技术方案及对应的可能的实现方式所取得的有益效果可以参见上述对第一方面及其对应的可能的实现方式或第二方面及其对应的可能的实现方式的技术效果,此处不再赘述。
附图说明
图1为本申请实施例提供的一种实施环境的示意图;
图2为本申请实施例提供的一种网络拓扑结构示意图;
图3为本申请实施例提供的一种报文传输方法的流程图;
图4为本申请实施例提供的另一种网络拓扑结构示意图;
图5为本申请实施例提供的又一种网络拓扑结构示意图;
图6为本申请实施例提供的一种报文传输的示意图;
图7为本申请实施例提供的一种路径信息的携带示意图;
图8为本申请实施例提供的一种传输路径的故障示意图;
图9为本申请实施例提供的一种报文传输的过程示意图;
图10为本申请实施例提供的再一种网络拓扑结构示意图;
图11为本申请实施例提供的一种传输路径的接收信息统计示意图;
图12为本申请实施例提供的一种接收信息的结构示意图;
图13为本申请实施例提供的一种报文传输装置的结构示意图;
图14为本申请实施例提供的另一种报文传输装置的结构示意图;
图15为本申请实施例提供的一种网络设备的结构示意图;
图16为本申请实施例提供的另一种网络设备的结构示意图。
具体实施方式
本申请的实施方式部分使用的术语仅用于对本申请的具体实施例进行解释,而非旨在限定本申请。为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
随着通信技术的发展,通信装置可根据传输路径的路径状态选择不同的传输路径传输多个报文,从而实现多个报文的负载分摊。
相关技术中,通过配置在传输路径端侧的发送装置检测每条传输路径的路径状态,以根据检测的路径状态选择用于传输报文的传输路径,实现多路径的负载分摊。在利用传输路径传输报文的过程中,会通过发送探针报文或者周期性统计传输时延、报文数量等方式,实现周期测量传输路径的路径质量,进而根据测量的路径质量确定报文是否存在传输异常。上述报文传输方法对传输异常的感知慢,检测及时性低。
本申请实施例提供了一种报文传输方法,用于在传输报文的过程中,在报文中设置路径信息,以根据报文的路径信息实现传输异常检测。请参考图1,其示出了本申请实施例提供的报文传输方法的实施环境示意图,该实施环境包括通信装置01和接收装置02。其中,通信装置01和接收装置02之间可通过有线或无线网络的方式建立多条用于传输报文的传输路径,接收装置02可以是多条传输路径的汇聚点,例如隧道的端点,覆盖(overlay)路径的端点或者报文的终端(例如,数据流的目的端)等。示例性地,通信装置01获取需要传输的报文后,在报文中设置路径信息,向接收装置02发送设置路径信息后的报文。接收装置02对接收的报文进行解析,以根据报文中的路径信息确定报文是否存在传输异常。
图2为本申请实施例提供的一种网络拓扑结构示意图,图2中的网络包括核心层、汇聚层和接入层,配置在核心层的网络节点在图2中用C标识,配置在汇聚层的网络节点在图2中用A标识,配置在接入层的网络节点在图2中用T标识。图2中网络节点的数字用于区分同一层网络中的不同网络节点。在一种可能的情况下,通信装置01可以为图2中配置在接入层的网络节点,也可以为配置在汇聚层的网络节点,或者为配置在核心层的网络节点,或者为接入图2所示网络的终端(例如,服务器)。且报文的传输路径中可以包括多个通信装置01,例如图2中虚线框1内的网络节点T0和A1均会执行通信装置01所涉及的操作,也即通信装置01可以为图2中的网络节点T0和A1。
此外,通信装置01和接收装置02之间可以直接连接,也可以间接连接。以通信装置01为图2中虚线框3内的网络节点T0为例,网络节点T0还用于连接图2中的接收装置02,以将设置路径信息后的第一报文发往接收装置02。此种情况下,作为通信装置01的网络节点T0和接收装置02之间通过传输路径直接连接。以通信装置01为图2中虚线框1内的网络节点T0,且接收装置02为虚线框3内的网络节点T0连接的接收装置02为例,此种情况下,作为通信装置01的网络节点T0和接收装置02之间还会通过汇聚层和核心层的网络节点实现间接连接。
在一种可能的情况下,通信装置01和接收装置02可以如图1和图2所示配置在同一个网络中,也可以配置在不同网络中。例如,通信装置01为第一数据中心的网络末端的发送装置(例如数据中心的出口网络设备),接收装置02为第二数据中心的网络源端的接收装置(例如数据中心的入口网络设备)。通信装置01向接收装置02发送报文,以实现报文的跨网络传输。本申请实施例不限定通信装置01和接收装置02所在的网络,例如,通信装置01和接收装置02可以如图2所示配置在数据通信网络(data communication network,DCN)中的多级交换网络(Clos组网),也可以配置在其他DCN网络,或者高性能计算(high performancecomputing,HPC)网络、云网络和园区网络等不同网络场景。
在一种可能的实现方式中,通信装置01和接收装置02可以是任意具有报文转发功能的设备。例如,通信装置01和接收装置02可以是台式机、笔记本电脑或者智能手机等终端设备,还可以是服务器,例如是中心服务器、边缘服务器,或者是本地数据中心中的本地服务器。服务器可以是物理服务器,还可以是提供云计算服务的云服务器。示例性地,通信装置01和接收装置02还可以是网关、路由器和交换机等转发设备,或是配置在上述设备中的网卡等。
本申请实施例提供的报文传输方法可以应用于上述图1或图2所示的实施场景,该方法可由通信装置和接收装置交互执行,报文传输方法的流程图如图3所示,包括S301-S305。
S301,通信装置获取多个报文,多个报文包括第一报文。
示例性地,通信装置为配置在报文传输路径上的装置,用于将报文发往接收装置,以实现报文的传输。其中,通信装置可以配置在报文的传输路径的源端,图4为本申请实施例提供的一种网络拓扑结构示意图,图4中发送装置和接收装置通过Clos组网建立传输连接,则通信装置可以为图4中的发送装置。此外,通信装置可以为配置在传输路径上的转发装置,例如图4中的网络节点T0、S0或C0等。图4中,T指架顶(top of rack,TOR)交换机,S指脊(SPINE),C指核心(Core)。
本申请实施例不限定报文的传输路径上配置的通信装置的数量,可以为一个也可以为多个。在报文经过多个通信装置传输的情况下,每个通信装置均会对接收到的报文进行处理,以实现报文传输。由于不同数量的通信装置处理过程类似,接下来暂以任一个通信装置为例,对通信装置的处理过程进行举例说明。
无论通信装置配置在何位置,均可获取需要转发的多个报文。可选地,通信装置可以接收来自其他上游装置发送的多个报文。针对通信装置属于转发装置的情况,其他上游装置例如是图4中的发送装置。针对通信装置属于发送装置的情况,其他上游装置例如是和发送装置建立通信连接且位于其他数据中心网络的转发装置。
在一种可能的情况下,通信装置还可产生待传输的多个报文。以通信装置为作为发送装置的终端为例,通信装置基于业务运行产生待传输的多个业务报文,将该多个业务报文作为多个报文。此外,多个报文对应的报文类型可以相同,例如多个报文均为游戏类报文。多个报文的报文类型也可以不同,例如多个报文中包括视频类报文、图片类报文和语音类报文等。无论多个报文基于何种方式获取,多个报文中均包括第一报文,其中,第一报文可以是多个报文中的一个报文,下文实施例中将以第一报文为例,对设置路径信息的过程进行举例说明。其中,第一报文前的第一旨在区分通信装置当前正在处理的报文,而非用于限定报文的顺序和重要程度,也即第一报文可以是任一个待传输的报文。
S302,通信装置确定多个报文对应的多条传输路径,根据多条传输路径在多个报文中设置路径信息,任一报文中的路径信息用于指示传输多个报文的路径的变化和/或该任一报文的传输路径,多条传输路径用于负载分摊多个报文。
示例性地,通信装置获取报文后,解析报文中携带的目的地址,根据目的地址确定报文对应的多条传输路径。其中,报文对应的多条传输路径为通信装置连接的可将报文发往目的地址的传输路径。继续以图4为例,通信装置为图4中的网络节点T0,则报文对应的多条传输路径有8条,分别为T0-S0、T0-S1、…、T0-S7。在一些情况下,报文对应的多条传输路径为等价多路径(equal-cost multipath,ECMP)组包括的传输路径,多条传输路径可以位于多个ECMP组,也可以位于一个ECMP组。此外,多条传输路径可以为一个ECMP组中包括的全部传输路径,也可以为一个ECMP组中包括的部分传输路径,例如,由于ECMP组内包括的传输路径的数量远大于需要传输的报文的个数,远大于例如是传输路径的数量大于报文的个数乘以基于经验设置的系数阈值后的乘积,则通信装置可将ECMP组按报文流划分成多个子组,一个报文流对应至少一个子组,也即该报文流包括的多个报文通过该子组包括的传输路径传输。示例性地,报文对应的多条传输路径还可为非等价多路径(unequal costmultipath,UCMP)组包括的传输路径或是端口汇聚(trunk)链路等。UCMP组的情况与ECMP组的情况类似,可参考上文相关描述,此处不再重复说明。
在一种可能的实现方式中,通信装置获取的多个报文携带的目的地址相同,也即该多个报文需要由通信装置转发至同一个接收装置。又由于报文对应的多条传输路径均可将报文由通信装置发往接收装置,因此,通信装置可利用报文对应的多条传输路径,对多个报文进行负载分摊,进而利用不同的传输路径实现多个报文的传输。
通信装置在确定多条传输路径后,可利用多条传输路径传输多个报文。而通信装置在传输报文之前,还会确定是否需要对报文设置路径信息。示例性地,多个报文中包括的第一报文中携带第一标识,第一标识用于确定需要设置路径信息的网络位置,此种情况下,通信装置可解析第一报文携带的第一标识,并在第一报文携带的第一标识与通信装置的网络位置匹配成功的情况下,执行在第一报文中设置路径信息的操作。
在一种可能的实现方式中,第一标识通过第一报文的报文字段(例如,控制信息(CTRL_INFO)字段)携带,该字段的长度为Bit[N1:0],其中,N1为任意正整数。通信装置读取CTRL_INFO字段的取值,将其转化为二进制形式,根据二进制形式中的1位于的比特位,确定需要设置路径信息的网络位置。以CTRL_INFO字段的取值为0为例,二进制形式为b‘0000,其中,b指示比特。由于不存在比特位的取值为1,指示无需对第一报文设置路径信息。以CTRL_INFO字段的取值为1为例,二进制形式为b‘0001,指示第一级网络节点需要对第一报文设置路径信息。以CTRL_INFO字段的取值为2为例,二进制形式为b‘0010,指示第二级网络节点需要对第一报文设置路径信息。以CTRL_INFO字段的取值为3为例,二进制形式为b‘0011,指示第一级、第二级网络节点均需要对第一报文设置路径信息。其中,第一级、第二级网络节点可以根据传输网络的分层确定,例如图4中,第一级网络节点为位于接入层的网络节点T,第二级网络节点为位于汇聚层的网络节点S。此外,第一标识可以通过1位于的比特位确定网络位置,也可以根据其他数字位于的比特位确定网络位置,例如0或是其他进制中包括的数字,本申请实施例对此不进行限定。
当第一标识和通信装置的网络位置匹配成功,通信装置由此确定需要对第一报文设置路径信息。例如,第一标识的取值为1,通信装置为图4中的网络节点T0,此种情况下,通信装置位于第一级网络,网络位置和第一标识匹配成功,通信装置由此确定匹配成功。可选地,通信装置可以检测多个报文中的部分报文,根据部分报文的检测结果确定是否需要对报文设置路径信息。例如,多个报文属于同一个报文流,由于对同一个报文流包括的报文需要执行相同的操作,因此,在任一个报文的第一标识指示需要设置路径信息的情况下,通信装置由此确定需要对该报文流包括的全部报文执行设置路径信息的操作。或者,通信装置可以检测各个报文,根据各个报文的检测结果确定是否需要对各个报文设置路径信息。例如,多个报文中存在需要设置路径信息的报文,也包括不需要设置路径信息,仅需转发的报文,通信装置可根据第一标识,从多个报文中选择需要设置路径信息的报文,进而控制设置路径信息的次数,提高效率。
此外,通信装置在解析报文中的第一标识,并在第一标识和网络位置匹配成功的情况下,还会更新报文中携带的第一标识,将第一标识中和通信装置所在网络位置的字段赋值由1调整为0。例如图4所示,图4中,通信装置T0接收到的第一报文的第一标识的值为3,二进制形式为b‘0011。通信装置T0由此确定需要设置第一报文的路径信息,并将第0位由1调整为0,二进制形式更新为b‘0010,第一标识的值变为2。又或者,图4中,通信装置S0接收到的第一报文的第一标识的值为2,二进制形式为b‘0010,通信装置S0由此确定需要设置第一报文的路径信息,并将第1位由1调整为0,二进制形式更新为b’0000,第一标识的值变为0。通过更新第一标识的值,保证同一层网络位置的通信装置对报文设置一次路径信息,以避免报文再次到达该层网络位置时,该层网络位置的通信装置继续计算该层网络位置包括的传输路径,例如图4中的通信装置S8和T8,造成传输路径的冗余计算。
通信装置除了根据第一报文中携带的第一标识确定是否需要设置路径信息,还可以根据经验确定是否需要设置路径信息。示例性地,网络中还包括与通信装置连接的控制器,控制器基于网络中的拓扑结构,结合网络情况选择需要设置路径信息的通信装置,被选择的通信装置根据控制器的指示或者配置来确定需要设置路径信息。例如,如果端侧资源不足,或者网络中SPINE位置流量低,无拥塞,控制器由此设置在网络节点T的位置对报文设置路径信息。上述结合网络情况选择通信装置的过程可通过路径协商确定。其中,路径协商的过程和报文传输过程类似,也是在传输报文的过程中,在报文中设置路径信息实现,区别在于路径协商的过程中传输的报文为建链请求报文,详细描述可参考S302-S305,此处不再重复说明。或者,根据经验确定报文的传输路径上的通信装置均需配置对报文设置路径信息的功能。此外,根据经验确定通信装置是否需要设置路径信息,还可以根据通信装置所位于的网络位置实现。例如,确定传输路径的指定位置上通信装置需要对报文设置路径信息,指定位置可以是基于经验和拓扑结构设置的,例如是图4中的第一级网络或第二级网络等。
无论通信装置基于何种方式确定需要对报文设置路径信息,均可在确定需要对报文设置路径信息后,根据多条传输路径在报文中设置路径信息。示例性地,路径信息包括路径数量和路径标识中的至少一种。其中,路径数量指示通信装置所在网络中支持负载分摊多个报文的多条传输路径的路径总数,也即报文在网络中可能经历的可选择的传输路径的总数。图5为本申请实施例提供的一种网络拓扑结构示意图,图5中,T0和T1均为用于进行负载分摊的通信装置,则网络中用于负载分摊的传输路径包括T0-S0-C0、T0-S0-C8、T0-S1-C1、T0-S1-C9、…T0-S7-C7、T0-S7-C15、T1-S0-C0、T1-S0-C8、T1-S1-C1、T1-S1-C9、…、T1-S7-C7、T1-S7-C15。也即报文从第一级网络节点传输到第三级网络节点可能经历的传输路径的总数为32条,可以从32条传输路径中任选一条或多条传输路径传输报文。此外,不同传输路径连接的通信装置可以与上述举例不同,也可以相同,例如,通信装置1、通信装置2和通信装置3之间分别连接两条链路,则通信装置1和通信装置2之间连接的链路与通信装置2和通信装置3之间连接的链路可以形成4条传输路径,该四条传输路径连接的通信装置相同,均为上述举例中的通信装置1、通信装置2和通信装置3。
本申请实施例不限定在第一报文中设置路径数量的过程,通信装置可以在第一报文中添加路径数量,例如,在第一报文中未携带路径数量的初始值的情况下,将多条传输路径的数量作为路径数量的值添加在第一报文中。其中,路径数量的初始值指示第一报文中原本携带的路径数量的值。多条传输路径指示通信装置连接的可用于负载分摊第一报文传输的传输路径,由于第一报文中未携带路径数量的初始值,也即第一报文在到达通信装置之前未进行负载分摊记录,而是从通信装置开始统计网络中可用于负载分摊的传输路径的数量,当前网络中第一报文可能经过的传输路径为通信装置连接的传输路径,因此,通信装置可直接将多条传输路径的数量作为路径数量的值,添加在第一报文中。
可选地,通信装置也可以更新第一报文中原本携带的路径数量的值,也即路径数量的初始值,实现路径数量的设置。例如,在第一报文中携带路径数量的初始值的情况下,根据路径数量的初始值和多条传输路径的数量更新路径数量的值。
示例性地,发送装置向通信装置发送第一报文的过程中,会在报文头中携带序列号(psn)和路径数量,通信装置在接收到第一报文后,可根据连接的传输路径的数量更新路径数量,从而实现网络中负载分摊的传输路径的统计。在一种可能的实现方式中,路径数量的初始值可基于经验设置,例如,设置初始值为1。或者,路径数量的初始值根据通信装置和第一报文对应的上游装置之间连接的传输路径确定。以通信装置为图5中的网络节点T0为例,上游装置为发送装置,发送装置通过多个端口接入到不同的通信装置上,以提高传输网络的可靠性和性能,此种情况下,发送装置和网络节点之间连接的传输路径为两条,则发送装置在发送第一报文前在第一报文中添加路径数量的初始值为2,或者说,发送装置在第一报文中设置路径信息,该路径信息包括的路径数量为2。
上述为在发送装置也用于统计路径信息的情况下,发送装置将连接的传输路径的数量设置为路径数量的初始值的过程。在一种可能的情况下,根据通信装置和第一报文对应的上游装置之间连接的传输路径确定初始值的过程,还可以包括在通信装置和上游装置之间连接传输路径的情况下,初始值设置为1。继续以图5为例,虽然发送装置和网络节点T0之间连接的传输路径为两条,但发送装置不参与路径信息的统计,因此,发送装置设置路径数量的初始值为1,也即仅开始计算通信装置连接的传输路径的数量。通过设置路径数量的初始值,灵活选择开始设置路径信息的网络节点,实现网络中的传输路径不同网络层的细粒度统计。也即,第一报文携带的路径数量的初始值为上游装置设置得到,其中,上游装置可以是上述实施例中的发送装置,也可以是其他通信装置,例如图5中通信装置S0需要对接收到的第一报文设置路径信息,则第一报文中携带的路径数量的初始值为通信装置T0根据连接的传输路径设置得到。
无论路径数量的初始值基于何种方式确定,示例性地,通信装置均可将多条传输路径的数量和初始值相乘,得到的乘积即为更新后的路径数量。公式例如是:pkt.path_num=pkt.path_num×path_group_size。其中,pkt.path_num指示第一报文中携带的路径数量,path_group_size为通信装置连接的传输路径的数量,也即第一报文对应的传输路径的数量,在多条传输路径为ECMP组包括的传输路径的情况下,path_group_size也可称为ecmp_group_size,也即当前ECMP组成员数目,其中,当前ECMP组可以是一个ECMP组,也可以是多个ECMP组,也即当前ECMP组成员数目可以是一个ECMP组包括的传输路径的数量,可以是多个ECMP组包括的传输路径的数量之和。多条传输路径的数量和初始值相乘,得到的乘积也即多条传输路径的组合数量。以通信装置为图4中的网络节点S0为例,通信装置接收的第一报文由网络节点T0设置了路径数量为8。由于通信装置连接的传输路径为两条,通信装置连接的两条传输路径和网络节点T0连接的传输路径可以组合成2×8=16条不同的传输路径。
在一种可能的实现方式中,通信装置可在第一报文中设置路径标识,其中,路径标识指示用于传输携带路径信息的报文的传输路径。示例性地,通信装置设置路径标识的过程包括但不限于:确定用于传输第一报文的传输路径的参考标识;根据所确定的传输路径的参考标识在第一报文中设置路径标识。其中,参考标识用于区分通信装置连接的多条传输路径中不同的传输路径,路径标识用于区分通信装置所在网络中的用于负载分摊多个报文所属的流的多条传输路径中不同的传输路径。
可选地,通信装置在确定参考标识之前还需要选择用于传输第一报文的传输路径。通信装置可直接根据各条传输路径的路径质量选择用于传输第一报文的传输路径。路径质量例如是根据传输路径的链路带宽、链路负载或是队列深度等至少一种信息确定,根据路径质量选择传输路径传输第一报文,以使路径质量好的传输路径可以分担更多的报文传输,或者,通信装置也可随机从连接的传输路径中选择用于传输报文的传输路径,或是采用轮询(round robin,RR)方式选择用于传输报文的传输路径。此外,通信装置在选择第一报文的传输路径的过程中,还可以参考第一报文的负载分摊方式。例如,第一报文还携带第二标识,第二标识用于确定第一报文的负载分摊方式,则通信装置确定传输路径的过程包括:在第二标识指示的负载分摊方式为逐包分摊的情况下,从多条传输路径中选择分别传输各个报文的传输路径;或者,在第二标识指示的负载分摊方式为逐流分摊的情况下,根据报文的流信息从多条传输路径中选择传输该报文的一条传输路径。当多个报文携带的第二标识均指示逐流分摊且该多个报文的流标识相同时,该多个报文的传输路径相同,而当多个报文携带的第二标识均指示逐包分摊时,该多个报文的传输路径大概率不同。
在一种可能的实现方式中,第一报文中包括的分摊模式(LB_MODE)字段为第二标识,长度为Bit[0],此种情况下,当LB_MODE为0时,指示的负载分摊方式为逐流分摊,当LB_MODE为1时,指示的负载分摊方式为逐包分摊。或者,当LB_MODE为1时,指示的负载分摊方式为逐流分摊,当LB_MODE为0时,指示的负载分摊方式为逐包分摊,本申请实施例不对第二标识的取值和负载分摊方式的对应关系进行限定。当第二标识指示逐包分摊的情况下,通信装置选择传输路径的过程可参见上述实施例中选择传输路径的过程,可以根据多条传输路径的路径质量,例如拥塞程度、负载等情况,选择用于传输各个报文的传输路径,也可以随机选择等。且不同报文的传输路径可以相同,也可以不同。当第二标识指示逐流分摊的情况下,通信装置根据报文的五元组信息进行哈希计算,得到出口路径索引(index),根据出口路径索引确定用于传输该多个报文的一条传输路径,所传输的多个报文为逐流分摊对应的多个报文,例如,需要逐流分摊的消息中包括的多个报文。并且,由于多个报文携带的流信息相同,通信装置可以根据一个报文的流信息哈希计算得到出口路径索引,也可以根据多个报文的流信息分别哈希计算得到出口路径索引,以对出口路径索引进行校验。由于在逐流分摊的情况下,通信装置可根据哈希计算确定传输路径,因此,逐流分摊在一些情况下也可称为逐流哈希(hash)分摊。此外,流信息可以为上述实施例中的五元组信息,也可以为两元组信息或是其他指示接收装置的信息。
此外,多个报文可以统一采用逐包分摊,也可以统一采用逐流分摊,或者采用逐包和逐流分摊的混合分摊方式。参见图6,图6中多个报文包括三个消息的报文,分别为消息1、消息2和消息3。其中,消息2对时延有较高的要求,消息2包括的报文5和报文6携带的第二标识指示负载分摊方式为逐流分摊。此种情况下,通信装置根据消息2包括的流信息选择图6中从上至下第四条传输路径传输消息2包括的报文5和报文6,通过同一条传输路径传输时延要求高的报文,以避免不同传输路径之间存在的传输时延差导致报文的传输时延变长,进而无法满足报文的传输需求。图6中的多个报文还包括对时延要求低的消息包括的报文,例如消息1和消息3包括的报文,则消息1和消息3报文的报文1-4、7-9采用逐包分摊的方式,通过四条传输路径分别传输。
无论通信装置基于何种方式选择报文的传输路径,均可根据选择的传输路径设置路径标识,以实现对传输该报文的传输路径的记录。其中,通信装置可以在第一报文中添加路径标识。例如,在第一报文中未携带路径标识的初始值的情况下,将参考标识的值作为路径标识的值添加在第一报文中。图7中,通信装置T0连接的八条传输路径分别为T0-S0、T0-S1、…、T0-S7,参考标识分别为0、1、2、…、7。通信装置可将参考标识的值作为路径标识的值添加在第一报文中,添加后的结果参见图7,图7中的0指示路径标识为0,8指示路径数量为8。
通信装置还可以更新第一报文中原本携带的路径标识,例如,在第一报文中携带路径标识的初始值的情况下,根据路径标识的初始值、参考标识的值和多条传输路径的数量更新第一报文中携带的路径标识的值。其中,参考标识用于区分通信装置连接的多条传输路径,例如图4中,通信装置S0连接的两条传输路径分别为S0-C0和S0-C8,参考标识分别为0和1,通信装置S1连接的两条传输路径分别为S1-C1和S1-C9,参考标识分别为0和1。
由于不同通信装置连接的传输路径可能会存在相同的参考标识,因此,需要根据参考标识确定路径标识,以区分不同通信装置连接的传输路径,例如上述举例中的传输路径S0-C0和传输路径S1-C1。在一种可能的情况下,通信装置可利用路径标识的初始值和多条传输路径的数量相乘,将相乘得到的乘积和参考标识相加,得到路径标识。计算公式例如是pkt.path_id=pkt.path_id*path_group_size+path_member_id。其中,pkt.path_id为第一报文携带的路径标识,path_group_size指示该通信装置连接的传输路径的数量,path_member_id指示传输路径的参考标识,在多条传输路径为ECMP组包括的传输路径的情况下,path_member_id也可以理解为传输路径在ECMP组中的子成员索引。
继续以图4中的通信装置为例,通信装置S0和S1分别接收到的第一报文中携带的路径标识的初始值参见图7,等于0。此种情况下,通信装置S0计算得到S0-C0的路径标识为0×2+0=0,通信装置S1计算得到S1-C1的路径标识为1×2+0=2。通过上述操作,区分通信装置所在网络中的不同传输路径,以使得第一报文中携带的路径标识可以指示用于传输第一报文的传输路径。此外,通信装置还可以采用其他方式确定不同传输路径的路径标识,例如,根据通信装置的网络位置和传输路径的参考标识顺序编号,也即图4中,S0-C0的路径标识为0,S0-C8的路径标识为1,S1-C1的路径标识为2,S1-C9的路径标识为3。
在本申请的一些实施例中,通信装置可根据第一报文中携带的路径信息,选择不同的方式设置第一报文的路径信息。例如,针对第一报文中携带路径数量的初始值,未携带路径标识的初始值的情况,通信装置可更新路径数量的值,再在第一报文中添加路径标识。或者,针对第一报文中未携带路径数量的初始值和路径标识的初始值的情况,通信装置可采用上述操作分别添加路径标识和路径数量。此外,通信装置可以选择在第一报文中设置路径数量和路径标识,也可以选择设置其中任意一个,不同的第一报文设置的路径信息可以相同,例如均为路径数量或路径标识,也可以不同,例如第一报文A中携带了路径数量和路径标识,第一报文B携带了路径数量,本申请实施例对此均不进行设定。
本申请实施例也不限定设置的路径信息在报文中的位置,可以在报文中新增报文头用于携带路径信息,也可以利用报文中的保留字段实现路径信息的设置,例如,在报文头中携带的路径数量(path_number,PATH_NUM)字段设置路径数量,在报文头中携带的路径身份标识号(path_identity document,PATH_ID)字段设置路径标识。并且,报文中用于携带路径信息的字段可以是根据需求设置的任意比特长度,例如路径数量对应的字段的长度为Bit[N2:0],路径标识对应的字段的长度为Bit[N3:0],其中,N2和N3可以是任意正整数,且N2和N3可以相同,也可以不同。
在本申请的一些实施例中,通过在第一报文中设置路径信息,以使多个报文的接收装置根据任一报文的路径信息确定多个报文是否存在传输异常。其中,路径信息可以反应传输异常的原理为:通信装置检测连接的多条传输路径的路径运行情况;在任一传输路径的路径运行情况指示任一传输路径故障的情况下,根据故障的传输路径更新多条传输路径。
图8为本申请实施例提供的一种传输路径的故障示意图,图8中,通信装置连接四条传输路径,四条传输路径的参考标识分别为0、1、2、3,图8的(1)中,四条传输路径的路径状态均正常(OK),通信装置由此确定第一报文对应的多条传输路径的数量为4,并根据4设置路径数量。之后,通信装置检测多条传输路径的路径运行情况,检测结果参见图8的(2),存在一条传输路径出现故障,也即参考标识为0的传输路径,路径运行情况为失败(fail),此种情况下,通信装置确定第一报文对应的多条传输路径为3,后续根据3设置路径数量。也即在通信装置连接的传输路径出现故障的情况下,第一报文中携带的路径数量也会出现变化,后续接收装置可根据路径数量的变化实现传输异常检测。
示例性地,针对需要设置路径标识的情况,通信装置在设置路径标识的过程中,可根据更新后的传输路径的数量进行设置,例如上述实施例中根据3设置路径标识,也可以根据更新前的传输路径的数量进行设置,例如上述实施例中根据4设置路径标识。此外,通信装置在检测传输路径出现故障的情况下,对于后续进入的报文,也不再选择故障的传输路径作为出口。
S303,通信装置发送设置路径信息后的多个报文。
无论通信装置基于何种方式实现对报文的路径信息的设置,均可将设置路径信息后的报文发往接收装置。示例性地,通信装置根据确定的传输路径传输多个报文,以实现负载分摊。例如图9所示,在任一报文的传输路径为S0-C8之间连接的传输路径的情况下,则通信装置S0向通信装置C8发送设置路径信息后的报文,以通过通信装置C8实现将报文发送接收装置。
而接收到报文的通信装置会继续判断是否需要对报文设置路径信息,进而继续传输报文。例如图9所示的通信装置C8,由于通信装置C8位于第三级网络,而报文的第一标识的值为0,因此,通信装置C8由此确定无需更新报文中携带的路径信息,传输接收到的报文,将报文如图9所示发往通信装置S8。
上述为通信装置选择传输路径发送报文的过程,在一种可能的实现方式中,通信装置还可以根据发送装置选择的传输路径传输报文,发送装置选择的传输路径通过路径数量的初始值和路径标识的初始值指示。此种情况下,通信装置根据第一报文中携带的路径数量的初始值、路径标识的初始值和通信装置连接的传输路径的第一数量,确定用于传输第一报文的传输路径;通过确定的传输路径传输基于第一报文获取的第二报文。
示例性地,第一报文携带的路径数量的初始值和路径标识的初始值根据通信装置所在网络中的传输路径确定。发送装置或是控制器根据当前网络中的传输路径的数量以及所选择的传输路径确定路径数量和路径标识的初始值,例如图10中,两级网络共16条传输路径,发送装置选择其中第3条传输路径传输第一报文,由此设置第一报文携带的路径数量和路径标识的初始值分别为16和3。此外,发送装置或控制器在选择传输路径的过程中,可以如S302中描述所示,根据逐包分摊或逐流分摊的方式,选择各个报文的传输路径。
无论发送装置基于何种方式选择第一报文的传输路径,并根据选择的传输路径在第一报文中添加路径数量和路径标识,均可将携带了路径数量和路径标识的第一报文发往通信装置,例如图10中的通信装置T0,通信装置接收到第一报文后,可根据第一报文携带的路径标识和路径数量计算得到传输路径的参数标识,计算公式例如是local_link_id=pkt.path_id/pkt.path_num*local_path_group_size。其中,local_link_id为传输路径的参考标识,pkt.path_id为第一报文携带的路径标识,pkt.path_num为第一报文携带的路径数量,local_path_group_size为通信装置连接的传输路径的数量。在路径数量的初始值为16,路径标识的初始值为3的情况下,通信装置计算得到的传输路径的参考标识为3/16×8=1,选择的传输路径也即图10中T0-S1之间连接的传输路径。
通信装置在确定传输路径后,可根据第一数量更新第一报文中携带的路径数量的初始值和路径标识的初始值,得到第二报文。更新过程例如是pkt.path_num=pkt.path_num/local_path_group_size,pkt.path_id=pkt.path_id%(pkt.path_num/local_path_group_size)。通过更新路径数量和路径标识,以使接收到第二报文的通信装置可以根据更新后的路径数量和路径标识继续选路。以图10为例,更新后的路径数量为2,路径标识为1,通信装置T0将携带2,1的第二报文发往通信装置S1,通信装置S1根据第二报文携带的路径数量和路径标识进行第二次选路,计算出参考标识为1,也即图10中S1-C8之间连接的传输路径,并继续更新第二报文中携带的路径数量和路径标识,更新为1,0。
针对通信装置可以检测传输路径的路径运行情况,以确定是否存在传输路径故障的情况下,由于第一数量指示的是通信装置连接的传输路径的数量,因此,即使通信装置连接的传输路径中存在传输路径故障,第一数量也不会发生改变,例如图8中的(2),虽然正常运行的传输路径为3条,但第一数量仍等于4,通信装置后续根据4进行算路和第二报文的获取。并且,发送装置可以对多个报文中的全部报文采用指定传输路径的方式传输,也可以对多个报文中的部分报文采用指定传输路径的方式传输,继续以图6所示的多个报文为例,多个报文中的消息3包括的报文7-报文9根据指定传输路径的方式传输,而消息1和消息2中包括的报文为通信装置选择传输路径进行负载分摊,并设置路径信息的方式传输。
S304,接收装置接收通信装置发送的多个报文。
示例性地,接收装置接收上游装置发送的多个报文,该多个报文由通信装置发送。例如图9所示,接收装置接收上游装置T8发送的多个报文,该多个报文由通信装置T0发送。
S305,接收装置解析各个报文携带的路径信息,根据路径信息确定多个报文是否存在传输异常。
在一种可能的实现方式中,报文中携带的路径信息包括路径数量和路径标识中的至少一种,接收装置解析路径信息确定是否传输异常的过程包括:解析多个报文携带的路径数量和路径标识中的至少一种,得到路径数量和/或路径标识的解析结果;在路径数量和路径标识的任一种解析结果指示异常的情况下,确定多个报文存在传输异常。也即接收装置可灵活选择解析路径数量或解析路径标识,且无论解析何种路径信息,均可根据解析结果确定是否存在传输异常,接下来分别介绍解析路径数量和路径标识的过程。
解析方式一、比较多个报文携带的路径数量;在多个报文携带的路径数量不同的情况下,确定路径数量的解析结果指示异常。
示例性地,接收装置读取各个报文携带的路径数量,并比较不同报文携带的路径数量的大小,确认是否相同,进而根据比较结果确定是否存在传输异常。由于多个报文由同一个通信装置发往接收装置,报文的路径数量根据通信装置连接的传输路径的数量确定,反应的也是通信装置所在网络中支持负载分摊多个报文的传输路径的总数。在正常情况下,多个报文携带的路径数量应该相同,例如图8的(1)所示,多个报文携带的路径数量均为4。而多个报文携带的路径数量不同,说明存在报文在设置路径信息的过程中,通信装置连接的传输路径出现故障,例如图8的(2)中出现一条传输路径故障,此种情况下,报文携带的路径数量变为3。接收装置接收到的报文中包括路径数量为4的报文,也包括路径数量为3的报文,通过同一个通信装置设置的路径数量的不同,说明存在传输路径出现故障,接收装置由此确定路径数量的解析结果指示异常。此外,报文携带的路径数量不同,可以指部分报文携带的路径数量不同,例如存在报文A携带的路径数量为3,其他报文携带的路径数量均为4,也可以指全部报文携带的路径数量不同。
解析方式二、根据接收到的报文的报文序号和路径标识,更新报文的传输路径的接收信息,接收信息用于统计传输路径上接收的报文;在传输路径的接收信息指示存在报文发生丢包的情况下,确定路径标识的解析结果指示异常。
在一种可能的实现方式中,接收装置根据报文携带的路径标识确定需要统计接收信息的传输路径。例如,接收装置接收到的多个报文携带的路径标识分别为1、2、3和4,接收装置由此确定需要统计四条传输路径的接收信息,分别为传输路径1的接收信息、传输路径2的接收信息、传输路径3的接收信息和传输路径4的接收信息,该四条传输路径例如图11所示。
其中,传输路径的接收信息指示该传输路径传输的报文,在一种可能的情况下,接收信息可通过位图(bitmap)图样统计。图12示出了一种接收信息的结构示意图,图12以起始序列为10为例,举例示出了bitmap,此种情况下,接收装置在接收到报文序号为10的报文的情况下,根据报文携带的路径标识确定该传输路径对应的接收信息,并将接收信息中的报文序号10对应比特位赋值为1。此外,接收装置可以如上述实施例中将报文序号对应的比特位赋值为1,则未接收到的比特位如图12所示为空洞值0,在一些情况下,接收装置还可以将比特位赋值为其他数值,本申请实施例对此不进行限定。无论接收装置基于何种方式根据接收到的多个报文的报文序号更新bitmap的相应比特位,得到传输路径的接收信息,均可根据各条传输路径的接收信息判断是否存在报文丢包。
在一种可能的情况下,接收装置判断丢包的过程包括但不限于:根据各条传输路径的接收信息确定各条传输路径中未接收的报文的第一序号;根据各条传输路径的接收信息确定各条传输路径接收的报文中的最大报文序号;在第一序号小于各条传输路径对应的最大报文序号的情况下,确定第一序号对应的报文发生丢包。其中,第一序号为接收信息中的空洞值对应的序号,例如图12所示的11、12和14均为第一序号。
由于接收装置未接收到的报文可能存在两种原因,一种是报文还在传输路径上传输,另一种是报文发生丢包。因此,接收装置需要统计各条传输路径的最大报文序号,以根据最大报文序号确定报文是否还在传输。其中,各条传输路径的最大报文序号可根据接收信息中赋值为1的序号确定,例如图12所示的最大报文序号为15。示例性地,接收装置可在协商阶段,根据传输的建链请求报文中携带的路径数量,确定传输路径的最大报文序号记录的表项大小,也即(MaxPSN[Path_num]),并根据各条传输路径的最大报文序号更新表项,实现各条传输路径的最大报文序号的统计。其中,表项可小于或等于建链请求报文中携带的路径数量,也即网络最大路径数量。
接收装置可在不同时刻统计传输路径的最大报文序号和第一序号,图11中未接收的第一序号为6和7,当各条传输路径的最大报文序号均大于6和7,例如图11中最后一次统计的接收信息[8,9,11,10],此种情况下,四条传输路径上均传输了报文6和报文7之后的报文,也即排除了报文6和报文7还在传输的可能性,接收装置可由此确定报文6和报文7发生丢包。
此外,接收装置可以根据路径标识统计各条传输路径的接收信息,也可以通过其他方式确定需要统计接收信息的传输路径,例如,确定所连接的多条传输路径,统计各条传输路径上的接收信息,以根据接收信息确定是否存在报文发生丢包。
在一种可能的实现方式中,接收装置可以根据报文中携带的路径信息选择解析方式一或解析方式二解析报文。针对报文中包括路径数量和路径标识的情况,接收装置可以采用解析方式一和解析方式二获取路径数量和路径标识的解析结果,并在任一个解析结果存在异常的情况下,确定多个报文传输异常。此外,接收装置还可以选择解析方式一或解析方式二中的任一种解析方法获取解析结果,本申请实施例对此不进行限定。
无论接收装置基于何种方式确定多个报文存在传输异常,均可在多个报文存在传输异常的情况下,向多个报文的发送装置发送报文重传指令,报文重传指令指示发送装置重新传输多个报文。根据上述实施例中确定传输异常的过程可知,根据路径标识确定的传输异常为报文丢包,此种情况下通过重新传输报文,实现丢失的报文的补发,进而降低报文丢失带来的影响。根据路径数量确定的传输异常为传输路径故障,此种情况下,由于传输路径故障可能也会造成报文丢失,例如,通信装置使用故障的传输路径继续传输报文,则故障的传输路径上传输的报文也会发生丢包。因此,通过重传报文也可以降低传输路径故障带来的影响。
本申请实施例不限定报文重传指令指示的需要重新传输的多个报文,可以为当前传输的全部报文,当前传输的报文例如是指基于经验设置的传输周期内传输的报文。通过在检测到传输异常的情况下,重新传输全部报文,进而实现快速重传的触发,以降低报文丢包带来的影响。或者,发送装置也可以传输多个报文中的部分报文,部分报文可以是一个报文,也可以是多个报文。部分报文可以是出现故障的传输路径对应的报文,也可以是全部未到达的报文。例如,接收装置在报文重传指令中携带全部未到达的报文的报文序号,以指示接收装置发送全部未到达的报文。其中,全部未到达的报文包括发生丢包的报文和当前正在传输还未到达的报文。部分报文也可以是发生丢包的报文。在一种可能的情况下,报文重传指令还可以包括发生丢包的报文的报文序号。其中,报文序号可以为S305的解析方式二根据路径标识和接收信息统计得到。通过在报文重传指令中携带需要重传的报文的报文序号,实现报文的精确重传,发送装置仅需重传发生丢失的报文,有效节省传输资源,实现传输资源的高效利用。
综上所述,本申请实施例提供的报文传输方法,在传输报文的时候,通信装置会根据能传输报文的多条传输路径对报文进行路径标记,设置路径信息,以根据报文中携带的路径信息确定是否存在传输异常,从而在传输报文的过程中,可以及时发现传输异常。并且,通过传输路径上的通信装置的协同,实现传输检测任务的分摊,进而减少端侧的实现复杂度和资源代价等,负载分摊更均匀,有效减少网络拥塞点,提高报文的传输性能。接收装置在接收报文后,可根据报文中的路径信息确定是否发生传输异常,并在传输异常的情况下,触发报文重传。检测传输异常的及时性高,且在传输异常的情况下及时重传报文,以降低丢包影响。即使在多路径负载分摊的场景下,也可以实现选择性重传,提高重传效率,支持损耗网络(lossly network)。
以上介绍了本申请实施例的报文传输方法,与上述方法对应,本申请实施例还提供了报文传输装置。图13是本申请实施例提供的一种报文传输装置的结构示意图。基于图13所示的如下多个模块,该图13所示的报文传输装置能够执行上述图3所示的通信装置的全部或部分操作。应理解到,该装置可以包括比所示模块更多的附加模块或者省略其中所示的一部分模块,本申请实施例对此并不进行限制。如图13所示,该装置包括:
获取模块1301,用于获取多个报文,多个报文包括第一报文;
设置模块1302,用于确定多个报文对应的多条传输路径,根据多条传输路径在多个报文中设置路径信息,任一报文中的路径信息用于指示传输多个报文的路径的变化和/或任一报文的传输路径,多条传输路径用于负载分摊多个报文;
发送模块1303,用于发送设置路径信息后的多个报文。
在一种可能的实现方式中,第一报文携带第一标识,设置模块1302,还用于在第一报文携带的第一标识与通信装置的网络位置匹配成功的情况下,执行根据多条传输路径在第一报文中设置路径信息的操作。
在一种可能的实现方式中,路径信息包括路径数量和路径标识中的至少一种,路径数量指示通信装置所在网络中支持负载分摊多个报文的多条传输路径的路径总数,路径标识指示用于传输携带路径信息的报文的传输路径。
在一种可能的实现方式中,设置模块1302,用于在第一报文中携带路径数量的初始值的情况下,根据路径数量的初始值和多条传输路径的数量更新路径数量的值;或者,在第一报文中未携带路径数量的初始值的情况下,将多条传输路径的数量作为路径数量的值添加在第一报文中。
在一种可能的实现方式中,路径数量的初始值根据通信装置和第一报文对应的上游装置之间连接的传输路径确定。
在一种可能的实现方式中,设置模块1302,用于确定用于传输第一报文的传输路径的参考标识,参考标识用于区分通信装置连接的多条传输路径中不同的传输路径;根据所确定的传输路径的参考标识在第一报文中设置路径标识,路径标识用于区分通信装置所在网络中的用于负载分摊多个报文的多条传输路径中不同的传输路径。
在一种可能的实现方式中,设置模块1302,用于在第一报文中携带路径标识的初始值的情况下,根据路径标识的初始值、参考标识的值和多条传输路径的数量更新第一报文中携带的路径标识的值;或者,在第一报文中未携带路径标识的初始值的情况下,将参考标识的值作为路径标识的值添加在第一报文中。
在一种可能的实现方式中,设置模块1302,用于检测通信装置连接的多条传输路径的路径运行情况;在任一传输路径的路径运行情况指示任一传输路径故障的情况下,根据故障的传输路径更新多条传输路径,根据更新后的多条传输路径确定多个报文对应的多条传输路径。
在一种可能的实现方式中,第一报文还携带第二标识,第二标识用于确定第一报文的负载分摊方式,设置模块1302,还用于在第二标识指示的负载分摊方式为逐包分摊的情况下,在多条传输路径中选择分别传输各个报文的传输路径;或者,在第二标识指示的负载分摊方式为逐流分摊的情况下,根据多个报文的流信息从多条传输路径中选择传输多个报文的一条传输路径。
在一种可能的实现方式中,第一报文还携带路径数量的初始值和路径标识的初始值,设置模块1302,还用于根据第一报文中携带的路径数量的初始值、路径标识的初始值和通信装置连接的传输路径的第一数量,确定用于传输第一报文的传输路径;通过确定的传输路径传输基于第一报文获取的第二报文。
在一种可能的实现方式中,设置模块1302,还用于根据第一数量更新第一报文中携带的路径数量的初始值和路径标识的初始值,得到第二报文。
在一种可能的实现方式中,路径数量的初始值和路径标识的初始值根据通信装置所在网络中的传输路径确定。
在一种可能的实现方式中,任一报文中的路径信息用于多个报文的接收装置确定多个报文是否存在传输异常。
上述装置在传输报文的过程中,通信装置会根据能传输报文的多条传输路径对报文进行路径标记,设置路径信息,以根据报文中携带的路径信息确定是否存在传输异常,从而在传输报文的过程中,可以及时发现传输异常。并且,通过传输路径上的通信装置的协同,实现传输检测任务的分摊,进而减少端侧的实现复杂度和资源代价,负载分摊更均匀,有效减少网络拥塞点,提高报文的传输性能。
本申请实施例还提供了另一种报文传输装置。图14是本申请实施例提供的一种报文传递装置的结构示意图。基于图14所示的如下多个模块,该图14所示的报文传输装置能够执行上述图3所示的接收装置的全部或部分操作。应理解到,该装置可以包括比所示模块更多的附加模块或者省略其中所示的一部分模块,本申请实施例对此并不进行限制。如图14所示,该装置包括:
接收模块1401,用于接收通信装置发送的多个报文;
检测模块1402,用于解析各个报文携带的路径信息,根据路径信息确定多个报文是否存在传输异常。
在一种可能的实现方式中,该装置还包括:发送模块,用于在多个报文存在传输异常的情况下,向多个报文的发送装置发送报文重传指令,报文重传指令指示发送装置重新传输多个报文中的至少一个报文。
在一种可能的实现方式中,路径信息包括路径数量和路径标识中的至少一种,检测模块1402,用于解析多个报文携带的路径数量和路径标识中的至少一种,得到路径数量和/或路径标识的解析结果;在路径数量和路径标识的任一种解析结果指示异常的情况下,确定多个报文存在传输异常。
在一种可能的实现方式中,检测模块1402,用于比较多个报文携带的路径数量;在多个报文携带的路径数量不同的情况下,确定路径数量的解析结果指示异常。
在一种可能的实现方式中,检测模块1402,用于根据接收到的报文的报文序号和路径标识,更新报文的传输路径的接收信息,接收信息用于统计传输路径上接收的报文;在传输路径的接收信息指示存在报文发生丢包的情况下,确定路径标识的解析结果指示异常。
在一种可能的实现方式中,检测模块1402,还用于根据各条传输路径的接收信息确定各条传输路径中未接收的报文的第一序号;根据各条传输路径的接收信息确定各条传输路径接收的报文中的最大报文序号;在第一序号小于各条传输路径对应的最大报文序号的情况下,确定第一序号对应的报文发生丢包。
在一种可能的实现方式中,报文重传指令包括发生丢包的报文的报文序号。
上述装置在接收报文后,可根据报文中的路径信息确定是否发生传输异常,检测过程简单,检测及时性高。
应理解的是,上述图13或图14提供的装置在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
参见图15,图15示出了本申请一个示例性实施例提供的网络设备1500的结构示意图。图15所示的网络设备1500用于执行上述图3所示的报文传输方法所涉及的操作。该网络设备1500例如是交换机、路由器等,该网络设备1500可以由一般性的总线体系结构来实现。
如图15所示,网络设备1500包括至少一个处理器1501、存储器1503以及至少一个通信接口1504。
处理器1501例如是通用中央处理器(central processing unit,CPU)、数字信号处理器(digital signal processor,DSP)、网络处理器(network processer,NP)、图形处理器(graphics processing unit,GPU)、神经网络处理器(neural-network processingunits,NPU)、数据处理单元(data processing unit,DPU)、微处理器或者一个或多个用于实现本申请方案的集成电路。例如,处理器1501包括专用集成电路(application-specificintegrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。PLD例如是复杂可编程逻辑器件(complex programmable logic device,CPLD)、现场可编程逻辑门阵列(field-programmable gate array,FPGA)、通用阵列逻辑(generic array logic,GAL)或其任意组合。其可以实现或执行结合本申请实施例公开内容所描述的各种逻辑方框、模块和电路。处理器也可以是实现计算功能的组合,例如包括一个或多个微处理器组合,DSP和微处理器的组合等等。
可选的,网络设备1500还包括总线。总线用于在网络设备1500的各组件之间传送信息。总线可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图15中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器1503例如是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其它类型的静态存储设备,又如是随机存取存储器(random access memory,RAM)或者可存储信息和指令的其它类型的动态存储设备,又如是电可擦可编程只读存储器(electrically erasable programmable read-only Memory,EEPROM)、只读光盘(compactdisc read-only memory,CD-ROM)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备,或者是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器1503例如是独立存在,并通过总线与处理器1501相连接。存储器1503也可以和处理器1501集成在一起。
通信接口1504使用任何收发器一类的装置,用于与其它设备或通信网络通信,通信网络可以为以太网、无线接入网(RAN)或无线局域网(wireless local area networks,WLAN)等。通信接口1504可以包括有线通信接口,还可以包括无线通信接口。具体的,通信接口1004可以为以太(Ethernet)接口、快速以太(fast ethernet,FE)接口、千兆以太(gigabit ethernet,GE)接口,异步传输模式(asynchronous transfer mode,ATM)接口,无线局域网(wireless local area networks,WLAN)接口,蜂窝网络通信接口或其组合。以太网接口可以是光接口,电接口或其组合。在本申请实施例中,通信接口1504可以用于网络设备1500与其他设备进行通信。
在具体实现中,作为一种实施例,处理器1501可以包括一个或多个CPU,如图15中所示的CPU0和CPU1。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,网络设备1500可以包括多个处理器,如图15中所示的处理器1501和处理器1505。这些处理器中的每一个可以是一个单核处理器(single-CPU),也可以是一个多核处理器(multi-CPU)。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,网络设备1500还可以包括输出设备和输入设备。输出设备和处理器1501通信,可以以多种方式来显示信息。例如,输出设备可以是液晶显示器(liquid crystal display,LCD)、发光二级管(light emitting diode,LED)显示设备、阴极射线管(cathode ray tube,CRT)显示设备或投影仪(projector)等。输入设备和处理器1001通信,可以以多种方式接收用户的输入。例如,输入设备可以是鼠标、键盘、触摸屏设备或传感设备等。
在一些实施例中,存储器1503用于存储执行本申请方案的程序代码1510,处理器1501可以执行存储器1503中存储的程序代码1510。也即是,网络设备1500可以通过处理器1501以及存储器1503中的程序代码1510,来实现方法实施例提供的报文传输方法。程序代码1510中可以包括一个或多个软件模块。可选地,处理器1501自身也可以存储执行本申请方案的程序代码或指令。
在具体实施例中,本申请实施例的网络设备1500可对应于上述各个方法实施例中的计算设备。
其中,图3所示的报文传输方法的各步骤通过网络设备1500的处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤,为避免重复,这里不再详细描述。
参见图16,图16示出了本申请另一个示例性实施例提供的网络设备1600的结构示意图,图16所示的网络设备1600用于执行上述图3所示的报文传输方法所涉及的全部或部分操作。该网络设备1600例如是交换机、路由器等,该网络设备1600可以由一般性的总线体系结构来实现。
如图16所示,网络设备1600包括:主控板1610和接口板1630。
主控板也称为主处理单元(main processing unit,MPU)或路由处理卡(routeprocessor card),主控板1610用于对网络设备1600中各个组件的控制和管理,包括路由计算、设备管理、设备维护、协议处理功能。主控板1610包括:中央处理器1611和存储器1612。
接口板1630也称为线路接口单元(line processing unit,LPU)、线卡(linecard)或业务板。接口板1630用于提供各种业务接口并实现数据包的转发。业务接口包括而不限于以太网接口、POS(Packet over SONET/SDH)接口等,以太网接口例如是灵活以太网业务接口(Flexible Ethernet Clients,FlexE Clients)。接口板1630包括:中央处理器1631、网络处理器1632、转发表项存储器1634和物理接口卡(physical interface card,PIC)1633。
接口板1630上的中央处理器1631用于对接口板1630进行控制管理并与主控板1610上的中央处理器1611进行通信。
网络处理器1632用于实现报文的转发处理。网络处理器1632的形态可以是转发芯片。转发芯片可以是网络处理器(network processor,NP)。在一些实施例中,转发芯片可以通过专用集成电路(application-specific integrated circuit,ASIC)或现场可编程门阵列(field programmable gate array,FPGA)实现。具体而言,网络处理器1632用于基于转发表项存储器1634保存的转发表转发接收到的报文,如果报文的目的地址为网络设备1600的地址,则将该报文上送至CPU(如中央处理器1631)处理;如果报文的目的地址不是网络设备1600的地址,则根据该目的地址从转发表中查找到该目的地址对应的下一跳和出接口,将该报文转发到该目的地址对应的出接口。其中,上行报文的处理可以包括:报文入接口的处理,转发表查找;下行报文的处理可以包括:转发表查找等等。在一些实施例中,中央处理器也可执行转发芯片的功能,比如基于通用CPU实现软件转发,从而接口板中不需要转发芯片。
物理接口卡1633用于实现物理层的对接功能,原始的流量由此进入接口板1630,以及处理后的报文从该物理接口卡1633发出。物理接口卡1633也称为子卡,可安装在接口板1630上,负责将光电信号转换为报文并对报文进行合法性检查后转发给网络处理器1632处理。在一些实施例中,中央处理器1631也可执行网络处理器1632的功能,比如基于通用CPU实现软件转发,从而物理接口卡1633中不需要网络处理器1632。
可选地,网络设备1600包括多个接口板,例如网络设备1600还包括接口板1640,接口板1640包括:中央处理器1641、网络处理器1642、转发表项存储器1644和物理接口卡1643。接口板1640中各部件的功能和实现方式与接口板1630相同或相似,在此不再赘述。
可选地,网络设备1600还包括交换网板1620。交换网板1620也可以称为交换网板单元(switch fabric unit,SFU)。在网络设备1600有多个接口板的情况下,交换网板1620用于完成各接口板之间的数据交换。例如,接口板1630和接口板1640之间可以通过交换网板1620通信。
主控板1610和接口板耦合。例如。主控板1610、接口板1630和接口板1640,以及交换网板1620之间通过系统总线与系统背板相连实现互通。在一种可能的实现方式中,主控板1610和接口板1630及接口板1640之间建立进程间通信协议(inter-processcommunication,IPC)通道,主控板1610和接口板1630及接口板1640之间通过IPC通道进行通信。
在逻辑上,网络设备1600包括控制面和转发面,控制面包括主控板1610和中央处理器1611,转发面包括执行转发的各个组件,比如转发表项存储器1634、物理接口卡1633和网络处理器1632。控制面执行路由器、生成转发表、处理信令和协议报文、配置与维护网络设备的状态等功能,控制面将生成的转发表下发给转发面,在转发面,网络处理器1632基于控制面下发的转发表对物理接口卡1633收到的报文查表转发。控制面下发的转发表可以保存在转发表项存储器1634中。在有些实施例中,控制面和转发面可以完全分离,不在同一网络设备上。
值得说明的是,主控板可能有一块或多块,有多块的时候可以包括主用主控板和备用主控板。接口板可能有一块或多块,网络设备的数据处理能力越强,提供的接口板越多。接口板上的物理接口卡也可以有一块或多块。交换网板可能没有,也可能有一块或多块,有多块的时候可以共同实现负荷分担冗余备份。在集中式转发架构下,网络设备可以不需要交换网板,接口板承担整个系统的业务数据的处理功能。在分布式转发架构下,网络设备可以有至少一块交换网板,通过交换网板实现多块接口板之间的数据交换,提供大容量的数据交换和处理能力。所以,分布式架构的网络设备的数据接入和处理能力要大于集中式架构的网络设备。可选地,网络设备的形态也可以是只有一块板卡,即没有交换网板,接口板和主控板的功能集成在该一块板卡上,此时接口板上的中央处理器和主控板上的中央处理器在该一块板卡上可以合并为一个中央处理器,执行两者叠加后的功能,这种形态网络设备的数据交换和处理能力较低(例如,低端交换机或路由器等网络设备)。具体采用哪种架构,取决于具体的组网部署场景,此处不做任何限定。
在具体实施例中,网络设备1600对应于上述图13或图14所示的报文传输装置。在一些实施例中,图13所示的报文传输装置中的设置模块1302相当于网络设备1600中的中央处理器1611或网络处理器1632。
本申请实施例还提供了一种通信装置,该装置包括:收发器、存储器和处理器。其中,该收发器、该存储器和该处理器通过内部连接通路互相通信,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,以控制收发器接收信号,并控制收发器发送信号,并且当该处理器执行该存储器存储的指令时,使得该处理器执行报文传输方法。
应理解的是,上述处理器可以是CPU,还可以是其他通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。值得说明的是,处理器可以是支持进阶精简指令集机器(advanced RISC machines,ARM)架构的处理器。
进一步地,在一种可选的实施例中,上述存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。
该存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是ROM、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、EEPROM或闪存。易失性存储器可以是RAM,其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用。例如,静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic random accessmemory,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(doubledata rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
本申请实施例还提供了一种报文传输设备,设备包括处理器,处理器用于加载并运行至少一条指令,以使报文传输设备实现本申请实施例提供的报文传输方法。可选地,设备还包括存储器,存储器与处理器耦合,存储器用于存储至少一条指令。
本申请实施例还提供了一种报文传输系统,该系统包括通信装置和接收装置,通信装置和接收装置用于交互执行本申请实施例提供的报文传输方法。
本申请实施例还提供了一种计算机可读存储介质,存储介质中存储有至少一条指令,指令由处理器加载并执行,以使计算机实现如上任一所述的报文传输方法。
本申请实施例还提供了一种计算机程序(产品),当计算机程序被计算机执行时,可以使得处理器或计算机执行上述方法实施例中对应的各个步骤和/或流程。
本申请实施例还提供了一种芯片,该芯片包括处理器,用于从存储器中调用并运行所述存储器中存储的指令,使得安装有所述芯片的通信设备执行如上任一所述的报文传输方法。
本申请实施例还提供另一种芯片,包括:输入接口、输出接口、处理器和存储器,所述输入接口、输出接口、所述处理器以及所述存储器之间通过内部连接通路相连,所述处理器用于执行所述存储器中的代码,当所述代码被执行时,所述处理器用于执行如上任一所述的报文传输方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid StateDisk)等。
需要说明的是,本申请所涉及的信息(包括但不限于用户设备信息、用户个人信息等)、数据(包括但不限于用于分析的数据、存储的数据、展示的数据等)以及信号,均为经用户授权或者经过各方充分授权的,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。例如,本申请中涉及到的第一报文等都是在充分授权的情况下获取的。
本领域普通技术人员可以意识到,结合本文中所公开的实施例中描述的各方法步骤和模块,能够以软件、硬件、固件或者其任意组合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各实施例的步骤及组成。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机程序指令。作为示例,本申请实施例的方法可以在机器可执行指令的上下文中被描述,机器可执行指令诸如包括在目标的真实或者虚拟处理器上的器件中执行的程序模块中。一般而言,程序模块包括例程、程序、库、对象、类、组件、数据结构等,其执行特定的任务或者实现特定的抽象数据结构。在各实施例中,程序模块的功能可以在所描述的程序模块之间合并或者分割。用于程序模块的机器可执行指令可以在本地或者分布式设备内执行。在分布式设备中,程序模块可以位于本地和远程存储介质二者中。
用于实现本申请实施例的方法的计算机程序代码可以用一种或多种编程语言编写。这些计算机程序代码可以提供给通用计算机、专用计算机或其他可编程的报文传输装置的处理器,使得程序代码在被计算机或其他可编程的报文传输装置执行的时候,引起在流程图和/或框图中规定的功能/操作被实施。程序代码可以完全在计算机上、部分在计算机上、作为独立的软件包、部分在计算机上且部分在远程计算机上或完全在远程计算机或服务器上执行。
在本申请实施例的上下文中,计算机程序代码或者相关数据可以由任意适当载体承载,以使得设备、装置或者处理器能够执行上文描述的各种处理和操作。载体的示例包括信号、计算机可读介质等等。
信号的示例可以包括电、光、无线电、声音或其它形式的传播信号,诸如载波、红外信号等。
机器可读介质可以是包含或存储用于或有关于指令执行系统、装置或设备的程序的任何有形介质。机器可读介质可以是机器可读信号介质或机器可读存储介质。机器可读介质可以包括但不限于电子的、磁的、光学的、电磁的、红外的或半导体系统、装置或设备,或其任意合适的组合。机器可读存储介质的更详细示例包括带有一根或多根导线的电气连接、便携式计算机磁盘、硬盘、随机存储存取器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、光存储设备、磁存储设备,或其任意合适的组合。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、设备和模块的具体工作过程,可以参见前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,该模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、设备或模块的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以是两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
该集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例中方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请中术语“第一”“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”、“第n”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。还应理解,尽管以下描述使用术语第一、第二等来描述各种元素,但这些元素不应受术语的限制。这些术语只是用于将一元素与另一元素区别分开。例如,在不脱离各种所述示例的范围的情况下,第一图像可以被称为第二图像,并且类似地,第二图像可以被称为第一图像。第一图像和第二图像都可以是图像,并且在某些情况下,可以是单独且不同的图像。
还应理解,在本申请的各个实施例中,各个过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本申请中术语“至少一个”的含义是指一个或多个,本申请中术语“多个”的含义是指两个或两个以上,例如,多个第二报文是指两个或两个以上的第二报文。本文中术语“系统”和“网络”经常可互换使用。
应理解,在本文中对各种所述示例的描述中所使用的术语只是为了描述特定示例,而并非旨在进行限制。如在对各种所述示例的描述和所附权利要求书中所使用的那样,单数形式“一个(“a”,“an”)”和“该”旨在也包括复数形式,除非上下文另外明确地指示。
还应理解,本文中所使用的术语“和/或”是指并且涵盖相关联的所列出的项目中的一个或多个项目的任何和全部可能的组合。术语“和/或”,是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本申请中的字符“/”,一般表示前后关联对象是一种“或”的关系。
还应理解,术语“包括”(也称“includes”、“including”、“comprises”和/或“comprising”)当在本说明书中使用时指定存在所陈述的特征、整数、步骤、操作、元素、和/或部件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元素、部件、和/或其分组。
还应理解,术语“若”和“如果”可被解释为意指“当...时”(“when”或“upon”)或“响应于确定”或“响应于检测到”。类似地,根据上下文,短语“若确定...”或“若检测到[所陈述的条件或事件]”可被解释为意指“在确定...时”或“响应于确定...”或“在检测到[所陈述的条件或事件]时”或“响应于检测到[所陈述的条件或事件]”。
应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
还应理解,说明书通篇中提到的“一个实施例”、“一实施例”、“一种可能的实现方式”意味着与实施例或实现方式有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”、“一种可能的实现方式”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
Claims (28)
1.一种报文传输方法,其特征在于,所述方法应用于通信装置,所述方法包括:
获取多个报文,所述多个报文包括第一报文;
确定所述多个报文对应的多条传输路径,根据所述多条传输路径在所述多个报文中设置路径信息,任一报文中的路径信息用于指示传输所述多个报文的路径的变化和/或所述任一报文的传输路径,所述多条传输路径用于负载分摊所述多个报文;
发送设置路径信息后的所述多个报文。
2.根据权利要求1所述的方法,其特征在于,所述第一报文携带第一标识,所述第一标识用于确定需要设置路径信息的网络位置,所述获取多个报文之后,还包括:
在所述第一报文携带的第一标识与所述通信装置的网络位置匹配成功的情况下,执行根据所述多条传输路径在所述第一报文中设置路径信息的操作。
3.根据权利要求1或2所述的方法,其特征在于,所述路径信息包括路径数量和路径标识中的至少一种,所述路径数量指示所述通信装置所在网络中支持负载分摊所述多个报文的多条传输路径的路径总数,所述路径标识指示用于传输携带所述路径信息的报文的传输路径。
4.根据权利要求3所述的方法,其特征在于,所述根据所述多条传输路径在所述多个报文中设置路径信息,包括:
在所述第一报文中携带路径数量的初始值的情况下,根据所述路径数量的初始值和所述多条传输路径的数量更新所述路径数量的值;
或者,在所述第一报文中未携带路径数量的初始值的情况下,将所述多条传输路径的数量作为所述路径数量的值添加在所述第一报文中。
5.根据权利要求4所述的方法,其特征在于,所述路径数量的初始值根据所述通信装置和所述第一报文对应的上游装置之间连接的传输路径确定。
6.根据权利要求3-5任一所述的方法,其特征在于,所述根据所述多条传输路径在所述多个报文中设置路径信息,包括:
确定用于传输所述第一报文的传输路径的参考标识,所述参考标识用于区分所述通信装置连接的多条传输路径中不同的传输路径;
根据所确定的传输路径的参考标识在所述第一报文中设置所述路径标识,所述路径标识用于区分所述通信装置所在网络中的用于负载分摊所述多个报文的多条传输路径中不同的传输路径。
7.根据权利要求6所述的方法,其特征在于,所述根据所确定的传输路径的参考标识在所述第一报文中设置所述路径标识,包括:
在所述第一报文中携带路径标识的初始值的情况下,根据所述路径标识的初始值、所述参考标识的值和所述多条传输路径的数量更新所述第一报文中携带的路径标识的值;
或者,在所述第一报文中未携带路径标识的初始值的情况下,将所述参考标识的值作为所述路径标识的值添加在所述第一报文中。
8.根据权利要求1-7任一所述的方法,其特征在于,所述确定所述多个报文对应的多条传输路径,包括:
检测所述通信装置连接的多条传输路径的路径运行情况;
在任一传输路径的路径运行情况指示所述任一传输路径故障的情况下,根据故障的传输路径更新所述多条传输路径,根据更新后的多条传输路径确定所述多个报文对应的多条传输路径。
9.根据权利要求1-8任一所述的方法,其特征在于,所述第一报文还携带第二标识,所述第二标识用于确定所述第一报文的负载分摊方式,所述发送设置路径信息后的所述多个报文之前,还包括:
在所述第二标识指示的负载分摊方式为逐包分摊的情况下,在所述多条传输路径中选择分别传输各个报文的传输路径;
或者,在所述第二标识指示的负载分摊方式为逐流分摊的情况下,根据所述多个报文的流信息从所述多条传输路径中选择传输所述多个报文的一条传输路径。
10.根据权利要求1或2所述的方法,其特征在于,所述第一报文还携带路径数量的初始值和路径标识的初始值,所述确定所述多个报文对应的多条传输路径之后,还包括:
根据所述第一报文中携带的所述路径数量的初始值、所述路径标识的初始值和所述通信装置连接的传输路径的第一数量,确定用于传输所述第一报文的传输路径;
通过确定的传输路径传输基于所述第一报文获取的第二报文。
11.根据权利要求10所述的方法,其特征在于,所述通过确定的传输路径传输基于所述第一报文获取的第二报文之前,还包括:
根据所述第一数量更新所述第一报文中携带的所述路径数量的初始值和所述路径标识的初始值,得到所述第二报文。
12.根据权利要求10或11所述的方法,其特征在于,所述路径数量的初始值和所述路径标识的初始值根据所述通信装置所在网络中的传输路径确定。
13.根据权利要求1至9任一所述的方法,其特征在于,所述任一报文中的路径信息用于所述多个报文的接收装置确定所述多个报文是否存在传输异常。
14.一种报文传输方法,其特征在于,所述方法应用于接收装置,所述方法包括:
接收通信装置发送的多个报文;
解析各个报文携带的路径信息,根据所述路径信息确定所述多个报文是否存在传输异常。
15.根据权利要求14所述的方法,其特征在于,所述方法还包括:
在所述多个报文存在传输异常的情况下,向所述多个报文的发送装置发送报文重传指令,所述报文重传指令指示所述发送装置重新传输所述多个报文中的至少一个报文。
16.根据权利要求14或15所述的方法,其特征在于,所述路径信息包括路径数量和路径标识中的至少一种,所述解析各个报文携带的路径信息,根据所述路径信息确定所述多个报文是否存在传输异常,包括:
解析所述多个报文携带的路径数量和路径标识中的至少一种,得到所述路径数量和/或所述路径标识的解析结果;
在所述路径数量和所述路径标识的任一种解析结果指示异常的情况下,确定所述多个报文存在传输异常。
17.根据权利要求16所述的方法,其特征在于,所述解析所述多个报文携带的路径数量和路径标识中的至少一种,得到所述路径数量和/或所述路径标识的解析结果,包括:
比较所述多个报文携带的路径数量;
在所述多个报文携带的路径数量不同的情况下,确定所述路径数量的解析结果指示异常。
18.根据权利要求16或17所述的方法,其特征在于,所述解析所述多个报文携带的路径数量和路径标识中的至少一种,得到所述路径数量和/或所述路径标识的解析结果,包括:
根据接收到的报文的报文序号和路径标识,更新所述报文的传输路径的接收信息,所述接收信息用于统计所述传输路径上接收的报文;
在所述传输路径的接收信息指示存在报文发生丢包的情况下,确定所述路径标识的解析结果指示异常。
19.根据权利要求18所述的方法,其特征在于,所述在所述传输路径的接收信息指示存在报文发生丢包的情况下,确定所述路径标识的解析结果指示异常之前,还包括:
根据所述各条传输路径的接收信息确定各条传输路径中未接收的报文的第一序号;
根据所述各条传输路径的接收信息确定所述各条传输路径接收的报文中的最大报文序号;
在第一序号小于所述各条传输路径对应的最大报文序号的情况下,确定所述第一序号对应的报文发生丢包。
20.根据权利要求18或19所述的方法,其特征在于,所述报文重传指令包括发生丢包的报文的报文序号。
21.一种报文传输装置,其特征在于,所述装置应用于通信装置,所述装置包括:
收发模块,用于执行权利要求1-13中任一所述的方法中由所述通信装置所执行的接收和/或发送相关的操作;
处理模块,用于执行权利要求1-13任一所述的方法中由所述通信装置所执行的接收和/或发送相关的操作之外的其他操作。
22.一种报文传输装置,其特征在于,所述装置应用于接收装置,所述装置包括:
收发模块,用于执行权利要求14-20任一所述的方法中由所述接收装置所执行的接收和/或发送相关的操作;
处理模块,用于执行权利要求14-20任一所述的方法中由所述接收装置所执行的接收和/或发送相关的操作之外的其他操作。
23.一种报文传输设备,其特征在于,所述设备包括处理器,所述处理器用于加载并执行至少一条指令,以使所述传输检测设备实现如权利要求1-13中任一所述的报文传输方法,或者实现如权利要求14-20中任一所述的报文传输方法。
24.根据权利要求23所述的设备,其特征在于,所述设备还包括存储器,所述存储器与所述处理器耦合,所述存储器中存储有所述至少一条指令。
25.一种报文传输系统,其特征在于,所述系统包括通信装置和接收装置,所述通信装置用于实现如权利要求1-13中任一所述的报文传输方法,所述接收装置用于实现如权利要求14-20中任一所述的报文传输方法。
26.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如权利要求1-13中任一所述的报文传输方法,或者实现如权利要求14-20中任一所述的报文传输方法。
27.一种芯片,其特征在于,所述芯片包括处理器,所述处理器用于运行程序指令或代码,使得包含所述芯片的设备执行如权利要求1-13中任一所述的报文传输方法,或者执行如权利要求14-20中任一所述的报文传输方法。
28.根据权利要求27所述的芯片,其特征在于,所述芯片还包括:输入接口、输出接口和存储器,所述输入接口、所述输出接口、所述处理器以及所述存储器之间通过内部连接通路相连,所述存储器包含所述程序指令或代码。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202311331888.2A CN119835209A (zh) | 2023-10-14 | 2023-10-14 | 报文传输方法、装置、设备及计算机可读存储介质 |
| PCT/CN2024/121095 WO2025077578A1 (zh) | 2023-10-14 | 2024-09-25 | 报文传输方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202311331888.2A CN119835209A (zh) | 2023-10-14 | 2023-10-14 | 报文传输方法、装置、设备及计算机可读存储介质 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN119835209A true CN119835209A (zh) | 2025-04-15 |
Family
ID=95306515
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202311331888.2A Pending CN119835209A (zh) | 2023-10-14 | 2023-10-14 | 报文传输方法、装置、设备及计算机可读存储介质 |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN119835209A (zh) |
| WO (1) | WO2025077578A1 (zh) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN120200962B (zh) * | 2025-05-21 | 2025-07-25 | 深圳华为云计算技术有限公司 | 报文传输方法、系统、网络设备及计算设备集群 |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101895409B (zh) * | 2009-05-18 | 2013-09-11 | 华为技术有限公司 | 多路径域中操作管理维护机制的处理方法、装置及系统 |
| CN101699786B (zh) * | 2009-10-15 | 2012-09-05 | 华为技术有限公司 | 一种丢包检测的方法、装置和系统 |
| CN111817955B (zh) * | 2019-04-12 | 2022-10-21 | 阿里巴巴集团控股有限公司 | 数据传输系统、方法、装置和设备 |
| CN114760243B (zh) * | 2020-12-25 | 2025-08-08 | 华为技术有限公司 | 报文传输方法、设备及系统 |
| US12375405B2 (en) * | 2021-03-09 | 2025-07-29 | Nokia Solutions And Networks Oy | Path congestion notification |
| CN116319535A (zh) * | 2021-12-21 | 2023-06-23 | 华为技术有限公司 | 路径切换方法、装置、网络设备、以及网络系统 |
| CN117955890A (zh) * | 2022-10-28 | 2024-04-30 | 华为技术有限公司 | 报文转发方法、装置、设备、存储介质及计算机程序 |
-
2023
- 2023-10-14 CN CN202311331888.2A patent/CN119835209A/zh active Pending
-
2024
- 2024-09-25 WO PCT/CN2024/121095 patent/WO2025077578A1/zh active Pending
Also Published As
| Publication number | Publication date |
|---|---|
| WO2025077578A1 (zh) | 2025-04-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP7313480B2 (ja) | スライスベースネットワークにおける輻輳回避 | |
| CN118118424A (zh) | 数据传输方法、装置、设备、系统及存储介质 | |
| CN118945244A (zh) | 数据传输方法、装置、设备及计算机可读存储介质 | |
| CN116781573A (zh) | 故障检测方法、装置、设备、系统及计算机可读存储介质 | |
| CN119835209A (zh) | 报文传输方法、装置、设备及计算机可读存储介质 | |
| US10305787B2 (en) | Dropping cells of a same packet sent among multiple paths within a packet switching device | |
| CN116962161A (zh) | 路径检测方法、装置、系统及计算机可读存储介质 | |
| EP4277226A1 (en) | Packet transmission method, transmission control method, apparatus, and system | |
| CN118869564A (zh) | 报文传输方法、装置、设备及计算机可读存储介质 | |
| CN111147386B (zh) | 用于处理数据传输拥塞的方法、电子设备和计算机可读介质 | |
| WO2022042403A1 (zh) | 生成路由信息、发送位置信息及转发报文的方法及设备 | |
| CN121486273A (zh) | 数据流传输方法、系统、装置及设备 | |
| US12526237B2 (en) | System and method for determining flow specification rules for communication packets | |
| CN120583046A (zh) | 拥塞信息的通知方法、装置及系统 | |
| EP4542955A1 (en) | Method for sending load information, method for sending message, and apparatus | |
| CN119629036A (zh) | 故障定位方法、装置、设备、系统及存储介质 | |
| CN120835027A (zh) | 报文转发方法、通信节点、通信系统及相关产品 | |
| US20240223502A1 (en) | Capability obtaining method, apparatus, and system, capability information sending method and apparatus, and storage medium | |
| CN120186053A (zh) | 通道检测方法、装置、设备及计算机可读存储介质 | |
| CN120050152A (zh) | 代理节点的确定方法、装置、设备及存储介质 | |
| CN117376259A (zh) | 负载均衡的方法、装置、设备、系统及存储介质 | |
| CN120050226A (zh) | 报文传输方法、装置、设备、系统及存储介质 | |
| CN119728574A (zh) | 报文传输方法、装置、设备及计算机可读存储介质 | |
| CN120750856A (zh) | 流量转发方法、装置、设备、介质及程序产品 | |
| CN121334056A (zh) | 拥塞通告报文的发送方法及相关装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication |