Congestion control method, communication device and storage medium
By obtaining the flow configuration information of the data stream and reducing the packet transmission rate when the transmission scheduling does not meet the requirements, the data congestion problem between communication nodes is solved, and the reliability and stability of data transmission are improved.
Patent Information
- Application Number
- CN202410091432.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-01-22
- Publication Date
- 2025-07-22
AI Technical Summary
During the data transmission between communication nodes, limited network resources lead to a backlog of data packets, causing data congestion, affecting transmission speed and reliability, and even leading to packet loss and service interruption.
By acquiring the flow configuration information of the data stream, congestion control information is sent to the second node to indicate congestion control of the data stream, including reducing the packetization rate of the data stream when the transmission scheduling cannot meet the flow configuration information requirements.
It effectively avoids data congestion in the communication network, improves the reliability and stability of data stream transmission, and reduces transmission delay and packet loss.
Smart Images

Figure CN120358539A_ABST
Abstract
Description
Technical Field
[0001] 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
[0002] With the development of technology and the advancement of digital transformation, many applications and services have higher and higher requirements for latency. When there are more data packets transmitted between communication nodes (for example, between an access point (AP) and a station (STA)), the data packets that fail to be sent in time can be stored in the buffer queue of the communication node (for example, AP).
[0003] However, due to limited network resources, as the number of data packets transmitted between communication nodes increases, the communication node (for example, AP) receives a large number of data packets in a short period of time and may not be able to process and forward the data packets in time, which may lead to data congestion when transmitting data packets between communication nodes. Data congestion will affect the transmission speed of data packets, increase the transmission latency of data packets, and even cause data packet loss and service interruption between communication nodes, which is not conducive to the stable and efficient operation of the communication network. Summary of the Invention
[0004] Embodiments of the present disclosure provide a congestion control method, a communication device, and a storage medium for performing congestion control on data transmission between communication nodes to avoid data congestion.
[0005] In a first aspect, a congestion control method is provided, which is applied to a first node. The method includes:
[0006] Obtain the flow configuration information of the data flow;
[0007] In the case where the transmission scheduling of the data flow does not meet the requirements of the flow configuration information, send congestion control information to a second node, where the congestion control information is used to indicate congestion control of the data flow.
[0008] Based on the congestion control method provided by the embodiments of the present disclosure, the first node can effectively plan and transmit the data flow based on the flow configuration information by obtaining the flow configuration information of the data flow to meet the specific transmission requirements of different data flows. Secondly, in the case where the transmission scheduling of the data flow does not meet the requirements of the flow configuration information, the first node sends congestion control information to the second node to indicate the second node to perform congestion control on the data flow, which can effectively avoid congestion in the communication network and improve the reliability and stability of data flow transmission.
[0009] In a second aspect, a congestion control method is provided, which is applied to a second node. The method includes:
[0010] Receive congestion control information sent by a first node, where the congestion control information is used to indicate congestion control for a data stream;
[0011] Based on the congestion control information, reduce the packet sending rate of the data stream.
[0012] Based on the congestion control method provided in the embodiments of the present disclosure, a second node can perform congestion control on the data stream in a timely manner when congestion is about to occur or has occurred in the transmission of the data stream by receiving the congestion control information sent by the first node and reducing the packet sending rate of the data stream based on the congestion control information. It can be understood that an excessive packet sending rate may cause problems such as an increase in the 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 the data stream transmission.
[0013] In a third aspect, a congestion control device is provided, including:
[0014] An obtaining module, configured to obtain flow configuration information of a data stream;
[0015] A sending module, configured to send congestion control information to a second node when the transmission scheduling of the data stream fails to meet the requirements of the flow configuration information, where the congestion control information is used to indicate congestion control for the data stream.
[0016] In a fourth aspect, a congestion control device is provided, including:
[0017] A receiving module, configured to receive congestion control information sent by a first node, where the congestion control information is used to indicate congestion control for a data stream;
[0018] An adjustment module, configured to reduce the packet sending rate of the data stream based on the congestion control information.
[0019] In a fifth aspect, a communication device is provided, including: a memory and a processor; the memory and the processor are coupled; the memory is used to store a computer program; when the processor executes the computer program, the congestion control method in any of the above embodiments is implemented.
[0020] In a sixth aspect, a computer-readable storage medium is provided, on which computer program instructions are stored, and when the computer program instructions are executed by a processor, the congestion control method in any of the above embodiments is implemented.
[0021] 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 in any of the above embodiments is implemented.
[0022] For the specific descriptions of the third to seventh aspects and their various implementation manners in the present disclosure, reference may be made to the detailed descriptions in the first and second aspects and their various implementation manners; moreover, for the beneficial effects of the third to seventh aspects and their various implementation manners, reference may be made to the analysis of the beneficial effects in the first and second aspects and their various implementation manners, which will not be elaborated herein. BRIEF DESCRIPTION OF THE DRAWINGS
[0023] In order to more clearly illustrate the technical solutions in the present disclosure, the drawings required for use in some embodiments of the present disclosure will be briefly introduced below. Obviously, the drawings in the following description are only the drawings of some embodiments of the present disclosure, and those of ordinary skill in the art can also obtain other drawings based on these drawings.
[0024] Figure 1 Schematic diagram of a flow information format provided for some embodiments of the present disclosure;
[0025] Figure 2 Another schematic diagram of a flow information format provided for some embodiments of the present disclosure;
[0026] Figure 3 Another schematic diagram of a flow information format provided for some embodiments of the present disclosure;
[0027] Figure 4 Schematic diagram of information interaction between an AP and an STA provided for some embodiments of the present disclosure;
[0028] Figure 5 Schematic diagram of a frame format provided for some embodiments of the present disclosure;
[0029] Figure 6 Schematic diagram of a communication system provided for some embodiments of the present disclosure;
[0030] Figure 7 Flowchart of a congestion control method provided for some embodiments of the present disclosure;
[0031] Figure 8 Another schematic diagram of a flow information format provided for some embodiments of the present disclosure;
[0032] Figure 9 Another schematic diagram of a flow information format provided for some embodiments of the present disclosure;
[0033] Figure 10 Another schematic diagram of a flow information format provided for some embodiments of the present disclosure;
[0034] Figure 11 Schematic diagram of a frame format of a first frame provided for some embodiments of the present disclosure;
[0035] Figure 12Another schematic diagram of the frame format of the first frame provided by some embodiments of the present disclosure;
[0036] Figure 13 Flowchart of another congestion control method provided by some embodiments of the present disclosure;
[0037] Figure 14 Flowchart of yet another congestion control method provided by some embodiments of the present disclosure;
[0038] Figure 15 Flowchart of yet another congestion control method provided by some embodiments of the present disclosure;
[0039] Figure 16 Flowchart of yet another congestion control method provided by some embodiments of the present disclosure;
[0040] Figure 17 Flowchart of yet another congestion control method provided by some embodiments of the present disclosure;
[0041] Figure 18 Flowchart of yet another congestion control method provided by some embodiments of the present disclosure;
[0042] Figure 19 Flowchart of yet another congestion control method provided by some embodiments of the present disclosure;
[0043] Figure 20 Flowchart of yet another congestion control method provided by some embodiments of the present disclosure;
[0044] Figure 21 Schematic diagram of the structure of a congestion control device provided by some embodiments of the present disclosure;
[0045] Figure 22 Schematic diagram of the structure of another congestion control device provided by some embodiments of the present disclosure;
[0046] Figure 23 Schematic diagram of the structure of a communication device provided by some embodiments of the present disclosure. Detailed implementation manners
[0047] Next, the technical solutions in the present disclosure will be clearly and completely described in conjunction with the accompanying drawings in the present disclosure. Obviously, the described embodiments are only a part of the embodiments of the present disclosure, rather than all the embodiments. All other embodiments obtained by those of ordinary skill in the art based on the embodiments in the present disclosure without creative efforts shall fall within the protection scope of the present disclosure.
[0048] It should be noted that in this disclosure, words such as "exemplary" or "for example" are used to represent examples, illustrations, or explanations. Any embodiment or design solution described as "exemplary" or "for example" in this disclosure should not be construed as being more preferred or having more advantages than other embodiments or design solutions. Rather, the use of words such as "exemplary" or "for example" is intended to present relevant concepts in a specific manner.
[0049] Hereinafter, the terms "first" and "second" are only used for descriptive purposes and should not be construed as indicating or implying relative importance or implicitly specifying the quantity of the indicated technical features. Thus, features defined with "first" and "second" may explicitly or implicitly include one or more of such features. In addition, the terms "first", "second", etc. in the description of the embodiments, claims, and drawings of this disclosure are only used for the purpose of distinguishing descriptions and should not be construed as indicating or implying relative importance, nor can they be construed as indicating or implying an order.
[0050] In the description of this disclosure, unless otherwise specified, " / " means "or". For example, A / B may represent A or B. The "and / or" herein is merely a description of the association relationship of associated objects, indicating that there can be three relationships. For example, A and / or B may represent: A exists alone, A and B exist simultaneously, and B exists alone. In addition, "at least one" means one or more, and "a plurality" means two or more.
[0051] For the convenience of understanding, relevant concepts involved in the embodiments of this disclosure are briefly introduced first.
[0052] 1. Fiber-to-the-room (FTTR) technology: The FTTR technology is to connect wireless routers (such as APs) in different rooms or locations in scenarios such as homes or small and medium-sized enterprises through optical fibers, so as to provide a high-bandwidth and highly reliable connection for networking between multiple APs, and the connection between the main control AP and the slave APs can be realized by using a point-to-multipoint optical distribution network.
[0053] 2. Wireless fidelity media access control (Wi-Fi MAC) layer data splitting and transmission: Service data transmitted in the network has different requirements for quality of service (QoS). For example, voice services need to be transmitted in real time and are very sensitive to the size of latency. When the Wi-Fi MAC layer transmits data of voice services and ordinary services simultaneously, the voice services need to be sent with a high priority.
[0054] The traffic identifier (TID) field is defined in the media access control (MAC) layer data frame to indicate the service priority. The MAC data frame containing the TID is called the QoS data frame (QoS data). The MAC data frame without the TID is called the Non-QoS data frame. The MAC layer classifies data services into 8 types, and uses TID 0 - 7 to represent the priority levels of different service types. The MAC layer transmits different data services in order of priority from high to low. At the same time, from the perspective of wireless channel access, 802.11 defines 4 types of wireless access categories (AC), including background traffic (AC background, AC_BK), best effort traffic (AC best effort, AC_BE), video traffic (AC video, AC_VI) and voice traffic (AC voice, AC_VO). Among them, AC_VO has the highest priority, followed by AC_VI, then AC_BE and AC_BK.
[0055] For the STA supporting the QoS function, the AP creates different buffer queues for it according to the STA address information and TID information, and performs transmission scheduling according to the priority of the queues to ensure the delay requirements of each buffer queue or different delay applications. Specifically, for each QoS data frame, the downlink data primitive received by the AP from the logical link layer contains the following information:
[0056] MA-UNITDATA.request(
[0057] source address,
[0058] destination address,
[0059] routing information,
[0060] data,
[0061] priority,
[0062] drop eligible,
[0063] service class,
[0064] station vector,
[0065] MAC service data unit format (MSDU format) )
[0067] Among them, the meaning of each field format is shown in Table 1 below.
[0068] Table 1
[0069]
[0070]
[0071] After the MAC layer receives this information, it places the MSDU into the queue of each STA's downlink data according to the priority and destination address.
[0072] For the STA, after receiving the MSDU from the MAC layer, the data primitives sent to the logical link layer contain the following information:
[0073] MA-UNITDATA.indication(
[0074] source address,
[0075] destination address,
[0076] routing information,
[0077] data,
[0078] reception status,
[0079] priority,
[0080] drop eligible,
[0081] service class,
[0082] station vector,
[0083] MSDU format )
[0085] Among them, the meaning of each field format is as shown in Table 1 above.
[0086] 3. Latency issue: The end-to-end transmission delay is the sum of three different factors: propagation, interface, and queuing delay. For any application (such as interactive web pages, web services, voice, session video, interactive video, interactive telepresence, instant messaging, online games, remote desktops, cloud computing applications, and video-assisted remote machinery and industrial processes), the requirement to reduce the latency of interaction is becoming increasingly common. In related technologies, the propagation delay is reduced by caching or placing the server closer. However, although queuing delay is only one of the factors affecting the end-to-end transmission delay, the latency caused by queuing is still the main one. For example, it is very common to have peak delays of hundreds of milliseconds due to queuing. In addition, during the long-term operation of the data stream, even with the most advanced active queue management (AQM), the path delay based on the speed of light propagation approximately doubles. Therefore, it is also important to reduce the loss on the propagation path. For interactive applications, data loss on the propagation path will be translated into packet retransmission, resulting in longer retransmission delays.
[0087] 4. L4S stands for low latency, low loss, and scalable throughput. It greatly reduces the latency experienced by the data packets transmitted through the network. L4S solves one of the biggest and most often overlooked problems, which is also the source of latency and latency variation or jitter, that is, queuing delay.
[0088] Queuing delay occurs when data packets idle and wait in the buffers on the network before being forwarded, such as in routers and modems. As users and bandwidth-intensive applications send more and more traffic through the network, these queued data packets will cause the network link to "block". The data packets in the congested pipeline take longer to reach the destination.
[0089] Related technologies attempt to "sense" the data rate of L4S data sent through the network and use congestion control algorithms to adjust their sending rate based on the number of discarded data packets and the observed delay in the network. However, this solution requires a large buffer and network delay to run smoothly. L4S eliminates the need for a large buffer. When congestion occurs, L4S informs the user application through the congestion signal carried in the data packet by the sending end. After receiving the congestion signal, the user program timely adjusts the packet sending rate from the server application layer to the access layer, thereby reducing the amount of data queuing per unit time at the server end, and thus achieving the goal of low latency.
[0090] Exemplarily, the entire workflow of L4S includes the following four steps:
[0091] Step 1: The application sends data including traditional data and L4S data to the Wi-Fi system.
[0092] Step 2: The Wi-Fi MAC layer classifies the data into traditional data and L4S data according to the internet protocol (IP) packet identification, and puts them into different data queues respectively.
[0093] Step 3: When congestion occurs, the explicit congestion notification (ECN) field of the L4S data will be set to congestion experienced (CE); while the traditional data will be directly discarded (or after setting the discard flag, it is handed over to the scheduler to decide how to discard).
[0094] Step 4: After the receiving end receives the L4S data with the CE flag set, it adjusts the packet sending rate of the server side through the application, reduces the packet sending rate of the L4S data, and thus reduces the latency of the L4S data.
[0095] 5. Flow information identification technology: To optimize the scheduling of audio and video stream data at the Wi-Fi MAC layer and meet the requirements of multimedia latency, 802.11aa proposes the stream classification service (SCS). For IPv4 packets, this means that before the service flow is transmitted, the STA informs the AP of the service flow five-tuple information <source IP address, source port, destination IP address, destination port, and transport layer protocol> and other information in advance. For IPv6 packets, the STA informs the AP of the service flow triple information <source IP address, destination IP address, flow label> and other information in advance.
[0096] After the AP receives the data packet, it matches the characteristics of the data packet with the service flow information. Once the identification is successful, it puts the corresponding data packet into the high-priority queue and performs corresponding scheduling to meet the latency requirements of these services.
[0097] Exemplarily, the IPv4 packet flow information format is as Figure 1 shown, Figure 1 and the explanation of each field is shown in Table 2.
[0098] Table 2
[0099]
[0100]
[0101] Exemplarily, the IPv6 packet flow information format is as Figure 2As shown Figure 2 The explanations of each field in it are shown in Table 3 below.
[0102] Table 3
[0103] Field Name Explanation classifier type Classification Type Identifier classifier mask Classification Mask version Version Information source IP address Source IP Address destination IP address Destination IP Address source port Source Port Number destination port Destination Port Number flow label Flow Label Information
[0104] 6. Flow Feature Technology: Based on the flow information recognition technology defined in 802.11aa, Wi-Fi 7 defines the flow feature technology (QoS Characteristic), that is, the STA sends a flow feature recognition request to the AP using an action frame, and the request contains 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 access channel time. After receiving the flow feature recognition request, the AP locally records the flow information feature and schedules the uplink, downlink, and peer-to-peer data according to the flow feature of the data packet.
[0105] The format of the flow information sent by the STA to the AP (such as the action frame of the flow feature recognition request) is as Figure 3 shown. Among them, the second row in Figure 3 is an optional field, and the control information field in the first row indicates whether the flow feature recognition request frame contains an optional field. Figure 3 The explanations of each field in it are shown in Table 4 below.
[0106] Table 4
[0107]
[0108]
[0109] 7. Trigger-based Transmit Opportunity (TXOP) Sharing Technology: The Wi-Fi 6 standard began to introduce the TXOP sharing technology. It is a wireless medium access method based on the trigger mechanism. The AP first obtains information such as the uplink data volume, rate, and distance of each STA, and then the AP synthesizes this information and shares the TXOP parameters with one or more STAs in the form of a trigger frame. Then the STA can use this TXOP to send uplink data.
[0110] Wi-Fi 7 extends the TXOP sharing technology based on Wi-Fi 6. The AP still transfers its TXOP to the STA for use through a trigger frame. However, this trigger frame does not specify other parameters except for the information about the available TXOP time length for the STA. The trigger frame used in the TXOP sharing technology is a multi-user request to Send (MU-RTS) transmission opportunity sharing (TXOP sharing, TXS) frame, that is, TXOP length information and other parameters are added to the MU-RTS frame defined in Wi-Fi 6.
[0111] As Figure 4 shown, it is a schematic diagram of information interaction between the AP and the STA. As Figure 4 shown, the AP can send a trigger frame (MU-RTS TXS) to the STA, and the STA responds to this trigger frame by sending an acknowledgment frame to the AP. During the TXOP duration transferred from the AP to the STA, the STA can not only use this TXOP to send uplink data to the AP, but also perform point-to-point data transmission to other STAs.
[0112] The TXOP sharing technology in the Wi-Fi 7 standard supports two modes of uplink or point-to-point data transmission. They are: Mode 1 supports data transmission in the uplink direction, and Mode 2 supports data transmission in both the uplink and point-to-point directions. Exemplarily, the MU-RTS TXS frame format is as Figure 5 shown, and the explanation of each field is shown in Table 5.
[0113] Table 5
[0114]
[0115]
[0116] 8. (Wi-Fi 8) UHR: In July 2022, the Institute of Electrical and Electronics Engineers (IEEE) established an Ultra High Reliability (UHR) Study Group (SG). The task of this SG is to study the evolution direction of the next-generation (Wi-Fi 8) technology, and it plans to establish a 802.11bn working group and draft the Wi-Fi 8 protocol definition in November 2023.
[0117] It can be seen from the project authentication request (PAR) released by UHR SG in July 2023 that the research direction of the UHR research group mainly focuses on improving transmission stability, including reducing latency, increasing throughput, and reducing packet loss rate.
[0118] The above is an introduction to some concepts involved in the embodiments of the present disclosure, which will not be elaborated hereinafter.
[0119] The method provided by the embodiments of the present disclosure can be applied to various communication systems. For example, the communication system can be a global system of mobile communication (GSM) system, 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 worldwide interoperability for microwave access (WiMAX) communication system, a wireless local area networks (WLAN), a Wi-Fi system, a 3GPP-related communication system, a fifth generation (5G) communication system, a future evolved communication system (such as: a sixth generation (6G) communication system, etc.), or a system integrating multiple systems, etc. The embodiments of the present disclosure are not limited thereto.
[0120] The network architecture of the communication network (including but not limited to 3G, 4G, 5G, and future mobile communication networks) in the embodiments of the present disclosure can at least include a first node and a second node. In this example, the first node can be a network-side device (such as including but not limited to an AP), and the second node can be a terminal-side device (such as including but not limited to an STA).
[0121] Exemplarily, taking the first node as an AP and the second node as an STA as an example, as Figure 6 shown, a communication system provided by an embodiment of the present disclosure. The communication system includes an AP110 and an STA120. Among them, the AP110 is communicatively connected to the STA120.
[0122] In some embodiments, the STA120 may be one or more, and the embodiments of the present disclosure do not limit the quantity.
[0123] The AP110 is used to provide a wireless network connection to surrounding devices (such as STAs) through wireless signals, manage the configuration of the wireless network, forward data transmission between wireless devices, etc.
[0124] In some embodiments, the AP110 is specifically configured to receive an information frame sent by the STA120. The information frame includes configuration information and indication information of a data stream (such as indication information of L4S data). When the AP110 receives the information frame, it will send a response frame to the STA and locally save the configuration information and indication information of the data stream.
[0125] In some embodiments, the data streams received by the AP include data streams in the uplink direction, data streams in the downlink direction, and data streams in the point-to-point direction. At the same time, the data stream includes different types of data. For example, the data stream may include traditional QoS data, low-latency ordinary data, and low-latency L4S data. For the data stream in the downlink direction, when the AP110 receives a data stream containing L4S data sent by the logical link layer, it can further parse the data header information according to the configuration information of the data stream, classify the data stream into different types of data, and respectively place them in different downlink scheduling queues. Exemplarily.
[0126] In some embodiments, during the transmission of a data stream (such as L4S data), if the AP110 determines that the transmission of the data stream cannot meet the scheduling requirements, it enters a congestion control process. Exemplarily, the AP110 may send a congestion control instruction to the STA120 so that the STA120 reduces the transmission rate of the data stream based on the congestion control instruction. When scheduling data for transmission subsequently, if the AP110 determines that the transmission scheduling of the data stream meets the requirements, it can cancel the congestion control process.
[0127] In some embodiments, the AP110 may also receive a data stream reconfiguration information frame sent by the STA120, and update the locally saved configuration information of the data stream based on the content of the information frame.
[0128] In some embodiments, AP110 may be a single-link AP, a multi-link AP, and a distributed non-collocated access point multicast listener discovery (non-collocated AP MLD). Exemplarily, the AP may be a base transceiver station (BTS) in a GSM system or a CDMA system, may also be a node B (NB) in a WCDMA system, may further be an evolved node B (eNB or eNodeB) in an LTE system, or a radio controller in a cloud radio access network (CRAN), or the network device 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.
[0129] STA120 is used for data transmission and access through the wireless network provided by AP110. In some embodiments, when STA120 has a data transmission requirement, it may send an information frame to AP110. The information frame includes configuration information of the data stream and L4S indication information. When there are multiple data streams in the STA, the information frame may be sent to AP110 multiple times until the configuration of the data stream by AP110 is completed.
[0130] In some embodiments, STA120 may obtain channel access rights based on the carrier sense multiple access with collision avoidance (CSMA / CA) channel preemption method or based on the trigger frame scheduling method, and transmit L4S data in the uplink direction or the point-to-point direction.
[0131] In some embodiments, STA120 may receive a congestion control instruction sent by AP110 and reduce the transmission rate of the data stream based on the congestion control instruction. In addition, STA120 may also receive a congestion control cancellation instruction sent by AP110 to restore the transmission rate of the data stream.
[0132] In some embodiments, STA120 may also send a data stream reconfiguration information frame to AP110, so that AP110 updates the configuration information of the data stream saved locally based on the content of the information frame.
[0133] In some embodiments, STA120 may be a single-link STA or a multi-link STA. Exemplarily, 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 devices connected to a wireless modem, a vehicle-mounted 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, a wireless terminal in smart grid, a wireless terminal in transportation safety, a wireless terminal in smart city, a wireless terminal in smart home, etc.
[0134] It should be noted that the above scenarios are for more clearly illustrating 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 of ordinary skill in the art can know that with the evolution of the system architecture and the emergence of new service scenarios, the technical solutions provided by the embodiments of the present disclosure are equally applicable to similar technical problems.
[0135] In a communication system, the loss or marking of data packets is mainly composed of two factors: (1) The AP end receives a large number of data packets in a short period of time but fails to send them out in time, resulting in the data packets being continuously cached locally. Eventually, there is no local cache space to continue receiving new data packets. At this time, the AP end has to discard relatively "old" data packets. (2) Each data packet has a "lifetime". If the data packets cached locally still cannot be scheduled and sent out before the expiration of the lifetime, then these data packets will also be discarded.
[0136] In the related art, the congestion judgment of data packets usually depends on the implementation of the AP end. The AP end may be connected to dozens or hundreds of STAs at the same time, and the latency requirements of different application programs of each STA are different. If only roughly based on the above factor (1) or factor (2) to perform congestion control on the data, it cannot meet the accurate latency requirements of the STA, which is not conducive to the stable and efficient operation of the communication network.
[0137] For the above problems, see Figure 7 , which is a flowchart of a congestion control method provided by an embodiment of the present disclosure. As Figure 7 shown, the congestion control method provided by an embodiment of the present disclosure is applied to a first node and includes the following steps:
[0138] S101. Obtain the flow configuration information of the data stream.
[0139] In some embodiments, the first node (such as an AP) may receive a sixth frame sent by a second node (such as an STA). The sixth frame includes the flow configuration information of the data stream. After receiving the flow configuration information, the first node saves it locally.
[0140] In some embodiments, the flow configuration information includes flow characteristic information, and the flow characteristic information includes third indication information, where the third indication information is used to indicate whether the data stream has the characteristics of an L4S data stream.
[0141] Exemplarily, the flow characteristic information may be indicated based on the Quality of Service Characteristic (QoS Characteristic) technology. As Figure 8 shown, on the basis of Figure 3 , third characteristic information is added to the QoS Characteristic field. For example, the third characteristic information may be an L4S identifier to indicate whether the data stream has the characteristics of an L4S data stream. When the L4S identifier is carried in the QoS Characteristic field, it indicates that the data stream has the characteristics of an L4S data stream. As Figure 8 shown, 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 indicate the first node to perform transmission scheduling on the data stream.
[0142] In some embodiments, the sixth frame further includes at least one of the following: second indication information, and the direction information of the data stream. The second indication information is used to indicate that the data stream includes an L4S data stream.
[0143] In some embodiments, when the first node receives a downlink data stream including L4S, it may parse the header information of the data according to the flow configuration information, classify the data stream into different types, and place them into corresponding scheduling queues respectively. Exemplarily, the data stream may include data types such as traditional QoS data, low-latency ordinary data, and low-latency L4S data.
[0144] It can be understood that since the second node (such as an STA) may run multiple low-latency applications (including low-latency L4S and low-latency non-L4S) simultaneously, and the latency requirements of different applications are different. If simply based on the ECN capable transport (ECT) marking to divide the data stream (such as dividing L4S data alone), it cannot meet the latency requirements of each application. In the embodiments of the present disclosure, by parsing the packet header information of the data stream, different types of data streams can be respectively placed into corresponding scheduling queues for processing to ensure that the latency requirements of different applications are met. In this process, a special marking, such as the third indication information in the embodiments of the present disclosure, can be used to identify L4S data, so as to better manage and schedule the data stream, thereby improving the network performance and user experience.
[0145] As an example, the above second indication information can be indicated based on the IPV4 flow information. For example, as Figure 9 shown, on the basis of Figure 1 , a second indication information with a length of 1 byte is added to indicate that the data stream contains an L4S data stream. Among them, the form of the second indication information can be the ECN field. When the IPV4 flow information carries the second indication information (that is, 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 (that is, does not carry the ECN field), it indicates that the data stream does not contain an L4S data stream.
[0146] As another example, the above second indication information can be indicated based on the IPV6 flow information. For example, as Figure 10 shown, on the basis of Figure 2 , a second indication information with a length of 1 byte is added to indicate that the data stream contains an L4S data stream. Among them, the form of the second indication information can be the ECN field. When the IPV6 flow information carries the second indication information (that is, carries the ECN field), it indicates that the data stream is an L4S data stream; when the IPV6 flow information does not carry the second indication information (that is, does not carry the ECN field), it indicates that the data stream does not contain an L4S data stream.
[0147] In some embodiments, the direction information of the data stream includes at least one of the following: upstream direction, downstream direction, point-to-point direction. Among them, the upstream direction refers to the second node sending data to the first node, the downstream 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 other nodes except the first node.
[0148] In some embodiments, the first node may also send a seventh frame to the second node. The seventh frame is used to respond to the sixth frame.
[0149] It can be understood that in the method provided by the embodiments of the present disclosure, the first node can effectively plan and transmit and schedule the data stream based on the stream configuration information obtained for the data stream, so as to meet the specific transmission requirements of different data streams.
[0150] S102. When the transmission scheduling of the data stream fails to meet the requirements of the stream configuration information, send congestion control information to the second node.
[0151] The congestion control information is used to indicate congestion control of the data stream.
[0152] Exemplarily, if during the process of transmitting and scheduling the data stream by the first node, the maximum delay of transmitting the data stream 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 fails to meet the requirements of the stream configuration information. At this time, the first node sends congestion control information to the second node to indicate that the second node performs congestion control on the data stream.
[0153] It can be understood that in the method provided by the embodiments of the present disclosure, when the transmission scheduling of the data stream fails to meet the requirements of the stream configuration information, the first node can effectively avoid the occurrence of congestion in the communication network and improve the reliability and stability of data stream transmission by sending congestion control information to the second node to indicate that the second node performs congestion control on the data stream.
[0154] In some embodiments, sending the congestion control information corresponding to the data stream to the second node includes: sending a first frame to the second node. The first frame includes congestion control information. After receiving the first frame, the second node can actively reduce the transmission rate of the data stream based on the congestion control information in the first frame.
[0155] In some embodiments, as Figure 11 shown, 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 stream, source port, destination port, etc. The meanings of other fields in the first frame and the field names in the first frame are shown in Table 6 below.
[0156] Table 6
[0157]
[0158]
[0159] In some embodiments, when the transmission direction of the data stream is the upstream direction or the point-to-point direction, the first frame can be a MU-RTS TXS frame. At this time, as Figure 12 shown, in the above Figure 5Based on this, the first node can extend the MU-RTS TXS frame to carry congestion control information. For example, a new L4S indication can be added to indicate that it carries congestion control information. Alternatively, the first node can newly define a first frame to carry congestion control information.
[0160] In some embodiments, the first node can also receive a second frame sent by the second node. Among them, the second frame is used to respond to the first frame.
[0161] In some embodiments, the protocol stack of the first node includes a MAC layer and a higher layer above the MAC layer; as Figure 13 shown, sending congestion control information corresponding to the data stream to the second node includes steps Sa1 - Sa2.
[0162] Sa1. 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 first value.
[0163] In some embodiments, the MAC layer or the higher layer above the MAC of the first node can directly modify the congestion control field in the IP data packet header in the scheduling queue corresponding to the data stream. Exemplarily, the congestion control field can be the 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 the first value. Or, the congestion control field can be the CE field. The first node can set the CE field of the MPDU containing the ECT indication in the data to the first value. Exemplarily, the first value can be 1.
[0164] It should be noted that the higher layer above the MAC layer in the protocol stack of the first node mentioned in the embodiments of the present disclosure can be a higher layer such as the logical link layer and the network layer. That is to say, the higher layer above the MAC layer is only the other higher layers different from the MAC layer in the protocol stack of the first node. The specific form of the higher layer above the MAC layer can vary based on specific scenarios and actual implementations, and the embodiments of the present disclosure do not limit this.
[0165] Sa2. 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.
[0166] It can be understood that in the method provided by the embodiments of the present disclosure, by setting the congestion control field in the IP data packet header to the first value and sending it to the second node, the first node can enable the second node to timely perceive the congestion situation, so as to timely perform congestion control, reduce the delay of data transmission, and improve the real-time performance and responsiveness of data transmission.
[0167] In some embodiments, the protocol stack of the first node includes a MAC layer and a higher layer above the MAC layer. As Figure 14As shown in the figure, sending congestion control information corresponding to the data stream to the second node includes steps Sb1 - Sb4.
[0168] Sb1. The MAC layer sends congestion event information to the higher layer above the MAC layer.
[0169] In some embodiments, the congestion event information is a congestion event primitive. After the MAC generates the congestion event information, it reports the congestion event information to the higher layer above the MAC layer (such as the logical link layer or the network layer) in the form of a congestion event primitive.
[0170] 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, source port.
[0171] As an example, the form of the congestion event primitive is as follows:
[0172] MLME - L4S - congresssion.indication(
[0173] source address,
[0174] destination address,
[0175] SCSID,
[0176] IP protocol,
[0177] Source port,
[0178] Destination port,
[0179] Flow label )
[0181] As another example, the form of the congestion event primitive is as follows:
[0182] MA - UNITDATA.indication(
[0183] source address,
[0184] destination address,
[0185] routing information,
[0186] data,
[0187] priority,
[0188] drop eligible,
[0189] service class,
[0190] station vector,
[0191] MSDU format,
[0192] L4S-CE )
[0194] 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; alternatively, the first node can additionally add the L4S-CE field in the primitive of the downlink data based on the primitive to indicate L4S information.
[0195] Sb2. The upper layer above the MAC layer sets the congestion control field in the IP packet of the data stream to the first value based on the congestion event information.
[0196] In some embodiments, after the upper layer above the MAC layer obtains the congestion event information through the MAC layer, in the IP packet of the corresponding data stream, the congestion control field is set to the first value. Exemplarily, the first value can be 1.
[0197] Sb3. The upper layer above the MAC layer sends an IP packet whose congestion control field is set to the first value to the second node.
[0198] In some embodiments, after receiving the IP packet set to the first value, the second node can actively reduce the transmission rate of the data stream in the uplink direction or the point-to-point direction.
[0199] It can be understood that since the ECN mark indicating congestion reminder is located in the header of the IP layer, and the 802.11 protocol only responsible for parsing and processing the information of the MAC layer and the physical layer and cannot directly modify the content of the IP layer. Therefore, a new method needs to be defined to perform congestion marking on the data stream to indicate congestion control of the data stream. In the method provided by the embodiments of the present disclosure, the data stream is congestion-marked by setting the congestion control field (such as the CE field) to the first value to indicate that congestion control is required, and congestion control of the data stream can be implemented in the wireless network.
[0200] In some embodiments, after receiving congestion event information, a higher layer above the MAC layer may further assemble an Internet Control Message Protocol (ICMP) message and send it to a second node, so that the second node actively reduces the transmission rate of the data stream in the uplink direction or the point-to-point direction based on the ICMP message.
[0201] It can be understood that in the method provided by the embodiments of the present disclosure, by setting the congestion control field in the IP data packet header to a first value and sending it to the second node, the first node can enable the second node to timely perceive the congestion situation, so as to perform congestion control in a timely manner, reduce the delay of data transmission, and improve the real-time performance and responsiveness of data transmission.
[0202] In addition, when the first node sends congestion control information corresponding to a data stream to the second node in the embodiments of the present disclosure, by adopting different sending methods (such as 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 way of triggering congestion control for the data stream can be made more flexible and variable, increasing the flexibility of the solution.
[0203] In some embodiments, the above method further includes: stopping sending congestion control information to the second node when the transmission scheduling of the data stream meets the requirements of the flow configuration information.
[0204] Exemplarily, after the first node sends congestion control information to the second node, since the amount of data received by the first node decreases, the first node compares the transmission scheduling of the data stream with the saved flow configuration information at this time to determine whether to continue sending congestion control information. When the transmission scheduling of the data stream meets the flow configuration information, the first node stops sending congestion control signals to the second node.
[0205] It can be understood that when the transmission scheduling of the data stream meets the requirements of the flow configuration information, it indicates that the current network state supports the normal transmission of the data stream. At this time, if congestion control information continues to be sent to the second node, it will waste network bandwidth and generate too much congestion control information. In addition, too much congestion control information may increase the queuing and waiting time of data packets in the network, thereby increasing the network delay during data transmission and reducing the response speed and real-time performance of the network. In the method provided by the embodiments of the present disclosure, by stopping sending congestion control information to the second node when the transmission scheduling of the data stream meets the requirements of the flow configuration information, network bandwidth can be saved, the normal transmission of the data stream can be guaranteed, and data congestion can be reduced.
[0206] In some embodiments, the above method further includes: when the transmission scheduling of the data stream meets the requirements of the flow configuration information, sending congestion control release information to the second node.
[0207] The congestion control release information is used to indicate releasing congestion control for the data stream.
[0208] Exemplarily, after the first node sends congestion control information to the second node, since the amount of data received by the first node decreases, the first node at this time compares the transmission scheduling of the data stream with the flow configuration information it stores to determine whether to release congestion control for the data stream. When the transmission scheduling of the data stream meets the flow configuration information, the first node sends congestion control release information to the second node to indicate releasing congestion control for the data stream.
[0209] In some embodiments, sending congestion control release information to the second node includes: sending a third frame to the second node. The third frame includes the congestion control release information.
[0210] 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, protocol type of the data stream, source port, destination port.
[0211] In some embodiments, the format of the third frame may refer to the format of the first frame in the above Figure 12 and will not be elaborated herein in the embodiments of the present disclosure.
[0212] In some embodiments, the first node may further receive a fourth frame sent by the second node. The fourth frame is used to respond to the third frame.
[0213] In some embodiments, the protocol stack of the first node includes a MAC layer and a higher layer above the MAC layer; as Figure 15 shown, sending congestion control release information to the second node includes: steps Sc1 - Sc2.
[0214] Sc1. 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.
[0215] In some embodiments, the MAC layer or the higher layer above the MAC layer can directly modify the congestion control field in the IP data packet header in the scheduling queue corresponding to the data stream. 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 the second value. Or, the congestion control field may be a CE field. The first node may set the CE field of the MPDU containing the ECT indication in the data to the second value. Exemplarily, the first value may be 0.
[0216] The Sc2, 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.
[0217] In some embodiments, the protocol stack of the first node includes a MAC layer and a higher layer above the MAC layer; as Figure 16 shown, the second node sends congestion control release information, including steps Sd1 - Sd4.
[0218] Sd1. The MAC layer sends congestion release event information to the higher layer above the MAC layer.
[0219] In some embodiments, the congestion release event information is a congestion release event primitive. After the MAC layer generates the congestion release event information, it reports the congestion release event information to the higher layer above the MAC layer (such as the logical link layer, etc.) in the form of a congestion release event primitive.
[0220] In some embodiments, 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, source port.
[0221] As an example, the form of the congestion release event primitive is as follows:
[0222] MLME - L4S - congress - cancel.indication(
[0223] source address,
[0224] destination address,
[0225] SCSID,
[0226] IP protocol,
[0227] Source port,
[0228] Destination port,
[0229] Flow label )
[0231] As another example, the form of the congestion release event primitive is as follows:
[0232] MA - UNITDATA.indication(
[0233] source address,
[0234] destination address,
[0235] routing information,
[0236] data,
[0237] priority,
[0238] drop eligible,
[0239] service class,
[0240] station vector,
[0241] MSDU format,
[0242] L4S-CE )
[0244] 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.
[0245] In some embodiments, after the upper layer above the MAC layer of the first node obtains the congestion event information through the MAC layer, the congestion control field in the IP data packet of the corresponding data flow is set to a second value. Exemplarily, the second value may be 0.
[0246] Sd3. A higher layer above the MAC layer sends an IP data packet with a congestion control field set to a second value to the second node.
[0247] 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.
[0248] In addition, when the first node sends congestion control release information corresponding to the data flow to the second node in the embodiment of the present disclosure, 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 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.
[0249] In some embodiments, Figure 17 As shown, the above method also includes: steps S201-S202.
[0250] S201. Receive congestion control information sent by a second node.
[0251] In some embodiments, when the second node detects that the transmission scheduling of the data stream fails to meet the requirements of the flow configuration information, it sends congestion control information to the first node, that is, the first node can receive the congestion control information sent by the second node.
[0252] S202. Adjust the transmission scheduling of the data stream based on the congestion control information.
[0253] It can be understood 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). The second node has no way to inform the first node of the congestion situation of its L4S data in the uplink direction through the MAC layer protocol. Correspondingly, the first node cannot perform corresponding uplink scheduling according to the indication 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 the L4S congestion situation in the point-to-point direction through the MAC layer protocol, and the AP also cannot perform corresponding trigger frame-based scheduling in the point-to-point direction according to the corresponding L4S indication. In the method provided by the embodiments of the present disclosure, when the second node detects that the transmission scheduling of the data stream fails to meet the requirements of the flow configuration information, it sends congestion control information to the first node, which can enable the first node to adjust the transmission scheduling of the data stream in a timely manner based on the congestion control information, and ensure the transmission delay requirement of the data stream.
[0254] In some embodiments, adjusting the transmission scheduling of the data stream includes: sending a fifth frame to the second node. The fifth frame is used to trigger the priority transmission of the data stream.
[0255] In some embodiments, the fifth frame includes first indication information to trigger the priority transmission of the L4S data stream. After receiving the fifth frame, the second node preferentially transmits the L4S data stream in the uplink direction or the point-to-point direction based on the first indication information in the fifth frame.
[0256] It can be understood that in the method provided by the embodiments of the present disclosure, by using the fifth frame to trigger the priority transmission of the data stream, the transmission efficiency of a specific data stream (such as the L4S data stream) can be guaranteed with a higher priority, thereby reducing the transmission delay.
[0257] In some embodiments, the fifth frame does not include the association identification AID information of the second node, so as to trigger any station to compete for the resource units allocated in the fifth frame and transmit the low-latency, low-loss, and scalable throughput L4S data stream. It can be understood that when the first node sends the fifth frame to the second node, if the AID information of the second node is not specified, at this time, the resource unit (RU) is a random access channel resource unit (RA-RU), that is, all second nodes containing the L4S data stream can preempt the RA-RU including the first indication information.
[0258] 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 the L4S data stream can preempt the RA-RU including the first indication information, which improves the utilization rate of network resources, helps to increase the transmission quantity and quality of data streams in the network, reduces the queuing and waiting time of data packets, and thus reduces the transmission delay of the data stream.
[0259] In some embodiments, the above method further includes: receiving an eighth frame sent by the second node. The eighth frame is used to modify the flow configuration information of the data stream.
[0260] In some embodiments, after receiving the eighth frame, the first node updates the configuration information of the data stream, the L4S indication information, etc. saved locally based on the indication of the eighth frame.
[0261] In some embodiments, the first node may also send a ninth frame to the second node. The ninth frame is used to respond to the eighth frame.
[0262] It can be understood that in the method provided by the embodiments of the present disclosure, the first node modifies the flow configuration information of the data stream through the eighth frame, which can dynamically adjust the allocation and management strategy of network resources to meet different application scenarios and requirements, and thus improve the utilization efficiency of network resources.
[0263] See Figure 18 , which is a flowchart of a congestion control method provided by the embodiments of the present disclosure. As Figure 18 shown, the congestion control method provided by the embodiments of the present disclosure is applied to the second node and includes the following steps:
[0264] S301. Receive the congestion control information sent by the first node.
[0265] The congestion control information is used to indicate congestion control of the data stream.
[0266] In some embodiments, the protocol stack of the second node includes a MAC layer and a higher layer above the MAC layer; the above receiving the congestion control information sent by the first node includes:
[0267] Receive a first frame sent by a first node, where the first frame includes congestion control information; or,
[0268] The MAC layer receives an IP data packet sent by the first node with a congestion control field set to a first value; or,
[0269] A 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.
[0270] It should be noted that the higher layer above the MAC layer in the second node protocol stack mentioned in the embodiments of the present disclosure may be a higher layer such as a logical link layer or a network layer. That is to say, the higher layer above the MAC layer is only other higher layers in the protocol stack of the second node that are different from the MAC layer. The specific form of the higher layer above the MAC layer may vary based on specific scenarios and actual implementations, and the embodiments of the present disclosure do not limit this.
[0271] In some embodiments, the specific implementation of the above step S301 may refer to the specific description of the above step S102, and the embodiments of the present disclosure will not elaborate herein.
[0272] It can be understood that in the method provided by the embodiments of the present disclosure, the first node can send congestion control information to the second node through different sending methods (such as sending a first frame, sending an IP layer data packet with a congestion control field set to a 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 trigger of congestion control for the data stream more flexible and variable, increasing the flexibility of the solution.
[0273] S302. Based on the congestion control information, reduce the packet sending rate of the data stream.
[0274] It can be understood that in the method provided by the embodiments of the present disclosure, when the transmission scheduling of the data stream cannot meet the requirements of the flow configuration information, the second node can perform congestion control on the data stream in a timely manner by receiving the congestion control information sent by the first node, thereby effectively avoiding congestion in the communication network and improving the reliability and stability of the data stream transmission.
[0275] In some embodiments, reducing the packet sending rate of the data stream includes: when the second node is the sending end of the data stream, reducing its own packet sending rate of the data stream.
[0276] Exemplarily, after receiving the congestion control information, the second node notifies the upper layer of its protocol stack (that is, the higher layer above the MAC layer) of the congestion control information. After receiving the above congestion control information, the upper layer of the protocol stack actively reduces the packet sending rate of the data stream.
[0277] In some embodiments, reducing the packet sending rate of a data stream includes: when the second node is the receiving end of the data stream, sending 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.
[0278] Exemplarily, the first control message may be an ICMP.
[0279] Exemplarily, when the second node is 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 (such as the logical link layer) above the MAC layer of the second node. Among them, 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 of the data stream to reduce the downstream packet sending rate of the data stream.
[0280] 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, source port. Exemplarily, the content of the congestion event primitive can refer to the above step Sb1, and the embodiments of the present disclosure will not be elaborated herein.
[0281] It can be understood that in the method provided by the embodiments of the present disclosure, by sending a first control message to the server of the data volume, the second node can control the packet sending rate 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.
[0282] In some embodiments, the above method further includes: when no congestion control information is received within a preset time period, restoring the packet sending rate of the data stream. Exemplarily, the preset time period may be 5 minutes.
[0283] It can be understood that when the transmission scheduling of the data stream meets the requirements of the flow configuration information, it indicates that the current network state supports the normal transmission of the data stream. At this time, if the congestion control information continues to be sent to the second node, it will waste network bandwidth and generate excessive congestion control information. In addition, excessive congestion control information may cause an increase in the queuing and waiting time of data packets in the network, thereby increasing the network latency during data transmission and reducing the response speed and real-time performance of the network. In the method provided by the embodiments 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 congestion control information within a 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 resumes the packet sending rate of the data stream, which can ensure the normal transmission of the data stream and reduce data congestion.
[0284] In some embodiments, as Figure 19 shown, the above method further includes: steps S401 - S402.
[0285] S401. Receive the congestion control release information sent by the first node.
[0286] Among them, the congestion control release information is used to indicate the release of congestion control for the data stream.
[0287] In some embodiments, the protocol stack of the second node includes the MAC layer and the higher layers above the MAC layer; receiving the congestion control release information sent by the first node includes:
[0288] Receiving a third frame sent by the first node, where the third frame includes the congestion control release information; or,
[0289] The MAC layer receives an IP data packet sent by the first node with the congestion control field set to a second value; or,
[0290] The higher layer above the MAC layer receives an IP data packet sent by the first node with the congestion control field set to a second value.
[0291] S402. Based on the congestion control release information, resume the packet sending rate of the data stream.
[0292] It can be understood that in the method provided by the embodiments of the present disclosure, when the second node receives the congestion control release information sent by the first node, by adopting different receiving methods (such as receiving the third frame, receiving an IP data packet with the congestion control field set to a second value, etc.), the way to trigger the release of congestion control for the data stream can be made more flexible and variable, increasing the flexibility of the solution.
[0293] In some embodiments, the packet sending rate for restoring the data stream includes:
[0294] When the second node is the sending end of the data stream, restoring the packet sending rate of the data stream; or,
[0295] When the second node is the receiving end of the data stream, sending 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.
[0296] As an example, when the second node is the sending end of the data stream and the second node receives congestion control release information, the second node generates congestion release event information and reports the congestion release event information to a higher layer (such as the logical link layer) above the MAC layer of the second node. Among them, the congestion release event information is reported to the higher layer above the MAC layer in the form of a congestion release event primitive. The higher layer above the MAC layer can actively restore the upstream or point-to-point packet sending rate of the data stream. Exemplarily, the content of the congestion release event primitive can refer to the above step Sd1, which is not elaborated in this embodiment of the present disclosure.
[0297] As another example, when the second node is the receiving end of the data stream and the second node receives congestion control release information, the second node generates congestion release event information and reports the congestion release event information to a higher layer above the MAC layer of the second node. Among them, the congestion release event information is reported to the higher layer above the MAC layer in the form of a congestion release 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 of the data stream to increase the downstream packet sending rate of the data stream.
[0298] As yet another example, when the second node is the receiving end of the data stream and the second node receives an IP data packet set to a second value, since the congestion control field containing the first value cannot be parsed, at this time, the second node can adjust or restore the packet sending rate of the data stream based on the actual transmission requirements of the data stream. For example, the application layer of the second node sends an ICMP message to the server of the data stream to increase the downstream packet sending rate of the data stream.
[0299] In some embodiments, the above method further includes: when the transmission scheduling of the data stream fails to meet the requirements of the stream configuration information, sending congestion control information to the first node.
[0300] It can be understood that the L4S protocol in the related art only supports congestion control for L4S data in the downlink direction (i.e., when the second node is the receiving end of the data stream). The second node has no way to inform the first node of the congestion situation of its L4S data in the uplink direction through the MAC layer protocol. Correspondingly, the first node cannot perform corresponding uplink scheduling according to the indication 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 the L4S congestion situation in the point-to-point direction through the MAC layer protocol, and the AP cannot perform corresponding trigger frame-based scheduling in the point-to-point direction according to the corresponding L4S indication. In the method provided by the embodiments of the present disclosure, when the second node detects that the transmission scheduling of the data stream cannot meet the requirements of the flow configuration information, it sends congestion control information to the first node, which can enable the first node to timely adjust the transmission scheduling of the data stream based on the congestion control information and ensure the transmission delay requirements of the data stream.
[0301] In some embodiments, as Figure 20 shown, the above method further includes steps S501 - S502.
[0302] S501. Receive a fifth frame sent by the first node.
[0303] Wherein, the fifth frame is used to trigger the priority transmission of the data stream.
[0304] S502. Based on the fifth frame, preferentially send the data stream.
[0305] In some embodiments, the fifth frame includes first indication information to trigger the priority transmission of the L4S data stream. After receiving the fifth frame, the second node preferentially transmits the L4S data stream in the uplink direction or the point-to-point direction based on the first indication information in the fifth frame.
[0306] It can be understood that in the method provided by the embodiments of the present disclosure, by using the fifth frame to trigger the priority transmission of the data stream, it is possible to ensure that a specific data stream (such as the L4S data stream) is transmitted with a higher priority, thereby ensuring the transmission efficiency of the specific data stream and reducing the transmission delay.
[0307] In some embodiments, the above method further includes: when the transmission scheduling of the data stream cannot meet the requirements of the flow configuration information, reducing the packet sending rate from the upper layer to the lower layer of the protocol stack for the data stream.
[0308] In some embodiments, the above method further includes: when the transmission scheduling of the data stream meets the requirements of the flow configuration information, restoring the packet sending rate from the upper layer to the lower layer of the protocol stack for the data stream.
[0309] In some embodiments, the above method further includes: sending a sixth frame to the first node, where the sixth frame includes flow configuration information of a data stream.
[0310] In some embodiments, 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.
[0311] In some embodiments, 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.
[0312] In some embodiments, the specific content of the above sixth frame may refer to the specific description of the sixth frame in step S101 above, and the embodiments of the present disclosure will not elaborate herein.
[0313] In some embodiments, the second node may also receive a seventh frame sent by the first node. Among them, the seventh frame is used to respond to the sixth frame.
[0314] It can be understood that in the method provided by the embodiments of the present disclosure, by sending the flow configuration information of the data stream to the first node, the second node can enable the first node to effectively plan and transmit and schedule the data stream based on the flow configuration information to meet the specific transmission requirements of different data streams.
[0315] In some embodiments, the above method further includes: sending an eighth frame to the first node, and the eighth frame is used to modify the flow configuration information of the data stream. Exemplarily, after receiving the eighth frame, the first node updates the configuration information of the data stream, L4S indication information, etc. saved locally based on the indication of the eighth frame.
[0316] In some embodiments, the second node may also receive a ninth frame sent by the first node. Among them, the ninth frame is used to respond to the eighth frame.
[0317] It can be understood that in the method provided by the embodiments of the present disclosure, by sending the eighth frame to the first node, the second node can enable the first node to modify the flow configuration information of the data stream based on the eighth frame, and can dynamically adjust the allocation and management strategy of network resources to meet different application scenarios and requirements, thereby improving the utilization efficiency of network resources.
[0318] The above mainly introduces the solution of the embodiments of the present disclosure from the perspective of methods. It can be understood that in order to implement the above functions, the congestion control device includes at least one of the corresponding hardware structures and software modules for executing 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 embodiments disclosed herein, the embodiments of the present disclosure can be implemented in the form of hardware or a combination of hardware and computer software. Whether a certain 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. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of the embodiments of the present disclosure.
[0319] It can be understood that in order to implement the above functions, the congestion control device includes the corresponding hardware structures and / or software modules for executing each function. Those skilled in the art should easily realize that, in combination with the algorithm steps of each example described in the embodiments of the present disclosure, the present disclosure can be implemented in the form of hardware or a combination of hardware and computer software. Whether a certain function is executed in the form of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of the present disclosure.
[0320] The embodiments of the present disclosure can divide the functions of the congestion control device according to the above method embodiments. For example, each function module can be divided corresponding to each function, or two or more functions can be integrated into one function 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 embodiments of the present disclosure is illustrative, only a logical function division, and there can be other division methods in actual implementation. The following takes the example of dividing each function module corresponding to each function for illustration.
[0321] Figure 21 It is a schematic structural diagram of a congestion control device provided by the embodiments of the present disclosure. The congestion control device is applied to the first node and can execute the congestion control method provided by the above method embodiments. As Figure 21 shown, the congestion control device 200 includes: an acquisition module 201, a sending module 202, a receiving module 203, and an adjustment module 204.
[0322] The acquisition module 201 is configured to acquire the flow configuration information of the data stream.
[0323] The sending module 202 is configured to send congestion control information to a second node when the transmission scheduling of a data stream fails to meet the requirements of the stream configuration information, where the congestion control information is used to indicate congestion control of the data stream.
[0324] In some embodiments, the sending module 202 is specifically configured to send a first frame to the second node, where the first frame includes the congestion control information.
[0325] In some embodiments, 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 stream, source port, and destination port.
[0326] In some embodiments, the receiving module 203 is configured to receive a second frame sent by the second node, where the second frame is used to respond to the first frame.
[0327] 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 specifically configured to set the congestion control field in the IP data packet header of the data stream to a first value by the MAC layer or the higher layer above the MAC layer; the MAC layer or the higher layer above the MAC layer sends a data packet with the congestion control field set to the first value to the second node.
[0328] 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 specifically configured to send congestion event information from the MAC layer to the logical link layer; the higher layer above the MAC layer sets the congestion control field in the IP data packet of the data stream to a first value based on the congestion event information; 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.
[0329] In some embodiments, 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.
[0330] In some embodiments, the sending module 202 is further configured to stop sending the congestion control information to the second node when the transmission scheduling of the data stream meets the requirements of the stream configuration information.
[0331] 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 stream meets the requirements of the stream configuration information, where the congestion control release information is used to indicate release of congestion control for the data stream.
[0332] In some embodiments, the sending module 202 is specifically configured to send a third frame to the second node, where the third frame includes the congestion control release information.
[0333] 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, protocol type of the data stream, source port, and destination port.
[0334] 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.
[0335] 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 specifically configured to set the congestion control field in the IP data packet header of the data stream to a second value by the MAC layer or the higher layer above the MAC layer; the MAC layer or the logical link layer sends a data packet with the congestion control field set to the second value to the second node.
[0336] 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 specifically configured to send congestion removal event information from the MAC layer to the higher layer above the MAC layer; the higher layer above the MAC layer sets the congestion control field in the IP layer data packet of the data stream to the second value based on the congestion removal event information; 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.
[0337] In some embodiments, the congestion removal event information is a congestion removal event primitive, and the congestion removal 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.
[0338] In some embodiments, the receiving module 203 is further configured to receive congestion control information sent by the second node; the adjustment module 204 is configured to adjust the transmission scheduling of the data stream based on the congestion control information.
[0339] In some embodiments, the adjustment module 204 is specifically configured to send a fifth frame to the second node, where the fifth frame is used to trigger the priority transmission of the data stream.
[0340] In some embodiments, the fifth frame includes first indication information to trigger the priority transmission of the L4S data stream.
[0341] In some embodiments, the fifth frame does not include the associated identifier AID information of the second node to trigger any site to compete for the resource unit allocated in the fifth frame and transmit the low-latency, low-loss, and scalable throughput L4S data stream.
[0342] In some embodiments, the receiving module 203 is further configured to receive a sixth frame sent by the second node, where the sixth frame includes the flow configuration information of the data stream.
[0343] In some embodiments, the sixth frame further includes at least one of the following: second indication information and direction information of the data stream, where the second indication information is used to indicate that the data stream is an L4S data stream.
[0344] In some embodiments, the flow configuration information includes flow feature information, and the flow feature information includes third indication information, where the third indication information is used to indicate whether the data stream has the characteristics of an L4S data stream.
[0345] 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.
[0346] In some embodiments, the receiving module 203 is further configured to receive an eighth frame sent by the second node, where the eighth frame is used to modify the flow configuration information of the data stream.
[0347] 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.
[0348] Figure 22 It is a schematic structural diagram of a congestion control device provided by an embodiment of the present disclosure. The congestion control device is applied to the second node and can execute the congestion control method provided by the above method embodiment. As Figure 22 shown, the congestion control device 300 includes: a receiving module 301, an adjustment module 302, a recovery module 303, and a sending module 304.
[0349] The receiving module 301 is configured to receive congestion control information sent by the first node, where the congestion control information is used to indicate performing congestion control on the data stream.
[0350] The adjustment module 302 is configured to reduce the packet sending rate of the data stream based on the congestion control information.
[0351] In some embodiments, the adjustment module 302 is specifically configured to, 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.
[0352] 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 specifically configured to receive a first frame sent by the first node, where the first frame includes congestion control information; or, the MAC layer receives an IP data packet whose congestion control field is set to a first value sent by the first node; or, the higher layer above the MAC layer receives an IP data packet whose congestion control field is set to a first value sent by the first node.
[0353] In some embodiments, the recovery module 303 is configured to restore the packet sending rate of the data stream when congestion control information has not been received within a preset time period.
[0354] In some embodiments, the receiving module 301 is further configured 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 for the data stream; the recovery module 303 is further configured to restore the packet sending rate of the data stream based on the congestion control release information.
[0355] In some embodiments, the receiving module 301 is specifically configured to restore the packet sending rate of the data stream when the second node is the sending end 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.
[0356] 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 specifically configured to receive a third frame sent by the first node, where the third frame includes congestion control release information; or, the MAC layer receives an IP packet whose congestion control field sent by the first node is set to a second value; or, the higher layer above the MAC layer receives an IP packet whose congestion control field sent by the first node is set to a second value.
[0357] In some embodiments, the sending module 304 is configured to send congestion control information to the first node when the transmission scheduling of the data stream fails to meet the requirements of the flow configuration information.
[0358] 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 the priority transmission of the data stream; based on the fifth frame, the data stream is preferentially sent.
[0359] In some embodiments, the adjustment module 302 is further configured to reduce the packet sending rate from the higher layer to the lower layer of the data stream in the protocol stack when the transmission scheduling of the data stream fails to meet the requirements of the flow configuration information.
[0360] In some embodiments, the adjustment module 302 is further configured to restore the packet sending rate from the higher layer of the application layer to the lower layer of the data stream in the protocol stack when the transmission scheduling of the data stream meets the requirements of the flow configuration information.
[0361] In some embodiments, the sending module 304 is further configured to send a sixth frame to the first node, where the sixth frame includes the flow configuration information of the data stream.
[0362] In some embodiments, 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.
[0363] In some embodiments, 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.
[0364] In some embodiments, the receiving module 301 is further configured to receive a seventh frame sent by the first node, and the seventh frame is used to respond to the sixth frame.
[0365] In some embodiments, the sending module 304 is further configured to send an eighth frame to the first node, and the eighth frame is used to modify the flow configuration information of the data stream.
[0366] In some embodiments, the receiving module 301 is further configured to receive a ninth frame sent by the first node, and the ninth frame is used to respond to the eighth frame.
[0367] In the case where the functions of the above integrated modules are implemented in the form of hardware, the embodiments of the present disclosure provide a possible structure of the communication device involved in the above embodiments. As Figure 23 shown, the communication device 400 includes: a processor 402, a bus 404. Optionally, the communication device 400 may further include a memory 401; optionally, the communication device 400 may further include a communication interface 403.
[0368] The processor 402 may be configured to implement or execute various exemplary logical blocks, modules, and circuits described in conjunction with the embodiments of the present disclosure. The 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, transistor logic device, hardware component, or any combination thereof. It may implement or execute various exemplary logical blocks, modules, and circuits described in conjunction with the embodiments of the present disclosure. The 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 and a microprocessor, etc.
[0369] The communication interface 403 is used to connect to other devices through a communication network. The communication network may be an Ethernet, a radio access network, a wireless local area network (WLAN), etc.
[0370] The memory 401 can 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 can also be an electrically erasable programmable read-only memory (EEPROM), a magnetic disk storage medium, or other magnetic storage device, or any other medium that can be used to carry or store the desired program code in the form of instructions or data structures and can be accessed by a computer, but is not limited thereto.
[0371] As a possible implementation, the memory 401 can exist independently of the processor 402. The memory 401 can be connected to the processor 402 through the bus 404 and is used to store instructions or program code. When the processor 402 calls and executes the instructions or program code stored in the memory 401, the congestion control method provided by the embodiments of the present disclosure can be implemented.
[0372] In another possible implementation, the memory 401 can also be integrated with the processor 402. The bus 404 can be an extended industry standard architecture (EISA) bus, etc. The bus 404 can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 23 only a thick line is used to represent it in the figure, but it does not mean that there is only one bus or one type of bus.
[0373] Some embodiments of the present disclosure provide a computer-readable storage medium (for example, a non-transitory computer-readable storage medium). Computer program instructions are stored in the computer-readable storage medium. When the computer program instructions run on a computer, the computer is caused to execute the congestion control method in any one of the above embodiments.
[0374] Exemplarily, the above computer-readable storage medium may include, but is not limited to: magnetic storage devices (such as hard disks, floppy disks, or magnetic tapes, etc.), optical discs (such as Compact Discs (CDs), Digital Versatile Discs (DVDs), etc.), smart cards, and flash memory devices (such as Erasable Programmable Read-Only Memories (EPROMs), cards, sticks, or key drives, etc.). The various computer-readable storage media described in this 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).
[0375] An embodiment of the present disclosure provides a computer program product containing instructions. When the computer program product runs on a computer, it causes the computer to execute the congestion control method of any one of the above embodiments.
[0376] The above is only the specific implementation manner of the present disclosure, but the protection scope of the present disclosure is not limited thereto. Any changes or substitutions within the technical scope disclosed in the present disclosure should be covered by the protection scope of the present disclosure. Therefore, the protection scope of the present disclosure should be subject to the protection scope of the claims.
Claims
1. A congestion control method, characterized in that, Applied to a first node, the method includes: Obtaining stream configuration information of a data stream; When the transmission scheduling of the data stream fails to meet the requirements of the stream configuration information, sending congestion control information to a second node, where the congestion control information is used to indicate congestion control of the data stream.
2. The method according to claim 1, wherein The sending of the congestion control information corresponding to the data stream to the second node includes: Sending a first frame to the second node, where the first frame includes the 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 stream, source port, destination port.
4. The method according to claim 2, wherein The method further includes: 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, characterized in that The protocol stack of the first node includes a MAC layer and a higher layer above the MAC layer; The sending of the congestion control information corresponding to the data stream 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 of the data stream 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 of the congestion control information corresponding to the data stream 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 the congestion control field in the IP data packet of the data stream 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 the 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, source port.
8. The method according to claim 1, wherein The method further includes: When the transmission scheduling of the data stream meets the requirements of the stream configuration information, stopping sending the congestion control information to the second node.
9. The method according to claim 1, wherein The method further includes: When the transmission scheduling of the data stream meets the requirements of the stream 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 stream.
10. The method according to claim 9, wherein The sending of 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, destination port.
12. The method according to claim 10, characterized in that, The method further includes: 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 second node sending congestion control release information 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 the 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, source port.
16. The method according to claim 1, wherein The method further includes: Receiving the congestion control information sent by the second node; Based on the congestion control information, adjusting the transmission scheduling of the data stream.
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 the L4S data stream.
19. The method according to claim 18, wherein The fifth frame does not include the associated identifier AID information of the second node to trigger any station to compete for the resource unit allocated in the fifth frame and transmit the low-latency, low-loss, scalable throughput L4S data stream.
20. The method according to claim 1, wherein The method further includes: 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 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.
23. The method according to claim 20, wherein The method further includes: 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, wherein The method further includes: Receiving an 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, wherein The method further includes: Sending a ninth frame to the second node, where the ninth frame is used to respond to the eighth frame.
26. A congestion control method, characterized in that, Applying the second node, the method includes: Receiving congestion control information sent by the first node, where the congestion control information is used to indicate congestion control of a data stream; Based on the congestion control information, reducing the packet sending rate of the data stream.
27. The method according to claim 26, characterized in that, The reducing of the packet sending rate of the data stream includes: When the second node is the sender of the data stream, it reduces the packet sending rate of the data stream by itself; or, When the second node is the receiver of the data stream, it sends a first control message to the server of the data stream, and 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 MAC layer and a higher layer above the MAC layer; receiving the congestion control information sent by the first node includes: Receiving a first frame sent by the first node, where the first frame includes the congestion control information; or, The MAC layer receives an IP data packet whose congestion control field is set to a first value and sent by the first node; or, The higher layer above the MAC layer receives an IP data packet whose congestion control field is set to a first value and sent by the first node.
29. The method according to claim 26, wherein The method further includes: When the congestion control information is not received within a preset time period, the packet sending rate of the data stream is restored.
30. The method according to claim 26, wherein The method further includes: Receiving congestion control release information sent by the first node, where the congestion control release information is used to indicate the release of congestion control for the data stream; Based on the congestion control release information, the packet sending rate of the data stream is restored.
31. The method according to claim 30, wherein Restoring the packet sending rate of the data stream includes: When the second node is the sender of the data stream, the packet sending rate of the data stream is restored; or, When the second node is the receiver of the data stream, it sends a second control message to the server of the data stream, and 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; receiving the congestion control release information sent by the first node includes: Receiving 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 whose congestion control field is set to a second value and sent by the first node; or, The higher layer above the MAC layer receives an IP data packet whose congestion control field is set to a second value and sent by the first node.
33. The method according to claim 26, wherein The method further includes: When the transmission scheduling of the data stream cannot meet the requirements of the stream configuration information, the congestion control information is sent to the first node.
34. The method according to claim 33, characterized in that, The method further includes: Receiving a fifth frame sent by the first node, where the fifth frame is used to trigger the priority transmission of the data stream; Based on the fifth frame, the data stream is preferentially sent.
35. The method according to claim 26, wherein The method further includes: When the transmission scheduling of the data stream cannot meet the requirements of the stream configuration information, the packet sending rate from the higher layer to the lower layer of the protocol stack for the data stream is reduced.
36. The method according to claim 26, wherein The method further includes: When the transmission scheduling of the data stream meets the requirements of the stream configuration information, the packet sending rate from the higher layer to the lower layer of the protocol stack for the data stream is restored.
37. The method according to claim 26, characterized in that, The method further includes: Sending a sixth frame to the first node, where the sixth frame includes the stream configuration information of the data stream.
38. The method according to claim 37, characterized in that, The sixth frame further includes at least one of the following: second indication information, direction information of the data stream, where the second indication information is used to indicate that the data stream is an L4S data stream.
39. The method according to claim 37, wherein The flow configuration information includes flow feature information, and the flow feature information includes third indication information, where 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, wherein The method further includes: 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, wherein The method further includes: 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, wherein The method further includes: 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, characterized in that, Comprising: A memory and a processor; The memory and the processor are coupled; 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, characterized in that, Computer instructions are stored on the computer-readable storage medium, and when the computer instructions run on an electronic device, the electronic device is caused to execute the method according to any one of claims 1 to 42.
Citation Information
Cited By
Congestion control method, communication apparatus, and storage medium
WO2025156606A1