Network congestion control method, communication apparatus, storage medium and program product
By introducing a first flag bit and a second flag bit into the service message, the problem of the encapsulation difference between fixed-length and incremental-length congestion control signals is solved, enabling efficient parsing and processing by network nodes and supporting the extension of new types and subtypes.
Patent Information
- Application Number
- PCT/CN2025/077660
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-07-01
- Filing Date
- 2025-02-17
- Publication Date
- 2026-01-08
AI Technical Summary
In existing technologies, the encapsulation methods for fixed-length and incremental-length congestion control signals differ significantly, making it difficult to uniformly encapsulate and efficiently process them in service messages.
By introducing a first flag bit and at least one second flag bit into the service message, the first flag bit is used to indicate the type of congestion control signal and the second flag bit is used to indicate the subtype, thus achieving unified encapsulation of different types of congestion control signals.
It enables efficient parsing and processing of congestion control signals by network nodes, reduces the parsing performance requirements of network nodes, and supports the extension of new types and subtypes.
Smart Images

Figure CN2025077660_08012026_PF_FP_ABST
Abstract
Description
Network congestion control method, communication device, storage medium, and program product
[0001] The present disclosure claims priority to Chinese Patent Application No. 202410878499.X, filed on July 01, 2024, the entire contents of which are incorporated herein by reference. TECHNICAL FIELD
[0002] The present disclosure relates to the field of communication technology, and in particular, to a network congestion control method, a communication device, a storage medium, and a program product. BACKGROUND
[0003] The congestion control function is an important function in a data communication network, which means that a business message sent by a sending end of a business carries a congestion control signal, a routing node fills and / or modifies the congestion control signal, and then a receiving end of the business feeds back the congestion control signal to the sending end of the business, and the sending end of the business adjusts the sending rate of the business message according to the congestion control signal to achieve the purpose of congestion control. SUMMARY
[0004] In one aspect, a network congestion control method is provided. The network congestion control method comprises:
[0005] obtaining a business message, the business message comprising a first flag bit and at least one second flag bit, the first flag bit being used to indicate a type of at least one type of congestion control signal carried by the business message, the at least one second flag bit corresponding to the at least one type of congestion control signal, one of the at least one second flag bit being used to indicate a sub-type of the type of congestion control signal corresponding to the second flag bit;
[0006] processing the business message according to the first flag bit and the at least one second flag bit.
[0007] In another aspect, a network congestion control device is provided. The network congestion control device comprises an obtaining module and a processing module.
[0008] The obtaining module is configured to obtain a business message, the business message comprising a first flag bit and at least one second flag bit, the first flag bit being used to indicate a type of at least one type of congestion control signal carried by the business message, the at least one second flag bit corresponding to the at least one type of congestion control signal, one of the at least one second flag bit being used to indicate a sub-type of the type of congestion control signal corresponding to the second flag bit;
[0009] The processing module is configured to process the business message according to the first flag bit and the at least one second flag bit.
[0010] In yet another aspect, a communication apparatus is provided. The communication apparatus includes a processor and a memory storing instructions executable by the processor. The processor is configured to execute the instructions to cause the communication apparatus to perform the network congestion control method in the above aspect.
[0011] In yet another aspect, a computer-readable storage medium is provided. The computer-readable storage medium stores computer program instructions, which, when executed by a processor, implement the network congestion control method in the above aspect.
[0012] In yet another aspect, a computer program product is provided. The computer program product includes computer program instructions, which, when executed by a processor, implement the network congestion control method in the above aspect. BRIEF DESCRIPTION OF DRAWINGS
[0013] In order to more clearly illustrate the technical solutions in the present disclosure, the following will briefly introduce the drawings needed to be used in some embodiments of the present disclosure. Obviously, the drawings described in the following description are only some of the drawings of the present disclosure, and other drawings can also be obtained by those skilled in the art based on these drawings.
[0014] FIG. 1 is a system architecture diagram of a communication system according to some embodiments of the present disclosure.
[0015] FIG. 2 is a flow diagram of a network congestion control method according to some embodiments of the present disclosure.
[0016] FIG. 3 is a structural diagram of a network congestion control apparatus according to some embodiments of the present disclosure.
[0017] FIG. 4 is a structural diagram of a network congestion control apparatus according to some embodiments of the present disclosure. DETAILED DESCRIPTION
[0018] In order to make those skilled in the art better understand the technical solutions of the embodiments of the present disclosure, the following will combine the drawings in the present disclosure to clearly and completely describe the technical solutions in the present disclosure. Obviously, the described embodiments are only some of the embodiments of the present disclosure, not all the embodiments. Based on the embodiments in the present disclosure, all other embodiments obtained by those skilled in the art without creative labor are within the protection scope of the present disclosure.
[0019] It should be noted that in the present disclosure, the words "exemplary" or "for example" are used on the basis and in the sense of accommodation to facilitate provision of example embodiments, examples, or examples. Any embodiment or design scheme described as "exemplary" or "for example" in the present disclosure should not be interpreted as more preferred or more advantageous than other embodiments or design schemes. Rather, the use of "exemplary" or "for example" and the like is intended to present the relevant concept in a specific manner.
[0020] Hereinafter, the terms "first", "second", and the like are used only for descriptive purposes, and should not be construed as indicating or implying relative importance or implicitly indicating the number of indicated technical features. Therefore, the features defined with "first", "second", and the like can explicitly or implicitly include one or more of the features.
[0021] In the description of the present disclosure, unless otherwise specified, the symbol " / " represents the relationship of "or", for example, A / B can represent A or B. "And / or" in this document only represents a description of the relationship between the associated objects, which means that there can be three kinds of relationships, for example, A and / or B can represent: only A, only B, and A and B. In addition, "at least one" means one or more, and "multiple" means two or more.
[0022] There are different types of congestion control signals, mainly including two types: one type is the congestion control signal whose length remains unchanged from the service sending end to the service receiving end, which is called length-fixed type congestion control signal. The other type is the congestion control signal whose length increases hop by hop from the service sending end to the service receiving end, which is called length-increasing type congestion control signal. The packaging methods of these two types of congestion control signals are quite different.
[0023] The length-increasing congestion control signal can be enhanced high precision congestion control (HPCC++) in-band telemetry information. A manner in which an Internet protocol version 6 (IPv6) packet carries the HPCC++ in-band telemetry information is referred to as in situ operations, administration, and maintenance (IOAM). The IOAM uses a hop-by-hop option in an IPv6 extension header to carry an IOAM congestion control signal, and an IOAM congestion control signal for HPCC++ includes subtypes such as an ingress interface identifier, an egress interface identifier, an ingress port timestamp, a node transmission delay, a node queue depth, and the like. In the forwarding of a service packet carrying the IOAM congestion control signal for HPCC++, each node along the way fills the IOAM congestion control signal of the node into the service packet, and then the receiving end of the service feeds back the IOAM congestion control signals filled in by each node along the way to the sending end of the service, and then the sending end of the service can adjust the sending rate of the service packet based on the HPCC++ congestion control algorithm.
[0024] Table 1 is a message format provided by an embodiment of the present disclosure, in which an IPv6 extension header carries an IOAM congestion control signal.
[0025] Table 1
[0026] The size of the IOAM congestion control signal is proportional to the number of nodes passed through by the service packet, and increases with the increase in the number of nodes passed through by the service packet, and therefore is referred to as a length-increasing congestion control signal.
[0027] The length-fixed congestion control signal can be information contained in a congestion signaling tag (CSIG-TAG). The CSIG-TAG is located between an Ethernet media access control (MAC) message header and an IPv6 message header, and is used to carry a congestion signaling (CSIG) congestion control signal. The CSIG congestion control signal includes subtypes such as minimum available bandwidth, minimum available bandwidth occupancy, and maximum node delay. Each CSIG-TAG carries a subtype of the CSIG congestion control signal. If multiple subtypes of the CSIG congestion control signal are to be carried, a corresponding number of CSIG-TAGs are required. During the forwarding of a service message carrying the CSIG congestion control signal, each node along the path compares the CSIG congestion control signal value of the node with the CSIG congestion control signal value carried in the service message, and determines whether to rewrite the CSIG congestion control signal value carried in the service message according to the comparison result. For example, for the maximum node delay subtype of the CSIG congestion control signal, each node along the path compares the node delay of the node with the maximum node delay carried in the service message, and rewrites the maximum node delay carried in the service message with the node delay of the node when the node delay of the node is greater than the maximum node delay carried in the service message. When the node delay of the node is less than or equal to the maximum node delay carried in the service message, the maximum node delay carried in the service message is not modified. After the CSIG congestion control signal re-written by each node along the path reaches the receiving end of the service, the receiving end of the service feeds back to the sending end of the service, and the sending end of the service adjusts the sending rate of the service message based on the CSIG congestion control algorithm.
[0028] Table 2 is a message format provided by an embodiment of the present disclosure, in which a CSIG-TAG carries a CSIG congestion control signal.
[0029] Table 2
[0030] The total size of the CSIG congestion control signal is independent of the number of nodes through which the service message passes, and does not increase with the increase in the number of nodes through which the service message passes. Therefore, the CSIG congestion control signal is referred to as a length-fixed congestion control signal.
[0031] Because the formats of the two types of congestion control signals are different, how to encapsulate congestion control signals of different types in a uniform format in a service message is a problem that needs to be solved urgently.
[0032] Based on this, embodiments of this disclosure provide a network congestion control method. The service packet acquired by this method includes a first flag bit and at least one second flag bit. The first flag bit indicates the type of at least one type of congestion control signal carried in the service packet; the at least one second flag bit corresponds to at least one type of congestion control signal, and one of the at least one second flag bits indicates the subtype of the congestion control signal corresponding to that second flag bit. It can be seen that this technical solution combines the first and second flag bits to encapsulate different types of congestion control signals into the same service packet in a fixed format. This encapsulation method allows network nodes to locate a certain subtype of congestion control signal to be processed in the service packet by reading the first flag bit and at least one second flag bit, reducing the parsing performance requirements of network nodes and facilitating the processing of congestion control signals by network nodes. At the same time, this method is also easily extensible; by extending the definition of the flag bits, new types of congestion control signals can be supported, and by extending the length of the second flag bit, new subtypes of congestion control signals can be supported.
[0033] Figure 1 is a schematic diagram of the system architecture of a communication system provided in an embodiment of the present disclosure. As shown in Figure 1, the communication system includes a source node / sender 101 for service messages, a destination node / receiver 102 for service messages, and at least one intermediate node 103.
[0034] The sender 101 and receiver 102 can be personal computers, servers, terminals, etc., or any device capable of sending / receiving service messages.
[0035] Intermediate node 103 can be a switch or router, or any device capable of forwarding service packets.
[0036] In some embodiments, the sending end 101 may send service packets carrying congestion control signals. Further, each intermediate node 103 processes the congestion control signals in the service packets sequentially, and the last intermediate node 103 sends the service packets to the receiving end 102. The receiving end 102 obtains the congestion control signals from the service packets and feeds them back to the sending end 101, enabling the sending end 101 to adjust the transmission rate of the service packets based on the congestion control signals.
[0037] Figure 2 is a schematic flowchart of a network congestion control method provided in an embodiment of this disclosure. Exemplarily, the network congestion control method provided in this disclosure can be applied to the system architecture shown in Figure 1, for example, to the sending end, receiving end, or intermediate node. This disclosure uses a first node as the implementing entity of the technical solution.
[0038] As shown in Figure 2, the network congestion control method provided in this disclosure may include S201-S202.
[0039] S201, acquire a service packet.
[0040] The service packet comprises a first flag and at least one second flag. The first flag is used to indicate the type of at least one type of congestion control signal carried by the service packet. The at least one second flag corresponds to the at least one type of congestion control signal, and one second flag in the at least one second flag is used to indicate the sub-type of the type of congestion control signal corresponding to the second flag.
[0041] In some embodiments, the positions of the at least one second flag in the service packet are adjacent.
[0042] In some embodiments, the second flag comprises a plurality of bits, one bit corresponding to one sub-type of the type of congestion control signal corresponding to the second flag, and the value of the bit is used to indicate whether the sub-type corresponding to the bit is carried in the service packet. The second flag can be a bit map, i.e., composed of a plurality of bits.
[0043] For example, taking binary bits as an example, when the value of a certain bit is 1, it means that the service packet carries the congestion control signal of the sub-type corresponding to the bit. When the value of a certain bit is 0, it means that the service packet does not carry the congestion control signal of the sub-type corresponding to the bit.
[0044] In some embodiments, the first flag and the at least one second flag are located in the IPv6 extension header of the service packet, or in the CSIG-TAG, or in other extension headers between the IPv6 extension header and the service payload.
[0045] Table 3 is a packet format of a service packet provided by an embodiment of the present disclosure.
[0046] Table 3
[0047] Table 3 takes the service packet carrying two types of congestion control signals as an example. The positions of the second flags corresponding to the two types of congestion control signals in the service packet are adjacent. In addition, Table 3 takes the first flag and the two second flags located in the IPv6 extension header as an example, but is not limited to the IPv6 extension header.
[0048] In some embodiments, when the first flag is a first value, the service packet carries one type of congestion control signal, and the congestion control signal is a fixed-length congestion control signal;
[0049] When the first flag is a second value, the service packet carries one type of congestion control signal, and the congestion control signal is an incremental-length congestion control signal;
[0050] In the case that the first flag bit is of the third value, the service packet carries two types of congestion control signals, including a length-fixed type congestion control signal and a length-increasing type congestion control signal.
[0051] In some embodiments, the value of the first flag bit is represented by two binary bits.
[0052] Exemplarily, the types of the congestion control signals are identified by using two binary bits, as shown in Table 4.
[0053] Table 4
[0054] In combination with Table 3 and Table 4, it is explained that when the first flag bit indicates that the length-increasing type congestion control signal is carried, one second flag bit (bit map) is used to indicate the subtypes of the length-increasing type congestion control signal, such as including an ingress port timestamp, a node transmission delay, a node queue depth, etc. The bit map is a string of fixed-length bits, and each bit is used to indicate one subtype of the length-increasing type congestion control signal. When the bit is set to 1, it indicates that the length-increasing type congestion control signal of this subtype is carried; when the bit is set to 0, it indicates that the length-increasing type congestion control signal of this subtype is not carried. The more the subtypes of the length-increasing type congestion control signal, the more bits are configured to form the bit map for indication.
[0055] When the first flag bit indicates that the length-fixed type congestion control signal is carried, one second flag bit (bit map) is used to indicate the subtypes of the length-fixed type congestion control signal, such as including a minimum available bandwidth, a minimum available bandwidth occupancy, a maximum node delay, etc. The bit map is a string of fixed-length bits, and each bit is used to indicate one subtype of the length-fixed type congestion control signal. When the bit is set to 1, it indicates that the length-fixed type congestion control signal of this subtype is carried; when the bit is set to 0, it indicates that the length-fixed type congestion control signal of this subtype is not carried. The more the subtypes of the length-fixed type congestion control signal, the more bits are configured to form the bit map for indication.
[0056] When the first flag bit indicates that both the length-increasing type congestion control signal and the length-fixed type congestion control signal are carried, two second flag bits (bit maps) are used to respectively indicate the subtypes of the length-increasing type congestion control signal and the subtypes of the length-fixed type congestion control signal. The subtypes of the length-increasing type congestion control signal can include a minimum available bandwidth, a minimum available bandwidth occupancy, a maximum node delay, etc. The subtypes of the length-fixed type congestion control signal can include a minimum available bandwidth, a minimum available bandwidth occupancy, a maximum node delay, etc.
[0057] In some embodiments, the length-fixed congestion control signal is located in the service packet at a position before the length-incremental congestion control signal is located in the service packet. It should be understood that the length-fixed congestion control signal is located before the length-incremental congestion control signal, so that the fixed position of the length-fixed congestion control signal in the service packet is ensured, and the starting position of the length-incremental congestion control signal in the service packet is also fixed, which is beneficial to efficient parsing and processing of the service packet by the node.
[0058] S202, processing the service packet according to the first flag and the at least one second flag.
[0059] In some embodiments, the first node is a source node / sender of the service packet, a destination node / recipient of the service packet, or an intermediate node (forwarding node) on a transmission path from the source node to the destination node.
[0060] The process of S202 is described below with the first node as the source node / sender, the destination node / recipient, and the intermediate node, respectively.
[0061] In some embodiments, when the first node is the source node / sender, S202 can be implemented as S301-S302.
[0062] S301, in a case where the first flag indicates that the service packet carries the length-fixed congestion control signal, sending the length-fixed congestion control signal carried in the service packet to the intermediate node.
[0063] S302, in a case where the first flag indicates that the service packet carries the length-incremental congestion control signal, sending the service packet to the intermediate node.
[0064] The sender can indicate the type of the congestion control signal carried in the service packet through the first flag, and indicate the sub-type of the congestion control signal in the service packet through the second flag. The service packet generated in this way encapsulates different types of congestion control signals in the same service packet, and can facilitate subsequent parsing and processing by other network nodes.
[0065] In some embodiments, when the first node is the destination node / recipient, S202 can be implemented as S401-S402.
[0066] S401, obtaining the processed congestion control signal from the service packet.
[0067] S402, sending the processed congestion control signal to the source node, so that the source node adjusts the sending rate of the service packet based on the processed congestion control signal.
[0068] When the first node is a receiving end, the congestion control signal in the received service packet is the congestion control signal processed by the intermediate node. The receiving end can obtain the processed congestion control signal from the service packet and send it to the sending end, so that the sending end adjusts the sending rate of the service packet based on the rate adjustment algorithm.
[0069] It should be noted that there are various rate adjustment algorithms for the sending end to adjust the sending rate of the service packet in some technologies, and the types and subtypes of the congestion control signals corresponding to different algorithms are usually different. The technical scheme provided in the embodiments of the present disclosure integrates congestion control signals of different types and subtypes into the same service packet, which can use various different rate adjustment algorithms and has a wider application scenario.
[0070] In some embodiments, when the first node is an intermediate node, in the case where the first flag bit in the service packet indicates that the service packet carries a length-fixed congestion control signal, the above S202 can be implemented as S501-S502.
[0071] S501, according to at least one second flag bit, rewriting the congestion control signal carried in the service packet based on the node information of the intermediate node.
[0072] S502, sending the rewritten service packet.
[0073] For the above S501-S502, the intermediate node parses the service packet, finds the first flag bit, determines the type of the congestion control signal, and then determines the subtype of the congestion control signal to be processed and its position in the service packet through the second flag bit. Finally, according to its own node information, the congestion control signal is rewritten when necessary. This processing method will not increase the length of the congestion control signal. The intermediate node can send the rewritten service packet to the next intermediate node or to the receiving end.
[0074] In some embodiments, when the first node is an intermediate node, in the case where the first flag bit in the service packet indicates that the service packet carries a length-incremental congestion control signal, the above S202 can be implemented as S601-S602.
[0075] S601, according to at least one second flag bit, adding a congestion control signal in the service packet based on the node information of the intermediate node.
[0076] S602, sending the service packet after adding the congestion control signal.
[0077] For the above S601-S602, the intermediate node parses the service message, finds the first flag bit, determines the type of congestion control signal, and then determines the sub-type of the congestion control signal to be processed and its position in the service message through the second flag bit. Finally, according to the node information of itself, a new congestion control signal is added in the service message, which does not affect the original congestion control signal. The processing method will increase the length of the congestion control signal, and the length of the congestion control signal will increase with the increase of the number of intermediate nodes. The intermediate node can send the processed service message to the next intermediate node or to the receiving end.
[0078] The message format of the service message provided by the embodiments of the present disclosure will be described below in combination with some embodiments.
[0079] Embodiment one: the service message carries only length-increasing congestion control signals, and the sub-types of the length-increasing congestion control signals carried include ingress port timestamp, node transmission delay, and node queue depth.
[0080] First, the sending end adds an IPv6 extension header to the service message, and adds the length-increasing congestion control signal to the IPv6 extension header. As shown in Table 5 below, a first flag bit (value 00 (binary)) including two bits is used to indicate that the congestion control signal carried by the service message is a length-increasing congestion control signal, and a second flag bit with a length of 12 bits is used to indicate the sub-type of the length-increasing congestion control signal carried, the 2nd bit, the 4th bit, and the 6th bit in the second flag bit correspond to the ingress port timestamp, the node transmission delay, and the node queue depth respectively.
[0081] Table 5
[0082] As shown in Table 5, the 2nd bit in the second flag bit corresponds to the sub-type of the length-increasing congestion control signal, which is the ingress port timestamp, and the bit is set to 1, indicating that each node along the way fills the ingress port timestamp of the node into the congestion control signal carried by the service message. Similarly, the 4th bit in the second flag bit corresponds to the sub-type of the length-increasing congestion control signal, which is the node transmission delay, and the bit is set to 1, indicating that each node along the way fills the node transmission delay of the node into the congestion control signal carried by the service message. The 6th bit in the second flag bit corresponds to the sub-type of the length-increasing congestion control signal, which is the node queue depth, and the bit is set to 1, indicating that each node along the way fills the node queue depth of the node into the congestion control signal carried by the service message. The 9 bits in the second flag bit except the 2nd bit, the 4th bit, and the 6th bit are all set to 0, indicating that the nodes along the way do not need to process the sub-types of the length-increasing congestion control signal corresponding to the 9 bits.
[0083] Secondly, the intermediate node receives the service packet carrying the congestion control signal, and parses and processes the congestion control signal in the packet by indicating the value 00 of the first flag bit of the length-incremental congestion control signal and the second flag bit indicating the length-incremental congestion control signal subtype (ingress port timestamp, node transmission delay, node queue depth).
[0084] The first intermediate node along the path receives the service packet, and learns that the packet carries the length-incremental congestion control signal by parsing the first flag bit 00, and learns that the packet carries the length-incremental congestion control signal subtypes including ingress port timestamp, node transmission delay, and node queue depth by parsing the bit values in the second flag bit. Thus, the node fills in the congestion control signal values of the node, and then forwards the service packet to the next intermediate node. Similarly, the second intermediate node along the path receives the service packet, and also performs the same action as the first intermediate node along the path, and so on until the last intermediate node along the path.
[0085] Finally, the receiving end receives the service packet, extracts the congestion control signal in the service packet, and feeds it back to the sending end to complete the adjustment of the sending rate.
[0086] The last intermediate node along the path fills in the congestion control signal values of the node in the service packet, and then forwards the service packet to the receiving end, which extracts the congestion control signals filled in by the nodes along the path in the service packet, and feeds them back to the sending end to complete the adjustment of the sending rate.
[0087] Embodiment Two: The service packet carries only the length-fixed congestion control signal, and the subtypes of the length-fixed congestion control signal carried include minimum available bandwidth, minimum available bandwidth occupancy, and maximum node delay.
[0088] Firstly, the sending end adds an IPv6 extension header to the service packet, and adds the length-fixed congestion control signal to the IPv6 extension header. As shown in Table 6 below, the first flag bit (value 01 (binary)) of two bits is used to indicate that the carried congestion control signal is the length-fixed congestion control signal, and an 8-bit second flag bit is used to indicate the subtypes of the carried length-fixed congestion control signal. The 3rd, 4th, and 5th bits in the second flag bit correspond to the subtypes of minimum available bandwidth, minimum available bandwidth occupancy, and maximum node delay, respectively.
[0089] Table 6
[0090] As shown in Table 6, the third bit in the second flag corresponds to the sub-type of the length-fixed congestion control signal as minimum available bandwidth, and the bit is set to 1, indicating that each node along the path compares the available bandwidth of the node with the minimum available bandwidth carried by the service message, and if the available bandwidth of the node is less than the minimum available bandwidth carried by the service message, the available bandwidth of the node is used to cover the minimum available bandwidth carried by the service message.
[0091] Similarly, the fourth bit in the second flag corresponds to the sub-type of the length-fixed congestion control signal as minimum available bandwidth occupancy, and the bit is set to 1, indicating that each node along the path compares the available bandwidth occupancy of the node with the minimum available bandwidth occupancy carried by the service message, and if the available bandwidth occupancy of the node is less than the minimum available bandwidth occupancy carried by the service message, the available bandwidth occupancy of the node is used to cover the minimum available bandwidth occupancy carried by the service message.
[0092] Similarly, the fifth bit in the second flag corresponds to the sub-type of the length-fixed congestion control signal as maximum node delay, and the bit is set to 1, indicating that each node along the path compares the node delay of the node with the maximum node delay carried by the service message, and if the node delay of the node is greater than the maximum node delay carried by the service message, the node delay of the node is used to cover the maximum node delay carried by the service message.
[0093] The five bits in the second flag other than the third bit, the fourth bit and the fifth bit are set to 0, indicating that the service message does not carry the sub-type of the length-fixed congestion control signal corresponding to the five bits, and the intermediate nodes along the path do not need to process these sub-types.
[0094] Secondly, after the service message forwarding node receives the service message carrying the congestion control signal, the congestion control signal in the service message is parsed and processed by indicating the first flag 01 of the length-fixed congestion control signal, and the second flag indicating the sub-type (minimum available bandwidth, minimum available bandwidth occupancy, maximum node delay) of the length-fixed congestion control signal.
[0095] The first intermediate node along the path receives the service packet, and learns from the first flag bit 01 that the packet carries the length-fixed congestion control signal. The second flag bit is parsed to learn that the length-fixed congestion control signal carried by the packet includes the minimum available bandwidth, the minimum available bandwidth occupancy, and the maximum node delay. Then, the values of the congestion control signals of the node are compared with the values of the congestion control signals carried by the service packet, and the values of the congestion control signals carried by the service packet are rewritten according to the comparison result. Then, the service packet is forwarded to the next intermediate node. Similarly, the second intermediate node along the path receives the service packet, and performs the same operation as the first intermediate node along the path, and so on, until the last intermediate node along the path.
[0096] Finally, the receiving end receives the service packet carrying the congestion control signal, extracts the congestion control signal from the packet, and feeds back to the sending end to complete the adjustment of the sending rate.
[0097] The last intermediate node along the path forwards the service packet to the receiving end after processing the values of the congestion control signals carried by the service packet. The receiving end extracts the congestion control signals rewritten by the intermediate nodes along the path from the service packet, and feeds back to the sending end to complete the adjustment of the sending rate.
[0098] In the third embodiment, the service packet carries the length-incremental congestion control signal and the length-fixed congestion control signal, and the length-incremental congestion control signal carried by the packet includes the ingress port timestamp, the node transmission delay, and the node queue depth. The length-fixed congestion control signal carried by the packet includes the minimum available bandwidth, the minimum available bandwidth occupancy, and the maximum node delay.
[0099] First, the sending end adds the IPv6 extension header to the service packet, and adds the length-incremental congestion control signal and the length-fixed congestion control signal to the IPv6 extension header. As shown in Table 7, the first flag bit (value 10 (binary)) is used to indicate that the congestion control signal carried is the length-incremental congestion control signal and the length-fixed congestion control signal. The second flag bit with a length of 12 bits is used to indicate the subtypes of the length-incremental congestion control signal carried, and the 2nd bit, the 4th bit, and the 6th bit in the second flag bit correspond to the ingress port timestamp, the node transmission delay, and the node queue depth, respectively. The second flag bit with a length of 8 bits is used to indicate the subtypes of the length-fixed congestion control signal carried, and the 3rd bit, the 4th bit, and the 5th bit in the second flag bit correspond to the minimum available bandwidth, the minimum available bandwidth occupancy, and the maximum node delay, respectively.
[0100] Table 7
[0101] As shown in Table 7, the position of the length-fixed congestion control signal is before the length-incremental congestion control signal, and the advantage of this is to ensure that the position of the length-fixed congestion control signal in the service message is always fixed, which is conducive to the analysis and processing of the length-fixed congestion control signal by the intermediate nodes along the way during the service message forwarding process.
[0102] Secondly, after the intermediate node receives the service message carrying the congestion control signal, the first flag bit 10 indicating the length-incremental congestion control signal and the length-fixed congestion control signal, and the second flag bit indicating the length-incremental congestion control signal subtypes (the ingress port timestamp, the node transmission delay, and the node queue depth) and the second flag bit indicating the length-fixed congestion control signal subtypes (the minimum available bandwidth, the minimum available bandwidth occupancy, and the maximum node delay) are used to analyze and process the congestion control signal in the message.
[0103] Finally, after the receiving end receives the service message carrying the congestion control signal, the congestion control signal in the service message is extracted and fed back to the sending end to complete the adjustment of the sending rate.
[0104] The disclosed embodiments provide a network congestion control method, which obtains a service message including a first flag bit and at least one second flag bit. The first flag bit is used to indicate the type of at least one type of congestion control signal carried by the service message. The at least one second flag bit corresponds to at least one type of congestion control signal, and one of the at least one second flag bit is used to indicate the subtype of the type of congestion control signal corresponding to the second flag bit. It can be seen that the first flag bit and the second flag bit are combined to realize the encapsulation of different types of congestion control signals in the same service message in a fixed format. This encapsulation method makes the network node read the first flag bit and the at least one second flag bit, and then locate the certain subtype of congestion control signal to be processed in the service message, which reduces the analysis performance requirement of the network node and facilitates the processing of the congestion control signal by the network node. At the same time, the method is also easy to expand. By expanding the definition of the flag bit, a new type of congestion control signal can be supported, and by expanding the length of the second flag bit, a new subtype of the congestion control signal can be supported.
[0105] It can be understood that, in order to implement the above functions, the communication device (network congestion control device) comprises a hardware structure and / or a software module for executing each function. Those skilled in the art should easily realize that, in combination with the algorithm steps of each example described in the embodiments of the present disclosure, the present disclosure can be implemented in the form of hardware or a combination of hardware and computer software. Whether a certain function is implemented in hardware or computer software driven hardware depends on the specific application of the technical solution and the design constraints. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of the present disclosure.
[0106] The embodiments of the present disclosure can divide the network congestion control device into function modules according to the above method embodiments. For example, each function module can be divided according to each function, or two or more functions can be integrated into one function module. The above integrated module can be implemented in the form of hardware or software. It should be noted that the division of the modules in the embodiments of the present disclosure is illustrative, and is only a logical function division. In actual implementation, there can be another division manner. The following will be described taking the example of dividing each function module according to each function.
[0107] FIG. 3 is a structural schematic diagram of a network congestion control device provided by an embodiment of the present disclosure. The network congestion control device can execute the network congestion control method provided by the above method embodiments. As shown in FIG. 3, the network congestion control device comprises an acquisition module 301 and a processing module 302.
[0108] The acquisition module 301 is configured to acquire a service packet. The service packet comprises a first flag bit and at least one second flag bit. The first flag bit is used to indicate the type of at least one type of congestion control signal carried by the service packet. The at least one second flag bit corresponds to the at least one type of congestion control signal. One second flag bit in the at least one second flag bit is used to indicate the sub-type of the type of congestion control signal corresponding to the second flag bit.
[0109] The processing module 302 is configured to process the service packet according to the first flag bit and the at least one second flag bit.
[0110] In some implementations, the positions of the at least one second flag bit in the service packet are adjacent.
[0111] In some implementations, the second flag bit comprises a plurality of bits. One bit corresponds to one sub-type of the type of congestion control signal corresponding to the second flag bit. The value of the bit is used to indicate whether the sub-type corresponding to the bit is carried in the service packet.
[0112] In some implementations, when the first flag bit is of a first value, the service packet carries a first type of congestion control signal, and the congestion control signal is a fixed-length congestion control signal.
[0113] When the first flag bit is of a second value, the service packet carries a second type of congestion control signal, and the congestion control signal is an incremental-length congestion control signal.
[0114] When the first flag bit is of a third value, the service packet carries two types of congestion control signals, including the fixed-length congestion control signal and the incremental-length congestion control signal.
[0115] In some implementations, the fixed-length congestion control signal is located in the service packet before the incremental-length congestion control signal.
[0116] In some implementations, the value of the first flag bit is represented by two binary bits.
[0117] In some implementations, the first flag bit and the at least one second flag bit are located in an Internet Protocol version 6 (IPv6) extension header of the service packet, or in a congestion signaling tag (CSIG-TAG), or in another extension header between the IPv6 extension header and a service payload.
[0118] In some implementations, the first node is a source node / sender of the service packet, a destination node / recipient of the service packet, or an intermediate node, which is any node on a transmission path from the source node to the destination node.
[0119] In some implementations, the processing module 302 is configured to, when the first flag bit indicates that the service packet carries the fixed-length congestion control signal, send the fixed-length congestion control signal to an intermediate node in the service packet; and when the first flag bit indicates that the service packet carries the incremental-length congestion control signal, send the service packet to the intermediate node.
[0120] In some implementations, the processing module 302 is configured to obtain a processed congestion control signal from the service packet, and send the processed congestion control signal to a source node, so that the source node adjusts a sending rate of the service packet based on the processed congestion control signal.
[0121] In some implementations, the processing module 302 is configured to, in a case where the first flag indicates that the service packet carries a length-fixed congestion control signal, rewrite the congestion control signal carried in the service packet based on node information of the intermediate node according to the at least one second flag; and send the rewritten service packet.
[0122] In a case where the functions of the above-mentioned integrated modules are implemented in the form of hardware, the embodiments of the present disclosure provide another structure of the network congestion control device involved in the above-mentioned embodiments, and FIG. 4 is a schematic diagram of the structure. As shown in FIG. 4, the network congestion control device 40 includes a memory 401, a processor 402, a communication interface 403, and a bus 404.
[0123] The memory 401 can be a read-only memory (ROM) or other type of static storage device that can store static information and instructions, can be a random access memory (RAM) or other type of dynamic storage device that can store dynamic information and instructions, can be an electrically erasable programmable read-only memory (EEPROM), a magnetic disk storage medium or other magnetic storage device, or can be any other medium capable of carrying or storing desired program code in the form of instructions or data structures and capable of being accessed by a computer, but is not limited thereto.
[0124] The processor 402 can be a logic block, module, and circuit that implements or executes various exemplary methods described in combination with the embodiments of the present disclosure. The processor 402 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, transistor logic device, hardware component, or any combination thereof. The processor 402 can also implement or execute various exemplary logic blocks, modules, and circuits described in combination with the embodiments of the present disclosure. The processor 402 can also be a combination that implements a computing function, such as a combination of one or more microprocessors, a combination of a DSP and a microprocessor, and the like.
[0125] The communication interface 403 is configured to be connected with other devices through a communication network. The communication network can be an Ethernet, a wireless access network, a wireless local area network (WLAN), and the like.
[0126] In some embodiments, the memory 401 can exist independently of the processor 402, and the memory 401 can be connected to the processor 402 via the bus 404, for storing instructions or program codes. When the processor 402 invokes and executes the instructions or program codes stored in the memory 401, the method provided by the embodiments of the present disclosure can be implemented.
[0127] In some embodiments, the memory 401 can also be integrated with the processor 402.
[0128] The bus 404 can be an extended industry standard architecture (EISA) bus or the like. The bus 404 can be divided into an address bus, a data bus, a control bus, and the like. For ease of representation, only one thick line is used to represent the bus 404 in FIG. 4, but it does not mean that there is only one bus or only one type of bus.
[0129] In some embodiments, the memory 401 stores executable instructions, and when the processor 402 executes the executable instructions, the network congestion control device performs the method as described in any of the above embodiments.
[0130] Some embodiments of the present disclosure provide a computer readable storage medium (for example, a non-transitory computer readable storage medium) having computer program instructions stored therein, and when the computer program instructions are run on a computer, the computer performs the method as described in any of the above embodiments.
[0131] Exemplarily, the above computer readable storage medium can include, but is not limited to, a magnetic storage device (for example, a hard disk, a floppy disk, or a magnetic tape, etc.), an optical disc (for example, a compact disc (CD), a digital versatile disc (DVD), etc.), a smart card, and a flash memory device (for example, an erasable programmable read-only memory (EPROM), a card, a stick, or a key drive, etc.). The various computer readable storage media described in the present disclosure can represent one or more devices and / or other machine readable storage media for storing information. The term "machine readable storage medium" can include, but is not limited to, a wireless channel and various other media capable of storing, containing, and / or carrying instructions and / or data.
[0132] The embodiments of the present disclosure provide a computer program product containing instructions, and when the computer program product is run on a computer, the computer performs the method as described in any of the above embodiments.
[0133] The above merely provides a specific implementation of the present disclosure, but the protection scope of the present disclosure is not limited thereto, and any change or replacement within the technical scope disclosed by the present disclosure should be covered within the protection scope of the present disclosure. Therefore, the protection scope of the present disclosure should be subject to the protection scope of the claims.
Claims
1. A method of network congestion control, applied to a first node, wherein, The method comprises: acquiring a service packet, wherein the service packet comprises a first flag bit and at least one second flag bit, the first flag bit is used to indicate a type of at least one type of congestion control signal carried by the service packet, the at least one second flag bit corresponds to the at least one type of congestion control signal, and one second flag bit in the at least one second flag bit is used to indicate a sub-type of the type of congestion control signal corresponding to the second flag bit; and processing the service packet according to the first flag bit and the at least one second flag bit.
2. The method of claim 1, wherein, The positions of the at least one second flag bit in the service packet are adjacent.
3. The method of claim 1, wherein, The second flag bit comprises a plurality of bits, one bit corresponds to one sub-type of the type of congestion control signal corresponding to the second flag bit, and the value of the bit is used to indicate whether the sub-type corresponding to the bit is carried in the service packet.
4. The method of claim 1, wherein in response to the first flag bit being a first value, the service packet carries one type of congestion control signal, and the congestion control signal is a fixed-length congestion control signal; in response to the first flag bit being a second value, the service packet carries one type of congestion control signal, and the congestion control signal is an incremental-length congestion control signal; or in response to the first flag bit being a third value, the service packet carries two types of congestion control signals, and the two types of congestion control signals comprise a fixed-length congestion control signal and an incremental-length congestion control signal.
5. The method of claim 4, wherein, The position of the fixed-length congestion control signal in the service packet is before the position of the incremental-length congestion control signal in the service packet.
6. The method of claim 1, wherein, The value of the first flag bit is represented by two binary bits.
7. The method of claim 1, wherein, The first flag bit and the at least one second flag bit are located in an Internet Protocol version 6 (IPv6) extension header of the service packet, or in a congestion signaling tag (CSIG-TAG), or in another extension header between the IPv6 extension header and a service payload.
8. The method of claim 1, wherein, The first node is a source node / sender of the service packet, a destination node / recipient of the service packet, or an intermediate node, and the intermediate node is any node on a transmission path from the source node to the destination node.
9. The method of claim 1, wherein, The first node is a source node, and the processing of the service packet according to the first flag bit and the at least one second flag bit comprises: in response to the first flag bit indicating that the service packet carries a fixed-length congestion control signal, sending the fixed-length congestion control signal carried in the service packet to an intermediate node; in response to the first flag bit indicating that the service packet carries an incremental-length congestion control signal, sending the service packet to an intermediate node.
10. The method of claim 1, wherein, The first node is a destination node, and the processing of the service packet according to the first flag bit and the at least one second flag bit comprises: acquiring a processed congestion control signal from the service packet; and sending the processed congestion control signal to a source node, so that the source node adjusts a sending rate of the service packet based on the processed congestion control signal.
11. The method of claim 1, wherein, The first node is an intermediate node, and the processing of the service packet according to the first flag bit and the at least one second flag bit comprises: in response to the first flag bit indicating that the service packet carries a length-fixed congestion control signal, rewriting, according to the at least one second flag bit, a congestion control signal carried in the service packet based on node information of the intermediate node; sending the rewritten service packet.
12. The method of claim 1, wherein, The first node is an intermediate node, and the processing of the service packet according to the first flag bit and the at least one second flag bit comprises: in response to the first flag bit indicating that the service packet carries a length-incremental congestion control signal, adding, according to the at least one second flag bit, a congestion control signal in the service packet based on node information of the intermediate node; sending the service packet after adding the congestion control signal.
13. A communications device comprising: a processor and a memory for storing instructions executable by the processor; wherein the processor is configured to execute the instructions to cause the communication device to perform the network congestion control method according to any one of claims 1-12.
14. A computer readable storage medium, wherein, The computer readable storage medium has stored thereon computer instructions which, when executed on a communication device, cause the communication device to perform the network congestion control method according to any one of claims 1-12.
15. A computer program product, the computer program product comprising computer instructions which, when executed on a computer, cause the computer to perform the network congestion control method according to any one of claims 1-12.
Citation Information
Patent Citations
Control method and device
CN111865795A
Congestion control method and related equipment
CN116260773A
Transparent quantitative congestion control
US20220217088A1
Network congestion control method and related apparatus
WO2023142937A1