WO2022257140A1 - 数据发送的方法和通信装置 - Google Patents

数据发送的方法和通信装置 Download PDF

Info

Publication number
WO2022257140A1
WO2022257140A1 PCT/CN2021/099847 CN2021099847W WO2022257140A1 WO 2022257140 A1 WO2022257140 A1 WO 2022257140A1 CN 2021099847 W CN2021099847 W CN 2021099847W WO 2022257140 A1 WO2022257140 A1 WO 2022257140A1
Authority
WO
WIPO (PCT)
Prior art keywords
message
sending
data
data packet
rtt
Prior art date
Application number
PCT/CN2021/099847
Other languages
English (en)
French (fr)
Inventor
张海波
唐飞龙
章旭晖
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to PCT/CN2021/099847 priority Critical patent/WO2022257140A1/zh
Priority to EP21944647.3A priority patent/EP4346182A1/en
Priority to CN202180098617.XA priority patent/CN117397224A/zh
Publication of WO2022257140A1 publication Critical patent/WO2022257140A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • H04L47/283Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/25Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • H04L47/263Rate modification at the source after receiving feedback

Definitions

  • the present application relates to the communication field, and more specifically, relates to a data sending method and a communication device.
  • Terminal ultra-fast network positioning can provide extremely fast Internet experience, and it is the underlying basic connection technology for future terminals.
  • the terminal speed network is based on the combination of mobile terminal and active network technology innovation of the server to achieve the ultimate network experience without packet loss and ultra-low delay; one of the core indicators of the future terminal is the extremely high requirement for network delay, low time Extension becomes the key point of network-based interactive business.
  • the active congestion control mechanism can ensure the adjustment of data transmission on a packet-by-packet basis, ensure the fairness of link bandwidth occupation, prevent packet loss, and ensure low latency.
  • the active congestion control mechanism requires all devices on the link to support the committed access rate (CAR) mechanism, which is difficult to meet under current network conditions, and some devices on the link may not support the CAR mechanism. If there are devices in the network that cannot be configured with CAR, these devices will be congested, and the active congestion control mechanism will fail; in addition, the active congestion control mechanism cannot respond to the congestion of intermediate devices without CAR configuration, which may cause delay changes. large, or even packet loss.
  • CAR committed access rate
  • Embodiments of the present application provide a data sending method and a communication device, which can reduce data transmission delay.
  • a method and a communication device for sending data includes: determining a first sending rate based on multiple round-trip times (round-trip time, RTT), and the multiple RTTs include sending data at different sending rates
  • the RTT of multiple first detection messages the first sending rate is the sending rate corresponding to the RTT of the multiple RTTs that is less than the first preset threshold; based on the multiple packet loss rates, determine the second sending rate, the multiple A packet loss rate includes the packet loss rate of a plurality of second detection messages sent at different sending rates, where the second sending rate is a sending rate corresponding to a packet loss rate whose packet loss rate is less than a second preset threshold; using the first Sending a third probe message at three sending rates, where the third probe message is used to determine the sending interval of the data message, and the third sending rate is the smaller value of the first sending rate and the second sending rate.
  • the first transmission rate corresponding to the smaller round-trip time is determined according to the round-trip time of multiple first detection messages.
  • the smaller the round-trip time the more congested the first detection message is on the transmission link. less, so that the transmission delay is smaller; according to the packet loss rate of the second detection message to determine the corresponding second sending rate when the packet loss rate of the second detection message is small, the smaller the packet loss rate, the first detection message The less the congestion on the transmission link, the smaller the transmission delay; take the smaller value of the first sending rate and the second sending rate as the third detection message sent to determine the sending interval of the data message The sending rate of the text.
  • the method determines the sending rate of the detection message to control the sending interval of the data message, which can effectively reduce the congestion on the transmission link and reduce the time delay of data transmission.
  • the first probe message includes sending time information, and the sending time information is used to indicate the sending time of the first probe message;
  • the RTT is determined based on the sending time and receiving time of a first detection message, the receiving time is the time when the first feedback message is received, and the first feedback message is the time corresponding to the first detection message Feedback message.
  • one first detection message among the plurality of first detection messages is sent, and the one first detection message includes time information, and the time information is used Indicating the sending time of the first detection message; receiving a first feedback message, the first feedback message is a feedback message of the first detection message, and the feedback message includes the time information; based on the The RTT is determined by the sending time and the receiving time of the feedback message.
  • the first detection message can carry the time information indicating its sending time. After receiving the first detection message, the receiving end will send the first feedback message, and the time in the first feedback message information, so that after the sending end receives the first feedback message fed back by the receiving end, it can determine the sending time of the first detection message based on the time information, so that based on the sending time and the receiving time of the first feedback message, Able to get RTT.
  • the method further includes: receiving a second feedback message, where the second feedback message is a feedback message corresponding to the third detection message;
  • the second feedback message includes an arrival acknowledgment (acknowledge, ACK) message, and the ACK message is used to confirm whether the data message sent before sending the third detection message is successfully received.
  • arrival acknowledgment acknowledge, ACK
  • the ACK message of the data message is carried in the detection message, so that the detection message can not only have the function of detecting the path and determining the sending interval of the data message, but also can carry the ACK message of the data message, which can avoid the receiving end from returning
  • a feedback message needs to be sent, which reduces signaling overhead and improves resource utilization.
  • Fast retransmission can also be achieved, so that no matter whether the data packets are sparse or dense, there is no need to wait for a long timeout retransmission time.
  • the ACK message includes identification information of the first data packet and/or identification information of the second data packet, where the first data packet is The last data packet that is successfully received before the second feedback packet is received, and the second data packet is the next data packet to be received.
  • the ACK message includes the identification information of the second data packet, and the method further includes:
  • the second data message has been sent before the first time interval, and the first time interval is less than k times the first RTT, send the next data message to be sent, wherein the first RTT is the RTT corresponding to the third sending rate, 0 ⁇ k ⁇ 1;
  • the second data packet is sent.
  • the second data message can be considered as the next data message that the receiving end expects to receive. If the receiving end expects the data message sent by the sending end to be a sent data message, and the sending time exceeds a certain period of time, The sending end will send the second data packet again, which can realize fast retransmission. If the sending time of the second data packet does not exceed a certain time, it can be considered that the second data packet is not sent to the receiving end during transmission, and the sending end can send the next data packet to be sent. If the second data packet has not been sent, the sending end may send the second data packet that the receiving end expects to receive. It can realize fast retransmission and reduce data transmission delay.
  • the method further includes: under the condition that the first ACK message is not received within a first RTT after sending the third data packet, sending the third data packet
  • the first RTT is an RTT corresponding to the third sending rate
  • the first ACK message is used to confirm that the third data packet has been successfully received.
  • the sending end if the sending end does not receive the ACK message corresponding to the third data message within the RTT corresponding to the third sending rate after sending the third data message, then the sending end sends the third data message again . It can realize fast retransmission and reduce the transmission delay of data packets.
  • the second aspect provides a communication device.
  • the device may include a module corresponding to the method/operation/step/action described in the first aspect.
  • the module may be a hardware circuit or a software , and can also be implemented by combining hardware circuits with software.
  • the device includes: a processing unit, configured to determine a first sending rate based on multiple round-trip times RTT, where the multiple RTTs include RTTs of multiple first probe packets sent at different sending rates, and the first A sending rate is the sending rate corresponding to the RTT of the plurality of RTTs that is less than the first preset threshold;
  • the processing unit is further configured to determine a second sending rate based on multiple packet loss rates, where the multiple packet loss rates include packet loss rates of multiple second detection messages sent at different sending rates, and the second sending rate is A sending rate corresponding to a packet loss rate smaller than a second preset threshold among the plurality of packet loss rates;
  • a transceiver unit configured to send a third detection message at a third transmission rate, the third detection message is used to determine the transmission interval of the data message, and the third transmission rate is the first transmission rate and the second transmission rate The smaller value of .
  • the first probe message includes sending time information, and the sending time information is used to indicate the sending time of the first probe message; the RTT is based on a The sending time and receiving time of the first detection message are determined, the receiving time is the time when the first feedback message is received, and the first feedback message is a feedback message corresponding to the first detection message.
  • the transceiver unit is further configured to receive a second feedback message, where the second feedback message is a feedback message corresponding to the third detection message; wherein, The second feedback message includes an arrival confirmation ACK message, and the ACK message is used to confirm whether the data message sent before the third detection message is successfully received.
  • the ACK message includes identification information of the first data packet and/or identification information of the second data packet, where the first data packet is The last data packet that is successfully received before the second feedback packet is received, and the second data packet is the next data packet to be received.
  • the ACK message includes identification information of the second data packet
  • the processing unit is also used to send the second data message before the first time interval, and when the first time interval is less than k times the first RTT, send the next data message to be sent, wherein,
  • the first RTT is the RTT corresponding to the third sending rate, where 0 ⁇ k ⁇ 1; or,
  • the processing unit is further configured to send the second data packet before the second time interval, and if the second time interval is greater than or equal to k times the first RTT, send the second data packet; or ,
  • the processing unit is further configured to send the second data packet when the second data packet has not been sent.
  • the processing unit is further configured to determine that the first ACK message has not been received within a first RTT after sending the third data packet, and the first ACK message It is used to confirm that the third data message has been successfully received, wherein the first RTT is the RTT corresponding to the third sending rate; the transceiver unit is also used to send the third data message.
  • a communication device including a processor.
  • the processor may implement the first aspect and the method in any possible implementation manner of the first aspect.
  • the communication device further includes a memory, and the processor is coupled to the memory, and can be used to execute instructions in the memory, so as to implement the method in the above first aspect and any possible implementation manner of the first aspect.
  • the communication device further includes a communication interface, and the processor is coupled to the communication interface.
  • the communication interface may be a transceiver, a pin, a circuit, a bus, a module or other types of communication interfaces, without limitation.
  • the communication device is a terminal device.
  • the communication interface may be a transceiver, or an input/output interface.
  • the communication device is a chip configured in a terminal device.
  • the communication interface may be an input/output interface.
  • the transceiver may be a transceiver circuit.
  • the input/output interface may be an input/output circuit.
  • a processor including: an input circuit, an output circuit, and a processing circuit.
  • the processing circuit is configured to receive a signal through the input circuit and transmit a signal through the output circuit, so that the processor executes the method in the first aspect and any possible implementation manner of the first aspect.
  • the above-mentioned processor can be one or more chips
  • the input circuit can be an input pin
  • the output circuit can be an output pin
  • the processing circuit can be a transistor, a gate circuit, a flip-flop and various logic circuits, etc. .
  • the input signal received by the input circuit may be received and input by, for example but not limited to, the receiver
  • the output signal of the output circuit may be, for example but not limited to, output to the transmitter and transmitted by the transmitter
  • the circuit may be the same circuit, which is used as an input circuit and an output circuit respectively at different times.
  • the embodiment of the present application does not limit the specific implementation manners of the processor and various circuits.
  • a computer program product includes: a computer program (also referred to as code, or an instruction), when the computer program is executed, the computer executes the above-mentioned first aspect and the first aspect A method in any of the possible implementations.
  • a computer program also referred to as code, or an instruction
  • a computer-readable storage medium stores a computer program (also referred to as code, or instruction) when it is run on a computer, so that the computer executes the above-mentioned first aspect and The method in any possible implementation manner in the first aspect.
  • a computer program also referred to as code, or instruction
  • FIG. 1 is a schematic diagram of a transmission architecture of a wireless communication system applicable to an embodiment of the present application
  • FIG. 2 is a schematic diagram of a dual-channel active congestion control process
  • Fig. 3 is a schematic diagram of a TCP retransmission mechanism
  • Fig. 4 is a schematic diagram of another TCP retransmission mechanism
  • FIG. 5 is a schematic diagram of a packet transmission by a network device configured with CAR
  • FIG. 5A is a schematic diagram of message transmission by a network device without CAR configuration
  • FIG. 6 is a schematic flowchart of a method for sending data proposed by the present application.
  • FIG. 7 is a schematic interactive flowchart of a method for sending data provided in an embodiment of the present application.
  • FIG. 8 is a schematic block diagram of a communication device provided by an embodiment of the present application.
  • FIG. 9 is a schematic structural diagram of a communication device provided by an embodiment of the present application.
  • the technical solution of the embodiment of the present application can be applied to various communication systems, for example: long term evolution (long term evolution, LTE) system, LTE frequency division duplex (frequency division duplex, FDD) system, LTE time division duplex (time division duplex) , TDD), the fifth generation (5th generation, 5G) communication system, the future communication system (such as the sixth generation (6th generation, 6G) communication system), or a system where multiple communication systems are integrated, etc., the embodiments of the present application do not Do limited.
  • 5G can also be called new radio (new radio, NR).
  • FIG. 1 is a schematic diagram of a transmission architecture of a wireless communication system 100 applicable to an embodiment of the present application.
  • the wireless communication system 100 may include a server (server) 110 , a client (client) 120 and a router 130 .
  • the server end is a server;
  • the client end is a mobile device end, which may be a terminal device or a personal computer (personal computer, PC) end.
  • the link between the client and the server passes through a wide area network, and the router in the middle is a network device.
  • the network device can be a device that supports the committed access rate (CAR) mechanism, or an ordinary device that does not support the CAR mechanism. It only needs that the application layers of the sending end and the receiving end can work according to the data sending method proposed in this application, without being limited by the network scale.
  • CAR committed access rate
  • mMTC may include one or more of the following communications: communications in industrial wireless sensor networks (industrial wireless sensor network, IWSN), communications in video surveillance (video surveillance) scenarios, and communications in wearable devices Wait.
  • the terminal device involved in this embodiment of the present application may also be referred to as a terminal or a UE.
  • a terminal may be a device with a wireless transceiver function. Terminals can be deployed on land, including indoors, outdoors, hand-held, and/or vehicle-mounted; they can also be deployed on water (such as ships, etc.); and they can also be deployed in the air (such as on aircraft, balloons, and satellites, etc.).
  • the terminal device may be user equipment (user equipment, UE). UEs include handheld devices, vehicle-mounted devices, wearable devices, or computing devices with wireless communication capabilities. Exemplarily, the UE may be a mobile phone (mobile phone), a tablet computer or a computer with a wireless transceiver function.
  • the terminal device can also be a virtual reality (virtual reality, VR) terminal device, an augmented reality (augmented reality, AR) terminal device, a wireless terminal in industrial control, a wireless terminal in unmanned driving, a wireless terminal in telemedicine, a smart A wireless terminal in a power grid, a wireless terminal in a smart city (smart city), and/or a wireless terminal in a smart home (smart home), etc.
  • VR virtual reality
  • AR augmented reality
  • a wireless terminal in industrial control a wireless terminal in unmanned driving
  • a wireless terminal in telemedicine a smart A wireless terminal in a power grid
  • a wireless terminal in a smart city smart city
  • smart home smart home
  • the network device involved in the embodiment of the present application includes a router or a base station, which may be a device deployed in a wireless access network and capable of wireless communication with a terminal device.
  • a base station may come in various forms, such as a macro base station, a micro base station, a relay station, or an access point.
  • the base station involved in this embodiment of the present application may be a base station in a 5G system, a base station in an LTE system, or a base station in another system, without limitation.
  • the base station in the 5G system can also be called a transmission reception point (transmission reception point, TRP) or a next-generation node B (generation Node B, gNB or gNodeB).
  • TRP transmission reception point
  • gNB next-generation node B
  • the base station may be an integrated base station, or may be a base station separated into multiple network elements, without limitation.
  • the base station is a base station in which a centralized unit (CU) and a distributed unit (DU) are separated, that is, the base station includes a CU and a DU.
  • CU centralized unit
  • DU distributed unit
  • words such as “exemplary” or “for example” are used to represent examples, illustrations or illustrations, and any embodiment or design described as “exemplary” or “for example” should not be interpreted It is more preferred or more advantageous than other embodiments or design solutions.
  • the use of words such as “exemplary” or “for example” is intended to present related concepts in a specific manner for easy understanding.
  • At least one (species) can also be described as one (species) or multiple (species), multiple (species) can be two (species), three (species), four (species) ) or more (species), this application does not limit.
  • Terminal ultra-fast network positioning can provide extremely fast Internet experience, and it is the underlying basic connection technology for future terminals.
  • the terminal speed network is based on the combination of mobile terminal and active network technology innovation of the server to achieve the ultimate network experience without packet loss and ultra-low delay; one of the core indicators of the future terminal is the extremely high requirement for network delay, low time Latency has become the key point of network-based interactive services, and the terminal speed network is aimed at these application scenarios with extremely low latency requirements, providing a possible technological innovation solution.
  • the active congestion control mechanism can ensure the adjustment of data transmission on a packet-by-packet basis, ensure the fairness of link bandwidth occupation, prevent packet loss, and ensure low latency.
  • the active congestion control mechanism requires all devices on the link to support the committed access rate (CAR) mechanism, which is difficult to meet under current network conditions, and some devices on the link may not support the CAR mechanism. Therefore, a new technical solution is needed to solve the disadvantages of the dual-channel transmission mode under the current network condition.
  • CAR committed access rate
  • the types of packets are divided into two categories: detection packets and data packets. Logically, these two types of messages occupy the control channel and the data channel respectively, and are used for congestion control and data transmission. This is the meaning of dual channels. Physically, the two types of packets travel the same path during transmission.
  • the size is set to 64 bytes, and the size of the data message is assumed to be 1518 bytes, then the proportion of the detection message to the sum of the detection message and the data message is about 4%.
  • roughly 5% of the bandwidth is used to run detection packets, and 95% of the bandwidth is used to run data packets (the proportion here is the proportion of one-way bandwidth).
  • FIG. 2 a schematic diagram of a dual-channel active congestion control process is shown.
  • the process of the entire dual-channel active congestion mechanism can be summarized as a packet-by-packet detection and response data transmission process.
  • the specific steps include:
  • the sending end uses the expected target sending rate to send a probe message to request bandwidth authorization.
  • the detection packets pass through the network devices in the link hop by hop, and each network device can implement CAR rate limit on the detection packets of all streams converged (or called all receiving ports converged) to the network device.
  • the sending end discards the detection packets that exceed the capability of the sending port. For example, the sending end may discard the detection packets according to the fact that the bandwidth occupied by the detection packets does not exceed 5% of the total link bandwidth of the sending port. In other words, the network device limits the rate of the detection message during the outbound process of the detection message.
  • the receiving end will bounce (return) all received detection packets to the sending end, that is, the receiving end will send the received detection packets to the sending end.
  • the network device does not limit the rate of the detection message during the return process of the detection message.
  • the sender can determine the authorized bandwidth of the link based on the packet loss rate of the probe message. Among them, the packet loss rate is used to represent the number of packet loss per unit time.
  • the sender sends data.
  • the sender sends data according to the received probe message. Each time a detection message is received, the sender will immediately send a corresponding data message.
  • the sending end sends a detection message first, and through the received detection message, the sending end can obtain a more accurate packet-by-packet sending interval allocated by the network device to each data flow.
  • the active congestion control mechanism requires all intermediate network devices (network nodes) to configure CAR for outbound detection packets. If there are devices in the network that cannot be configured with CAR, and these devices will be congested, the active congestion control mechanism will fail; in addition, the active congestion control mechanism cannot respond to the congestion of intermediate devices without CAR configuration, which may cause delays become larger, or even lose packets.
  • transmission control protocol transmission control protocol
  • TCP transmission control protocol
  • the arrival acknowledgment (acknowledgment, ACK) of the data message is an acknowledgment of the highest sequence number of the received data message, and the server (receiving end) returns to the client (sending end) the next data message expected to be received.
  • Serial number number (number). Assume that the number of data packets sent by the client to the server is zero at the beginning.
  • the server will reply with a confirmation message with a serial number of 670 after receiving it, indicating that the server has received the byte sequence of 669 and before.
  • the client when the client receives the confirmation message, it sends a data packet with a serial number of 670 to the server, and the length is 1460 bytes.
  • the server After receiving it, the server will reply to the client with a A confirmation message with a serial number of 2130 indicates that the server has received the byte sequence of 2129 and before.
  • the client when the client receives the confirmation message, it sends a data packet with a sequence number of 2130 to the server, and the length is 1460 bytes.
  • the server After receiving it, the server will reply to the client with a A confirmation message with a serial number of 3590 indicates that the server has received the byte sequence of 3589 and before. The whole process goes back and forth until TCP disconnects.
  • a separate confirmation message can be sent to each data message during the communication process, or no separate confirmation message can be sent to each data message, that is, multiple data messages can be confirmed at one time.
  • the receiver receives data packets with sequence numbers 201, 301, and 401 in sequence, it only needs to confirm the data packet with sequence number 401, and the confirmation of the data packet with 401 also means All the data packets with the sequence number before 401 have been confirmed to be received, therefore, the utilization rate and transmission efficiency of the network can be improved.
  • FIG. 4 a schematic diagram of another TCP retransmission mechanism is shown. A separate acknowledgment message is sent for each datagram or an acknowledgment message is sent for multiple datagrams.
  • each data packet has a corresponding timer. Once the retransmission timeout (RTO) is exceeded and no ACK is received, the data packet is resent. The data packets that have not received the ACK will be stored in the retransmission buffer, and will be deleted from the buffer after the ACK is received.
  • the recommended minimum value of RTO is 1 second, and the maximum value must be greater than 60 seconds.
  • timeout retransmission mechanism In the timeout retransmission mechanism, if the timeout retransmission is too long, it will have a great impact on the delay of the message, which is not good for delay-sensitive messages.
  • the dual-channel active congestion control mechanism requires all intermediate network devices to configure CAR for outbound detection packets.
  • Currently it is not possible for all devices on the live network to support CAR configuration.
  • network devices that cannot support the active congestion control mechanism in the network may generate congestion, resulting in the failure of the active congestion control mechanism. Since the active congestion control mechanism cannot respond to the congestion of devices without CAR configuration in the middle, the delay increases and even packet loss occurs.
  • the current TCP retransmission technology also has problems such as the effect of congestion control is not obvious enough, and it is not friendly to sparse data and delay-sensitive data.
  • the embodiment of the present application proposes a method for sending data, which can reduce the time delay of data transmission.
  • FIG. 5 is a schematic diagram of packet transmission by a network device configured with CAR.
  • the network device configured with CAR can distinguish two types of packets, detection packets and data packets.
  • detection packets when the bandwidth of the link exceeds 5% of the maximum link bandwidth, the network device Probe packets will be randomly discarded, so that when a probe packet passes through a CAR-configured network device, its occupied bandwidth will not exceed 5% of the maximum link bandwidth; for data packets, the sender sends a The data message can realize that the data message does not occupy the buffer area of the network device, and must be sent directly by the network device.
  • FIG. 5A is a schematic diagram of packet transmission by a network device configured with CAR.
  • a network device without CAR configuration can be called an ordinary network device. As shown in Figure 5A, a network device without CAR configuration will not distinguish between these two types of packets.
  • the incoming packets are stored in the buffer of the network device, which increases the round-trip time of the detection packets, and in severe cases, congestion will occur.
  • this application introduces a mechanism combining active and passive congestion control.
  • the passive congestion control works according to the round-trip time (RTT) of the round-trip detection message, and the active congestion control mechanism is based on the speed limit of the network equipment configured by CAR. packet loss to proceed. Both will estimate a sending rate. At this time, take the smaller sending rate of the two as the actual sending rate of data packets, which can avoid the impact caused by the congestion of common network equipment and adapt to network equipment configured with CAR.
  • RTT round-trip time
  • the embodiment of the present application is applicable to the network equipment between the sending end and the receiving end that is configured with CAR, and also applicable to the network equipment between the sending end and the receiving end that is partially configured with CAR and partially configured without CAR. It is also applicable to network devices between the sending end and the receiving end that are configured without CAR.
  • FIG. 6 is a schematic flowchart of a method for sending data proposed in this application.
  • the sending end is a client, which may be a terminal device;
  • the receiving end is a server, which may be a network device.
  • the sending end may determine a first sending rate based on multiple round-trip times (round-trip time, RTT), where the multiple RTTs include RTTs of multiple first probe packets sent at different sending rates, and the first sending The rate is the sending rate corresponding to the RTT of the multiple RTTs that is smaller than the first preset threshold.
  • RTT round-trip time
  • the sending end may adjust the sending rate of sending the first probe packet according to the change of the RTT.
  • the longer the round-trip time of the first detection message the more serious the congestion in the network equipment used to transmit the first detection message between the sending end and the receiving end is, and the shorter the round-trip time of the first detection message is, it means that the sending end The less congestion there is in the network device used to transmit the first probe message between the end and the receiving end.
  • the first probe message includes sending time information
  • the sending time information is used to indicate the sending time of the first probe message
  • the RTT is determined based on the sending time and receiving time of a first probe message
  • the receiving time is the time when the first feedback message is received
  • the first feedback message is a feedback message corresponding to the first detection message.
  • the first probe message sent by the sender may include time information, and the time information is used to indicate the sending time of the sender to send the first probe message.
  • the first probe message may be sent by the receiver
  • the end sends the first feedback message to the sender.
  • the first feedback message may be the first detection message, or the first feedback message may include information in the first detection message, such as time information of the first detection message, and the first feedback message
  • the text may also include other information sent from the receiving end to the sending end, such as the ACK message in the following optional implementation manners. But the present application is not limited thereto.
  • the sending end can determine the sending time of the first detection message corresponding to the first feedback message according to the time information received in the first feedback message, and then according to the time information received in the first feedback message, When the first feedback message is received, the round-trip time RTT corresponding to the first detection message may be determined.
  • the RTT is the time difference between the time of reception and the time of transmission.
  • the time information in the first detection packet may be called a time stamp.
  • the sending end may also use other methods to determine the RTT of the first detection packet. For example, when the sending end sends the first detection message to the receiving end at the third sending rate, it records the sending time of the first detection message, and the sending end receives the first feedback of the first detection message returned by the receiving end. When sending a message, record the receiving time of the first feedback message, and subtract the recorded sending time of the first detection message from the recorded receiving time of the first feedback message, so as to obtain the sending time using the third sending rate. RTT of the first probe packet. This application does not specifically limit it.
  • the sending end may determine the first sending rate based on the multiple RTTs. For example, the sending end may determine the first sending rate based on the multiple RTTs, using a delay-based congestion control rate adjustment algorithm such as a bottleneck bandwidth and round-trip propagation time (BBR) algorithm.
  • BBR round-trip propagation time
  • the manner in which the sending end determines the first sending rate of probe packets based on the multiple RTTs may be referred to as passive congestion control, but the present application is not limited thereto.
  • the sending end may determine a second sending rate based on multiple packet loss rates, where the multiple packet loss rates include packet loss rates of multiple second probe packets sent at different sending rates, and the second sending rate is The packet loss rate is less than the sending rate corresponding to the packet loss rate of the second preset threshold.
  • the multiple different transmission rates at which the sending end sends the multiple second probe packets may be the same as the multiple different transmission rates at which the first probe packets are sent, and the multiple different transmission rates at which the second probe packets are sent may also be Different from multiple different sending rates for sending the first probe packet, this application does not limit this.
  • the sender can adjust the sending rate of the second probe message according to the packet loss rate of the second probe message.
  • the purpose of the adjustment is to keep the second probe message sent at a lower loss rate. packet rate.
  • the packet loss rate of the second detection message refers to the number of lost packets of the second detection message per unit time.
  • the packet sending rate (that is, the sending rate) of the second detection message sent by the sending end is 400 Mbps
  • the sending end can determine that the packet loss rate of the second detection message is 500 Kbps according to the received second detection message.
  • the sending end can also determine the packet loss rate of the second detection message sent at other sending rates based on this method, so as to obtain the packet loss rate of multiple second detection messages sent at different sending rates, and determine the packet loss rate of the multiple second detection messages sent at different sending rates.
  • the packet loss rate is determined to be less than the second preset threshold in the packet rate, and based on the packet loss rate less than the second preset threshold, it is determined that the sending rate of the second detection message corresponding to the packet loss rate is the second sending rate.
  • step 610 may be performed before step 620, may be performed after step 620, or may be performed at the same time.
  • the sending end sends a third detection message at a third sending rate, where the third detecting message is used to determine a sending interval of a data message, and the third sending rate is the first sending rate and the second sending rate smaller value of .
  • the sending end After the sending end determines the first sending rate based on the passive congestion control mechanism in step 610, and after determining the second sending rate based on the active congestion control mechanism in step 620, the sending end can compare the first sending rate and the second sending rate The smaller value of the first sending rate and the second sending rate is determined as the third sending rate, which is used to send the third probe message.
  • first detection message, the second detection message and the third detection message in this application may be the same detection message or different detection messages, which is not limited in this application .
  • first probe message and the second probe message are used to determine the sending rate of the third probe message
  • the third probe message is used to determine the sending interval of the data message.
  • the receiving end After the receiving end receives the third detection message sent by the sending end, it will return the second feedback message corresponding to the third detection message to the sending end; the sending end receives the returned second feedback message, and immediately sending a data message to be sent to the receiving end, where the second feedback message may be the third detection message itself, or the second feedback message may include information in the third detection message, For example, the time information of the third detection message, and the second feedback message may also include other information sent from the receiving end to the sending end, such as the ACK message in the following optional implementation manners. But the present application is not limited thereto.
  • the returned second feedback message is used to trigger the sending end to send a data message, and each time the sending end receives a second feedback message, it will send a data message to the receiving end.
  • the sending interval of the data message is controlled after the round-trip path is detected by the third detection message.
  • the second feedback message includes an acknowledgment (acknowledge, ACK) message, where the ACK message is used to confirm whether the data message sent before the second feedback message is successfully received.
  • acknowledgment acknowledge, ACK
  • the sending end After receiving the second feedback message, the sending end can determine the successfully received data message.
  • the sending end can quickly determine the data message that has not been successfully received, and can realize the fast retransmission of the data message, no matter whether the data message is sparse or dense , and there is no need to wait for a long timeout retransmission time, which can reduce the transmission delay of data packets.
  • the ACK message includes identification information of the first data packet and/or identification information of the second data packet, where the first data packet is successfully received before the second feedback packet is received The last data packet received, the second data packet is the next data packet to be received.
  • the second data packet may be referred to as a next data packet expected to be received by the receiving end.
  • the identification information of the data packet may be a serial number of the data packet.
  • the sender sends data packets with sequence numbers 101, 102, and 103 to the receiver in sequence. If the receiver receives data packets with sequence numbers 101, 102, and 103, the receiver sends the first
  • the second feedback message may include ACK messages of data messages with sequence numbers 101, 102, and 103. For example, if the sequence number of the data message sent by the sender is incremented, the second feedback message sent by the receiver to the sender may only include the sequence number 103, indicating that the sequence number is 103 and the data before the sequence number is 103 All messages have been received.
  • the sending end sends a third data packet, and if the sending end determines that the first ACK message has not been received within a first RTT after sending the third data packet, the sending end sends the third data packet .
  • the first ACK message is used to confirm that the third data packet has been successfully received, and the first RTT is an RTT corresponding to the third sending rate.
  • the sending end resends the sent data packet.
  • the sender can consider that the data packet with a sequence number of 105 If the sending of the data message fails, the sending end resends the data message with the sequence number 105.
  • the third data packet is a high-priority data packet.
  • data packets can be divided into multiple priorities based on the delay requirements and reliability requirements of the data packets, and the third data packet can be a high-priority data packet with a higher latency requirement.
  • the sending end After sending the third data packet, if the probe packet carrying the first ACK message is not received within a first RTT, the sending end sends the third data packet again.
  • the time delay of the transmission of the third data message can be reduced to meet the time delay requirement of the third data message.
  • the sender After sending a data packet, if the sender does not receive a corresponding ACK message within the preset timeout retransmission time, the sender sends the data packet again.
  • the timeout retransmission time is preset or pre-configured at the sender, and cannot be adjusted based on link transmission conditions. Therefore, the timeout retransmission time is generally set to a generally larger duration.
  • the present application determines the retransmission time based on link transmission conditions, specifically based on the RTT of the detection message, which can reduce the time delay of data message retransmission.
  • the sending end can determine that the expected next data message has been received according to the identification information of the second data message in the ACK message.
  • One data packet is the second data packet.
  • the data sending method provided in the embodiment of the present application may also include the following optional implementation manners.
  • the sending end determines that the second data packet has been sent before the first time interval, and the first time interval is less than or equal to k times the first RTT, where the first RTT corresponds to the third sending rate RTT, 0 ⁇ k ⁇ 1.
  • the sender sends the next data packet to be sent.
  • the sending end can determine that the length of time away from the second data message is the first time interval, and the sending end compares the first time interval with k times the size of the first RTT, if the first time interval is less than or equal to k times If the first RTT is the first RTT, it can be considered that the second data packet is in a normal data transmission process, and the next data packet can be sent.
  • the first RTT is T
  • k can be 0.5
  • the sender can determine that the duration of the second data message sent is T1
  • the sender compares the size of T1 with 0.5T, that is, the sender compares T1 with the third probe
  • the size of the half-transmission time of the message if T1 is less than or equal to 0.5T, it can be considered that the second data message is still being transmitted in the link, not transmitted to the receiving end, and can be transmitted to the receiving end after a period of time, so , the sender can send the next datagram.
  • the sending end determines that the second data packet has been sent before the second time interval, and the second time interval is greater than or equal to k times the first RTT, 0 ⁇ k ⁇ 1, and the sending end sends the second datagram.
  • the sending end can determine that the length of time away from the second data message is the second time interval, and the sending end compares the second time interval with k times the size of the first RTT, if the first time interval is greater than or equal to k times If the first RTT is the first RTT, it can be considered that the second data packet has not been successfully received, and the sender can send the second data packet again. It can realize fast retransmission and reduce the transmission delay of the message.
  • the sending end determines that the second data packet has not been sent, and the sending end sends the second data packet.
  • the sending end determines that the second data packet that the receiving end expects to receive has not been sent, and the sending end sends the second data packet.
  • FIG. 7 is a schematic interactive flowchart of a data sending method according to an embodiment of the present application.
  • the sending end is a client and the receiving end is a server as an example for illustration.
  • the client sends multiple third detection packets at a third sending rate, and sends a data packet with a sequence number of 105;
  • the server receives a third detection message (may be referred to as a third detection message 1) from the client, and returns the second feedback message 1 to the client, where the second feedback message 1 is The feedback message corresponding to the third detection message 1, the returned second feedback message 1 includes the serial number 106 of the data message;
  • a third detection message may be referred to as a third detection message 1
  • the data packet with the sequence number 106 is the next data packet expected to be received by the server.
  • the client receives the second feedback message 1 returned by the server, and according to the serial number of the data message in the second feedback message 1, determines that the next data message that the server expects to receive is the serial number 106 data packets;
  • the client can determine whether to send the data packet with the sequence number 106. If the client determines that the data packet with the sequence number 106 has not been sent, the client sends the data packet with the sequence number 106. 740.
  • the server receives another third detection message (may be referred to as a third detection message 2) sent by the client, and returns a second feedback message corresponding to the third detection message 2 to the client. Text 2, the second feedback message 2 includes the serial number 106 of the message;
  • the sequence number of the next data packet that the server expects to receive is still 106.
  • the client receives the second feedback message 2, and according to the sequence number of the data message in the second feedback message 2, determines that the next data message that the server expects to receive is a data message with a sequence number of 106 arts;
  • the client can determine whether to send the data packet with the sequence number 106.
  • the client determines that the data packet with the sequence number 106 has been sent before time interval A.
  • the client sends the next data packet to be sent;
  • the client sends the data packet with the sequence number 106 again.
  • the sending end determines the corresponding first sending rate of the first detection message with a smaller round-trip time according to the round-trip time of the first detection message. The less the congestion of the file on the transmission link, the smaller the transmission delay.
  • the sending end also determines the second sending rate corresponding to the smaller packet loss rate according to the packet loss rate of the second detection message, the smaller the packet loss rate, the less the second detection message is congested on the transmission link, The transmission delay will also be smaller.
  • the sending end can take the minimum value of the first sending rate and the second sending rate as the third sending rate for sending the third probe message used to determine the sending interval of the data message, which can effectively reduce the congestion on the transmission link, reduce Latency of data transmission.
  • each network element may include a hardware structure and/or a software module, and implement the above functions in the form of a hardware structure, a software module, or a hardware structure plus a software module. Whether one of the above-mentioned functions is implemented in the form of hardware structure, software module, or hardware structure plus software module depends on the specific application and design constraints of the technical solution.
  • Fig. 8 is a schematic block diagram of a communication device provided by an embodiment of the present application.
  • the communication device 800 may include a processing unit 810 and a transceiver unit 820 .
  • the communication device 800 may correspond to the sending end in the above method embodiments, or a chip configured (or used) in the sending end, or other devices, modules, circuits or units capable of implementing the method of the sending end.
  • the communication device 800 may correspond to the sending end in the method 600 according to the embodiment of the present application, and the communication device 800 may include a unit for performing the method performed by the sending end in the methods in FIG. 6 and FIG. 7 .
  • each unit in the communication device 800 and the above-mentioned other operations and/or functions are for realizing the corresponding flow of the method in FIG. 6 and FIG. 7 respectively.
  • the transceiver unit 820 in the communication device 800 may be an input/output interface or circuit of the chip, and the processing in the communication device 800 Unit 810 may be a processor in a chip.
  • the transceiver unit 820 in the communication device 800 can be realized through a communication interface (such as a transceiver or an input/output interface), for example, it can correspond to the transceiver 910 in the communication device 800 shown in FIG. 9 .
  • the processing unit 810 in the communication apparatus 800 may be implemented by at least one processor, for example, may correspond to the processor 920 in the communication device 900 shown in FIG. 9 .
  • the processing unit 810 in the communication device 800 may also be implemented by at least one logic circuit.
  • FIG. 9 is a schematic structural diagram of a communication device 900 provided by an embodiment of the present application.
  • the communication device 900 may be applied to the system shown in FIG. 1 to perform the function of the sending end in the above method embodiments.
  • the communication device 900 includes a processor 920 and a transceiver 910 .
  • the communications device 900 further includes a memory.
  • the processor 920, the transceiver 910, and the memory may communicate with each other through an internal connection path, and transmit control and/or data signals.
  • the memory is used to store computer programs, and the processor 920 is used to execute the computer programs in the memory to control the transceiver 910 to send and receive signals.
  • the processor 920 and the memory may be combined into a processing device, and the processor 920 is configured to execute the program codes stored in the memory to realize the above functions.
  • the memory may also be integrated in the processor 920, or be independent of the processor 920.
  • the processor 920 may correspond to the processing unit in FIG. 8 .
  • the above-mentioned transceiver 910 may correspond to the transceiver unit in FIG. 8 .
  • the transceiver 910 may include a receiver (or receiver, receiving circuit) and a transmitter (or transmitter, transmitting circuit). Among them, the receiver is used to receive signals, and the transmitter is used to transmit signals.
  • the communication device 900 shown in FIG. 9 can implement the process involving the sending end in the method embodiments shown in FIG. 6 and FIG. 7 .
  • the operations and/or functions of the various modules in the communication device 900 are respectively for implementing the corresponding processes in the foregoing method embodiments.
  • the above-mentioned processor 920 can be used to execute the actions described in the previous method embodiments implemented by the sending end, and the transceiver 910 can be used to execute the actions described in the previous method embodiments that the sending end sends to the receiving end or receives from the receiving end. action.
  • the transceiver 910 can be used to execute the actions described in the previous method embodiments that the sending end sends to the receiving end or receives from the receiving end. action.
  • the communication device 900 may further include a power supply, configured to provide power to various devices or circuits in the sending end.
  • the communication device 900 may also include input and output devices, such as including one or more of an input unit, a display unit, an audio circuit, a camera, and a sensor, etc., the audio circuit Speakers, microphones, etc. may also be included.
  • the embodiment of the present application also provides a processing device, including a processor and a (communication) interface; the processor is configured to execute the method in any one of the above method embodiments.
  • the above processing device may be one or more chips.
  • the processing device may be a field programmable gate array (field programmable gate array, FPGA), an application specific integrated circuit (ASIC), or a system chip (system on chip, SoC). It can be a central processor unit (CPU), a network processor (network processor, NP), a digital signal processing circuit (digital signal processor, DSP), or a microcontroller (micro controller unit) , MCU), can also be a programmable controller (programmable logic device, PLD) or other integrated chips.
  • CPU central processor unit
  • NP network processor
  • DSP digital signal processor
  • microcontroller micro controller unit
  • PLD programmable logic device
  • the present application also provides a computer program product, the computer program product comprising: computer program code, when the computer program code is executed by one or more processors, the The device executes the methods in the embodiments shown in FIG. 6 and FIG. 7 .
  • the technical solutions provided by the embodiments of the present application may be fully or partially implemented by software, hardware, firmware or any combination thereof.
  • software When implemented using software, it may be implemented in whole or in part in the form of a computer program product.
  • the computer program product includes one or more computer instructions.
  • the computer program instructions When the computer program instructions are loaded and executed on the computer, the processes or functions according to the embodiments of the present invention will be generated in whole or in part.
  • the computer may be a general computer, a dedicated computer, a computer network, a network device, a terminal device, a core network device, a machine learning device or other programmable devices.
  • the computer instructions may be stored in or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be transmitted from a website, computer, server or data center Transmission to another website site, computer, server or data center by wired (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (such as infrared, wireless, microwave, etc.).
  • the computer-readable storage medium may be any available medium that can be accessed by a computer, or a data storage device such as a server or a data center integrated with one or more available media.
  • the available medium may be a magnetic medium (for example, a floppy disk, a hard disk, or a magnetic tape), an optical medium (for example, a digital video disc (digital video disc, DVD)), or a semiconductor medium.
  • the present application also provides a computer-readable storage medium, the computer-readable storage medium stores program code, and when the program code is run by one or more processors, the processing includes the The device of the device executes the method in the embodiment shown in FIG. 6 and FIG. 7 .
  • the present application further provides a system, which includes the aforementioned one or more sending ends.
  • the system may further include the aforementioned one or more receiving ends.
  • the disclosed systems, devices and methods may be implemented in other ways.
  • the device embodiments described above are only illustrative.
  • the division of the units is only a logical function division. In actual implementation, there may be other division methods.
  • multiple units or components can be combined or May be integrated into another system, or some features may be ignored, or not implemented.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces, and the indirect coupling or communication connection of devices or units may be in electrical, mechanical or other forms.
  • the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or may be distributed to multiple network units. Part or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.

Abstract

本申请提供了一种数据发送的方法和通信装置,能够降低数据传输的时延。该方法包括:基于多个往返时间RTT,确定第一发送速率,该多个RTT包括采用不同发送速率发送的多个第一探测报文的RTT,该第一发送速率为该多个RTT中小于第一预设阈值的RTT对应的发送速率;基于多个丢包速率,确定第二发送速率,该多个丢包速率包括采用不同发送速率发送的多个第二探测报文的丢包速率,该第二发送速率为该丢包速率小于第二预设阈值的丢包速率对应的发送速率;采用第三发送速率发送第三探测报文,该第三探测报文用于确定数据报文的发送间隔,该第三发送速率为该第一发送速率和该第二发送速率中的较小值。

Description

数据发送的方法和通信装置 技术领域
本申请涉及通信领域,并且更具体地,涉及一种数据发送的方法和通信装置。
背景技术
终端极速网络定位可以提供极速的互联体验,是未来终端的底层基础性连接技术。终端极速网络基于移动终端、服务器的主动网络技术的组合技术创新来实现无丢包、超低时延的极致网络体验;未来终端的核心指标之一就是对网络时延的要求极高,低时延成为网络型交互业务的关键点。
目前,利用主动拥塞控制机制,能够保证逐包进行数据发送的调整,保证链路带宽占用上的公平性,不会产生丢包、保证低时延。但是,主动拥塞控制机制需要链路上的设备都支持承诺访问速率(committed access rate,CAR)机制,这在现网条件下难以满足,链路上的部分设备可能不支持CAR机制。网络中如果有无法进行CAR配置的设备,这些设备会出现拥塞,主动拥塞控制机制将失效;除此之外,主动拥塞控制机制无法对中间无CAR配置设备的拥塞产生响应,可能导致时延变大、甚至丢包。
发明内容
本申请实施例提供一种数据发送的方法和通信装置,能够降低数据传输的时延。
第一方面,提供了一种数据发送的方法和通信装置,该方法包括:基于多个往返时间(round-trip time,RTT),确定第一发送速率,该多个RTT包括采用不同发送速率发送的多个第一探测报文的RTT,该第一发送速率为该多个RTT中小于第一预设阈值的RTT对应的发送速率;基于多个丢包速率,确定第二发送速率,该多个丢包速率包括采用不同发送速率发送的多个第二探测报文的丢包速率,该第二发送速率为该丢包速率小于第二预设阈值的丢包速率对应的发送速率;采用第三发送速率发送第三探测报文,该第三探测报文用于确定数据报文的发送间隔,该第三发送速率为该第一发送速率和该第二发送速率中的较小值。
基于上述技术方案,根据多个第一探测报文的往返时间确定其中较小的往返时间对应的第一发送速率,往返时间越小,第一探测报文在传输链路上拥塞的情况就越少,使得传输时延越小;根据第二探测报文的丢包速率确定该第二探测报文的丢包速率较小时对应的第二发送速率,丢包率越小,第一探测报文在传输链路上拥塞的情况就越少,传输时延也会越小;取第一发送速率和第二发送速率的较小值作为发送用于确定数据报文的发送间隔的第三探测报文的发送速率。通过该方法确定探测报文的发送速率,以控制数据报文的发送间隔,能够有效减少传输链路上的拥塞,降低数据传输的时延。
结合第一方面,在第一方面的某些实现方式中,该第一探测报文中包括发送时间信息,该发送时间信息用于指示该第一探测报文的发送时刻;
该RTT是基于一个第一探测报文的该发送时刻和接收时刻确定的,该接收时刻为接 收到第一反馈报文的时刻,该第一反馈报文为该一个第一探测报文对应的反馈报文。
结合第一方面,在第一方面的某些实现方式中,发送该多个第一探测报文中的一个第一探测报文,该一个第一探测报文中包括时间信息,该时间信息用于指示该一个第一探测报文的发送时刻;接收第一反馈报文,该第一反馈报文为该一个第一探测报文的反馈报文,该反馈报文包括该时间信息;基于该发送时刻和该反馈报文的接收时刻,确定该RTT。
基于上述方案,采用第一探测报文可以携带指示其发送时刻的时间信息的方式,接收端接收到第一探测报文后,将发送第一反馈报文,该第一反馈报文中该时间信息,使得发送端接收到由接收端反馈第一反馈报文后,可以确定基于时间信息确定该第一探测报文的发送时刻,从而基于该发送时刻和该第一反馈报文的接收时刻,能够得到RTT。
结合第一方面,在第一方面的某些实现方式中,该方法还包括:接收第二反馈报文,该第二反馈报文为该第三探测报文对应的反馈报文;
其中,该第二反馈报文中包括到达确认(acknowledge,ACK)消息,该ACK消息用于确认在发送该第三探测报文前发送的数据报文是否被成功接收。
基于上述方案,在探测报文中携带数据报文的ACK消息,使得探测报文既可以具有探测路径、确定数据报文的发送间隔的功能又能够携带数据报文的ACK,能够避免接收端返回探测报文以外还需要发送反馈消息,减小了信令开销,提高了资源利用率。还可以实现快速重传,使得无论数据报文是稀疏的还是密集的,且无需等待较长的超时重传时间。
结合第一方面,在第一方面的某些实现方式中,该ACK消息中包括第一数据报文的标识信息和/或第二数据报文的标识信息,其中,该第一数据报文为该第二反馈报文被接收前成功被接收到的最后一个数据报文,该第二数据报文为下一个待被接收的数据报文。
结合第一方面,在第一方面的某些实现方式中,该ACK消息中包括该第二数据报文的标识信息,该方法还包括:
在第一时间间隔前已发送该第二数据报文,且该第一时间间隔小于k倍的第一RTT的情况下,发送下一个待发送的数据报文,其中,该第一RTT为该第三发送速率对应的RTT,0<k≤1;
或者,
在第二时间间隔前已发送该第二数据报文,且该第二时间间隔大于或等于k倍的该第一RTT的情况下,发送该第二数据报文;
或者,
在该第二数据报文未被发送的情况下,发送该第二数据报文。
基于上述方案,第二数据报文可以认为是接收端期待接收到的下一个数据报文,若接收端期望发送端发送的数据报文是已发的数据报文,且发送时间超过一定时间,发送端将再次发送该第二数据报文,可以实现快速重传。若第二数据报文的发送时间未超过一定时间,可以认为第二数据报文还在传输途中未发送至接收端,发送端可以发送下一个待发送的数据报文。若第二数据报文还未被发送,则发送端可以发送接收端期待接收到的该第二数据报文。能够实现快速重传,减小数据传输时延。
结合第一方面,在第一方面的某些实现方式中,该方法还包括:在发送第三数据报文后的一个第一RTT内未接收到第一ACK消息的条件下,发送该第三数据报文,该第一RTT为该第三发送速率对应的RTT,该第一ACK消息用于确认该第三数据报文已被成功 接收。
基于上述方案,若发送端在发送第三数据报文后的一个第三发送速率对应的RTT内未接收到该第三数据报文对应的ACK消息,则发送端再次发送该第三数据报文。能够实现快速重传,减小数据报文的传输时延。
第二方面,提供了一种通信装置,一种设计中,该装置可以包括执行第一方面中所描述的方法/操作/步骤/动作所对应的模块,该模块可以是硬件电路,也可是软件,也可以是硬件电路结合软件实现。一种设计中,该装置包括:处理单元,用于基于多个往返时间RTT,确定第一发送速率,该多个RTT包括采用不同发送速率发送的多个第一探测报文的RTT,该第一发送速率为该多个RTT中小于第一预设阈值的RTT对应的发送速率;
该处理单元还用于基于多个丢包速率,确定第二发送速率,该多个丢包速率包括采用不同发送速率发送的多个第二探测报文的丢包速率,该第二发送速率为该多个丢包速率中小于第二预设阈值的丢包速率对应的发送速率;
收发单元,用于采用第三发送速率发送第三探测报文,该第三探测报文用于确定数据报文的发送间隔,该第三发送速率为该第一发送速率和该第二发送速率中的较小值。
结合第二方面,在第二方面的某些实现方式中,该第一探测报文中包括发送时间信息,该发送时间信息用于指示该第一探测报文的发送时刻;该RTT是基于一个第一探测报文的该发送时刻和接收时刻确定的,该接收时刻为接收到第一反馈报文的时刻,该第一反馈报文为该一个第一探测报文对应的反馈报文。
结合第二方面,在第二方面的某些实现方式中,该收发单元还用于接收第二反馈报文,该第二反馈报文为该第三探测报文对应的反馈报文;其中,该第二反馈报文中包括到达确认ACK消息,该ACK消息用于确认在发送该第三探测报文前发送的数据报文是否被成功接收。
结合第二方面,在第二方面的某些实现方式中,该ACK消息中包括第一数据报文的标识信息和/或第二数据报文的标识信息,其中,该第一数据报文为该第二反馈报文被接收前成功被接收到的最后一个数据报文,该第二数据报文为下一个待被接收的数据报文。
结合第二方面,在第二方面的某些实现方式中,该ACK消息中包括该第二数据报文的标识信息,
该处理单元还用于在第一时间间隔前已发送该第二数据报文,且该第一时间间隔小于k倍的第一RTT的情况下,发送下一个待发送的数据报文,其中,该第一RTT为该第三发送速率对应的RTT,0<k≤1;或者,
该处理单元还用于在第二时间间隔前已发送该第二数据报文,且该第二时间间隔大于或等于k倍的该第一RTT的情况下,发送该第二数据报文;或者,
该处理单元还用于在该第二数据报文未被发送的情况下,发送该第二数据报文。
结合第二方面,在第二方面的某些实现方式中,该处理单元还用于确定在发送第三数据报文后的一个第一RTT内未接收到第一ACK消息,该第一ACK消息用于确认该第三数据报文已被成功接收,其中,该第一RTT为该第三发送速率对应的RTT;该收发单元还用于发送该第三数据报文。
第三方面,提供了一种通信装置,包括处理器。该处理器可以实现上述第一方面以及第一方面中任一种可能实现方式中的方法。可选地,该通信装置还包括存储器,该处理器 与该存储器耦合,可用于执行存储器中的指令,以实现上述第一方面以及第一方面中任一种可能实现方式中的方法。可选地,该通信装置还包括通信接口,处理器与通信接口耦合。本申请实施例中,通信接口可以是收发器、管脚、电路、总线、模块或其它类型的通信接口,不予限制。
在一种实现方式中,该通信装置为终端设备。当该通信装置为终端设备时,该通信接口可以是收发器,或,输入/输出接口。
在另一种实现方式中,该通信装置为配置于终端设备中的芯片。当该通信装置为配置于终端设备中的芯片时,该通信接口可以是输入/输出接口。
可选地,该收发器可以为收发电路。可选地,该输入/输出接口可以为输入/输出电路。
第四方面,提供了一种处理器,包括:输入电路、输出电路和处理电路。该处理电路用于通过该输入电路接收信号,并通过该输出电路发射信号,使得该处理器执行第一方面以及第一方面中任一种可能实现方式中的方法。
在具体实现过程中,上述处理器可以为一个或多个芯片,输入电路可以为输入管脚,输出电路可以为输出管脚,处理电路可以为晶体管、门电路、触发器和各种逻辑电路等。输入电路所接收的输入的信号可以是由例如但不限于接收器接收并输入的,输出电路所输出的信号可以是例如但不限于输出给发射器并由发射器发射的,且输入电路和输出电路可以是同一电路,该电路在不同的时刻分别用作输入电路和输出电路。本申请实施例对处理器及各种电路的具体实现方式不做限定。
第五方面,提供了一种计算机程序产品,该计算机程序产品包括:计算机程序(也可以称为代码,或指令),当该计算机程序被运行时,使得计算机执行上述第一方面以及第一方面中任一种可能实现方式中的方法。
第六方面,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序(也可以称为代码,或指令)当其在计算机上运行时,使得计算机执行上述第一方面以及第一方面中任一种可能实现方式中的方法。
附图说明
图1是适用于本申请实施例的无线通信系统的传输架构示意图;
图2是双通道主动拥塞控制过程的示意图;
图3是一种TCP重传机制的示意图;
图4是另一种TCP重传机制的示意图;
图5是CAR配置的网络设备传输报文的示意图;
图5A是无CAR配置的网络设备传输报文的示意图;
图6是本申请提出的数据发送的方法的示意性流程图;
图7是本申请实施例提供的数据发送的方法的示意性交互流程图;
图8是本申请实施例提供的通信装置的示意性框图;
图9是本申请实施例提供的通信设备的结构示意图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
本申请实施例的技术方案可以应用于各种通信系统,例如:长期演进(long term evolution,LTE)系统、LTE频分双工(frequency division duplex,FDD)系统、LTE时分双工(time division duplex,TDD)、第五代(5th generation,5G)通信系统、未来的通信系统(如第六代(6th generation,6G)通信系统)、或者多种通信系统融合的系统等,本申请实施例不做限定。其中,5G还可以称为新无线(new radio,NR)。
图1是适用于本申请实施例的无线通信系统100的传输架构示意图。
如图1所示,该无线通信系统100可以包括服务器(server)端110、客户端(client)120以及路由器130。
其中,server端为服务器;client端为移动设备端,可以为终端设备,也可以是个人计算机(personal computer,PC)端。client和server之间的链路通过广域网,中间的路由器为网络设备,网络设备可以是支持承诺访问速率(committed access rate,CAR)机制的设备,也可以是不支持CAR机制的普通设备。只需发送端和接收端的应用层能够按照本申请提出的数据发送的方法进行工作即可,不受网络规模的限制。
本申请实施例提供的技术方案可以应用于各种通信场景,例如可以应用于以下通信场景中的一种或多种:eMBB通信、URLLC、机器类型通信(machine type communication,MTC)、mMTC、设备到设备(device-to-device,D2D)通信、车辆外联(vehicle to everything,V2X)通信、车辆到车辆(vehicle to vehicle,V2V)通信、车到互联网(vehicle to network,V2N)、车到基础设施(vehicle to infrastructure,V2I)、车到行人(vehicle to pedestrian,V2P)、和物联网(internet of things,IoT)等。可选地,mMTC可以包括以下通信中的一种或多种:工业无线传感器网络(industrial wireless sens or network,IWSN)的通信、视频监控(video surveillance)场景中的通信、和可穿戴设备的通信等。
本申请实施例涉及到的终端设备还可以称为终端、UE。终端可以是一种具有无线收发功能的设备。终端可以被部署在陆地上,包括室内、室外、手持、和/或车载;也可以被部署在水面上(如轮船等);还可以被部署在空中(例如飞机、气球和卫星上等)。终端设备可以是用户设备(user equipment,UE)。UE包括具有无线通信功能的手持式设备、车载设备、可穿戴设备或计算设备。示例性地,UE可以是手机(mobile phone)、平板电脑或带无线收发功能的电脑。终端设备还可以是虚拟现实(virtual reality,VR)终端设备、增强现实(augmented reality,AR)终端设备、工业控制中的无线终端、无人驾驶中的无线终端、远程医疗中的无线终端、智能电网中的无线终端、智慧城市(smart city)中的无线终端、和/或智慧家庭(smart home)中的无线终端等等。
本申请实施例涉及到的网络设备包括路由器或基站,可以是一种部署在无线接入网中能够和终端设备进行无线通信的设备。基站可能有多种形式,比如宏基站、微基站、中继站或接入点等。本申请实施例涉及到的基站可以是5G系统中的基站、LTE系统中的基站或其它系统中的基站,不做限制。其中,5G系统中的基站还可以称为发送接收点(transmission reception point,TRP)或下一代节点B(generation Node B,gNB或gNodeB)。其中,基站可以是一体化的基站,也可以是分离成多个网元的基站,不予限制。例如,基站是集中式单元(centralized unit,CU)和分布式单元(distributed unit,DU)分离的基站,即基站包括CU和DU。
在本申请实施例中,“/”可以表示前后关联的对象是一种“或”的关系,例如,A/B 可以表示A或B;“和/或”可以用于描述关联对象存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,其中A,B可以是单数或者复数。为了便于描述本申请实施例的技术方案,在本申请实施例中,可以采用“第一”、“第二”等字样对功能相同或相似的技术特征进行区分。该“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。在本申请实施例中,“示例性的”或者“例如”等词用于表示例子、例证或说明,被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念,便于理解。
在本申请实施例中,至少一个(种)还可以描述为一个(种)或多个(种),多个(种)可以是两个(种)、三个(种)、四个(种)或者更多个(种),本申请不做限制。
终端极速网络定位可以提供极速的互联体验,是未来终端的底层基础性连接技术。终端极速网络基于移动终端、服务器的主动网络技术的组合技术创新来实现无丢包、超低时延的极致网络体验;未来终端的核心指标之一就是对网络时延的要求极高,低时延成为网络型交互业务的关键点,终端极速网络正是瞄定了这些有极低时延要求的应用场景,提供了一种可能的技术创新方案。
目前,利用主动拥塞控制机制,能够保证逐包进行数据发送的调整,保证链路带宽占用上的公平性,不会产生丢包、保证低时延。但是,主动拥塞控制机制需要链路上的设备都支持承诺访问速率(committed access rate,CAR)机制,这在现网条件下难以满足,链路上的部分设备可能不支持CAR机制。因此,需要一种新的技术方案,来解决现网条件下的双通道传输方式存在的弊端。
为了便于对本申请实施例的理解,对双通道主动拥塞控制机制进行简单介绍。
在双通道主动拥塞控制机制中,报文类型分为探测报文和数据报文两大类。在逻辑上,这两类报文分别占据控制通道和数据通道,用于做拥塞控制和数据发送,此为双通道的含义。物理上,两类报文传输时经过的路径一致。
对于探测报文,大小设置为64字节,数据报文大小假设为1518字节,则探测报文占探测报文和数据报文加总的比例大约为4%。为了简化起见,粗略按照5%的带宽来跑探测报文,95%的带宽来跑数据报文(此处占比为单向的带宽占比)。
如图2所示,出示了双通道主动拥塞控制过程的示意图。整个双通道主动拥塞机制的过程可以概括为逐包的探测及响应数据发送过程,具体步骤包括:
1、发送端探测。
发送端采用期望的目标发送速率发送探测报文,以请求带宽授权。探测报文逐跳经过链路中的网络设备,每个网络设备可以对所有流汇聚(或者称为所有接收端口汇聚)到该网络设备的探测报文进行CAR限速。具体地,发送端对于超出发送端口能力的探测报文进行丢弃,例如,发送端可以按照探测报文占用的带宽不超过发送端口链路总带宽的5%,对探测报文进行丢弃。换言之,探测报文的去程过程中网络设备会对探测报文进行限速。
2、接收端反弹探测。接收端会把收到的所有探测报文反弹(返回)给发送端,即接收端会向发送端发送接收到的探测报文。其中,探测报文的回程过程中网络设备不会对探测报文进行限速。发送端接收到返回的探测报文后,可以基于探测报文的丢包速率,确定 链路授权的带宽。其中,丢包速率用于表征单位时间内丢包的个数。
3、发送端发送数据。发送端根据收到的探测报文进行数据发送。每收到一个探测报文,发送端将立刻发出一个对应的数据报文。
通过上述双通道主动拥塞控制,发送端先发送一次探测报文,通过接收到的该探测报文,使得发送端可以得到较精确的网络设备分配给每个数据流的逐包发送间隔。
主动拥塞控制机制需要中间所有网络设备(网络节点)对去程探测报文做CAR的配置。网络中如果有无法进行CAR配置的设备,并且这些设备会出现拥塞,主动拥塞控制机制将失效;除此之外,主动拥塞控制机制无法对中间无CAR配置设备的拥塞产生响应,可能导致时延变大、甚至丢包。
在现有技术中,采用传输控制协议(transmission control protocol,TCP)重传技术进行数据报文的重传,为了便于对本申请实施例的理解,对该技术进行简单介绍。
如图3所示,出示了一种TCP重传机制的示意图。数据报文的到达确认(acknowledgement,ACK)是对收到的数据报文的最高序列号的确认,并且服务器端(接收端)向客户端(发送端)返回下一次期望接收的数据报文的序列号(number)。假设起始时刻客户端向服务器端发送数据报文的数量为零。当客户端向服务器端发送了长度为669字节的报文,服务器端收到后,会回复一个携带序列号为670的确认消息,表示服务器端已收到669及之前的字节序列。之后,当客户端收到该确认消息后,向服务器端发送序列号为670的数据报文,长度为1460字节,服务器端收到后会根据接收到的数据报文,向客户端回复一个携带序列号为2130的确认消息,表示服务器端已收到2129及之前的字节序列。之后,当客户端收到该确认消息后,向服务器端发送序列号为2130的数据报文,长度为1460字节,服务器端收到后会根据接收到的数据报文,向客户端回复一个携带序列号为3590的确认消息,表示服务器端已收到3589及之前的字节序列。整个过程以此往复,直到TCP断开连接。
应理解,在TCP提供的确认机制中,在通信过程中可以对每一个数据报文发送单独的确认消息,也可以不对每一个数据报文发送单独的确认消息,即可以一次确认多个数据报文。例如,若接收端依次收到了序列号分别为201、301和401的数据报文,则可以只需对序列号为401的数据报文进行确认即可,对401的数据报文的确认也意味着序列号为401之前的数据报文都已经确认收到,因此,可以提高网络的利用率和传输效率。
如图4所示,出示了另一种TCP重传机制的示意图。针对每一个数据报文发送单独的确认消息或针对多个数据报文发送确认消息。
在快速重传机制中,服务器端如果收到序列号乱序的数据报文,也给客户端回复ACK,只不过是重复的ACK。例如,当服务器端收到乱序的数据报文的序列号分别为4、6、7、8、9时,服务器端重复发送ACK=5。使得客户端能够基于ACK=5,确定序列号为5的数据报文发生了空缺,换言之,服务器端没有收到序列号为5的数据报文。一般来说,如果客户端连续三次收到重复的ACK,就会重传对应数据报文。
在TCP的快速重传机制中,客户端需要连续三次收到重复的ACK才会触发超时重传机制。而每一次的重复ACK触发都需要收到后续数据报文。这种情况下,当发送的是稀疏报文时,快速重传机制会失效。例如,客户端依次发送序列号为5和6的数据报文,序列号为5的数据报文发送后,可能隔很久才会发送序列号为6的数据报文,只有在服务器 端收到序列号为6的数据报文且没有收到序列号为5的数据报文时,服务器端才会重复发送ACK=5,导致客户端重传序列号为5的数据报文的时延太大。
在超时重传机制则中,每个数据包都有相应的计时器,一旦超过超时重传机制(retransmission timeout,RTO)而没有收到ACK,就重发该数据报文。没收到ACK的数据报文都会存在重传缓冲区里,等到收到ACK后,就从缓冲区里删除。RTO的最小值建议是1秒,最大值必须大于60秒。
在超时重传机制中,超时重传的时间太长,会对报文的时延产生非常大的影响,对于时延敏感型报文不利。
双通道主动拥塞控制机制需要中间所有网络设备对去程探测报文做CAR的配置。现网中目前无法做到所有的设备都支持CAR配置。在这种限制下,网络中无法支持主动拥塞控制机制的网络设备可能会产生拥塞,导致主动拥塞机制的失效。由于主动拥塞控制机制无法对中间无CAR配置的设备的拥塞产生响应,导致时延变大、甚至丢包。而当前的TCP重传技术也存在着拥塞控制的效果不够明显,对稀疏数据和时延敏感型数据不友好等问题。
为此,本申请实施例提出了一种数据发送的方法,能够降低数据传输的时延。
为了便于理解,对CAR配置的网络设备和无CAR配置的网络设备进行简单介绍。
图5为CAR配置的网络设备传输报文的示意图。如图5所示,CAR配置的网络设备可以区分探测报文和数据报文两种报文类型,对于探测报文,当其占链路的带宽超过链路最大带宽的5%时,网络设备会随机丢弃探测报文,使得探测报文经过CAR配置的网络设备时,其占用带宽不会超过链路最大带宽的5%;对于数据报文,发送端在接收到一个探测报文后发送一个数据报文,能够实现数据报文不占用网络设备的缓存区,一定可以直接被网络设备发送。图5A为CAR配置的网络设备传输报文的示意图。无CAR配置的网络设备可以称为普通网络设备,如图5A所示,无CAR配置的网络设备不会区分这两种报文,当普通设备接收报文的速率大于发送速率时,会将接收到的报文存储至该网络设备的缓冲区,导致探测报文的往返时间增大,严重时会产生拥塞。
当传输的链路上同时存在CAR配置的网络设备和无CAR配置的网络设备时,发送端仅根据基于CAR的主动拥塞控制机制,无法判断因无CAR配置的网络设备拥塞导致的报文丢包,不能对其做出响应,将会造成大量的丢包,使得数据传输时延增大。
因此,本申请引入主动与被动拥塞控制结合的机制,被动拥塞控制根据来回的探测报文的往返时间(round-trip time,RTT)进行作用,主动的拥塞控制机制根据CAR配置的网络设备限速丢包来进行。两者都会估算出一个发送速率,这时候,取两者中较小的发送速率作为实际的数据报文的发送速率,即可避免普通网络设备拥塞造成的影响,同时适应CAR配置的网络设备。
本申请实施例适用于发送端和接收端之间的网络设备都为CAR配置的网络设备,也适用于发送端和接收端之间的网络设备部分为CAR配置的网络设备、部分为无CAR配置的网络设备,还适用于发送端和接收端之间的网络设备都为无CAR配置的网络设备。
图6为本申请提出的数据发送的方法的示意性流程图。本申请实施例中的发送端为客户端,可以为终端设备;接收端为服务器端,可以为网络设备。
610,发送端可以基于多个往返时间(round-trip time,RTT),确定第一发送速率, 该多个RTT包括采用不同发送速率发送的多个第一探测报文的RTT,该第一发送速率为该多个RTT中小于第一预设阈值的RTT对应的发送速率。
具体而言,发送端可以根据RTT的变化,调整发送第一探测报文的发送速率。第一探测报文的往返时间越长,说明发送端和接收端之间用于传输第一探测报文的网络设备中的拥堵情况越严重,第一探测报文的往返时间越短,说明发送端和接收端之间用于传输第一探测报文的网络设备中的拥堵情况越少。
可选的,该第一探测报文中包括发送时间信息,该发送时间信息用于指示该第一探测报文的发送时刻,RTT是基于一个第一探测报文的发送时刻和接收时刻确定的,该接收时刻为接收到第一反馈报文的时刻,该第一反馈报文为该一个第一探测报文对应的反馈报文。
发送端发送的第一探测报文可以包括时间信息,该时间信息用于指示发送端发送该第一探测报文的发送时刻,第一探测报文经过链路传输被接收到后,可以由接收端向发送端发送第一反馈报文。该第一反馈报文可以是该第一探测报文,或者该第一反馈报文可以包括该第一探测报文中的信息,如第一探测报文的时间信息,以及该第一反馈报文还可以包括其他由接收端向发送端发送的信息,如下文中可选实施方式中的ACK消息。但本申请不限于此。
发送端接收到该第一反馈报文后,发送端可以根据接收到该第一反馈报文中的时间信息,确定该第一反馈报文对应的第一探测报文的发送时刻,再根据接收到第一反馈报文的接收时刻,可以确定该第一探测报文对应的往返时间RTT。该RTT为接收时刻与发送时刻之间的时间差。
其中,第一探测报文中的时间信息可以称为时间戳。
发送端也可以采用其他方式确定第一探测报文的RTT。例如,发送端在利用第三发送速率向接收端发送第一探测报文时,记录该第一探测报文的发送时间,发送端接收到接收端返回的该第一探测报文的第一反馈报文时,记录该第一反馈报文的接收时间,利用记录的该第一反馈报文的接收时间减去记录的该第一探测报文的发送时间,便可得到利用第三发送速率发送第一探测报文的RTT。本申请对此不做具体限定。
发送端可以基于该多个RTT,确定第一发送速率。例如,发送端可以基于该多个RTT,采用瓶颈带宽和往返传播时间(bottleneck bandwidth and round-trip propagation time,BBR)算法等基于时延的拥塞控制速率调整算法,确定第一发送速率。发送端基于该多个RTT确定探测报文的第一发送速率的方式可以称为被动拥塞控制,但本申请不限于此。
620,该发送端可以基于多个丢包速率,确定第二发送速率,该多个丢包速率包括采用不同发送速率发送的多个第二探测报文的丢包速率,该第二发送速率为该丢包速率小于第二预设阈值的丢包速率对应的发送速率。
应理解,发送端发送该多个第二探测报文的多个不同发送速率可以与发送第一探测报文的多个不同发送速率相同,发送第二探测报文的多个不同发送速率也可以与发送第一探测报文的多个不同发送速率不同,本申请对此不做限定。
具体而言,发送端可以根据第二探测报文的丢包速率对发送第二探测报文的发送速率进行调整,调整的目的是发送端使发送的第二探测报文维持一个较低的丢包速率。
其中,第二探测报文的丢包速率是指第二探测报文在单位时间内的丢包的个数。
例如,该发送端发送第二探测报文的发包速率(即发送速率)为400Mbps,该发送端 根据接收到的第二探测报文,可以确定第二探测报文的丢包速率为500Kbps。发送端还可以基于该方式确定采用其他发送速率发送的第二探测报文的丢包速率,从而获取到不同发送速率发送的多个第二探测报文的丢包速率,并在该多个丢包速率中确定小于第二预设阈值的丢包速率,基于该小于第二预设阈值的丢包速率,确定该丢包速率对应的第二探测报文的发送速率为第二发送速率。
需要说明的是,本申请对发送端执行上述步骤610与620的先后顺序不做限定,步骤610可以在步骤620之前执行,也可以在步骤620之后执行,或者可以同时执行。
630,发送端采用第三发送速率发送第三探测报文,该第三探测报文用于确定数据报文的发送间隔,该第三发送速率为该第一发送速率和该第二发送速率中的较小值。
发送端在步骤610中基于被动拥塞控制机制,确定第一发送速率,以及在步骤620中基于主动拥塞控制机制,确定第二发送速率后,发送端可以比较第一发送速率和第二发送速率的大小,将该第一发送速率和该第二发送速率中的较小值确定为第三发送速率,用于发送第三探测报文。
需要说明的是,本申请中的第一探测报文、第二探测报文和第三探测报文可以为相同的探测报文,也可以为不同的探测报文,本申请对此不做限定。但是,第一探测报文和第二探测报文用于确定发送第三探测报文的发送速率,而第三探测报文用于确定发送数据报文的发送间隔。
接收端接收到发送端发送的第三探测报文后,会向该发送端返回该第三探测报文对应的第二反馈报文;该发送端接收返回的该第二反馈报文,并立刻向该接收端发送一个待发送的数据报文,其中,该第二反馈报文可以是第三探测报文本身,或者,该第二反馈报文可以包括该第三探测报文中的信息,如第三探测报文的时间信息,以及该第二反馈报文还可以包括其他由接收端向发送端发送的信息,如下文中可选实施方式中的ACK消息。但本申请不限于此。
也就是说,返回的第二反馈报文用于触发发送端发送数据报文,发送端每接收到一个第二反馈报文,就会向接收端发送一个数据报文。从而实现由第三探测报文探测往返路径之后控制数据报文的发送间隔。
可选的,该第二反馈报文中包括确认(acknowledge,ACK)消息,该ACK消息用于确认在发送该第二反馈报文前发送的数据报文是否被成功接收。
发送端接收到该第二反馈报文,可以确定已被成功接收的数据报文。
在该第二反馈报文中携带数据报文的ACK消息,发送端可以快速确定未被成功接收的数据报文,可以实现数据报文的快速重传,无论数据报文是稀疏的还是密集的,且无需等待较长的超时重传时间,能够减小数据报文的传输时延。
可选地,该ACK消息中包括第一数据报文的标识信息和/或第二数据报文的标识信息,其中,该第一数据报文为所述第二反馈报文被接收前成功被接收到的最后一个数据报文,该第二数据报文为下一个待被接收的数据报文。
其中,第二数据报文可以称为接收端期待接收到的下一个数据报文。
作为示例非限定,数据报文的标识信息可以是数据报文的序列号。
例如,发送端依次向接收端发送了序列号分别为101、102和103的数据报文,若接收端接收到了序列号为101、102和103的数据报文,则接收端向发送端发送第二反馈报 文中可以包括序列号为101、102和103的数据报文的ACK消息。比如,若发送端发送的数据报文的序列号为递增的,接收端向发送端发送的第二反馈报文中可以仅包括序列号103,表示序列号为103以及序列号为103之前的数据报文都已接收到。
可选的,发送端发送第三数据报文,若发送端确定在发送第三数据报文后的一个第一RTT内未接收到第一ACK消息,该发送端发送所述第三数据报文。其中,所述第一ACK消息用于确认所述第三数据报文已被成功接收,所述第一RTT为所述第三发送速率对应的RTT。
也就是说,若发送端在第三发送速率对应的一个RTT内没有接收到已发送的数据报文的ACK消息,则该发送端重新发送该已发送的数据报文。
例如,发送端发送了序列号为105的数据报文,但是在发送序列号为105的数据报文之后的第一RTT内没有收到相应的ACK消息,发送端可以认为序列号为105的该数据报文发送失败,则发送端重新发送序列号为105的该数据报文。
可选的,第三数据报文为高优先级数据报文。
例如,可以基于数据报文的时延需求、可靠性需求等,将数据报文划分为多个优先级,第三数据报文可以是时延要求较高的高优先级数据报文,发送端在发送第三数据报文后,若在一个第一RTT内未接收到承载第一ACK消息的探测报文,则发送端再次发送该第三数据报文。能够减小第三数据报文传输的时延,以满足该第三数据报文的时延需求。
目前的超时重传机制中,发送端在发送一个数据报文后,若在预设的超时重传的时间内未接收到相应的ACK消息,则发送端再次发送该数据报文。该超时重传时间为预设的或者说预配置于发送端的,无法基于链路传输情况进行调整,因此一般会将该超时重传时间设置为一个普适的较大的时长。而本申请基于链路传输情况,具体地基于探测报文的RTT,确定重传时间,能够减小数据报文重传的时延。
在具体实施中,第二反馈报文中的ACK消息包括第二数据报文的标识信息时,发送端根据ACK消息中的第二数据报文的标识信息,可以确定接收到期待接收到的下一个数据报文为第二数据报文。本申请实施例提供的数据发送方法还可以包括以下可选实施方式。
可选的,发送端确定在第一时间间隔前已发送该第二数据报文,且该第一时间间隔小于或等于k倍的第一RTT,其中,该第一RTT为第三发送速率对应的RTT,0<k≤1。发送端发送下一个待发送的数据报文。
也就是说,发送端可以确定距离第二数据报文的时长为第一时间间隔,发送端比较第一时间间隔与k倍的第一RTT的大小,若该第一时间间隔小于或等于k倍的第一RTT,则可以认为第二数据报文处于正常数据传输过程中,可以发送下一个数据报文。
例如,该第一RTT为T,k可以为0.5,发送端可以确定第二数据报文已发送的时长为T1,则发送端比较T1与0.5T的大小,即发送端比较T1与第三探测报文的半程传输时间的大小,如T1小于或等于0.5T,则可以认为该第二数据报文还在链路中传输,未传输至接收端,一段时间后可以传输至接收端,因此,发送端可以发送下一个数据报文。
可选的,发送端确定在第二时间间隔前已发送该第二数据报文,且该第二时间间隔大于或等于k倍的第一RTT,0<k≤1,发送端发送该第二数据报文。
也就是说,发送端可以确定距离第二数据报文的时长为第二时间间隔,发送端比较第二时间间隔与k倍的第一RTT的大小,若该第一时间间隔大于或等于k倍的第一RTT, 则可以认为第二数据报文未被接收到成功接收,则发送端可以再次发送第二数据报文。能够实现快速重传,减小报文的传输时延。
可选的,发送端确定该第二数据报文未被发送,发送端发送该第二数据报文。
发送端确定接收端期待接收到的第二数据报文还未被发送,则发送端发送该第二数据报文。
图7为本申请实施例的数据发送的方法的示意性交互流程图。在图7所示的实施例中,以发送端为客户端,接收端为服务器端为例进行说明。
710,客户端以第三发送速率发送多个第三探测报文,并发送了序列号为105的数据报文;
720,该服务器端接收来自该客户端的一个第三探测报文(可以记作第三探测报文1),并向该客户端返回该第二反馈报文1,该第二反馈报文1为该第三探测报文1对应的反馈报文,返回的该第二反馈报文1中包括数据报文的序列号106;
其中,该序列号为106的数据报文为该服务器端期望接收到的下一个数据报文。
730,该客户端接收该服务器端返回的第二反馈报文1,并根据该第二反馈报文1中数据报文的序列号,确定服务器端期待接收到的下一个数据报文是序列号为106的数据报文;
客户端可以判断是否发送序列号为106的数据报文。客户端确定没有发送过序列号为106的数据报文,则该客户端发送序列号为106的数据报文。740,该服务器端接收到该客户端发送的另一个第三探测报文(可以记作第三探测报文2),并向该客户端返回该第三探测报文2对应的第二反馈报文2,该第二反馈报文2中包括报文的序列号106;
也就是说,服务器端期望接收到的下一个数据报文的序列号仍为106。
750,客户端接收该第二反馈报文2,并根据该第二反馈报文2中数据报文的序列号,确定服务器端期待接收到的下一个数据报文是序列号为106的数据报文;
客户端可以判断是否发送该序列号为106的数据报文。客户端确定已在时间间隔A前发送过该序列号为106的数据报文。则客户端比较该时间间隔A与0.5T的大小,其中,T为该第三探测报文的RRT。即本实施例中k=0.5,但本申请不限于此。
若该时间间隔A小于或等于0.5T,则客户端发送下一个待发送的数据报文;
若该时间间隔A大于0.5T,则客户端再次发送该序列号为106的数据报文。
在本申请实施例的技术方案中,发送端根据第一探测报文的往返时间确定往返时间较小的该第一探测报文的对应的第一发送速率,往返时间越小,第一探测报文在传输链路上拥塞的情况就越少,即传输时延越小。发送端还根据第二探测报文的丢包速率确定较小的丢包速率对应的第二发送速率,丢包率越小,第二探测报文在传输链路上拥塞的情况就越少,传输时延也会越小。发送端可以取第一发送速率和第二发送速率的最小值作为发送用于确定数据报文的发送间隔的第三探测报文的第三发送速率,能够有效减少传输链路上的拥塞,降低数据传输的时延。
以上,结合图6和图7详细说明了本申请实施例提供的方法。以下说明本申请实施例提供的装置。为了实现上述本申请实施例提供的方法中的各功能,各网元可以包括硬件结构和/或软件模块,以硬件结构、软件模块、或硬件结构加软件模块的形式来实现上述各功能。上述各功能中的某个功能以硬件结构、软件模块、还是硬件结构加软件模块的方式 来执行,取决于技术方案的特定应用和设计约束条件。
图8是本申请实施例提供的通信装置的示意性框图。如图8所示,该通信装置800可以包括处理单元810和收发单元820。
该通信装置800可对应于上文方法实施例中的发送端,或者配置于(或用于)发送端中的芯片,或者其他能够实现发送端的方法的装置、模块、电路或单元等。
应理解,该通信装置800可对应于根据本申请实施例的方法600中的发送端,该通信装置800可以包括用于执行图6、图7中的方法中发送端执行的方法的单元。并且,该通信装置800中的各单元和上述其他操作和/或功能分别为了实现图6、图7中的方法的相应流程。
还应理解,该通信装置800为配置于(或用于)发送端中的芯片时,该通信装置800中的收发单元820可以为芯片的输入/输出接口或电路,该通信装置800中的处理单元810可以为芯片中的处理器。
应理解,该通信装置800中的收发单元820为可通过通信接口(如收发器或输入/输出接口)实现,例如可对应于图9中示出的通信设备800中的收发器910。该通信装置800中的处理单元810可通过至少一个处理器实现,例如可对应于图9中示出的通信设备900中的处理器920。该通信装置800中的处理单元810还可以通过至少一个逻辑电路实现。
还应理解,各单元执行上述相应步骤的具体过程在上述方法实施例中已经详细说明,为了简洁,在此不再赘述。
图9是本申请实施例提供的通信设备900的结构示意图。该通信设备900可应用于如图1所示的系统中,执行上述方法实施例中发送端的功能。如图所示,该通信设备900包括处理器920和收发器910。可选地,该通信设备900还包括存储器。其中,处理器920、收发器910和存储器之间可以通过内部连接通路互相通信,传递控制和/或数据信号。该存储器用于存储计算机程序,该处理器920用于执行该存储器中的该计算机程序,以控制该收发器910收发信号。
上述处理器920可以和存储器可以合成一个处理装置,处理器920用于执行存储器中存储的程序代码来实现上述功能。具体实现时,该存储器也可以集成在处理器920中,或者独立于处理器920。该处理器920可以与图8中的处理单元对应。
上述收发器910可以与图8中的收发单元对应。收发器910可以包括接收器(或称接收机、接收电路)和发射器(或称发射机、发射电路)。其中,接收器用于接收信号,发射器用于发射信号。
应理解,图9所示的通信设备900能够实现图6、图7所示方法实施例中涉及发送端的过程。通信设备900中的各个模块的操作和/或功能,分别为了实现上述方法实施例中的相应流程。具体可参见上述方法实施例中的描述,为避免重复,此处适当省略详细描述。
上述处理器920可以用于执行前面方法实施例中描述的由发送端内部实现的动作,而收发器910可以用于执行前面方法实施例中描述的发送端向接收端发送或从接收端接收的动作。具体请见前面方法实施例中的描述,此处不再赘述。
可选地,上述通信设备900还可以包括电源,用于给发送端中的各种器件或电路提供电源。
除此之外,为了使得发送端的功能更加完善,该通信设备900还可以包括输入输出装 置,如包括输入单元、显示单元、音频电路、摄像头和传感器等中的一个或多个,所述音频电路还可以包括扬声器、麦克风等。
本申请实施例还提供了一种处理装置,包括处理器和(通信)接口;所述处理器用于执行上述任一方法实施例中的方法。
应理解,上述处理装置可以是一个或多个芯片。例如,该处理装置可以是现场可编程门阵列(field programmable gate array,FPGA),可以是专用集成芯片(application specific integrated circuit,ASIC),还可以是系统芯片(system on chip,SoC),还可以是中央处理器(central processor unit,CPU),还可以是网络处理器(network processor,NP),还可以是数字信号处理电路(digital signal processor,DSP),还可以是微控制器(micro controller unit,MCU),还可以是可编程控制器(programmable logic device,PLD)或其他集成芯片。
根据本申请实施例提供的方法,本申请还提供一种计算机程序产品,该计算机程序产品包括:计算机程序代码,当该计算机程序代码由一个或多个处理器执行时,使得包括该处理器的装置执行图6、图7所示实施例中的方法。
本申请实施例提供的技术方案可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、网络设备、终端设备、核心网设备、机器学习设备或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机可以存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,数字视频光盘(digital video disc,DVD))、或者半导体介质等。
根据本申请实施例提供的方法,本申请还提供一种计算机可读存储介质,该计算机可读存储介质存储有程序代码,当该程序代码由一个或多个处理器运行时,使得包括该处理器的装置执行图6、图7所示实施例中的方法。
根据本申请实施例提供的方法,本申请还提供一种系统,其包括前述的一个或多个发送端。还系统还可以进一步包括前述的一个或多个接收端。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的 部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (16)

  1. 一种数据发送的方法,其特征在于,包括:
    基于多个往返时间RTT,确定第一发送速率,所述多个RTT包括采用不同发送速率发送的多个第一探测报文的RTT,所述第一发送速率为所述多个RTT中小于第一预设阈值的RTT对应的发送速率;
    基于多个丢包速率,确定第二发送速率,所述多个丢包速率包括采用不同发送速率发送的多个第二探测报文的丢包速率,所述第二发送速率为所述多个丢包速率中小于第二预设阈值的丢包速率对应的发送速率;
    采用第三发送速率发送第三探测报文,所述第三探测报文用于确定数据报文的发送间隔,所述第三发送速率为所述第一发送速率和所述第二发送速率中的较小值。
  2. 根据权利要求1所述的方法,其特征在于,
    所述第一探测报文中包括发送时间信息,所述发送时间信息用于指示所述第一探测报文的发送时刻;
    所述RTT是基于一个第一探测报文的所述发送时刻和接收时刻确定的,所述接收时刻为接收到第一反馈报文的时刻,所述第一反馈报文为所述一个第一探测报文对应的反馈报文。
  3. 根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
    接收第二反馈报文,所述第二反馈报文为所述第三探测报文对应的反馈报文;
    其中,所述第二反馈报文中包括到达确认ACK消息,所述ACK消息用于确认在发送所述第三探测报文前发送的数据报文是否被成功接收。
  4. 根据权利要求3所述的方法,其特征在于,所述ACK消息中包括第一数据报文的标识信息和/或第二数据报文的标识信息,
    其中,所述第一数据报文为所述第二反馈报文被接收前成功被接收到的最后一个数据报文,所述第二数据报文为下一个待被接收的数据报文。
  5. 根据权利要求4所述的方法,其特征在于,所述ACK消息中包括所述第二数据报文的标识信息,所述方法还包括:
    在第一时间间隔前已发送所述第二数据报文,且所述第一时间间隔小于k倍的第一RTT的情况下,发送下一个待发送的数据报文,其中,所述第一RTT为所述第三发送速率对应的RTT,0<k≤1;
    或者,
    在第二时间间隔前已发送所述第二数据报文,且所述第二时间间隔大于或等于k倍的所述第一RTT的情况下,发送所述第二数据报文;
    或者,
    在所述第二数据报文未被发送的情况下,发送所述第二数据报文。
  6. 根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
    在发送第三数据报文后的一个第一RTT内未接收到第一ACK消息的条件下,发送所述第三数据报文,所述第一RTT为所述第三发送速率对应的RTT,所述第一ACK消息用于确认所述第三数据报文已被成功接收。
  7. 一种数据发送的装置,其特征在于,包括:
    处理单元,用于基于多个往返时间RTT,确定第一发送速率,所述多个RTT包括采用不同发送速率发送的多个第一探测报文的RTT,所述第一发送速率为所述多个RTT中小于第一预设阈值的RTT对应的发送速率;
    所述处理单元还用于基于多个丢包速率,确定第二发送速率,所述多个丢包速率包括采用不同发送速率发送的多个第二探测报文的丢包速率,所述第二发送速率为所述多个丢包速率中小于第二预设阈值的丢包速率对应的发送速率;
    收发单元,用于采用第三发送速率发送第三探测报文,所述第三探测报文用于确定数据报文的发送间隔,所述第三发送速率为所述第一发送速率和所述第二发送速率中的较小值。
  8. 根据权利要求7所述的装置,其特征在于,所述第一探测报文中包括发送时间信息,所述发送时间信息用于指示所述第一探测报文的发送时刻;
    所述RTT是基于一个第一探测报文的所述发送时刻和接收时刻确定的,所述接收时刻为接收到第一反馈报文的时刻,所述第一反馈报文为所述一个第一探测报文对应的反馈报文。
  9. 根据权利要求7或8所述的装置,其特征在于,
    所述收发单元还用于接收第二反馈报文,所述第二反馈报文为所述第三探测报文对应的反馈报文;
    其中,所述第二反馈报文中包括到达确认ACK消息,所述ACK消息用于确认在发送所述第三探测报文前发送的数据报文是否被成功接收。
  10. 根据权利要求9所述的装置,其特征在于,所述ACK消息中包括第一数据报文的标识信息和/或第二数据报文的标识信息,
    其中,所述第一数据报文为所述第二反馈报文被接收前被成功接收到的最后一个数据报文,所述第二数据报文为下一个待被接收的数据报文。
  11. 根据权利要求10所述的装置,其特征在于,所述ACK消息中包括所述第二数据报文的标识信息,
    所述处理单元还用于在第一时间间隔前已发送所述第二数据报文,且所述第一时间间隔小于k倍的第一RTT的情况下,发送下一个待发送的数据报文,其中,所述第一RTT为所述第三发送速率对应的RTT,0<k≤1;
    或者,
    所述处理单元还用于在第二时间间隔前已发送所述第二数据报文,且所述第二时间间隔大于或等于k倍的所述第一RTT的情况下,发送所述第二数据报文;
    或者,
    所述处理单元还用于在所述第二数据报文未被发送的情况下,发送所述第二数据报文。
  12. 根据权利要求7或8所述的装置,其特征在于,
    所述处理单元还用于确定在发送第三数据报文后的一个第一RTT内未接收到第一ACK消息,所述第一ACK消息用于确认所述第三数据报文已被成功接收,其中,所述第一RTT为所述第三发送速率对应的RTT;
    所述收发单元还用于发送所述第三数据报文。
  13. 一种通信设备,其特征在于,包括处理器和存储器,所述存储器和所述处理器耦合,所述处理器用于执行如权利要求1至6中任一项所述的方法。
  14. 一种计算机可读存储介质,包括计算机程序,当其在计算机上运行时,使得所述计算机执行如权利要求1至6中任一项所述的方法。
  15. 一种芯片,其特征在于,包括至少一个处理器和通信接口,所述处理器利用所述通信接口,执行权利要求1至6中任一项所述的方法。
  16. 一种计算机程序产品,其特征在于,所述计算机程序产品包括:计算机程序,当所述计算机程序被运行时,使得计算机执行如权利要求1至6中任一项所述的方法。
PCT/CN2021/099847 2021-06-11 2021-06-11 数据发送的方法和通信装置 WO2022257140A1 (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/CN2021/099847 WO2022257140A1 (zh) 2021-06-11 2021-06-11 数据发送的方法和通信装置
EP21944647.3A EP4346182A1 (en) 2021-06-11 2021-06-11 Data sending method and communication device
CN202180098617.XA CN117397224A (zh) 2021-06-11 2021-06-11 数据发送的方法和通信装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2021/099847 WO2022257140A1 (zh) 2021-06-11 2021-06-11 数据发送的方法和通信装置

Publications (1)

Publication Number Publication Date
WO2022257140A1 true WO2022257140A1 (zh) 2022-12-15

Family

ID=84425631

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/099847 WO2022257140A1 (zh) 2021-06-11 2021-06-11 数据发送的方法和通信装置

Country Status (3)

Country Link
EP (1) EP4346182A1 (zh)
CN (1) CN117397224A (zh)
WO (1) WO2022257140A1 (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107171969A (zh) * 2016-03-07 2017-09-15 华为技术有限公司 一种数据传输方法、装置及系统
CN109787859A (zh) * 2019-01-11 2019-05-21 深圳市网心科技有限公司 基于网络拥塞探测的智能限速方法、装置及存储介质
CN110166366A (zh) * 2018-02-14 2019-08-23 华为技术有限公司 网络拥塞控制方法、装置和系统
WO2019192361A1 (en) * 2018-04-06 2019-10-10 Huawei Technologies Co., Ltd. Congestion control in network communications

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100315958A1 (en) * 2009-06-11 2010-12-16 Luo Xiapu Method for non-cooperative measurement of network data-path quality

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107171969A (zh) * 2016-03-07 2017-09-15 华为技术有限公司 一种数据传输方法、装置及系统
CN110166366A (zh) * 2018-02-14 2019-08-23 华为技术有限公司 网络拥塞控制方法、装置和系统
WO2019192361A1 (en) * 2018-04-06 2019-10-10 Huawei Technologies Co., Ltd. Congestion control in network communications
CN109787859A (zh) * 2019-01-11 2019-05-21 深圳市网心科技有限公司 基于网络拥塞探测的智能限速方法、装置及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP4346182A4 *

Also Published As

Publication number Publication date
EP4346182A4 (en) 2024-04-03
EP4346182A1 (en) 2024-04-03
CN117397224A (zh) 2024-01-12

Similar Documents

Publication Publication Date Title
US10868767B2 (en) Data transmission method and apparatus in optoelectronic hybrid network
US10945285B2 (en) Wireless network communication system and method
KR101213850B1 (ko) 무선 네트워크에서의 제어 및 데이터의 분리 방법
TWI387256B (zh) 改善傳輸時間間隔集束傳輸之方法及通訊裝置
US10461986B2 (en) Data transmission method, apparatus, and system
JP2007089174A (ja) 無線通信システムにおける信号の伝送速度を改善する方法及び装置
EP3846529B1 (en) Data transmission method and device
CN107104902B (zh) 一种rdma数据传输的方法、相关装置与系统
US20190174356A1 (en) Data transmission method, data receiving device, and data sending device
US20230090622A1 (en) Network Congestion Control Method and Network Device
WO2021249039A1 (zh) 通信方法、装置及系统
US8588068B2 (en) Communication terminal and communication method
JP2010161616A (ja) 通信装置、通信システム、通信方法、プログラム、及び集積回路
WO2022257140A1 (zh) 数据发送的方法和通信装置
EP4164277A1 (en) Protocol data unit processing method and apparatus, sending device and storage medium
US20210126900A1 (en) Data Sending Method, Sending Device, Data Receiving Method, and Receiving Device
CN113950099A (zh) 一种网络拥塞控制方法及设备
US11612010B2 (en) System and method for ultra low latency wireless media streaming
WO2022247416A1 (zh) 一种数据传输方法、装置及系统
TWI799259B (zh) 電子裝置及其流量控制方法
WO2024032354A1 (zh) 数据处理方法及装置
WO2022027311A1 (zh) 一种通信方法及装置
WO2023039912A1 (zh) 数据传输方法、装置及系统
WO2024032352A1 (zh) 数据处理方法及装置
US20240154735A1 (en) Method and apparatus for transmitting objects based on deadline-aware

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21944647

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2021944647

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2021944647

Country of ref document: EP

Effective date: 20231225

NENP Non-entry into the national phase

Ref country code: DE