CN107615729A - 数据传输方法及通信装置 - Google Patents

数据传输方法及通信装置 Download PDF

Info

Publication number
CN107615729A
CN107615729A CN201580080702.8A CN201580080702A CN107615729A CN 107615729 A CN107615729 A CN 107615729A CN 201580080702 A CN201580080702 A CN 201580080702A CN 107615729 A CN107615729 A CN 107615729A
Authority
CN
China
Prior art keywords
mptcp
http
subflow
stream
sub
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.)
Granted
Application number
CN201580080702.8A
Other languages
English (en)
Other versions
CN107615729B (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.)
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
Publication of CN107615729A publication Critical patent/CN107615729A/zh
Application granted granted Critical
Publication of CN107615729B publication Critical patent/CN107615729B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/19Flow control; Congestion control at layers above the network layer
    • H04L47/193Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/14Multichannel or multilink protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures

Landscapes

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

Abstract

本发明实施例提供了一种数据传输方法及通信装置,在协议栈的应用层及多路径数据传输协议MPTCP层之间设置第二版超文本传输协议HTTP/2适配层,将属于属于同一条HTTP/2流的所有帧都分配在同一条MPTCP子流上进行传输,数据吞吐量大,系统鲁棒性好,提升了HTTP/2流的传输性能。

Description

数据传输方法及通信装置 技术领域
本发明实施例涉及通信技术领域,尤其涉及一种数据传输方法及通信装置。
背景技术
超文本传输协议(Hypertext Transfer Protocol,HTTP)是客户端浏览器或其他程序与网络(web)服务器之间的应用层通信协议,采用了请求/响应模型。随着用户对网络性能要求的提升,各类相关的应用程序应运而生,而传统的HTTP/1.0或HTTP/1.1(第一版HTTP)已不能满足某些应用程序的运行要求,甚至会产生负面影响。
HTTP/2(第二版HTTP)通过引进报头字段压缩以及多路复用来有效利用网络资源、减少感知延迟。其中,通过在一个传输控制协议(Transmission Control Protocol,TCP)连接内将待传输的各类帧(frame)分为多个流,并在每一个流上分配多个HTTP请求响应交换,以实现上述多路复用。
现有技术中,由于HTTP/2的TCP连接中的多个流复用在客户端和服务端之间的同一条TCP连接上进行传输,数据吞吐量受限。同时,整个数据传输过程只依靠一条TCP连接,鲁棒性有待提高。
发明内容
本发明实施例提供了一种数据传输方法及通信装置,能够提升HTTP/2数据传输的吞吐量以及系统鲁棒性。
第一方面,本发明实施例提供了一种数据传输方法,适用于通信 装置,该通信装置的协议栈包括HTTP/2适配层以及多路径数据传输协议(MPTCP,Multi-Path Transmission Control Protocol)层,所述方法包括,HTTP/2适配层确定将属于同一条HTTP/2流的所有HTTP/2帧匹配到同一条MPTCP子流上;MPTCP层根据HTTP/2适配层的指示,将属于同一条HTTP/2流的所有HTTP/2帧承载到一条MPTCP子流上进行传输,其中,所述MPTCP子流归属的MPTCP链路有至少一条MPTCP子流。
通过在应用程及MPTCP层之间设置HTTP/2适配层,将属于同一条HTTP/2流的所有帧都承载于同一条MPTCP子流上进行传输,提升了数据吞吐量,系统鲁棒性好。进一步地,客户端和服务端之间的MPTCP子流上的中间解析节点可以接收到属于同一个HTTP/2流的所有帧,进而完成HTTP/2业务解析处理。
在一个可能的实现方式中,所述方法还包括,HTTP/2适配层根据接收到的HTTP/2帧携带的流标识,来识别各HTTP/2帧是否属于同一条HTTP/2流。其中,属于同一条HTTP/2流的帧具有相同的流标识。
在一个可能的实施方式中,HTTP/2适配层通过与MPTCP层之间的接口进行信息交互,以获取属于上述MPTCP链路的至少一条MPTCP子流的子流信息,所述子流信息用于标识MPTCP子流。
在一个可能的实现方式中,HTTP/2适配层获取的子流信息至少包括,MPTCP子流标识,该MPTCP子流标识可以包括MPTCP子流的地址信息;则HTTP/2适配层根据属于同一条MPTCP链路的至少一条MPTCP子流的地址信息,选择一条MPTCP子流,选择出的MPTCP子 流用于承载所述属于所述同一条HTTP/2流的所有HTTP/2帧;并将所述HTTP/2帧及选择出的MPTCP子流的地址信息发送到所述MPTCP层所述传输单元;以及,由MPTCP层将所述属于同一条HTTP/2流的所有HTTP/2帧承载到所述选择出的MPTCP子流进行传输。
在一个可能的实现方式中,HTTP/2适配层获取的子流信息至少包括,MPTCP子流的数量。则HTTP/2适配层将相应数量的MPTCP子流中的每一个MPTCP子流,分别分配一个MPTCP子流标识号,所述MPTCP子流标识号用于区分不同MPTCP子流;将属于所述同一条HTTP/2流的所有HTTP/2帧全部对应一个MPTCP子流标识号;并将所述HTTP/2帧及对应的MPTCP子流标识号发送给所述MPTCP层;以及由MPTCP层选择一条MPTCP子流与所述MPTCP子流标识号对应;并将所述属于所述同一条HTTP/2流的所有HTTP/2帧分配到对应于所述MPTCP标识号的MPTCP子流上进行传输。
HTTP/2适配层利用MPTCP链接下MPTCP子流的数量或者各条MPTCP子流的标识信息,可以将属于同一条HTTP/2流的所有HTTP/2帧都分配到同一条MPTCP子流上。
在一个可能的实现方式中,HTTP/2适配层识别HTTP/2流以及非HTTP/2数据,将所述非HTTP/2数据透传至MPTCP层,由所述MPTCP层确定将所述非HTTP2数据分配到MPTCP子流进行传输;或者HTTP/2适配层在向MPTCP层透传非HTTP/2数据的同时,向MPTCP层发送指示消息,指示将上述非HTTP/2数据分配到某条MPTCP子流。
另一方面,本发明实施例提供了一种通信装置,该通信装置具有 实现上述方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的实施方式中,通信装置的结构中包括处理器和存储器,所述处理器被配置为支持该通信装置执行上述方法中相应的功能。所述存储器用于与处理器耦合,其保存基站必要的程序指令和数据。该通信装置还可以包括通信接口,用于支持通信装置与其他通信装置之间的通信。
再一方面,本发明实施例提供了一种非易失性计算机存储介质,用于储存为上述通信装置所用的计算机软件指令,其包含用于执行上述方面所设计的程序。
又一方面,本发明实施例提供了一种计算机软件产品,存储在一个存储介质中,所述计算机软件产品包括若干指令用以使得一台计算机设备执行上述方面提供的数据传输方法。
采用本发明实施例提供的技术方案,解决了现有技术中只依靠一条TCP连接进行HTTP/2流复用传输导致的数据吞吐量低,系统鲁棒性差的问题,提升了HTTP/2流的传输性能。
附图说明
图1是一种HTTP/2流传输过程的示意图;
图2a是一种MPTCP协议栈的示意图;
图2b是本发明实施例提供的协议栈的示意图;
图3是本发明实施例提供的一种数据传输方法流程示意图;
图4是本发明实施例提供的一种数据传输方法中的步骤S301的细化流程示意图;
图5是本发明实施例提供的一种数据传输方法中的步骤S301的细化流程示意图;
图6是本发明实施例提供的另一种数据传输方法流程示意图;
图7是本发明实施例提供的一种通信装置的结构示意图;
图8是本发明实施例提供的一种通信装置的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步详细描述。
本文中描述的各种技术可用于多种通信系统,例如2G、3G通信系统和下一代通信系统,例如全球移动通信系统(GSM,Global System for Mobile Communication),码分多址(CDMA,Code Division Multiple Access)系统,时分多址(TDMA,Time Division Multiple Access)系统,宽带码分多址(WCDMA,Wideband Code Division Multiple Access)系统,长期演进(LTE,Long Term Evolution)系统及后续演进系统等;以及无线局域网(WLAN,Wireless Local Area Network)、全球微波互联接入(WiMax,Worldwide Interoperability for Microwave Access)系统等其他无线宽带接入网络以及固定网络。
需要说明的是,本发明实施例中所述的基站设备,例如可以是 GSM或CDMA中的基站收发台(BTS,Base Transceiver Station),也可以是WCDMA中的节点B(NodeB),也可以是LTE中的演进型节点B(e-NodeB,evolved NodeB),还可以是WLAN中的接入点(AP,Access Point),或者其他通信或无线网络系统中具有类似功能的网元,本发明实施例对此不做任何限定。
本发明实施例中所述的基站控制设备,例如可以是GSM或CDMA中的基站控制器(BSC,Base Station Controller),可以是WCDMA中的无线网络控制器(RNC,Radio Network Controller),也可以是WLAN中的接入控制器(AC,Access Controller),也可以是其他具有类似功能的网元,本发明实施例对此不做任何限定。
本发明实施例所述的客户端可以是用户设备(UE,User Equipment),包括以无线方式接入接入网进行数据传输的用户设备,例如移动电话,移动终端,具备无线通信功能的个人计算机,或者其他类似具有数据通信功能的终端设备等。
本发明实施例所述的服务端可以是服务器,或者基站设备,基站控制设备等各类与客户端进行通信的设备,本发明实施例对此不做任何限定。
需要说明的是,本发明实施例中所述的接入网包括由BTS与BSC、或NodeB与RNC、或e-NodeB等设备组成的无线接入网(RAN,Radio Access Network),以及由AP与AC等设备组成的宽带接入网。其中,AC与RNC可以进行融合,即AC的功能集成在RNC上,并与AP进行通信。
图1是一种HTTP/2流传输过程的示意图。
本发明实施例中描述的HTTP/2流(或简称为“流”),是客户端和服务端在HTTP/2连接下交换帧的双向序列。其中,帧(frame)是HTTP/2中基本的协议单位。每个帧都有不同的类型和用途。例如,报头(headers)帧和数据(data)帧组成了基本的HTTP请求和响应;其他帧例如设置(setting),窗口更新(window_updating),和推送承诺(push_promise)用于实现HTTP2的其他功能。帧主体的结构和内容取决于帧类型。特别地,HTTP/2中包含的HTTP报头字段的帧的头域是压缩的,能够显著减少请求和响应的大小。本发明实施例中将HTTP流内的帧称为HTTP/2帧,或简称为帧。
如图1所示,在HTTP/2连接过程中,多个独立的HTTP/2流在同一条TCP连接内传输,包括stream1,stream3和stream5,stream1包括数据帧,stream3包括报头帧和数据帧,stream5包括数据帧,其中,stream1的数据帧,stream3的报头帧和数据帧由服务端发送给客户端,stream5的数据帧由客户端发送给服务端。由图1可见,同一条HTTP/2流内的帧可以连续传输,如stream3;也可以不连续传输,如stream1。可以理解,一条HTTP/2流中可以包括数据帧、控制帧、报头帧中的一种或多种帧类型,图1仅是一种示例,不能对HTTP/2流包含的帧类型或数量构成任何限制。
从图1可见,一个HTTP/2连接能够保持多个同时打开的流,通信两端间可以在多个流中交换帧。各个HTTP/2流内的帧按时序发送,各个帧的发送顺序决定了其被接收以及处理的顺序,特别是报头帧及 数据帧的顺序语义决定了接收端先处理报头帧再处理数据帧,如图1所示的stream3中的报头帧及数据帧的发送顺序。
每一个HTTP/2流具有流标识。流标识由启动HTTP/流的通信端分配,同一条HTTP/2流内的每个帧都携带相同的流标识。HTTP/流可以被客户端或者服务端单方面建立使用或分享;也可以被任何一个通信端关闭。
如图1所示,每一个HTTP/2连接中的多条HTTP/2流均在同一条TCP连接上传输,数据吞吐量受到限制;且当该TCP连接出现问题时,HTTP/2流的传输会中断,影响传输效率。因此,本发明实施例将MPTCP的相关技术应用于HTTP/2流的传输,利用MPTCP进行HTTP2流的传输优化。进一步地,如果同一HTTP/2流的各个帧随机在MPTCP链路的各个MPTCP子流上传输,会导致客户端和服务端之间MPTCP子流上的中间解析节点无法接收到属于同一个HTTP/2流的所有帧,进而无法完成HTTP/2业务解析处理。其中,所述中间解析节点可以是MPTCP链路中的任意通信设备,例如路由器、基站设备或者基站控制设备等,本发明实施例对此不做特别限定。
MPTCP在传统TCP协议的基础上发展而来,可以为用户终端提供端到端的多链路通信,以资源共享的方式,把数据流分发到多条链路上来提高网络带宽。图2a是MPTCP协议栈的示意图,相对标准TCP(standard TCP)而言,MPTCP协议栈主要是将TCP层分为MPTCP层和TCP子流(TCP Subflow)层,通过如下方式实现数据并发传输,包括:建立多个MPTCP子流,相当于建立多条TCP连接;由MPTCP层 对多个MPTCP子流进行数据分流或汇聚等处理。MPTCP子流与所属的MPTCP链路可以通过令牌(Token)联系起来。Token是MPTCP链路的标识,只具有本地意义和唯一性,MPTCP初始连接建立过程的发起端和响应端均要生成一个Token,Token可以看作是MPTCP链路标识(MPTCP Connection ID)。
MPTCP链路由多条MPTCP子流构成。MPTCP子流是在某一特定的传输路径(path)上进行传输的TCP数据流。其中,传输路径是指存在于MPTCP链路的通信两端之间的通路,可以通过通信两端的一对地址,例如通信两端的IP地址,或IP地址和端口号(port)来标识,每条MPTCP子流都有对应的路径。其中,MPTCP链路的通信两端可以是空口上行或空口下行数据传输过程中的两端通信设备,例如客户端与服务端。通信两端中的任意一端均可以发起或响应MPTCP链路的相关过程,包括MPTCP初始连接建立过程、子流新建过程、子流删除过程、子流优先级更新过程等。例如,由接入某无线接入点的UE发起MPTCP初始连接建立过程,网络侧的Server进行响应,则UE与Server成为MPTCP链路的通信两端;类似地,也可以由Server发起MPTCP初始连接建立过程,UE进行响应。
由于MPTCP是一个端到端的协议,因此通信两端需要交互控制信令来完成诸如上述MPTCP初始连接建立、TCP子流增加或删除、地址通知等功能。这些控制信令都是通过TCP选项(TCP Option)来传输的。
图2b是本发明实施例提供的协议栈的示意图。本发明实施例的数 据传输方法通过在应用层和MPTCP层中插入HTTP2适配层,用于识别HTTP/2流,使得属于同一HTTP/2流的所有帧在相同的MPTCP子流上传输,以便客户端和服务端之间MPTCP子流上中间解析节点可以接收到一个HTTP/2流内的所有帧,完成HTTP/2业务解析处理。
如图3所示,本发明实施例提供了一种数据传输方法,适用于通信装置,所述通信装置的协议栈包括HTTP/2适配层以及MPTCP层。
该通信装置可以作为客户端或者服务端与对端进行数据通信。
所述数据传输方法包括步骤S301-S302:
S301:HTTP/2适配层确定将属于同一条HTTP/2流的所有HTTP/2帧匹配到同一条MPTCP子流上。
具体地,可以在协议栈的应用层和MPTCP层之间设置HTTP/2适配层。该HTTP/2适配层可以用于识别HTTP/2流,并将HTTP/2帧与MPTCP子流进行匹配。
S302:MPTCP层根据所述HTTP/2适配层的指示,将所述属于同一条HTTP/2流的所有HTTP/2帧承载到一条MPTCP子流上进行传输,其中,所述MPTCP子流归属的MPTCP链路有至少一条MPTCP子流。
可选地,作为本发明的一个实施例,HTTP/2适配层可以将携带HTTP/2帧及对应的子流指示信息(subflow_indication)的消息(message)发送到MPTCP层,由MPTCP层根据子流指示信息,将该HTTP/2帧分配到一条MPTCP子流上进行传输,进一步地,根据相同的子流指示信息,将属于同一条HTTP/2流的所有帧都分配到同一条 MPTCP子流上进行传输。
可选地,在S301之前,所述方法还可以包括步骤S300a:HTTP/2适配层根据HTTP/2帧携带的流标识,来识别该HTTP/2帧归属的HTTP/2流。
其中,HTTP/2帧由应用层传输至HTTP/2适配层。
可选地,上述流标识可以是HTTP/2帧的报头字段中的流标识符(Stream Identifier,Stream ID)。使用流标识符,表明该HTTP/2帧属于一个连续的HTTP/2流,而非独立传输。属于同一条HTTP/2流的HTTP/2帧具有相同的流标识。流标识符的长度可以是31字节。
可选地,在S301之前,所述方法还可以包括步骤S300b:HTTP/2适配层通过与MPTCP层之间的接口获取属于所述MPTCP链路的至少一条MPTCP子流的子流信息,所述子流信息用于标识所述至少一条MPTCP子流。
具体地,HTTP/2适配层与MPTCP层之间的信息交互可以通过接口进行,例如套接字(Socket)接口。MPTCP层可以将各条MPTCP子流的子流信息通过Socket接口发送给HTTP/2适配层。
需要指出的是,当本发明实施例提供的数据传输方法中同时包含步骤S300a及S300b时,本发明实施例对步骤S300a及S300b的执行顺序不做特别限定,即可以先执行S300a再执行S300b,也可以先执行S300a再执行S300b,也可以同时执行S300a及S300b。
采用本发明实施例提供的数据传输方法,根据HTTP/2流的流标识以及MPTCP链路下的至少一条MPTCP子流的子流信息,将属于 同一条HTTP/2流的所有帧都分配在同一条MPTCP子流上进行传输,数据吞吐量大,系统鲁棒性好,提升了HTTP/2流的传输性能。
可选地,作为本发明的一个实施例,HTTP/2适配层获取的MPCTP子流的子流信息至少包括,MPTCP子流标识。
可选地,所述MPTCP子流标识可以包括MPTCP子流的地址信息
可选地,MPTCP子流的地址信息可以是MPTCP链路的通信两端的端口号和IP地址,或通信两端的IP地址。MPTCP链路下的每条MPTCP子流都有不同的地址,即地址信息可以用于表征MPTCP子流。
可选地,当HTTP/2适配层获取的子流信息至少包括MPTCP子流标识时,S301具体包括如图4所示的步骤S3011-S3012:
S3011:HTTP/2适配层根据所述至少一条MPTCP子流的地址信息,选择一条MPTCP子流,选择出的MPTCP子流用于承载属于所述同一条HTTP/2流的所有HTTP/2帧。
S3012:HTTP/2适配层将所述HTTP/2帧及选择出的MPTCP子流的地址信息发送到MPTCP层。
具体地,HTTP/2适配层可以根据HTTP/2帧携带的流标识识别该HTTP/2帧归属的HTTP/2流;以及根据MPTCP子流的地址信息,获取MPTCP链路下的子流数量及每条MPTCP子流的路径,从而从多条MPTCP子流中选择一条MPTCP子流;进而指示MPTCP层将属于同一个HTTP/2流内的所有HTTP/2帧分配到该选择出的MPTCP子流中进行传输。
可选地,在该实施例中,HTTP/2适配层向MPTCP层发送的子流 指示信息可以由HTTP/2层选择出的一条MPTCP子流的地址信息。则MPTCP层获得该子流指示信息后,可以将对应该子流指示信息的HTTP/2帧分配到与上述地址信息匹配的MPTCP子流上进行传输。
可以理解,HTTP/2适配层根据HTTP/2帧携带的流标识,为同一条HTTP/2内的所有帧匹配的是同一条MPTCP子流的地址信息,因而,同一条HTTP/2内的所有帧对应的子流指示信息也相同,MPTCP层可以根据相同的子流指示信息,将属于同一个HTTP/2流内的所有HTTP/2帧都分配到同一条MPTCP子流上。
对应地,在该实施例中,S302具体为:MPTCP层将所述属于同一条HTTP/2流的所有HTTP/2帧承载到所述选择出的MPTCP子流进行传输
可选地,作为本发明的另一个实施例,HTTP/2适配层获取的所述MPTCP子流的子流信息至少包括,MPTCP子流的数量。
当子流信息至少包括MPTCP子流的数量时,S301具体包括如图5所示的步骤S3011’-S3013’:
S3011’:HTTP/2适配层将所述数量的MPTCP子流中的每一个MPTCP子流,分别分配一个MPTCP子流标识号,所述MPTCP子流标识号用于区分不同MPTCP子流。
具体地,所述MPTCP子流标识号用于将属于同一MPTCP链路的多条MPTCP子流进行区分。可选地,可以用不同的符号,例如字母、数字、字符等标识各条MPTCP子流。
S3012’:HTTP/2适配层将所述属于同一条HTTP/2流的所有 HTTP/2帧全部对应一个MPTCP子流标识号。
S3013’:HTTP/2适配层将所述HTTP/2帧及对应的MPTCP子流标识号发送到MPTCP层。
可选地,在该实施例中,HTTP/2适配层向MPTCP层发送的子流指示信息可以是MPTCP子流标识号。具体地,当HTTP/2适配层获取的MPTCP子流的信息为同一MPTCP链路下的MPTCP子流的数量信息时,HTTP/2适配层可以确定该MPTCP链路包含几条不同的MPTCP子流,并将各条MPTCP子流以不同的MPTCP子流标识号进行区分,进而向MPTCP层发送携带HTTP/2帧和MPTCP子流标识号的消息,由MPTCP层决定传输该HTTP/2帧的具体MPTCP子流。可以理解,属于同一条HTTP/2流的所有帧都与同一个MPTCP标识号对应,则MPTCP层可以根据该标识号,将同一条HTTP/2流内的所有HTTP/2帧分配到同一条MPTCP子流上。
对应地,在该实施例中,S302具体包括:MPTCP层选择一条MPTCP子流与所述MPTCP子流标识号对应;并将所述属于所述同一条HTTP/2流的所有HTTP/2帧分配到对应于所述MPTCP标识号的MPTCP子流上进行传输。
本发明实施例对MPTCP子流的选择方式不做特别限定。例如,HTTP/2适配层或者MPTCP层可以随机选择MPTCP子流传输上述HTTP/2帧;也可以根据各条MPTCP子流的负载情况,选择负载较低的MPTCP子流传输上述HTTP/2帧。
以下以一个示例说明本发明实施例中的HTTP/2流的传输过程。 假设HTTP/2适配层根据MPTCP子流的数量信息确定一个MPTCP链路下有3个MPTCP子流,包括子流1,子流2和子流3,使用标号1-3区分子流1,子流2和子流3,不用于特指某个具体的MPTCP子流。HTTP/2适配层可以将HTTP/2帧与指示子流1,子流2和子流3中的任意一个的子流指示信息(subflow_indication)携带在一个消息中发送给MPTCP层,其中,subflow_indication的值可以是1或2或3;随后,由MPTCP层确定子流1、子流2或子流3对应的具体的MPTCP子流,并将属于子流1、子流2或子流3的HTTP/2帧分配到对应的MPTCP子流进行传输,其中,每条具体的MPTCP子流可以由通信两端的IP地址标识。
可选地,上述消息的格式可以是(buf,subflow_indication,…),其中,参数buf表示HTTP/2适配层向MPTCP层发送的数据,即本发明实施例中指的HTTP/2帧。该消息可以通过Socket接口发送。subflow_indication代表子流指示信息。
可以理解,通信两端之间可以同时传输多条HTTP/2流,则各条HTTP/2流可以分散在不同的MPTCP子流上传输;此外,由于有多条MPTCP子流,当其中某条MPTCP子流出现故障时,可以及时将该条MPTCP子流上的HTTP/2流转移到其他MPTCP子流上进行传输,提升了系统鲁棒性。
在本发明实施例的一个具体的应用场景中,host(主机)A和host B的协议栈中分别配置了HTTP/2适配层及MPTCP层,host A和host B之间有两条MPTCP子流,分别为subflow1和subflow2,其中,subflow1可以由host A和host B的一组IP地址(A2;B1)标识,subflow2可以 由host A和host B的另一组IP地址(A2;B1)标识。host A和host B之间有4条HTTP/2流传输,分别为stream1,stream2,stream3,stream4,对应的流标识分别为1,2,3和4,假设每一条HTTP/2流内各有两个HTTP/2帧,frame1和frame2,且对HTTP/2帧的类型不做限定。HTTP/2适配层通过识别HTTP/2帧的流标识可以判断该HTTP/2帧归属的HTTP/2流,并指示MPTCP层分别将stream1和stream4内的所有的帧分配在subflow2上传输,将stream2和stream3所有的帧分配在subflow1上传输,实现了HTTP/2业务的分流。可以理解,该示例不能构成对本发明实施例的任何限定。
在实际应用中,HTTP/2流中的报头帧和数据帧组成了基本的HTTP请求和响应。由于同一个HTTP/2流中的报头帧和数据帧的流标识相同,HTTP/2适配层可以通过识别流标识,将该报头帧和数据帧分配到同一个MPTCP子流中进行传输,则同一条HTTP/2流的请求及响应都可以在一条MPTCP子流上进行。从而MPTCP子流上的中间解析节点可以在一条MPTCP子流上获取该HTTP/2流的全部信息,以完成对该HTTP/2的解析,实现不同MPTCP子流业务的处理,包括后续数据传输,业务优化、计费等。
图6是本发明实施例提供的另一种数据传输方法的流程示意图,该方法可以用于客户端或者服务端。
S601:应用层识别接收到的数据是否为HTTP/2流,若该数据是HTTP/2流,执行S602;若该数据为非HTTP/2流,执行S603。
其中,非HTTP/2流是指未采用HTTP/2规定的格式传输的数据。
可选地,应用层可以根据接收到的数据的帧格式确定该数据是否为HTTP/2流,关于HTTP/2帧格式可以参照本发明其他实施例的相关说明,在此不做赘述。
S602:应用层将HTTP/2流传输给HTTP/2适配层进行处理。
S603:应用层将非HTTP/2流传输给MPTCP层进行处理,由MPTCP层确定将非HTTP/2流分配到MPTCP子流进行传输。
其中,HTTP/2适配层对HTTP/2流处理过程包括S6021-S6024:
S6021:HTTP/2适配层通过流标识识别HTTP/2流。
S6022:HTTP/2适配层通过Socket接口从MPTCP层获取MPTCP子流的信息。
可选地,HTTP/2适配层可以通过Socket接口接收MPTCP层发送的TCP_MULTIPATH_CONNID消息,从而获取MPTCP子流的数量;也可以接收TCP_MULTIPATH_SUBFLOWS消息,从而获取MPTCP子流的地址列表(list of pairs of addresses),该地址列表中可以包括属于同一MPTCP链路的各条MPTCP子流的通信两端的IP地址以及端口号等信息。
S6023:HTTP/2适配层将属于该HTTP/2流内的所有帧与同一条MPTCP子流进行匹配。
S6024:HTTP/2适配层将HTTP/2流与对应的子流指示信息发送给MPTCP层,由MPTCP层将该HTTP/2流分配到具体的MPTCP子流进行传输。
关于HTTP/2流处理过程的详细描述可以参照本发明其他实施例的相关内容,在此不做赘述。
可选地,MPTCP层可以决定传输上述非HTTP2数据的MPTCP子流,包括,将上述非HTTP2数据分配在传输HTTP/2流的MPTCP子流上传输;也可以将上述非HTTP2数据分配在未传输HTTP/2流的MPTCP子流上传输,本发明实施例对此不做特别限定。
MPTCP层可以确定将非HTTP/2数据分配到一条MPTCP子流上,或者不同MPTCP子流上。具体的分配过程,以及非HTTP/2数据在MPTCP子流上的传输过程可以参照现有技术的相关内容,在此不做赘述。
在本发明的另一个实施方式中,应用层可以将接收到的数据全部传输至HTTP/2适配层,由HTTP/2适配层识别所述HTTP/2流以及非HTTP/2数据,将所述非HTTP/2数据透传至MPTCP层,由所述MPTCP层将所述非HTTP2数据分配到MPTCP子流进行传输。
可选地,HTTP/2适配层在向MPTCP层透传上述非HTTP/2数据的同时,可以向MPTCP层发送指示消息,指示将上述非HTTP/2数据分配在某个MPTCP子流上传输,该指示消息的内容具体可以参照本发明其他实施例中关于传输HTTP/2流的子流指示信息的描述,在此不做赘述。
采用本发明实施例提供的数据传输方法,通过区分HTTP/2流以及非HTTP/2数据,HTTP/2适配层根据HTTP/2流的流标识以及同一个MPTCP链路下的至少一条MPTCP子流的信息,指示MPTCP层 将属于同一条HTTP/2流的所有帧都分配在同一条MPTCP子流上进行传输,提升了数据吞吐量及系统鲁棒性,并对非HTTP/2数据进行透传,由MPTCP层进行处理,节约HTTP/2适配层的处理资源。进一步地,客户端和服务端之间的MPTCP子流上的中间解析节点可以接收到属于同一个HTTP/2流的所有帧,进而完成HTTP/2业务解析处理。
图7是本发明实施例提供的一种通信装置的结构示意图。该装置用于与对端装置进行通信,包括适配单元701,传输单元702。
其中,适配单元701,用于确定将属于同一条HTTP/2流的所有HTTP/2帧匹配到同一条MPTCP子流上。
传输单元702,用于根据适配单元701的指示,将所述属于同一条HTTP/2流的所有HTTP/2帧承载到一条MPTCP子流上进行传输,其中,所述MPTCP子流归属的MPTCP链路有至少一条MPTCP子流。
可选地,作为本发明的一个实施方式,适配单元701具体用于,根据HTTP/2帧携带的流标识,来识别所述所有HTTP/2帧属于同一条HTTP/2流。
可选地,适配单元701还用于,通过与传输单元702之间的接口获取属于所述MPTCP链路的至少一条MPTCP子流的子流信息,所述子流信息用于标识所述至少一条MPTCP子流。
可选地,本发明实施例中所述的接口可以是软件模块之间的接口,即可以通过软件方式实现;也可以是硬件模块之间的接口,通过 电路来实现,本发明实施例对此不做特别限定。
可选地,在本发明的一个实施例中,适配单元701获取的子流信息至少包括,MPTCP子流标识。
可选地,所述MPTCP子流标识包括MPTCP子流的地址信息。
在该实施例中,适配单元701可以用于根据所述至少一条MPTCP子流的地址信息,选择一条MPTCP子流,选择出的MPTCP子流用于承载所述属于同一条HTTP/2流的所有HTTP/2帧;以及将所述至少一个HTTP/2帧及选择出的MPTCP子流的地址信息发送到所述传输单元702。
对应地,传输单元702可以用于将所述属于同一条HTTP/2流的所有HTTP/2帧分配到所述选择出的MPTCP子流进行传输。
可选地,作为本发明的另一个实施例,适配单元701获取的子流信息至少包括,MPTCP子流的数量。
在该实施例中,适配单元701可以用于将所述数量的MPTCP子流中的每一个MPTCP子流,分别分配一个MPTCP子流标识号,所述MPTCP子流标识号用于区分不同MPTCP子流;将所述至少一个HTTP/2帧全部对应一个MPTCP子流标识号;以及将所述至少一个HTTP/2帧及对应的MPTCP子流标识号发送给传输单元702。
对应地,传输单元702可以用于选择一条MPTCP子流,将所述属于同一条HTTP/2流的所有HTTP/2帧分配到带有所述标识号的MPTCP子流上进行传输。
可选地,适配单元701还可以用于识别非HTTP/2数据,将所述 非HTTP/2数据透传至传输单元702,由传输单元702将所述非HTTP2数据分配到对应的MPTCP子流进行传输。
可选地,所述通信装置中还可以包括通信单元,用于与其他通信设备,例如对端设备进行信息交互。
采用本发明实施例提供的通信装置,根据HTTP/2流的流标识以及同一个MPTCP链路下的至少一条MPTCP子流的信息,将属于同一条HTTP/2流的所有帧都分配在同一条MPTCP子流上进行传输,数据吞吐量大,系统鲁棒性好,提升了HTTP/2流传输性能。进一步地,客户端和服务端之间的MPTCP子流上的中间解析节点可以接收到属于同一个HTTP/2流的所有帧,进而完成HTTP/2业务解析处理。
如图8所示,本发明实施例还提供了一种通信装置,用于与对端装置进行通信。该装置包括处理器801、存储器802。
该装置还可以包括通信接口803、以及系统总线804。所述处理器801、存储器802以及通信接口803之间可以通过系统总线804连接并完成相互间的通信。
处理器801可以是多核处理器,也可以是在地理位置上分散并以通信链路连接的两个以上的处理器,可以是中央处理单元(CPU,Central Processing Unit),也可以是数字信号处理器(DSP,digital signal processor)或者其他的专门处理器。
存储器802可以是闪存存储器(flash memory)或者随机存储器(RAM,random access memory)等现有技术中的各类存储器/介质, 在此不做特别限定。可以理解,存储器802可以是单个存储设备,也可是是地理位置上分散并以通信链路连接的两个以上的存储器。
通信接口803可以用于该通信装置与其他通信装置之间进行信息交互。
存储器802中存储一组程序代码,处理器801用于调用存储器802中存储的程序代码,所述程序代码包括如下功能模块:
适配模块,用于确定将属于同一条HTTP/2流的所有HTTP/2帧匹配到同一条MPTCP子流上。
传输模块,用于根据适配模块的指示,将所述属于同一条HTTP/2流的所有HTTP/2帧承载到一条MPTCP子流上进行传输,其中,所述MPTCP子流归属的MPTCP链路有至少一条MPTCP子流。
可选地,作为本发明的一个实施方式,所述适配模块中可以包括识别子模块,用于根据HTTP/2帧携带的流标识,来识别所述所有HTTP/2帧属于同一条HTTP/2流。
可选地,适配模块可以通过与传输模块之间的接口获取属于所述MPTCP链路的至少一条MPTCP子流的子流信息,所述子流信息用于标识所述至少一条MPTCP子流。
可选地,在本发明的一个实施例中,适配模块获取的子流信息至少包括,MPTCP子流标识。
可选地,所述MPTCP子流标识包括MPTCP子流的地址信息。
在该实施例中,适配模块可以用于根据所述至少一条MPTCP子流的地址信息,选择一条MPTCP子流,选择出的MPTCP子流用于承 载所述属于同一条HTTP/2流的所有HTTP/2帧;以及将所述至少一个HTTP/2帧及选择出的MPTCP子流的地址信息发送到所述传输子单元。
对应地,传输模块可以用于将所述属于同一条HTTP/2流的所有HTTP/2帧分配到所述选择出的MPTCP子流进行传输。
可选地,作为本发明的另一个实施例,适配模块获取的子流信息至少包括,MPTCP子流的数量。
在该实施例中,适配模块可以用于将所述数量的MPTCP子流中的每一个MPTCP子流,分别分配一个MPTCP子流标识号,所述MPTCP子流标识号用于区分不同MPTCP子流;将所述至少一个HTTP/2帧全部对应一个MPTCP子流标识号;以及将所述至少一个HTTP/2帧及对应的MPTCP子流标识号发送给所述传输模块。
对应地,传输模块可以用于选择一条MPTCP子流,将所述属于同一条HTTP/2流的所有HTTP/2帧分配到带有所述标识号的MPTCP子流上进行传输。
可选地,适配模块还可以用于识别非HTTP/2数据,将所述非HTTP/2数据透传至传输模块,由传输模块将所述非HTTP2数据分配到对应的MPTCP子流进行传输。
可以理解,本发明实施例提供的通信装置还可以包括但不限于:收发信机、电源单元、传输部分、告警部分,天馈部分,操作维护部分中的一个或多个,本领域普通技术人员可以理解,根据不同的实现方式,通信设备可以有不同的组成部分,本发明实施例对此不做限定。
需要说明的是,本发明实施例中提供的通信装置可以用于控制HTTP/2流的传输,该装置可以是独立设置的装置,作为客户端或者服务端与对端装置进行通信;也可以部署在其他通信设备中作为一个控制模块,例如部署在客户端或者服务端内,本发明实施例对此不做任何限定。例如,上述装置可以作为一个控制模块部署在BSC、RNC或AC等接入控制设备中;也可以作为一个控制模块部署在BTS、NodeB、e-NodeB、AP等接入设备中,也可以作为一个控制模块部署在UE等终端设备中,也可以是上述接入控制设备、接入设备或终端设备本身。
采用本发明实施例提供的通信装置,根据HTTP/2流的流标识以及同一个MPTCP链路下的至少一条MPTCP子流的信息,将属于同一条HTTP/2流的所有帧都分配在同一条MPTCP子流上进行传输,数据吞吐量大,系统鲁棒性好,提升了HTTP/2流的传输性能。进一步地,客户端和服务端之间的MPTCP子流上的中间解析节点可以接收到属于同一个HTTP/2流的所有帧,进而完成HTTP/2业务解析处理。
本所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,关于本发明实施例提供的通信装置的功能以及执行的步骤可以参照本发明方法实施例的相关描述,在此不做赘述。
通过以上的实施例的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以 软件产品的形式体现出来。
本发明实施例还提供了一种计算机软件产品。
该计算机软件产品可以存储在一个存储介质中。所述计算机软件产品包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质可以是非易失性的,例如包括:U盘、移动硬盘、只读存储器(ROM)、随机存取存储器(RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,在没有超过本申请的范围内,可以通过其他的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
另外,所描述装置和方法以及不同实施例的示意图,在不超出本申请的范围内,可以与其它系统,模块,技术或方法结合或集成。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是 通过一些接口,基站或单元的间接耦合或通信连接,可以是电子、机械或其它的形式。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (21)

  1. 一种数据传输方法,其特征在于,适用于通信装置,所述通信装置的协议栈包括超文本传输协议HTTP/2适配层以及多路传输控制协议MPTCP层,所述方法包括,
    所述HTTP/2适配层确定将属于同一条HTTP/2流的所有HTTP/2帧匹配到同一条MPTCP子流上;
    所述MPTCP层根据所述HTTP/2适配层的指示,将所述属于同一条HTTP/2流的所有HTTP/2帧承载到一条MPTCP子流上进行传输,其中,所述MPTCP子流归属的MPTCP链路有至少一条MPTCP子流。
  2. 根据权利要求1所述的方法,其特征在于,所述方法还包括,
    所述HTTP/2适配层根据HTTP/2帧携带的流标识,来识别所述所有HTTP/2帧属于所述同一条HTTP/2流。
  3. 根据权利要求1或2所述的方法,其特征在于,所述方法还包括,
    所述HTTP/2适配层通过与所述MPTCP层之间的接口获取属于所述MPTCP链路的至少一条MPTCP子流的子流信息,所述子流信息用于标识所述至少一条MPTCP子流。
  4. 根据权利要求3所述的方法,其特征在于,
    所述子流信息至少包括,MPTCP子流标识。
  5. 根据权利要求4所述的方法,其特征在于,
    所述MPTCP子流标识包括MPTCP子流的地址信息;
    所述HTTP/2适配层确定将属于同一条HTTP/2流的所有HTTP/2帧匹配到同一条MPTCP子流上包括,
    HTTP/2适配层根据所述至少一条MPTCP子流的地址信息,选择一条MPTCP子流,选择出的MPTCP子流用于承载所述属于同一条HTTP/2流的所有HTTP/2帧;以及将所述HTTP/2帧及选择出的MPTCP子流的地址信息发送到所述MPTCP层;
    所述MPTCP层根据所述HTTP/2适配层的指示,将所述属于同一条HTTP/2流的所有HTTP/2帧承载到一条MPTCP子流上进行传输包括,
    所述MPTCP层将所述属于同一条HTTP/2流的所有HTTP/2帧承载到所述选择出的MPTCP子流进行传输。
  6. 根据权利要求3所述的方法,其特征在于,所述MPTCP子流的信息至少包括,MPTCP子流的数量。
  7. 根据权利要求6所述的方法,其特征在于,
    所述HTTP/2适配层确定将属于同一条HTTP/2流的所有HTTP/2帧匹配到同一条MPTCP子流上包括,
    所述HTTP/2适配层将所述数量的MPTCP子流中的每一个MPTCP子流,分别分配一个MPTCP子流标识号,所述MPTCP子流标识号用于区分不同MPTCP子流;将所述属于同一条HTTP/2流的所有HTTP/2帧全部对应一个MPTCP子流标识号;以及将所述 HTTP/2帧及对应的MPTCP子流标识号发送给所述MPTCP层;
    所述MPTCP层根据所述HTTP/2适配层的指示,将所述属于同一条HTTP/2流的所有HTTP/2帧承载到一条MPTCP子流上进行传输包括,
    所述MPTCP层选择一条MPTCP子流与所述MPTCP子流标识号对应;将所述属于所述同一条HTTP/2流的所有HTTP/2帧分配到对应于所述MPTCP标识号的MPTCP子流上进行传输。
  8. 一种通信装置,其特征在于,用于与对端装置进行通信,所述装置包括:
    适配单元,用于确定将属于同一条超文本传输协议HTTP/2流中的所有HTTP/2帧匹配到同一条多路传输控制协议MPTCP子流上;
    传输单元,用于根据所述适配单元的指示,将所述属于同一条HTTP/2流的所有HTTP/2帧承载到一条MPTCP子流上进行传输,其中,所述MPTCP子流归属的MPTCP链路有至少一条MPTCP子流。
  9. 根据权利要求8所述的装置,其特征在于,
    所述适配单元具体用于,根据所述HTTP/2帧携带的流标识,来识别所述所有HTTP/2帧属于所述同一条HTTP/2流。
  10. 根据权利要求8或9所述的装置,其特征在于,
    所述适配单元还用于,通过与传输单元之间的接口获取属于所述MPTCP链路的至少一条MPTCP子流的子流信息,所述子流信息用于标识所述至少一条MPTCP子流。
  11. 根据权利要求10所述的装置,其特征在于,
    所述子流信息至少包括,MPTCP子流标识。
  12. 根据权利要求11所述的装置,其特征在于,
    所述MPTCP子流标识包括MPTCP子流的地址信息;
    所述适配单元具体用于,根据所述至少一条MPTCP子流的地址信息,选择一条MPTCP子流,选择出的MPTCP子流用于承载所述属于同一条HTTP/2流的所有HTTP/2帧;以及将所述HTTP/2帧及选择出的MPTCP子流的地址信息发送到所述传输单元;
    所述传输单元具体用于,将所述属于同一条HTTP/2流的所有HTTP/2帧承载到所述选择出的MPTCP子流进行传输。
  13. 根据权利要求10所述的装置,其特征在于,所述MPTCP子流的信息至少包括,MPTCP子流的数量。
  14. 根据权利要求13所述的装置,其特征在于,
    所述适配单元具体用于,将所述数量的MPTCP子流中的每一个MPTCP子流,分别分配一个MPTCP子流标识号,所述MPTCP子流标识号用于区分不同MPTCP子流;将所述属于同一条HTTP/2流的所有HTTP/2帧全部对应一个MPTCP子流标识号;以及将所述HTTP/2帧及对应的MPTCP子流标识号发送给所述传输单元;
    所述传输单元具体用于:选择一条MPTCP子流与所述MPTCP子流标识号对应;将所述属于同一条HTTP/2流的所有HTTP/2帧分配到对应于所述MPTCP标识号的MPTCP子流上进行传输。
  15. 一种通信装置,其特征在于,用于与对端装置进行通信,所述装置包括:处理器及存储器;
    所述存储器用于存储一组程序代码,所述处理器用于调用所述存储器中存储的程序代码,所述程序代码包括如下功能模块:
    适配模块,用于确定将属于同一条HTTP/2流的所有HTTP/2帧匹配到同一条MPTCP子流上。
    传输模块,用于根据所述适配模块的指示,将所述属于同一条HTTP/2流的所有HTTP/2帧承载到一条MPTCP子流上进行传输,其中,所述MPTCP子流归属的MPTCP链路有至少一条MPTCP子流。
  16. 根据权利要求15所述的装置,其特征在于,
    所述适配模块中包括识别子模块,用于根据所述HTTP/2帧携带的流标识,来识别所述所有HTTP/2帧属于所述同一条HTTP/2流。
  17. 根据权利要求15或16所述的装置,其特征在于,
    所述适配模块还用于,通过与所述传输模块之间的接口获取属于所述MPTCP链路的至少一条MPTCP子流的子流信息,所述子流信息用于标识所述至少一条MPTCP子流。
  18. 根据权利要求17所述的装置,其特征在于,
    所述子流信息至少包括,MPTCP子流标识。
  19. 根据权利要求18所述的装置,其特征在于,
    所述MPTCP子流标识包括MPTCP子流的地址信息;
    所述适配模块具体用于,根据所述至少一条MPTCP子流的地址信息,选择一条MPTCP子流,选择出的MPTCP子流用于承载所述属于同一条HTTP/2流的所有HTTP/2帧;以及将所述HTTP/2帧及选择出的MPTCP子流的地址信息发送到所述传输模块;
    所述传输模块具体用于,将所述属于同一条HTTP/2流的所有HTTP/2帧承载到所述选择出的MPTCP子流进行传输。
  20. 根据权利要求17所述的装置,其特征在于,所述MPTCP子流的信息至少包括,MPTCP子流的数量。
  21. 根据权利要求20所述的装置,其特征在于,
    所述适配模块具体用于,将所述数量的MPTCP子流中的每一个MPTCP子流,分别分配一个MPTCP子流标识号,所述MPTCP子流标识号用于区分不同MPTCP子流;将所述属于同一条HTTP/2流的所有HTTP/2帧全部对应一个MPTCP子流标识号;以及将所述HTTP/2帧及对应的MPTCP子流标识号发送给所述传输模块;
    所述传输模块具体用于,选择一条MPTCP子流与所述MPTCP子流标识号对应;将所述属于同一条HTTP/2流的所有HTTP/2帧分配到对应于所述MPTCP标识号的MPTCP子流上进行传输。
CN201580080702.8A 2015-09-23 2015-09-23 数据传输方法及通信装置 Active CN107615729B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2015/090441 WO2017049505A1 (zh) 2015-09-23 2015-09-23 数据传输方法及通信装置

Publications (2)

Publication Number Publication Date
CN107615729A true CN107615729A (zh) 2018-01-19
CN107615729B CN107615729B (zh) 2020-03-20

Family

ID=58385639

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580080702.8A Active CN107615729B (zh) 2015-09-23 2015-09-23 数据传输方法及通信装置

Country Status (3)

Country Link
US (1) US10958581B2 (zh)
CN (1) CN107615729B (zh)
WO (1) WO2017049505A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111819874A (zh) * 2018-06-29 2020-10-23 华为技术有限公司 避免基于5g服务的架构中plmn间路由和tls问题的方法和解决方案
CN114189565A (zh) * 2020-08-31 2022-03-15 华为技术有限公司 一种头域还原系统、方法及相关设备
CN114826646A (zh) * 2022-02-28 2022-07-29 天翼安全科技有限公司 一种网络异常行为检测方法、装置及电子设备
CN115379469A (zh) * 2022-08-12 2022-11-22 江苏省电力试验研究院有限公司 一种基于机器学习的多接入异构网络mptcp子流调度方法

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109921988B (zh) 2014-07-21 2021-08-03 华为技术有限公司 链路控制节点、链路控制方法及通信系统
EP3264644A1 (en) * 2016-07-01 2018-01-03 Nxp B.V. Multiple source receiver
WO2018165190A1 (en) * 2017-03-07 2018-09-13 Akamai Technologies, Inc. Cooperative multipath
US11283721B2 (en) * 2018-06-27 2022-03-22 Nokia Solutions And Networks Oy Application-based traffic control in multipath networks
EP3588896A1 (en) 2018-06-28 2020-01-01 InterDigital CE Patent Holdings Multi-path management
EP3809644B1 (en) * 2018-07-23 2024-03-20 Huawei Technologies Co., Ltd. Data transmission method and electronic device
CN109327511B (zh) * 2018-09-18 2021-05-28 网宿科技股份有限公司 一种基于http协议的数据请求方法和服务器
CN111031078B (zh) * 2018-10-09 2021-05-04 华为技术有限公司 一种通信方法及装置
CN112118284A (zh) * 2020-07-30 2020-12-22 爱普(福建)科技有限公司 一种面向网关设备的http数据请求方法、设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102185771A (zh) * 2011-05-05 2011-09-14 清华大学 Mptcp中发送方数据包调度方法及系统
CN102404077A (zh) * 2011-11-30 2012-04-04 清华大学 基于喷泉码的多径tcp协议
US20130232534A1 (en) * 2012-03-01 2013-09-05 Motorola Mobility, Inc. Method for retrieving content, wireless communication device and communication system
CN103597794A (zh) * 2012-02-16 2014-02-19 阿尔卡特朗讯公司 用于提供关于数据数组关联的信息以及用于转发数据数组的设想

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9503223B2 (en) 2011-03-04 2016-11-22 Blackberry Limited Controlling network device behavior
US9380351B2 (en) * 2014-01-17 2016-06-28 Lg Display Co., Ltd. Apparatus for transmitting encoded video stream and method for transmitting the same
US10270495B2 (en) * 2014-03-24 2019-04-23 Telefonaktiebolaget Lm Ericsson (Publ) Segmented transfers in mobile networks using coordinated multipoint
US20170034283A1 (en) * 2015-07-27 2017-02-02 Samsung Electronics Co., Ltd. Management of multipath communication sessions
US10405365B2 (en) * 2015-12-16 2019-09-03 At&T Intellectual Property I, L.P. Method and apparatus for web browsing on multihomed mobile devices
US20190215306A1 (en) * 2018-01-11 2019-07-11 Nicira, Inc. Rule processing and enforcement for interleaved layer 4, layer 7 and verb based rulesets
US11038834B2 (en) * 2018-01-31 2021-06-15 Hewlett Packard Enterprise Development Lp Selecting an external link of a plurality of external links

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102185771A (zh) * 2011-05-05 2011-09-14 清华大学 Mptcp中发送方数据包调度方法及系统
CN102404077A (zh) * 2011-11-30 2012-04-04 清华大学 基于喷泉码的多径tcp协议
CN103597794A (zh) * 2012-02-16 2014-02-19 阿尔卡特朗讯公司 用于提供关于数据数组关联的信息以及用于转发数据数组的设想
US20130232534A1 (en) * 2012-03-01 2013-09-05 Motorola Mobility, Inc. Method for retrieving content, wireless communication device and communication system

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111819874A (zh) * 2018-06-29 2020-10-23 华为技术有限公司 避免基于5g服务的架构中plmn间路由和tls问题的方法和解决方案
CN111819874B (zh) * 2018-06-29 2021-09-14 华为技术有限公司 避免基于5g服务的架构中plmn间路由和tls问题的方法和解决方案
CN114189565A (zh) * 2020-08-31 2022-03-15 华为技术有限公司 一种头域还原系统、方法及相关设备
CN114189565B (zh) * 2020-08-31 2023-10-20 华为技术有限公司 一种头域还原系统、方法及相关设备
CN114826646A (zh) * 2022-02-28 2022-07-29 天翼安全科技有限公司 一种网络异常行为检测方法、装置及电子设备
CN115379469A (zh) * 2022-08-12 2022-11-22 江苏省电力试验研究院有限公司 一种基于机器学习的多接入异构网络mptcp子流调度方法
CN115379469B (zh) * 2022-08-12 2023-11-28 江苏省电力试验研究院有限公司 一种基于机器学习的多接入异构网络mptcp子流调度方法

Also Published As

Publication number Publication date
US10958581B2 (en) 2021-03-23
CN107615729B (zh) 2020-03-20
US20180212883A1 (en) 2018-07-26
WO2017049505A1 (zh) 2017-03-30

Similar Documents

Publication Publication Date Title
CN107615729A (zh) 数据传输方法及通信装置
CN109565459B (zh) 无线通信网络中端点到边缘节点的交互
US10779195B2 (en) Information transmission method and apparatus
KR102220436B1 (ko) 데이터 처리를 구현하기 위한 방법, 네트워크 디바이스 및 시스템, 및 저장 매체
JP7303833B2 (ja) 情報伝送方法及び装置
CN105264845B (zh) 数据传输控制节点、通信系统及数据传输管理方法
EP3637846B1 (en) Method and device for use in configuring novel quality of service architecture in dual connectivity system
US11082894B2 (en) System and method for enhanced session management in nextgen mobile core networks
CN109392004A (zh) 通信方法、基站、终端设备和系统
KR102587145B1 (ko) 캐리어 세트 결정 방법 및 장치, 저장 매체 그리고 전자 디바이스
US10531274B2 (en) Data processing method and device
EP4124104A1 (en) Communication method and apparatus
CN105027511A (zh) 在无线通信中用于并行化分组处理的方法和系统
US10764411B2 (en) Stream control transmission protocol SCTP-based communications method and system, and apparatus
CN114128228A (zh) 通过SRv6头传输MTNC-ID以实现5G传输
CN107079524A (zh) 一种数据转发的方法和控制器
US9693260B2 (en) Data transmission system and method
CN114710975B (zh) 一种用于多域间传输多传输网络上下文标识的方法、基站、网元及装置
CN114128227B (zh) 在支持SRv6的数据面上传输MTNC-ID以实现5G传输
US20230199877A1 (en) Operation method of sidelink relay, and sidelink relay therefor
EP3152885B1 (en) Method and device for exchanging signalling information
KR101306305B1 (ko) 이기종 네트워크 기반 데이터 동시 전송 서비스 방법 및 장치
CN104066123B (zh) 一种承载预建立传输管道的方法及装置
KR20130017880A (ko) 이기종 네트워크 기반 데이터 동시 전송 서비스 방법 및 이에 적용되는 장치
CN118118958A (zh) 一种数据发送方法及装置

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