[go: up one dir, main page]

CN116866249A - Communication system, data processing method and related equipment - Google Patents

Communication system, data processing method and related equipment Download PDF

Info

Publication number
CN116866249A
CN116866249A CN202310849228.7A CN202310849228A CN116866249A CN 116866249 A CN116866249 A CN 116866249A CN 202310849228 A CN202310849228 A CN 202310849228A CN 116866249 A CN116866249 A CN 116866249A
Authority
CN
China
Prior art keywords
service
path
paths
data packet
forwarding
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
Application number
CN202310849228.7A
Other languages
Chinese (zh)
Inventor
毛修斌
刘永锋
潘恬
贾晨昊
许呈
罗政杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
XFusion Digital Technologies Co Ltd
Original Assignee
XFusion Digital Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by XFusion Digital Technologies Co Ltd filed Critical XFusion Digital Technologies Co Ltd
Priority to CN202310849228.7A priority Critical patent/CN116866249A/en
Publication of CN116866249A publication Critical patent/CN116866249A/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/124Shortest path evaluation using a combination of metrics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • H04L45/243Multipath using M+N parallel active paths
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/34Source routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/80Ingress point selection by the source endpoint, e.g. selection of ISP or POP

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请实施例公开了一种通信系统、数据处理方法以及相关设备,可以应用于数据中心网络或私有云网络等。本申请实施例中的通信系统包括:第一设备、转发设备、控制器以及第二设备,其中,第一设备,用于根据通信路径生成第一数据包,第一数据包包括源路由SR标签以及指示信息,SR标签用于通信路径上转发设备之间的通信,指示信息用于指示转发设备采集网络状态参数;第一设备,还用于向转发设备发送第一数据包,可以使得转发设备采集网络状态参数。转发设备,用于根据SR标签向第二设备发送第二数据包,有利于后续确定通信路径中网络性能较好的目标路径。

The embodiments of this application disclose a communication system, a data processing method and related equipment, which can be applied to data center networks or private cloud networks, etc. The communication system in the embodiment of the present application includes: a first device, a forwarding device, a controller, and a second device, wherein the first device is configured to generate a first data packet according to the communication path, and the first data packet includes a source routing SR label. and indication information. The SR label is used for communication between forwarding devices on the communication path, and the indication information is used to instruct the forwarding device to collect network status parameters; the first device is also used to send the first data packet to the forwarding device, which can cause the forwarding device to Collect network status parameters. The forwarding device is configured to send the second data packet to the second device according to the SR label, which is beneficial to subsequent determination of a target path with better network performance among the communication paths.

Description

一种通信系统、数据处理方法以及相关设备A communication system, data processing method and related equipment

本申请为2020年9月8日提交中国专利局、申请号为202010934858.0、申请名称为“一种通信系统、数据处理方法以及相关设备”的中国专利申请的分案申请,其全部内容通过引用结合在本申请中。This application is a divisional application of the Chinese patent application filed with the China Patent Office on September 8, 2020, with application number 202010934858.0 and application name “A communication system, data processing method and related equipment”, all contents of which are incorporated by reference in this application.

技术领域Technical Field

本申请实施例涉及通信领域,尤其涉及一种一种通信系统、数据处理方法以及相关设备The present invention relates to the field of communications, and more particularly to a communication system, a data processing method, and related devices.

背景技术Background Art

等价多路径路由(Equal-Cost Multi-Path Routing,ECMP)是一种逐跳的基于流的负载均衡策略。当某条流存在多条可选路径时,ECMP可以采用多种策略来进行选路,实现一定程度的负载均衡。Equal-Cost Multi-Path Routing (ECMP) is a hop-by-hop flow-based load balancing strategy. When there are multiple optional paths for a flow, ECMP can use multiple strategies to select the path and achieve a certain degree of load balancing.

目前,ECMP的选路策略主要包括:基于哈希(例如,根据五元组的哈希为流选择路径)、轮询(即各个流在多条路径之间轮询传输)、基于路径权重(即权重大的路径分配的流数量更多)。At present, ECMP routing strategies mainly include: hash-based (for example, selecting a path for a flow based on the hash of a five-tuple), round-robin (i.e., each flow is transmitted in round-robin fashion between multiple paths), and path weight-based (i.e., paths with larger weights are assigned more flows).

但是,当不同流之间差异较大,例如大象流和老鼠流同时存在时,ECMP无法合理地为不同流安排路径。However, when there are large differences between different flows, such as when elephant flows and mouse flows exist at the same time, ECMP cannot reasonably arrange paths for different flows.

发明内容Summary of the invention

本申请实施例提供了一种通信系统、数据处理方法以及相关设备。用于通过网络状态参数确定合适的通信路径。The embodiment of the present application provides a communication system, a data processing method and related devices, which are used to determine a suitable communication path through network status parameters.

本申请实施例第一方面提供了一种通信系统,该通信系统包括:控制器、第一设备、转发设备以及第二设备;控制器,用于确定通信路径,通信路径用于第一设备与第二设备通信;控制器,还用于向第一设备发送通信路径;第一设备,用于根据通信路径生成第一数据包,第一数据包包括指示信息,指示信息用于指示转发设备采集网络状态参数;第一设备,还用于向转发设备发送第一数据包;转发设备,用于根据指示信息采集网络状态参数,网络状态参数与转发设备一一对应;转发设备,还用于在第一数据包中增加网络状态参数得到第二数据包;转发设备,还用于向第二设备发送第二数据包;第二设备,用于根据第二数据包向控制器发送探测报告,探测报告用于确定通信路径中的目标路径。A first aspect of an embodiment of the present application provides a communication system, which includes: a controller, a first device, a forwarding device and a second device; the controller is used to determine a communication path, and the communication path is used for the first device to communicate with the second device; the controller is also used to send the communication path to the first device; the first device is used to generate a first data packet according to the communication path, and the first data packet includes indication information, and the indication information is used to instruct the forwarding device to collect network status parameters; the first device is also used to send the first data packet to the forwarding device; the forwarding device is used to collect network status parameters according to the indication information, and the network status parameters correspond to the forwarding device one-to-one; the forwarding device is also used to add the network status parameters to the first data packet to obtain a second data packet; the forwarding device is also used to send the second data packet to the second device; the second device is used to send a detection report to the controller according to the second data packet, and the detection report is used to determine the target path in the communication path.

本申请实施例中,第一设备,用于根据通信路径生成第一数据包,第一数据包包括源路由SR标签以及指示信息,SR标签用于通信路径上转发设备之间的通信,指示信息用于指示转发设备采集网络状态参数;第一设备,还用于向转发设备发送第一数据包,可以使得转发设备采集网络状态参数。转发设备,用于根据SR标签向第二设备发送第二数据包,有利于后续确定通信路径中网络性能较好的目标路径。In the embodiment of the present application, the first device is used to generate a first data packet according to the communication path, the first data packet includes a source routing SR label and indication information, the SR label is used for communication between forwarding devices on the communication path, and the indication information is used to instruct the forwarding device to collect network status parameters; the first device is also used to send the first data packet to the forwarding device, so that the forwarding device can collect network status parameters. The forwarding device is used to send a second data packet to the second device according to the SR label, which is conducive to the subsequent determination of the target path with better network performance in the communication path.

可选地,在第一方面的一种可能的实现方式中,上述的第一数据包还包括源路由SR标签,SR标签用于通信路径上转发设备的通信;转发设备,具体用于在删除SR标签的第一数据包中增加网络状态参数得到第二数据包;转发设备,具体用于根据SR标签向第二设备发送第二数据包。Optionally, in a possible implementation of the first aspect, the above-mentioned first data packet also includes a source routing SR label, and the SR label is used for communication of a forwarding device on a communication path; the forwarding device is specifically used to add a network status parameter to the first data packet from which the SR label is deleted to obtain a second data packet; the forwarding device is specifically used to send the second data packet to the second device according to the SR label.

该种可能的实现方式中,第一设备生成的第一数据包中还包括SR标签,使得转发设备在采集网络状态参数之后,直接在删除SR标签的第一数据包中增加网络状态参数得到第二数据包,转发设备,用于根据SR标签向第二设备发送第二数据包。使得转发设备不用做任何查表操作,可以实现极低的转发时延。In this possible implementation, the first data packet generated by the first device also includes an SR label, so that after collecting the network status parameters, the forwarding device directly adds the network status parameters to the first data packet from which the SR label is deleted to obtain a second data packet, and the forwarding device is used to send the second data packet to the second device according to the SR label. This allows the forwarding device to achieve extremely low forwarding latency without having to perform any table lookup operations.

可选地,在第一方面的一种可能的实现方式中,上述的在通信路径包括多个转发设备的情况下,SR标签为多个,转发设备,具体用于在删除自身对应的SR标签的第一数据包中增加网络状态参数得到第二数据包,第二数据包包括下一跳转发设备的SR标签。Optionally, in a possible implementation of the first aspect, in the case where the communication path includes multiple forwarding devices, the SR labels are multiple, and the forwarding device is specifically used to add a network status parameter to a first data packet in which the SR label corresponding to itself is deleted to obtain a second data packet, and the second data packet includes the SR label of the next-hop forwarding device.

该种可能的实现方式中,当转发设备是多个时,每个转发设备只删除自身对应的SR标签,使得SR标签不重复使用,每一个转发设备可以简单确定哪个SR标签是自身的,不用附加的索引来指示转发设备对应的SR标签,减少数据包的字节数。In this possible implementation, when there are multiple forwarding devices, each forwarding device only deletes the SR label corresponding to itself, so that the SR label is not reused. Each forwarding device can simply determine which SR label is its own, without the need for an additional index to indicate the SR label corresponding to the forwarding device, thereby reducing the number of bytes of the data packet.

可选地,在第一方面的一种可能的实现方式中,上述的SR标签包括转发设备的出端口号。Optionally, in a possible implementation manner of the first aspect, the SR label includes an egress port number of a forwarding device.

该种可能的实现方式中,第一设备生成的第一数据包中还包括SR标签,使得转发设备在解析到第一数据包中的SR标签之后,直接将第一数据包转发到对应的出端口,期间不做任何查表操作,可以实现极低的转发时延。In this possible implementation, the first data packet generated by the first device also includes an SR label, so that after the forwarding device parses the SR label in the first data packet, it directly forwards the first data packet to the corresponding egress port without performing any table lookup operation, thereby achieving extremely low forwarding delay.

可选地,在第一方面的一种可能的实现方式中,上述的探测报告包括网络状态参数;控制器,还用于根据网络状态参数确定网络指标信息;控制器,还用于向第一设备发送网络指标信息;第一设备,还用于根据网络指标信息确定通信路径中的目标路径。Optionally, in a possible implementation of the first aspect, the above-mentioned detection report includes network status parameters; the controller is also used to determine network indicator information based on the network status parameters; the controller is also used to send network indicator information to the first device; the first device is also used to determine the target path in the communication path based on the network indicator information.

该种可能的实现方式中,控制器可以计算网络指标信息,第一设备可以根据网络指标信息确定目标路径。一方面:可以使得第一设备可以通过网络性能较好的目标路径与第二设备进行通信,提高第一设备与第二设备通信质量及效率。另一方面:第一设备确定目标路径,在网络拓扑复杂的情况下,即第一设备为多个时,减少控制器确定目标路径所带来的内存消耗。In this possible implementation, the controller can calculate the network indicator information, and the first device can determine the target path based on the network indicator information. On the one hand, the first device can communicate with the second device through the target path with better network performance, thereby improving the communication quality and efficiency between the first device and the second device. On the other hand, the first device determines the target path, and in the case of complex network topology, that is, when there are multiple first devices, the memory consumption caused by the controller determining the target path is reduced.

可选地,在第一方面的一种可能的实现方式中,上述的探测报告包括网络状态参数;控制器,还用于根据网络状态参数确定网络指标信息;控制器,还用于根据网络指标信息确定通信路径中的目标路径;控制器,还用于向第一设备发送目标路径。Optionally, in a possible implementation of the first aspect, the above-mentioned detection report includes network status parameters; the controller is also used to determine network indicator information based on the network status parameters; the controller is also used to determine the target path in the communication path based on the network indicator information; the controller is also used to send the target path to the first device.

该种可能的实现方式中,控制器可以计算网络指标信息,并根据网络指标信息确定目标路径。控制器向第一设备发送目标路径。一方面:可以使得第一设备可以通过网络性能较好的目标路径与第二设备进行通信,提高第一设备与第二设备通信质量及效率。另一方面:控制器确定目标路径,有利于控制器掌握网络拓扑中各个通信路径的网络性能。In this possible implementation, the controller can calculate network indicator information and determine the target path based on the network indicator information. The controller sends the target path to the first device. On the one hand, the first device can communicate with the second device through the target path with better network performance, thereby improving the communication quality and efficiency between the first device and the second device. On the other hand, the controller determines the target path, which helps the controller to grasp the network performance of each communication path in the network topology.

可选地,在第一方面的一种可能的实现方式中,上述的探测报告包括网络状态参数;控制器,还用于向第一设备发送网络状态参数;第一设备,还用于根据网络状态参数确定网络指标信息;第一设备,还用于根据网络指标信息确定通信路径中的目标路径。Optionally, in a possible implementation of the first aspect, the above-mentioned detection report includes network status parameters; the controller is also used to send the network status parameters to the first device; the first device is also used to determine network indicator information based on the network status parameters; the first device is also used to determine the target path in the communication path based on the network indicator information.

该种可能的实现方式中,第一设备可以计算网络指标信息,第一设备可以根据网络指标信息确定目标路径。一方面:可以使得第一设备可以通过网络性能较好的目标路径与第二设备进行通信,提高第一设备与第二设备通信质量及效率。另一方面:第一设备计算网络指标信息以及确定目标路径,在网络拓扑复杂的情况下,即第一设备为多个时,减少控制器计算网络指标信息以及确定目标路径所带来的内存消耗。In this possible implementation, the first device can calculate network indicator information, and the first device can determine the target path based on the network indicator information. On the one hand: it can enable the first device to communicate with the second device through a target path with better network performance, thereby improving the communication quality and efficiency between the first device and the second device. On the other hand: the first device calculates the network indicator information and determines the target path, and in the case of a complex network topology, that is, when there are multiple first devices, it reduces the memory consumption caused by the controller calculating the network indicator information and determining the target path.

可选地,在第一方面的一种可能的实现方式中,上述的网络状态参数包括转发设备的入端口时间戳以及转发设备的出端口时间戳,或网络状态参数包括转发设备的出端口数据包字节总数,网络指标信息包括转发设备的平均带宽值、传输时延或误码率中的至少一种。Optionally, in a possible implementation of the first aspect, the above-mentioned network status parameters include the inbound port timestamp of the forwarding device and the outbound port timestamp of the forwarding device, or the network status parameters include the total number of bytes of outbound port data packets of the forwarding device, and the network indicator information includes at least one of the average bandwidth value, transmission delay or bit error rate of the forwarding device.

可选地,在第一方面的一种可能的实现方式中,上述通信系统中的第一设备,还用于使用目标路径向第二设备发送业务数据包,业务数据包用于传输第一设备与第二设备之间的业务信息。Optionally, in a possible implementation manner of the first aspect, the first device in the above-mentioned communication system is further used to send a service data packet to the second device using the target path, and the service data packet is used to transmit service information between the first device and the second device.

该种可能的实现方式中,第一设备可以通过网络性能较好的目标路径与第二设备进行业务通信,提高第一设备与第二设备之间业务通信的质量及效率。In this possible implementation, the first device can perform service communication with the second device through a target path with better network performance, thereby improving the quality and efficiency of service communication between the first device and the second device.

本申请实施例第二方面提供了一种数据处理方法,该处理方法可以由第一设备执行,也可以由第一设备的部件(例如处理器、芯片、或芯片系统等)执行。该方法包括:第一设备获取通信路径,通信路径用于第一设备与第二设备通信;第一设备根据通信路径生成第一数据包,第一数据包包括指示信息,指示信息用于指示通信路径上的转发设备采集网络状态参数;第一设备向转发设备发送第一数据包,第一数据包用于确定通信路径中的目标路径。The second aspect of the embodiment of the present application provides a data processing method, which can be executed by a first device or by a component of the first device (such as a processor, a chip, or a chip system, etc.). The method includes: the first device obtains a communication path, and the communication path is used for the first device to communicate with the second device; the first device generates a first data packet according to the communication path, and the first data packet includes indication information, and the indication information is used to instruct the forwarding device on the communication path to collect network status parameters; the first device sends a first data packet to the forwarding device, and the first data packet is used to determine the target path in the communication path.

本申请实施例中,第一设备根据通信路径生成第一数据包,并通过指示信息指示通信路径上的转发设备采集网络状态参数,使得第一数据包可以用于确定目标路径。即可以通过网络性能确定第一设备与第二设备通信的通信路径,进一步提高第一设备与第二设备之间通信的质量及效率。In the embodiment of the present application, the first device generates a first data packet according to the communication path, and instructs the forwarding device on the communication path to collect network status parameters through indication information, so that the first data packet can be used to determine the target path. That is, the communication path between the first device and the second device can be determined by network performance, further improving the quality and efficiency of communication between the first device and the second device.

可选地,在第二方面的一种可能的实现方式中,上述步骤还包括:第一设备获取网络指标信息,网络指标信息由网络状态参数处理得到;第一设备根据网络指标信息确定通信路径中的目标路径。Optionally, in a possible implementation manner of the second aspect, the above steps also include: the first device obtains network indicator information, and the network indicator information is obtained by processing network status parameters; the first device determines the target path in the communication path based on the network indicator information.

该种可能的实现方式中,以通过网络性能确定第一设备与第二设备通信的通信路径,进一步提高第一设备与第二设备之间通信的质量及效率。In this possible implementation, the communication path between the first device and the second device is determined by network performance, so as to further improve the quality and efficiency of the communication between the first device and the second device.

可选地,在第二方面的一种可能的实现方式中,上述步骤中的第一设备获取网络指标信息,包括:第一设备接收控制器发送的网络指标信息。Optionally, in a possible implementation manner of the second aspect, the first device in the above step obtains the network indicator information, including: the first device receives the network indicator information sent by the controller.

该种可能的实现方式中,第一设备接收控制器发送的网络指标信息,使得控制器可以掌握网络拓扑中各个通信路径的网络性能。In this possible implementation, the first device receives the network indicator information sent by the controller, so that the controller can understand the network performance of each communication path in the network topology.

可选地,在第二方面的一种可能的实现方式中,上述步骤中的第一设备获取网络指标信息,包括:第一设备接收控制器发送的网络状态参数;第一设备计算网络状态参数得到网络指示信息。Optionally, in a possible implementation manner of the second aspect, the first device in the above steps obtains network indicator information, including: the first device receives network status parameters sent by the controller; the first device calculates the network status parameters to obtain network indication information.

该种可能的实现方式中,第一设备计算网络指标信息。一方面:可以使得第一设备可以通过网络性能较好的目标路径与第二设备进行通信,提高第一设备与第二设备通信质量及效率。另一方面:第一设备计算网络指标信息,在网络拓扑复杂的情况下,即第一设备为多个时,减少控制器计算网络指标信息所带来的内存消耗。In this possible implementation, the first device calculates network indicator information. On the one hand, the first device can communicate with the second device through a target path with better network performance, thereby improving the communication quality and efficiency between the first device and the second device. On the other hand, the first device calculates network indicator information, and in the case of a complex network topology, that is, when there are multiple first devices, the memory consumption caused by the controller calculating the network indicator information is reduced.

可选地,在第二方面的一种可能的实现方式中,上述步骤还包括:第一设备使用目标路径向第二设备发送业务数据包,业务数据包用于传输第一设备与第二设备之间的业务信息。Optionally, in a possible implementation manner of the second aspect, the above steps also include: the first device sends a service data packet to the second device using the target path, where the service data packet is used to transmit service information between the first device and the second device.

该种可能的实现方式中,第一设备可以通过网络性能较好的目标路径与第二设备进行业务通信,提高第一设备与第二设备之间业务通信的质量及效率。In this possible implementation, the first device can perform service communication with the second device through a target path with better network performance, thereby improving the quality and efficiency of service communication between the first device and the second device.

可选地,在第二方面的一种可能的实现方式中,上述步骤中的网络状态参数包括转发设备的入端口时间戳以及转发设备的出端口时间戳,或网络状态参数包括转发设备的出端口数据包字节总数,网络指标信息包括转发设备的平均带宽值、传输时延或误码率中的至少一种。Optionally, in a possible implementation of the second aspect, the network status parameters in the above steps include the inbound port timestamp of the forwarding device and the outbound port timestamp of the forwarding device, or the network status parameters include the total number of bytes of outbound port data packets of the forwarding device, and the network indicator information includes at least one of the average bandwidth value, transmission delay or bit error rate of the forwarding device.

可选地,在第二方面的一种可能的实现方式中,上述步骤中的第一设备获取网络指标信息,包括:第一设备采用下述方式计算网络指标信息:Optionally, in a possible implementation manner of the second aspect, the first device in the above step obtains the network indicator information, including: the first device calculates the network indicator information in the following manner:

其中,字节总数当前值包括第一数据包的字节值,字节总数历史值包括上次数据包的字节值或0,出端口时间戳当前值包括第一数据包出端口时的时间戳,出端口时间戳历史值包括上次数据包出端口时的时间戳或0。Among them, the current value of the total number of bytes includes the byte value of the first data packet, the historical value of the total number of bytes includes the byte value of the last data packet or 0, the current value of the port outbound timestamp includes the timestamp when the first data packet leaves the port, and the historical value of the port outbound timestamp includes the timestamp when the last data packet leaves the port or 0.

该种可能的实现方式中,提供一种具体计算网络指标信息的方式。In this possible implementation, a specific method for calculating network indicator information is provided.

可选地,在第二方面的一种可能的实现方式中,上述步骤中的第一设备获取网络指标信息,包括:第一设备计算转发设备的传输时延,传输时延为第一数据包入端口时间戳与第一数据包出端口时间戳的差值。Optionally, in a possible implementation of the second aspect, the first device in the above steps obtains network indicator information, including: the first device calculates the transmission delay of the forwarding device, and the transmission delay is the difference between the first data packet input port timestamp and the first data packet output port timestamp.

该种可能的实现方式中,可以通过传输时延确定目标路径提高第一设备与第二设备之间通信的传输效率。In this possible implementation, the transmission efficiency of the communication between the first device and the second device can be improved by determining the target path through the transmission delay.

可选地,在第二方面的一种可能的实现方式中,上述步骤还包括:第一设备接收第三设备发送的第三数据包,第三数据包包括第一设备与第三设备之间通信路径上转发设备的网络状态参数,第三数据包用于确定通信路径中的目标路径。Optionally, in a possible implementation of the second aspect, the above steps also include: the first device receives a third data packet sent by a third device, the third data packet includes network status parameters of a forwarding device on a communication path between the first device and the third device, and the third data packet is used to determine a target path in the communication path.

该种可能的实现方式中,当第一设备为接收端时,第一设备通过第三数据包可以确定第一设备与第三设备之间通信路径中的目标路径,使得第一设备可以通过网络性能较好的目标路径与第三设备进行通信。In this possible implementation, when the first device is a receiving end, the first device can determine the target path in the communication path between the first device and the third device through the third data packet, so that the first device can communicate with the third device through the target path with better network performance.

可选地,在第二方面的一种可能的实现方式中,上述步骤中的第一数据包还包括源路由SR标签,SR标签用于转发设备的通信。Optionally, in a possible implementation manner of the second aspect, the first data packet in the above step further includes a source routing SR label, and the SR label is used for communication of the forwarding device.

该种可能的实现方式中,转发设备接收第一设备发送的第一数据包之后,可以根据第一数据包中的SR标签确定通信路径上的下一跳设备,使得转发设备不用做任何查表操作,可以实现极低的转发时延。In this possible implementation, after the forwarding device receives the first data packet sent by the first device, it can determine the next-hop device on the communication path according to the SR label in the first data packet, so that the forwarding device does not need to perform any table lookup operation and can achieve extremely low forwarding delay.

可选地,在第二方面的一种可能的实现方式中,上述步骤中的SR标签包括转发设备的出端口号。Optionally, in a possible implementation manner of the second aspect, the SR label in the above step includes an egress port number of the forwarding device.

该种可能的实现方式中,SR标签包括转发设备的出端口号,使得转发设备接收第一设备发送的第一数据包之后,可以根据第一数据包中的SR标签确定该转发设备的出端口号,即可以确定通信路径上的下一跳设备,使得转发设备不用做任何查表操作,可以实现极低的转发时延。In this possible implementation, the SR label includes the egress port number of the forwarding device, so that after the forwarding device receives the first data packet sent by the first device, it can determine the egress port number of the forwarding device according to the SR label in the first data packet, that is, it can determine the next-hop device on the communication path, so that the forwarding device does not need to perform any table lookup operation, and can achieve extremely low forwarding delay.

可选地,在第二方面的一种可能的实现方式中,上述步骤中的第一数据包用于获取网络状态参数,和/或第一数据包用于传输第一设备与第二设备之间的业务信息。Optionally, in a possible implementation manner of the second aspect, the first data packet in the above step is used to obtain network status parameters, and/or the first data packet is used to transmit service information between the first device and the second device.

该种可能的实现方式中,第一设备课可以通过上述方法完成探测包或业务数据包实时采集网络状态参数,进而确定更合适的目标路径。In this possible implementation, the first device may use the above method to complete the real-time collection of network status parameters using a detection packet or a service data packet, and then determine a more appropriate target path.

可选地,在第二方面的一种可能的实现方式中,上述步骤中的第一设备获取通信路径,包括:第一设备接收控制器发送的通信路径。Optionally, in a possible implementation manner of the second aspect, the first device in the above step obtains the communication path, including: the first device receives the communication path sent by the controller.

该种可能的实现方式中,通过控制器确定通信路径后发送给第一设备,减少第一设备通过计算确定通信路径带来的内存消耗。In this possible implementation, the communication path is determined by the controller and then sent to the first device, thereby reducing the memory consumption caused by the first device determining the communication path through calculation.

本申请实施例第三方面提供了一种数据处理方法,该处理方法可以由转发设备执行,也可以由转发设备的部件(例如处理器、芯片、或芯片系统等)执行。该方法包括:转发设备接收来自第一设备的第一数据包,第一数据包指示信息,指示信息用于指示转发设备采集网络状态参数,网络状态参数与转发设备相关;转发设备根据指示信息采集网络状态参数,得到第二数据包;转发设备向第二设备发送第二数据包。The third aspect of the embodiment of the present application provides a data processing method, which can be executed by a forwarding device or by a component of the forwarding device (such as a processor, a chip, or a chip system, etc.). The method includes: the forwarding device receives a first data packet from a first device, the first data packet indication information, the indication information is used to instruct the forwarding device to collect network status parameters, and the network status parameters are related to the forwarding device; the forwarding device collects the network status parameters according to the indication information to obtain a second data packet; the forwarding device sends the second data packet to the second device.

该种可能的实现方式中,转发设备可以根据第一数据包中的指示信息采集网络状态参数,得到第二数据包。并向第二设备发送第二数据包,使得第二设备获知转发设备的网络状态参数。In this possible implementation, the forwarding device may collect network status parameters according to the indication information in the first data packet to obtain a second data packet, and send the second data packet to the second device so that the second device learns the network status parameters of the forwarding device.

可选地,在第三方面的一种可能的实现方式中,上述步骤中的第一数据包还包括源路由SR标签,SR标签与转发设备对应,SR标签用于转发设备的通信;转发设备根据指示信息采集网络状态参数,得到第二数据包,包括:转发设备采集网络状态参数;转发设备在删除SR标签的第一数据包中增加网络状态参数得到第二数据包;转发设备向第二设备发送第二数据包,包括:转发设备根据SR标签向第二设备发送第二数据包。Optionally, in a possible implementation of the third aspect, the first data packet in the above steps also includes a source routing SR label, the SR label corresponds to a forwarding device, and the SR label is used for communication of the forwarding device; the forwarding device collects network status parameters according to the indication information to obtain a second data packet, including: the forwarding device collects network status parameters; the forwarding device adds the network status parameters to the first data packet from which the SR label is deleted to obtain the second data packet; the forwarding device sends the second data packet to the second device, including: the forwarding device sends the second data packet to the second device according to the SR label.

该种可能的实现方式中,转发设备在采集网络状态参数之后,直接在删除SR标签的第一数据包中增加网络状态参数得到第二数据包,转发设备,用于根据SR标签向第二设备发送第二数据包。使得转发设备不用做任何查表操作,可以实现极低的转发时延。In this possible implementation, after collecting the network status parameters, the forwarding device directly adds the network status parameters to the first data packet with the SR label deleted to obtain a second data packet, and the forwarding device is used to send the second data packet to the second device according to the SR label. This makes it unnecessary for the forwarding device to perform any table lookup operation, and can achieve extremely low forwarding delay.

可选地,在第三方面的一种可能的实现方式中,上述步骤中的SR标签包括转发设备的出端口号。Optionally, in a possible implementation manner of the third aspect, the SR label in the above step includes an egress port number of a forwarding device.

该种可能的实现方式中,SR标签包括转发设备的出端口号,使得转发设备接收第一设备发送的第一数据包之后,可以根据第一数据包中的SR标签确定该转发设备的出端口号,即可以确定通信路径上的下一跳设备,使得转发设备不用做任何查表操作,可以实现极低的转发时延。In this possible implementation, the SR label includes the egress port number of the forwarding device, so that after the forwarding device receives the first data packet sent by the first device, it can determine the egress port number of the forwarding device according to the SR label in the first data packet, that is, it can determine the next-hop device on the communication path, so that the forwarding device does not need to perform any table lookup operation, and can achieve extremely low forwarding delay.

可选地,在第三方面的一种可能的实现方式中,上述步骤中的网络状态参数包括转发设备的入端口时间戳以及转发设备的出端口时间戳,或网络状态参数包括转发设备的出端口数据包字节总数。Optionally, in a possible implementation manner of the third aspect, the network status parameter in the above steps includes an inbound port timestamp of the forwarding device and an outbound port timestamp of the forwarding device, or the network status parameter includes a total number of bytes of outbound port data packets of the forwarding device.

可选地,在第三方面的一种可能的实现方式中,上述步骤中的第一数据包以及第二数据包用于获取网络状态参数,和/或第一数据包以及第二数据包用于传输第一设备与第二设备之间的业务信息。Optionally, in a possible implementation of the third aspect, the first data packet and the second data packet in the above steps are used to obtain network status parameters, and/or the first data packet and the second data packet are used to transmit service information between the first device and the second device.

该种可能的实现方式中,目标路径可以应用于第一设备与第二设备之间的网路状态参数收集或业务通信。In this possible implementation, the target path may be applied to network status parameter collection or service communication between the first device and the second device.

本申请实施例第四方面提供了一种数据处理方法,该处理方法可以由控制器执行,也可以由控制器的部件(例如处理器、芯片、或芯片系统等)执行。该方法包括:控制器确定通信路径,通信路径用于第一设备与第二设备通信;控制器向第一设备发送通信路径;控制器接收第二设备发送的探测报告,探测报告与网络状态参数相关,网络状态参数与通信路径上的转发设备相关,探测报告还用于确定通信路径中的目标路径。The fourth aspect of the embodiment of the present application provides a data processing method, which can be executed by a controller or by a component of the controller (such as a processor, a chip, or a chip system, etc.). The method includes: the controller determines a communication path, and the communication path is used for communication between a first device and a second device; the controller sends the communication path to the first device; the controller receives a detection report sent by the second device, and the detection report is related to a network status parameter, and the network status parameter is related to a forwarding device on the communication path. The detection report is also used to determine a target path in the communication path.

本申请实施例中,控制器向第一设备发送通信路径,即向第一设备发送需要测量网络状态参数的通信路径,减少第一设备计算通信路径带来的内存消耗。并接收探测报告,使得可以根据探测报告确定合适的目标路径。In the embodiment of the present application, the controller sends the communication path to the first device, that is, sends the communication path that needs to measure the network status parameters to the first device, reducing the memory consumption caused by the first device calculating the communication path. And receives the detection report, so that the appropriate target path can be determined according to the detection report.

可选地,在第四方面的一种可能的实现方式中,上述步骤中的探测报告包括网络指标信息,网络指标信息由网络状态参数处理得到。Optionally, in a possible implementation manner of the fourth aspect, the detection report in the above steps includes network indicator information, and the network indicator information is obtained by processing network status parameters.

可选地,在第四方面的一种可能的实现方式中,上述步骤中的探测报告包括网络状态参数。Optionally, in a possible implementation manner of the fourth aspect, the detection report in the above steps includes network status parameters.

可选地,在第四方面的一种可能的实现方式中,上述步骤中的网络状态参数包括转发设备的入端口时间戳以及转发设备的出端口时间戳,或网络状态参数包括转发设备的出端口数据包字节总数。Optionally, in a possible implementation of the fourth aspect, the network status parameter in the above steps includes an inbound port timestamp of the forwarding device and an outbound port timestamp of the forwarding device, or the network status parameter includes the total number of bytes of outbound port data packets of the forwarding device.

可选地,在第四方面的一种可能的实现方式中,上述步骤还包括:控制器计算网络指标信息;控制器向第一设备发送网络指标信息,以使得第一设备根据网络指标信息确定通信路径中的目标路径。Optionally, in a possible implementation of the fourth aspect, the above steps also include: the controller calculates network indicator information; the controller sends the network indicator information to the first device, so that the first device determines the target path in the communication path according to the network indicator information.

该种可能的实现方式中,控制器计算网络指标信息,并向第一设备发送网络指标信息。一方面,第一设备可以根据网络指标信息确定通信路径中的目标路径。另一方面,控制器可以掌握网络拓扑中各个通信路径的网络性能。In this possible implementation, the controller calculates network indicator information and sends the network indicator information to the first device. On the one hand, the first device can determine the target path in the communication path according to the network indicator information. On the other hand, the controller can grasp the network performance of each communication path in the network topology.

可选地,在第四方面的一种可能的实现方式中,上述步骤中的控制器计算网络指标信息,包括:控制器计算转发设备的传输时延,传输时延为入端口时间戳与出端口时间戳的差值。Optionally, in a possible implementation of the fourth aspect, the controller in the above steps calculates network indicator information, including: the controller calculates the transmission delay of the forwarding device, and the transmission delay is the difference between the input port timestamp and the output port timestamp.

该种可能的实现方式中,可以通过传输时延确定目标路径提高第一设备与第二设备之间通信的传输效率。In this possible implementation, the transmission efficiency of the communication between the first device and the second device can be improved by determining the target path through the transmission delay.

可选地,在第四方面的一种可能的实现方式中,上述步骤中的控制器计算网络指标信息,包括:控制器计算转发设备的平均带宽值。Optionally, in a possible implementation manner of the fourth aspect, the controller in the above steps calculates network indicator information, including: the controller calculates an average bandwidth value of a forwarding device.

可选地,在第四方面的一种可能的实现方式中,上述步骤中的控制器采用下述方式计算转发设备的平均带宽值:Optionally, in a possible implementation manner of the fourth aspect, the controller in the above steps calculates the average bandwidth value of the forwarding device in the following manner:

其中,字节总数当前值包括第一数据包的字节值,字节总数历史值包括上次数据包的字节值或0,出端口时间戳当前值包括第一数据包出端口时的时间戳,出端口时间戳历史值包括上次数据包出端口时的时间戳或0。Among them, the current value of the total number of bytes includes the byte value of the first data packet, the historical value of the total number of bytes includes the byte value of the last data packet or 0, the current value of the port outbound timestamp includes the timestamp when the first data packet leaves the port, and the historical value of the port outbound timestamp includes the timestamp when the last data packet leaves the port or 0.

该种可能的实现方式中,提供一种具体计算网络指标信息的方式。In this possible implementation, a specific method for calculating network indicator information is provided.

可选地,在第四方面的一种可能的实现方式中,上述步骤还包括:控制器根据网络指标信息确定通信路径中的目标路径;控制器向第一设备发送目标路径。Optionally, in a possible implementation manner of the fourth aspect, the above steps also include: the controller determines a target path in the communication path according to the network indicator information; and the controller sends the target path to the first device.

该种可能的实现方式中,控制器可以计算网络指标信息,并根据网络指标信息确定目标路径。控制器向第一设备发送目标路径。一方面:可以使得第一设备可以通过网络性能较好的目标路径与第二设备进行通信,提高第一设备与第二设备通信质量及效率。另一方面:控制器确定目标路径,有利于控制器掌握网络拓扑中各个通信路径的网络性能。In this possible implementation, the controller can calculate network indicator information and determine the target path based on the network indicator information. The controller sends the target path to the first device. On the one hand, the first device can communicate with the second device through the target path with better network performance, thereby improving the communication quality and efficiency between the first device and the second device. On the other hand, the controller determines the target path, which helps the controller to grasp the network performance of each communication path in the network topology.

本申请实施例第五方面提供一种第一设备,该第一设备包括:A fifth aspect of an embodiment of the present application provides a first device, the first device comprising:

接收单元,用于获取通信路径,通信路径用于第一设备与第二设备通信;A receiving unit, used to obtain a communication path, where the communication path is used for the first device to communicate with the second device;

处理单元,用于根据通信路径生成第一数据包,第一数据包包括指示信息,指示信息用于指示通信路径上的转发设备采集网络状态参数;A processing unit, configured to generate a first data packet according to a communication path, wherein the first data packet includes instruction information, and the instruction information is used to instruct a forwarding device on the communication path to collect network status parameters;

发送单元,用于向转发设备发送第一数据包,第一数据包用于确定通信路径中的目标路径。The sending unit is used to send a first data packet to the forwarding device, where the first data packet is used to determine a target path in the communication path.

可选地,在第五方面的一种可能的实现方式中,上述第一设备中的接收单元,还用于获取网络指标信息,网络指标信息由网络状态参数处理得到;处理单元,还用于根据网络指标信息确定通信路径中的目标路径。Optionally, in a possible implementation of the fifth aspect, the receiving unit in the above-mentioned first device is also used to obtain network indicator information, and the network indicator information is obtained by processing network status parameters; the processing unit is also used to determine the target path in the communication path based on the network indicator information.

可选地,在第五方面的一种可能的实现方式中,上述第一设备中的接收单元,具体用于接收控制器发送的网络指标信息。Optionally, in a possible implementation manner of the fifth aspect, the receiving unit in the above-mentioned first device is specifically used to receive network indicator information sent by the controller.

可选地,在第五方面的一种可能的实现方式中,上述第一设备中的接收单元,具体用于接收控制器发送的网络状态参数;处理单元,还用于计算网络状态参数得到网络指示信息。Optionally, in a possible implementation of the fifth aspect, the receiving unit in the above-mentioned first device is specifically used to receive network status parameters sent by the controller; the processing unit is also used to calculate the network status parameters to obtain network indication information.

可选地,在第五方面的一种可能的实现方式中,上述第一设备中的发送单元,还用于使用目标路径向第二设备发送业务数据包,业务数据包用于传输第一设备与第二设备之间的业务信息。Optionally, in a possible implementation of the fifth aspect, the sending unit in the first device is further used to send a service data packet to the second device using a target path, and the service data packet is used to transmit service information between the first device and the second device.

可选地,在第五方面的一种可能的实现方式中,上述的网络状态参数包括转发设备的入端口时间戳以及转发设备的出端口时间戳,或网络状态参数包括转发设备的出端口数据包字节总数,网络指标信息包括转发设备的平均带宽值、传输时延或误码率中的至少一种。Optionally, in a possible implementation of the fifth aspect, the above-mentioned network status parameters include the inbound port timestamp of the forwarding device and the outbound port timestamp of the forwarding device, or the network status parameters include the total number of bytes of outbound port data packets of the forwarding device, and the network indicator information includes at least one of the average bandwidth value, transmission delay or bit error rate of the forwarding device.

可选地,在第五方面的一种可能的实现方式中,上述第一设备中的处理单元,具体用于采用下述方式计算网络指标信息:Optionally, in a possible implementation manner of the fifth aspect, the processing unit in the first device is specifically configured to calculate the network indicator information in the following manner:

其中,字节总数当前值包括第一数据包的字节值,字节总数历史值包括上次数据包的字节值或0,出端口时间戳当前值包括第一数据包出端口时的时间戳,出端口时间戳历史值包括上次数据包出端口时的时间戳或0。Among them, the current value of the total number of bytes includes the byte value of the first data packet, the historical value of the total number of bytes includes the byte value of the last data packet or 0, the current value of the port outbound timestamp includes the timestamp when the first data packet leaves the port, and the historical value of the port outbound timestamp includes the timestamp when the last data packet leaves the port or 0.

可选地,在第五方面的一种可能的实现方式中,上述第一设备中的处理单元,具体用于计算转发设备的传输时延,传输时延为第一数据包入端口时间戳与第一数据包出端口时间戳的差值。Optionally, in a possible implementation of the fifth aspect, the processing unit in the above-mentioned first device is specifically used to calculate the transmission delay of the forwarding device, and the transmission delay is the difference between the first data packet inlet port timestamp and the first data packet outlet port timestamp.

可选地,在第五方面的一种可能的实现方式中,上述第一设备中的接收单元,还用于接收第三设备发送的第三数据包,第三数据包包括第一设备与第三设备之间通信路径上转发设备的网络状态参数,第三数据包用于确定通信路径中目标路径。Optionally, in a possible implementation of the fifth aspect, the receiving unit in the above-mentioned first device is also used to receive a third data packet sent by a third device, the third data packet includes network status parameters of a forwarding device on the communication path between the first device and the third device, and the third data packet is used to determine a target path in the communication path.

可选地,在第五方面的一种可能的实现方式中,上述中的第一数据包还包括源路由SR标签,SR标签用于转发设备的通信。Optionally, in a possible implementation manner of the fifth aspect, the first data packet mentioned above also includes a source routing SR label, and the SR label is used for communication of the forwarding device.

可选地,在第五方面的一种可能的实现方式中,上述的SR标签包括转发设备的出端口号。Optionally, in a possible implementation manner of the fifth aspect, the SR label includes an egress port number of a forwarding device.

本申请实施例第六方面提供一种转发设备,该转发设备包括:A sixth aspect of an embodiment of the present application provides a forwarding device, the forwarding device comprising:

接收单元,用于接收来自第一设备的第一数据包,第一数据包指示信息,指示信息用于指示转发设备采集网络状态参数,网络状态参数与转发设备相关;A receiving unit, configured to receive a first data packet from a first device, and indication information of the first data packet, wherein the indication information is used to instruct a forwarding device to collect network status parameters, and the network status parameters are related to the forwarding device;

处理单元,用于根据指示信息采集网络状态参数,得到第二数据包;A processing unit, configured to collect network status parameters according to the indication information to obtain a second data packet;

发送单元,用于向第二设备发送第二数据包。A sending unit is used to send a second data packet to a second device.

可选地,在第六方面的一种可能的实现方式中,上述的第一数据包还包括源路由SR标签,SR标签与转发设备对应,SR标签用于转发设备的通信;处理单元,具体用于采集网络状态参数;并在删除SR标签的第一数据包中增加网络状态参数得到第二数据包;发送单元,具体用于根据SR标签向第二设备发送第二数据包。Optionally, in a possible implementation of the sixth aspect, the above-mentioned first data packet also includes a source routing SR label, the SR label corresponds to a forwarding device, and the SR label is used for communication with the forwarding device; a processing unit, specifically used to collect network status parameters; and adding the network status parameters to the first data packet with the SR label deleted to obtain a second data packet; a sending unit, specifically used to send the second data packet to the second device according to the SR label.

可选地,在第六方面的一种可能的实现方式中,上述的SR标签包括转发设备的出端口号。Optionally, in a possible implementation manner of the sixth aspect, the SR label includes an egress port number of a forwarding device.

可选地,在第六方面的一种可能的实现方式中,上述的网络状态参数包括转发设备的入端口时间戳以及转发设备的出端口时间戳,或网络状态参数包括转发设备的出端口数据包字节总数。Optionally, in a possible implementation manner of the sixth aspect, the above-mentioned network status parameter includes an inbound port timestamp of the forwarding device and an outbound port timestamp of the forwarding device, or the network status parameter includes a total number of bytes of outbound port data packets of the forwarding device.

可选地,在第六方面的一种可能的实现方式中,上述的第一数据包以及第二数据包用于获取网络状态参数,和/或第一数据包以及第二数据包用于传输第一设备与第二设备之间的业务信息。Optionally, in a possible implementation manner of the sixth aspect, the first data packet and the second data packet are used to obtain network status parameters, and/or the first data packet and the second data packet are used to transmit service information between the first device and the second device.

本申请实施例第七方面提供一种控制器,该控制器包括:A seventh aspect of an embodiment of the present application provides a controller, the controller comprising:

处理单元,用于确定通信路径,通信路径用于第一设备与第二设备通信;a processing unit, configured to determine a communication path, the communication path being used for the first device to communicate with the second device;

发送单元,用于向第一设备发送通信路径;A sending unit, configured to send a communication path to the first device;

接收单元,用于接收第二设备发送的探测报告,探测报告与网络状态参数相关,网络状态参数与通信路径上的转发设备相关,探测报告还用于确定通信路径中的目标路径。The receiving unit is used to receive a detection report sent by the second device, the detection report is related to a network status parameter, the network status parameter is related to a forwarding device on a communication path, and the detection report is also used to determine a target path in the communication path.

可选地,在第七方面的一种可能的实现方式中,上述的探测报告包括网络指标信息,网络指标信息由网络状态参数处理得到。Optionally, in a possible implementation manner of the seventh aspect, the above-mentioned detection report includes network indicator information, and the network indicator information is obtained by processing network status parameters.

可选地,在第七方面的一种可能的实现方式中,上述的探测报告包括网络状态参数。Optionally, in a possible implementation manner of the seventh aspect, the above-mentioned detection report includes network status parameters.

可选地,在第七方面的一种可能的实现方式中,上述的网络状态参数包括转发设备的入端口时间戳以及转发设备的出端口时间戳,或网络状态参数包括转发设备的出端口数据包字节总数。Optionally, in a possible implementation manner of the seventh aspect, the above-mentioned network status parameter includes an inbound port timestamp of the forwarding device and an outbound port timestamp of the forwarding device, or the network status parameter includes the total number of bytes of data packets of the outbound port of the forwarding device.

可选地,在第七方面的一种可能的实现方式中,上述控制器中的处理单元,还用于计算网络指标信息;发送单元,还用于向第一设备发送网络指标信息,以使得第一设备根据网络指标信息确定通信路径中的目标路径。Optionally, in a possible implementation of the seventh aspect, the processing unit in the above-mentioned controller is also used to calculate network indicator information; the sending unit is also used to send the network indicator information to the first device, so that the first device determines the target path in the communication path according to the network indicator information.

可选地,在第七方面的一种可能的实现方式中,上述控制器中的处理单元,具体用于计算转发设备的传输时延,传输时延为入端口时间戳与出端口时间戳的差值。Optionally, in a possible implementation manner of the seventh aspect, the processing unit in the above-mentioned controller is specifically used to calculate the transmission delay of the forwarding device, and the transmission delay is the difference between the inbound port timestamp and the outbound port timestamp.

可选地,在第七方面的一种可能的实现方式中,上述控制器中的处理单元,具体用于计算转发设备的平均带宽值。Optionally, in a possible implementation manner of the seventh aspect, the processing unit in the above-mentioned controller is specifically used to calculate the average bandwidth value of the forwarding device.

可选地,在第七方面的一种可能的实现方式中,上述控制器中的处理单元,还用于采用下述方式计算转发设备的平均带宽值:Optionally, in a possible implementation manner of the seventh aspect, the processing unit in the controller is further configured to calculate an average bandwidth value of the forwarding device in the following manner:

其中,字节总数当前值包括第一数据包的字节值,字节总数历史值包括上次数据包的字节值或0,出端口时间戳当前值包括第一数据包出端口时的时间戳,出端口时间戳历史值包括上次数据包出端口时的时间戳或0。Among them, the current value of the total number of bytes includes the byte value of the first data packet, the historical value of the total number of bytes includes the byte value of the last data packet or 0, the current value of the port outbound timestamp includes the timestamp when the first data packet leaves the port, and the historical value of the port outbound timestamp includes the timestamp when the last data packet leaves the port or 0.

可选地,在第七方面的一种可能的实现方式中,上述控制器中的处理单元,还用于根据网络指标信息确定通信路径中的目标路径;发送单元,还用于向第一设备发送目标路径。Optionally, in a possible implementation of the seventh aspect, the processing unit in the above-mentioned controller is also used to determine the target path in the communication path according to the network indicator information; the sending unit is also used to send the target path to the first device.

本申请实施例第八方面提供了一种第一设备,包括:处理器,处理器与存储器耦合,存储器用于存储程序或指令,当程序或指令被处理器执行时,使得该第一设备实现上述第二方面或第二方面的任意可能的实现方式中的方法。An eighth aspect of an embodiment of the present application provides a first device, comprising: a processor, the processor is coupled to a memory, the memory is used to store programs or instructions, when the program or instructions are executed by the processor, the first device implements the method in the above-mentioned second aspect or any possible implementation of the second aspect.

本申请实施例第九方面提供了一种转发设备,包括:处理器,处理器与存储器耦合,存储器用于存储程序或指令,当程序或指令被处理器执行时,使得该转发设备实现上述第三方面或第三方面的任意可能的实现方式中的方法。A ninth aspect of an embodiment of the present application provides a forwarding device, comprising: a processor, the processor is coupled to a memory, the memory is used to store programs or instructions, and when the program or instructions are executed by the processor, the forwarding device implements the method in the third aspect or any possible implementation of the third aspect.

本申请实施例第十方面提供了一种控制器,包括:处理器,处理器与存储器耦合,存储器用于存储程序或指令,当程序或指令被处理器执行时,使得该控制器实现上述第四方面或第四方面的任意可能的实现方式中的方法。The tenth aspect of an embodiment of the present application provides a controller, including: a processor, the processor is coupled to a memory, the memory is used to store programs or instructions, when the program or instructions are executed by the processor, the controller implements the method in the above-mentioned fourth aspect or any possible implementation method of the fourth aspect.

本申请实施例第十一方面提供了一种通信系统,包括第八方面提供的第一设备,和/或第九方面的转发设备,和/或第十方面的控制器。An eleventh aspect of an embodiment of the present application provides a communication system, comprising the first device provided in the eighth aspect, and/or the forwarding device in the ninth aspect, and/or the controller in the tenth aspect.

本申请第十二方面提供了一种芯片,该芯片包括处理器和接口电路,该接口电路和该处理器耦合,该处理器用于运行计算机程序或指令,以实现如第二方面或第二方面的任意可能的实现方式、第三方面或第三方面的任意可能的实现方式、第四方面或第四方面的任意可能的实现方式中的方法,该接口电路用于与该芯片之外的其它模块进行通信。In the twelfth aspect of the present application, a chip is provided, which includes a processor and an interface circuit, which is coupled to the processor, and the processor is used to run a computer program or instruction to implement the method in the second aspect or any possible implementation of the second aspect, the third aspect or any possible implementation of the third aspect, the fourth aspect or any possible implementation of the fourth aspect, and the interface circuit is used to communicate with other modules outside the chip.

本申请实施例第十三方面提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,该指令在计算机上执行时,使得计算机执行前述第二方面或第二方面的任意可能的实现方式、第三方面或第三方面的任意可能的实现方式、第四方面或第四方面的任意可能的实现方式中的方法。A thirteenth aspect of an embodiment of the present application provides a computer-readable storage medium, which stores instructions. When the instructions are executed on a computer, the computer executes the method in the aforementioned second aspect or any possible implementation of the second aspect, the third aspect or any possible implementation of the third aspect, and the fourth aspect or any possible implementation of the fourth aspect.

本申请实施例第十四方面提供了一种计算机程序产品,该计算机程序产品在计算机上执行时,使得计算机执行前述第二方面或第二方面的任意可能的实现方式、第三方面或第三方面的任意可能的实现方式、第四方面或第四方面的任意可能的实现方式中的方法。A fourteenth aspect of an embodiment of the present application provides a computer program product. When the computer program product is executed on a computer, it enables the computer to execute the method in the aforementioned second aspect or any possible implementation of the second aspect, the third aspect or any possible implementation of the third aspect, and the fourth aspect or any possible implementation of the fourth aspect.

其中,第五方面、第八方面、第十一方面、第十二方面、第十三方面、第十四方面或者其中任一种可能实现方式所带来的技术效果可参见第二方面或第二方面不同可能实现方式所带来的技术效果,此处不再赘述。Among them, the technical effects brought about by the fifth aspect, the eighth aspect, the eleventh aspect, the twelfth aspect, the thirteenth aspect, the fourteenth aspect or any possible implementation method thereof can be referred to the technical effects brought about by the second aspect or different possible implementation methods of the second aspect, and will not be repeated here.

其中,第六方面、第九方面、第十一方面、第十二方面、第十三方面、第十四方面或者其中任一种可能实现方式所带来的技术效果可参见第三方面或第三方面不同可能实现方式所带来的技术效果,此处不再赘述。Among them, the technical effects brought about by the sixth aspect, the ninth aspect, the eleventh aspect, the twelfth aspect, the thirteenth aspect, the fourteenth aspect or any possible implementation method thereof can be referred to the technical effects brought about by the third aspect or different possible implementation methods of the third aspect, and will not be repeated here.

其中,第七方面、第十方面、第十一方面、第十二方面、第十三方面、第十四方面或者其中任一种可能实现方式所带来的技术效果可参见第四方面或第四方面不同可能实现方式所带来的技术效果,此处不再赘述。Among them, the technical effects brought about by the seventh aspect, the tenth aspect, the eleventh aspect, the twelfth aspect, the thirteenth aspect, the fourteenth aspect or any possible implementation method thereof can refer to the technical effects brought about by the fourth aspect or different possible implementation methods of the fourth aspect, and will not be repeated here.

从以上技术方案可以看出,本申请实施例具有以下优点:第一设备,用于根据通信路径生成第一数据包,第一数据包包括源路由SR标签以及指示信息,SR标签用于通信路径上转发设备之间的通信,指示信息用于指示转发设备采集网络状态参数;第一设备,还用于向转发设备发送第一数据包,可以使得转发设备采集网络状态参数。转发设备,用于根据SR标签向第二设备发送第二数据包,第二设备有利于第一设备后续确定通信路径中网络性能较好的目标路径。It can be seen from the above technical solutions that the embodiments of the present application have the following advantages: the first device is used to generate a first data packet according to the communication path, the first data packet includes a source routing SR label and indication information, the SR label is used for communication between forwarding devices on the communication path, and the indication information is used to instruct the forwarding device to collect network status parameters; the first device is also used to send the first data packet to the forwarding device, so that the forwarding device can collect network status parameters. The forwarding device is used to send a second data packet to the second device according to the SR label, and the second device is conducive to the first device to subsequently determine the target path with better network performance in the communication path.

附图说明BRIEF DESCRIPTION OF THE DRAWINGS

图1为本申请实施例中的网络框架示意图;FIG1 is a schematic diagram of a network framework in an embodiment of the present application;

图2为本申请实施例中数据处理方法一个流程示意图;FIG2 is a flow chart of a data processing method according to an embodiment of the present application;

图3为本申请实施例中一种通信路径的示意图;FIG3 is a schematic diagram of a communication path in an embodiment of the present application;

图4为本申请实施例中第一数据包中的一种格式示意图;FIG4 is a schematic diagram of a format of a first data packet in an embodiment of the present application;

图5为本申请实施例中通信路径的另一示意图;FIG5 is another schematic diagram of a communication path in an embodiment of the present application;

图6为本申请实施例中第一设备的一个结构示意图;FIG6 is a schematic diagram of the structure of the first device in an embodiment of the present application;

图7为本申请实施例中转发设备的一个结构示意图;FIG7 is a schematic diagram of a structure of a forwarding device in an embodiment of the present application;

图8为本申请实施例中控制器的一个结构示意图;FIG8 is a schematic diagram of a structure of a controller in an embodiment of the present application;

图9为本申请实施例中第一设备的另一结构示意图;FIG9 is another schematic diagram of the structure of the first device in the embodiment of the present application;

图10为本申请实施例中通信设备的一个结构示意图。FIG. 10 is a schematic diagram of the structure of a communication device in an embodiment of the present application.

具体实施方式DETAILED DESCRIPTION

下面结合附图,对本申请的实施例进行描述,本领域普通技术人员可知,随着技术的发展和新场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。The embodiments of the present application are described below in conjunction with the accompanying drawings. Those skilled in the art may appreciate that, with the development of technology and the emergence of new scenarios, the technical solutions provided in the embodiments of the present application are also applicable to similar technical problems.

本申请实施例提供了一种通信系统、数据处理方法以及相关设备,用于通过网络状态参数确定合适的通信路径。The embodiments of the present application provide a communication system, a data processing method and related devices for determining a suitable communication path through network status parameters.

本申请提供的通信方法可以应用在不同的通信网络中,以下以数据中心网络为例,说明该通信方法。The communication method provided in the present application can be applied in different communication networks. The communication method is described below using a data center network as an example.

请参阅图1,本申请实施例中网络架构包括:Please refer to Figure 1, the network architecture in the embodiment of the present application includes:

控制器100,骨干交换机(spine)101和102,叶子交换机(leaf)103至105,服务设备106至108。Controller 100 , spine switches 101 and 102 , leaf switches 103 to 105 , and service devices 106 to 108 .

其中,控制器100分别与骨干交换机101和102、叶子交换机103至105以及服务设备106至108相连接。骨干交换机101分别与叶子交换机103至105相连,骨干交换机102分别与叶子交换机103至105相连,叶子交换机103与服务设备106相连,叶子交换机104与服务设备107相连,叶子交换机105与服务设备108相连。The controller 100 is respectively connected to the backbone switches 101 and 102, the leaf switches 103 to 105, and the service devices 106 to 108. The backbone switch 101 is respectively connected to the leaf switches 103 to 105, the backbone switch 102 is respectively connected to the leaf switches 103 to 105, the leaf switch 103 is connected to the service device 106, the leaf switch 104 is connected to the service device 107, and the leaf switch 105 is connected to the service device 108.

本实施例中,仅以两个骨干交换机101和102,三个叶子交换机103至105,三个服务设备106至108为例进行示意性说明,在实际应用中,网络架构中可以有更多的骨干交换机、叶子交换机以及服务设备,具体此处不作限定。In this embodiment, only two backbone switches 101 and 102, three leaf switches 103 to 105, and three service devices 106 to 108 are used as examples for schematic illustration. In actual applications, there can be more backbone switches, leaf switches, and service devices in the network architecture, which are not specifically limited here.

各服务设备接入叶子交换机的方式也可以有所不同,图1仅以一个服务设备接入一个叶子交换机为例进行示意性说明,也可以多个服务设备接入一个叶子交换机,具体此处不做限定。The way each service device accesses a leaf switch may also be different. FIG1 only schematically illustrates the example of one service device accessing one leaf switch. Multiple service devices may also access one leaf switch, which is not limited here.

骨干交换机101与叶子交换机103至105之间一般通过有线网络连接,也可以通过无线网络连接,如果是通过有线网络连接,连接形式可以为光纤网络。The backbone switch 101 and the leaf switches 103 to 105 are generally connected through a wired network, and can also be connected through a wireless network. If they are connected through a wired network, the connection form can be a fiber optic network.

叶子交换机与服务设备之间一般通过无线网络连接,也可以通过有线网络连接,如果是通过有线网络连接,连接形式可以为光纤网络,如果是通过无线网络连接,连接形式可以为蜂窝状无线网络,或者是WiFi网络,或者是其他类型的无线网络。The leaf switch and the service equipment are generally connected through a wireless network, or through a wired network. If connected through a wired network, the connection form can be a fiber optic network. If connected through a wireless network, the connection form can be a cellular wireless network, a WiFi network, or other types of wireless networks.

各服务设备之间的通信可以通过叶子交换机进行交互,也可以通过叶子交换机与骨干交换机进行交互。The communication between service devices can be carried out through leaf switches, or through leaf switches and backbone switches.

控制器100的主要功能是管理网络中的设备(骨干交换机101和102、叶子交换机103至105以及服务设备106至108)。The main function of the controller 100 is to manage the devices in the network (backbone switches 101 and 102, leaf switches 103 to 105, and service devices 106 to 108).

骨干交换机101和102的主要功能是保证网络内的任意两个叶子交换机之间通信。The main function of the backbone switches 101 and 102 is to ensure communication between any two leaf switches in the network.

叶子交换机103至105的主要功能是数据中转,连接骨干交换机和服务设备,并传输数据。The main functions of leaf switches 103 to 105 are data transfer, connecting backbone switches and service devices, and transmitting data.

服务设备106至108的主要功能是为用户或其他设备提供服务。The main function of the service devices 106 to 108 is to provide services to users or other devices.

本申请实施例中,服务设备可以是机架服务器、刀片服务器、计算节点或存储节点等,具体此处不作限定。In the embodiment of the present application, the service device may be a rack server, a blade server, a computing node, a storage node, etc., which is not specifically limited here.

本申请实施例中的第一设备与第二设备相当于图1所示架构中的服务设备,转发设备相当于图1所示架构中的骨干交换机或叶子交换机,控制器相当于图1所示架构中的控制器。The first device and the second device in the embodiment of the present application are equivalent to the service device in the architecture shown in Figure 1, the forwarding device is equivalent to the backbone switch or leaf switch in the architecture shown in Figure 1, and the controller is equivalent to the controller in the architecture shown in Figure 1.

可以理解的是,图1的架构只是举例,实际应用中,骨干交换机上方还可以连接核心交换机(core),叶子交换机下方还可以连接机柜顶部(top of rack,TOR)交换机,即对于转发设备的具体层数,此处不做限定,可以是spine-leaf,也可以是spine-leaf-tor,还可以是core-spine-leaf-tor等架构。It can be understood that the architecture of Figure 1 is just an example. In actual applications, the backbone switch can be connected to a core switch (core) above, and the leaf switch can be connected to a top of rack (TOR) switch below. That is, the specific number of layers of forwarding devices is not limited here, and it can be spine-leaf, spine-leaf-tor, core-spine-leaf-tor and other architectures.

当前数据中心的网络(DCN)状态复杂,路径负载受各个因素影响(网络拥塞,交换机路由算法等)不可控,多节点的负载不均和拥塞导致DCN整体链路带宽值较低,随着DCN规模的增大,传统的ECMP等负载均衡方法因缺乏对全网状态的感知,已不能满足DCN的负载均衡需求,急需优化。The current data center network (DCN) status is complex, and the path load is affected by various factors (network congestion, switch routing algorithm, etc.) and is uncontrollable. The uneven load and congestion of multiple nodes lead to a low overall link bandwidth value of DCN. As the scale of DCN increases, traditional load balancing methods such as ECMP can no longer meet the load balancing needs of DCN due to the lack of perception of the entire network status, and optimization is urgently needed.

另外,多协议标签交换(multi-protocol label switching,MPLS)是一种用于快速数据包交换和路由的体系,为网络数据流量提供了寻址、路由、转发和交换等能力。In addition, multi-protocol label switching (MPLS) is a system for fast data packet switching and routing, which provides addressing, routing, forwarding and switching capabilities for network data traffic.

多个支持MPLS的网络设备互联形成MPLS域,在一条转发路径上,进入MPLS域的节点称为入节点,离开MPLS域的节点称为出节点,而转发路径上的节点均称为中间节点。MPLS的转发流程如图1所示,当报文进入MPLS域时,入节点会查询转发信息表(forwardinformation dataBase,FIB)等表项,获得出接口、出标签等信息,然后在原始报文上压入MPLS标签,之后将报文转发给下一跳。中间节点收到报文后,会根据MPLS标签值查看对应的表项,获得下一跳的出接口和标签,如果标签值大于等于16,则用新的标签替换报文中旧的MPLS标签,然后将报文转发到下一跳;如果标签值等于3则为倒数第二跳转发节点,此时需要弹出标签后再做转发。出节点收到报文后直接做传统IP报文转发。其中,Multiple network devices supporting MPLS are interconnected to form an MPLS domain. On a forwarding path, the node entering the MPLS domain is called the ingress node, the node leaving the MPLS domain is called the egress node, and the nodes on the forwarding path are called intermediate nodes. The MPLS forwarding process is shown in Figure 1. When a message enters the MPLS domain, the ingress node will query the forwarding information table (forwardinformation dataBase, FIB) and other table items to obtain information such as the outgoing interface and outgoing label, and then push the MPLS label onto the original message, and then forward the message to the next hop. After receiving the message, the intermediate node will check the corresponding table item according to the MPLS label value to obtain the outgoing interface and label of the next hop. If the label value is greater than or equal to 16, the old MPLS label in the message is replaced with the new label, and then the message is forwarded to the next hop; if the label value is equal to 3, it is the penultimate hop forwarding node, and the label needs to be popped out before forwarding. After receiving the message, the egress node directly forwards the traditional IP message. Among them,

但是,MPLS域中的节点需要区分入节点、中间节点、出节点等不同身份,导致管理面会相对复杂。However, nodes in an MPLS domain need to be distinguished into different identities such as ingress nodes, intermediate nodes, and egress nodes, which makes the management plane relatively complex.

本申请实施例中的通信方式除了适用于图1所示的数据中心网络以外,还可以适用于云网络场景,特别是公有云场景,其网络业务分成Overlay和Underlay层,当前主要网络业务都已迁移到Overlay的网络上,而Underlay的网络业务变得非常单一,主要集中在网络的连接和拥塞控制上。在Underlay网络上使用私有协议不会影响Overlay业务,适合引入私有格式的源路由报文来降低端到端转发时延,而INT技术的引入又可以实现网络状态的实时监控,以实现负载均衡和提升网络运维效率。In addition to being applicable to the data center network shown in Figure 1, the communication method in the embodiment of the present application can also be applied to cloud network scenarios, especially public cloud scenarios, where network services are divided into Overlay and Underlay layers. Currently, major network services have been migrated to the Overlay network, while Underlay network services have become very simple, mainly focusing on network connection and congestion control. Using private protocols on the Underlay network will not affect the Overlay service, and it is suitable to introduce source routing messages in private formats to reduce end-to-end forwarding delays. The introduction of INT technology can realize real-time monitoring of network status to achieve load balancing and improve network operation and maintenance efficiency.

针对上述问题,本申请实施例提供了一种通信系统、数据处理方法以及相关设备。下面对本申请实施例中的通信系统进行描述。In view of the above problems, the embodiments of the present application provide a communication system, a data processing method and related devices. The communication system in the embodiments of the present application is described below.

本申请提供了一种通信系统,该通信系统包括:第一设备、转发设备、第二设备以及控制器。其中,第一设备与第二设备为图1所示实施例中的任意两个服务设备,转发设备为图1所示实施例中任意一个交换(骨干交换机或叶子交换机)。The present application provides a communication system, which includes: a first device, a forwarding device, a second device and a controller. The first device and the second device are any two service devices in the embodiment shown in FIG1 , and the forwarding device is any switch (backbone switch or leaf switch) in the embodiment shown in FIG1 .

控制器根据全网的拓扑信息,使用遥测路径规划算法生成全网的带内遥测探测路径,在网络拓扑不发生改变的情况下,路径规划只需执行一次,每当有新增节点或者路径故障等事件发生时,会重新触发全网遥测路径规划。控制器将规划好的路径分发到各台服务器,由服务器会按一定时间间隔,基于每一条探测路径生成带有相应源路由标签的INT探测包完成全网的路径信息收集。在得到汇总的全网链路状态后,控制器通过管理网络将信息同步到网络中的各台服务器节点。The controller uses the telemetry path planning algorithm to generate an in-band telemetry detection path for the entire network based on the topology information of the entire network. If the network topology does not change, the path planning only needs to be performed once. Whenever an event such as a new node or path failure occurs, the telemetry path planning for the entire network will be retriggered. The controller distributes the planned paths to each server, and the server will generate an INT detection packet with a corresponding source routing label based on each detection path at a certain time interval to complete the path information collection of the entire network. After obtaining the summarized link status of the entire network, the controller synchronizes the information to each server node in the network through the management network.

服务设备上运行各自的控制面进程,该进程主要实现两个功能:The service devices run their own control plane processes, which mainly implement two functions:

(1)转发控制器下发的INT探测报文到智能网卡,转发网卡上送的INT报告到控制器,协助完成全网状态收集;(1) Forwards the INT detection message sent by the controller to the smart network card, and forwards the INT report sent by the network card to the controller to assist in completing the collection of the entire network status;

(2)从控制面获取到全网状态信息后,通过一定的路径选择算法,挑选出到网络中其他主机的多条最优路径,并生成源路由路径表下发到智能网卡中;(2) After obtaining the whole network status information from the control plane, it selects multiple optimal paths to other hosts in the network through a certain path selection algorithm, and generates a source routing path table and sends it to the smart network card;

智能网卡在发送端对业务报文按一定的规则(例如五元组或者目的IP)进行路径查找,并封装相应的源路由标签。由于去往每个目的节点都存在多条可用路径,智能网卡还负责将多条业务流均衡到不同的路径之上,并确保在路径表动态刷新时不影响之前已经建立的业务流的转发路径。At the sending end, the Smart NIC performs path lookup for service messages according to certain rules (such as five-tuple or destination IP) and encapsulates the corresponding source routing label. Since there are multiple available paths to each destination node, the Smart NIC is also responsible for balancing multiple service flows to different paths and ensuring that the forwarding path of the previously established service flow is not affected when the path table is dynamically refreshed.

转发设备负责报文的源路由转发和INT信息采集,不管是探测报文还是业务报文,转发设备在解析到报文中的源路由标签号之后,直接将报文转发到对应的出端口,期间不做任何查表操作,可以实现极低的转发时延。转发设备上的INT采集单元根据报文是否携带INT采集标识判断是否进行INT信息的采集。The forwarding device is responsible for the source routing forwarding and INT information collection of the message. Regardless of whether it is a detection message or a service message, the forwarding device directly forwards the message to the corresponding egress port after parsing the source routing label number in the message without any table lookup operation, which can achieve extremely low forwarding delay. The INT collection unit on the forwarding device determines whether to collect INT information based on whether the message carries the INT collection identifier.

请参阅图2,本申请实施例中通信方法一个实施例包括:Please refer to FIG. 2 , an embodiment of a communication method in an embodiment of the present application includes:

201、控制器确定通信路径。该步骤是可选的。201. The controller determines a communication path. This step is optional.

可选地,控制器可以根据全网拓扑确定第一设备与第二设备之间通信的通信路径。全网拓扑包括网络中各个设备之间的连接关系。Optionally, the controller may determine a communication path for communication between the first device and the second device according to the entire network topology. The entire network topology includes connection relationships between various devices in the network.

可选地,当全网拓扑发生变化后,即有新增加点或路径故障等事件发生时,控制器或重新确定通信路径。Optionally, when the entire network topology changes, that is, when a new point is added or a path failure occurs, the controller may redetermine the communication path.

本申请实施例中的通信路径可以是一条路径,也可以是多条路径,具体此处不做限定。The communication path in the embodiment of the present application can be one path or multiple paths, which is not specifically limited here.

本申请实施例中,控制器确定通信路径的算法有多种,可以是基于逐跳链路利用率感知的负载均衡架构(hop-by-hop utilization-aware load balancingarchitecture,HULA)算法或者基于深度优先搜索(deep-first search,DFS)的INT-path算法等,具体此处不做限定。In the embodiment of the present application, there are multiple algorithms for the controller to determine the communication path, which may be a hop-by-hop utilization-aware load balancing architecture (HULA) algorithm or an INT-path algorithm based on a depth-first search (DFS), etc., which are not specifically limited here.

202、控制器向第一设备发送通信路径。该步骤是可选的。202. The controller sends a communication path to the first device. This step is optional.

可选地,控制器确定通信路径后后,向第一设备发送该通信路径。Optionally, after determining the communication path, the controller sends the communication path to the first device.

控制器确定通信路径之后,控制器可以通过管理网络将规划好的路径下发到各台服务设备(即第一设备或第二设备),每台服务设备上只会收到自己需要进行探测的通信路径的信息。After the controller determines the communication path, the controller can send the planned path to each service device (ie, the first device or the second device) through the management network, and each service device will only receive information about the communication path that it needs to detect.

本申请实施例中国的通信路径信息可以包括通信路径上转发设备的出端口、IP地址或设备标识等,具体此处不做限定。The communication path information in China in the embodiment of the present application may include an output port, an IP address or a device identifier of a forwarding device on the communication path, etc., which is not specifically limited here.

203、第一设备根据通信路径生成第一数据包。203. The first device generates a first data packet according to the communication path.

本申请实施例中第一设备获取通信路径的方式除了步骤201与步骤202外,第一设备也可以先获取全网拓扑,并根据全网拓扑确定通信路径。还可以通过其他设备确定通信路径,具体此处不做限定。In the embodiment of the present application, the first device may obtain the communication path in addition to step 201 and step 202. The first device may also obtain the entire network topology first and determine the communication path according to the entire network topology. The communication path may also be determined by other devices, which is not limited here.

可选地,第一设备可以按一定时间间隔发送第一数据包,具体的时间间隔可以根据网路规模做调整。Optionally, the first device may send the first data packet at a certain time interval, and the specific time interval may be adjusted according to the network scale.

示例性的,通信路径上转发设备的数量为多个,第一设备获取的通信路径如图3所示。其中,一条通信路径:“第一设备-第一转发设备-第二转发设备-第三转发设备-第四转发设备-第五转发设备-第二设备”。另一条通信路径:“第一设备-第一转发设备-第二转发设备-第六转发设备-第四转发设备-第五转发设备-第二设备”。其中,第一设备通过第一转发设备的3端口与第一转发设备相连,第一转发设备的1端口与第二转发设备的3端口连接,第二转发设备的1端口与第三转发设备的1端口连接,第三转发设备的2端口与第四转发设备的1端口连接,第四转发设备的3端口与第五转发设备的1端口连接,第五转发设备通过3端口与第二设备连接。第二转发设备的2端口与第六转发设备的1端口连接,第六转发设备的2端口与第四转发设备的2端口连接。Exemplarily, there are multiple forwarding devices on the communication path, and the communication path obtained by the first device is shown in Figure 3. Among them, one communication path is: "first device-first forwarding device-second forwarding device-third forwarding device-fourth forwarding device-fifth forwarding device-second device". Another communication path is: "first device-first forwarding device-second forwarding device-sixth forwarding device-fourth forwarding device-fifth forwarding device-second device". Among them, the first device is connected to the first forwarding device through port 3 of the first forwarding device, port 1 of the first forwarding device is connected to port 3 of the second forwarding device, port 1 of the second forwarding device is connected to port 1 of the third forwarding device, port 2 of the third forwarding device is connected to port 1 of the fourth forwarding device, port 3 of the fourth forwarding device is connected to port 1 of the fifth forwarding device, and the fifth forwarding device is connected to the second device through port 3. Port 2 of the second forwarding device is connected to port 1 of the sixth forwarding device, and port 2 of the sixth forwarding device is connected to port 2 of the fourth forwarding device.

第一设备获取通信路径后,根据通信路径生成第一数据包。该第一数据包包括指示信息,指示信息用于指示转发设备是否采集网路状态参数。After the first device acquires the communication path, it generates a first data packet according to the communication path. The first data packet includes indication information, and the indication information is used to indicate whether the forwarding device collects network status parameters.

可选地,第一数据包还包括SR标签,SR标签用于通信路径上的转发设备之间的通信。其中,一个转发设备对应一个SR标签。Optionally, the first data packet further includes an SR label, and the SR label is used for communication between forwarding devices on the communication path, wherein one forwarding device corresponds to one SR label.

本实施例提出一种源路由(source routing,SR)与带内遥测(in-band networktelemetry,INT)的融合报文格式。This embodiment proposes a fusion message format of source routing (SR) and in-band network telemetry (INT).

如图4所示。其中,第一数据包采用以太网(ethernet,ETH)标识高层协议,第一数据包中使用保留的以太类型0x0700作为SR的协议类型;SR_OPTION中sr_len字段值为SR_OPTION以及所有SR标签字段的总长;SR_1表示第一个转发设备的SR标签,其中,int_flag用于表示是否需要对第一转发设备进行INT信息采集,int_flag为1可以表示采集,为0可以表示不采集,next_port字段表示第一设备需要将第一数据包转发到的出端口号。Rsvd用于表示保留字段,具体可以根据需要设置。SR_N表示第N个转发设备的SR标签。第一数据包还可以使用保留的以太类型0x0701作为INT的协议类型,紧跟在SR标签之后。INT_OPTION中int_type字段用于表示是否为控制面下发的第一数据包。int_num用于记录采集到的INT信息数量。As shown in Figure 4. Among them, the first data packet uses Ethernet (ETH) to identify the high-level protocol, and the reserved Ethernet type 0x0700 is used as the SR protocol type in the first data packet; the sr_len field value in SR_OPTION is the total length of SR_OPTION and all SR label fields; SR_1 represents the SR label of the first forwarding device, wherein int_flag is used to indicate whether INT information needs to be collected for the first forwarding device, int_flag is 1 to indicate collection, and 0 to indicate no collection, and the next_port field indicates the egress port number to which the first device needs to forward the first data packet. Rsvd is used to indicate a reserved field, which can be set as needed. SR_N represents the SR label of the Nth forwarding device. The first data packet can also use the reserved Ethernet type 0x0701 as the INT protocol type, immediately following the SR label. The int_type field in INT_OPTION is used to indicate whether it is the first data packet sent by the control plane. int_num is used to record the number of INT information collected.

图4中的SR_1、SR_N即SR标签,int_flag字段即第一数据包中的指示信息。SR_1 and SR_N in FIG. 4 are SR tags, and the int_flag field is the indication information in the first data packet.

P4联盟或者IOAM标准的INT报文格式中,INT信息都是作为内层报文的选项头存在,需要交换机做深度报文解析才能做INT信息的插入,增加了交换机的复杂度和转发时延。本申请提出的这种私有的报文格式能同时兼顾基于源路由的高效转发以及网络状态的实时收集。更适用于封闭性较好的数据中心网络以及公有云场景。In the INT message format of the P4 Alliance or IOAM standard, INT information exists as an option header of the inner message, and the switch needs to perform deep message parsing to insert INT information, which increases the complexity and forwarding delay of the switch. The private message format proposed in this application can take into account both efficient forwarding based on source routing and real-time collection of network status. It is more suitable for closed data center networks and public cloud scenarios.

可以理解的是,第一数据包的格式可以根据实际需要自行设置,图4只是第一数据包格式的一种示例,第一数据包的具体格式此处不做限定。It is understandable that the format of the first data packet can be set according to actual needs. FIG. 4 is only an example of the format of the first data packet, and the specific format of the first data packet is not limited here.

本申请实施例中的第一数据包可以是探测包,也可以是业务数据包,具体此处不做限定。The first data packet in the embodiment of the present application may be a detection packet or a service data packet, which is not specifically limited here.

另外,第一设备可以通过生成多个通信路径的多组数据包,使得多组数据包覆盖全网路径。In addition, the first device may generate multiple groups of data packets for multiple communication paths so that the multiple groups of data packets cover the entire network path.

可选地,该第一数据包为探测数据包或业务数据包,具体此处不做限定。当第一数据包为探测数据包时,第一设备可以通过第一数据包获取到通信路径的网络性能(网络状态参数或网络指标信息),进而确定进行业务通信的目标路径。Optionally, the first data packet is a detection data packet or a business data packet, which is not specifically limited here. When the first data packet is a detection data packet, the first device can obtain the network performance (network status parameters or network indicator information) of the communication path through the first data packet, and then determine the target path for business communication.

204、第一设备向转发设备发送第一数据包。204. The first device sends a first data packet to the forwarding device.

本申请实施例中,转发设备为交换机或路由器等可以转发数据的设备,转发设备的数量可以是一个或多个,具体此处不做限定。In the embodiment of the present application, the forwarding device is a device such as a switch or a router that can forward data. The number of forwarding devices can be one or more, which is not specifically limited here.

第一设备生成第一数据包后,向转发设备发送该第一数据包。After generating the first data packet, the first device sends the first data packet to the forwarding device.

205、转发设备根据第一数据包生成第二数据包。205. The forwarding device generates a second data packet according to the first data packet.

转发设备接收来自第一设备的第一数据包,并根据第一数据包中的指示信息(例如:图3中的int_flag字段)采集转发设备的网络状态参数,并在第一数据包中加入该网络状态参数,得到第二数据包。The forwarding device receives the first data packet from the first device, collects the network status parameters of the forwarding device according to the indication information in the first data packet (eg, the int_flag field in FIG. 3 ), and adds the network status parameters to the first data packet to obtain a second data packet.

可选地,如果第一数据包中还包括SR标签,转发设备在第一数据包中删除该转发设备对应的SR标签,得到第二数据包。Optionally, if the first data packet also includes an SR label, the forwarding device deletes the SR label corresponding to the forwarding device in the first data packet to obtain a second data packet.

可选地,在指示信息指示转发设备采集网络状态参数的情况下(例如:图4中的int_flag字段为1),转发设备采集网络状态参数,并删除该转发设备对应的SR标签,在删除SR标签的第一数据包中增加网络状态参数得到第二数据包。Optionally, when the indication information indicates that the forwarding device collects network status parameters (for example, the int_flag field in Figure 4 is 1), the forwarding device collects the network status parameters and deletes the SR label corresponding to the forwarding device, and adds the network status parameters to the first data packet with the SR label deleted to obtain a second data packet.

可选地,在指示信息指示转发设备不采集网络状态参数的情况下(例如:图4中的int_flag字段为0),转发设备不采集网络状态参数,删除第一数据包中转发设备对应的SR标签,得到第二数据包。Optionally, when the indication information indicates that the forwarding device does not collect network status parameters (for example, the int_flag field in FIG. 4 is 0), the forwarding device does not collect network status parameters, deletes the SR label corresponding to the forwarding device in the first data packet, and obtains a second data packet.

本申请实施例中网络状态参数可以是准转发设备的如端口号、转发设备的出端口号、转发设备的入端口时间戳、转发设备的出端口时间戳、进入出端口时的队列深度、离开出端口时的队列深度、转发设备的出端口数据包字节总数或出端口的字节总数等,具体此处不做限定。In the embodiment of the present application, the network status parameters may be the port number of the quasi-forwarding device, the egress port number of the forwarding device, the ingress port timestamp of the forwarding device, the egress port timestamp of the forwarding device, the queue depth when entering the egress port, the queue depth when leaving the egress port, the total number of bytes of data packets of the egress port of the forwarding device or the total number of bytes of the egress port, etc., which are not limited here.

为了方便理解,延续上述举例,以通信路径上转发设备的数量是5个为例进行示意性说明,转发设备的数量可以为一个或多个,具体此处不做限定。For ease of understanding, the above example is continued, and the number of forwarding devices on the communication path is 5 as an example for schematic explanation. The number of forwarding devices can be one or more, and is not specifically limited here.

如图5,以其中一条的通信路径为例,进行示意性说明。该通信路径上转发设备的数量为5个,分别为第一转发设备、第二转发设备、第三转发设备、第四转发设备以及第五转发设备。其中,假设图4中的int_flag字段为1,即指示信息指示5个转发设备采集网络状态参数。As shown in FIG5 , a communication path is taken as an example for schematic illustration. The number of forwarding devices on the communication path is 5, namely, the first forwarding device, the second forwarding device, the third forwarding device, the fourth forwarding device, and the fifth forwarding device. It is assumed that the int_flag field in FIG4 is 1, that is, the indication information indicates that the 5 forwarding devices collect network status parameters.

第一设备根据通信路径生成A数据包500之后,第一设备向第一转发设备发送A数据包500,第一转发设备收到A数据包500后,根据A数据包500中的指示信息,确定需要采集网络状态参数。第一转发设备采集第一转发设备的网络状态参数得到INT1信息,第一转发设备删除第一转发设备对应的SR标签-SR1(1),并加入采集到的INT1信息,得到B数据包501。第一转发设备根据SR1(1)可知第一转发设备将B数据包501从1号端口转出。即向第二转发设备发送B数据包501。SR1(1)括号中的1相当于图4中next_port。After the first device generates the A data packet 500 according to the communication path, the first device sends the A data packet 500 to the first forwarding device. After receiving the A data packet 500, the first forwarding device determines that the network status parameters need to be collected according to the indication information in the A data packet 500. The first forwarding device collects the network status parameters of the first forwarding device to obtain the INT1 information. The first forwarding device deletes the SR label -SR1(1) corresponding to the first forwarding device, and adds the collected INT1 information to obtain the B data packet 501. The first forwarding device can know from SR1(1) that the first forwarding device transfers the B data packet 501 out of port 1. That is, the B data packet 501 is sent to the second forwarding device. The 1 in the bracket of SR1(1) is equivalent to next_port in Figure 4.

第二转发设备获取到B数据包501之后,根据B数据包501中的指示信息,确定需要采集网络状态参数。第二转发设备采集第二转发设备的网络状态参数得到INT2信息,第二转发设备删除第二转发设备对应的SR标签-SR2(1),并加入采集到的INT2信息,得到C数据包502。第二转发设备根据SR2(1)可知第二转发设备将C数据包502从1号端口转出。即向第三转发设备发送C数据包502。After the second forwarding device obtains the B data packet 501, it determines that the network status parameters need to be collected according to the indication information in the B data packet 501. The second forwarding device collects the network status parameters of the second forwarding device to obtain INT2 information, and the second forwarding device deletes the SR label -SR2(1) corresponding to the second forwarding device, and adds the collected INT2 information to obtain the C data packet 502. According to SR2(1), the second forwarding device knows that the second forwarding device forwards the C data packet 502 from port 1. That is, the C data packet 502 is sent to the third forwarding device.

第三转发设备获取到C数据包502之后,根据C数据包502中的指示信息,确定需要采集网络状态参数。第三转发设备采集第三转发设备的网络状态参数得到INT3信息,第三转发设备删除第三转发设备对应的SR标签-SR3(2),并加入采集到的INT3信息,得到D数据包503。第三转发设备根据SR3(2)可知第三转发设备将D数据包503从2号端口转出。即向第四转发设备发送D数据包503。After the third forwarding device obtains the C data packet 502, it determines that the network status parameters need to be collected according to the indication information in the C data packet 502. The third forwarding device collects the network status parameters of the third forwarding device to obtain INT3 information, and the third forwarding device deletes the SR label -SR3(2) corresponding to the third forwarding device, and adds the collected INT3 information to obtain the D data packet 503. According to SR3(2), the third forwarding device knows that the third forwarding device forwards the D data packet 503 from port 2. That is, the D data packet 503 is sent to the fourth forwarding device.

第四转发设备的操作与上述其他转发设备的操作类似,此处不再赘述。The operation of the fourth forwarding device is similar to that of the other forwarding devices mentioned above, and will not be described in detail here.

第五转发设备在接收第四转发设备发送的E数据包504之后,根据E数据包504中的指示信息,确定需要采集网络状态参数。第五转发设备采集第五转发设备的网络状态参数得到INT5信息,第五转发设备删除第五转发设备对应的SR标签-SR5(3),并加入采集到的INT5信息,得到F数据包505。第五转发设备根据SR5(3)可知第五转发设备将F数据包505从3号端口转出。即向第二设备发送F数据包505。After receiving the E data packet 504 sent by the fourth forwarding device, the fifth forwarding device determines that the network status parameters need to be collected according to the indication information in the E data packet 504. The fifth forwarding device collects the network status parameters of the fifth forwarding device to obtain INT5 information, and the fifth forwarding device deletes the SR label -SR5(3) corresponding to the fifth forwarding device, and adds the collected INT5 information to obtain the F data packet 505. According to SR5(3), the fifth forwarding device knows that the fifth forwarding device forwards the F data packet 505 from port 3. That is, the F data packet 505 is sent to the second device.

可选地,第五转发设备为最后一跳转发设备,第五转发设备可以解析到所有SR标签已耗尽,还会剥离标识SR的以太类型字段和SR标签头。Optionally, the fifth forwarding device is the last-hop forwarding device. The fifth forwarding device may resolve that all SR labels are exhausted, and further strip the Ethernet type field and the SR label header that identify the SR.

图5所示通信路径中转发设备的数量以及具体的通信路径只是举例,具体此处不做限定。The number of forwarding devices in the communication path shown in FIG. 5 and the specific communication path are only examples and are not specifically limited here.

基于上述描述可知,转发设备将解析到的第一个SR标签中的next_port值直接作为转出端口号,因此不用做任何路由表或者标签查找,实现极地的转发时延,使用过的SR标签将被删除,防止被重复使用。同时,根据SR中的int_flag字段决定是否向第一数据包中加入INT信息。Based on the above description, the forwarding device directly uses the next_port value in the first SR label as the outgoing port number, so there is no need to do any routing table or label lookup, achieving extremely low forwarding delay, and the used SR label will be deleted to prevent it from being reused. At the same time, the int_flag field in the SR is used to decide whether to add INT information to the first data packet.

可选地,INT信息用堆栈的形式排列(即先才到的INT信息靠后)。Optionally, the INT information is arranged in a stack (ie, the INT information that arrives first is arranged at the end).

本申请实施例中的网络状态参数(即INT信息)的可选格式如表1所示:The optional format of the network status parameter (ie, INT information) in the embodiment of the present application is shown in Table 1:

表1Table 1

INT信息字段名INT information field name 长度(bit)Length (bits) 含义meaning sw_idsw_id 1616 交换机标识Switch ID ingress_portingress_port 1616 入端口号Inbound port number egress_portegress_port 1616 出端口号Outgoing port number ingress_global_timestampingress_global_timestamp 4848 入端口时间戳Inbound port timestamp egress_global_timestampegress_global_timestamp 4848 出端口时间戳Outgoing port timestamp enq_qdepthenq_qdepth 24twenty four 进入出端口时的队列深度The queue depth when entering the egress port deq_qdepthdeq_qdepth 24twenty four 离开出端口时的队列深度The queue depth when leaving the egress port egress_packet_countegress_packet_count 3232 出端口数据包字节总数Total number of outbound port data packets egress_byte_countegress_byte_count 3232 出端口的字节总数Total number of bytes outgoing from the port

其中,表1中所示的INT信息字段名、INT信息字段的长度以及INT信息的含义只是举例,具体此处不做限定。The INT information field name, the length of the INT information field, and the meaning of the INT information shown in Table 1 are only examples and are not specifically limited here.

可选地,为了后续网络指标信息的计算,转发设备可以记录各端口累积通过的字节总数以及时间戳。Optionally, for the subsequent calculation of network indicator information, the forwarding device may record the total number of bytes accumulated passing through each port and the timestamp.

本申请实施例中的第一设备可以是发送端,也可以是接收端,具体此处不做限定。当第一设备为接收端时,第一设备还可以接收第三设备发送的第三数据包,该第三数据包用于采集第一设备与第三设备之间通信路径上转发设备的网络状态参数,还第三数据包还用于确定第一设备与第三设备之间通信路径中的目标路径。The first device in the embodiment of the present application can be a transmitting end or a receiving end, which is not limited here. When the first device is a receiving end, the first device can also receive a third data packet sent by a third device, and the third data packet is used to collect network status parameters of a forwarding device on the communication path between the first device and the third device, and the third data packet is also used to determine a target path in the communication path between the first device and the third device.

206、转发设备向第二设备发送第二数据包。206. The forwarding device sends a second data packet to the second device.

转发设备生成第二数据包之后,根据SR标签向第二设备发送第二数据包。After generating the second data packet, the forwarding device sends the second data packet to the second device according to the SR label.

示例性的,延续上述举例,第五转发设备得到F数据包505之后,第五转发设备根据SR5(3)可知第五转发设备将F数据包505从3号端口转出。即向第二设备发送F数据包505。Exemplarily, continuing the above example, after the fifth forwarding device obtains the F data packet 505, the fifth forwarding device knows according to SR5(3) that the fifth forwarding device forwards the F data packet 505 out of port 3, that is, sends the F data packet 505 to the second device.

207、第二设备根据第二数据包生成探测报告。207. The second device generates a detection report according to the second data packet.

本申请实施例中的探测报告中的探测报告的情况有多种,下面分别描述:There are many situations of detection reports in the detection reports in the embodiments of the present application, which are described below respectively:

1、探测报告包括网络状态参数。1. The detection report includes network status parameters.

第二设备接收转发设备发送的第二数据包之后,打包第二数据包中的网络状态参数生成探测报告。After receiving the second data packet sent by the forwarding device, the second device packages the network status parameters in the second data packet to generate a detection report.

示例性的,延续上述举例,第二设备将INT1信息、INT2信息、INT3信息、INT4信息以及INT5信息打包生成探测报告。Exemplarily, continuing with the above example, the second device packages the INT1 information, INT2 information, INT3 information, INT4 information and INT5 information to generate a detection report.

2、探测报告包括网络指标信息。2. The detection report includes network indicator information.

本申请实施例中的网络指标信息可以是转发设备的平均带宽值、传输时延或误码率等,具体此处不做限定。The network indicator information in the embodiment of the present application may be an average bandwidth value, transmission delay or bit error rate of a forwarding device, etc., which is not specifically limited here.

第二设备接收转发设备发送的第二数据包之后,根据第二数据包中的网络状态参数计算网络指标信息。After the second device receives the second data packet sent by the forwarding device, it calculates the network indicator information according to the network status parameters in the second data packet.

示例性的,第二设备从第二数据包中获取到转发设备的入端口时间戳以及出端口时间戳,计算两者差值,得到转发设备的传输时延。Exemplarily, the second device obtains the inbound port timestamp and the outbound port timestamp of the forwarding device from the second data packet, calculates the difference between the two, and obtains the transmission delay of the forwarding device.

示例性的,第二设备从第二数据包中获取到转发设备出端口字节总数当前值以及出端口时间戳当前值。第二设备可以接收转发设备发送的字节总数历史值以及出端口时间戳历史值。并利用下述公式计算转发设备的平均带宽值:Exemplarily, the second device obtains the current value of the total number of bytes of the forwarding device outbound port and the current value of the outbound port timestamp from the second data packet. The second device can receive the historical value of the total number of bytes and the historical value of the outbound port timestamp sent by the forwarding device. And use the following formula to calculate the average bandwidth value of the forwarding device:

如果转发设备的数量是多个,可以确定多个转发设备中平均带宽值的最大值作为链路带宽值;如果转发设备的数量是一个,可以确定该转发设备的平均带宽值为链路带宽值。可以理解的是,如果转发设备的数量是多个,也可以确定多个转发设备中平均带宽值的任一个作为链路带宽值,具体此处不做限定。If there are multiple forwarding devices, the maximum value of the average bandwidth values of the multiple forwarding devices can be determined as the link bandwidth value; if there is only one forwarding device, the average bandwidth value of the forwarding device can be determined as the link bandwidth value. It can be understood that if there are multiple forwarding devices, any one of the average bandwidth values of the multiple forwarding devices can also be determined as the link bandwidth value, which is not limited here.

可选地,计算平均带宽值后,可以除以全带宽得到平均链路利用率。Optionally, after calculating the average bandwidth value, the average link utilization may be obtained by dividing it by the full bandwidth.

如果第一数据包为传输的初次数据包,上述公式中的历史值默认为0;如果第一数据包为传输的第N次数据包,第一设备记录每次传输数据包的字节总数以及出端口时间戳。采用当前值与历史值的差值计算带宽值的优势在于发生数据包丢失时,通过下一次数据包的信息依然可以准确反映这段时间的平均链路利用率,只是统计间隔增长,但不会丢失统计信息。If the first data packet is the first data packet transmitted, the historical value in the above formula defaults to 0; if the first data packet is the Nth data packet transmitted, the first device records the total number of bytes of each data packet transmitted and the outbound port timestamp. The advantage of using the difference between the current value and the historical value to calculate the bandwidth value is that when a data packet is lost, the information of the next data packet can still accurately reflect the average link utilization during this period, but the statistical interval increases, but the statistical information will not be lost.

本申请实施例中的探测报告中的探测报告的情况有多种,上面两种只是举例,具体此处不做限定。There are many situations of detection reports in the detection reports in the embodiments of the present application. The above two situations are just examples and are not limited to them here.

208、第二设备向控制器发送探测报告。208. The second device sends a detection report to the controller.

第二设备生成探测报告后,向控制器发送探测报告。After generating the detection report, the second device sends the detection report to the controller.

209、控制器根据探测报告确定网络指标信息。该步骤是可选的。209. The controller determines network indicator information according to the detection report. This step is optional.

本申请实施例中控制器根据探测报告确定网络指标信息的方式有多种,下面分别描述:In the embodiment of the present application, there are multiple ways for the controller to determine the network indicator information according to the detection report, which are described below respectively:

1、当探测报告包括网络状态参数时,控制器通过计算网络状态参数的方式得到网络指标信息。计算的方式如步骤207中转发设备计算网络指标信息的方式类似,此处不做限定。1. When the detection report includes network status parameters, the controller obtains network indicator information by calculating the network status parameters. The calculation method is similar to the method in which the forwarding device calculates the network indicator information in step 207, and is not limited here.

2、当探测报告包括网络指标信息时,控制器通过接收第二设备发送的探测报告,确定网络指标信息。2. When the detection report includes network indicator information, the controller determines the network indicator information by receiving the detection report sent by the second device.

本申请实施例中控制器根据探测报告确定网络指标信息的方式有多种,上述两种方式只是举例,具体此处不做限定。In the embodiment of the present application, there are multiple ways for the controller to determine network indicator information based on the detection report. The above two ways are just examples and are not specifically limited here.

控制器确定网络指标信息后,可以将网络指标信息存入控制器的数据库中。After the controller determines the network indicator information, the network indicator information may be stored in a database of the controller.

示例性的,对于网络指标信息为平均带宽值,控制器可以将网络状态参数以及网络指标信息记录在平均带宽值表中,如表2所示:Exemplarily, when the network indicator information is an average bandwidth value, the controller may record the network status parameters and the network indicator information in an average bandwidth value table, as shown in Table 2:

表2Table 2

交换机标识Switch ID 端口号Port Number 字节总数历史值Total bytes historical value 出端口时间戳历史值Outbound port timestamp history value 平均带宽值Average bandwidth

其中,表2中记录的内容只是举例,记录的内容根据实际需要设置,具体此处不做限定。Among them, the content recorded in Table 2 is just an example, and the recorded content is set according to actual needs and is not specifically limited here.

210、控制器向第一设备发送网络指标信息。210. The controller sends network indicator information to the first device.

控制器确定网络指标信息之后,向第一设备发送网络指标信息。After determining the network indicator information, the controller sends the network indicator information to the first device.

可选地,第一设备的数据库与控制器的数据库建立主从复制关系,控制器的数据库更新网络指标信息之后,可以实时更新到第一设备的数据库中,实现数据同步。Optionally, a master-slave replication relationship is established between the database of the first device and the database of the controller. After the network indicator information is updated in the database of the controller, it can be updated in real time to the database of the first device to achieve data synchronization.

211、第一设备根据网络指标信息确定通信路径中的目标路径。211. The first device determines a target path in the communication path according to the network indicator information.

第一设备接收控制器发送的网络指标信息之后,第一设备可以根据网络指标信息确定通信路径中的目标路径。After the first device receives the network indicator information sent by the controller, the first device may determine a target path in the communication path according to the network indicator information.

第一设备获取多个通路径的网络指标信息之后,确定目标路径。After the first device obtains network indicator information of multiple paths, it determines the target path.

示例性的,A通信路径经过三个转发设备,第一个转发设备的平均带宽值为20Gbit/s,第二转发设备的平均带宽值为40Gbit/s,第三转发设备的平均带宽值为30Gbit/s。则第一设备确定该A通信路径的链路带宽值为40Gbit/s。同理,B通信路径的链路带宽值为10Gbit/s,则第一设备确定链路带宽值较少的通信路径为目标路径,即第一设备确定B通信路径为目标路径。For example, communication path A passes through three forwarding devices, the average bandwidth value of the first forwarding device is 20Gbit/s, the average bandwidth value of the second forwarding device is 40Gbit/s, and the average bandwidth value of the third forwarding device is 30Gbit/s. Then the first device determines that the link bandwidth value of communication path A is 40Gbit/s. Similarly, the link bandwidth value of communication path B is 10Gbit/s, then the first device determines the communication path with the smaller link bandwidth value as the target path, that is, the first device determines communication path B as the target path.

示例性的,A通信路径经过三个转发设备,第一个转发设备的传输时延为3-10微秒,第二转发设备的传输时延为0.03s,第三转发设备的传输时延为0.04s。则第一设备确定该A通信路径的传输时延为0.09s。同理,B通信路径的传输时延为0.11ms,则第一设备确定传输时延较少的通信路径为目标路径,即第一设备确定A通信路径为目标路径。For example, communication path A passes through three forwarding devices, the transmission delay of the first forwarding device is 3-10 microseconds, the transmission delay of the second forwarding device is 0.03s, and the transmission delay of the third forwarding device is 0.04s. The first device determines that the transmission delay of communication path A is 0.09s. Similarly, the transmission delay of communication path B is 0.11ms, then the first device determines that the communication path with less transmission delay is the target path, that is, the first device determines that communication path A is the target path.

另外,当网络规模较大时,通信路径的数量可能数十条、或数百条等,第一设备可以通过选择最优TopK条路径的方式,确定目标路径。In addition, when the network scale is large, the number of communication paths may be dozens or hundreds, etc. The first device can determine the target path by selecting the optimal TopK paths.

对于数据中心网络,本申请还提供几种减少计算的方式。For data center networks, this application also provides several ways to reduce computation.

1、计算叶子交换机下所有服务设备的路径时,骨干交换机(leaf以上的交换机)上的可选路径是相同的,因此不需要将每一台服务设备作为终点进行计算,只需要将该叶子交换机作为终点进行选路即可。即优化终点的选取。1. When calculating the paths of all service devices under the leaf switch, the optional paths on the backbone switch (switches above the leaf) are the same, so there is no need to calculate each service device as the end point, and only the leaf switch needs to be selected as the end point. In other words, the selection of the end point is optimized.

2、服务设备计算到每一台叶子交换机的路径时,每一轮计算间不存在依赖关系,因此可以采用并行计算的方式,例如引入多线程或者多节点进行并行计算,通过将目的叶子交换机分为多组,每一组作为一个线程或者算路节点的输入进行独立计算。即每个服务设备计算一一部分网络指标信息。2. When the service device calculates the path to each leaf switch, there is no dependency between each round of calculation, so parallel computing can be used, such as introducing multi-threading or multi-node parallel computing, by dividing the destination leaf switches into multiple groups, each group as a thread or path calculation node input for independent calculation. That is, each service device calculates a part of the network indicator information.

3、每台叶子交换机下的所有服务设备到其他叶子交换机的可用路径完全相同,只需要一台服务设备完成计算即可,再结合上述的第2点,可以把根据目的叶子交换机分组后的计算任务分配到当前叶子交换机下的多台服务设备并行计算。即优化起点的选取。3. All service devices under each leaf switch have the same available paths to other leaf switches, so only one service device is needed to complete the calculation. Combined with the above point 2, the calculation tasks grouped according to the destination leaf switch can be assigned to multiple service devices under the current leaf switch for parallel calculation, which is to optimize the selection of the starting point.

示例性的,数据中心网络包括30个骨干交换机,30个叶子交换机的,每个骨干交换机下行接30个服务设备,共900个节点,跨骨干交换机的每两台服务设备间存在30条路径,假设K取16,则每台服务设备节点需要计算到其他节点的约870次30选16计算,而采用上述减少计算的方式后,每台服务设备只需要计算到某一台目的骨干交换机的一次30选16计算。Exemplarily, the data center network includes 30 backbone switches and 30 leaf switches. Each backbone switch is connected to 30 service devices downstream, with a total of 900 nodes. There are 30 paths between every two service devices across the backbone switches. Assuming K is 16, each service device node needs to calculate approximately 870 30-choose-16 calculations to other nodes. After adopting the above method of reducing calculations, each service device only needs to calculate one 30-choose-16 calculation to a certain destination backbone switch.

本申请实施例中,第一设备可以根据通信路径生成第一数据包,第一数据包可以包括源路由SR标签以及指示信息,SR标签用于通信路径上转发设备之间的通信,指示信息用于指示转发设备是否采集网络状态参数;第一设备向转发设备发送第一数据包。可以使得转发设备获知是否采集网络状态参数,有利于第一设备后续确定通信路径中网络性能较好的目标路径。In the embodiment of the present application, the first device can generate a first data packet according to the communication path, and the first data packet can include a source routing SR label and indication information, the SR label is used for communication between forwarding devices on the communication path, and the indication information is used to indicate whether the forwarding device collects network status parameters; the first device sends the first data packet to the forwarding device. This allows the forwarding device to know whether to collect network status parameters, which is beneficial for the first device to subsequently determine the target path with better network performance in the communication path.

相应于上述方法实施例给出的方法,本申请实施例还提供了相应的装置,包括用于执行上述实施例相应的模块。模块可以是软件,也可以是硬件,或者是软件和硬件结合。Corresponding to the method provided in the above method embodiment, the present application embodiment also provides a corresponding device, including a module for executing the corresponding module of the above embodiment. The module can be software, hardware, or a combination of software and hardware.

请参阅图6,本申请实施例中第一设备的一个实施例,该第一设备600包括:Please refer to FIG. 6 , which is an embodiment of a first device in an embodiment of the present application. The first device 600 includes:

接收单元601,用于获取通信路径,通信路径用于第一设备与第二设备通信;A receiving unit 601 is used to obtain a communication path, where the communication path is used for communication between a first device and a second device;

处理单元602,用于根据通信路径生成第一数据包,第一数据包包括指示信息,指示信息用于指示通信路径上的转发设备采集网络状态参数;A processing unit 602 is used to generate a first data packet according to the communication path, where the first data packet includes instruction information, and the instruction information is used to instruct a forwarding device on the communication path to collect network status parameters;

发送单元603,用于向转发设备发送第一数据包,第一数据包用于确定通信路径中的目标路径。The sending unit 603 is configured to send a first data packet to the forwarding device, where the first data packet is used to determine a target path in the communication path.

在一种可能的设计中,接收单元601,还用于获取网络指标信息,网络指标信息由网络状态参数处理得到;In a possible design, the receiving unit 601 is further used to obtain network indicator information, where the network indicator information is obtained by processing the network status parameters;

处理单元602,还用于根据网络指标信息确定通信路径中的目标路径。The processing unit 602 is further configured to determine a target path in the communication path according to the network indicator information.

发送单元603,还用于使用目标路径向第二设备发送业务数据包,业务数据包用于传输第一设备与第二设备之间的业务信息。The sending unit 603 is further configured to send a service data packet to the second device using the target path, where the service data packet is used to transmit service information between the first device and the second device.

本实施例中,第一设备中各单元所执行的操作与前述图2至图5所示实施例中描述的类似,此处不再赘述。In this embodiment, the operations performed by each unit in the first device are similar to those described in the embodiments shown in Figures 2 to 5 above, and will not be repeated here.

本实施例中,处理单元602根据通信路径生成第一数据包,并通过指示信息指示通信路径上的转发设备采集网络状态参数,使得第一数据包可以用于确定目标路径。即可以通过网络性能确定第一设备与第二设备通信的通信路径,进一步提高第一设备与第二设备之间通信的质量及效率。In this embodiment, the processing unit 602 generates a first data packet according to the communication path, and instructs the forwarding device on the communication path to collect network status parameters through the indication information, so that the first data packet can be used to determine the target path. That is, the communication path for the first device to communicate with the second device can be determined by the network performance, further improving the quality and efficiency of the communication between the first device and the second device.

请参阅图7,本申请实施例中转发设备的一个实施例,该转发设备700包括:Please refer to FIG. 7 , which is an embodiment of a forwarding device in an embodiment of the present application. The forwarding device 700 includes:

接收单元701,用于接收来自第一设备的第一数据包,第一数据包指示信息,指示信息用于指示转发设备采集网络状态参数,网络状态参数与转发设备相关;A receiving unit 701 is used to receive a first data packet from a first device, and the first data packet indication information is used to instruct a forwarding device to collect network status parameters, and the network status parameters are related to the forwarding device;

处理单元702,用于根据指示信息采集网络状态参数,得到第二数据包;The processing unit 702 is used to collect network status parameters according to the indication information to obtain a second data packet;

发送单元703,用于向第二设备发送第二数据包。The sending unit 703 is configured to send a second data packet to the second device.

在一种可能的设计中,第一数据包还包括源路由SR标签,SR标签与转发设备对应,SR标签用于转发设备的通信;In one possible design, the first data packet further includes a source routing SR label, the SR label corresponds to the forwarding device, and the SR label is used for communication of the forwarding device;

在一种可能的设计中,处理单元702,具体用于采集网络状态参数,并在删除SR标签的第一数据包中增加网络状态参数得到第二数据包;In one possible design, the processing unit 702 is specifically configured to collect network status parameters, and add the network status parameters to the first data packet from which the SR tag is deleted to obtain a second data packet;

在一种可能的设计中,发送单元703,具体用于根据SR标签向第二设备发送第二数据包。In one possible design, the sending unit 703 is specifically configured to send a second data packet to a second device according to the SR label.

本实施例中,转发设备中各单元所执行的操作与前述图2至图5所示实施例中描述的类似,此处不再赘述。In this embodiment, the operations performed by each unit in the forwarding device are similar to those described in the embodiments shown in Figures 2 to 5 above, and will not be repeated here.

本实施例中,处理单元702根据第一数据包中的指示信息采集网络状态参数,得到第二数据包。发送单元703向第二设备发送第二数据包,使得第二设备获知转发设备的网络状态参数。In this embodiment, the processing unit 702 collects network status parameters according to the indication information in the first data packet to obtain a second data packet. The sending unit 703 sends the second data packet to the second device so that the second device learns the network status parameters of the forwarding device.

请参阅图8,本申请实施例中控制器的一个实施例,该控制器800包括:Please refer to FIG8 , which is an embodiment of a controller in an embodiment of the present application. The controller 800 includes:

处理单元801,用于确定通信路径,通信路径用于第一设备与第二设备通信;The processing unit 801 is configured to determine a communication path, where the communication path is used for the first device to communicate with the second device;

发送单元802,用于向第一设备发送通信路径;A sending unit 802, configured to send a communication path to a first device;

接收单元803,用于接收第二设备发送的探测报告,探测报告与网络状态参数相关,网络状态参数与通信路径上的转发设备相关,探测报告还用于确定通信路径中的目标路径。The receiving unit 803 is used to receive a detection report sent by the second device, where the detection report is related to a network status parameter, the network status parameter is related to a forwarding device on the communication path, and the detection report is also used to determine a target path in the communication path.

在一种可能的设计中,处理单元801,还用于计算网络指标信息;发送单元802,还用于向第一设备发送网络指标信息,以使得第一设备根据网络指标信息确定通信路径中的目标路径。In one possible design, the processing unit 801 is also used to calculate network indicator information; the sending unit 802 is also used to send the network indicator information to the first device, so that the first device determines the target path in the communication path according to the network indicator information.

在一种可能的设计中,处理单元801,具体用于计算转发设备的传输时延,传输时延为入端口时间戳与出端口时间戳的差值。In one possible design, the processing unit 801 is specifically used to calculate the transmission delay of the forwarding device, where the transmission delay is the difference between the input port timestamp and the output port timestamp.

在一种可能的设计中,处理单元801,具体用于计算转发设备的平均带宽值。In one possible design, the processing unit 801 is specifically used to calculate the average bandwidth value of the forwarding device.

在一种可能的设计中,处理单元801,具体用于采用下述方式计算转发设备的平均带宽值:In one possible design, the processing unit 801 is specifically configured to calculate the average bandwidth value of the forwarding device in the following manner:

其中,字节总数当前值包括第一数据包的字节值,字节总数历史值包括上次数据包的字节值或0,出端口时间戳当前值包括第一数据包出端口时的时间戳,出端口时间戳历史值包括上次数据包出端口时的时间戳或0。Among them, the current value of the total number of bytes includes the byte value of the first data packet, the historical value of the total number of bytes includes the byte value of the last data packet or 0, the current value of the port outbound timestamp includes the timestamp when the first data packet leaves the port, and the historical value of the port outbound timestamp includes the timestamp when the last data packet leaves the port or 0.

在一种可能的设计中,处理单元801,还用于根据网络指标信息确定通信路径中的目标路径;In one possible design, the processing unit 801 is further configured to determine a target path in the communication path according to the network indicator information;

在一种可能的设计中,发送单元802,还用于向第一设备发送目标路径。In one possible design, the sending unit 802 is also used to send the target path to the first device.

本实施例中,控制器中各单元所执行的操作与前述图2至图5所示实施例中描述的类似,此处不再赘述。In this embodiment, the operations performed by each unit in the controller are similar to those described in the embodiments shown in Figures 2 to 5 above, and will not be repeated here.

本实施例中,发送单元802,向第一设备发送通信路径,即向第一设备发送需要测量网络状态参数的通信路径,减少第一设备计算通信路径带来的内存消耗。接收单元803接收探测报告,使得可以根据探测报告确定合适的目标路径。In this embodiment, the sending unit 802 sends the communication path to the first device, that is, sends the communication path that needs to measure the network status parameter to the first device, reducing the memory consumption caused by the first device calculating the communication path. The receiving unit 803 receives the detection report so that a suitable target path can be determined according to the detection report.

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.

可选地,本申请第一设备的结构可以如图9所示。该第一设备900包括主机和智能网卡。Optionally, the structure of the first device of the present application may be as shown in Figure 9. The first device 900 includes a host and a smart network card.

其中,主机和智能网卡之间通过控制通道通信,用于下发源路由路径表和收发INT探测包,控制通道的形态可以是高速串行计算机扩展总线(peripheral componentinterconnect express,PCIe)的某一个物理功能(physical function,PF)通道或虚拟功能(VF)通道,或者其他专用接口。主机完成Top K选路后将路径表下发到智能网卡中,存入其中的路径表,根据运行业务的不同,网卡上还会维护一张业务转发表或者流表,流表中除了维护具体流的状态信息,还留有一片源路由空间用于存放当前流的源路由转发标签。The host and the smart network card communicate through a control channel, which is used to send the source routing path table and send and receive INT detection packets. The control channel can be in the form of a physical function (PF) channel or a virtual function (VF) channel of a high-speed serial computer expansion bus (peripheral component interconnect express, PCIe), or other dedicated interfaces. After the host completes the Top K routing, it sends the path table to the smart network card and stores it in the path table. Depending on the running business, the network card will also maintain a business forwarding table or flow table. In addition to maintaining the status information of the specific flow, the flow table also reserves a source routing space for storing the source routing forwarding label of the current flow.

业务的转发包括发送(TX)和接收(RX),当有业务报文需要发送时,网卡在查找流表命中后会查看流表中的源路由空间,新建流的这片空间是无效的,需要进一步查询源路由路径表得到相应的标签,并存入到流表中的源路由空间,该流的后续报文就可以直接从流表中获得源路由标签,而不用二次查表,提升效率。此外,路径表可以随时独立刷新,而流表中的源路由空间不受影响,可以保证已有业务流的路径始终一致。这种卸载方式使源路由控制面和业务面解耦开来,只通过网卡配置做关联,用户和业务软件不感知源路由选路机制的存在,如果需要关闭源路由转发只需要关闭使能配置,网卡就不会再做源路由查找和封装。Business forwarding includes sending (TX) and receiving (RX). When a business message needs to be sent, the network card will check the source routing space in the flow table after searching the flow table. This space of the newly created flow is invalid. It is necessary to further query the source routing path table to obtain the corresponding label and store it in the source routing space in the flow table. The subsequent messages of the flow can directly obtain the source routing label from the flow table without a second table query, which improves efficiency. In addition, the path table can be refreshed independently at any time, and the source routing space in the flow table is not affected, which can ensure that the path of the existing business flow is always consistent. This offloading method decouples the source routing control plane and the business plane, and only associates them through the network card configuration. Users and business software are not aware of the existence of the source routing selection mechanism. If you need to turn off source routing forwarding, you only need to turn off the enable configuration, and the network card will no longer perform source routing lookup and encapsulation.

由于只需要在新建流时查询一次源路由路径表,对查表性能要求不高,本发明卸载框架中网卡上只cache部分路径表,而全量的路径表存储在主机控制面的内存中,这样可以极大减少对网卡资源的需求。去往同一目的节点的K条等价路径在路径表中归为一组,每当有新流建立时,智能网卡通过轮询选路的方式选择一条新的路径,以此实现K条路径间的负载均衡。对于有明显大象流和老鼠流的业务模型,可以在选路均衡时考虑权重。通过网卡对K条路径的选路均衡并配合控制面实时刷新Top K路径,主动避开已有拥塞路径,以此实现有效的全网负载均衡。Since the source routing path table only needs to be queried once when a new flow is created, the table lookup performance requirements are not high. In the unloading framework of the present invention, only part of the path table is cached on the network card, and the full path table is stored in the memory of the host control plane, which can greatly reduce the demand for network card resources. K equivalent paths to the same destination node are grouped together in the path table. Whenever a new flow is established, the intelligent network card selects a new path by polling routing, thereby achieving load balancing between the K paths. For business models with obvious elephant flows and mouse flows, weights can be considered when selecting routing balance. Through the routing balance of the K paths by the network card and the real-time refresh of the Top K paths in cooperation with the control plane, the existing congested paths are actively avoided, thereby achieving effective load balancing of the entire network.

转发设备在解析到数据包中的源路由标签号之后,直接将数据包转发到对应的出端口,期间不做任何查表操作,可以实现极地的转发时延。这种转发方式同时也极大的降低了转发设备转发逻辑的复杂度,并且在配置管理上不用区分网络边缘和中心的交换机。After parsing the source routing label number in the data packet, the forwarding device directly forwards the data packet to the corresponding outbound port without any table lookup operation, which can achieve extremely low forwarding delay. This forwarding method also greatly reduces the complexity of the forwarding logic of the forwarding device, and there is no need to distinguish between switches at the edge and center of the network in configuration management.

请参阅图10,为本申请的实施例提供的上述实施例中所涉及的通信设备1000的一种可能的示意图,该通信设备具体可以为前述实施例中的第一设备、转发设备、控制器或者第二设备,该通信设备1000可以包括但不限于处理器1001、通信端口1002、存储器1003、总线1004,在本申请的实施例中,处理器1001用于对通信设备1000的动作进行控制处理。Please refer to Figure 10, which is a possible schematic diagram of the communication device 1000 involved in the above-mentioned embodiments provided in the embodiments of the present application. The communication device can specifically be the first device, forwarding device, controller or second device in the aforementioned embodiments. The communication device 1000 may include but is not limited to a processor 1001, a communication port 1002, a memory 1003, and a bus 1004. In the embodiments of the present application, the processor 1001 is used to control and process the actions of the communication device 1000.

此外,处理器1001可以是中央处理器单元,通用处理器,数字信号处理器,专用集成电路,现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。该处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理器和微处理器的组合等等。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。In addition, the processor 1001 can be a central processing unit, a general-purpose processor, a digital signal processor, an application-specific integrated circuit, a field programmable gate array or other programmable logic device, a transistor logic device, a hardware component or any combination thereof. It can implement or execute various exemplary logic blocks, modules and circuits described in conjunction with the disclosure of this application. The processor can also be a combination that implements a computing function, such as a combination of one or more microprocessors, a combination of a digital signal processor and a microprocessor, and the like. Those skilled in the art can clearly understand that for the convenience and simplicity of description, the specific working process of the above-described system, device and unit can refer to the corresponding process in the aforementioned method embodiment, and will not be repeated here.

需要说明的是,图10所示通信设备具体可以用于实现图2至图5对应方法实施例中第一设备、转发设备、控制器或者第二设备所执行的步骤的功能,并实现第一设备、转发设备、控制器或者第二设备对应的技术效果,图10所示通信设备的具体实现方式,均可以参考图2至图5对应的各个方法实施例中的叙述,此处不再一一赘述。It should be noted that the communication device shown in Figure 10 can be specifically used to implement the functions of the steps performed by the first device, forwarding device, controller or second device in the method embodiments corresponding to Figures 2 to 5, and to achieve the technical effects corresponding to the first device, forwarding device, controller or second device. The specific implementation method of the communication device shown in Figure 10 can refer to the description in the various method embodiments corresponding to Figures 2 to 5, and will not be repeated here one by one.

本申请实施例还提供一种存储一个或多个计算机执行指令的计算机可读存储介质,当计算机执行指令被处理器执行时,该处理器执行如前述实施例中第一设备可能的实现方式所述的方法,其中,该第一设备具体可以为前述图2至图5对应方法实施例中的第一设备。An embodiment of the present application also provides a computer-readable storage medium storing one or more computer-executable instructions. When the computer-executable instructions are executed by a processor, the processor executes a method as described in a possible implementation method of the first device in the aforementioned embodiment, wherein the first device can specifically be the first device in the method embodiments corresponding to the aforementioned Figures 2 to 5.

本申请实施例还提供一种存储一个或多个计算机执行指令的计算机可读存储介质,当计算机执行指令被处理器执行时,该处理器执行如前述实施例中转发设备可能的实现方式所述的方法,其中,该转发设备具体可以为前述图2至图5对应方法实施例中的转发设备。An embodiment of the present application also provides a computer-readable storage medium storing one or more computer-executable instructions. When the computer-executable instructions are executed by a processor, the processor executes a method as described in the possible implementation method of the forwarding device in the aforementioned embodiment, wherein the forwarding device can specifically be the forwarding device in the method embodiments corresponding to the aforementioned Figures 2 to 5.

本申请实施例还提供一种存储一个或多个计算机执行指令的计算机可读存储介质,当计算机执行指令被处理器执行时,该处理器执行如前述实施例中控制器可能的实现方式所述的方法,其中,该控制器具体可以为前述图2至图5对应方法实施例中的控制器。An embodiment of the present application also provides a computer-readable storage medium storing one or more computer-executable instructions. When the computer-executable instructions are executed by a processor, the processor executes a method as described in a possible implementation method of the controller in the aforementioned embodiment, wherein the controller can specifically be the controller in the method embodiments corresponding to the aforementioned Figures 2 to 5.

本申请实施例还提供一种存储一个或多个计算机的计算机程序产品,当计算机程序产品被该处理器执行时,该处理器执行上述第一设备可能实现方式的方法,其中,该第一设备具体可以为前述图2至图5对应方法实施例中的第一设备。An embodiment of the present application also provides a computer program product storing one or more computers. When the computer program product is executed by the processor, the processor executes the method of the possible implementation mode of the above-mentioned first device, wherein the first device can specifically be the first device in the method embodiments corresponding to Figures 2 to 5 above.

本申请实施例还提供一种存储一个或多个计算机的计算机程序产品,当计算机程序产品被该处理器执行时,该处理器执行上述转发设备可能实现方式的方法,其中,该转发设备具体可以为前述图2至图5对应方法实施例中的转发设备。An embodiment of the present application also provides a computer program product storing one or more computers. When the computer program product is executed by the processor, the processor executes the method of the possible implementation of the above-mentioned forwarding device, wherein the forwarding device can specifically be the forwarding device in the method embodiments corresponding to the aforementioned Figures 2 to 5.

本申请实施例还提供一种存储一个或多个计算机的计算机程序产品,当计算机程序产品被该处理器执行时,该处理器执行上述控制器可能实现方式的方法,其中,该控制器具体可以为前述图2至图5对应方法实施例中的控制器。An embodiment of the present application also provides a computer program product storing one or more computers. When the computer program product is executed by the processor, the processor executes the method of the possible implementation of the above-mentioned controller, wherein the controller can specifically be the controller in the method embodiments corresponding to the aforementioned Figures 2 to 5.

本申请实施例还提供一种存储一个或多个计算机的计算机程序产品,当计算机程序产品被该处理器执行时,该处理器执行上述第二设备可能实现方式的方法,其中,该第二设备具体可以为前述图2至图5对应方法实施例中的第二设备。An embodiment of the present application also provides a computer program product storing one or more computers. When the computer program product is executed by the processor, the processor executes the method of the possible implementation mode of the above-mentioned second device, wherein the second device can specifically be the second device in the method embodiments corresponding to the aforementioned Figures 2 to 5.

本申请实施例还提供了一种芯片系统,该芯片系统包括处理器,用于支持第一设备实现上述第一设备可能的实现方式中所涉及的功能。在一种可能的设计中,该芯片系统还可以包括存储器,存储器,用于保存该第一设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件,其中,该第一设备具体可以为前述图2至图5对应方法实施例中第一设备。The embodiment of the present application also provides a chip system, which includes a processor for supporting a first device to implement the functions involved in the possible implementation of the first device. In one possible design, the chip system may also include a memory, which is used to store the necessary program instructions and data of the first device. The chip system may be composed of a chip, or may include a chip and other discrete devices, wherein the first device may specifically be the first device in the method embodiments corresponding to Figures 2 to 5 above.

本申请实施例还提供了一种芯片系统,该芯片系统包括处理器,用于支持转发设备实现上述转发设备可能的实现方式中所涉及的功能。在一种可能的设计中,该芯片系统还可以包括存储器,存储器,用于保存该转发设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件,其中,该转发设备具体可以为前述图2至图5对应方法实施例中转发设备。The embodiment of the present application also provides a chip system, which includes a processor for supporting a forwarding device to implement the functions involved in the possible implementation of the forwarding device. In one possible design, the chip system may also include a memory, which is used to store the necessary program instructions and data for the forwarding device. The chip system may be composed of a chip, or may include a chip and other discrete devices, wherein the forwarding device may specifically be the forwarding device in the method embodiments corresponding to Figures 2 to 5 above.

本申请实施例还提供了一种芯片系统,该芯片系统包括处理器,用于支持控制器实现上述控制器可能的实现方式中所涉及的功能。在一种可能的设计中,该芯片系统还可以包括存储器,存储器,用于保存该控制器必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件,其中,该控制器具体可以为前述图2至图5对应方法实施例中控制器。The embodiment of the present application also provides a chip system, which includes a processor for supporting the controller to implement the functions involved in the possible implementation of the above controller. In one possible design, the chip system may also include a memory, which is used to store the necessary program instructions and data of the controller. The chip system can be composed of a chip, or it can include a chip and other discrete devices, wherein the controller can specifically be the controller in the method embodiment corresponding to Figures 2 to 5 above.

本申请实施例还提供了一种芯片系统,该芯片系统包括处理器,用于支持第二设备实现上述第二设备可能的实现方式中所涉及的功能。在一种可能的设计中,该芯片系统还可以包括存储器,存储器,用于保存该第二设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件,其中,该第二设备具体可以为前述图2至图5对应方法实施例中第二设备。The embodiment of the present application also provides a chip system, which includes a processor for supporting a second device to implement the functions involved in the possible implementation of the second device. In one possible design, the chip system may also include a memory, which is used to store the necessary program instructions and data for the second device. The chip system may be composed of a chip, or may include a chip and other discrete devices, wherein the second device may specifically be the second device in the method embodiments corresponding to Figures 2 to 5 above.

本申请实施例还提供了一种网络系统架构,该网络系统架构包括上述通信设备,该通信设备具体可以为前述图2至图5对应方法实施例中第一设备,和/或转发设备,和/或控制器和/或第二设备。An embodiment of the present application also provides a network system architecture, which includes the above-mentioned communication device, and the communication device can specifically be the first device, and/or forwarding device, and/or controller and/or second device in the method embodiments corresponding to Figures 2 to 5 above.

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interfaces, devices or units, which can be electrical, mechanical or other forms.

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions to enable a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), disk or optical disk and other media that can store program code.

Claims (14)

1.一种服务设备,其特征在于,所述服务设备包括主机和智能网卡,所述主机与所述智能网卡通过控制通道通信,其中:1. A service device, characterized in that the service device includes a host and an intelligent network card, and the host communicates with the intelligent network card through a control channel, wherein: 所述主机,用于选择多条路径,并生成路由路径表,发给所述智能网卡;The host is used to select multiple paths, generate a routing path table, and send it to the smart network card; 所述智能网卡,用于基于所述路由路径表,对多条业务报文,按预设规则进行路径查找,将多条业务报文均衡到不同的路径。The smart network card is used to perform path search for multiple service messages based on the routing path table according to preset rules, and balance the multiple service messages to different paths. 2.根据权利要求1所述的服务设备,其特征在于,所述智能网卡,用于基于所述路由路径表,对多条业务报文,按预设规则进行路径查找,将多条业务报文均衡到不同的路径,包括:2. The service device according to claim 1, characterized in that the smart network card is used to perform path search for multiple service messages based on the routing path table according to preset rules, and search the multiple service messages according to preset rules. The text is balanced into different paths, including: 所述智能网卡用于:The smart network card is used for: 根据多条业务报文中每个业务报文查找流表,在所述流表中不存在与所述业务报文对应的路径的情况下,Search the flow table according to each service packet in the multiple service packets. If there is no path corresponding to the service packet in the flow table, 将所述路由路径表中与所述业务报文对应的路径加载到所述流表中;Load the path corresponding to the service message in the routing path table into the flow table; 按所述预设规则进行路径查找,从所述多条路径中确定当前路径,其中,每个业务报文对应的当前路径不同,或者多个业务报文中的部分业务报文的当前路径不同;Perform path search according to the preset rules, and determine the current path from the multiple paths, wherein the current path corresponding to each service message is different, or the current paths of some service messages in the multiple service messages are different. ; 将多条业务报文均衡到对应的所述不同的路径。Balance multiple service packets to the corresponding different paths. 3.根据权利要求1所述的服务设备,其特征在于,所述智能网卡,用于基于所述路由路径表,对多条业务报文,按预设规则进行路径查找,将多条业务报文均衡到不同的路径,包括:3. The service device according to claim 1, characterized in that the smart network card is used to perform path search for multiple service messages based on the routing path table according to preset rules, and search the multiple service messages according to preset rules. The text is balanced into different paths, including: 所述智能网卡用于:The smart network card is used for: 根据多条业务报文中每个业务报文查找流表,获取所述流表中与所述业务报文对应的多条路径,其中,所述多条路径为所述智能网卡从所述路由路径表中加载至所述流表;按所述预设规则进行路径查找,从所述多条路径中确定当前路径,其中,每个业务报文对应的当前路径不同,或者多个业务报文中的部分业务报文的当前路径不同;Search the flow table according to each service packet in the multiple service packets to obtain multiple paths corresponding to the service packets in the flow table, where the multiple paths are the route from the smart network card to the routing table. The path table is loaded into the flow table; path search is performed according to the preset rules, and the current path is determined from the multiple paths, where the current path corresponding to each service message is different, or multiple service messages The current paths of some service packets in are different; 将多条业务报文均衡到对应的所述不同的路径。Balance multiple service packets to the corresponding different paths. 4.根据权利要求2或3所述的服务设备,其特征在于,所述智能网卡用于按所述预设规则进行路径查找,从所述多条路径中确定当前路径包括:4. The service device according to claim 2 or 3, characterized in that the smart network card is used to perform path search according to the preset rules, and determining the current path from the multiple paths includes: 所述智能网卡用于通过轮询选路的方式选择所述多条路径中的一条作为当前路径;The smart network card is used to select one of the multiple paths as the current path through polling routing; 或者,所述智能网卡用于基于多条路径的权重从所述多条路径中确定一条作为所述当前路径。Alternatively, the smart network card is configured to determine one of the multiple paths as the current path based on the weights of the multiple paths. 5.根据权利要求1-4任一项所述的服务设备,其特征在于,所述智能网卡还用于,在每条业务报文中封装与所述业务报文对应的路径之后,将所述业务报文发送给路由器。5. The service device according to any one of claims 1 to 4, characterized in that the smart network card is also used to encapsulate the path corresponding to the service message in each service message. The above service packet is sent to the router. 6.根据权利要求1-5任一所述的服务设备,其特征在于,所述多条路径为所述服务设备到目的设备之间的多条路径中路径延时小于等于第一预设阈值的路径;或者6. The service device according to any one of claims 1 to 5, characterized in that the plurality of paths are paths between the service device and the destination device with path delays less than or equal to a first preset threshold. path; or 所述多条路径为所述服务设备到目的设备之间的多条路径中带宽大于等于第二预设阈值的路径。The multiple paths are paths with a bandwidth greater than or equal to the second preset threshold among the multiple paths between the service device and the destination device. 7.一种通信方法,其特征在于,应用于服务设备,所述服务设备包括主机和智能网卡,所述主机与所述智能网卡通过控制通道通信,所述方法包括:7. A communication method, characterized in that it is applied to service equipment. The service equipment includes a host and an intelligent network card. The host communicates with the intelligent network card through a control channel. The method includes: 所述主机选择多条路径,并生成路由路径表,发给所述智能网卡;The host selects multiple paths, generates a routing path table, and sends it to the smart network card; 所述智能网卡基于所述路由路径表,对多条业务报文,按预设规则进行路径查找,将多条业务报文均衡到不同的路径。Based on the routing path table, the smart network card performs path search for multiple service messages according to preset rules, and balances the multiple service messages to different paths. 8.根据权利要求7所述的通信方法,其特征在于,所述智能网卡基于所述路由路径表,对多条业务报文,按预设规则进行路径查找,将多条业务报文均衡到不同的路径包括:8. The communication method according to claim 7, characterized in that, based on the routing path table, the smart network card performs path search for multiple service messages according to preset rules, and balances the multiple service messages to Different paths include: 所述智能网卡根据多条业务报文中每个业务报文查找流表,在所述流表中不存在与所述业务报文对应的路径的情况下,The smart network card searches the flow table according to each service packet in the plurality of service packets. If there is no path corresponding to the service packet in the flow table, 将所述路由路径表中与所述业务报文对应的路径加载到所述流表中;Load the path corresponding to the service message in the routing path table into the flow table; 按所述预设规则进行路径查找,从所述多条路径中确定当前路径,其中,每个业务报文对应的当前路径不同,或者多个业务报文中的部分业务报文的当前路径不同;Perform path search according to the preset rules, and determine the current path from the multiple paths, wherein the current path corresponding to each service message is different, or the current paths of some service messages in the multiple service messages are different. ; 将多条业务报文均衡到对应的所述不同的路径。Balance multiple service packets to the corresponding different paths. 9.根据权利要求7所述的通信方法,其特征在于,所述智能网卡基于所述路由路径表,对多条业务报文,按预设规则进行路径查找,将多条业务报文均衡到不同的路径包括:9. The communication method according to claim 7, characterized in that, based on the routing path table, the smart network card performs path search for multiple service messages according to preset rules, and balances the multiple service messages to Different paths include: 所述智能网卡根据多条业务报文中每个业务报文查找流表,获取所述流表中与所述业务报文对应的多条路径,其中,所述多条路径为所述智能网卡从所述路由路径表中加载至所述流表;The smart network card searches the flow table according to each service message in the multiple service messages, and obtains multiple paths corresponding to the service messages in the flow table, where the multiple paths are the paths of the smart network card. Load from the routing path table to the flow table; 按所述预设规则进行路径查找,从所述多条路径中确定当前路径,其中,每个业务报文对应的当前路径不同,或者多个业务报文中的部分业务报文的当前路径不同;Perform path search according to the preset rules, and determine the current path from the multiple paths, wherein the current path corresponding to each service message is different, or the current paths of some service messages in the multiple service messages are different. ; 将多条业务报文均衡到对应的所述不同的路径。Balance multiple service packets to the corresponding different paths. 10.根据权利要求8或9所述的通信方法,其特征在于,所述按所述预设规则进行路径查找,从所述多条路径中确定当前路径包括:10. The communication method according to claim 8 or 9, wherein the path search according to the preset rules and determining the current path from the multiple paths includes: 通过轮询选路的方式选择所述多条路径中的一条作为当前路径;Select one of the multiple paths as the current path through polling routing; 或者,基于多条路径的权重从所述多条路径中确定一条作为所述当前路径。Alternatively, one of the multiple paths is determined as the current path based on the weights of the multiple paths. 11.根据权利要求7-10任一项所述的通信方法,其特征在于,所述通信方法还包括:所述智能网卡在每条业务报文中封装与所述业务报文对应的路径之后,将所述业务报文发送给路由器。11. The communication method according to any one of claims 7-10, characterized in that the communication method further includes: the intelligent network card encapsulates the path corresponding to the service message in each service message. , sending the service packet to the router. 12.根据权利要求7-11任一项所述的通信方法,其特征在于,所述多条路径为所述服务设备到目的设备之间的多条路径中路径延时小于等于第一预设阈值的路径;或者12. The communication method according to any one of claims 7 to 11, characterized in that the plurality of paths are paths between the service device and the destination device with path delays less than or equal to the first preset value. path to the threshold; or 所述多条路径为所述服务设备到目的设备之间的多条路径中带宽大于等于第二预设阈值的路径。The multiple paths are paths with a bandwidth greater than or equal to the second preset threshold among the multiple paths between the service device and the destination device. 13.一种数据包,其特征在于,所述数据包包括源路由SR标签、指示信息及出端口号,所述SR标签用于表示通信路径上转发设备之间的通信,所述指示信息用于指示转发设备是否采集网络状态参数,所述出端口号表示所述数据包转发到的出端口号。13. A data packet, characterized in that the data packet includes a source routing SR label, indication information and an egress port number. The SR label is used to represent communication between forwarding devices on the communication path. The indication information is To indicate whether the forwarding device collects network status parameters, the egress port number indicates the egress port number to which the data packet is forwarded. 14.根据权利要求13所述的数据包,其特征在于,所述出端口号为第一设备转发至转发设备的出端口号;14. The data packet according to claim 13, wherein the egress port number is the egress port number forwarded by the first device to the forwarding device; 或者,所述出端口号为转发设备转发至下一跳转发设备的出端口号。Alternatively, the egress port number is the egress port number forwarded by the forwarding device to the next hop forwarding device.
CN202310849228.7A 2020-09-08 2020-09-08 Communication system, data processing method and related equipment Pending CN116866249A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310849228.7A CN116866249A (en) 2020-09-08 2020-09-08 Communication system, data processing method and related equipment

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202310849228.7A CN116866249A (en) 2020-09-08 2020-09-08 Communication system, data processing method and related equipment
CN202010934858.0A CN114157595B (en) 2020-09-08 2020-09-08 Communication system, data processing method and related equipment

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN202010934858.0A Division CN114157595B (en) 2020-09-08 2020-09-08 Communication system, data processing method and related equipment

Publications (1)

Publication Number Publication Date
CN116866249A true CN116866249A (en) 2023-10-10

Family

ID=80462267

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202010934858.0A Active CN114157595B (en) 2020-09-08 2020-09-08 Communication system, data processing method and related equipment
CN202310849228.7A Pending CN116866249A (en) 2020-09-08 2020-09-08 Communication system, data processing method and related equipment

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202010934858.0A Active CN114157595B (en) 2020-09-08 2020-09-08 Communication system, data processing method and related equipment

Country Status (2)

Country Link
CN (2) CN114157595B (en)
WO (1) WO2022052800A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11671350B1 (en) * 2022-08-15 2023-06-06 Red Hat, Inc. Data request servicing using multiple paths of smart network interface cards
KR20240025226A (en) * 2022-08-18 2024-02-27 삼성전자주식회사 System on chip, data processing system having the same, and operating method thereof

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101646218B (en) * 2009-08-14 2012-11-21 南京工业大学 GOP-based multi-path source routing protocol implementation method
US8837277B2 (en) * 2011-06-01 2014-09-16 Cisco Technology, Inc. Source routing convergence in constrained computer networks
US9270584B2 (en) * 2012-02-28 2016-02-23 Cisco Technology, Inc. Diverse paths using a single source route in computer networks
US9350654B1 (en) * 2013-07-18 2016-05-24 Juniper Networks, Inc. Microloop protection for multi-protocol label switching paths
US10063464B2 (en) * 2013-07-26 2018-08-28 Huawei Technologies Co., Ltd. Protection switched source routing
WO2016091311A1 (en) * 2014-12-11 2016-06-16 Telefonaktiebolaget Lm Ericsson (Publ) Methods and device for network tomography
US9736063B2 (en) * 2015-02-17 2017-08-15 Huawei Technologies Co., Ltd. Service chaining using source routing
CN104702468B (en) * 2015-03-05 2019-02-26 华为技术有限公司 Method, apparatus and system for determining transmission path
US9742648B2 (en) * 2015-03-23 2017-08-22 Brocade Communications Systems, Inc. Efficient topology failure detection in SDN networks
CN104780095A (en) * 2015-04-30 2015-07-15 杭州华三通信技术有限公司 Path detection method and device in SDN
CN108092888B (en) * 2017-10-31 2021-06-08 华为技术有限公司 A transmission method, gateway and transmission system based on overlay network
CN108111432B (en) * 2017-12-27 2021-07-02 新华三技术有限公司 Message forwarding method and device
CN110011915A (en) * 2018-01-04 2019-07-12 杭州达乎科技有限公司 SDN network framework, flow transmission control method and device based on SDN
CN108199924B (en) * 2018-01-26 2020-02-18 北京邮电大学 Network-wide traffic visualization method and device based on in-band network telemetry
CN116208525A (en) * 2018-06-06 2023-06-02 华为技术有限公司 A detection method, device and system for a data packet
CN108566336A (en) * 2018-07-24 2018-09-21 迈普通信技术股份有限公司 A kind of network path acquisition methods and equipment
CN110890994B (en) * 2018-09-11 2022-06-28 华为技术有限公司 Method, device and system for determining message forwarding path
CN109756421B (en) * 2019-01-23 2021-07-16 华南理工大学 A congestion control system and method based on OpenFlow technology
CN110752993B (en) * 2019-10-24 2022-02-25 新华三信息安全技术有限公司 Message forwarding method and device

Also Published As

Publication number Publication date
WO2022052800A1 (en) 2022-03-17
CN114157595A (en) 2022-03-08
CN114157595B (en) 2023-07-04

Similar Documents

Publication Publication Date Title
US9246818B2 (en) Congestion notification in leaf and spine networks
EP2904745B1 (en) Method and apparatus for accelerating forwarding in software-defined networks
US9154394B2 (en) Dynamic latency-based rerouting
US8427958B2 (en) Dynamic latency-based rerouting
US8677011B2 (en) Load distribution system, load distribution method, apparatuses constituting load distribution system, and program
US8792506B2 (en) Inter-domain routing in an n-ary-tree and source-routing based communication framework
CN105610709B (en) Big current load equilibrium System and method for based on SDN
CN111107001B (en) Method for segment source route in network and storage medium
Ye et al. A weighted ECMP load balancing scheme for data centers using P4 switches
Wang et al. Implementation of multipath network virtualization with SDN and NFV
KR20120036903A (en) Inter-node link aggregation system and method
CN103957157B (en) Route method for network interface to define forwarding rule
WO2017198019A1 (en) Data offloading method and device in slice network
WO2012109910A1 (en) Routing method and device for link aggregation
CN114157595B (en) Communication system, data processing method and related equipment
TWI543567B (en) Device for multipath routing of packets in computer networking and method thereof
CN115733783A (en) Flow optimization method and system based on IPv6 segmented routing and in-band network telemetry
WO2024152938A1 (en) Method for forwarding in-network computing message, forwarding node and computer storage medium
Alanazi et al. CAFT: Congestion-aware fault-tolerant load balancing for three-tier clos data centers
US20150381775A1 (en) Communication system, communication method, control apparatus, control apparatus control method, and program
CN113595809A (en) Flow monitoring method, related equipment and system
WO2022267083A1 (en) Path determination methods and apparatus
Chang et al. A congestion aware multi-path label switching in data centers using programmable switches
CN106161269A (en) A kind of data pack transmission method, controller and switch
EP4277226A1 (en) Packet transmission method, transmission control method, apparatus, and system

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