WO2018086076A1 - 数据传输方法及装置 - Google Patents

数据传输方法及装置 Download PDF

Info

Publication number
WO2018086076A1
WO2018086076A1 PCT/CN2016/105518 CN2016105518W WO2018086076A1 WO 2018086076 A1 WO2018086076 A1 WO 2018086076A1 CN 2016105518 W CN2016105518 W CN 2016105518W WO 2018086076 A1 WO2018086076 A1 WO 2018086076A1
Authority
WO
WIPO (PCT)
Prior art keywords
data packet
network node
quic
quic data
protocol layer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/CN2016/105518
Other languages
English (en)
French (fr)
Inventor
庞伶俐
郑潇潇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201680086921.1A priority Critical patent/CN109314662B/zh
Priority to EP16921129.9A priority patent/EP3531631A4/en
Priority to PCT/CN2016/105518 priority patent/WO2018086076A1/zh
Publication of WO2018086076A1 publication Critical patent/WO2018086076A1/zh
Priority to US16/409,251 priority patent/US20190268797A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0231Traffic management, e.g. flow control or congestion control based on communication conditions
    • H04W28/0236Traffic management, e.g. flow control or congestion control based on communication conditions radio quality, e.g. interference, losses or delay
    • 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/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • 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/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • 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/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • 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/34Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks

Definitions

  • the embodiments of the present invention relate to the field of communications technologies, and in particular, to a data transmission method and apparatus.
  • Transmission Control Protocol (TCP)/Internet Protocol (IP) is the basis of the Internet.
  • Common transport layer protocols in the network include TCP and UDP.
  • TCP Transmission Control Protocol
  • UDP is more lightweight, which makes the transmission efficiency of UDP in data transmission tend to be higher.
  • UDP has fewer error check bits, the reliability when transmitting data by UDP is lower than that of TCP.
  • UDP is usually used in applications such as games, streaming media, and Voice over Internet Protocol (VoIP), and most applications such as web pages, mail, and remote login use TCP.
  • VoIP Voice over Internet Protocol
  • Quick UDP Internet Connection is a low-latency Internet transport layer protocol based on User Datagram Protocol (UDP) developed by Google.
  • UDP User Datagram Protocol
  • QUIC combines the advantages of both TCP and UDP protocols with low latency and high reliability in data transmission, and can also apply QUIC to higher security protocols.
  • QUIC also adds features such as congestion control and automatic retransmission, so reliability is higher than UDP.
  • the server may send the data to the network side device by using multi-stream transmission.
  • the network side device will receive the data packet sent by the server and send the data to the terminal through a mobile communication network such as 3G/4G/5G.
  • the network side device in the prior art cannot forward the multi-path data packet sent by the server to the terminal in time and effectively, which may greatly increase the data received by the terminal. The delay of the package.
  • embodiments of the present invention provide a data transmission method and apparatus.
  • an embodiment of the present invention provides a data transmission method, including:
  • the first network node sorts the QUIC data packets to obtain a sorting result
  • the first network node sends the QUIC data packet to the third network node according to the sorting result.
  • the second network node sorts the received QUIC data, and sequentially sends the QUIC data packet to the third according to the sorting result.
  • the network node can greatly reduce the delay of the third network node receiving the QUIC data packet, and can also avoid the disorder problem of the QUIC data packet in the first network node.
  • the first network node sorting the QUIC data packet specifically includes:
  • the first network node sorts the connections according to the attribute information
  • the attribute information includes one or more combinations of the following:
  • the identity of the QUIC connection The identity of the QUIC connection, the transmission delay requirement of the service transmitted by the QUIC connection, and the service type of the service transmitted by the QUIC connection.
  • the first network node sorting the QUIC data packet specifically includes:
  • the first network node acquires a sequence number SN corresponding to the QUIC data packet of the same connection;
  • the first network node sorts the QUIC data packets in ascending order of sequence numbers.
  • the first network node includes a first protocol layer and a second protocol layer, the first protocol layer is used to sort the data packets, and the second protocol layer is used to The sorted QUIC data packet is sent; the sending, by the first network node, the QUIC data packet to the third network node according to the sorting result includes:
  • the first protocol layer receives the indication information sent by the second protocol layer, where the indication information is used to instruct the first protocol layer to send the QUIC data packet required by the second protocol layer to the second protocol layer;
  • the second protocol layer receives the QUIC data packet sent by the first protocol layer, and sends the received QUIC data packet to the third network node according to the sequence in which the first protocol layer sends the QUIC data packet.
  • the first network node receives the fast user datagram protocol network connection QUIC data packet sent by the second network node, and specifically includes:
  • the first network node sorting the QUIC data packet includes:
  • the first network node Obtaining, by the first network node, an arrival time of each QUIC data packet to the first network node; the first network node is configured according to a sequence of arrival times of the first QUIC data packet of each connection The connections are sorted, and the connection corresponding to the earliest QUIC data packet of the first network node is determined as the first connection, and the CID corresponding to the first connection is used as the target CID;
  • the first network node sorts the QUIC data packets corresponding to the target CID according to the SN from small to large;
  • the first network node uses the result of sorting the QUIC data packets corresponding to the target CID as the sorting result.
  • the method further includes:
  • the first network node determines whether the received data packet is a QUIC data packet, and includes:
  • the first network node determines that the IP protocol of the received data packet is a user data packet protocol UDP;
  • the first network node determines that the IP protocol of the data packet is UDP, it is determined whether the serial number corresponding to the same CID in the data packet is continuous;
  • the first network node determines that the received data packet is the QUIC data packet when it is determined that the serial number under the CID is continuous.
  • the first network node determines whether the received data packet is a QUIC Packets, including:
  • the first network node acquires an IP address of the received data packet
  • the first network node determines that the IP address of the data packet is located in the QUIC protocol address list, it determines that the received data packet is the QUIC data packet.
  • the first network node when the first network node determines that the buffer of the QUIC data packet exceeds a predetermined threshold, the first network node sends indication information to the second network node, so that the second network node is configured according to the second network node.
  • the indication information stops transmitting the QUIC data packet to the first network node, or causes the second network node to decrease a transmission rate of sending the QUIC data packet to the first network node;
  • the first network node sets a buffer space of a preset capacity for the QUIC data packet sent by the second network node;
  • the first network node discards the QUIC data packet in descending order of sequence numbers according to the sorting result.
  • the embodiment of the present invention further provides a first network node, including:
  • a receiver configured to receive a fast user datagram protocol network connection QUIC data packet sent by the second network node
  • a processor configured to sort the QUIC data packet to obtain a sorting result
  • a transmitter configured to send the QUIC data packet to the third network node according to the sorting result.
  • the receiver is further configured to acquire attribute information corresponding to the connection of the QUIC data packet respectively;
  • the processor is further configured to sort the connection according to the attribute information
  • the attribute information includes one or more combinations of the following:
  • the identity of the QUIC connection The identity of the QUIC connection, the transmission delay requirement of the service transmitted by the QUIC connection, and the service type of the service transmitted by the QUIC connection.
  • the receiver is further configured to acquire a sequence number SN corresponding to the QUIC data packet of the same connection;
  • the processor is further configured to queue the QUIC packets according to a sequence number from small to large. sequence.
  • the first network node includes a first protocol layer and a second protocol layer, the first protocol layer is used to sort the data packets, and the second protocol layer is used to The sorted QUIC data packet is sent;
  • the receiver is further configured to receive the indication information sent by the second protocol layer, where the indication information is used to instruct the first protocol layer to send a QUIC data packet required by the second protocol layer to the second protocol.
  • Floor
  • the transmitter is further configured to send, according to the indication information, a QUIC data packet to the second protocol layer;
  • the receiver is further configured to receive the QUIC data packet sent by the first protocol layer, and send the received QUIC data packet to a third network node according to an order in which the first protocol layer sends a QUIC data packet. .
  • the receiver is further configured to receive, by the second network node, the QUIC data packets from multiple connections, where each connection is identified by a unique CID;
  • the processor is further configured to acquire an arrival time of each QUIC data packet to reach the first network node; the first network node performs a sequence according to a sequence of arrival times of the first QUIC data packet of each connection.
  • the plurality of connections are sorted, and the connection corresponding to the earliest QUIC data packet of the first network node is determined as the first connection, and the CID corresponding to the first connection is used as the target CID;
  • the processor is further configured to sort the QUIC data packets corresponding to the target CID according to the SN from small to large;
  • the processor is further configured to use a result of sorting the QUIC data packets corresponding to the target CID as the sorting result.
  • the processor is further configured to determine whether the received data packet is a QUIC data packet
  • the processor is further configured to determine that the IP protocol of the received data packet is a user data packet protocol UDP;
  • the processor is further configured to: determine, when the IP protocol of the data packet is UDP, whether the sequence number corresponding to the same CID in the data packet is continuous;
  • the processor is further configured to: when it is determined that the serial numbers under the CID are consecutive, determine that the received data packet is the QUIC data packet.
  • the receiver is further configured to acquire an IP address of the received data packet
  • the processor is further configured to determine whether an IP address of the data packet is located in a UDP port list
  • the processor is further configured to: when it is determined that the IP address of the data packet is in the QUIC protocol address list, determine that the received data packet is the QUIC data packet.
  • the transmitter is further configured to: when determining that the buffer of the QUIC data packet exceeds a predetermined threshold, send indication information to the second network node, so that the second network And the node stops sending the QUIC data packet to the first network node according to the indication information, or causes the second network node to decrease a sending rate of sending the QUIC data packet to the first network node;
  • the processor is further configured to set a buffer space of a preset capacity for the QUIC data packet sent by the second network node;
  • the processor is further configured to discard the QUIC data packet in descending order of sequence numbers according to the sorting result.
  • FIG. 1 is a schematic diagram of a data transmission scenario according to an embodiment of the present invention
  • FIG. 2 is a schematic diagram of data transmission according to another embodiment of the present invention.
  • FIG. 3 is a flowchart of a data transmission method according to another embodiment of the present invention.
  • FIG. 4 is a flow chart of step S320 of Figure 3;
  • FIG. 5 is still another flowchart of step S320 in FIG. 3;
  • Figure 6 is a flow chart of step S330 of Figure 3;
  • FIG. 7 is still another flowchart of step S320 in FIG. 3;
  • FIG. 8 is still another flowchart of step S320 in FIG. 3;
  • FIG. 9 is a flowchart of a data transmission method according to another embodiment of the present invention.
  • Figure 10 is a flow chart of step S340 of Figure 3;
  • FIG 11 is still another flowchart of step S340 in Figure 3;
  • FIG. 12 is a schematic diagram of data sorting provided in an embodiment of the present invention.
  • FIG. 13 is a schematic structural diagram of a first network node according to an embodiment of the present invention.
  • FIG. 1 is a schematic diagram of a data interaction scenario between a server 100, a network side device 200, and a terminal 300.
  • the server 100 transmits a data packet to the network side device 200 in a multiplexed manner by using a QUIC.
  • 200 receives the multiple data packets sent by the server 100, and forwards the received data packets to the terminal 300 through the air interface resources such as 3G/4G/5G.
  • the 3rd Generation Partnership Project (3GPP) protocol is usually adopted between the network side device 200 and the terminal 300.
  • 3GPP 3rd Generation Partnership Project
  • the server 100 when the server 100 transmits the QUIC data packet to the network side device 200 , the server 100 divides the QUIC data packet that needs to be sent into the network side device 200 in three ways.
  • the QUIC data packet sent by the server 100 carries a connection identifier (CID) and a sequence number (SN), the CID is an identifier of a connection established with the server 100, and the SN is each QUIC data on the connection. The number of the transmission of the packet.
  • the network side device 200 receives the multiple QUIC data packets sent by the server 100, if there is sufficient air interface resource between the network side 200 and the terminal 300, the network side device 200 can quickly forward the multiple QUIC data packets sent by the server 100.
  • the QUIC data packet sent from the server 100 to the network side device 200 is cached on the network side device 200, waiting to send resources, and the terminal 300 is likely to cause the terminal 300 to receive the network.
  • the delay of the QUIC packet sent by the side device 200 is greatly increased.
  • the problem that the SNOC data packet is out of order in the cache of the network side device 200 may further cause the terminal 300 not to receive the server 100 through the network side device 200 in time.
  • Sending QUIC packets causes an increase in latency.
  • CID is a number of the connection between the network side device 200 and the server 100, and is used to identify the name or type of the server 100 or the application, and may further be used to identify the service type.
  • other parameters may be used instead of CID, but the functions are the same.
  • the present invention provides a data transmission Method and device.
  • the CID carried by the QUIC data packet may be the same or different.
  • the server 100 is a server farm or the server 100 contains servers of different services/applications, each server may have one CID.
  • the QUIC packets of the same CID respectively correspond to a SN that does not repeat within a certain range, and SN represents the order of transmission of the QUIC data packets, and the range of the data packet SN can be determined according to the number of bits occupied by the SN. as shown in picture 2.
  • the network side device 200 transmits only the QUIC data packet by connecting only one server 100 (ie, one CID identification QUIC data stream).
  • the network side device 200 When the network side device 200 receives the QUIC data packet sent by the server 100, in order to reduce the delay of receiving the QUIC data packet on the terminal side when the wireless air interface resource between the network side device 200 and the terminal 300 is tight, in the embodiment of the present invention, When the network side device 200 receives the QUIC data packet sent by the server 100, the received QUIC data packet is sorted, and the QUIC data packet is transmitted to the terminal 300 according to the sorting result. In this way, the delay caused by the out-of-order of the data packet in the transmission process can be reduced, and the service experience of the user is improved.
  • the network side 200 includes a first protocol layer and a second protocol layer, and the first protocol layer is a packet data convergence protocol (Packet Data). Convergence Protocol (PDCP) protocol layer, the second protocol layer is a protocol layer under the Radio Link Control (RLC) protocol layer and/or MAC layer, physical layer and other PDCP.
  • PDCP packet data convergence protocol
  • RLC Radio Link Control
  • SN of the QUIC packets is sorted from small to large. It should be noted that, depending on the number of bits of the SN, the size of the SN has a certain range.
  • the range of the SN is 0...255.
  • sorting by SN as described above, when SNs are sorted in ascending order, SN to 255 may occur, and then restart to 0. At this time, 0 should be after 255. Therefore, when sorting, it is necessary to determine whether the SN jumps to recalculate. Sorting from small to large in a round of SN, the next round of SN, regardless of the serial number size, is behind the previous round. The round here refers to the calculation from the first value of the SN to the last value.
  • the network side device 200 and the terminal 300 use wireless transmission, when the wireless resources are small, the network side device 200 needs to temporarily buffer the received data packet, and the server 100 cannot be used in real time.
  • the transmitted QUIC packet is sent to the terminal 300. Therefore, when the network side 200 sorts the QUIC packets in the cache, the QUIC data is sent to the terminal 300 in the order in which the server 100 sends out, so that the terminal 300 can be avoided due to the disorder of the transmission sequence.
  • the QUIC packet sent by the server 100 cannot be received in order, causing processing delay of the application layer, and reducing the occurrence of excessive delay of the terminal 300 receiving the QUIC packet.
  • the sorted QUIC data packets are sequentially sent to the second protocol layer according to the sorting result, and the second protocol layer sends the QUIC data according to the first protocol layer.
  • the QUIC data packet is delivered to the bottom layer of the network side device 200, and sequentially transmitted to the terminal 300.
  • the first protocol layer of the network side device 200 may further send the QUIC data packet according to the indication information sent by the second protocol layer.
  • the first protocol layer receives the indication information sent by the second protocol layer, where the indication information includes which QUIC data packets need to be received by the second protocol layer, or how many QUIC data packets need to be received, and the like.
  • the first protocol layer may further perform evaluation according to a buffer size of the second protocol layer, and send a QUIC data packet to the second protocol layer according to the evaluation result.
  • the division manner of the protocol layer of the network side device 200 is only an example.
  • the possible protocol layer further includes The MAC and physical layers, and the sorting function for QUIC packets, can be done at the PDCP layer, at other protocol layers, or as a separate functional entity.
  • the sorting function of the network side device (the operation of the first protocol layer described above) and the data processing and sending function (the operation of the second protocol layer described above) may be performed by a protocol layer or a functional entity. It can also be completed by multiple protocol layers or functional entities, and is not limited herein.
  • the QUIC data packet is sorted in a scenario in which the data packet is cached in the network side device 200, and if the air interface resource is sufficient, the QUIC data packet sent by the server 100 can be sent to the device in time.
  • the QUIC data packet does not need to be cached on the network side or only needs to cache a small number of QUIC data packets, and the sorting function of the network side device is not required.
  • the specific timing of enabling the sorting function of the network side device depends on the algorithm on the network side, and is not limited herein. Only the operation of the network side device 200 when the sorting function is enabled is described.
  • the network side device 200 may further determine the QUIC data that needs to be sent to the terminal 300 according to the usage of the air interface resource between the network side device 200 and the terminal 300.
  • the size of the package Exemplarily, when acquiring the size of the QUIC packet sent to the terminal 300, the network side device 200 determines the size of the QUIC packet to be sent in the current network side device buffer. If the QUIC packet is too large, the network The side device 200 may process the QUIC data packet that does not meet the transmission requirement into a QUIC data packet that meets the requirements of the transmission by using a cascading or splitting manner, and may be processed in the first protocol layer or the second protocol layer of the network device 200.
  • the network side device 200 when the network side device 200 receives the QUIC data packet sent by the server 100, if the network side device 200 receives the QUIC data packet sent by the server 100, the QUIC includes multiple service types.
  • the data packet, then the first protocol layer of the network side device 200 can also be sorted according to the service type of the QUIC data packet, wherein the QUIC data packet of each service type passes the CID, the source and/or destination port number, the source and/or At least one of the destination IP address and the identifier of the QUIC connection is distinguished.
  • the first protocol layer may preferentially send the QUIC data packet received by the connection identified by the CID with a higher priority to the second according to the priority of the predetermined service type. Protocol layer.
  • the first protocol layer may also send a QUIC data packet to the second protocol layer according to the quality of service (QoS) parameter according to the delay requirement of the service carried by the QUIC data packet, for example, the first protocol layer priority time
  • QoS quality of service
  • the QUIC packet with high latency is sent to the second protocol layer and so on.
  • the data packets of the same service type are further sorted according to the SN according to the SN in the foregoing embodiment, and then sent to the second protocol layer.
  • the network side device 200 when the network side device 200 receives the QUIC data packet sent by the server 100, the network side device 200 may further determine, according to the arrival time of the first protocol layer QUIC data packet, The second protocol layer sends which QUIC packet received in the connection identified by the CID.
  • the network side device 200 receives a plurality of QUIC data packets of multiple CIDs sent by the server 100, and the first protocol layer of the network side device 200 sequentially sorts the QUIC data packets of the different CIDs on a CID basis.
  • the network side device 200 monitors the arrival time of the first protocol layer QUIC data packet, acquires the CID corresponding to the QUIC data packet with the earliest arrival time, and preferentially sends the CID-sorted QUIC data packet to the second protocol layer.
  • the network side device 200 transmits the QUIC data packet to the terminal 300 according to the sort result of the QUIC data packet in the foregoing embodiment.
  • the network side device 200 sorts a plurality of QUIC data packets in the target CID in order of small to large SN
  • the network side device 200 also transmits the QUIC data packets to the terminal 300 according to the SN.
  • the SNs are sent to the terminal 300 in a small to large order, ensuring The terminal 300 receives the QUIC data packets sent by the network side device 200 in the normal order, thereby avoiding the disorder of the QUIC data packet receiving sequence.
  • the embodiment of the present invention in order to determine whether a data packet sent by the server 100 to the network side device 200 is a QUIC data packet, the embodiment of the present invention further provides a manner for identifying a QUIC data packet, including the following manners. :
  • the network side device 200 it is identified in the network side device 200 whether the received data packet is a QUIC data packet.
  • the received data packet is a QUIC data packet:
  • the payload of the received UDP packet is continuously identified.
  • the length of the CID is determined according to the format of the QUIC header, thereby identifying the same packet of the CID field.
  • the CID field is determined and the same, it is determined that the SN field is continuously changed within a certain range. For example, first, determine the first 8 bits in the UDP payload (that is, the public flag field in the QUIC header), obtain the length of the CID field in the packet according to the value of the public flag, and obtain the size of the CID. The above judgment is repeated in each data packet.
  • the CIDs of the data packets are the same, continue to determine the SN domain after the public domain and the CID domain (and possibly the version domain, if any), if the domain is incremented within a certain range (for example: in The increment between 0 and 255, due to the out-of-order transmission, not necessarily every packet is incremented, and keeps increasing during the period of statistics, indicating that the received data packet is a QUIC packet.
  • a certain range for example: in The increment between 0 and 255, due to the out-of-order transmission, not necessarily every packet is incremented, and keeps increasing during the period of statistics, indicating that the received data packet is a QUIC packet.
  • the judgment of the SN is not necessary.
  • the CID field of the data packet is always the same, it is also possible to recognize that the received data packet is a QUIC data packet.
  • the judgment of the protocol type is made more accurate by the judgment of the SN domain.
  • the QUIC protocol is still undergoing further evolution.
  • the names of the above domains and the location in the header may change with the evolution of the protocol, but the continuity of the data transmission sequence number in a connection can still identify the QUIC data. package.
  • the other node assists the network side in identifying whether the received data packet is a QUIC data packet.
  • the server 100 or the terminal 300 may specifically perform auxiliary identification.
  • the received data packet is determined to be a QUIC data packet according to the indication in the received data packet.
  • the IP protocol in the IP header of the QUIC data packet sent by the server 100 to the network side device 200 indicates that the data packet is QUIC packet; or network side device 200 receives server 100 and / Or the IP address list and/or the UDP port list corresponding to the QUIC connection established by the terminal 300.
  • the network side device 200 When the network side device 200 receives the data packet, the network side device 200 performs the UDP port list and/or IP address list determining whether the IP address and/or UDP port in the received data packet is in the list (the list contains at least one address and/or port number information), and if so, Then, it is judged that the received data packet is a QUIC packet; otherwise, it is a non-QUIC data packet, for example, the data packet may be a real-time transport protocol (RTP) and other data packets carried in the UDP protocol.
  • RTP real-time transport protocol
  • the IP address or the UDP port number in the present invention may be a single-finger source end or a single-finger destination end, and may also be referred to as a source end and a destination end, and will not be described later.
  • the QUIC packet is identified by establishing a dedicated bearer for the QUIC.
  • the network side device 200 acquires the service type and service feature of the data packet.
  • the network side device 200 acquires the service data packet and carries it on the QUIC, and establishes a dedicated bearer for the service, and does not share the bearer with other transport layer protocols that are non-QUIC data packets. Therefore, the network side device 200 can identify the type of the data packet by the identifier of the bearer or the identifier of the network side device 200 stream.
  • the network side device 200 can also identify the data.
  • the package is a QUIC packet.
  • the network side device 200 sends the QUIC data packet sent by the server 100 to the terminal 300 as an example for description.
  • the data packet of other protocol types may also be used in the embodiment of the present invention. Not limited to this.
  • the embodiments of the present invention are mainly applied to a mobile communication system, where the system architecture includes a user equipment, a server, and a network side device.
  • the server is a device that provides service data, and may be a third-party service server, a node of a core network, or a server that provides service data belonging to an operator.
  • the network side device may be a collective name of an access network device (RAN) and a core network device, or an access network device or a core network device.
  • the network side device may also be any relay device in the process of performing service data transmission, and the relay device may also be a user equipment.
  • the network side device may be further divided into two logical function entities: a control plane and a user plane, which are not distinguished in the embodiment of the present invention. In actual applications, the function of the network side device introduced by the solution may be placed. Control surface function entity, can also be placed on the user plane function Body, no restrictions here.
  • a data transmission method is provided, and the method includes the following steps:
  • step S310 the first network node receives the QUIC data packet sent by the second network node.
  • the first network node in the embodiment of the present invention is equivalent to the network side device 200 in the foregoing embodiment, and the second network node is equivalent to the server 100 in the foregoing embodiment.
  • the third network node in the following is equivalent to the foregoing embodiment.
  • the terminal 300 is not limited to the application scenario in the foregoing embodiment.
  • the first network node receives the QUIC data packet sent by the second network node, where the first network node receives the QUIC data packet sent by the same second network node, and may also receive the QUIC data packet sent by the multiple second network node.
  • step S320 the first network node sorts the QUIC data packets to obtain a sort result.
  • the first network node determines whether to sort the QUIC data packets. Specifically, if there is no QUIC data packet in the sorting function entity cache of the first network node, or there are only a few QUIC data packets, the first network node does not perform the sorting function.
  • step S330 the first network node sends the sorted QUIC data packet to the third network node according to the sorting result.
  • the QUIC is used to transmit QUIC data packets in a multiplex manner between the first network node and the second network node, and the first network node and the third network node are wirelessly transmitted by using one bearer. QUIC packet.
  • the first network node receives the data packet sent by the second network node, and is buffered on the first network node side (or the sorting function cache of the first network node), and the first network node passes Sorting the received QUIC data, and sending the QUIC data packet to the third network node according to the sorting result, avoiding the QUIC received by the third network node if the air interface resource that can be allocated to the third network node is limited. Packets are out of order, resulting in a transport layer or The delay in processing the packet when the application layer has an in-order receiving requirement for the data packet.
  • step S320 may further include the following steps:
  • step S321 the first network node acquires attribute information corresponding to the QUIC data packet.
  • the first network node sorts the QUIC data packets according to the attribute information.
  • the attribute information includes one or more combinations of the following: an identifier of the QUIC connection, a transmission delay requirement of the service transmitted by the QUIC connection, and a service type of the service transmitted by the QUIC connection.
  • the QUIC connection of the same attribute information includes multiple QUIC data packets, since each QUIC data packet corresponds to one SN, the QUIC data of the same attribute information may be sorted according to the size of the SN. .
  • step S323 after the first network node sorts according to the attribute information, the data packets connected to the same attribute information are sorted in order from SN to small.
  • the QUIC packet is first sorted according to the attribute information of the QUIC packet, and then the QUIC packet of the same attribute information is sorted according to the size of the SN, and the final sort result of the QUIC packet is obtained.
  • the embodiment of the present invention determines the scheduling priority of the QUIC packet according to the attribute information of the QUIC data table by acquiring the attribute information of the QUIC, and then prioritizing the high priority QUIC data packet so as to be timely. Send to the third network node to reduce the negative gain on the user experience.
  • the above attribute information is used to determine the priority of the QUIC connection or the QUIC stream, and is usually determined in the wireless network system according to the service type and the subscription information. Therefore, the above attribute information may further include subscription information.
  • the first network node after obtaining the attribute information, obtains the processing priority of the different QUIC data packets according to the attribute information, and further includes the first network side device acquiring the priority information corresponding to the different attribute information, The information may be determined according to the policy information of the network provider, or may be determined according to the subscription information, or may be determined according to the type of the service.
  • step S320 may further include the following steps. :
  • step S323 the first network node acquires the sequence number SN corresponding to the QUIC data packet of the same connection.
  • step S324 the first network node sorts the QUIC packets in ascending order of sequence numbers.
  • the SN in the QUIC packet indicates the order in which the data is sent
  • some of the QUIC packets sent later may reach the first network first. Nodes, some of the first QUIC packets may arrive at the first network node, depending on the routing node selection of each transmission and the routing policy of the routing node that is passed, may not arrive in the order of transmission, therefore, the first network node
  • the QUIC packets receiving the same connection need to be sorted according to the SN to send the QUIC data packet to the third network node according to the sorting result.
  • the foregoing sorting process occurs when the first network node receives the QUIC data packet, and the current first network node cannot send the participating QUIC data packet. If the first network node has resources to transmit the data packet, preferably, even if the ordering is not completed, the QUIC data packet is sent to the third network node, thereby ensuring the timeliness of data transmission.
  • the first network The node includes a first protocol layer and a second protocol layer.
  • the first protocol layer is used to sort the QUIC data packets
  • the second protocol layer is used to send the sorted data packets.
  • the step S330 may further include:
  • step S331 the first protocol layer receives the indication information sent by the second protocol layer.
  • the indication information is used to instruct the first protocol layer to send the QUIC data packet requested by the second protocol layer to the second protocol layer.
  • step S332 the first protocol layer sends a QUIC data packet to the second protocol layer according to the indication information.
  • step S333 the second protocol layer receives the QUIC data packet sent by the first protocol layer, and sends the received QUIC data packet to the third network node in the order in which the first protocol layer sends the QUIC data packet.
  • the first protocol layer of the network side device 200 may further send the QUIC data packet according to the indication information sent by the second protocol layer.
  • the first protocol layer receives the indication information sent by the second protocol layer, where the indication information includes the current Which connected QUIC packets need to be received, or the size of the QUIC packets that need to be received, and so on.
  • the first protocol layer may further perform evaluation according to the buffer size of the second protocol layer, and determine the size and the number of QUIC data packets sent to the second protocol layer according to the evaluation result.
  • first protocol layer and the second protocol layer are only a function division manner of the first network node, and a plurality of protocol layers may be divided according to a specific system, which is not limited herein.
  • the requested or received first protocol layer data packet may also be referred to as a first protocol layer data packet, which includes a QUIC data packet with the first protocol layer header information added, for the purpose of description.
  • a QUIC packet this patent is referred to as a QUIC packet.
  • step S320 may further include the following steps:
  • step S325 the first network node acquires the arrival time of each QUIC packet.
  • the first network node sorts the multiple connections according to the order of arrival of the first QUIC data packet of each connection, and determines the connection corresponding to the earliest QUIC data packet of the first network node as the first connection, The CID corresponding to the first connection is used as the target CID.
  • step S326 the first network node sorts the connections of the second network node according to the order of arrival time.
  • step S327 the first network node uses the result of sorting the QUIC data packets corresponding to the target CID according to the SN from small to large as the sorting result.
  • the network side device when the network side device receives the multiple connected QUIC data packets, the network side device may further determine the connection according to the order of arrival of the arrival time of the first protocol layer QUIC data packet.
  • the QUIC packet reaching the earliest time is determined, and then the CID corresponding to the QUIC packet with the earliest arrival time is taken as the target CID, and the corresponding QUIC packet in the target CID is reduced from small to large according to the SN. Sort the order and get the sort result.
  • the first protocol layer sends the QUIC packet of the target CID to the second protocol layer according to the sort result from small to large.
  • each QUIC data packet connected to the CID may be separately sorted, and then the sort result of the QUIC data packet of the target CID may be obtained.
  • the network side device receives multiple connected QUIC data.
  • the network side device may also determine the ranking result of the connection according to the order of arrival of the arrival time of the first protocol layer QUIC data packet.
  • the arrival time of the first QUIC packet arriving at the first protocol layer in each connection is determined, and then the CID corresponding to the QUIC packet with the earliest arrival time is selected as the target CID, and the QUIC data in the target CID is selected.
  • the packets are sorted in the order of SN from small to large, and the first QUIC packet sorted in the target CID is selected as the target data packet and placed in the buffer to be sent.
  • the first protocol layer performs the above operations for each data packet until multiple QUIC packet ordering results from multiple connections are obtained.
  • the network side device receives multiple QUIC data packets of multiple CIDs sent by the server, and the first protocol layer of the network side device classifies the received QUIC data packets by CID, and performs QUIC data packet sorting, for example. : CID5 (SN 1, SN 2, SN3...), CID8 (SN10, SN11, SN12).
  • the network side device monitors the arrival time of the first protocol layer QUIC data packet, and sends the sorted QUIC data packet to the second protocol layer according to the arrival time. For example, the CID corresponding to the QUIC packet with the earliest arrival time is obtained, and the QUIC packet sorted by the CID is preferentially sent to the second protocol layer.
  • step S320 may further include the following steps:
  • step S3281 the first network node sorts each connected QUIC packet sent by the second network node in a sequence from small to large.
  • step S3282 the first network node acquires the earliest arriving QUIC packet.
  • step S3283 the first network node acquires the target CID of the earliest arriving QUIC packet.
  • step S3284 the first network device transmits the sorted data of the target CID to the second protocol layer.
  • step S3284 the first network device sends the sorted data of the target CID to the second protocol layer, which may be:
  • the sorted data packets of the target CID between the first network devices are sent to the second network side device, that is, each time the transmission is performed, only the arrival time of the first data packet of each CID is determined to determine the CID sent, according to The amount of data that can be sent is sent to the CID packet in the cache first; or it can be:
  • the target CID is determined again according to steps S3282 and S3283. Until the amount of data that can be sent meets the requirements.
  • the network side device when the network side device receives the multiple connected QUIC data packets, the QUIC data packets in each of the multiple QUIC data packets are sorted according to the SN, and each is obtained. Sort results of all the way QUIC packets.
  • the network side device acquires the arrival time of the first protocol layer QUIC data packet, determines the QUIC data packet that arrives at the first protocol layer at the earliest time according to the arrival time, and determines the CID corresponding to the earliest arriving QUIC data packet, and the CID in the CID
  • the result of sorting the QUIC packet as a result of sorting the QUIC packet sent by the first protocol layer to the second protocol layer.
  • FIG. 12 is a schematic diagram of data sorting according to an embodiment of the present invention.
  • the SN is sorted in an increasing order, but the receiving time of the data packet does not change with the change of the SN.
  • x, a, and n all belong to a positive integer, and T belongs to a positive number or 0.
  • the data of each CID is sorted according to the manner in the foregoing embodiment of the present invention, and the first protocol layer in the network side device is in accordance with the sorting result QUIC data packet to the second protocol layer.
  • the CID is first selected in chronological order, that is, the CID corresponding to the QUCI data of the first protocol layer is selected first, and then the QUIC packet in the CID is sent to the second protocol layer.
  • the transmission is performed according to the time reordering, that is, the first protocol layer waits for the transmission according to the order of the SN after receiving the data packet, and selects the transmission according to the chronological order when transmitting.
  • the data is (CID v, SN g).
  • the QUIC data packets may be sorted according to the time order.
  • the CID priority corresponding to different QUIC data packets may be set according to the service type, and the CID with higher priority is corresponding.
  • the QUIC packet is sent first according to the sort result.
  • the parameters determining the ordering of the QUIC data packets in the embodiment include: attribute information, arrival time of the first data packet to be transmitted, sequence number of the QUIC data packet, and the like. Specifically, the connection is first sorted according to the attribute information. When the attribute information is the same, the connection is sorted according to the arrival time of the first data packet. When the connection is the same, the QUIC data packets under the same connection are sorted according to the SN. . In the sending process of the first network side device, according to the above sorting result, the connection to be sent is first determined according to the attribute information and the time information, and secondly, the data to be sent by the connection is determined.
  • the method may further include the following steps:
  • step S340 the first network node determines whether the received data packet is a QUIC data packet.
  • step S340 may include the following steps:
  • step S341 the first network node determines that the IP protocol of the received data packet is the User Datagram Protocol UDP.
  • step S342 when the first network node determines that the IP protocol of the data packet is UDP, it determines whether the serial number corresponding to the same CID in the data packet is continuous.
  • step S343 when it is determined that the sequence numbers under the CID are consecutive, the first network node determines that the received data packet is a QUIC data packet.
  • the IP protocol indicates UDP, and the payload of the received packet UDP packet is identified.
  • the SN is used.
  • the domain is continuously changing. For example, first, determine the consecutive 8 bits after the UDP header, identify the public flag of the QUIC header to obtain the length of the CID, and obtain the size of the CID according to the length. The above judgment is repeated in the subsequent incoming data packet. Moreover, when the CIDs are the same, it is judged that the SN is incremented within a certain range (due to the disorder of transmission, not every packet is incremented, and it is kept increasing for a certain period of time).
  • the received data packet can be identified as a QUIC data packet.
  • the judgment of the protocol type is made more accurate by the judgment of the SN domain.
  • step S340 may further include the following steps:
  • step S344 the first network node acquires the IP address of the received data packet.
  • step S345 the first network node determines whether the IP address and/or UDP port number of the data packet is in the QUIC protocol list.
  • the first network node acquires a QUIC protocol address list, where the list is a set of IP addresses and/or UDP port numbers corresponding to the QUIC connection, optionally the list is sent by the second or third network node. Give the first network node. According to the information, the first network node acquires and receives Whether the packet is a QUIC packet.
  • step S346 the first network node determines that the received data packet is a QUIC data packet when it is determined that the IP address and/or the UDP port number of the data packet are in the QUIC protocol address list.
  • the server 100 or the terminal 300 may specifically perform auxiliary identification.
  • the received data packet is determined to be a QUIC data packet according to an indication in the data packet.
  • the IP protocol of the QUIC data packet sent by the server to the network side device indicates that the data packet is a QUIC data packet; or the network The side device receives the IP address (IP address) and/or UDP port list (UDP port list) used by the QUIC protocol packet sent by the sender of the data packet.
  • IP address IP address
  • UDP port list UDP port list
  • the UDP port list determines whether the IP address in the received data packet is in the UDP port list, and if so, determines that the received data packet is a QUIC packet; otherwise, it is a non-QUIC data packet, for example, the data packet may be RTP Other data packets that are carried in the UDP protocol.
  • the method may further include the following steps:
  • step S350 the first network node sends the indication information to the second network node when determining that the buffer of the QUIC packet exceeds a predetermined threshold.
  • the second network node In order to prevent the QUIC data packet buffered in the first network node from exceeding the preset threshold, the second network node continues to send the QUIC data packet to the first network node, thereby causing the first network to discard the QUIC data packet.
  • the second network node when the second network node receives the indication information sent by the first network node, the second network node stops sending the QUIC data packet to the first network node according to the indication information sent by the first network node, or the second network The node reduces the rate at which QUIC packets are sent to the first network node.
  • the indication information is sent by using a signaling transmission channel between the first network node and the second network node, or by an uplink QUIC packet header.
  • the first network node sets a buffer space of a preset capacity for the QUIC data packet sent by the second network node. specifically:
  • the first network node Determining, by the first network node, that the established bearer is a bearer transmitted by the QUIC protocol data packet, optionally, the first network node receives the buffer size suggested by the QUIC data packet or the second network node sends the data to the first network node. Rate information
  • the first network node determines the buffer size for the bearer transmitted by the QUIC protocol packet.
  • the first network node may further set a buffer space of a certain capacity for the QUIC data packet sent by the second network node, where the capacity is required.
  • the size can be set as needed. In this way, when the buffer space of the QUIC packet is sufficiently large, the QUIC packet sent by the second network node can be stored in the buffer space, so as to avoid receiving the QUIC data because the buffer space of the QUIC packet is too small. The phenomenon of packet discarding occurs, which can avoid the discarding of QUIC packets.
  • step S370 the first network node discards the QUIC data packet in reverse order according to the sorting result.
  • the space for buffering the QUIC data packet in the first network node is insufficient to buffer the received QUIC data packet, the QUIC data packet that cannot be buffered needs to be discarded, and the SN is preferentially larger.
  • the QUIC packet is discarded, avoiding the problem of intermediate deletion of the QUIC packet received by the first network node due to discarding the QUIC packet of the smaller SN.
  • the present invention can be implemented by means of software plus a necessary general hardware platform, and of course, can also be through hardware, but in many cases, the former is better.
  • Implementation Based on such understanding, the technical solution of the present invention, which is essential or contributes to the prior art, may be embodied in the form of a software product stored in a storage medium, including a plurality of instructions for causing a A computer device (which may be a personal computer, server, or network device, etc.) performs all or part of the steps of the methods described in various embodiments of the present invention.
  • the foregoing storage medium includes various types of media that can store program codes, such as a read only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.
  • a first network node is further provided. As shown in FIG. 13, the first network node includes:
  • the receiver 10 is configured to receive a fast user datagram protocol network connection QUIC data packet sent by the second network node;
  • the processor 20 is configured to sort the QUIC data packets to obtain a sorting result.
  • the sender 30 is configured to send the QUIC data packet to the third network node according to the sorting result.
  • the receiver 10 is further configured to acquire attribute information corresponding to the connection of the QUIC data packet respectively;
  • the processor 20 is further configured to sort the connection according to the attribute information
  • the attribute information includes one or more combinations of the following:
  • the identity of the QUIC connection The identity of the QUIC connection, the transmission delay requirement of the service transmitted by the QUIC connection, and the service type of the service transmitted by the QUIC connection.
  • the receiver 10 is further configured to acquire a sequence number SN corresponding to the QUIC data packet of the same connection;
  • the processor 20 is further configured to sort the QUIC data packets in a sequence from a small to a large serial number.
  • the first network node includes a first protocol layer and a second protocol layer, where the first protocol layer is used to sort the data packet, and the second protocol layer Used to send the sorted QUIC data packet;
  • the receiver 10 is further configured to receive the indication information sent by the second protocol layer, where the indication information is used to instruct the first protocol layer to send a QUIC data packet required by the second protocol layer to the second Protocol layer
  • the transmitter 30 is further configured to send, according to the indication information, a QUIC data packet to the second protocol layer;
  • the receiver 10 is further configured to receive the QUIC data packet sent by the first protocol layer, and send the received QUIC data packet to the third network according to the sequence in which the first protocol layer sends the QUIC data packet. node.
  • the first network node receives a QUIC data packet sent by a second network node from multiple connections, where each data packet of the multiple connected QUIC data packets corresponds to Serial number SN and connection identifier CID,
  • the receiver 10 is further configured to receive, by the second network node, the QUIC data packets from multiple connections, where each connection is identified by a unique CID;
  • the processor 20 is further configured to acquire an arrival time of each QUIC data packet to the first network node, where the first network node is in accordance with a sequence of arrival times of the first QUIC data packet of each connection.
  • the plurality of connections are sorted, and the connection corresponding to the earliest QUIC data packet of the first network node is determined as the first connection, and the CID corresponding to the first connection is used as the target CID;
  • the processor 20 is further configured to sort the QUIC data packets corresponding to the target CID according to the SN from small to large;
  • the processor 20 is further configured to use a result of sorting the QUIC data packets corresponding to the target CID as the sorting result.
  • the processor 20 is further configured to determine whether the received data packet is a QUIC data packet
  • the processor 20 is further configured to determine that the IP protocol of the received data packet is a user data packet protocol UDP;
  • the processor 20 is further configured to: determine, when the IP protocol of the data packet is UDP, whether the sequence number corresponding to the same CID in the data packet is continuous;
  • the processor 20 is further configured to: when it is determined that the serial numbers under the CID are consecutive, determine that the received data packet is the QUIC data packet.
  • the receiver 10 is further configured to acquire an IP address of the received data packet.
  • the processor 20 is further configured to determine whether an IP address of the data packet is located in a UDP port list.
  • the processor 20 is further configured to: when it is determined that the IP address of the data packet is in the QUIC protocol address list, determine that the received data packet is the QUIC data packet.
  • the first network node after the first network node determines that the received data packet is a QUIC data packet, the first network node further includes:
  • the transmitter 30 is further configured to: when determining that the buffer of the QUIC data packet exceeds a predetermined threshold, send the indication information to the second network node, so that the second network node stops according to the indication information. Transmitting, by the first network node, the QUIC data packet, or causing the second network node to decrease a sending rate of sending the QUIC data packet to the first network node;
  • the processor 20 is further configured to set a buffer space of a preset capacity for the QUIC data packet sent by the second network node;
  • the processor 20 is further configured to discard the QUIC data packet in descending order of sequence numbers according to the sorting result.
  • the present invention is applicable to a wide variety of general purpose or special purpose computing system environments or configurations.
  • the invention may be described in the general context of computer-executable instructions executed by a computer, such as a program module.
  • program modules include routines, programs, objects, components, data structures, and the like that perform particular tasks or implement particular abstract data types.
  • the invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are connected through a communication network.
  • program modules can be located in both local and remote computer storage media including storage devices.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明是关于一种数据传输方法及装置,其方法包括:第一网络节点接收第二网络节点发送的快速用户数据报协议网络连接QUIC数据包;所述第一网络节点对所述QUIC数据包进行排序,得到排序结果;所述第一网络节点根据所述排序结果将所述QUIC数据包发送给第三网络节点。这样在第一网络节点与第三网络节点之间的空口资源比较紧张的情况下,第二网络节点通过对接收到的QUIC数据进行排序,并根据排序结果将QUIC数据包有序发送给第三网络节点,可以大大降低第三网络节点接收到QUIC数据包的时延,并且还可以避免QUIC数据包在第一网络节点中的无序问题。

Description

数据传输方法及装置 技术领域
本发明实施例涉及通信技术领域,尤其涉及一种数据传输方法及装置。
背景技术
传输控制协议(Transmission Control Protocol,TCP)/网络互连协议(Internet Protocol,IP)是互联网的基础,其中网络中的常用的传输层协议包括TCP和UDP。与TCP相比,UDP更为轻量,使得在数据传输时采用UDP的传输效率往往更高,但由于UDP的错误校验位较少,使得在采用UDP传输数据时的可靠性比TCP低。根据TCP和UDP各自的特点,通常在游戏、流媒体以及网络电话(Voice over Internet Protocol,VoIP)等应用均采用UDP,而网页、邮件、远程登录等大部分的应用均采用TCP。
快速用户数据报协议网络连接(Quick UDP Internet Connection,QUIC)是Google公司制定的一种基于用户数据报协议(User Datagram Protocol,UDP)的低时延的互联网传输层协议。QUIC把TCP和UDP两种协议的优势结合起来,同时在数据传输时具有低时延性和高可靠性,并且还可以将QUIC应用到更高安全的协议上。此外,QUIC还增加了拥塞控制和自动重传等功能,所以可靠性上要比UDP更高。
为了提高数据传输的吞吐量,服务器采用QUIC向终端发送数据包时,可以采用多流传输的方式将数据发送给网络侧设备。在无线网络环境中,网络侧设备将接收到服务器发送的数据包通过3G/4G/5G等移动通信网络将数据发送给终端。然而,在网络侧设备与终端之间的无线资源有限的情况下,现有技术当中网络侧设备不能及时有效的将服务器发送的多路数据包转发给终端,很可能会大大增加终端接收到数据包的时延。
发明内容
为克服现有技术中存在的上述问题,本发明实施例提供一种数据传输方法及装置。
第一方面,本发明实施例提供了一种数据传输方法,包括:
第一网络节点接收第二网络节点发送的快速用户数据报协议网络连接QUIC数据包;
所述第一网络节点对所述QUIC数据包进行排序,得到排序结果;
所述第一网络节点根据所述排序结果将所述QUIC数据包发送给第三网络节点。
这样在第一网络节点与第三网络节点之间的空口资源比较紧张的情况下,第二网络节点通过对接收到的QUIC数据进行排序,并根据排序结果将QUIC数据包有序发送给第三网络节点,可以大大降低第三网络节点接收到QUIC数据包的时延,并且还可以避免QUIC数据包在第一网络节点中的无序问题。
在一种可能的设计中,所述第一网络节点对所述QUIC数据包进行排序具体包括:
所述第一网络节点获取所述QUIC的连接对应的属性信息;
所述第一网络节点根据所述属性信息对所述连接进行排序;
其中,所述属性信息包括下述的一个或多个组合:
QUIC连接的标识、QUIC连接所传输的业务的传输时延需求、QUIC连接所传输的业务的业务类型。
在一种可能的设计中,所述第一网络节点对所述QUIC数据包进行排序具体包括:
所述第一网络节点获取同一连接的所述QUIC数据包对应的序列号SN;
所述第一网络节点将所述QUIC数据包按照序列号由小到大的顺序进行排序。
在一种可能的设计中,所述第一网络节点包括第一协议层和第二协议层,所述第一协议层用于对所述数据包进行排序,所述第二协议层用于将排序后的所述QUIC数据包进行发送;所述第一网络节点根据所述排序结果将所述QUIC数据包发送给第三网络节点具体包括:
所述第一协议层接收所述第二协议层发送的指示信息,所述指示信息用于指示所述第一协议层将第二协议层要求的QUIC数据包发送到所述第二协议层;
所述第一协议层根据所述指示信息向所述第二协议层发送QUIC数据包;
所述第二协议层接收所述第一协议层发送的所述QUIC数据包,并按照所述第一协议层发送QUIC数据包的顺序将接收到的QUIC数据包发送给第三网络节点。
在一种可能的设计中,所述第一网络节点接收第二网络节点发送的快速用户数据报协议网络连接QUIC数据包具体包括:
所述第一网络节点接收第二网络节点发送的来自多个连接的所述QUIC数据包,其中,所述每个连接由唯一的CID进行标识;
所述第一网络节点对所述QUIC数据包进行排序包括:
所述第一网络节点获取每个QUIC数据包到达所述第一网络节点的到达时刻;所述第一网络节点根据每个连接的第一个QUIC数据包的到达时刻的先后顺序对所述多个连接进行排序,确定到达所述第一网络节点最早的所述QUIC数据包对应的连接作为第一连接,将所述第一连接对应的CID作为目标CID;
所述第一网络节点将所述目标CID对应的QUIC数据包按照SN由小到大进行排序;
所述第一网络节点将所述目标CID对应的QUIC数据包排序后的结果作为所述排序结果。
在一种可能的设计中,所述方法还包括:
所述第一网络节点判断接收到的数据包是否为QUIC数据包;
其中,所述第一网络节点判断接收到的数据包是否为QUIC数据包,包括:
所述第一网络节点判断接收到的数据包的IP协议为用户数据报文协议UDP;
所述第一网络节点在判断到所述数据包的IP协议为UDP时,判断所述数据包中相同CID对应的序列号是否连续;
所述第一网络节点在判断到所述CID下的序列号连续时,确定接收到的数据包是所述QUIC数据包。
在一种可能的设计中,所述第一网络节点判断接收到的数据包是否为QUIC 数据包,包括:
所述第一网络节点获取接收到的数据包的IP地址;
所述第一网络节点判断所述数据包的IP地址是否位于UDP端口列表中;
所述第一网络节点在判断到所述数据包的IP地址位于QUIC协议地址列表中时,确定接收到的数据包是所述QUIC数据包。
在一种可能的设计中,所述第一网络节点在判断所述QUIC数据包的缓存超过预定门限值时,向所述第二网络节点发送指示信息,以使所述第二网络节点根据所述指示信息停止向所述第一网络节点发送所述QUIC数据包,或者以使所述第二网络节点降低向所述第一网络节点发送所述QUIC数据包的发送速率;
或者,所述第一网络节点为第二网络节点发送的所述QUIC数据包设置预设容量的缓存空间;
或者,所述第一网络节点按照所述排序结果,按照序列号由大到小的顺序丢弃所述QUIC数据包。
第二方面,本发明实施例还提供了一种第一网络节点,包括:
接收器,用于接收第二网络节点发送的快速用户数据报协议网络连接QUIC数据包;
处理器,用于对所述QUIC数据包进行排序,得到排序结果;
发送器,用于根据所述排序结果将所述QUIC数据包发送给第三网络节点。
在一种可能的设计中,
所述接收器,还用于获取所述QUIC数据包的连接分别对应的属性信息;
所述处理器,还用于根据所述属性信息对所述连接进行排序;
其中,所述属性信息包括下述的一个或多个组合:
QUIC连接的标识、QUIC连接所传输的业务的传输时延需求、QUIC连接所传输的业务的业务类型。
在一种可能的设计中,所述接收器,还用于获取同一连接的所述QUIC数据包对应的序列号SN;
所述处理器,还用于将所述QUIC数据包按照序列号由小到大的顺序进行排 序。
在一种可能的设计中,所述第一网络节点包括第一协议层和第二协议层,所述第一协议层用于对所述数据包进行排序,所述第二协议层用于将排序后的所述QUIC数据包进行发送;
所述接收器,还用于接收所述第二协议层发送的指示信息,所述指示信息用于指示所述第一协议层将第二协议层要求的QUIC数据包发送到所述第二协议层;
所述发送器,还用于根据所述指示信息向所述第二协议层发送QUIC数据包;
所述接收器,还用于接收所述第一协议层发送的所述QUIC数据包,并按照所述第一协议层发送QUIC数据包的顺序将接收到的QUIC数据包发送给第三网络节点。
在一种可能的设计中,所述接收器,还用于接收第二网络节点发送的来自多个连接的所述QUIC数据包,其中,所述每个连接由唯一的CID进行标识;
所述处理器,还用于获取每个QUIC数据包到达所述第一网络节点的到达时刻;所述第一网络节点根据每个连接的第一个QUIC数据包的到达时刻的先后顺序对所述多个连接进行排序,确定到达所述第一网络节点最早的所述QUIC数据包对应的连接作为第一连接,将所述第一连接对应的CID作为目标CID;
所述处理器,还用于将所述目标CID对应的QUIC数据包按照SN由小到大进行排序;
所述处理器,还用于将所述目标CID对应的QUIC数据包排序后的结果作为所述排序结果。
在一种可能的设计中,所述处理器,还用于判断接收到的数据包是否为QUIC数据包;
所述处理器,还用于判断接收到的数据包的IP协议为用户数据报文协议UDP;
所述处理器,还用于在判断到所述数据包的IP协议为UDP时,判断所述数据包中相同CID对应的序列号是否连续;
所述处理器,还用于在判断到所述CID下的序列号连续时,确定接收到的数据包是所述QUIC数据包。
在一种可能的设计中,所述接收器,还用于获取接收到的数据包的IP地址;
所述处理器,还用于判断所述数据包的IP地址是否位于UDP端口列表中;
所述处理器,还用于在判断到所述数据包的IP地址位于QUIC协议地址列表中时,确定接收到的数据包是所述QUIC数据包。
在一种可能的设计中,所述发送器,还用于在判断所述QUIC数据包的缓存超过预定门限值时,向所述第二网络节点发送指示信息,以使所述第二网络节点根据所述指示信息停止向所述第一网络节点发送所述QUIC数据包,或者以使所述第二网络节点降低向所述第一网络节点发送所述QUIC数据包的发送速率;
或者,所述处理器,还用于为第二网络节点发送的所述QUIC数据包设置预设容量的缓存空间;
或者,所述处理器,还用于按照所述排序结果,按照序列号由大到小的顺序丢弃所述QUIC数据包。
附图说明
图1为本发明实施例提供的一种数据传输的场景示意图;
图2为本发明又一实施例提供的一种数据传输示意图;
图3为本发明又一实施例提供的一种数据传输方法流程图;
图4为图3中步骤S320的流程图;
图5为图3中步骤S320的又一流程图;
图6为图3中步骤S330的流程图;
图7为图3中步骤S320的又一流程图;
图8为图3中步骤S320的又一流程图;
图9为本发明又一实施例提供的一种数据传输方法流程图;
图10为图3中步骤S340的流程图;
图11为图3中步骤S340的又一流程图;
图12为本发明实施例中提供的数据排序示意图;
图13为本发明实施例提供的第一网络节点的结构示意图。
具体实施方式
下面结合附图,对本发明的实施例进行描述。
图1为服务器100、网络侧设备200和终端300之间的数据交互场景示意图,如图1所示,服务器100采用QUIC以多路复用的方式向网络侧设备200发送数据包,网络侧设备200接收服务器100发送的多路数据包,并将接收到的这些数据包通过3G/4G/5G等空口资源转发给终端300。其中,网络侧设备200与终端300之间通常采用第三代合作伙伴(3rd Generation Partnership Project,3GPP)协议。
示例性的,如图1所示,在服务器100向网络侧设备200发送QUIC数据包时,服务器100将所需发送的QUIC数据包分为三路发送给网络侧设备200。其中,服务器100发送的QUIC数据包携带有连接标识(Connection Identity,CID)和序列号(Sequence Number,SN),CID为和服务器100所建立的连接的标识,SN为该连接上每个QUIC数据包的传输的编号。网络侧设备200在接收服务器100发送的多路QUIC数据包时,如果网络侧200与终端300之间有充足的空口资源,那么网络侧设备200可以将服务器100发送的多路QUIC数据包快速转发给终端300。然而,一旦网络侧设备200与终端300之间的空口资源比较紧张,从服务器100发送到网络侧设备200的QUIC数据包会缓存在网络侧设备200,等待发送资源,很可能造成终端300接收网络侧设备200发送的QUIC数据包的时延大大增加。另外,在网络侧设备200与终端300之间的空口资源比较紧张时,由于网络侧设备200缓存中QUIC数据包乱序的问题,会进一步导致终端300不能及时接收到服务器100通过网络侧设备200发送的QUIC数据包,导致时延的增加。
需要说明的是,CID是网络侧设备200与服务器100之间连接的编号,用以标识服务器100或者应用的名称或者类型等,进一步的也可以用来标识业务类型。在本发明提供的其它实施例中,以及后续的QUIC演进中,还可以采用其它的参数来代替CID,但其作用相同。
因此,为了解决现有技术中存在的上述问题,本发明提供了一种数据传输 方法及装置。
结合图1,在网络侧设备200接收到服务器100发送的QUIC数据包时,QUIC数据包携带的CID可能相同,也可能不同。例如:当服务器100为服务器群或者服务器100包含不同业务/应用的服务器时,每个服务器可能有一个CID。或者当服务器100中仅包含一个服务器,但是该服务器可以提供多种类型的业务时,不同的业务也可能有不同的CID。但是,同一个CID的QUIC数据包分别对应一个在一定范围内不重复的SN,SN代表QUIC数据包的传输的先后次序,根据SN所占的比特数可以确定数据包SN的范围。如图2所示。
在本发明实施例中,首先以网络侧设备200仅与一个服务器100的连接(即:一个CID的标识QUIC数据流),进行QUIC数据包的发送为例进行说明。
在网络侧设备200接收到服务器100发送的QUIC数据包时,为了减少在网络侧设备200与终端300之间的无线空口资源紧张时,造成终端侧QUIC数据包接收的延迟,本发明实施例中,在网络侧设备200接收到服务器100发送的QUIC数据包时,对接收到的QUIC数据包进行排序,并按照排序结果向终端300发送QUIC数据包。通过该方式,可以减少数据包在传输过程中的乱序所造成的时延,提升用户的业务体验。
具体的,以LTE系统为例,服务器100发送的数据包均通过同一个无线承载进行传输,网络侧200包括第一协议层和第二协议层,第一协议层为分组数据汇聚协议(Packet Data Convergence Protocol,PDCP)协议层,第二协议层为无线链路层控制协议(Radio Link Control,RLC)协议层和/或MAC层、物理层等PDCP之下的协议层。在第一协议层接收到服务器100发送的QUIC数据包时,按照这些QUIC数据包的SN进行从小到大排序。需要说明的是,取决于SN的比特数,SN的大小有一定的范围,例如,SN为0比特,则SN的范围为0…255。在上述按照SN进行排序时,SN按照从小到大的顺序进行排序时,可能会出现SN到255,然后到0重新开始的情况,此时排序时0应该在255的后面。因此,在排序时,需要判断SN是否跳转重新计算。在一轮SN内从小到大排序,下一轮的SN不论序列号大小,均在前一轮的后面。这里的一轮是指从SN的第一个值计算到最后一值。
由于网络侧设备200与终端300之间采用的是无线传输,在无线资源较少时,网络侧设备200需要暂时缓存接收到的数据包,不能实时的将服务器100 发送的QUIC数据包发送终端300,因此网络侧200对缓存中的QUIC数据包进行排序时,尽量以服务器100发出的先后顺序将QUIC数据发送给终端300,这样可以避免因发送次序混乱造成终端300不能按序接收服务器100发送的QUIC数据包,造成应用层的处理延迟,减少终端300接收到QUIC数据包出现延迟过大的情况发生。
因此,在第一协议层将服务器100发送的QUIC数据包排序完成后,按照排序结果,依次将排序后的QUIC数据包发送给第二协议层,第二协议层按照第一协议层发送QUIC数据包的顺序,将该QUIC数据包递交到网络侧设备200的底层,并依次发送给终端300。
另外,在网络侧设备200接收到服务器100发送的QUIC数据包时,网络侧设备200的第一协议层还可以根据第二协议层发送的指示信息发送QUIC数据包。具体的,第一协议层接收第二协议层发送的指示信息,该指示信息包括第二协议层当前需要接收哪些QUIC数据包,或者需要接收多少个QUIC数据包等。或者,第一协议层还可以根据第二协议层的缓存大小进行评估,根据所述评估结果向第二协议层发送QUIC数据包。
需要说明的是,本发明专利中对网络侧设备200的协议层的划分方式仅是一种示例,为了具体的说明网络侧设备需要进行的操作,尤其是针对LTE系统,可能的协议层还包含MAC和物理层,而且对QUIC数据包的排序功能可以在PDCP层,也可以在其他协议层来完成或者作为一个单独的功能实体而存在。同时,在实际的应用中,网络侧设备的排序功能(上述的第一协议层的操作)和数据处理、发送功能(上述的第二协议层的操作)可以由一个协议层或者功能实体完成,也可以由多个协议层或者功能实体完成,在此不做限制。
在本发明中对QUIC数据包的排序针对的是数据包缓存在网络侧设备200中不能及时下发的场景,如果此时空口资源充足,则服务器100所发送的QUIC数据包可以及时的发送到终端300,则QUIC数据包无需在网络侧缓存或者只需缓存很少的QUIC数据包,则不需要网络侧设备的排序功能。具体的开启网络侧设备的排序功能的时机,依赖于网络侧的算法,在此不作限定,只描述如果排序功能开启时,网络侧设备200的操作。
在本发明提供的又一实施例中,网络侧设备200还可以根据网络侧设备200与终端300之间的空口资源的使用情况,确定需要向终端300发送的QUIC数据 包的大小。示例性的,网络侧设备200在获取到向终端300发送的QUIC数据包的大小时,会判断当前网络侧设备缓存中的待发送的QUIC数据包的大小,如果QUIC数据包过大,那么网络侧设备200可以通过级联或分割的方式将不符合传输要求的QUIC数据包处理为符合要求的QUIC数据包,具体可以在网络设备200的第一协议层或第二协议层处理。
在本发明提供的又一实施例中,在网络侧设备200接收到服务器100发送的QUIC数据包时,如果网络侧设备200接收到服务器100发送的QUIC数据包中,包括多个业务类型的QUIC数据包,那么网络侧设备200的第一协议层还可以根据QUIC数据包的业务类型进行排序,其中,每一业务类型的QUIC数据包通过CID、源和/或目的端口号、源和/或目的IP地址、QUIC连接的标识中的至少一个参数进行区分。例如,以通过CID进行业务类型的区分为例,第一协议层可以根据预先确定的业务类型的优先级,将优先级高的CID所标识的连接所接收到的QUIC数据包优先发送给第二协议层。另外,第一协议层还可以根据业务质量(Quality of Service,QoS)参数,按照QUIC数据包所承载业务的时延要求,向第二协议层发送QUIC数据包,例如第一协议层优先将时延要求高的QUIC数据包发送给第二协议层等等。可选地,在根据业务类型进行排序之后,同一业务类型的数据包再按照上述实施例中按照SN进行排序的方式按照SN排序之后,再发送到第二协议层。
在本发明提供的又一实施例中,在网络侧设备200接收到服务器100发送的QUIC数据包时,网络侧设备200还可以根据到达第一协议层QUIC数据包的到达时刻,来确定首先向第二协议层发送哪个CID所标识的连接中接收到的QUIC数据包。示例性的,网络侧设备200接收到服务器100发送的多个CID的多个QUIC数据包,网络侧设备200的第一协议层对这些不同CID的QUIC数据包以CID为基础分别进行排序。网络侧设备200监测到达第一协议层QUIC数据包的到达时刻,获取到达时刻最早的QUIC数据包对应的CID,并将该CID排序后的QUIC数据包优先发送给第二协议层。
在本发明提供的又一实施例中,网络侧设备200在将QUIC数据包发送给终端300的过程中,依照上述实施例中对QUIC数据包的排序结果进行发送。示例性的,如果网络侧设备200是将目标CID中的多个QUIC数据包按照SN由小到大的顺序进行排序,那么网络侧设备200在将这些QUIC数据包发送给终端300时,也是按照SN的由小到大的顺序将这些QUIC数据包发送给终端300,保证 终端300在接收网络侧设备200发送的QUIC数据包时按照正常的顺序接收,避免QUIC数据包接收顺序出现混乱的现象。
在本发明提供的又一实施例中,为了确定服务器100向网络侧设备200发送的数据包是否为QUIC数据包,本发明实施例中还提供了识别QUIC数据包的方式,包括以下几种方式:
第一种方式,在网络侧设备200中识别接收到的数据包是否为QUIC数据包。
具体的,在网络侧设备200接收到的数据包满足以下要求时,可以确定接收到的数据包为QUIC数据包:
如果网络侧设备200接收到的数据包中,IP包头中IP协议指示为UDP,则继续识别接收到的UDP数据包的有效载荷(payload)。首先,根据QUIC包头的格式判断CID的长度,从而识别CID域相同的数据包。其次,在判断出CID域,且相同的情况下,判断SN域是在一定范围内连续变化的。例如:首先,判断UDP payload中的前8位(即QUIC包头中的public flag域),根据public flag的值得到数据包中CID域的长度,并获得CID的大小。在每个数据包中重复进行上述判断。并且,当判断数据包的CID相同时,继续判断public域和CID域之后的SN域(可能还有version域,如果有则跳过),如果该域是在一定范围内递增的(例如:在0-255之间递增,由于传输的乱序,不一定每个包都是递增的,在统计的一段时间内是保持增加的),则说明收到的数据包为QUIC数据包。
需要说明的是,在上述过程中,SN的判断不是必须的,在判断出数据包的CID域一直相同,也可以识别出接收到的数据包为QUIC数据包。通过SN域的判断使得协议类型的判断更为精确。而且,QUIC协议目前还在进一步的演进中,上述各个域的名称和在包头中的位置随着协议的演进可能有所变化,但是判断一个连接中数据传输序列号的连续性仍然能够识别QUIC数据包。
第二种方式,通过其他节点协助网络侧识别所接收到的数据包是否为QUIC数据包。
本发明实施例中,具体可以通过服务器100或者终端300进行辅助识别。
具体的,根据所接收到的数据包中的指示来确定接收到的数据包为QUIC数据包,例如:服务器100向网络侧设备200发送的QUIC数据包的IP包头中IP协议指示该数据包为QUIC数据包;或者网络侧设备200接收服务器100和/ 或者终端300发送的QUIC连接建立所对应的IP address list(IP地址列表)和/或UDP port list(UDP端口列表),当网络侧设备200接收到数据包时,由网络侧设备200根据所述UDP port list和/或IP address list判断接收到的数据包中的IP address和/或UDP port是否在所述列表中(所述列表中至少包含一个地址和/或端口号信息),如果是,则判断所接收的数据包是QUIC包;否则,为非QUIC数据包,例如:该数据包可能为实时传输协议(Real-time Transport Protocol,RTP)等其他承载在UDP协议的数据包。需要说明的是,本发明中的IP地址或者UDP端口号可以是单指源端的也可以是单指目的端的,也可以同时指源端和目的端的,后续不再描述。
第二种方式,通过为QUIC建立专用承载方式来识别QUIC数据包。
通常在网络侧的承载建立时,网络侧设备200会获取数据包的业务类型、业务特征。在承载建立时,网络侧设备200获取所述业务数据包承载在QUIC之上,并且为该业务建立专用的承载,不会和其他传输层协议为非QUIC的数据包共用承载。因此,网络侧设备200可以通过承载的标识或者网络侧设备200流的标识来识别数据包的类型。
另外,如果数据包的IP包头中IP protocol指示为UDP,并且承载的RLC为确认(Acknowledge Mode,AM)模式;或者所述业务为web或video,则网络侧设备200也可以识别出所述数据包为QUIC数据包。
需要说明的是,本发明实施例中以网络侧设备200将服务器100发送的QUIC数据包发送给终端300为例进行说明,实施例中还可以是其它协议类型的数据包,本发明实施例并不限于此。
本发明实施例主要应用于移动通信系统,该系统架构中包含用户设备、服务器以及网络侧设备。其中所述服务器,是指提供业务数据的设备,可以是第三方的业务服务器,也可以是核心网的节点,也可以是属于运营商的提供业务数据的服务器。其中所述网络侧设备可以为接入网设备(Radio Access Network,RAN)和核心网设备的统称,或者指接入网设备或者是核心网设备。或者所述网络侧设备也可以为进行业务数据传递过程中的任意中继设备,所述中继设备也可以为一种用户设备。进一步的,所述网络侧设备还可以分为控制面和用户面两种逻辑功能实体,本发明实施例中并不进行区分,在实际的应用中本方案引入的网络侧设备的功能可以放在控制面功能实体,也可以放在用户面功能实 体,在此不作限制。
需要说明的是,本发明上述实施例是为了便于说明,采用了特定的场景,在本发明提供的其它实施例中,还可以应用到任意网络节点之间的数据传输过程中,本发明实施例并不限于此。
为了详述上述各实施例中网络侧设备200的执行流程,在本发明提供的又一实施例中,如图3所示,提供的一种数据传输方法,该方法包括如下步骤:
在步骤S310中,第一网络节点接收第二网络节点发送的QUIC数据包。
本发明实施例中的第一网络节点相当于上述实施例中的网络侧设备200,第二网络节点相当于上述实施例中的服务器100,下述中的第三网络节点相当于上述实施例中的终端300,但本发明实施例并不局限于上述实施例中的应用场景。
第一网络节点接收第二网络节点发送的QUIC数据包,可以是第一网络节点接收同一个第二网络节点发送的QUIC数据包,还可以是接收多个第二网络节点发送的QUIC数据包。
在步骤S320中,第一网络节点对QUIC数据包进行排序,得到排序结果。
可选地,在步骤S320之前还包括,第一网络节点判断是否对QUIC数据包进行排序。具体的,如果第一网络节点的排序功能实体缓存中没有QUIC数据包,或者只有较少的QUIC数据包,则第一网络节点不执行排序功能。
在步骤S330中,第一网络节点根据排序结果将排序后的QUIC数据包发送给第三网络节点。
结合上述各实施例,第一网络节点与第二网络节点之间采用的是QUIC以多路的方式传输QUIC数据包,第一网络节点与第三网络节点之间采用无线方式用一个承载来传输QUIC数据包。
因此,在第二网络节点和第一网络节点之间的数据传输速率大于第一网络侧节点和第三网络节点之间的数据传输速率时,即:第一网络节点与第三网络节点之间的空口资源比较紧张的情况下,第一网络节点接收到第二网络节点发送的数据包,会缓存在第一网络节点侧(或者第一网络节点的排序功能缓存中),第一网络节点通过对接收到的QUIC数据进行排序,并根据排序结果将QUIC数据包发送给第三网络节点,避免在可以分配给第三网络节点的空口资源有限的情况下,导致第三网络节点接收到的QUIC数据包乱序,从而导致当传输层或者 应用层对数据包有按序接收需求时,对数据包处理的延迟。
为了详述第一网络节点如何对接收到的QUIC数据包进行排序,第一网络节点对发送QUIC数据包的连接进行排序,作为图3方法的细化,在本发明提供的又一实施例中,如图4所示,步骤S320还可以包括如下步骤:
在步骤S321中,第一网络节点获取QUIC数据包对应的属性信息。
在步骤S322中,第一网络节点根据属性信息对QUIC数据包进行排序。其中,属性信息包括下述的一个或多个组合:QUIC连接的标识、QUIC连接所传输的业务的传输时延需求、QUIC连接所传输的业务的业务类型。
另外,在本发明提供的实施例中,如果相同属性信息的QUIC连接包含多个QUIC数据包,由于每个QUIC数据包分别对应一个SN,可以按照SN的大小对相同属性信息的QUIC数据进行排序。
因此,在步骤S323中,第一网络节点在根据属性信息排序之后,针对属于相同属性信息连接的数据包,按照SN从小到大的顺序进行排序。
这样首先根据QUIC数据包的属性信息进行排序,然后再对相同属性信息的QUIC数据包按照SN的大小进行排序,得到QUIC数据包的最终排序结果。
结合上述各实施例,本发明实施例通过获取QUIC的属性信息,根据QUIC数据表的属性信息来确定QUIC数据包的调度优先级,那么可以针对高优先级的QUIC数据包进行优先排序,以便及时发送给第三网络节点,减少对用户体验的负增益。
需要说明的是上述属性信息是为了确定QUIC连接或者QUIC流的优先级,通常在无线网络系统中,该优先级时根据业务类型以及签约信息来决定的。所以,上述属性信息还可以进一步的包含签约信息。在上述实施例中,第一网络节点获取到属性信息之后,根据所述属性信息得到不同QUIC数据包的处理优先级时,还包括第一网络侧设备获取到不同属性信息对应的优先级信息,该信息可以根据网络提供商的策略信息决定,也可以根据签约信息决定,或者根据业务的类型决定。
为了详述第一网络节点如何对接收到的QUIC数据包进行排序,作为图3方法的细化,在本发明提供的又一实施例中,如图5所示,步骤S320还可以包括如下步骤:
在步骤S323中,第一网络节点获取同一连接的QUIC数据包对应的序列号SN。
在步骤S324中,第一网络节点将QUIC数据包按照序列号由小到大的顺序进行排序。
由于QUIC数据包中的SN表示数据发出的先后顺序,第一网络节点在接收第二网络节点通过多路传输的方式发送的QUIC数据包时,有些后发出的QUIC数据包可能先到达第一网络节点,有些先发出的QUIC数据包可能后到达第一网络节点,取决于每路传输的路由节点选择和所经的路由节点的发送策略,可能不是按照发送的顺序到达,因此,第一网络节点需要将接收到同一连接的QUIC数据包按照SN进行排序,以便按照排序结果将QUIC数据包发送给第三网络节点。
需要说明的是,上述排序过程发生在第一网络节点接收到QUIC数据包,且当前第一网络节点不能将所述参加排序的QUIC数据包发出去的时候。如果第一网络节点有资源可以发送数据包,较优地,即使排序没有完成,也将QUIC数据包发送到第三网络节点,以此保证数据传输的及时性。
为了详述第一网络节点如何根据排序结果将QUIC数据包发送给第三网络节点,作为图3方法的细化,如图6所示,在本发明提供的又一实施例中,第一网络节点包括第一协议层和第二协议层,第一协议层用于对QUIC数据包进行排序,第二协议层用于将排序后的数据包进行发送,步骤S330还可以包括:
在步骤S331中,第一协议层接收第二协议层发送的指示信息。
其中,指示信息用于指示第一协议层将第二协议层要求的QUIC数据包发送到第二协议层。
在步骤S332中,第一协议层根据指示信息向第二协议层发送QUIC数据包。
在步骤S333中,第二协议层接收第一协议层发送的QUIC数据包,并按照第一协议层发送QUIC数据包的顺序将接收到的QUIC数据包发送给第三网络节点。
在网络侧设备200接收到服务器100发送的QUIC数据包时,网络侧设备200的第一协议层还可以根据第二协议层发送的指示信息发送QUIC数据包。具体的,第一协议层接收第二协议层发送的指示信息,该指示信息包括第二协议层当前 需要接收哪些连接的QUIC数据包,或者需要接收的QUIC数据包的大小等。或者,第一协议层还可以根据第二协议层的缓存大小进行评估,根据评估结果确定向第二协议层发送的QUIC数据包的大小和个数。
需要说明的是,上述第一协议层和第二协议层仅仅是第一网络节点的功能划分方式,根据具体的系统,还可以有多个协议层的划分方式,在此不做限定。对于第二协议层,所请求或者接收到的第一协议层的数据包也可以称之为第一协议层数据包,其中包含的是增加了第一协议层包头信息的QUIC数据包,为了描述简单,本专利均称之为QUIC数据包。
为了详述第一网络节点如何对接收到的QUIC数据包进行排序,作为图3方法的细化,在本发明提供的又一实施例中,第一网络节点接收第二网络节点发送的多个连接的QUIC数据,多个连接中每个连接对应一个连接标识CID,,如图7所示,步骤S320还可以包括如下步骤:
在步骤S325中,第一网络节点获取每个QUIC数据包的到达时刻。
其中,第一网络节点根据每个连接的第一个QUIC数据包的到达时刻的先后顺序对多个连接进行排序,确定到达第一网络节点最早的QUIC数据包对应的连接作为第一连接,将第一连接对应的CID作为目标CID。
在步骤S326中,第一网络节点根据到达时刻的先后顺序对第二网络节点的连接进行排序。
在步骤S327中,第一网络节点将目标CID对应的QUIC数据包按照SN由小到大进行排序得到的结果作为所述排序结果。
在本发明提供的又一实施例中,在网络侧设备接收到多个连接的QUIC数据包时,网络侧设备还可以根据到达第一协议层QUIC数据包的到达时刻的先后顺序,来确定连接的排序结果,实施例中首先确定达到时刻最早的QUIC数据包,然后将该到达时刻最早的QUIC数据包对应的CID作为目标CID,并将目标CID中对应的QUIC数据包按照SN由小到大的顺序进行排序,得到排序结果。第一协议层将目标CID的QUIC数据包按照由小到大的排序结果向第二协议层发送。本发明实施例还可以将每个连接CID的QUIC数据包分别排序,然后获取其中目标CID的QUIC数据包的排序结果。
在本发明提供的又一实施例中,在网络侧设备接收到多个连接的QUIC数据 包时,网络侧设备还可以根据到达第一协议层QUIC数据包的到达时刻的先后顺序,来确定连接的排序结果。实施例中,首先确定每个连接中第一个到达第一协议层的QUIC数据包的到达时刻,然后选择到达时刻最早的QUIC数据包对应的CID作为目标CID,并将目标CID中的QUIC数据包按照SN由小到大的顺序进行排序,选择目标CID中排序后的第一个QUIC数据包作为目标数据包,放入待发送缓存。第一协议层对每个数据包执行上述操作,直至得到来自多个连接的多个QUIC数据包排序结果。
示例性的,网络侧设备接收到服务器发送的多个CID的多个QUIC数据包,网络侧设备的第一协议层对接收到的QUIC数据包以CID为分类,进行QUIC数据包的排序,例如:CID5(SN 1,SN 2,SN3…),CID8(SN10,SN11,SN12…)。网络侧设备监测到达第一协议层QUIC数据包的到达时刻,按照到达时刻的先后,将排序后的QUIC数据包发送到第二协议层。例如:获取到达时刻最早的QUIC数据包对应的CID,并将该CID排序后的QUIC数据包优先发送给第二协议层。
为了详述第一网络节点如何对接收到的QUIC数据包进行排序,作为图3方法的细化,在本发明提供的又一实施例中,第一网络节点接收多个连接发送的多路QUIC数据,多路QUIC数据中的每一路数据分别携带有第二网络节点的连接标识CID;如图8所示,步骤S320还可以包括如下步骤:
在步骤S3281中,第一网络节点将第二网节点发送的每个连接的QUIC数据包按照序列号由小到大的顺序进行排序。
在步骤S3282中,第一网络节点获取最早到达的QUIC数据包。
在步骤S3283中,第一网络节点获取最早到达的QUIC数据包的目标CID。
在步骤S3284中,第一网络设备将目标CID的排序后的数据发送到第二协议层。
需要说明的是,在步骤S3284中,第一网络设备将目标CID的排序后的数据发送到第二协议层可以是:
第一网路设备之间目标CID的排序后的数据包发给第二网络侧设备,即每次发送时,只看每个CID的第一个数据包的到达时间来确定发送的CID,按照可以发送的数据量优先发送缓存中该CID的数据包;也可以是:
每发送一个QUIC数据包就按照步骤S3282和S3283再确定一次目标CID, 直至可以发送的数据量满足要求。
在本发明提供的又一实施例中,在网络侧设备接收到多个连接的多路QUIC数据包时,对多路QUIC数据包中的每一路中的QUIC数据包按照SN进行排序,得到每一路的QUIC数据包的排序结果。
网络侧设备获取到达第一协议层QUIC数据包的到达时刻,根据达到时刻确定最早到达第一协议层的QUIC数据包,并确定该最早到达的QUIC数据包对应的CID,并将该CID中的QUIC的数据包的排序结果,作为由第一协议层向第二协议层发送QUIC数据包的排序结果。
图12为本发明实施例提供的数据排序的示意图。
本发明实施例在数据包排序的过程中,SN是以递增的顺序进行排序的,但是数据包的接收时间并不随着SN的变化而变化。其中,图12中,x、a、n都属于正整数,T属于正数或0。
在有QUIC数据包对应CID的时,每个CID的数据按照本发明上述实施例中的方式将QUIC排序之后,网络侧设备中的第一协议层在向第二协议层按照排序结果QUIC数据包传输给时,首先按照时间顺序选择CID,即选择最先达到第一协议层的QUCI数据对应的CID,然后将该CID中的QUIC数据包发送数据包给到第二协议层。
或者,在向第二协议层递交数据进行传输时,按照时间再次排序进行发送,即:第一协议层收到数据包之后按照SN的顺序排序等待发送,在发送的时候按照时间顺序选择发送的数据为(CID v,SN g)。
实施例中可以按照时间排序对QUIC数据包进行排序,在本发明提供的其它实施例中,还可以按照业务类型等设定不同QUIC数据包对应的CID优先级,将优先级较高的CID对应的QUIC数据包按照排序结果优先发送。
实施例中确定对QUIC数据包的排序的参数包含:属性信息、待发送的首个数据包的到达时间、QUIC数据包的序列号等。具体地,首先依据属性信息对连接进行排序,在属性信息相同时,按照首个数据包的到达时间对连接进行排序,在连接相同的情况下,按照SN对同一连接下的QUIC数据包进行排序。在第一网络侧设备的发送过程中,根据上述排序结果,首先根据属性信息和时间信息确定待发送的连接,其次确定该连接需要发送的数据。
作为图3方法的细化,在本发明提供的又一实施例中,如图9所示,该方法还可以包括如下步骤:
在步骤S340中,第一网络节点判断接收到的数据包是否为QUIC数据包。
其中,如图10所示,步骤S340可以包括如下步骤:
在步骤S341中,第一网络节点判断接收到的数据包的IP协议为用户数据报文协议UDP。
在步骤S342中,第一网络节点在判断到数据包的IP协议为UDP时,判断数据包中相同CID对应的序列号是否连续。
在步骤S343中,第一网络节点在判断到CID下的序列号连续时,确定接收到的数据包是QUIC数据包。
如果网络侧设备接收到的数据包中,IP包头中IP协议指示为UDP,识别接收到的数据包UDP数据包的有效载荷(payload),根据QUIC包头的格式判断在CID相同的情况下,SN域是连续变化的。例如:首先,判断UDP包头后的接连8位,识别QUIC包头的public flag得到CID的长度,根据所述长度获得CID的大小。在后续到来的数据包中重复进行上述判断。并且,当CID相同时,判断SN是在一定范围内递增的(由于传输的乱序,不一定每个包都是递增的,在统计的一段时间内是保持增加的)。
需要说明的是,在上述过程中,判断出数据包的CID域一直相同,也可以识别出接收到的数据包为QUIC数据包。通过SN域的判断使得协议类型的判断更为精确。
作为图9方法的细化,在本发明提供的又一实施例中,如图11所示,步骤S340还可以包括如下步骤:
在步骤S344中,第一网络节点获取接收到的数据包的IP地址。
在步骤S345中,第一网络节点判断数据包的IP地址和/或UDP端口号是否位于QUIC协议列表中。
具体的,在步骤344之前,第一网络节点获取QUIC协议地址列表,该列表为QUIC连接对应的IP地址和/或UDP端口号的集合,可选地该列表由第二或者第三网络节点发送给第一网络节点。根据所述信息,第一网络节点获取接收到 的数据包是否为QUIC数据包。
在步骤S346中,第一网络节点在判断到数据包的IP地址和/或UDP端口号位于QUIC协议地址列表中时,确定接收到的数据包是QUIC数据包。
本发明实施例中,具体可以通过服务器100或者终端300进行辅助识别。
具体的,根据数据包中的指示来确定接收到的数据包为QUIC数据包,例如:服务器向网络侧设备发送的QUIC数据包的IP包头中IP协议指示该数据包为QUIC数据包;或者网络侧设备接收数据包发送方发送的QUIC协议数据包所采用的IP address(IP地址)和/或UDP port list(UDP端口列表),当网络侧设备接收到数据包时,由网络侧设备根据所述UDP port list判断接收到的数据包中的IP address是否在UDP port list中,如果是,则判断所接收的数据包是QUIC包;否则,为非QUIC数据包,例如该数据包可能为RTP等其他承载在UDP协议的数据包。
作为图9方法的细化,在本发明提供的又一实施例中,该方法还可以包括如下步骤:
在步骤S350中,第一网络节点在判断QUIC数据包的缓存超过预定门限值时,向第二网络节点发送指示信息。
为了避免在第一网络节点中缓存的QUIC数据包超过预设门限时,第二网络节点还继续向第一网络节点发送QUIC数据包,从而导致第一网络将QUIC数据包丢弃的现象发生,本发明实施例中,在第二网络节点接收到第一网络节点发送的指示信息时,第二网络节点根据第一网络节点发送的指示信息停止向第一网络节点发送QUIC数据包,或者第二网络节点降低向第一网络节点发送QUIC数据包的速率。其中,所述指示信息通过第一网络节点和第二网络节点之间的信令传输通道发送,或者通过上行QUIC数据包头携带。
或者,在步骤S360中,第一网络节点为第二网络节点发送的QUIC数据包设置预设容量的缓存空间。具体地:
第一网络节点确定所述建立的承载为QUIC协议数据包传输的承载,可选地,第一网络节点接收所述QUIC数据包建议的缓存大小或者第二网络节点向第一网络节点发送数据的速率信息;
第一网络节点为QUIC协议数据包传输的承载确定缓存大小。
另外,本发明实施例中,如果第一网络节点中原有的缓存空间有限,根据需要,第一网络节点还可以为第二网络节点发送的QUIC数据包专门设置一定容量的缓存空间,其中,容量的大小可以根据需要设定。这样,在QUIC数据包的缓存空间足够大时,可以将第二网络节点发送的QUIC数据包都存储在该缓存空间中,避免因QUIC数据包的缓存空间太小而需要将接收到的QUIC数据包丢弃的现象发生,进而可以避免QUIC数据包的丢弃。
或者,在步骤S370中,第一网络节点按照排序结果,反序丢弃QUIC数据包。
在本发明提供的实施例中,如果第一网络节点中用于缓存QUIC数据包的空间不足以缓存接收到的QUIC数据包,那么需要将无法缓存的QUIC数据包丢弃,优先将SN较大的QUIC数据包丢弃,避免因丢弃较小SN的QUIC数据包造成第一网络节点接收到的QUIC数据包发生中间缺失的问题。
通过以上的方法实施例的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:只读存储器(ROM)、随机存取存储器(RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
作为上述各方法的实现,在本发明提供的又一实施例中,还提供了一种第一网络节点,如图13所示,第一网络节点,包括:
接收器10,用于接收第二网络节点发送的快速用户数据报协议网络连接QUIC数据包;
处理器20,用于对所述QUIC数据包进行排序,得到排序结果;
发送器30,用于根据所述排序结果将所述QUIC数据包发送给第三网络节点。
在本发明提供的又一实施例中,
所述接收器10,还用于获取所述QUIC数据包的连接分别对应的属性信息;
所述处理器20,还用于根据所述属性信息对所述连接进行排序;
其中,所述属性信息包括下述的一个或多个组合:
QUIC连接的标识、QUIC连接所传输的业务的传输时延需求、QUIC连接所传输的业务的业务类型。
在本发明提供的又一实施例中,所述接收器10,还用于获取同一连接的所述QUIC数据包对应的序列号SN;
所述处理器20,还用于将所述QUIC数据包按照序列号由小到大的顺序进行排序。
在本发明提供的又一实施例中,所述第一网络节点包括第一协议层和第二协议层,所述第一协议层用于对所述数据包进行排序,所述第二协议层用于将排序后的所述QUIC数据包进行发送;
所述接收器10,还用于接收所述第二协议层发送的指示信息,所述指示信息用于指示所述第一协议层将第二协议层要求的QUIC数据包发送到所述第二协议层;
所述发送器30,还用于根据所述指示信息向所述第二协议层发送QUIC数据包;
所述接收器10,还用于接收所述第一协议层发送的所述QUIC数据包,并按照所述第一协议层发送QUIC数据包的顺序将接收到的QUIC数据包发送给第三网络节点。
在本发明提供的又一实施例中,所述第一网络节点接收第二网络节点发送的来自多个连接的QUIC数据包,所述多个连接的QUIC数据包中每个数据包都对应有序列号SN和连接标识CID,
所述接收器10,还用于接收第二网络节点发送的来自多个连接的所述QUIC数据包,其中,所述每个连接由唯一的CID进行标识;
所述处理器20,还用于获取每个QUIC数据包到达所述第一网络节点的到达时刻;所述第一网络节点根据每个连接的第一个QUIC数据包的到达时刻的先后顺序对所述多个连接进行排序,确定到达所述第一网络节点最早的所述QUIC数据包对应的连接作为第一连接,将所述第一连接对应的CID作为目标CID;;
所述处理器20,还用于将所述目标CID对应的QUIC数据包按照SN由小到大进行排序;
所述处理器20,还用于将所述目标CID对应的QUIC数据包排序后的结果作为所述排序结果。
在本发明提供的又一实施例中,所述处理器20,还用于判断接收到的数据包是否为QUIC数据包;
所述处理器20,还用于判断接收到的数据包的IP协议为用户数据报文协议UDP;
所述处理器20,还用于在判断到所述数据包的IP协议为UDP时,判断所述数据包中相同CID对应的序列号是否连续;
所述处理器20,还用于在判断到所述CID下的序列号连续时,确定接收到的数据包是所述QUIC数据包。
在本发明提供的又一实施例中,所述接收器10,还用于获取接收到的数据包的IP地址;
所述处理器20,还用于判断所述数据包的IP地址是否位于UDP端口列表中;
所述处理器20,还用于在判断到所述数据包的IP地址位于QUIC协议地址列表中时,确定接收到的数据包是所述QUIC数据包。
在本发明提供的又一实施例中,所述第一网络节点判断接收到的数据包是QUIC数据包之后,所述第一网络节点还包括:
所述发送器30,还用于在判断上述QUIC数据包的缓存超过预定门限值时,向所述第二网络节点发送指示信息,以使所述第二网络节点根据所述指示信息停止向所述第一网络节点发送所述QUIC数据包,或者以使所述第二网络节点降低向所述第一网络节点发送所述QUIC数据包的发送速率;
或者,所述处理器20,还用于为第二网络节点发送的所述QUIC数据包设置预设容量的缓存空间;
或者,所述处理器20,还用于按照所述排序结果,按照序列号由大到小的顺序丢弃所述QUIC数据包。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关 该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
可以理解的是,本发明可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

Claims (16)

  1. 一种数据传输方法,其特征在于,包括:
    第一网络节点接收第二网络节点发送的快速用户数据报协议网络连接QUIC数据包;
    所述第一网络节点对所述QUIC数据包进行排序,得到排序结果;
    所述第一网络节点根据所述排序结果将所述QUIC数据包发送给第三网络节点。
  2. 根据权利要求1所述的方法,其特征在于,所述第一网络节点对所述QUIC数据包进行排序具体包括:
    所述第一网络节点获取所述QUIC的连接对应的属性信息;
    所述第一网络节点根据所述属性信息对所述连接进行排序;
    其中,所述属性信息包括下述的一个或多个组合:
    QUIC连接的标识、QUIC连接所传输的业务的传输时延需求、QUIC连接所传输的业务的业务类型。
  3. 根据权利要求1所述的方法,其特征在于,所述第一网络节点对所述QUIC数据包进行排序具体包括:
    所述第一网络节点获取同一连接的所述QUIC数据包对应的序列号SN;
    所述第一网络节点将所述QUIC数据包按照序列号由小到大的顺序进行排序。
  4. 根据权利要求1所述的方法,其特征在于,所述第一网络节点包括第一协议层和第二协议层,所述第一协议层用于对所述数据包进行排序,所述第二协议层用于将排序后的所述QUIC数据包进行发送;所述第一网络节点根据所述排序结果将所述QUIC数据包发送给第三网络节点具体包括:
    所述第一协议层接收所述第二协议层发送的指示信息,所述指示信息用于指示所述第一协议层将第二协议层要求的QUIC数据包发送到所述第二协议层;
    所述第一协议层根据所述指示信息向所述第二协议层发送QUIC数据包;
    所述第二协议层接收所述第一协议层发送的所述QUIC数据包,并按照 所述第一协议层发送QUIC数据包的顺序将接收到的QUIC数据包发送给第三网络节点。
  5. 根据权利要求1所述的方法,其特征在于,所述第一网络节点接收第二网络节点发送的快速用户数据报协议网络连接QUIC数据包具体包括:
    所述第一网络节点接收第二网络节点发送的来自多个连接的所述QUIC数据包,其中,所述每个连接由唯一的CID进行标识;
    所述第一网络节点对所述QUIC数据包进行排序包括:
    所述第一网络节点获取每个QUIC数据包到达所述第一网络节点的到达时刻;所述第一网络节点根据每个连接的第一个QUIC数据包的到达时刻的先后顺序对所述多个连接进行排序,确定到达所述第一网络节点最早的所述QUIC数据包对应的连接作为第一连接,将所述第一连接对应的CID作为目标CID;
    所述第一网络节点将所述目标CID对应的QUIC数据包按照SN由小到大进行排序;
    所述第一网络节点将所述目标CID对应的QUIC数据包排序后的结果作为所述排序结果。
  6. 根据权利要求1所述的方法,其特点在于,所述方法还包括:
    所述第一网络节点判断接收到的数据包的IP协议为用户数据报文协议UDP;
    所述第一网络节点在判断到所述数据包的IP协议为UDP时,判断所述数据包中相同CID对应的序列号是否连续;
    所述第一网络节点在判断到所述CID下的序列号连续时,确定接收到的数据包是所述QUIC数据包。
  7. 根据权利要求1所述的方法,其特征在于,所述方法还包括:
    所述第一网络节点获取接收到的数据包的IP地址;
    所述第一网络节点判断所述数据包的IP地址是否位于UDP端口列表中;
    所述第一网络节点在判断到所述数据包的IP地址位于QUIC协议地址列表中时,确定接收到的数据包是所述QUIC数据包。
  8. 根据权利要求6或7所述的方法,其特点在于,所述第一网络节点判断接收到的数据包是QUIC数据包之后,所述方法还包括:
    所述第一网络节点在判断所述QUIC数据包的缓存超过预定门限值时,向所述第二网络节点发送指示信息,以使所述第二网络节点根据所述指示信息停止向所述第一网络节点发送所述QUIC数据包,或者以使所述第二网络节点降低向所述第一网络节点发送所述QUIC数据包的发送速率;
    或者,所述第一网络节点为第二网络节点发送的所述QUIC数据包设置预设容量的缓存空间;
    或者,所述第一网络节点按照所述排序结果,按照序列号由大到小的顺序丢弃所述QUIC数据包。
  9. 一种第一网络节点,其特征在于,包括:
    接收器,用于接收第二网络节点发送的快速用户数据报协议网络连接QUIC数据包;
    处理器,用于对所述QUIC数据包进行排序,得到排序结果;
    发送器,用于根据所述排序结果将所述QUIC数据包发送给第三网络节点。
  10. 根据权利要求9所述的第一网络节点,其特征在于,
    所述接收器,还用于获取所述QUIC数据包的连接分别对应的属性信息;
    所述处理器,还用于根据所述属性信息对所述连接进行排序;
    其中,所述属性信息包括下述的一个或多个组合:
    QUIC连接的标识、QUIC连接所传输的业务的传输时延需求、QUIC连接所传输的业务的业务类型。
  11. 根据权利要求9所述的第一网络节点,其特征在于,
    所述接收器,还用于获取同一连接的所述QUIC数据包对应的序列号SN;
    所述处理器,还用于将所述QUIC数据包按照序列号由小到大的顺序进行排序。
  12. 根据权利要求9所述的第一网络节点,其特征在于,所述第一网络 节点包括第一协议层和第二协议层,所述第一协议层用于对所述数据包进行排序,所述第二协议层用于将排序后的所述QUIC数据包进行发送;
    所述接收器,还用于接收所述第二协议层发送的指示信息,所述指示信息用于指示所述第一协议层将第二协议层要求的QUIC数据包发送到所述第二协议层;
    所述发送器,还用于根据所述指示信息向所述第二协议层发送QUIC数据包;
    所述接收器,还用于接收所述第一协议层发送的所述QUIC数据包,并按照所述第一协议层发送QUIC数据包的顺序将接收到的QUIC数据包发送给第三网络节点。
  13. 根据权利要求9所述的第一网络节点,其特征在于,
    所述接收器,还用于接收第二网络节点发送的来自多个连接的所述QUIC数据包,其中,所述每个连接由唯一的CID进行标识;
    所述处理器,还用于获取每个QUIC数据包到达所述第一网络节点的到达时刻;所述第一网络节点根据每个连接的第一个QUIC数据包的到达时刻的先后顺序对所述多个连接进行排序,确定到达所述第一网络节点最早的所述QUIC数据包对应的连接作为第一连接,将所述第一连接对应的CID作为目标CID;
    所述处理器,还用于将所述目标CID对应的QUIC数据包按照SN由小到大进行排序;
    所述处理器,还用于将所述目标CID对应的QUIC数据包排序后的结果作为所述排序结果。
  14. 根据权利要求9所述的第一网络节点,其特点在于,
    所述处理器,还用于判断接收到的数据包的IP协议为用户数据报文协议UDP;
    所述处理器,还用于判断接收到的数据包的IP协议为用户数据报文协议UDP;
    所述处理器,还用于在判断到所述数据包的IP协议为UDP时,判断所述数据包中相同CID对应的序列号是否连续;
    所述处理器,还用于在判断到所述CID下的序列号连续时,确定接收到的数据包是所述QUIC数据包。
  15. 根据权利要求9所述的第一网络节点,其特征在于,
    所述接收器,还用于获取接收到的数据包的IP地址;
    所述处理器,还用于判断所述数据包的IP地址是否位于UDP端口列表中;
    所述处理器,还用于在判断到所述数据包的IP地址位于QUIC协议地址列表中时,确定接收到的数据包是所述QUIC数据包。
  16. 根据权利要求14或15所述的第一网络节点,其特点在于,所述第一网络节点判断接收到的数据包是QUIC数据包之后,所述第一网络节点还包括:
    所述发送器,还用于在判断所述QUIC数据包的缓存超过预定门限值时,向所述第二网络节点发送指示信息,以使所述第二网络节点根据所述指示信息停止向所述第一网络节点发送所述QUIC数据包,或者以使所述第二网络节点降低向所述第一网络节点发送所述QUIC数据包的发送速率;
    或者,所述处理器,还用于为第二网络节点发送的所述QUIC数据包设置预设容量的缓存空间;
    或者,所述处理器,还用于按照所述排序结果,按照序列号由大到小的顺序丢弃所述QUIC数据包。
PCT/CN2016/105518 2016-11-11 2016-11-11 数据传输方法及装置 Ceased WO2018086076A1 (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201680086921.1A CN109314662B (zh) 2016-11-11 2016-11-11 数据传输方法及装置
EP16921129.9A EP3531631A4 (en) 2016-11-11 2016-11-11 DATA TRANSMISSION PROCESS AND DEVICE
PCT/CN2016/105518 WO2018086076A1 (zh) 2016-11-11 2016-11-11 数据传输方法及装置
US16/409,251 US20190268797A1 (en) 2016-11-11 2019-05-10 Data transmission method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2016/105518 WO2018086076A1 (zh) 2016-11-11 2016-11-11 数据传输方法及装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/409,251 Continuation US20190268797A1 (en) 2016-11-11 2019-05-10 Data transmission method and apparatus

Publications (1)

Publication Number Publication Date
WO2018086076A1 true WO2018086076A1 (zh) 2018-05-17

Family

ID=62108998

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/105518 Ceased WO2018086076A1 (zh) 2016-11-11 2016-11-11 数据传输方法及装置

Country Status (4)

Country Link
US (1) US20190268797A1 (zh)
EP (1) EP3531631A4 (zh)
CN (1) CN109314662B (zh)
WO (1) WO2018086076A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110177082A (zh) * 2019-04-25 2019-08-27 阿里巴巴集团控股有限公司 一种数据处理方法、设备、介质以及装置
CN110519413A (zh) * 2019-09-10 2019-11-29 赛尔网络有限公司 基于DNS over QUIC的排名统计方法、装置、系统及介质
WO2020155148A1 (zh) * 2019-02-02 2020-08-06 华为技术有限公司 一种传输数据的方法和装置
US10785020B2 (en) * 2018-01-19 2020-09-22 Microsoft Technology Licensing, Llc Hardware offload for QUIC connections
CN112997460A (zh) * 2018-08-27 2021-06-18 瑞典爱立信有限公司 在电信网络中检测用户设备ue与内容提供者cp之间的快速用户数据报协议互联网连接quic业务的方法
US11570100B2 (en) 2019-04-25 2023-01-31 Advanced New Technologies Co., Ltd. Data processing method, apparatus, medium and device

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8312033B1 (en) 2008-06-26 2012-11-13 Experian Marketing Solutions, Inc. Systems and methods for providing an integrated identifier
US9607336B1 (en) * 2011-06-16 2017-03-28 Consumerinfo.Com, Inc. Providing credit inquiry alerts
US10664936B2 (en) 2013-03-15 2020-05-26 Csidentity Corporation Authentication systems and methods for on-demand products
US9633322B1 (en) 2013-03-15 2017-04-25 Consumerinfo.Com, Inc. Adjustment of knowledge-based authentication
US9721147B1 (en) 2013-05-23 2017-08-01 Consumerinfo.Com, Inc. Digital identity
FR3067550A1 (fr) * 2017-06-27 2018-12-14 Orange Procede de communication quic via des chemins multiples
EP3692691B1 (en) * 2017-10-26 2023-08-02 Huawei Technologies Co., Ltd. Device and method for detecting and mitigating digital data network congestion
PL3534574T3 (pl) * 2018-02-28 2020-07-13 Deutsche Telekom Ag Techniki zarządzania polityką protokołów sieciowych wielokrotnej łączności
FR3079987A1 (fr) * 2018-04-06 2019-10-11 Orange Procede de traitement d'une transaction entre un terminal source et un terminal destinataire, systeme de services bancaires, terminal et programme d'ordinateur correspondants.
US10911234B2 (en) 2018-06-22 2021-02-02 Experian Information Solutions, Inc. System and method for a token gateway environment
CN111756674B (zh) 2019-03-28 2021-07-27 上海哔哩哔哩科技有限公司 网络通信方法、系统、设备及计算机可读存储介质
WO2020257735A1 (en) 2019-06-21 2020-12-24 Lutron Technology Company Llc Network formation for a load control system
US11941065B1 (en) 2019-09-13 2024-03-26 Experian Information Solutions, Inc. Single identifier platform for storing entity data
ES2972036T3 (es) * 2019-11-06 2024-06-10 Deutsche Telekom Ag Procedimiento y dispositivo de red para comunicación de múltiples rutas
EP4070484B1 (en) 2019-12-02 2025-10-15 Lutron Technology Company LLC Percentile floor link qualification
US11770324B1 (en) * 2019-12-02 2023-09-26 Lutron Technology Company Llc Processing advertisement messages in a mesh network
MX2022007637A (es) 2019-12-20 2022-09-23 Lutron Tech Co Llc Manejo de pérdida o extracción de dispositivos en una red en malla.
US11350429B2 (en) * 2020-02-04 2022-05-31 Qualcomm Incorporated Quality of service techniques for QUIC streams
CA3174169A1 (en) 2020-05-08 2021-11-11 Galen Edgar Knode Assigning router devices in a mesh network
CN112039775B (zh) * 2020-07-29 2022-09-06 北京智融云河科技有限公司 一种实现kad网络节点快速路由的方法和系统
CN114531499B (zh) * 2020-11-06 2024-03-26 网宿科技股份有限公司 一种基于quic协议的端口共用方法、系统及服务器
CN114979021B (zh) * 2021-02-27 2024-05-14 华为技术有限公司 数据处理方法及电子设备
CN113676741B (zh) * 2021-07-19 2024-04-12 Oppo广东移动通信有限公司 数据传输方法、装置、存储介质及电子设备
WO2023044174A1 (en) * 2021-09-15 2023-03-23 Cisco Technology, Inc. Policy expressions using quic connection identifiers
US11968277B2 (en) 2021-09-15 2024-04-23 Cisco Technology, Inc. Using masque to tunnel ethernet frames
CN118592012A (zh) * 2022-04-02 2024-09-03 Oppo广东移动通信有限公司 一种数据传输方法及装置、通信设备
CN118975215A (zh) * 2022-04-08 2024-11-15 Oppo广东移动通信有限公司 数据处理方法、装置、通信设备及存储介质
CN117098240A (zh) * 2022-08-22 2023-11-21 广州通康创智软件有限公司 一种基于quic协议的多路径传输方法及5g工业网关
EP4383729B1 (en) * 2022-12-07 2025-11-05 Axis AB Video failover recording

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102823207A (zh) * 2012-05-18 2012-12-12 华为技术有限公司 一种数据包的转发方法和设备
CN105103522A (zh) * 2013-03-07 2015-11-25 谷歌公司 穿过客户端侧nat防火墙的基于udp的传输协议的低时延服务器侧重定向
CN105827537A (zh) * 2016-06-01 2016-08-03 四川大学 一种基于quic协议的拥塞改进方法
WO2016173635A1 (en) * 2015-04-28 2016-11-03 Telefonaktiebolaget Lm Ericsson (Publ) Method and system for managing communications in a system comprising a receiver entity, a sender entity, and a network entity

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6862622B2 (en) * 1998-07-10 2005-03-01 Van Drebbel Mariner Llc Transmission control protocol/internet protocol (TCP/IP) packet-centric wireless point to multi-point (PTMP) transmission system architecture
US7116683B1 (en) * 2000-11-21 2006-10-03 Telefonaktiebolaget Lm Ericsson (Publ) Sequencing of user data packets segmented into AAL2 packets transported over internet protocol (IP)
GB2418108B (en) * 2004-09-09 2007-06-27 Surfcontrol Plc System, method and apparatus for use in monitoring or controlling internet access
CA2663317A1 (en) * 2006-09-13 2008-03-20 Asankya Networks, Inc. Systems and methods of improving performance of transport protocols in a multi-path environment
CN101557329B (zh) * 2009-05-27 2011-05-11 杭州迪普科技有限公司 一种基于应用层的数据分割方法及装置
CN101692745A (zh) * 2009-10-21 2010-04-07 中兴通讯股份有限公司 一种空口资源管理方法及装置
WO2013009048A1 (en) * 2011-07-08 2013-01-17 Samsung Electronics Co., Ltd. Method for generating forward error correction packet in multimedia system and method and apparatus for transmitting and receiving forward error correction packet
US9432274B1 (en) * 2013-11-01 2016-08-30 Google Inc. Intermediary facilitated packet loss recovery
US10353962B2 (en) * 2015-04-30 2019-07-16 Flash Networks, Ltd Method and system for bitrate management
US10477503B2 (en) * 2015-11-20 2019-11-12 Google Llc Democratized cellular network connectivity through small cells
TWI580199B (zh) * 2015-12-18 2017-04-21 瑞昱半導體股份有限公司 接收裝置及其封包處理方法
CN105871747B (zh) * 2016-03-24 2019-07-30 京信通信系统(中国)有限公司 通信系统下行数据传输方法和系统
KR102100069B1 (ko) * 2016-04-01 2020-04-13 노키아 솔루션스 앤드 네트웍스 오와이 통신시 동적 경험 관리
WO2018024344A1 (en) * 2016-08-05 2018-02-08 Telefonaktiebolaget Lm Ericsson (Publ) Transport protocol server relocation
US10476800B2 (en) * 2017-10-16 2019-11-12 Verizon Digital Media Services Inc. Systems and methods for load balancing virtual connection traffic
US10305812B1 (en) * 2017-11-05 2019-05-28 Vasona Networks, Inc. Tracking flows having encrypted sequence and acknowledgement numbers
US10785020B2 (en) * 2018-01-19 2020-09-22 Microsoft Technology Licensing, Llc Hardware offload for QUIC connections
US10972399B2 (en) * 2018-02-28 2021-04-06 Telefonaktiebolaget Lm Ericsson (Publ) Method of determining passive round trip time, RTT, delay in a telecommunications system
US10484266B2 (en) * 2018-04-12 2019-11-19 Citrix Systems, Inc. Leveraging multi-stream transport protocol capabilities for routing
US10791485B2 (en) * 2018-10-16 2020-09-29 Cisco Technology, Inc. Systems and methods for quick user datagram protocol internet connection (QUIC) with multipath

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102823207A (zh) * 2012-05-18 2012-12-12 华为技术有限公司 一种数据包的转发方法和设备
CN105103522A (zh) * 2013-03-07 2015-11-25 谷歌公司 穿过客户端侧nat防火墙的基于udp的传输协议的低时延服务器侧重定向
WO2016173635A1 (en) * 2015-04-28 2016-11-03 Telefonaktiebolaget Lm Ericsson (Publ) Method and system for managing communications in a system comprising a receiver entity, a sender entity, and a network entity
CN105827537A (zh) * 2016-06-01 2016-08-03 四川大学 一种基于quic协议的拥塞改进方法

Non-Patent Citations (1)

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

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10785020B2 (en) * 2018-01-19 2020-09-22 Microsoft Technology Licensing, Llc Hardware offload for QUIC connections
CN112997460A (zh) * 2018-08-27 2021-06-18 瑞典爱立信有限公司 在电信网络中检测用户设备ue与内容提供者cp之间的快速用户数据报协议互联网连接quic业务的方法
US11533655B2 (en) 2018-08-27 2022-12-20 Telefonaktiebolaget Lm Ericsson (Publ) Method of detecting quick user datagram protocol internet connections, QUIC, traffic in a telecommunication network between a user equipment, UE, and a content provider, CP
CN112997460B (zh) * 2018-08-27 2023-06-20 瑞典爱立信有限公司 在电信网络中检测用户设备ue与内容提供者cp之间的快速用户数据报协议互联网连接quic业务的方法
WO2020155148A1 (zh) * 2019-02-02 2020-08-06 华为技术有限公司 一种传输数据的方法和装置
CN110177082A (zh) * 2019-04-25 2019-08-27 阿里巴巴集团控股有限公司 一种数据处理方法、设备、介质以及装置
WO2020215823A1 (zh) * 2019-04-25 2020-10-29 创新先进技术有限公司 一种数据处理方法、设备、介质以及装置
CN110177082B (zh) * 2019-04-25 2022-03-01 创新先进技术有限公司 一种数据处理方法、设备、介质以及装置
US11570100B2 (en) 2019-04-25 2023-01-31 Advanced New Technologies Co., Ltd. Data processing method, apparatus, medium and device
CN110519413A (zh) * 2019-09-10 2019-11-29 赛尔网络有限公司 基于DNS over QUIC的排名统计方法、装置、系统及介质

Also Published As

Publication number Publication date
US20190268797A1 (en) 2019-08-29
EP3531631A1 (en) 2019-08-28
CN109314662B (zh) 2020-09-11
EP3531631A4 (en) 2019-08-28
CN109314662A (zh) 2019-02-05

Similar Documents

Publication Publication Date Title
CN109314662B (zh) 数据传输方法及装置
CN113194509B (zh) 一种基于QoS的多网络融合传输系统及传输方法
CN109962760B (zh) 一种适于无线tdma自组网的业务调度方法
CN103312807B (zh) 数据传输方法、装置及系统
WO2017201677A1 (zh) 数据传输的方法及装置
US10637792B2 (en) Real-time analysis of quality of service for multimedia traffic in a local area network
WO2018113373A1 (zh) 一种数据传输方法及装置
US9838209B2 (en) Method for subscribing to streams from multicast clients
JP2009509468A (ja) 無線通信環境におけるパケットルーティング
CN106612284B (zh) 一种流数据的传输方法和装置
JP2009509466A (ja) 資源要求者への移動表示の提供
JP2009509467A (ja) 複数の要求に基づくQoS処理の提供
CN106416112B (zh) 一种数据传输的方法及装置
CN107438993B (zh) 用于资源集束的方法和系统
WO2012126424A2 (zh) 一种数据包的转发方法和设备
US9942161B1 (en) Methods and systems for configuring and updating session-based quality of service for multimedia traffic in a local area network
CN111372283A (zh) 拥塞控制方法及基站、用户面功能实体
CN109076062A (zh) 边缘节点控制
CN102801692A (zh) 一种基于分裂连接的传输控制协议优化方法及系统
CN108924063B (zh) 一种时延约束感知的最小化端到端时延的流量分配方法
US9426086B2 (en) Sub flow based queueing management
US20180183719A1 (en) Method and device for data transmission
CN117395311A (zh) 报文处理方法及其装置、存储介质、程序产品
CN111756557B (zh) 一种数据传输方法及装置
WO2014100973A1 (zh) 视频处理方法、设备及系统

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: 16921129

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2016921129

Country of ref document: EP

Effective date: 20190522