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

数据传输方法及装置 Download PDF

Info

Publication number
CN109314662B
CN109314662B CN201680086921.1A CN201680086921A CN109314662B CN 109314662 B CN109314662 B CN 109314662B CN 201680086921 A CN201680086921 A CN 201680086921A CN 109314662 B CN109314662 B CN 109314662B
Authority
CN
China
Prior art keywords
network node
quic
data packet
protocol layer
packet
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.)
Active
Application number
CN201680086921.1A
Other languages
English (en)
Other versions
CN109314662A (zh
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.)
XFusion Digital 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
Publication of CN109314662A publication Critical patent/CN109314662A/zh
Application granted granted Critical
Publication of CN109314662B publication Critical patent/CN109314662B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/28Flow control; Congestion control in relation to timing considerations
    • 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

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)/网络互连协议(InternetProtocol,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之间通常采用第三代合作伙伴(3rdGeneration 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包括第一协议层和第二协议层,第一协议层为分组数据汇聚协议(PacketData Convergence Protocol,PDCP)协议层,第二协议层为无线链路层控制协议(RadioLink 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地址)和/或UDPport list(UDP端口列表),当网络侧设备接收到数据包时,由网络侧设备根据所述UDPport 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 (14)

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

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
CN109314662A CN109314662A (zh) 2019-02-05
CN109314662B true CN109314662B (zh) 2020-09-11

Family

ID=62108998

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680086921.1A Active CN109314662B (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)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9607336B1 (en) * 2011-06-16 2017-03-28 Consumerinfo.Com, Inc. Providing credit inquiry alerts
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
US10785020B2 (en) * 2018-01-19 2020-09-22 Microsoft Technology Licensing, Llc Hardware offload for QUIC connections
ES2786632T3 (es) * 2018-02-28 2020-10-13 Deutsche Telekom Ag Técnicas para la gestión de la política de protocolos de red de conectividad múltiple
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.
CN112997460B (zh) * 2018-08-27 2023-06-20 瑞典爱立信有限公司 在电信网络中检测用户设备ue与内容提供者cp之间的快速用户数据报协议互联网连接quic业务的方法
EP3879769B1 (en) * 2019-02-02 2023-08-30 Huawei Technologies Co., Ltd. Method and apparatus for transmitting data
CN111756674B (zh) * 2019-03-28 2021-07-27 上海哔哩哔哩科技有限公司 网络通信方法、系统、设备及计算机可读存储介质
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
MX2022000088A (es) 2019-06-21 2022-04-18 Lutron Tech Co Llc Rutina de inicio coordinada para dispositivos de control de una red.
CN110519413A (zh) * 2019-09-10 2019-11-29 赛尔网络有限公司 基于DNS over QUIC的排名统计方法、装置、系统及介质
EP3820088B1 (en) * 2019-11-06 2024-01-03 Deutsche Telekom AG Method and network device for multi-path communication
WO2021113414A1 (en) 2019-12-02 2021-06-10 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
US11350429B2 (en) * 2020-02-04 2022-05-31 Qualcomm Incorporated Quality of service techniques for QUIC streams
CN112039775B (zh) * 2020-07-29 2022-09-06 北京智融云河科技有限公司 一种实现kad网络节点快速路由的方法和系统
CN114531499B (zh) * 2020-11-06 2024-03-26 网宿科技股份有限公司 一种基于quic协议的端口共用方法、系统及服务器
CN113676741B (zh) * 2021-07-19 2024-04-12 Oppo广东移动通信有限公司 数据传输方法、装置、存储介质及电子设备
US11924299B2 (en) 2021-09-15 2024-03-05 Cisco Technology, Inc. QUIC and anycast proxy resiliency
WO2023184537A1 (zh) * 2022-04-02 2023-10-05 Oppo广东移动通信有限公司 一种数据传输方法及装置、通信设备
WO2023193269A1 (zh) * 2022-04-08 2023-10-12 Oppo广东移动通信有限公司 数据处理方法、装置、通信设备及存储介质

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
WO2008034000A1 (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 中兴通讯股份有限公司 一种空口资源管理方法及装置
CN103650432A (zh) * 2011-07-08 2014-03-19 三星电子株式会社 用于在多媒体系统中生成前向纠错包的方法和用于发送和接收前向纠错包的方法及装置
WO2012126424A2 (zh) * 2012-05-18 2012-09-27 华为技术有限公司 一种数据包的转发方法和设备
US9026783B2 (en) * 2013-03-07 2015-05-05 Google Inc. Low latency server-side redirection of UDP-based transport protocols traversing a client-side NAT firewall
US9432274B1 (en) * 2013-11-01 2016-08-30 Google Inc. Intermediary facilitated packet loss recovery
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
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 京信通信系统(中国)有限公司 通信系统下行数据传输方法和系统
US10582433B2 (en) * 2016-04-01 2020-03-03 Nokia Solutions And Networks Oy Dynamic experience management in communications
CN105827537B (zh) * 2016-06-01 2018-12-07 四川大学 一种基于quic协议的拥塞改进方法
EP3494686B1 (en) * 2016-08-05 2020-12-30 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
KR102369529B1 (ko) * 2018-02-28 2022-03-02 텔레폰악티에볼라겟엘엠에릭슨(펍) 통신 시스템에서 수동적 RTT(Round Trip Time) 지연을 결정하는 방법
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

Also Published As

Publication number Publication date
WO2018086076A1 (zh) 2018-05-17
CN109314662A (zh) 2019-02-05
US20190268797A1 (en) 2019-08-29
EP3531631A1 (en) 2019-08-28
EP3531631A4 (en) 2019-08-28

Similar Documents

Publication Publication Date Title
CN109314662B (zh) 数据传输方法及装置
JP5001283B2 (ja) 資源要求者への移動表示の提供
JP5373027B2 (ja) 複数の要求に基づくQoS処理の提供
Xu et al. CMT-NC: improving the concurrent multipath transfer performance using network coding in wireless networks
JP2020502948A (ja) パケット伝送システムおよび方法
CN107454276B (zh) 一种用户终端设备及其数据转发方法、及通信系统
CN109962760B (zh) 一种适于无线tdma自组网的业务调度方法
JP2009509468A (ja) 無線通信環境におけるパケットルーティング
US9838209B2 (en) Method for subscribing to streams from multicast clients
CN113194509B (zh) 一种基于QoS的多网络融合传输系统及传输方法
KR102442083B1 (ko) Tcp 터널들 및 고유 tcp 정보를 기초로 하는 번들링 시나리오에서 패킷들의 스케줄링을 위한 방법 및 시스템
US20160065483A1 (en) Communication system, control apparatus, and storage medium
US9942161B1 (en) Methods and systems for configuring and updating session-based quality of service for multimedia traffic in a local area network
JP2014518047A (ja) 適応性の伝送キュー長を用いたデータパケット損失低減システムおよび方法
CN109076062A (zh) 边缘节点控制
US10855597B2 (en) Channel coding for real time wireless traffic
CN110858930B (zh) 数据帧传输
US20140376565A1 (en) Sub flow based queueing management
US20140307547A1 (en) Flow based packet manipulation congestion control
US11218910B2 (en) First node and a second node and methods of operating the same
Latif et al. An investigation of scheduling and packet reordering algorithms for bandwidth aggregation in heterogeneous wireless networks
JP2009105662A (ja) マルチホップ通信システム、マルチホップ通信方法、端末装置および中継装置
CN111756557B (zh) 一种数据传输方法及装置
US20220295155A1 (en) Content distribution system, unicast multicast converter, content distribution method and content distribution program
KR101038521B1 (ko) 크로스 레이어 기법에 따른 이종망 상의 비디오 전송 품질 개선 방법

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20211221

Address after: 450046 Floor 9, building 1, Zhengshang Boya Plaza, Longzihu wisdom Island, Zhengdong New Area, Zhengzhou City, Henan Province

Patentee after: Super fusion Digital Technology Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right