Congestion control method, communication apparatus, and storage medium
By acquiring and identifying the L4S data flow, setting the congestion control field to adjust the packet transmission rate, the data congestion problem between communication nodes is solved, and the stability and delay requirements of the communication network are met.
Patent Information
- Application Number
- PCT/CN2024/112624
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-01-22
- Filing Date
- 2024-08-16
- Publication Date
- 2025-07-31
AI Technical Summary
When transmitting data packets between communication nodes, limited network resources lead to data congestion, affecting the transmission speed of data packets, increasing the delay and possibly leading to packet loss and service interruption between communication nodes. The prior art cannot accurately meet the delay requirements of different applications.
By obtaining the flow configuration information of the data stream, identifying the L4S data stream and sending congestion control information when the transmission scheduling cannot meet the requirements, instructing the data stream to perform congestion control, including setting the congestion control field in the IP packet header to adjust the packet transmission rate, and supporting congestion control in uplink, downlink and point-to-point directions.
Effectively avoid congestion in the communication network, improve the reliability and stability of data stream transmission, meet the delay requirements of different applications, and reduce transmission delay and packet loss rate.
Smart Images

Figure CN2024112624_31072025_PF_FP_ABST
Abstract
Description
Congestion control method, communication device and storage medium
[0001] This application claims priority to Chinese patent application No. 202410091432.1, filed on January 22, 2024, the entire contents of which are incorporated by reference into this application. Technical Field
[0002] The present disclosure relates to the field of communications, and in particular to a congestion control method, a communication device, and a storage medium. Background Art
[0003] With the advancement of technology and digital transformation, many applications and services have increasingly stringent latency requirements. When a large number of data packets are transmitted between communication nodes (for example, between an access point (AP) and a station (STA)), packets that are not sent in time can be stored in the communication node's (e.g., AP) buffer queue.
[0004] Summary of the Invention
[0005] In a first aspect, a congestion control method is provided, applied to a first node. The congestion control method includes: obtaining flow configuration information of a data flow; and, if transmission scheduling for the data flow fails to meet requirements of the flow configuration information, sending first congestion control information to a second node. The first congestion control information is used to instruct congestion control to be performed on the data flow.
[0006] In a second aspect, a congestion control method is provided, applied to a second node. The congestion control method includes: receiving first congestion control information sent by a first node, the first congestion control information being used to instruct congestion control of a data flow; and reducing a packet sending rate of the data flow based on the first congestion control information.
[0007] According to a third aspect, a congestion control device is provided. The congestion control device includes: an acquisition module configured to acquire flow configuration information of a data flow; and a sending module configured to send first congestion control information to a second node when transmission scheduling of the data flow fails to meet requirements of the flow configuration information. The first congestion control information is used to instruct congestion control to be performed on the data flow.
[0008] In a fourth aspect, a congestion control device is provided, which includes: a receiving module for receiving first congestion control information sent by a first node, the first congestion control information being used to indicate congestion control of a data flow; and an adjustment module for reducing a packet sending rate of the data flow based on the first congestion control information.
[0009] In a fifth aspect, a communication device is provided, comprising: a memory and a processor. The memory is coupled to the processor; the memory is used to store a computer program; and the processor implements the congestion control method of the first or second aspect when executing the computer program.
[0010] In a sixth aspect, a computer-readable storage medium is provided, on which computer program instructions are stored. When the computer program instructions are executed by a processor, the congestion control method of the first aspect or the second aspect is implemented.
[0011] In a seventh aspect, a computer program product is provided, which includes computer program instructions, and when the computer program instructions are executed by a processor, the congestion control method of the first aspect or the second aspect is implemented.
[0012] For the detailed description of the third to seventh aspects and their various implementations in this disclosure, reference can be made to the detailed description of the first aspect, the second aspect and their various implementations. BRIEF DESCRIPTION OF THE DRAWINGS
[0013] To more clearly illustrate the technical solutions of the present disclosure, the following briefly introduces the drawings required for use in some embodiments of the present disclosure. Obviously, the drawings described below are only drawings of some embodiments of the present disclosure, and those skilled in the art can also derive other drawings based on these drawings.
[0014] FIG1 is a schematic diagram of a stream information format according to some embodiments of the present disclosure.
[0015] FIG2 is a schematic diagram of another stream information format according to some embodiments of the present disclosure.
[0016] FIG3 is a schematic diagram of another stream information format according to some embodiments of the present disclosure.
[0017] FIG4 is a schematic diagram of information interaction between an AP and a STA according to some embodiments of the present disclosure.
[0018] FIG5 is a schematic diagram of a frame format according to some embodiments of the present disclosure.
[0019] FIG6 is a schematic diagram of a communication system according to some embodiments of the present disclosure.
[0020] FIG7 is a flowchart of a congestion control method according to some embodiments of the present disclosure.
[0021] FIG8 is a schematic diagram of another stream information format according to some embodiments of the present disclosure.
[0022] FIG9 is a schematic diagram of another stream information format according to some embodiments of the present disclosure.
[0023] FIG10 is a schematic diagram of another stream information format according to some embodiments of the present disclosure.
[0024] FIG11 is a schematic diagram of a frame format of a first frame according to some embodiments of the present disclosure.
[0025] FIG12 is a schematic diagram of another frame format of a first frame according to some embodiments of the present disclosure.
[0026] FIG13 is a flowchart of another congestion control method according to some embodiments of the present disclosure.
[0027] FIG14 is a flowchart of yet another congestion control method according to some embodiments of the present disclosure.
[0028] FIG15 is a flowchart of yet another congestion control method according to some embodiments of the present disclosure.
[0029] FIG16 is a flowchart of yet another congestion control method according to some embodiments of the present disclosure.
[0030] FIG17 is a flowchart of yet another congestion control method according to some embodiments of the present disclosure.
[0031] FIG18 is a flowchart of yet another congestion control method according to some embodiments of the present disclosure.
[0032] FIG19 is a flowchart of yet another congestion control method according to some embodiments of the present disclosure.
[0033] FIG20 is a flowchart of yet another congestion control method according to some embodiments of the present disclosure.
[0034] Figure 21 is a structural diagram of a congestion control device according to some embodiments of the present disclosure.
[0035] FIG22 is a schematic structural diagram of another congestion control device according to some embodiments of the present disclosure.
[0036] FIG23 is a schematic structural diagram of a communication device according to some embodiments of the present disclosure. DETAILED DESCRIPTION
[0037] The following will clearly and completely describe the technical solutions of this disclosure in conjunction with the accompanying drawings. Obviously, the embodiments described are only some of the embodiments of this disclosure, not all of them. All other embodiments derived by persons of ordinary skill in the art based on the embodiments of this disclosure without inventive effort are within the scope of protection of this disclosure.
[0038] It should be noted that, in this disclosure, words such as "exemplary" or "for example" are used to describe examples, illustrations, or explanations. Any embodiment or design described in this disclosure using words such as "exemplary" or "for example" should not be interpreted as being more preferred or advantageous over other embodiments or designs. Rather, the use of words such as "exemplary" or "for example" is intended to present the relevant concepts in a concrete manner.
[0039] In the following, the terms "first," "second," etc. are used for descriptive purposes only and are not to be understood as indicating or implying relative importance or implicitly indicating the number of the technical features indicated. Thus, a feature defined as "first," "second," etc. may explicitly or implicitly include one or more of such features. In addition, the terms "first," "second," etc. in the specification, embodiments, claims, and drawings of the present disclosure are used only for descriptive purposes and are not to be understood as indicating or implying relative importance or indicating or implying an order.
[0040] In the description of this disclosure, unless otherwise specified, " / " means "or." For example, A / B can mean A or B. "And / or" herein is merely a description of an association relationship between associated objects, indicating that three possible relationships exist. For example, "A and / or B" can mean: only A, only B, and both A and B. Furthermore, "at least one" means one or more, and "a plurality" means two or more.
[0041] To facilitate understanding, relevant concepts involved in the embodiments of the present disclosure are first briefly introduced.
[0042] 1. Fiber-to-the-room (FTTR) technology
[0043] FTTR technology uses optical fiber to connect wireless routers (such as APs) in different rooms or locations in homes, small and medium-sized enterprises, thereby providing high-bandwidth, high-reliability connections between multiple APs. It can use a point-to-multipoint optical distribution network to achieve the connection between the master control AP and the slave AP.
[0044] 2. Wireless fidelity media access control (Wi-Fi MAC) layer data offload and transmission
[0045] The service data transmitted on the network has different quality of service (QoS) requirements. For example, voice services need to be transmitted in real time and are very sensitive to latency. When the Wi-Fi MAC layer is transmitting voice and general service data simultaneously, voice services must be sent with higher priority.
[0046] The traffic identifier (TID) field is defined in media access control (MAC) data frames to indicate service priority. MAC data frames containing a TID are called QoS data frames. MAC data frames without a TID are called non-QoS data frames. The MAC layer categorizes data services into eight types, using TIDs 0-7 to represent the priority of different service types. The MAC layer transmits different data services in descending order based on priority. From a wireless channel access perspective, 802.11 defines four wireless access categories (ACs): background traffic (AC_BK), best effort traffic (AC_BE), video traffic (AC_VI), and voice traffic (AC_VO). AC_VO has the highest priority, followed by AC_VI, then AC_BE, and AC_BK.
[0047] For STAs that support QoS, the AP creates different buffer queues for QoS based on the STA address and TID information, and schedules transmissions based on the queue priority to ensure the latency requirements of each buffer queue or application with different latency. For example, for each QoS data frame, the downlink data primitive received by the AP from the logical link layer contains the following information:
[0048] MA-UNITDATA.request(
[0049] Source address,
[0050] destination address,
[0051] routing information,
[0052] data,
[0053] priority,
[0054] Drop eligible,
[0055] Service class,
[0056] station vector,
[0057] MAC service data unit format (MSDU format),
[0058] Reception status
[0059] )
[0060] The meaning of each field format is shown in Table 1.
[0061] Table 1
[0062] After receiving the information, the MAC layer places the MSDU into the downlink data queue of each STA according to the priority and destination address.
[0063] For a STA, after receiving an MSDU from the MAC layer, the data primitive sent to the logical link layer contains the following information:
[0064] MA-UNITDATA.indication(
[0065] Source address,
[0066] destination address,
[0067] routing information,
[0068] data,
[0069] Reception status,
[0070] priority,
[0071] Drop eligible,
[0072] Service class,
[0073] station vector,
[0074] MSDU format,
[0075] Reception status
[0076] )
[0077] The meaning of each field format is shown in Table 1 above.
[0078] 3. Latency Issues
[0079] End-to-end transmission delay is the sum of three distinct factors: propagation, interface, and queuing delays. The need to reduce interaction latency is becoming increasingly common for any application, such as interactive web pages, web services, voice, conversational video, interactive video, interactive telepresence, instant messaging, online gaming, remote desktops, cloud computing applications, and video-assisted remote control of machinery and industrial processes. Related technologies have attempted to reduce propagation delay by implementing caching or placing servers closer to users. However, while queuing delay is only one factor affecting end-to-end transmission delay, queuing-induced delays remain a major factor. For example, peak latencies of hundreds of milliseconds due to queuing are common. Furthermore, even with state-of-the-art active queue management (AQM), the path latency based on light-speed propagation roughly doubles over long data flows. Therefore, reducing losses along the propagation path is also crucial. For interactive applications, data loss along the propagation path translates into packet retransmissions, resulting in longer retransmission delays.
[0080] 4. L4S (low latency, low loss, scalable throughput)
[0081] L4S significantly reduces the latency experienced by packets traveling through the network. L4S addresses one of the largest and most overlooked sources of latency and latency variation, or jitter: queuing delay.
[0082] Queuing delay occurs when packets wait idly in buffers on the network, such as in routers and modems, before being forwarded. As users and bandwidth-intensive applications send more and more traffic over the network, these queued packets cause network links to become "clogged." Packets in the congested pipe take longer to reach their destination.
[0083] Related technologies attempt to "sense" the data rate at which L4S data is sent across the network and use congestion control algorithms to adjust their sending rate based on the number of dropped packets and the latency observed in the network. However, this solution requires large buffers and network latency to operate smoothly. L4S eliminates the need for large buffers. When congestion occurs, L4S notifies user applications through congestion signals carried in data packets by the sender. Upon receiving the congestion signal, the user application promptly adjusts the packet sending rate from the server application layer to the access layer, thereby reducing the amount of data queued per unit time on the server side and achieving the goal of low latency.
[0084] Exemplarily, the entire L4S workflow includes the following four steps.
[0085] In step 1, the application sends data including traditional data and L4S to the Wi-Fi system.
[0086] In step 2, the Wi-Fi MAC layer divides the data into traditional data and L4S data according to the Internet Protocol (IP) message identifier, and puts them into different data queues.
[0087] In step 3, when congestion occurs, the explicit congestion notification (ECN) field of the L4S data will be set to congestion experienced (CE); and the traditional data will be directly discarded (or set with a discard mark and handed over to the scheduler to decide how to discard it).
[0088] In step 4, after receiving the L4S data with the CE mark set, the receiver adjusts the packet sending rate of the server through the application, reduces the packet sending rate of the L4S data, and thus reduces the L4S data latency.
[0089] 5. Flow information identification technology
[0090] To optimize the scheduling of audio and video streams at the Wi-Fi MAC layer and meet multimedia latency requirements, 802.11aa introduces stream classification service (SCS). For IPv4 packets, this means that before a service is transmitted, the STA notifies the AP of the service stream's five-tuple information (source IP address, source port, destination IP address, destination port, and transport layer protocol). For IPv6 packets, the STA notifies the AP of the service stream's three-tuple information (source IP address, destination IP address, and flow label).
[0091] After receiving the data packet, the AP matches it with the service flow information based on the characteristics of the data packet. Once the identification is successful, the corresponding data packet is placed in the high-priority queue and scheduled accordingly to meet the latency requirements of these services.
[0092] For example, the format of the IPv4 packet flow information is shown in FIG1 , and the explanation of each field in FIG1 is shown in Table 2.
[0093] Table 2
[0094] For example, the format of the IPv6 packet flow information is shown in FIG2 , and the explanation of each field in FIG2 is shown in Table 3.
[0095] Table 3
[0096] 6. Flow feature technology
[0097] Building on the flow information identification technology defined in 802.11aa, Wi-Fi 7 defines a QoS Characteristic technology. This involves the STA sending a flow characteristic identification request to the AP using an action frame. This request includes parameters such as the minimum service interval, maximum service interval, minimum rate, maximum latency, maximum MSDU length, service start time, MSDU transmission success rate, and average channel access time. Upon receiving the flow characteristic identification request, the AP locally records the flow information characteristics and schedules uplink, downlink, and point-to-point data based on the data packet's flow characteristics.
[0098] Figure 3 shows the format of flow information (e.g., a flow feature identification request action frame) sent by a STA to an AP. The second row of fields in Figure 3 contains optional fields. The control information field in the first row indicates whether the flow feature identification request frame contains optional fields. Table 4 explains each field in Figure 3.
[0099] Table 4
[0100] 7. Triggered transmission opportunity (TXOP) sharing technology
[0101] Wi-Fi 6 introduces TXOP sharing, a trigger-based wireless media access method. The AP obtains information about each STA's uplink data volume, rate, and distance. The AP then integrates this information and shares the TXOP parameters with one or more STAs via a trigger frame. The STAs can then use this TXOP to send uplink data.
[0102] Wi-Fi 7 expands upon Wi-Fi 6's TXOP sharing technology. While the AP still uses a trigger frame to transfer its TXOP to a STA, this trigger frame specifies no parameters other than the length of the STA's available TXOP. The trigger frame used in TXOP sharing is the multi-user request to send (MU-RTS) transmission opportunity sharing (TXS) frame, which adds TXOP length information and other parameters to the MU-RTS frame defined in Wi-Fi 6.
[0103] Figure 4 illustrates the information exchange between an AP and a STA. As shown in Figure 4, the AP can send a trigger frame (MU-RTS TXS) to the STA, and the STA responds by sending an acknowledgment frame to the AP. During the duration of the TXOP transferred by the AP to the STA, the STA can use this TXOP to send uplink data to the AP and also perform point-to-point data transmission with other STAs.
[0104] The TXOP sharing technology in the Wi-Fi 7 standard supports two modes of data transmission: uplink or point-to-point. These modes are Mode 1 and Mode 2. Mode 1 supports uplink data transmission, while Mode 2 supports both uplink and point-to-point data transmission. For example, the MU-RTS TXS frame format is shown in Figure 5, and the explanation of each field is shown in Table 5.
[0105] Table 5
[0106] 8. (Wi-Fi 8) UHR
[0107] In July 2022, the Institute of Electrical and Electronics Engineers (IEEE) established an ultra high reliability (UHR) study group (SG). The SG's mission is to study the evolution direction of the next-generation (Wi-Fi 8) technology, and plans to establish an 802.11bn working group in November 2023 and draft the Wi-Fi 8 protocol definition.
[0108] As can be seen from the Project Authentication Request (PAR) issued by the UHR SG in July 2023, the UHR SG's research focuses on improving transmission stability, which includes reducing latency, increasing throughput, and reducing packet loss. The above is an introduction to some of the concepts involved in the embodiments of this disclosure, and will not be repeated below.
[0109] When a large number of data packets are transmitted between communication nodes (e.g., between access points (APs) and stations (STAs)), data packets that are not sent in time can be stored in the communication node's (e.g., AP) cache queue. However, due to limited network resources, as the number of data packets transmitted between communication nodes increases, a communication node (e.g., AP) may be unable to process and forward the large number of data packets received in a short period of time, resulting in data congestion when transmitting data packets between communication nodes. Data congestion can affect data packet transmission speeds, increase data packet transmission latency, and even lead to data packet loss and service interruptions between communication nodes, which is detrimental to the stable and efficient operation of the communication network.
[0110] The congestion control method provided by the embodiments of the present disclosure can be applied to various communication systems. For example, the communication system may be a global system of mobile communication (GSM), a code division multiple access (CDMA) system, a wideband code division multiple access (WCDMA) system, a general packet radio service (GPRS), a long term evolution (LTE) system, an LTE frequency division duplex (FDD) system, an LTE time division duplex (TDD) system, an advanced long term evolution (LTE-A) system, a universal mobile telecommunication system (UMTS), a world-wide interoperability for microwave access (WiMAX) communication system, a wireless local area network (WLAN), a Wi-Fi system, a 3GPP-related communication system, a fifth generation (5G) communication system, a future evolved communication system (e.g., a sixth generation (6G) communication system, etc.), or a system integrating multiple systems, and the embodiments of the present disclosure are not limited thereto.
[0111] In the embodiments of the present disclosure, the network architecture of a communication network (including but not limited to 3G, 4G, 5G, and future mobile communication networks) may include at least a first node and a second node. In this example, the first node may be a network-side device (e.g., including but not limited to an AP), and the second node may be a terminal-side device (e.g., including but not limited to a STA).
[0112] For example, taking the first node as an AP and the second node as a STA as an example, as shown in FIG6 , a communication system according to an embodiment of the present disclosure includes an AP 110 and a STA 120. The AP 110 and the STA 120 are in communication connection.
[0113] In some embodiments, there may be one or more STAs 120, and the embodiments of the present disclosure do not limit the number of STAs.
[0114] AP 110 is used to provide wireless network connections to surrounding devices (such as STAs) through wireless signals, manage wireless network configuration, forward data transmission between wireless devices, etc.
[0115] In some embodiments, AP 110, for example, is configured to receive an information frame sent by STA 120. The information frame includes configuration information and indication information for a data flow (e.g., indication information for L4S data). Upon receiving the information frame, AP 110 sends a response frame to the STA and locally stores the configuration information and indication information for the data flow.
[0116] In some embodiments, the data streams received by the AP include uplink data streams, downlink data streams, and point-to-point data streams. Furthermore, the data streams may include different types of data. For example, the data streams may include traditional QoS data, low-latency normal data, and low-latency L4S data. For downlink data streams, after receiving a data stream containing L4S data from the logical link layer, the AP 110 may further parse the data header information based on the data stream configuration information, classify the data streams into different types of data, and place them into different downlink scheduling queues.
[0117] In some embodiments, during the transmission of a data stream (e.g., L4S data), if AP 110 determines that the transmission of the data stream cannot meet scheduling requirements, it enters a congestion control process. For example, AP 110 may send a congestion control instruction to STA 120, causing STA 120 to reduce the transmission rate of the data stream based on the congestion control instruction. When subsequently scheduling data for transmission, if AP 110 determines that the transmission schedule of the data stream meets the requirements, it may cancel the congestion control process.
[0118] In some embodiments, the AP 110 may also receive a data stream reconfiguration information frame sent by the STA 120 and update the locally stored configuration information of the data stream based on the content of the information frame.
[0119] In some embodiments, the AP 110 may be a single-link AP, a multi-link AP, or a distributed non-collocated access point multicast listener discovery (non-collocated AP MLD) protocol. For example, the AP may be a base transceiver station (BTS) in a GSM system or a CDMA system, a base station (node B, NB) in a WCDMA system, an evolutionary node B (eNB or eNodeB) in an LTE system, or a wireless controller in a cloud radio access network (CRAN), or the AP may be a mobile switching center, a relay station, an access point, a vehicle-mounted device, a wearable device, a hub, a switch, a bridge, a router, a network-side device in a 5G network, or a network device in a future evolved public land mobile network (PLMN), etc.
[0120] STA 120 is configured to transmit and access data via the wireless network provided by AP 110. In some embodiments, when STA 120 needs to transmit data, it may send an information frame to AP 110. This information frame includes data flow configuration information and L4S indication information. If a STA has multiple data flows, it may send information frames to AP 110 multiple times until AP 110 completes configuration of the data flows.
[0121] In some embodiments, STA 120 may obtain channel access rights based on a carrier sense multiple access / collision avoidance (CSMA / CA) channel preemption method or a triggered frame scheduling method, and transmit L4S data in the uplink direction or point-to-point direction.
[0122] In some embodiments, STA 120 may receive a congestion control instruction sent by AP 110 and reduce the transmission rate of the data flow based on the congestion control instruction. In addition, STA 120 may also receive a cancel congestion control instruction sent by AP 110 to restore the transmission rate of the data flow.
[0123] In some embodiments, STA 120 may also send a data flow reconfiguration information frame to AP 110, so that AP 110 updates the locally stored configuration information of the data flow based on the content of the information frame.
[0124] In some embodiments, STA 120 may be a single-link STA or a multi-link STA. For example, the STA may be a cellular phone, a cordless phone, a Session Initiation Protocol (SIP) phone, a wireless local loop (WLL) station, a personal digital assistant (PDA), a handheld device with wireless communication capabilities, a computing device or other processing device connected to a wireless modem, an in-vehicle device or a wearable device, a virtual reality (VR) terminal device, an augmented reality (AR) terminal device, a wireless terminal in industrial control, a wireless terminal in self-driving, a wireless terminal in remote medical care, a wireless terminal in a smart grid, a wireless terminal in transportation safety, a wireless terminal in a smart city, a wireless terminal in a smart home, etc.
[0125] It should be noted that the above scenarios are intended to more clearly illustrate the technical solutions of the embodiments of the present disclosure and do not constitute a limitation on the technical solutions provided by the embodiments of the present disclosure. Those skilled in the art will appreciate that, as system architecture evolves and new business scenarios emerge, the technical solutions provided by the embodiments of the present disclosure will also be applicable to similar technical problems.
[0126] In communication systems, the loss or marking of data packets mainly includes the following two factors: (1) The AP receives a large number of data packets in a short period of time but fails to send them out in time, causing the data packets to be continuously cached locally. Eventually, there is no local cache space to continue receiving new data packets. At this time, the AP has to discard relatively "old" data packets; (2) Each data packet has a "life cycle". If the locally cached data packets are still not scheduled and sent out before the life cycle expires, then these data packets will also be discarded.
[0127] In related technologies, congestion determination for data packets is usually performed by the AP, which may be connected to dozens or even hundreds of STAs simultaneously. Each STA's application requires different latency requirements. If congestion control is performed based only on factors (1) or (2), the precise latency requirements of the STAs cannot be met, which is detrimental to the stability and efficiency of the communication network.
[0128] To address the above issues, see Figure 7, which is a flow chart of a congestion control method according to an embodiment of the present disclosure. As shown in Figure 7, the congestion control method provided by the embodiment of the present disclosure is applied to a first node and includes the following steps S101 and S102.
[0129] In S101, the flow configuration information of the data flow is obtained.
[0130] In some embodiments, the first node (e.g., AP) may receive a sixth frame sent by the second node (e.g., STA). The sixth frame includes flow configuration information of the data flow. After receiving the flow configuration information, the first node saves it locally.
[0131] In some embodiments, the flow configuration information includes flow characteristic information, the flow characteristic information includes third indication information, and the third indication information is used to indicate whether the data flow has the characteristics of an L4S data flow.
[0132] Exemplarily, the flow characteristic information can be indicated based on the Quality of Service (QoS Characteristic) technology. As shown in Figure 8, based on Figure 3, third characteristic information is added to the QoS Characteristic field. For example, the third characteristic information can be an L4S identifier to indicate whether the data flow has the characteristics of an L4S data flow. When the QoS Characteristic field carries the L4S identifier, it means that the data flow has the characteristics of an L4S data flow. As shown in Figure 8, the QoS Characteristic field also carries information such as the minimum service interval, the maximum service interval, the minimum rate, and the maximum delay to instruct the first node to schedule the transmission of the data flow.
[0133] In some embodiments, the sixth frame further includes at least one of the following: second indication information and direction information of the data flow. The second indication information is used to indicate that the data flow includes an L4S data flow.
[0134] In some embodiments, when the first node receives a downlink data flow containing an L4S identifier, it can parse the data header information according to the flow configuration information, classify the data flow into different types, and place them into corresponding scheduling queues. For example, the data flow can include traditional QoS data, low-latency normal data, low-latency L4S data, and other data types.
[0135] It is understandable that since the second node (e.g., STA) may run multiple low-latency (including low-latency L4S and low-latency non-L4S) applications at the same time, and the delays required by different applications are different, if the data stream is simply divided based on the ECN capable transport (ECT) mark (e.g., L4S data is divided), the delay requirements of each application cannot be met. The embodiment of the present disclosure can parse the packet header information of the data stream and place different types of data streams into corresponding scheduling queues for processing to ensure that the delay requirements of different applications are met. In this process, special tags, such as the third indication information in the embodiment of the present disclosure, can be used to identify L4S data to better manage and schedule the data stream, thereby improving the performance of the network and user experience.
[0136] As an example, the second indication information can be provided based on the IPv4 flow information. For example, as shown in FIG9 , based on FIG1 , second indication information of one byte in length is added to indicate that the data stream contains an L4S data stream. The second indication information can be in the form of an ECN field. When the IPv4 flow information carries the second indication information (i.e., carries the ECN field), it indicates that the data stream is an L4S data stream. When the IPv4 flow information does not carry the second indication information (i.e., does not carry the ECN field), it indicates that the data stream does not contain an L4S data stream.
[0137] As another example, the second indication information can be provided based on the IPv6 flow information. For example, as shown in FIG10 , based on FIG2 , second indication information of one byte in length is added to indicate that the data flow contains an L4S data flow. The second indication information can be in the form of an ECN field. When the IPv6 flow information carries the second indication information (i.e., carries the ECN field), it indicates that the data flow is an L4S data flow; when the IPv6 flow information does not carry the second indication information (i.e., does not carry the ECN field), it indicates that the data flow does not contain an L4S data flow.
[0138] In some embodiments, the direction information of the data flow includes at least one of the following: an uplink direction, a downlink direction, and a point-to-point direction. The uplink direction refers to the second node sending data to the first node, the downlink direction refers to the first node sending data to the second node, and the point-to-point direction refers to the second node sending data to a node other than the first node.
[0139] In some embodiments, the first node may further send a seventh frame to the second node, where the seventh frame is used to respond to the sixth frame.
[0140] It can be understood that in the congestion control method provided by the embodiment of the present disclosure, the first node can obtain the flow configuration information of the data flow and effectively plan and schedule the data flow based on the flow configuration information to meet the specific transmission requirements of different data flows.
[0141] In S102, when the transmission scheduling of the data flow cannot meet the requirements of the flow configuration information, first congestion control information corresponding to the data flow is sent to the second node.
[0142] The first congestion control information is used to instruct to perform congestion control on the data flow.
[0143] For example, if the maximum delay of transmitting the data stream during the process of scheduling the transmission of the data stream by the first node is greater than the maximum delay indicated in the stream configuration information, that is, the transmission scheduling of the data stream by the first node cannot meet the requirements of the stream configuration information, then the first node sends congestion control information to the second node to instruct the second node to perform congestion control on the data stream.
[0144] It can be understood that in the congestion control method provided by the embodiment of the present disclosure, when the transmission scheduling of the data flow cannot meet the requirements of the flow configuration information, the first node sends congestion control information to the second node to instruct the second node to perform congestion control on the data flow, which can effectively avoid the occurrence of congestion in the communication network and improve the reliability and stability of data flow transmission.
[0145] In some embodiments, sending first congestion control information corresponding to a data flow to a second node includes: sending a first frame to the second node. The first frame includes the first congestion control information. After receiving the first frame, the second node may proactively reduce a transmission rate of the data flow based on the first congestion control information in the first frame.
[0146] In some embodiments, as shown in FIG11 , the first frame further includes at least one of the following: frame type, Internet Protocol (IP) version information, transmission direction, flow label, flow classification service identifier, source address, destination address, data flow protocol type, source port, destination port, etc. The meanings of other fields in the first frame and the names of the fields in the first frame are shown in Table 6 below.
[0147] Table 6
[0148] In some embodiments, when the data stream is transmitted in the uplink or point-to-point direction, the first frame may be a MU-RTS TXS frame. In this case, as shown in FIG12 , based on FIG5 , the first node may extend the MU-RTS TXS frame to carry congestion control information. For example, an L4S indicator may be added to indicate that the frame carries congestion control information. Alternatively, the first node may define a new first frame to carry congestion control information.
[0149] In some embodiments, the first node may further receive a second frame sent by the second node, where the second frame is used to respond to the first frame.
[0150] In some embodiments, the protocol stack of the first node includes a MAC layer and a higher layer above the MAC layer. As shown in FIG13 , the first congestion control information corresponding to the data flow is sent to the second node, including: Sa1 and Sa2.
[0151] In Sa1, the MAC layer or a higher layer above the MAC layer sets the congestion control field in the IP data packet header of the data flow to a first value.
[0152] In some embodiments, the MAC layer of the first node, or a higher layer above the MAC layer, may directly modify the congestion control field in the scheduling queue corresponding to the data flow or in the IP data packet header. Exemplarily, the congestion control field may be an MSDU field. At the MAC layer, the first node may set the MSDU of the data in the scheduling queue corresponding to the L4S data to a first value. Alternatively, the congestion control field may be a CE field. The first node may set the CE field of the MPDU containing the ECT indicator in the data to a first value. Exemplarily, the first value may be 1.
[0153] It should be noted that the higher layers above the MAC layer in the protocol stack of the first node mentioned in the embodiments of the present disclosure may be higher layers such as the logical link layer and the network layer. In other words, the higher layers above the MAC layer are simply higher layers in the protocol stack of the first node that are distinct from the MAC layer. The form of the higher layers above the MAC layer may vary based on different scenarios and actual implementations, and the embodiments of the present disclosure do not limit this.
[0154] In Sa2, the MAC layer or a higher layer above the MAC layer sends an IP data packet with a congestion control field set to a first value to the second node.
[0155] It can be understood that in the congestion control method provided by the embodiment of the present disclosure, the first node sets the congestion control field in the IP data packet header to the first value and sends it to the second node, so that the second node can perceive the congestion situation in a timely manner, so as to perform congestion control in a timely manner, reduce the delay of data transmission, and improve the real-time and responsiveness of data transmission.
[0156] In some embodiments, the protocol stack of the first node includes a MAC layer and upper layers above the MAC layer. As shown in FIG14 , the first congestion control information corresponding to the data flow is sent to the second node, including: Sb1 to Sb3.
[0157] In Sb1, the MAC layer sends congestion event information to upper layers above the MAC layer.
[0158] In some embodiments, the congestion event information is a congestion event primitive. After generating the congestion event information, the MAC reports the congestion event information to a higher layer above the MAC layer (eg, a logical link layer or a network layer) in the form of a congestion event primitive.
[0159] In some embodiments, the congestion event primitive includes at least one of the following: source address, destination address, flow classification service identifier, IP type, flow label, destination port, and source port.
[0160] As an example, the congestion event primitive may look like this:
[0161] MLME-L4S-congression.indication(
[0162] source address,
[0163] destination address,
[0164] SCSID,
[0165] IP protocol,
[0166] Source port,
[0167] Destination port,
[0168] Flow label
[0169] )
[0170] As another example, a congestion event primitive may look like this:
[0171] MA-UNITDATA.indication(
[0172] source address,
[0173] destination address,
[0174] routing information,
[0175] data,
[0176] priority,
[0177] drop eligible,
[0178] service class,
[0179] station vector,
[0180] MSDU format,
[0181] L4S-CE
[0182] )
[0183] Based on the above two examples, when the first node transmits congestion event information, it can use the drop eligible field to indicate L4S information; or, the first node can add an additional L4S-CE field to the primitive of the downlink data based on the primitive to indicate L4S information.
[0184] In Sb2, the upper layer above the MAC layer sets the congestion control field in the IP data packet of the data flow to a first value based on the congestion event information.
[0185] In some embodiments, after obtaining congestion event information through the MAC layer, the upper layer above the MAC layer sets the congestion control field in the IP data packet of the corresponding data flow to a first value. For example, the first value may be 1.
[0186] In Sb3, the upper layer above the MAC layer sends an IP data packet with the congestion control field set to the first value to the second node.
[0187] In some embodiments, after receiving the IP data packet with the congestion control field set to the first value, the second node may actively reduce the transmission rate of the data flow in the uplink direction or the point-to-point direction.
[0188] It is understandable that since the ECN mark that displays the congestion reminder is located in the packet header of the IP layer, and the 802.11 protocol is only responsible for parsing and processing the information of the MAC layer and the physical layer, it cannot directly modify the content of the IP layer. Therefore, it is necessary to define a new way to mark the data stream for congestion to indicate that congestion control is required for the data stream. In the congestion control method provided in the embodiment of the present disclosure, the data stream is congested by setting the congestion control field (such as the CE field) to a first value to mark the data stream for congestion to indicate that congestion control is required, so that congestion control of the data stream can be achieved in the wireless network.
[0189] In some embodiments, after receiving the congestion event information, the upper layer above the MAC layer can also assemble an Internet Control Message Protocol message (ICMP) and send it to the second node, so that the second node can actively reduce the transmission rate of the data flow in the upstream direction or point-to-point direction based on the ICMP message.
[0190] It can be understood that in the congestion control method provided by the embodiment of the present disclosure, the first node sets the congestion control field in the IP data packet header to the first value and sends it to the second node, so that the second node can perceive the congestion situation in a timely manner, so as to perform congestion control in a timely manner, reduce the delay of data transmission, and improve the real-time and responsiveness of data transmission.
[0191] In addition, in the embodiment of the present disclosure, when the first node sends congestion control information corresponding to the data flow to the second node, by adopting different sending methods (for example, sending a first frame, sending an IP data packet with the congestion control field set to the first value to the second node, etc.), the method of triggering congestion control of the data flow can be made more flexible and varied, thereby increasing the flexibility of the solution.
[0192] In some embodiments, the congestion control method further includes: stopping sending the first congestion control information to the second node when the transmission scheduling of the data flow meets the requirements of the flow configuration information.
[0193] For example, after a first node sends congestion control information to a second node, as the amount of data received by the first node decreases, the first node compares the transmission schedule of the data flow with its stored flow configuration information to determine whether to continue sending congestion control information. When the transmission schedule of the data flow satisfies the flow configuration information, the first node stops sending congestion control signals to the second node.
[0194] It is understandable that when the transmission scheduling of the data stream meets the requirements of the flow configuration information, it indicates that the current network status supports the normal transmission of the data stream. At this time, if the congestion control information continues to be sent to the second node, the network bandwidth will be wasted and too much congestion control information will be generated. In addition, too much congestion control information may cause the queuing and waiting time of data packets in the network to increase, thereby increasing the network delay during data transmission and reducing the response speed and real-time performance of the network. In the congestion control method provided by the embodiment of the present disclosure, when the transmission scheduling of the data stream meets the requirements of the flow configuration information, stopping sending the congestion control information to the second node can save network bandwidth, ensure the normal transmission of the data stream, and reduce data congestion.
[0195] In some embodiments, the congestion control method further includes: sending congestion control release information to the second node when the transmission scheduling of the data flow meets the requirements of the flow configuration information.
[0196] The congestion control release information is used to indicate that congestion control is released for a data flow.
[0197] For example, after a first node sends congestion control information to a second node, due to a decrease in the amount of data received by the first node, the first node compares the transmission schedule of the data flow with its stored flow configuration information to determine whether to release congestion control for the data flow. If the transmission schedule of the data flow satisfies the flow configuration information, the first node sends congestion control release information to the second node, instructing the second node to release congestion control for the data flow.
[0198] In some embodiments, sending the congestion control release information to the second node includes: sending a third frame to the second node, wherein the third frame includes the congestion control release information.
[0199] In some embodiments, the third frame further includes at least one of the following: frame type, IP version information, transmission direction, flow label, flow classification service identifier, source address, destination address, data flow protocol type, source port, and destination port.
[0200] In some embodiments, the format of the third frame may refer to the format of the first frame in FIG. 12 , and will not be further described in detail in the embodiment of the present disclosure.
[0201] In some embodiments, the first node may further receive a fourth frame sent by the second node, where the fourth frame corresponds to the third frame.
[0202] In some embodiments, the protocol stack of the first node includes a MAC layer and a higher layer above the MAC layer. As shown in FIG15 , the congestion control release information sent to the second node includes: Sc1 and Sc2.
[0203] In Sc1, the MAC layer or a higher layer above the MAC layer sets the congestion control field in the IP data packet header of the data flow to a second value.
[0204] In some embodiments, the MAC layer or a higher layer above the MAC layer can directly modify the congestion control field in the scheduling queue corresponding to the data flow or in the IP data packet header. Exemplarily, the congestion control field can be an MSDU field. At the MAC layer, the first node can set the MSDU of the data in the scheduling queue corresponding to the L4S data to a second value. Alternatively, the congestion control field can be a CE field. The first node can set the CE field of the MPDU containing the ECT indication in the data to a second value. Exemplarily, the second value can be 0.
[0205] In Sc2, the MAC layer or a higher layer above the MAC layer sends an IP data packet with the congestion control field set to a second value to the second node.
[0206] In some embodiments, the protocol stack of the first node includes a MAC layer and a higher layer above the MAC layer. As shown in FIG16 , the congestion control release information is sent to the second node, including: Sd1 to Sd3.
[0207] In Sd1, the MAC layer sends congestion relief event information to upper layers above the MAC layer.
[0208] In some embodiments, the decongestion event information is a decongestion event primitive. After generating the congestion event information, the MAC layer reports the decongestion event information to a higher layer above the MAC layer (eg, a logical link layer) in the form of a decongestion event primitive.
[0209] In some embodiments, the decongestion event primitive includes at least one of the following: source address, destination address, flow classification service identifier, IP type, flow label, destination port, and source port.
[0210] As an example, the decongestion event primitive may look like this:
[0211] MLME-L4S-congression-cancel.indication(
[0212] source address,
[0213] destination address,
[0214] SCSID,
[0215] IP protocol,
[0216] Source port,
[0217] Destination port,
[0218] Flow label
[0219] )
[0220] As another example, the decongestion event primitive may look like this:
[0221] MA-UNITDATA.indication(
[0222] source address,
[0223] destination address,
[0224] routing information,
[0225] data,
[0226] priority,
[0227] drop eligible,
[0228] service class,
[0229] station vector,
[0230] MSDU format,
[0231] L4S-CE
[0232] )
[0233] In Sd2, the upper layer above the MAC layer sets the congestion control field in the IP data packet of the data flow to a second value based on the decongestion event information.
[0234] In some embodiments, after obtaining the congestion event information through the MAC layer, the upper layer above the MAC layer of the first node sets the congestion control field in the IP data packet of the corresponding data flow to a second value. For example, the second value may be 0.
[0235] In Sd3 , the upper layer above the MAC layer sends an IP data packet with the congestion control field set to a second value to the second node.
[0236] It can be understood that in the method provided by the embodiment of the present disclosure, the first node sets the congestion control field in the IP data packet header to the second value and sends it to the second node, so that the second node can perceive the congestion situation in time, so as to cancel the congestion control in time and ensure the normal transmission of the data flow.
[0237] In addition, in the embodiment of the present disclosure, when the first node sends congestion control release information corresponding to the data flow to the second node, by adopting different sending methods (for example, sending a third frame, sending an IP data packet with the congestion control field set to the second value to the second node, etc.), the method of triggering congestion control of the data flow can be made more flexible and varied, thereby increasing the flexibility of the solution.
[0238] In some embodiments, as shown in FIG17 , the congestion control method further includes: S201 and S202 .
[0239] In S201, second congestion control information sent by a second node is received.
[0240] In some embodiments, when the second node detects that the transmission scheduling of the data flow cannot meet the requirements of the flow configuration information, it sends second congestion control information to the first node. That is, the first node can receive the second congestion control information sent by the second node.
[0241] In S202, the transmission schedule of the data flow is adjusted based on the second congestion control information.
[0242] It is understandable that the L4S protocol in the related art only supports congestion control for L4S data in the downlink direction (that is, when the second node is the receiving end of the data stream), and the second node has no way to inform the first node of the congestion status of its uplink L4S data through the MAC layer protocol. Accordingly, the first node cannot perform corresponding uplink scheduling according to the instructions of the second node. In addition, the current L4S protocol does not support L4S congestion control in the point-to-point direction, that is, when a second node transmits L4S data to another second node through point-to-point technology, the second node has no way to inform the first node of its point-to-point L4S congestion status through the MAC layer protocol, and the AP cannot perform corresponding point-to-point direction-based trigger frame scheduling according to the corresponding L4S instructions. In the congestion control method provided in the embodiment of the present disclosure, when the second node detects that the transmission scheduling of the data stream cannot meet the requirements of the stream configuration information, it sends congestion control information to the first node, so that the first node can adjust the transmission scheduling of the data stream in a timely manner based on the congestion control information to ensure the transmission delay requirements of the data stream.
[0243] In some embodiments, adjusting the transmission schedule of the data flow includes: sending a fifth frame to the second node, wherein the fifth frame is used to trigger the priority transmission of the data flow.
[0244] In some embodiments, the fifth frame includes first indication information to trigger priority transmission of the L4S data flow. After receiving the fifth frame, the second node prioritizes transmission of the L4S data flow in the uplink direction or the point-to-point direction based on the first indication information in the fifth frame.
[0245] It can be understood that in the congestion control method provided by the embodiment of the present disclosure, by using the fifth frame to trigger the priority transmission of data flow, it can ensure that a specific data flow (for example, L4S data flow) is transmitted with a higher priority, thereby ensuring the transmission efficiency of the specific data flow and reducing transmission delay.
[0246] In some embodiments, the fifth frame does not include the association identifier (AID) information of the second node, so as to trigger any station to compete for the resource unit allocated in the fifth frame to transmit the low-latency, low-loss, scalable throughput (L4S) data flow. It is understandable that when the first node sends the fifth frame to the second node, if the AID information of the second node is not specified, the resource unit (RU) is a random access channel resource unit (RA-RU), that is, all second nodes containing L4S data flows can preempt the RA-RU including the first indication information.
[0247] It can be understood that when the fifth frame does not include the association identification (AID) information of the second node, all second nodes containing L4S data flows can preempt the RA-RU including the first indication information, thereby improving the utilization of network resources, helping to increase the transmission quantity and quality of data flows in the network, reducing the queuing and waiting time of data packets, and thus reducing the transmission delay of the data flow.
[0248] In some embodiments, the congestion control method further includes: receiving an eighth frame sent by the second node, wherein the eighth frame is used to modify flow configuration information of the data flow.
[0249] In some embodiments, after receiving the eighth frame, the first node updates the locally stored configuration information of the data flow, L4S indication information, etc. based on the indication of the eighth frame.
[0250] In some embodiments, the first node may further send a ninth frame to the second node, where the ninth frame is used to respond to the eighth frame.
[0251] It can be understood that in the congestion control method provided by the embodiment of the present disclosure, the first node modifies the flow configuration information of the data flow through the eighth frame, and can dynamically adjust the allocation and management strategy of network resources to meet different application scenarios and needs, thereby improving the utilization efficiency of network resources.
[0252] Based on the congestion control method provided by the embodiments of the present disclosure, a first node can obtain the flow configuration information of a data flow and effectively plan and schedule the transmission of the data flow based on the flow configuration information to meet the specific transmission requirements of different data flows. Secondly, when the transmission scheduling of the data flow cannot meet the requirements of the flow configuration information, the first node can send congestion control information to the second node to instruct the second node to perform congestion control on the data flow, effectively avoiding the occurrence of congestion in the communication network and improving the reliability and stability of data flow transmission.
[0253] Referring to Figure 18, Figure 18 is a flow chart of another congestion control method according to an embodiment of the present disclosure. As shown in Figure 18, the congestion control method provided by the embodiment of the present disclosure is applied to the second node and includes the following S301 and S302.
[0254] In S301, first congestion control information sent by a first node is received.
[0255] The first congestion control information is used to instruct to perform congestion control on the data flow.
[0256] In some embodiments, the protocol stack of the second node includes a MAC layer and a higher layer above the MAC layer. The receiving the first congestion control information sent by the first node includes: receiving a first frame sent by the first node, the first frame including the first congestion control information; or, the MAC layer receiving an IP data packet sent by the first node, with a congestion control field set to a first value; or, the higher layer above the MAC layer receiving an IP data packet sent by the first node, with a congestion control field set to the first value.
[0257] It should be noted that the higher layers above the MAC layer in the second node protocol stack mentioned in the embodiments of the present disclosure may be higher layers such as the logical link layer and the network layer. In other words, the higher layers above the MAC layer are simply higher layers in the protocol stack of the second node that are distinct from the MAC layer. The form of the higher layers above the MAC layer may vary based on different scenarios and actual implementations, and the embodiments of the present disclosure do not limit this.
[0258] In some embodiments, the implementation of the above S301 may refer to the description of the above S102, and the embodiments of the present disclosure will not be repeated here.
[0259] It can be understood that in the congestion control method provided by the embodiment of the present disclosure, the first node can send congestion control information to the second node through different sending methods (for example, sending a first frame, sending an IP layer data packet with the congestion control field set to the first value to the second node, etc.), that is, the second node can receive congestion control information through different receiving methods, which can make the second node more flexible and changeable in triggering congestion control of the data flow, thereby increasing the flexibility of the solution.
[0260] In S302, based on the first congestion control information, the packet sending rate of the data flow is reduced.
[0261] It can be understood that in the congestion control method provided by the embodiment of the present disclosure, when the transmission scheduling of the data flow cannot meet the requirements of the flow configuration information, the second node can promptly perform congestion control on the data flow by receiving the congestion control information sent by the first node, thereby effectively avoiding the occurrence of congestion in the communication network and improving the reliability and stability of data flow transmission.
[0262] In some embodiments, reducing the packet sending rate of the data flow includes: when the second node serves as a sending end of the data flow, reducing the packet sending rate of the data flow itself.
[0263] For example, after receiving the congestion control information, the second node notifies the upper layer of its protocol stack (ie, the upper layer above the MAC layer) of the congestion control information. After receiving the congestion control information, the upper layer of the protocol stack actively reduces the packet sending rate of the data flow.
[0264] In some embodiments, reducing the packet sending rate of the data flow includes: when the second node serves as a receiving end of the data flow, sending a first control message to a server end of the data flow. The first control message is used to instruct the server end to reduce the downlink packet sending rate of the data flow.
[0265] Exemplarily, the first control message may be ICMP.
[0266] For example, when the second node serves as the receiving end of the data stream, after receiving the congestion control information, the second node generates congestion event information and reports the congestion event information to a higher layer (e.g., a logical link layer) above the MAC layer of the second node. The congestion event information is a congestion event primitive. After the MAC layer generates the congestion event information, it reports the congestion event information to a higher layer above the MAC layer in the form of a congestion event primitive. The higher layer above the MAC layer of the second node can adjust the packet sending rate of the second node. For example, the application layer of the second node sends an ICMP message to the server end of the data stream to reduce the downlink packet sending rate of the data stream.
[0267] In some embodiments, the congestion event primitive includes at least one of the following: source address, destination address, flow classification service identifier, IP type, flow label, destination port, and source port. For example, the content of the congestion event primitive can refer to Sb1 above, and the embodiments of the present disclosure will not be repeated here.
[0268] It can be understood that in the congestion control method provided in the embodiment of the present disclosure, the second node can control the packet sending rate of the data stream by sending a first control message to the server end of the data stream, which helps to avoid data congestion and network overload, improve the stability and reliability of the network, and ensure the timely transmission of data.
[0269] In some embodiments, the congestion control method further includes: restoring the packet sending rate of the data stream when the first congestion control information is not received within a preset time period. For example, the preset time period may be 5 minutes.
[0270] It is understandable that when the transmission scheduling of the data stream meets the requirements of the flow configuration information, it indicates that the current network status supports the normal transmission of the data stream. At this time, if the congestion control information continues to be sent to the second node, the network bandwidth will be wasted and too much congestion control information will be generated. In addition, too much congestion control information may cause the queuing and waiting time of data packets in the network to increase, thereby increasing the network delay during data transmission and reducing the response speed and real-time performance of the network. In the congestion control method provided by the embodiment of the present disclosure, when the transmission scheduling of the data stream meets the requirements of the flow configuration information, the first node will stop sending congestion control information to the second node. That is to say, if the second node does not receive the congestion control information within the preset time period, it means that the transmission scheduling of the data stream meets the requirements of the flow configuration information at this time. Therefore, the second node restores the packet sending rate of the data stream, which can ensure the normal transmission of the data stream and reduce data congestion.
[0271] In some embodiments, as shown in FIG19 , the congestion control method further includes: S401 and S402 .
[0272] In S401, congestion control release information sent by a first node is received.
[0273] The congestion control release information is used to indicate that congestion control is released for a data flow.
[0274] In some embodiments, the protocol stack of the second node includes a MAC layer and a higher layer above the MAC layer. Receiving the congestion control release information sent by the first node includes: receiving a third frame sent by the first node, the third frame including the congestion control release information; or, the MAC layer receiving an IP data packet sent by the first node with a congestion control field set to a second value; or, the higher layer above the MAC layer receiving an IP data packet sent by the first node with a congestion control field set to the second value.
[0275] In S402, based on the congestion control release information, the packet sending rate of the data flow is restored.
[0276] It can be understood that in the congestion control method provided by the embodiment of the present disclosure, when the second node receives the congestion control release information sent by the first node, by adopting different receiving methods (for example, receiving the third frame, receiving the IP data packet with the congestion control field set to the second value, etc.), the method of triggering the release of congestion control on the data stream can be made more flexible and varied, thereby increasing the flexibility of the solution.
[0277] In some embodiments, the above-mentioned restoration of the packet rate of the data stream includes: when the second node acts as the sending end of the data stream, restoring the packet rate of the data stream; or, when the second node acts as the receiving end of the data stream, sending a second control message to the server end of the data stream, the second control message is used to instruct the server end to restore the downlink packet rate of the data stream.
[0278] As an example, when the second node serves as the transmitter of the data stream, when the second node receives the congestion control release information, the second node generates decongestion event information and reports the decongestion event information to a higher layer (e.g., a logical link layer) above the MAC layer of the second node. The decongestion event information is reported to the higher layer above the MAC layer in the form of a decongestion event primitive. The higher layer above the MAC layer can proactively restore the uplink or point-to-point packet rate of the data stream. For example, the content of the decongestion event primitive can refer to the above-mentioned Sd1, and the embodiments of the present disclosure will not be repeated here.
[0279] As another example, when a second node is the receiving end of a data stream, upon receiving congestion control release information, the second node generates decongestion event information and reports the decongestion event information to a higher layer above the MAC layer of the second node. The decongestion event information is reported to the higher layer above the MAC layer in the form of a decongestion event primitive. The higher layer above the MAC layer can restore the packet sending rate of the data stream. For example, the application layer of the second node sends an ICMP message to the server end of the data stream to increase the downlink packet sending rate of the data stream.
[0280] As another example, when a second node is acting as the receiving end of a data flow, after receiving an IP packet with the congestion control field set to the second value, the second node cannot parse the congestion control field containing the first value. In this case, the second node can adjust or restore the packet sending rate of the data flow based on the actual transmission requirements of the data flow. For example, the application layer of the second node sends an ICMP message to the server end of the data flow to increase the downlink packet sending rate of the data flow.
[0281] In some embodiments, the congestion control method further includes: sending second congestion control information to the first node when the transmission scheduling of the data flow cannot meet the requirements of the flow configuration information.
[0282] It is understandable that the L4S protocol in the related art only supports congestion control for L4S data in the downlink direction (that is, when the second node is the receiving end of the data stream), and the second node has no way to inform the first node of the congestion status of its uplink L4S data through the MAC layer protocol. Accordingly, the first node cannot perform corresponding uplink scheduling according to the instructions of the second node. In addition, the current L4S protocol does not support L4S congestion control in the point-to-point direction, that is, when a second node transmits L4S data to another second node through point-to-point technology, the second node has no way to inform the first node of its point-to-point L4S congestion status through the MAC layer protocol, and the AP cannot perform corresponding point-to-point direction trigger frame-based scheduling according to the corresponding L4S instructions. In the congestion control method provided in the embodiment of the present disclosure, when the second node detects that the transmission scheduling of the data stream cannot meet the requirements of the stream configuration information, it sends congestion control information to the first node, so that the first node can adjust the transmission scheduling of the data stream in a timely manner based on the congestion control information to ensure the transmission delay requirements of the data stream.
[0283] In some embodiments, as shown in FIG20 , the congestion control method further includes: S501 and S502 .
[0284] In S501 , a fifth frame sent by a first node is received.
[0285] The fifth frame is used to trigger the priority transmission of data stream.
[0286] In S502 , based on the fifth frame, the data stream is sent preferentially.
[0287] In some embodiments, the fifth frame includes first indication information to trigger priority transmission of the L4S data flow. After receiving the fifth frame, the second node prioritizes transmission of the L4S data flow in the uplink direction or the point-to-point direction based on the first indication information in the fifth frame.
[0288] It can be understood that in the congestion control method provided by the embodiment of the present disclosure, by using the fifth frame to trigger the priority transmission of data flow, it can ensure that a specific data flow (for example, L4S data flow) is transmitted with a higher priority, thereby ensuring the transmission efficiency of the specific data flow and reducing transmission delay.
[0289] In some embodiments, the congestion control method further includes: reducing the packet sending rate of the upper layer of the protocol stack to the lower layer data flow when the transmission scheduling of the data flow cannot meet the requirements of the flow configuration information.
[0290] In some embodiments, the congestion control method further includes: restoring the packet sending rate of the upper layer of the protocol stack to the lower layer data flow when the transmission scheduling of the data flow meets the requirements of the flow configuration information.
[0291] In some embodiments, the congestion control method further includes: sending a sixth frame to the first node, wherein the sixth frame includes flow configuration information of the data flow.
[0292] In some embodiments, the sixth frame further includes at least one of the following: second indication information and direction information of the data flow. The second indication information is used to indicate that the data flow is an L4S data flow.
[0293] In some embodiments, the flow configuration information includes flow characteristic information. The flow characteristic information includes third indication information. The third indication information is used to indicate whether the data flow has the characteristics of an L4S data flow.
[0294] In some embodiments, the content of the sixth frame may refer to the description of the sixth frame in S101 above, and will not be repeated here in the embodiment of the present disclosure.
[0295] In some embodiments, the second node may further receive a seventh frame sent by the first node, where the seventh frame is used to respond to the sixth frame.
[0296] It can be understood that in the congestion control method provided by the embodiment of the present disclosure, the second node sends the flow configuration information of the data flow to the first node, so that the first node can effectively plan and schedule the data flow based on the flow configuration information to meet the specific transmission requirements of different data flows.
[0297] In some embodiments, the congestion control method further includes: sending an eighth frame to the first node. The eighth frame is used to modify flow configuration information of the data flow. Exemplarily, after receiving the eighth frame, the first node updates locally stored data flow configuration information, L4S indication information, etc. based on instructions in the eighth frame.
[0298] In some embodiments, the second node may further receive a ninth frame sent by the first node, where the ninth frame is used to respond to the eighth frame.
[0299] It can be understood that in the congestion control method provided by the embodiment of the present disclosure, the second node can send the eighth frame to the first node, so that the first node can modify the flow configuration information of the data flow based on the eighth frame, and can dynamically adjust the allocation and management strategy of network resources to meet different application scenarios and needs, thereby improving the utilization efficiency of network resources.
[0300] Based on the congestion control method provided in the embodiments of the present disclosure, the second node receives congestion control information sent by the first node and, based on the congestion control information, reduces the packet sending rate of the data stream. This allows timely congestion control of the data stream when the transmission of the data stream is about to become congested or is already congested. It is understandable that an excessively fast packet sending rate may lead to problems such as increased transmission delay of the data stream, data stream loss, and data stream transmission errors. By reducing the packet sending rate of the data stream, the second node can reduce the amount of data transmitted, avoid excessive data accumulation and congestion, and ensure the stability and reliability of data stream transmission.
[0301] The above mainly introduces the scheme of the embodiment of the present disclosure from the perspective of method. It can be understood that in order to realize the above functions, the congestion control device includes at least one of the hardware structure and software modules corresponding to the execution of each function. Those skilled in the art should easily realize that, in combination with the units and algorithm steps of each example described in the embodiment disclosed herein, the embodiment of the present disclosure can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed in the form of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of the embodiment of the present disclosure.
[0302] It is understandable that, in order to implement the above functions, the congestion control device includes hardware structures and / or software modules corresponding to the execution of 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 function is executed in the form of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of the present disclosure.
[0303] The embodiment of the present disclosure can divide the congestion control device into functional modules according to the above method embodiment. For example, each functional module can be divided corresponding to each function, or two or more functions can be integrated into one functional module. The above integrated modules can be implemented in the form of hardware or software. It should be noted that the division of modules in the embodiment of the present disclosure is schematic and is only a logical functional division. There may be other division methods in actual implementation. The following is an example of dividing each functional module corresponding to each function.
[0304] Figure 21 is a schematic diagram of the structure of a congestion control device according to an embodiment of the present disclosure. The congestion control device, applied to a first node, can execute the congestion control method provided in the above method embodiment. As shown in Figure 21, the congestion control device 200 includes an acquisition module 201, a sending module 202, a receiving module 203, and an adjustment module 204.
[0305] The acquisition module 201 is used to acquire the flow configuration information of the data flow.
[0306] The sending module 202 is configured to send first congestion control information to the second node when the transmission scheduling of the data flow cannot meet the requirements of the flow configuration information. The first congestion control information is used to instruct congestion control of the data flow.
[0307] In some embodiments, the sending module 202 is configured to send a first frame to the second node, for example, where the first frame includes first congestion control information.
[0308] In some embodiments, the first frame also includes at least one of the following: frame type, Internet Protocol (IP) version information, transmission direction, flow label, flow classification service identifier, source address, destination address, data flow protocol type, source port, and destination port.
[0309] In some embodiments, the receiving module 203 is configured to receive a second frame sent by a second node, where the second frame is used to respond to the first frame.
[0310] In some embodiments, the protocol stack of the first node includes a MAC layer and a higher layer above the MAC layer. The sending module 202 is configured, for example, to configure the MAC layer or a higher layer above the MAC layer to set a congestion control field in an IP packet header of a data flow to a first value; and the MAC layer or a higher layer above the MAC layer to send a packet with the congestion control field set to the first value to the second node.
[0311] In some embodiments, the protocol stack of the first node includes a MAC layer and a higher layer above the MAC layer. The sending module 202 is configured, for example, to cause the MAC layer to send congestion event information to a higher layer above the MAC layer; the higher layer above the MAC layer, based on the congestion event information, sets a congestion control field in an IP packet of the data flow to a first value; and the higher layer above the MAC layer sends the IP packet with the congestion control field set to the first value to the second node.
[0312] In some embodiments, the congestion event information is a congestion event primitive, which includes at least one of the following: source address, destination address, flow classification service identifier, IP type, flow label, destination port, and source port.
[0313] In some embodiments, the sending module 202 is further configured to stop sending the first congestion control information to the second node when the transmission scheduling of the data flow meets the requirements of the flow configuration information.
[0314] In some embodiments, the sending module 202 is further configured to send congestion control release information to the second node when the transmission scheduling of the data flow meets the requirements of the flow configuration information. The congestion control release information is used to indicate that congestion control is released for the data flow.
[0315] In some embodiments, the sending module 202 is configured to send a third frame to the second node, wherein the third frame includes congestion control release information.
[0316] In some embodiments, the third frame further includes at least one of the following: frame type, IP version information, transmission direction, flow label, flow classification service identifier, source address, destination address, data flow protocol type, source port, and destination port.
[0317] In some embodiments, the receiving module 203 is further configured to receive a fourth frame sent by the second node, where the fourth frame is used to respond to the third frame.
[0318] In some embodiments, the protocol stack of the first node includes a MAC layer and a higher layer above the MAC layer. The sending module 202 is configured, for example, to configure the MAC layer or a higher layer above the MAC layer to set a congestion control field in an IP packet header of a data flow to a second value; and the MAC layer or the logical link layer to send a packet with the congestion control field set to the second value to the second node.
[0319] In some embodiments, the protocol stack of the first node includes a MAC layer and a higher layer above the MAC layer. The sending module 202 is configured, for example, to cause the MAC layer to send decongestion event information to a higher layer above the MAC layer; the higher layer above the MAC layer, based on the decongestion event information, sets a congestion control field in an IP layer packet of the data flow to a second value; and the higher layer above the MAC layer sends the IP packet with the congestion control field set to the second value to the second node.
[0320] In some embodiments, the decongestion event information is a decongestion event primitive, which includes at least one of the following: source address, destination address, flow classification service identifier, IP type, flow label, destination port, and source port.
[0321] In some embodiments, the receiving module 203 is further configured to receive second congestion control information sent by the second node. The adjusting module 204 is configured to adjust the transmission scheduling of the data flow based on the second congestion control information.
[0322] In some embodiments, the adjustment module 204 is configured to, for example, send a fifth frame to the second node. The fifth frame is configured to trigger a priority transmission of the data flow.
[0323] In some embodiments, the fifth frame includes first indication information to trigger priority transmission of the L4S data flow.
[0324] In some embodiments, the fifth frame does not include association identification (AID) information of the second node to trigger any station to compete for resource units allocated in the fifth frame to transmit low-latency, low-loss, scalable throughput (L4S) data flows.
[0325] In some embodiments, the receiving module 203 is further configured to receive a sixth frame sent by the second node, wherein the sixth frame includes flow configuration information of the data flow.
[0326] In some embodiments, the sixth frame further includes at least one of the following: second indication information and direction information of the data flow, where the second indication information is used to indicate that the data flow is an L4S data flow.
[0327] In some embodiments, the flow configuration information includes flow characteristic information, the flow characteristic information includes third indication information, and the third indication information is used to indicate whether the data flow has the characteristics of an L4S data flow.
[0328] In some embodiments, the sending module 202 is further configured to send a seventh frame to the second node, where the seventh frame is used to respond to the sixth frame.
[0329] In some embodiments, the receiving module 203 is further configured to receive an eighth frame sent by the second node, wherein the eighth frame is used to modify flow configuration information of the data flow.
[0330] In some embodiments, the sending module 202 is further configured to send a ninth frame to the second node, where the ninth frame is used to respond to the eighth frame.
[0331] Figure 22 is a schematic diagram of the structure of another congestion control device according to an embodiment of the present disclosure. The congestion control device, applied to a second node, can execute the congestion control method provided in the above method embodiment. As shown in Figure 22, the congestion control device 300 includes a receiving module 301, an adjustment module 302, a recovery module 303, and a sending module 304.
[0332] The receiving module 301 is configured to receive first congestion control information sent by a first node. The first congestion control information is used to instruct to perform congestion control on a data flow.
[0333] The adjustment module 302 is configured to reduce the packet sending rate of the data flow based on the first congestion control information.
[0334] In some embodiments, the adjustment module 302 is configured to, for example, reduce the packet transmission rate of the data flow when the second node serves as the transmitter of the data flow; or, when the second node serves as the receiver of the data flow, send a first control message to the server of the data flow. The first control message is configured to instruct the server to reduce the downlink packet transmission rate of the data flow.
[0335] In some embodiments, the protocol stack of the second node includes a MAC layer and a higher layer above the MAC layer. The receiving module 301 is configured to, for example, receive a first frame sent by the first node, the first frame including first congestion control information; or, the MAC layer receives an IP data packet sent by the first node, with the congestion control field set to a first value; or, the higher layer above the MAC layer receives an IP data packet sent by the first node, with the congestion control field set to the first value.
[0336] In some embodiments, the recovery module 303 is configured to recover the packet sending rate of the data flow when the first congestion control information is not received within a preset time period.
[0337] In some embodiments, the receiving module 301 is further used to receive congestion control release information sent by the first node, where the congestion control release information is used to indicate the release of congestion control on the data flow; the recovery module 303 is further used to restore the packet sending rate of the data flow based on the congestion control release information.
[0338] In some embodiments, the receiving module 301 is configured to, for example, restore the packet sending rate of the data flow when the second node serves as the transmitter of the data flow; or, when the second node serves as the receiver of the data flow, send a second control message to the server of the data flow. The second control message is configured to instruct the server to restore the downlink packet sending rate of the data flow.
[0339] In some embodiments, the protocol stack of the second node includes a MAC layer and a higher layer above the MAC layer. The receiving module 301 is configured to, for example, receive a third frame sent by the first node, the third frame including congestion control release information; or, the MAC layer receives an IP data packet sent by the first node with a congestion control field set to a second value; or, the higher layer above the MAC layer receives an IP data packet sent by the first node with a congestion control field set to the second value.
[0340] In some embodiments, the sending module 304 is configured to send second congestion control information to the first node when the transmission scheduling of the data flow cannot meet the requirements of the flow configuration information.
[0341] In some embodiments, the receiving module 301 is further configured to receive a fifth frame sent by the first node, where the fifth frame is used to trigger priority transmission of the data stream; and based on the fifth frame, the data stream is preferentially sent.
[0342] In some embodiments, the adjustment module 302 is further configured to reduce the packet sending rate of the upper layer of the protocol stack to the lower layer of the data flow when the transmission scheduling of the data flow cannot meet the requirements of the flow configuration information.
[0343] In some embodiments, the adjustment module 302 is further configured to restore the packet sending rate from the upper layer of the protocol stack application layer to the lower layer of the data flow when the transmission scheduling of the data flow meets the requirements of the flow configuration information.
[0344] In some embodiments, the sending module 304 is further configured to send a sixth frame to the first node, wherein the sixth frame includes flow configuration information of the data flow.
[0345] In some embodiments, the sixth frame further includes at least one of the following: second indication information and direction information of the data flow, where the second indication information is used to indicate that the data flow is an L4S data flow.
[0346] In some embodiments, the flow configuration information includes flow characteristic information, the flow characteristic information includes third indication information, and the third indication information is used to indicate whether the data flow has the characteristics of an L4S data flow.
[0347] In some embodiments, the receiving module 301 is further configured to receive a seventh frame sent by the first node, where the seventh frame is used to respond to the sixth frame.
[0348] In some embodiments, the sending module 304 is further configured to send an eighth frame to the first node. The eighth frame is used to modify flow configuration information of the data flow.
[0349] In some embodiments, the receiving module 301 is further configured to receive a ninth frame sent by the first node, where the ninth frame is used to respond to the eighth frame.
[0350] In the case of implementing the functions of the above-mentioned integrated modules in the form of hardware, the embodiments of the present disclosure provide a structure of the communication device involved in the above-mentioned embodiments. As shown in Figure 23, the communication device 400 includes: a processor 402 and a bus 404. In some embodiments, the communication device 400 may also include a memory 401. In some embodiments, the communication device 400 may also include a communication interface 403.
[0351] Processor 402 may implement or execute the various exemplary logic blocks, modules, and circuits described in conjunction with the embodiments of the present disclosure. Processor 402 may 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, and may implement or execute the various exemplary logic blocks, modules, and circuits described in conjunction with the embodiments of the present disclosure. Processor 402 may also be a combination that implements computing functions, such as a combination of one or more microprocessors, a combination of a DSP (digital signal processor) and a microprocessor, and the like.
[0352] The communication interface 403 is used to connect to other devices via a communication network, such as Ethernet, wireless access network, or wireless local area network (WLAN).
[0353] The memory 401 may be a read-only memory (ROM) or other type of static storage device that can store static information and instructions, a random access memory (RAM) or other type of dynamic storage device that can store information and instructions, or an electrically erasable programmable read-only memory (EEPROM), a disk storage medium or other magnetic storage device, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and can be accessed by a computer, but is not limited thereto.
[0354] As an implementation, memory 401 may exist independently of processor 402. Memory 401 may be connected to processor 402 via bus 404 and used to store instructions or program codes. When processor 402 calls and executes the instructions or program codes stored in memory 401, the congestion control method provided in the embodiments of the present disclosure can be implemented.
[0355] In another implementation, memory 401 may be integrated with processor 402. Bus 404 may be an Extended Industry Standard Architecture (EISA) bus, for example. Bus 404 may be divided into an address bus, a data bus, a control bus, and the like. For ease of illustration, FIG23 shows only one thick line, but this does not imply that there is only one bus or only one type of bus.
[0356] Some embodiments of the present disclosure provide a computer-readable storage medium (e.g., a non-transitory computer-readable storage medium) having computer program instructions stored therein. When the computer program instructions are executed on a computer, the computer executes the congestion control method as described in any of the above embodiments.
[0357] Exemplarily, the above-mentioned computer-readable storage media may include, but are not limited to: magnetic storage devices (e.g., hard disks, floppy disks, or magnetic tapes, etc.), optical disks (e.g., compact disks (CDs), digital versatile disks (DVDs), etc.), smart cards, and flash memory devices (e.g., erasable programmable read-only memories (EPROMs), cards, sticks, or key drives, etc.). The various computer-readable storage media described in the present disclosure may represent one or more devices and / or other machine-readable storage media for storing information. The term "machine-readable storage medium" may include, but is not limited to, wireless channels and various other media capable of storing, containing, and / or carrying instructions and / or data.
[0358] An embodiment of the present disclosure provides a computer program product comprising instructions. When the computer program product is run on a computer, the computer is enabled to execute the congestion control method of any one of the above embodiments.
[0359] The above are only specific embodiments of the present disclosure, but the scope of protection of the present disclosure is not limited thereto. Any changes or replacements within the technical scope disclosed in the present disclosure should be included in the scope of protection of the present disclosure. Therefore, the scope of protection of the present disclosure should be based on the scope of protection of the claims.
Claims
1. A congestion control method, applied to a first node, the method comprising: Obtaining flow configuration information of a data flow; When the transmission scheduling of the data flow fails to meet the requirements of the flow configuration information, sending first congestion control information corresponding to the data flow to a second node, where the first congestion control information is used to indicate congestion control of the data flow.
2. The method according to claim 1, wherein, The sending the first congestion control information corresponding to the data flow to the second node includes: Sending a first frame to the second node, where the first frame includes the first congestion control information.
3. The method according to claim 2, wherein, The first frame further includes at least one of the following: frame type, Internet Protocol (IP) version information, transmission direction, flow label, flow classification service identifier, source address, destination address, protocol type of the data flow, source port, and destination port.
4. The method according to claim 2, further comprising: Receiving a second frame sent by the second node, where the second frame is used to respond to the first frame.
5. The method according to claim 1, wherein The protocol stack of the first node includes a Media Access Control (MAC) layer and a higher layer above the MAC layer; The sending the first congestion control information corresponding to the data flow to the second node includes: The MAC layer or the higher layer above the MAC layer sets a congestion control field in the IP data packet header of the data flow to a first value; The MAC layer or the higher layer above the MAC layer sends an IP data packet with the congestion control field set to the first value to the second node.
6. The method according to claim 1, wherein The protocol stack of the first node includes a MAC layer and a higher layer above the MAC layer; The sending the first congestion control information corresponding to the data flow to the second node includes: The MAC layer sends congestion event information to the higher layer above the MAC layer; Based on the congestion event information, the higher layer above the MAC layer sets a congestion control field in the IP data packet of the data flow to a first value; The higher layer above the MAC layer sends an IP data packet with the congestion control field set to the first value to the second node.
7. The method according to claim 6, wherein The congestion event information is a congestion event primitive, and the congestion event primitive includes at least one of the following: source address, destination address, flow classification service identifier, IP type, flow label, destination port, and source port.
8. The method according to claim 1, further comprising: When the transmission scheduling of the data flow meets the requirements of the flow configuration information, stopping sending the first congestion control information to the second node.
9. The method according to claim 1, further comprising: When the transmission scheduling of the data flow meets the requirements of the flow configuration information, sending congestion control release information to the second node, where the congestion control release information is used to indicate release of congestion control for the data flow.
10. The method according to claim 9, wherein, The sending the congestion control release information to the second node includes: Sending a third frame to the second node, where the third frame includes the congestion control release information.
11. The method according to claim 10, wherein, The third frame further includes at least one of the following: frame type, IP version information, transmission direction, flow label, flow classification service identifier, source address, destination address, protocol type of the data stream, source port, and destination port.
12. The method according to claim 10, further comprising: Receiving a fourth frame sent by the second node, where the fourth frame is used to respond to the third frame.
13. The method according to claim 9, wherein The protocol stack of the first node includes a MAC layer and a higher layer above the MAC layer; the sending of congestion control release information to the second node includes: The MAC layer or the higher layer above the MAC layer sets the congestion control field in the IP data packet header of the data stream to a second value; The MAC layer or the higher layer above the MAC layer sends an IP data packet with the congestion control field set to the second value to the second node.
14. The method according to claim 9, wherein, The protocol stack of the first node includes a MAC layer and a higher layer above the MAC layer; The sending of congestion control release information to the second node includes: The MAC layer sends congestion release event information to the higher layer above the MAC layer; Based on the congestion release event information, the higher layer above the MAC layer sets the congestion control field in the IP layer data packet of the data stream to a second value; The higher layer above the MAC layer sends an IP data packet with the congestion control field set to the second value to the second node.
15. The method according to claim 14, wherein, The congestion release event information is a congestion release event primitive, and the congestion release event primitive includes at least one of the following: source address, destination address, flow classification service identifier, IP type, flow label, destination port, and source port.
16. The method according to claim 1, further comprising: Receiving second congestion control information sent by the second node; Adjusting the transmission scheduling of the data stream based on the second congestion control information.
17. The method according to claim 16, wherein, The adjusting of the transmission scheduling of the data stream includes: Sending a fifth frame to the second node, where the fifth frame is used to trigger the priority transmission of the data stream.
18. The method according to claim 17, wherein, The fifth frame includes first indication information to trigger the priority transmission of a low-latency, low-loss, scalable throughput L4S data stream.
19. The method according to claim 18, wherein The fifth frame further includes the associated identifier AID information of the second node to trigger any station to compete for the resource unit allocated in the fifth frame to transmit the L4S data stream.
20. The method according to claim 1, further comprising: Receiving a sixth frame sent by the second node, where the sixth frame includes the flow configuration information of the data stream.
21. The method according to claim 20, wherein, The sixth frame further includes at least one of the following: second indication information, direction information of the data stream, and the second indication information is used to indicate that the data stream is an L4S data stream.
22. The method according to claim 20, wherein The flow configuration information includes flow feature information, and the flow feature information includes third indication information, and the third indication information is used to indicate whether the data stream has the characteristics of an L4S data stream.
23. The method according to claim 20, further comprising: Sending a seventh frame to the second node, where the seventh frame is used to respond to the sixth frame.
24. The method according to claim 20, further comprising: Receive the eighth frame sent by the second node, where the eighth frame is used to modify the flow configuration information of the data stream.
25. The method according to claim 24, further comprising: Send a ninth frame to the second node, where the ninth frame is used to respond to the eighth frame.
26. A congestion control method applied to a second node, the method comprising: Receive first congestion control information sent by a first node, where the first congestion control information is used to indicate congestion control of a data stream; Based on the first congestion control information, reduce the packet sending rate of the data stream.
27. The method according to claim 26, wherein The reducing the packet sending rate of the data stream includes: When the second node is the sending end of the data stream, reduce the packet sending rate of the data stream by itself; or, When the second node is the receiving end of the data stream, send a first control message to the server of the data stream, where the first control message is used to instruct the server to reduce the downstream packet sending rate of the data stream.
28. The method according to claim 26, wherein, The protocol stack of the second node includes a media access control (MAC) layer and a higher layer above the MAC layer; the receiving the first congestion control information sent by the first node includes: Receive a first frame sent by the first node, where the first frame includes the first congestion control information; or, The MAC layer receives an IP data packet sent by the first node with a congestion control field set to a first value; or, The higher layer above the MAC layer receives an IP data packet sent by the first node with a congestion control field set to a first value.
29. The method according to claim 26, further comprising: When the first congestion control information is not received within a preset time period, restore the packet sending rate of the data stream.
30. The method according to claim 26, further comprising: Receive congestion control release information sent by the first node, where the congestion control release information is used to indicate release of congestion control for the data stream; Based on the congestion control release information, restore the packet sending rate of the data stream.
31. The method according to claim 30, wherein, The restoring the packet sending rate of the data stream includes: When the second node is the sending end of the data stream, restore the packet sending rate of the data stream; or, When the second node is the receiving end of the data stream, send a second control message to the server of the data stream, where the second control message is used to instruct the server to restore the downstream packet sending rate of the data stream.
32. The method according to claim 30, wherein The protocol stack of the second node includes a MAC layer and a higher layer above the MAC layer; The receiving the congestion control release information sent by the first node includes: Receive a third frame sent by the first node, where the third frame includes the congestion control release information; Or, The MAC layer receives an IP data packet sent by the first node with a congestion control field set to a second value; or, The higher layer above the MAC layer receives an IP data packet sent by the first node with a congestion control field set to a second value.
33. The method according to claim 26, further comprising: In the case where the transmission scheduling of the data stream fails to meet the requirements of the flow configuration information, send second congestion control information to the first node.
34. The method according to claim 33, further comprising: Receiving a fifth frame sent by the first node, where the fifth frame is used to trigger preferential transmission of the data stream; Based on the fifth frame, preferentially send the data stream.
35. The method according to claim 26, further comprising: In the case where the transmission scheduling of the data stream fails to meet the requirements of the flow configuration information, reduce the packet sending rate of the data stream from the upper layer to the lower layer of the protocol stack.
36. The method according to claim 26, further comprising: In the case where the transmission scheduling of the data stream meets the requirements of the flow configuration information, restore the packet sending rate of the data stream from the upper layer to the lower layer of the protocol stack.
37. The method according to claim 26, further comprising: Sending a sixth frame to the first node, where the sixth frame includes the flow configuration information of the data stream.
38. The method according to claim 37, wherein, The sixth frame further includes at least one of the following: second indication information, direction information of the data stream, and the second indication information is used to indicate that the data stream is a low-latency, low-loss, scalable throughput L4S data stream.
39. The method according to claim 37, wherein, The flow configuration information includes flow characteristic information, and the flow characteristic information includes third indication information, and the third indication information is used to indicate whether the data stream has the characteristics of an L4S data stream.
40. The method according to claim 37, further comprising: Receiving a seventh frame sent by the first node, where the seventh frame is used to respond to the sixth frame.
41. The method according to claim 37, further comprising: Sending an eighth frame to the first node, where the eighth frame is used to modify the flow configuration information of the data stream.
42. The method according to claim 41, further comprising: Receiving a ninth frame sent by the first node, where the ninth frame is used to respond to the eighth frame.
43. A communication device, comprising: A memory and a processor; wherein, the memory is coupled to the processor; the memory is used to store instructions executable by the processor; when the processor executes the instructions, it executes the method according to any one of claims 1 to 42.
44. A computer-readable storage medium, wherein, Computer instructions are stored on the computer-readable storage medium, and when the computer instructions run on the electronic device, the electronic device is caused to execute the method according to any one of claims 1 to 42.
Citation Information
Patent Citations
Congestion control method, communication device and storage medium
CN120358539A
Speed limiting method for data traffic of mobile terminal
CN108322920A
Congestion control method, terminal and readable storage medium
CN111490943A
Congestion control method, device and system
WO2016086385A1
Congestion control method, network device, and system
WO2021217641A1