CN114500626A - 传输数据的方法、装置、设备及计算机可读存储介质 - Google Patents
传输数据的方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN114500626A CN114500626A CN202011263044.5A CN202011263044A CN114500626A CN 114500626 A CN114500626 A CN 114500626A CN 202011263044 A CN202011263044 A CN 202011263044A CN 114500626 A CN114500626 A CN 114500626A
- Authority
- CN
- China
- Prior art keywords
- mptcp
- subtype
- information
- specific data
- capability information
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 129
- 230000004044 response Effects 0.000 claims abstract description 193
- 230000005540 biological transmission Effects 0.000 claims abstract description 125
- 230000015654 memory Effects 0.000 claims description 19
- 238000013507 mapping Methods 0.000 claims description 15
- 238000013502 data validation Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 6
- 238000004891 communication Methods 0.000 abstract description 23
- 230000008569 process Effects 0.000 description 45
- 238000012545 processing Methods 0.000 description 44
- 238000010586 diagram Methods 0.000 description 19
- 230000006870 function Effects 0.000 description 7
- TVZRAEYQIKYCPH-UHFFFAOYSA-N 3-(trimethylsilyl)propane-1-sulfonic acid Chemical compound C[Si](C)(C)CCCS(O)(=O)=O TVZRAEYQIKYCPH-UHFFFAOYSA-N 0.000 description 6
- 238000012790 confirmation Methods 0.000 description 5
- 229910002056 binary alloy Inorganic materials 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/165—Combined use of TCP and UDP protocols; selection criteria therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L5/00—Arrangements affording multiple use of the transmission path
- H04L5/003—Arrangements for allocating sub-channels of the transmission path
- H04L5/0053—Allocation of signaling, i.e. of overhead other than pilot signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/06—Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/14—Multichannel or multilink protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/24—Negotiation of communication capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/26—Special purpose or proprietary protocols or architectures
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Computer And Data Communications (AREA)
- Communication Control (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请实施例公开了一种传输数据的方法、设备及计算机可读存储介质,应用于通信技术领域,用于降低网络传输资源的消耗。本申请实施例方法包括:第一端向第二端发送携带有第一能力信息的传输层协议连接建立请求消息,并接收来自第二端的传输层协议连接建立响应消息;该第一能力信息指示第一端对指示信息的多种类型的支持情况,传输层协议连接建立响应消息携带的第二能力信息指示第二端对指示信息的多种类型的支持情况,或指示第一端和第二端对指示信息的多种类型的共同支持情况;基于第二能力信息指示第二端支持指示信息的第一类型,或指示第一端和第二端共同支持指示信息的第一类型,第一端向第二端发送携带有第一类型的指示信息的消息。
Description
技术领域
本申请实施例涉及通信技术领域,尤其涉及一种传输数据的方法、装置、设备及计算机可读存储介质。
背景技术
目前,终端和服务器通常利用传输层协议传输数据。其中,传输层协议有很多,例如,多路径传输控制协议(multipath transmission control protocol,MPTCP)和快速用户数据报协议网络连接(Quick UDP Internet Connection,QUIC)协议都属于传输层协议。
在传输数据的过程中,终端和服务器通常会在消息中携带相应的指示信息,该指示信息可能指示对端执行某一操作,也可能向对端传达某种信息。但该指示信息的类型有多种,对于任一终端或服务器来说,可能无法处理所有类型的指示信息。
所以,终端或服务器在接收到对端的消息后,若无法处理该消息中携带的某一类型的指示信息,则会将这一类型的指示信息丢弃。
显然,丢弃的指示信息不仅未起到指示作用,还会消耗网络传输资源。
发明内容
本申请实施例提供了一种传输数据的方法、设备及计算机可读存储介质,能够降低对网络传输资源的消耗。
本申请实施例第一方面提供了一种传输数据的方法,包括:
第一端向第二端发送传输层协议连接建立请求消息,传输层协议连接建立请求消息携带有第一能力信息,该传输层协议可以是传输控制协议TCP、用户数据报协议UDP等任意传输层协议,第一能力信息指示第一端对指示信息的多种类型的支持情况,该支持情况可以为支持或不支持;第一端接收来自第二端的对于传输层协议连接建立请求消息的传输层协议连接建立响应消息,传输层协议连接建立响应消息携带有第二能力信息,第二能力信息指示第二端对指示信息的多种类型的支持情况,或指示第一端和第二端对指示信息的多种类型的共同支持情况;共同支持情况可以理解为,当第一端和第二端都支持信息的某一种类型时,第二能力信息则会指示第一端和第二端共同支持该信息的类型;当第一端和第二端中的至少一者不支持信息的某一种类型时,第二能力信息则会指示第一端和第二端不支持该信息的类型;基于第二能力信息指示第二端支持指示信息的第一类型,或指示第一端和第二端共同支持指示信息的第一类型,第一端向第二端发送携带有第一类型的指示信息的消息,信息的第一类型为信息的多种类型中的一种;其中,在发送携带有第一类型的指示信息的消息前,第一端会确定自身支持指示信息的第一类型。
第一端通过第二能力信息确定第二端对指示信息的多种类型的支持情况,所以第一端可以确定第二端支持信息的第一类型,便可以向第二端发送携带有第一类型的指示信息的消息,避免了向第二端发送携带有第二端不支持的类型的指示信息,从而降低由于传输第二端不支持的类型的指示信息而造成网络传输资源的消耗;此外,也可以避免第二端处理无法处理的指示信息的过程而造成额外的开销,避免对端处理无法处理的指示信息的过程引发异常。
作为一种实现方式,传输层协议连接建立请求消息为快速用户数据报协议网络连接QUIC建立请求消息,传输层协议连接建立响应消息为QUIC建立响应消息;或传输层协议连接建立请求消息为多路径MPQUIC建立请求消息,传输层协议连接建立响应消息为MPQUIC建立响应消息;其中,QUIC协议是一种新的基于用户数据报协议(User DatagramProtocol,UDP)的多路复用的安全传输协议,MPQUIC可以看成QUIC的扩展协议。
该实现方式提供了传输层协议为QUIC或MPQUIC的具体应用场景。
作为一种实现方式,指示信息为QUIC或MPQUIC中的帧,指示信息的多种类型对应帧的多种类型,例如,帧可以为PADDING Frame、PING Frame、ACK Frame等相应地,第一能力信息指示第一端对帧的多个类型的支持情况,第二能力信息指示第二端对帧的多个类型的支持情况,或指示第一端和第二端对帧的多个类型的共同支持情况。
当指示信息为QUIC或MPQUIC时,第一端和第二端通过能力协商可以确定对端所支持的帧的种类。
作为一种实现方式,传输层协议连接建立请求消息为多路径传输控制协议MPTCP连接建立请求消息,传输层协议连接建立响应消息为MPTCP连接建立响应消息。
该实现方式提供了传输层协议为MPTCP的具体应用场景。
作为一种实现方式,指示信息为MPTCP选项,MPTCP选项包括类型(Kind)字段、长度(Length)字段、子类型(Subtype)字段和子类型特定数据(Subtype-specific data)字段,其中类型字段的取值为30;指示信息的多种类型对应MPTCP选项的多个子类型,且MPTCP选项的每个子类型对应指示信息的一种类型;第一能力信息指示第一端对MPTCP选项的多个子类型的支持情况;第二能力信息指示第二端对MPTCP选项的多个子类型的支持情况,或指示第一端和第二端对MPTCP选项的多个子类型的共同支持情况,其中,MPTCP选项的子类型包括MPTCP能力MP_CAPABLE、加入MPTCP连接MP_JOIN、数据序列信号DSS、增加新地址ADD_ADDR、移除地址REMOVE_ADDR、设置子流优先级MP_PRIO1、回退MP_FAIL、快速关闭MP_FASTCLOSE、子流重置MP_TCPRST和保留供私人使用MP_EXPERIMENTAL。
基于第二能力信息指示第二端支持指示信息的第一类型,或指示第一端和第二端共同支持指示信息的第一类型,第一端向第二端发送携带有第一类型的指示信息的消息包括:基于第二能力信息指示第二端支持MPTCP选项的第一子类型,或指示第一端和第二端共同支持MPTCP选项的第一子类型,第一端向第二端发送携带有第一子类型的MPTCP选项的消息,第一子类型为多个子类型中的一个。
当指示信息为MPTCP时,第一端和第二端通过能力协商可以确定对端所支持的MPTCP选项的子类型。
作为一种实现方式,MPTCP连接建立请求消息中MPTCP选项包含子类型字段的第一取值和子类型特定数据字段的第一取值;子类型字段的第一取值指示MPTCP连接建立请求消息中MPTCP选项的子类型为MPTCP能力MP_CAPABLE;子类型特定数据字段的第一取值指示MP_CAPABLE的第一特定数据,且第一特定数据中包含第一能力信息。
该实现方式未增加新的MPTCP选项的子类型,将第一能力信息存储于MPTCP能力的第一特定数据中,从而将第一能力信息携带于MPTCP连接建立请求消息中。
作为一种实现方式,MPTCP连接建立响应消息中MPTCP选项包含子类型字段的第二取值和子类型特定数据字段的第二取值;子类型字段的第二取值指示MPTCP连接建立响应消息中MPTCP选项的子类型为MP_CAPABLE;子类型特定数据字段的第二取值指示MP_CAPABLE的第二特定数据,且第二特定数据中包含第二能力信息。
该实现方式未增加新的MPTCP选项的子类型,将第二能力信息存储于MPTCP能力的第二特定数据中,从而将第二能力信息携带于MPTCP连接建立响应消息中。
作为一种实现方式,MPTCP连接建立请求消息中的MPTCP选项包含子类型字段的第三取值和子类型特定数据字段的第三取值;子类型字段的第三取值指示MPTCP连接建立请求消息中MPTCP选项的子类型为扩展的子类型,扩展的子类型是指在现有标准定义的MPTCP选项的子类型的基础上扩展得到的;子类型特定数据字段的第三取值指示扩展的子类型的第三特定数据,且第三特定数据中包含第一能力信息。
该实现方式增加了扩展的子类型,并将第一能力信息存储在扩展的子类型的特定数据字段中,从而实现将第一能力信息携带在MPTCP连接建立请求消息中。
作为一种实现方式,MPTCP连接建立请求消息中的MPTCP选项还包含版本字段,版本字段表示MPTCP的版本信息;其中本申请实施例对版本字段的长度不做具体限定,可以根据实际需要进行调整。
MPTCP选项中版本字段的取值可以指示具体的MPTCP的版本信息,使得第二端可以结合MPTCP的版本信息确定第一端对多个子类型的支持情况。
作为一种实现方式,第三特定数据中还包含扩展的第一信息,其中,扩展的第一信息的内容可以根据实际需要进行选择。
在该实现方式中,第三特定数据中的扩展的第一信息,可以满足未来扩展需要。
作为一种实现方式,MPTCP连接建立响应消息中MPTCP选项包含子类型字段的第四取值和子类型特定数据字段的第四取值;子类型字段的第四取值指示MPTCP连接建立响应消息中MPTCP选项的子类型为扩展的子类型;子类型特定数据字段的第四取值指示扩展的子类型的第四特定数据,且第四特定数据中包含第二能力信息。
该实现方式增加了扩展的子类型,并将第二能力信息存储在扩展的子类型的特定数据字段中,从而实现将第二能力信息携带在MPTCP连接建立响应消息中。
作为一种实现方式,MPTCP连接建立响应消息中的MPTCP选项还包含版本字段,版本字段表示MPTCP的版本信息。
MPTCP选项中版本字段的取值可以指示具体的MPTCP的版本信息,使得第一端可以结合MPTCP的版本信息确定第二端对多个子类型的支持情况。
作为一种实现方式,第四特定数据中还包含扩展的第二信息,其中,扩展的第二信息的内容可以根据实际需要进行选择。
在该实现方式中,第四特定数据中的扩展的第二信息,可以满足未来扩展需要。
作为一种实现方式,多个子类型包括MPTCP能力、加入MPTCP连接、数据确认字符和数据序列映射、增加新地址、移除地址、设置子流优先级、回退、快速关闭、子流重置和保留供私人使用中的至少一个。在某些场景下,基于两端功能的需要,多个子类型可以仅包括上述子类型中的一个或多个;例如,在某些场景中,两端仅需要确定对端具有建立MPTCP连接的能力和加入MPTCP连接的能力,所以多个子类型可以仅包括MPTCP能力和加入MPTCP连接。
在该实现方式中,多个子类型可以包括上述子类型中的至少一个,使得第一能力信息和第二能力信息能够满足各种场景的需要。
作为一种实现方式,在第一端接收来自第二端的对于传输层协议连接建立请求消息的传输层协议连接建立响应消息之后,方法还包括:第一端接收来自第二端且携带有第二类型的指示信息的消息,信息的第二类型为信息的多种类型中的一种。
基于能力的协商,使得第一端接收的来自第二端的消息中,携带有第一端所支持的第二类型的指示信息。
本申请实施例第二方面提供了一种传输数据的方法,包括:
第二端接收来自第一端的传输层协议连接建立请求消息,传输层协议连接建立请求消息携带有第一能力信息,该传输层协议可以是传输控制协议TCP、用户数据报协议UDP等任意传输层协议,第一能力信息指示第一端对指示信息的多种类型的支持情况,该支持情况可以为支持或不支持;响应于传输层协议连接建立请求消息,第二端向第一端发送传输层协议连接建立响应消息,传输层协议连接建立响应消息携带有第二能力信息,第二能力信息指示第二端对指示信息的多种类型的支持情况,或指示第一端和第二端对指示信息的多种类型的共同支持情况;共同支持情况可以理解为,当第一端和第二端都支持信息的某一种类型时,第二能力信息则会指示第一端和第二端共同支持该信息的类型;当第一端和第二端中的至少一者不支持信息的某一种类型时,第二能力信息则会指示第一端和第二端不支持该信息的类型;第二端接收来自第一端且携带有第一类型的指示信息的消息,信息的第一类型为信息的多种类型中的一种。
第一端通过第二能力信息确定第二端对指示信息的多种类型的支持情况,所以第一端可以确定第二端支持信息的第一类型,便可以向第二端发送携带有第一类型的指示信息的消息,从而降低对网络传输资源的消耗;此外,也可以避免对端处理无法处理的指示信息的过程而造成额外的开销,避免对端处理无法处理的指示信息的过程引发异常。
作为一种实现方式,传输层协议连接建立请求消息为快速用户数据报协议网络连接QUIC建立请求消息,传输层协议连接建立响应消息为QUIC建立响应消息;或传输层协议连接建立请求消息为多路径MPQUIC建立请求消息,传输层协议连接建立响应消息为MPQUIC建立响应消息;其中,QUIC协议是一种新的基于用户数据报协议(User DatagramProtocol,UDP)的多路复用的安全传输协议,MPQUIC可以看成QUIC的扩展协议。
该实现方式提供了传输层协议为QUIC或MPQUIC的具体应用场景。
作为一种实现方式,指示信息为QUIC或MPQUIC中的帧,指示信息的多种类型对应帧的多种类型,例如,帧可以为PADDING Frame、PING Frame、ACK Frame等相应地,第一能力信息指示第一端对帧的多个类型的支持情况,第二能力信息指示第二端对帧的多个类型的支持情况,或指示第一端和第二端对帧的多个类型的共同支持情况。
当指示信息为QUIC或MPQUIC时,第一端和第二端通过能力协商可以确定对端所支持的帧的种类。
作为一种实现方式,传输层协议连接建立请求消息为多路径传输控制协议MPTCP连接建立请求消息,传输层协议连接建立响应消息为MPTCP连接建立响应消息。
该实现方式提供了传输层协议为MPTCP的具体应用场景。
作为一种实现方式,指示信息为MPTCP选项,MPTCP选项包括类型(Kind)字段、长度(Length)字段、子类型(Subtype)字段和子类型特定数据(Subtype-specific data)字段,其中类型字段的取值为30;指示信息的多种类型对应MPTCP选项的多个子类型,且MPTCP选项的每个子类型对应指示信息的一种类型;第一能力信息指示第一端对MPTCP选项的多个子类型的支持情况;第二能力信息指示第二端对MPTCP选项的多个子类型的支持情况,或指示第一端和第二端对MPTCP选项的多个子类型的共同支持情况;其中,MPTCP选项的子类型包括MPTCP能力MP_CAPABLE、加入MPTCP连接MP_JOIN、数据序列信号DSS、增加新地址ADD_ADDR、移除地址REMOVE_ADDR、设置子流优先级MP_PRIO1、回退MP_FAIL、快速关闭MP_FASTCLOSE、子流重置MP_TCPRST和保留供私人使用MP_EXPERIMENTAL。
第二端接收来自第一端且携带有第一类型的指示信息的消息包括:第二端接收来自第一端且携带有第一类型的指示信息的消息,第一子类型为多个子类型中的一个。
当指示信息为MPTCP时,第一端和第二端通过能力协商可以确定对端所支持的MPTCP选项的子类型。
作为一种实现方式,MPTCP连接建立请求消息中MPTCP选项包含子类型字段的第一取值和子类型特定数据字段的第一取值;子类型字段的第一取值指示MPTCP连接建立请求消息中MPTCP选项的子类型为MPTCP能力MP_CAPABLE;子类型特定数据字段的第一取值指示MP_CAPABLE的第一特定数据,且第一特定数据中包含第一能力信息。
该实现方式未增加新的MPTCP选项的子类型,将第一能力信息存储于MPTCP能力的第一特定数据中,从而将第一能力信息携带于MPTCP连接建立请求消息中。
作为一种实现方式,MPTCP连接建立响应消息中MPTCP选项包含子类型字段的第二取值和子类型特定数据字段的第二取值;子类型字段的第二取值指示MPTCP连接建立响应消息中MPTCP选项的子类型为MP_CAPABLE;子类型特定数据字段的第二取值指示MP_CAPABLE的第二特定数据,且第二特定数据中包含第二能力信息。
该实现方式未增加新的MPTCP选项的子类型,将第二能力信息存储于MPTCP能力的第二特定数据中,从而将第二能力信息携带于MPTCP连接建立响应消息中。
MPTCP连接建立请求消息中的MPTCP选项包含子类型字段的第三取值和子类型特定数据字段的第三取值;子类型字段的第三取值指示MPTCP连接建立请求消息中MPTCP选项的子类型为扩展的子类型,扩展的子类型是指在现有标准定义的MPTCP选项的子类型的基础上扩展得到的;子类型特定数据字段的第三取值指示扩展的子类型的第三特定数据,且第三特定数据中包含第一能力信息。
该实现方式增加了扩展的子类型,并将第一能力信息存储在扩展的子类型的特定数据字段中,从而实现将第一能力信息携带在MPTCP连接建立请求消息中。
作为一种实现方式,MPTCP连接建立请求消息中的MPTCP选项还包含版本字段,版本字段表示MPTCP的版本信息;其中本申请实施例对版本字段的长度不做具体限定,可以根据实际需要进行调整。
MPTCP选项中版本字段的取值可以指示具体的MPTCP的版本信息,使得第二端可以结合MPTCP的版本信息确定第一端对多个子类型的支持情况。
作为一种实现方式,第三特定数据中还包含扩展的第一信息,其中,扩展的第一信息的内容可以根据实际需要进行选择。
在该实现方式中,第三特定数据中的扩展的第一信息,可以满足未来扩展需要。
作为一种实现方式,MPTCP连接建立响应消息中MPTCP选项包含子类型字段的第四取值和子类型特定数据字段的第四取值;子类型字段的第四取值指示MPTCP连接建立响应消息中MPTCP选项的子类型为扩展的子类型;子类型特定数据字段的第四取值指示扩展的子类型的第四特定数据,且第四特定数据中包含第二能力信息。
该实现方式增加了扩展的子类型,并将第二能力信息存储在扩展的子类型的特定数据字段中,从而实现将第二能力信息携带在MPTCP连接建立响应消息中。
作为一种实现方式,MPTCP连接建立响应消息中的MPTCP选项还包含版本字段,版本字段表示MPTCP的版本信息。
MPTCP选项中版本字段的取值可以指示具体的MPTCP的版本信息,使得第一端可以结合MPTCP的版本信息确定第二端对多个子类型的支持情况。
作为一种实现方式,第四特定数据中还包含扩展的第二信息,其中,扩展的第二信息的内容可以根据实际需要进行选择。
在该实现方式中,第四特定数据中的扩展的第二信息,可以满足未来扩展需要。
作为一种实现方式,多个子类型包括MPTCP能力、加入MPTCP连接、数据确认字符和数据序列映射、增加新地址、移除地址、设置子流优先级、回退、快速关闭、子流重置和保留供私人使用中的至少一个。
在该实现方式中,多个子类型可以包括上述子类型中的至少一个,使得第一能力信息和第二能力信息能够满足各种场景的需要。
作为一种实现方式,第二能力信息指示第一端和第二端对MPTCP选项的多个子类型的共同支持情况;在第二端向第一端发送传输层协议连接建立响应消息之前,方法还包括:第二端根据第一能力信息和第三能力信息确定第二能力信息,第三能力信息指示第二端对指示信息的多种类型的支持情况。
第二端根据第一能力信息和第三能力信息确定能够第二能力信息,使得第一端可以根据指示第一端和第二端对MPTCP选项的多个子类型的共同支持情况向第二端发送消息。
作为一种实现方式,在第二端向第一端发送传输层协议连接建立响应消息之后,方法还包括:基于第一能力信息指示第一端支持指示信息的第二类型,第二端向第一端发送携带有第二类型的指示信息的消息,信息的第二类型为信息的多种类型中的一种。
第二端通过第一能力信息确定第一端对指示信息的多种类型的支持情况,所以第二端可以确定第一端支持信息的第二类型,便可以向第一端发送携带有第二类型的指示信息的消息,从而降低对网络传输资源的消耗。
本申请实施例第三方面提供了一种传输数据的方法,包括:
第一端向第二端发送传输层协议连接建立请求消息,该传输层协议可以是传输控制协议TCP、用户数据报协议UDP等任意传输层协议,第一能力信息指示第一端对指示信息的多种类型的支持情况,该支持情况可以为支持或不支持;第一端接收来自第二端的对于传输层协议连接建立请求消息的传输层协议连接建立响应消息,传输层协议连接建立响应消息携带有第二能力信息,第二能力信息指示第二端对指示信息的多种类型的支持情况;第一端向第二端发送确认消息,确认消息中携带有第一能力信息,第一能力信息指示第二端对指示信息的多种类型的支持情况,或指示第一端和第二端对指示信息的多种类型的共同支持情况;共同支持情况可以理解为,当第一端和第二端都支持信息的某一种类型时,第二能力信息则会指示第一端和第二端共同支持该信息的类型;当第一端和第二端中的至少一者不支持信息的某一种类型时,第二能力信息则会指示第一端和第二端不支持该信息的类型;基于第二能力信息指示第二端支持指示信息的第一类型,第一端向第二端发送携带有第一类型的指示信息的消息,信息的第一类型为信息的多种类型中的一种;其中,在发送携带有第一类型的指示信息的消息前,第一端会确定自身支持指示信息的第一类型。
第一端通过第二能力信息确定第二端对指示信息的多种类型的支持情况,所以第一端可以确定第二端支持信息的第一类型,便可以向第二端发送携带有第一类型的指示信息的消息,从而降低对网络传输资源的消耗;而且,可以避免对端处理无法处理的指示信息的过程而造成额外的开销,避免对端处理无法处理的指示信息的过程引发异常;此外,第一端在首次发送的请求消息中未携带第一能力信息,而是在收到对端的响应消息后才向对端发送携带第一能力信息的确认消息,所以能够保证第一能力信息的安全性。
作为一种实现方式,传输层协议连接建立请求消息为快速用户数据报协议网络连接QUIC建立请求消息,传输层协议连接建立响应消息为QUIC建立响应消息;或传输层协议连接建立请求消息为多路径MPQUIC建立请求消息,传输层协议连接建立响应消息为MPQUIC建立响应消息;其中,QUIC协议是一种新的基于用户数据报协议(User DatagramProtocol,UDP)的多路复用的安全传输协议,MPQUIC可以看成QUIC的扩展协议。
该实现方式提供了传输层协议为QUIC或MPQUIC的具体应用场景。
作为一种实现方式,指示信息为QUIC或MPQUIC中的帧,指示信息的多种类型对应帧的多种类型,例如,帧可以为PADDING Frame、PING Frame、ACK Frame等相应地,第一能力信息指示第一端对帧的多个类型的支持情况,或指示第一端和第二端对帧的多个类型的共同支持情况,第二能力信息指示第二端对帧的多个类型的支持情况。
当指示信息为QUIC或MPQUIC时,第一端和第二端通过能力协商可以确定对端所支持的帧的种类。
作为一种实现方式,传输层协议连接建立请求消息为多路径传输控制协议MPTCP连接建立请求消息,传输层协议连接建立响应消息为MPTCP连接建立响应消息。
该实现方式提供了传输层协议为MPTCP的具体应用场景。
作为一种实现方式,指示信息为MPTCP选项,MPTCP选项包括类型(Kind)字段、长度(Length)字段、子类型(Subtype)字段和子类型特定数据(Subtype-specific data)字段,其中类型字段的取值为30;指示信息的多种类型对应MPTCP选项的多个子类型,且MPTCP选项的每个子类型对应指示信息的一种类型;第一能力信息指示第一端对MPTCP选项的多个子类型的支持情况,或指示第一端和第二端对MPTCP选项的多个子类型的共同支持情况;第二能力信息指示第二端对MPTCP选项的多个子类型的支持情况,其中,MPTCP选项的子类型包括MPTCP能力MP_CAPABLE、加入MPTCP连接MP_JOIN、数据序列信号DSS、增加新地址ADD_ADDR、移除地址REMOVE_ADDR、设置子流优先级MP_PRIO1、回退MP_FAIL、快速关闭MP_FASTCLOSE、子流重置MP_TCPRST和保留供私人使用MP_EXPERIMENTAL。
基于第二能力信息指示第二端支持指示信息的第一类型,第一端向第二端发送携带有第一类型的指示信息的消息包括:基于第二能力信息指示第二端支持MPTCP选项的第一子类型,第一端向第二端发送携带有第一子类型的MPTCP选项的消息,第一子类型为多个子类型中的一个。
当指示信息为MPTCP时,第一端和第二端通过能力协商可以确定对端所支持的MPTCP选项的子类型。
作为一种实现方式,MPTCP连接建立请求消息中MPTCP选项包含子类型字段的第一取值和子类型特定数据字段的第一取值;子类型字段的第一取值指示MPTCP连接建立请求消息中MPTCP选项的子类型为MPTCP能力MP_CAPABLE;子类型特定数据字段的第一取值指示MP_CAPABLE的第一特定数据,且第一特定数据中包含第一能力信息。
该实现方式未增加新的MPTCP选项的子类型,将第一能力信息存储于MPTCP能力的第一特定数据中,从而将第一能力信息携带于MPTCP连接建立请求消息中。
作为一种实现方式,MPTCP连接建立响应消息中MPTCP选项包含子类型字段的第二取值和子类型特定数据字段的第二取值;子类型字段的第二取值指示MPTCP连接建立响应消息中MPTCP选项的子类型为MP_CAPABLE;子类型特定数据字段的第二取值指示MP_CAPABLE的第二特定数据,且第二特定数据中包含第二能力信息。
该实现方式未增加新的MPTCP选项的子类型,将第二能力信息存储于MPTCP能力的第二特定数据中,从而将第二能力信息携带于MPTCP连接建立响应消息中。
作为一种实现方式,MPTCP连接建立请求消息中的MPTCP选项包含子类型字段的第三取值和子类型特定数据字段的第三取值;子类型字段的第三取值指示MPTCP连接建立请求消息中MPTCP选项的子类型为扩展的子类型,扩展的子类型是指在现有标准定义的MPTCP选项的子类型的基础上扩展得到的;子类型特定数据字段的第三取值指示扩展的子类型的第三特定数据,且第三特定数据中包含第一能力信息。
该实现方式增加了扩展的子类型,并将第一能力信息存储在扩展的子类型的特定数据字段中,从而实现将第一能力信息携带在MPTCP连接建立请求消息中。
作为一种实现方式,MPTCP连接建立请求消息中的MPTCP选项还包含版本字段,版本字段表示MPTCP的版本信息;其中本申请实施例对版本字段的长度不做具体限定,可以根据实际需要进行调整。
MPTCP选项中版本字段的取值可以指示具体的MPTCP的版本信息,使得第二端可以结合MPTCP的版本信息确定第一端对多个子类型的支持情况。
作为一种实现方式,第三特定数据中还包含扩展的第一信息,其中,扩展的第一信息的内容可以根据实际需要进行选择。
在该实现方式中,第三特定数据中的扩展的第一信息,可以满足未来扩展需要。
作为一种实现方式,MPTCP连接建立响应消息中MPTCP选项包含子类型字段的第四取值和子类型特定数据字段的第四取值;子类型字段的第四取值指示MPTCP连接建立响应消息中MPTCP选项的子类型为扩展的子类型;子类型特定数据字段的第四取值指示扩展的子类型的第四特定数据,且第四特定数据中包含第二能力信息。
该实现方式增加了扩展的子类型,并将第二能力信息存储在扩展的子类型的特定数据字段中,从而实现将第二能力信息携带在MPTCP连接建立响应消息中。
作为一种实现方式,MPTCP连接建立响应消息中的MPTCP选项还包含版本字段,版本字段表示MPTCP的版本信息。
MPTCP选项中版本字段的取值可以指示具体的MPTCP的版本信息,使得第一端可以结合MPTCP的版本信息确定第二端对多个子类型的支持情况。
作为一种实现方式,第四特定数据中还包含扩展的第二信息,其中,扩展的第二信息的内容可以根据实际需要进行选择。
在该实现方式中,第四特定数据中的扩展的第二信息,可以满足未来扩展需要。
作为一种实现方式,多个子类型包括MPTCP能力、加入MPTCP连接、数据确认字符和数据序列映射、增加新地址、移除地址、设置子流优先级、回退、快速关闭、子流重置和保留供私人使用中的至少一个。在某些场景下,基于两端功能的需要,多个子类型可以仅包括上述子类型中的一个或多个;例如,在某些场景中,两端仅需要确定对端具有建立MPTCP连接的能力和加入MPTCP连接的能力,所以多个子类型可以仅包括MPTCP能力和加入MPTCP连接。
在该实现方式中,多个子类型可以包括上述子类型中的至少一个,使得第一能力信息和第二能力信息能够满足各种场景的需要。
作为一种实现方式,第一能力信息指示第一端和第二端对MPTCP选项的多个子类型的共同支持情况;在第一端向第二端发送确认消息之前,方法还包括:第一端根据第一能力信息和第三能力信息确定第二能力信息,第三能力信息指示第二端对指示信息的多种类型的支持情况。
第一端根据第一能力信息和第三能力信息确定能够第二能力信息,使得第二端可以根据指示第一端和第二端对MPTCP选项的多个子类型的共同支持情况向第二端发送消息。
作为一种实现方式,在第一端接收来自第二端的对于传输层协议连接建立请求消息的传输层协议连接建立响应消息之后,方法还包括:第一端接收来自第二端且携带有第二类型的指示信息的消息,信息的第二类型为信息的多种类型中的一种。
基于能力的协商,使得第一端接收的来自第二端的消息中,携带有第一端所支持的第二类型的指示信息。
本申请实施例第四方面提供了一种传输数据的方法,包括:
第二端接收来自第一端的传输层协议连接建立请求消息,传输层协议连接建立请求消息携带有第一能力信息,该传输层协议可以是传输控制协议TCP、用户数据报协议UDP等任意传输层协议;响应于传输层协议连接建立请求消息,第二端向第一端发送传输层协议连接建立响应消息,传输层协议连接建立响应消息携带有第二能力信息,第二能力信息指示第二端对指示信息的多种类型的支持情况;第二端接收来自第一端的确认消息,确认消息中携带第一能力信息,第一能力信息指示第一端对指示信息的多种类型的支持情况,该支持情况可以为支持或不支持,或指示第一端和第二端对指示信息的多种类型的共同支持情况;共同支持情况可以理解为,当第一端和第二端都支持信息的某一种类型时,第二能力信息则会指示第一端和第二端共同支持该信息的类型;当第一端和第二端中的至少一者不支持信息的某一种类型时,第二能力信息则会指示第一端和第二端不支持该信息的类型;第二端接收来自第一端且携带有第一类型的指示信息的消息,信息的第一类型为信息的多种类型中的一种。
第一端通过第二能力信息确定第二端对指示信息的多种类型的支持情况,所以第一端可以确定第二端支持信息的第一类型,便可以向第二端发送携带有第一类型的指示信息的消息,从而降低对网络传输资源的消耗;此外,也可以避免对端处理无法处理的指示信息的过程而造成额外的开销,避免对端处理无法处理的指示信息的过程引发异常。
作为一种实现方式,传输层协议连接建立请求消息为快速用户数据报协议网络连接QUIC建立请求消息,传输层协议连接建立响应消息为QUIC建立响应消息;或传输层协议连接建立请求消息为多路径MPQUIC建立请求消息,传输层协议连接建立响应消息为MPQUIC建立响应消息;其中,QUIC协议是一种新的基于用户数据报协议(User DatagramProtocol,UDP)的多路复用的安全传输协议,MPQUIC可以看成QUIC的扩展协议。
该实现方式提供了传输层协议为QUIC或MPQUIC的具体应用场景。
作为一种实现方式,指示信息为QUIC或MPQUIC中的帧,指示信息的多种类型对应帧的多种类型,例如,帧可以为PADDING Frame、PING Frame、ACK Frame等相应地,第一能力信息指示第一端对帧的多个类型的支持情况,或指示第一端和第二端对帧的多个类型的共同支持情况,第二能力信息指示第二端对帧的多个类型的支持情况。
当指示信息为QUIC或MPQUIC时,第一端和第二端通过能力协商可以确定对端所支持的帧的种类。
作为一种实现方式,传输层协议连接建立请求消息为多路径传输控制协议MPTCP连接建立请求消息,传输层协议连接建立响应消息为MPTCP连接建立响应消息。
该实现方式提供了传输层协议为MPTCP的具体应用场景。
作为一种实现方式,指示信息为MPTCP选项,MPTCP选项包括类型(Kind)字段、长度(Length)字段、子类型(Subtype)字段和子类型特定数据(Subtype-specific data)字段,其中类型字段的取值为30;指示信息的多种类型对应MPTCP选项的多个子类型,且MPTCP选项的每个子类型对应指示信息的一种类型;第一能力信息指示第一端对MPTCP选项的多个子类型的支持情况况,或指示第一端和第二端对MPTCP选项的多个子类型的共同支持情况;第二能力信息指示第二端对MPTCP选项的多个子类型的支持情;其中,MPTCP选项的子类型包括MPTCP能力MP_CAPABLE、加入MPTCP连接MP_JOIN、数据序列信号DSS、增加新地址ADD_ADDR、移除地址REMOVE_ADDR、设置子流优先级MP_PRIO1、回退MP_FAIL、快速关闭MP_FASTCLOSE、子流重置MP_TCPRST和保留供私人使用MP_EXPERIMENTAL。
第二端接收来自第一端且携带有第一类型的指示信息的消息包括:第二端接收来自第一端且携带有第一类型的指示信息的消息,第一子类型为多个子类型中的一个。
当指示信息为MPTCP时,第一端和第二端通过能力协商可以确定对端所支持的MPTCP选项的子类型。
作为一种实现方式,MPTCP连接建立请求消息中MPTCP选项包含子类型字段的第一取值和子类型特定数据字段的第一取值;子类型字段的第一取值指示MPTCP连接建立请求消息中MPTCP选项的子类型为MPTCP能力MP_CAPABLE;子类型特定数据字段的第一取值指示MP_CAPABLE的第一特定数据,且第一特定数据中包含第一能力信息。
该实现方式未增加新的MPTCP选项的子类型,将第一能力信息存储于MPTCP能力的第一特定数据中,从而将第一能力信息携带于MPTCP连接建立请求消息中。
作为一种实现方式,MPTCP连接建立响应消息中MPTCP选项包含子类型字段的第二取值和子类型特定数据字段的第二取值;子类型字段的第二取值指示MPTCP连接建立响应消息中MPTCP选项的子类型为MP_CAPABLE;子类型特定数据字段的第二取值指示MP_CAPABLE的第二特定数据,且第二特定数据中包含第二能力信息。
该实现方式未增加新的MPTCP选项的子类型,将第二能力信息存储于MPTCP能力的第二特定数据中,从而将第二能力信息携带于MPTCP连接建立响应消息中。
MPTCP连接建立请求消息中的MPTCP选项包含子类型字段的第三取值和子类型特定数据字段的第三取值;子类型字段的第三取值指示MPTCP连接建立请求消息中MPTCP选项的子类型为扩展的子类型,扩展的子类型是指在现有标准定义的MPTCP选项的子类型的基础上扩展得到的;子类型特定数据字段的第三取值指示扩展的子类型的第三特定数据,且第三特定数据中包含第一能力信息。
该实现方式增加了扩展的子类型,并将第一能力信息存储在扩展的子类型的特定数据字段中,从而实现将第一能力信息携带在MPTCP连接建立请求消息中。
作为一种实现方式,MPTCP连接建立请求消息中的MPTCP选项还包含版本字段,版本字段表示MPTCP的版本信息;其中本申请实施例对版本字段的长度不做具体限定,可以根据实际需要进行调整。
MPTCP选项中版本字段的取值可以指示具体的MPTCP的版本信息,使得第二端可以结合MPTCP的版本信息确定第一端对多个子类型的支持情况。
作为一种实现方式,第三特定数据中还包含扩展的第一信息,其中,扩展的第一信息的内容可以根据实际需要进行选择。
在该实现方式中,第三特定数据中的扩展的第一信息,可以满足未来扩展需要。
作为一种实现方式,MPTCP连接建立响应消息中MPTCP选项包含子类型字段的第四取值和子类型特定数据字段的第四取值;子类型字段的第四取值指示MPTCP连接建立响应消息中MPTCP选项的子类型为扩展的子类型;子类型特定数据字段的第四取值指示扩展的子类型的第四特定数据,且第四特定数据中包含第二能力信息。
该实现方式增加了扩展的子类型,并将第二能力信息存储在扩展的子类型的特定数据字段中,从而实现将第二能力信息携带在MPTCP连接建立响应消息中。
作为一种实现方式,MPTCP连接建立响应消息中的MPTCP选项还包含版本字段,版本字段表示MPTCP的版本信息。
MPTCP选项中版本字段的取值可以指示具体的MPTCP的版本信息,使得第一端可以结合MPTCP的版本信息确定第二端对多个子类型的支持情况。
作为一种实现方式,第四特定数据中还包含扩展的第二信息,其中,扩展的第二信息的内容可以根据实际需要进行选择。
在该实现方式中,第四特定数据中的扩展的第二信息,可以满足未来扩展需要。
作为一种实现方式,多个子类型包括MPTCP能力、加入MPTCP连接、数据确认字符和数据序列映射、增加新地址、移除地址、设置子流优先级、回退、快速关闭、子流重置和保留供私人使用中的至少一个。
在该实现方式中,多个子类型可以包括上述子类型中的至少一个,使得第一能力信息和第二能力信息能够满足各种场景的需要。
作为一种实现方式,在第二端向第一端发送传输层协议连接建立响应消息之后,方法还包括:基于第一能力信息指示第一端支持指示信息的第二类型,第二端向第一端发送携带有第二类型的指示信息的消息,信息的第二类型为信息的多种类型中的一种。
第二端通过第一能力信息确定第一端对指示信息的多种类型的支持情况,所以第二端可以确定第一端支持信息的第二类型,便可以向第一端发送携带有第二类型的指示信息的消息,从而降低对网络传输资源的消耗。
本申请实施例第五方面提供了一种传输数据的装置,应用于第一端,包括:
发送单元,用于向第二端发送传输层协议连接建立请求消息,传输层协议连接建立请求消息携带有第一能力信息,第一能力信息指示第一端对指示信息的多种类型的支持情况;
接收单元,用于接收来自第二端的对于传输层协议连接建立请求消息的传输层协议连接建立响应消息,传输层协议连接建立响应消息携带有第二能力信息,第二能力信息指示第二端对指示信息的多种类型的支持情况,或指示第一端和第二端对指示信息的多种类型的共同支持情况;
发送单元,还用于基于第二能力信息指示第二端支持指示信息的第一类型,或指示第一端和第二端共同支持指示信息的第一类型,向第二端发送携带有第一类型的指示信息的消息,信息的第一类型为信息的多种类型中的一种。
作为一种实现方式,传输层协议连接建立请求消息为快速用户数据报协议网络连接QUIC建立请求消息,传输层协议连接建立响应消息为QUIC建立响应消息;或传输层协议连接建立请求消息为多路径MPQUIC建立请求消息,传输层协议连接建立响应消息为MPQUIC建立响应消息。
作为一种实现方式,传输层协议连接建立请求消息为多路径传输控制协议MPTCP连接建立请求消息,传输层协议连接建立响应消息为MPTCP连接建立响应消息。
作为一种实现方式,指示信息为MPTCP选项,指示信息的多种类型对应MPTCP选项的多个子类型,且MPTCP选项的每个子类型对应指示信息的一种类型;第一能力信息指示第一端对MPTCP选项的多个子类型的支持情况;第二能力信息指示第二端对MPTCP选项的多个子类型的支持情况,或指示第一端和第二端对MPTCP选项的多个子类型的共同支持情况;
发送单元,用于基于第二能力信息指示第二端支持MPTCP选项的第一子类型,或指示第一端和第二端共同支持MPTCP选项的第一子类型,向第二端发送携带有第一子类型的MPTCP选项的消息,第一子类型为多个子类型中的一个。
作为一种实现方式,MPTCP连接建立请求消息中MPTCP选项包含子类型字段的第一取值和子类型特定数据字段的第一取值;子类型字段的第一取值指示MPTCP连接建立请求消息中MPTCP选项的子类型为MPTCP能力MP_CAPABLE;子类型特定数据字段的第一取值指示MP_CAPABLE的第一特定数据,且第一特定数据中包含第一能力信息。
作为一种实现方式,MPTCP连接建立响应消息中MPTCP选项包含子类型字段的第二取值和子类型特定数据字段的第二取值;子类型字段的第二取值指示MPTCP连接建立响应消息中MPTCP选项的子类型为MP_CAPABLE;子类型特定数据字段的第二取值指示MP_CAPABLE的第二特定数据,且第二特定数据中包含第二能力信息。
作为一种实现方式,MPTCP连接建立请求消息中的MPTCP选项包含子类型字段的第三取值和子类型特定数据字段的第三取值;子类型字段的第三取值指示MPTCP连接建立请求消息中MPTCP选项的子类型为扩展的子类型;子类型特定数据字段的第三取值指示扩展的子类型的第三特定数据,且第三特定数据中包含第一能力信息。
作为一种实现方式,MPTCP连接建立请求消息中的MPTCP选项还包含版本字段,版本字段表示MPTCP的版本信息。
作为一种实现方式,第三特定数据中还包含扩展的第一信息。
作为一种实现方式,MPTCP连接建立响应消息中MPTCP选项包含子类型字段的第四取值和子类型特定数据字段的第四取值;子类型字段的第四取值指示MPTCP连接建立响应消息中MPTCP选项的子类型为扩展的子类型;子类型特定数据字段的第四取值指示扩展的子类型的第四特定数据,且第四特定数据中包含第二能力信息。
作为一种实现方式,MPTCP连接建立响应消息中的MPTCP选项还包含版本字段,版本字段表示MPTCP的版本信息。
作为一种实现方式,第四特定数据中还包含扩展的第二信息。
作为一种实现方式,多个子类型包括MPTCP能力、加入MPTCP连接、数据确认字符和数据序列映射、增加新地址、移除地址、设置子流优先级、回退、快速关闭、子流重置和保留供私人使用中的至少一个。
作为一种实现方式,接收单元,还用于接收来自第二端且携带有第二类型的指示信息的消息,信息的第二类型为信息的多种类型中的一种。
其中,以上各单元的具体实现、相关说明以及技术效果请参考本申请实施例第一方面的描述。
本申请实施例第六方面提供了一种传输数据的装置,应用于第二端,包括:
接收单元,用于接收来自第一端的传输层协议连接建立请求消息,传输层协议连接建立请求消息携带有第一能力信息,第一能力信息指示第一端对指示信息的多种类型的支持情况;发送单元,用于响应于传输层协议连接建立请求消息,向第一端发送传输层协议连接建立响应消息,传输层协议连接建立响应消息携带有第二能力信息,第二能力信息指示第二端对指示信息的多种类型的支持情况,或指示第一端和第二端对指示信息的多种类型的共同支持情况;接收单元,用于接收来自第一端且携带有第一类型的指示信息的消息,信息的第一类型为信息的多种类型中的一种。
作为一种实现方式,传输层协议连接建立请求消息为快速用户数据报协议网络连接QUIC建立请求消息,传输层协议连接建立响应消息为QUIC建立响应消息;
或传输层协议连接建立请求消息为多路径MPQUIC建立请求消息,传输层协议连接建立响应消息为MPQUIC建立响应消息。
作为一种实现方式,传输层协议连接建立请求消息为多路径传输控制协议MPTCP连接建立请求消息,传输层协议连接建立响应消息为MPTCP连接建立响应消息。
作为一种实现方式,指示信息为MPTCP选项,指示信息的多种类型对应MPTCP选项的多个子类型,且MPTCP选项的每个子类型对应指示信息的一种类型;第一能力信息指示第一端对MPTCP选项的多个子类型的支持情况;第二能力信息指示第二端对MPTCP选项的多个子类型的支持情况,或指示第一端和第二端对MPTCP选项的多个子类型的共同支持情况;接收单元,用于接收来自第一端且携带有第一类型的指示信息的消息,第一子类型为多个子类型中的一个。
作为一种实现方式,MPTCP连接建立请求消息中MPTCP选项包含子类型字段的第一取值和子类型特定数据字段的第一取值;子类型字段的第一取值指示MPTCP连接建立请求消息中MPTCP选项的子类型为MPTCP能力MP_CAPABLE;子类型特定数据字段的第一取值指示MP_CAPABLE的第一特定数据,且第一特定数据中包含第一能力信息。
作为一种实现方式,MPTCP连接建立响应消息中MPTCP选项包含子类型字段的第二取值和子类型特定数据字段的第二取值;子类型字段的第二取值指示MPTCP连接建立响应消息中MPTCP选项的子类型为MP_CAPABLE;子类型特定数据字段的第二取值指示MP_CAPABLE的第二特定数据,且第二特定数据中包含第二能力信息。
作为一种实现方式,MPTCP连接建立请求消息中的MPTCP选项包含子类型字段的第三取值和子类型特定数据字段的第三取值;子类型字段的第三取值指示MPTCP连接建立请求消息中MPTCP选项的子类型为扩展的子类型;子类型特定数据字段的第三取值指示扩展的子类型的第三特定数据,且第三特定数据中包含第一能力信息。
作为一种实现方式,MPTCP连接建立请求消息中的MPTCP选项还包含版本字段,版本字段表示MPTCP的版本信息。
作为一种实现方式,第三特定数据中还包含扩展的第一信息。
作为一种实现方式,MPTCP连接建立响应消息中MPTCP选项包含子类型字段的第四取值和子类型特定数据字段的第四取值;子类型字段的第四取值指示MPTCP连接建立响应消息中MPTCP选项的子类型为扩展的子类型;子类型特定数据字段的第四取值指示扩展的子类型的第四特定数据,且第四特定数据中包含第二能力信息。
作为一种实现方式,MPTCP连接建立响应消息中的MPTCP选项还包含版本字段,版本字段表示MPTCP的版本信息。
作为一种实现方式,第四特定数据中还包含扩展的第二信息。
作为一种实现方式,多个子类型包括MPTCP能力、加入MPTCP连接、数据确认字符和数据序列映射、增加新地址、移除地址、设置子流优先级、回退、快速关闭、子流重置和保留供私人使用中的至少一个。
作为一种实现方式,第二能力信息指示第一端和第二端对MPTCP选项的多个子类型的共同支持情况;该装置还包括:确定单元,用于根据第一能力信息和第三能力信息确定第二能力信息,第三能力信息指示第二端对指示信息的多种类型的支持情况。
作为一种实现方式,发送单元,还用于基于第一能力信息指示第一端支持指示信息的第二类型,向第一端发送携带有第二类型的指示信息的消息,信息的第二类型为信息的多种类型中的一种。
其中,以上各单元的具体实现、相关说明以及技术效果请参考本申请实施例第二方面的描述。
本申请实施例第七方面提供了一种计算机设备,该计算机设备为终端或服务器,包括:一个或多个处理器和存储器;其中,所述存储器中存储有计算机可读指令;所述一个或多个处理器读取所述计算机可读指令,以使所述计算机设备实现如第一方面至第四方面任一实现方式所述的方法。
本申请实施例第八方面提供了一种计算机可读存储介质,包括计算机可读指令,当所述计算机可读指令在计算机上运行时,使得所述计算机执行如第一方面至第四方面任一实现方式所述的方法。
本申请实施例第九方面提供了一种芯片,包括一个或多个处理器。所述处理器中的部分或全部用于读取并执行存储器中存储的计算机程序,以执行上述第一方面至第四方面任意可能的实现方式中的方法。
可选地,该芯片该包括存储器,该存储器与该处理器通过电路或电线与存储器连接。进一步可选地,该芯片还包括通信接口,处理器与该通信接口连接。通信接口用于接收需要处理的数据和/或信息,处理器从该通信接口获取该数据和/或信息,并对该数据和/或信息进行处理,并通过该通信接口输出处理结果。该通信接口可以是输入输出接口。
在一些实现方式中,所述一个或多个处理器中还可以有部分处理器是通过专用硬件的方式来实现以上方法中的部分步骤,例如涉及神经网络模型的处理可以由专用神经网络处理器或图形处理器来实现。
本申请实施例提供的方法可以由一个芯片实现,也可以由多个芯片协同实现。
本申请实施例第十方面提供了一种计算机程序产品,该计算机程序产品包括计算机软件指令,该计算机软件指令可通过处理器进行加载来实现上述第一方面至第四方面中任意一种实现方式所述的方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
第一端向第二端发送传输层协议连接建立请求消息,传输层协议连接建立请求消息携带有第一能力信息,第一能力信息指示第一端对指示信息的多种类型的支持情况,该支持情况可以为支持或不支持;第一端接收来自第二端的对于传输层协议连接建立请求消息的传输层协议连接建立响应消息,传输层协议连接建立响应消息携带有第二能力信息,第二能力信息指示第二端对指示信息的多种类型的支持情况,或指示第一端和第二端对指示信息的多种类型的共同支持情况;基于第二能力信息指示第二端支持指示信息的第一类型,或指示第一端和第二端共同支持指示信息的第一类型,第一端向第二端发送携带有第一类型的指示信息的消息,信息的第一类型为信息的多种类型中的一种;第一端通过第二能力信息确定第二端对指示信息的多种类型的支持情况,所以第一端可以确定第二端支持信息的第一类型,便可以向第二端发送携带有第一类型的指示信息的消息,避免了向第二端发送携带有第二端不支持的类型的指示信息,从而降低第二端不支持的类型的指示信息对网络传输资源的消耗;此外,也可以避免对端处理无法处理的指示信息的过程而造成额外的开销,避免对端处理无法处理的指示信息的过程引发异常。
附图说明
图1为本申请实施例中通信系统的架构图;
图2为本申请实施中建立MPTCP会话的过程的示意图;
图3为终端和服务器建立MPTCP会话的一个实施例示意图;
图4为本申请实施例中MPTCP协议栈的示意图;
图5为本申请实施例中TCP头部选项的第一实施例的结构示意图;
图6为本申请实施例中MPTCP选项的结构示意图;
图7为本申请实施例中通信系统的结构示意图;
图8为本申请实施例中传输数据的方法的实施例示意图;
图9为本申请实施例中MPTCP选项的第二实施例的结构示意图;
图10为本申请实施例中MPTCP选项的第三实施例的结构示意图;
图11为本申请实施例中MPTCP选项的第四实施例的结构示意图;
图12为本申请实施例中MPTCP选项的第五实施例的结构示意图;
图13为本申请实施例中传输数据的方法的应用例示意图;
图14为本申请实施例中传输数据的装置的第一实施例的示意图;
图15为本申请实施例中传输数据的装置的第二实施例的示意图;
图16为本申请实施例中终端设备的实施例示意图。
具体实施方式
本申请实施例提供了一种传输数据的方法、设备及计算机可读存储介质,能够降低对网络传输资源的消耗。
本申请实施例可以应用于图1所示的通信系统中。如图1所示,该通信系统包括终端设备和服务器。
其中,终端设备也可以简称为终端,包括但不限于手机(Mobile Phone)、平板电脑(Pad)、带收发功能的电脑、虚拟现实(Virtual Reality,VR)终端设备、增强现实(Augmented Reality,AR)终端设备、工业控制(Industrial Control)中的无线终端、无人驾驶(Self Driving)中的无线终端、远程医疗(Remote Medical)中的无线终端、智能电网(Smart Grid)中的无线终端、运输安全(Transportation Safety)中的无线终端、智慧城市(Smart City)中的无线终端、智慧家庭(Smart Home)中的无线终端、可穿戴设备、车载设备。其中,图1仅示出了平板电脑、手机、智能摄像头和智能手表等终端。
在本申请实施例中,终端和服务器基于传输层协议传输数据。其中,该传输层协议可以有多种,本申请实施例对此不做具体限定。例如,传输层协议可以是快速用户数据报协议网络连接(Quick UDP Internet Connection,QUIC)协议,也可以是多路径MPQUIC协议,还可以是多路径传输控制协议(Multi Path Transmission Control Protocol,MPTCP)。
下面对QUIC协议及MPQUIC协议进行介绍。
QUIC协议是一种新的基于用户数据报协议(User Datagram Protocol,UDP)的多路复用的安全传输协议,设计目的是对超文本传输协议HTTP/2语法的优化,设计时HTTP/2作为主要的应用层协议,QUIC协议提供了等效HTTP/2的多路复用、流控、等效传输层安全性协议(Transport Layer Security,TLS)的安全传输,以及传输控制协议(TransmissionControl Protocol,TCP)的拥塞控制。
QUIC协议消息中可以携带不同的帧(Frame),例如,QUIC协议消息可以携带以下21种帧中的一种或多种:
PADDING Frame、PING Frame、ACK Frame、RESET_STREAM Frame、STOP_SENDINGFrame、CRYPTO Frame、NEW_TOKEN Frame、STREAM Frame、MAX_DATA Frame、MAX_STREAM_DATA Frame、MAX_STREAMS Frame、DATA_BLOCKED Frame、STREAM_DATA_BLOCKED Frame、STREAMS_BLOCKED Frame、NEW_CONNECTION_ID Frame、RETIRE_CONNECTION_ID Frame、PATH_CHALLENGE Frame、PATH_RESPONSE Frame、CONNECTION_CLOSE Frame、HANDSHAKE_DONE Frame、Extension Frame。
MPQUIC协议可以看成QUIC协议的扩展协议,MPQUIC协议消息中除了可以携带上面21种帧外,还可以携带下面6种帧中的一种或多种:
MP_NEW_CONNECTION_ID Frame、MP_RETIRE_CONNECTION_ID Frame、MP_ACKFrame、ADD_ADDRESS Frame、REMOVE_ADDRESS Frame、UNIFLOWS Frame。
不同的帧具有不同的指示作用,因此每种帧又可以看成一种指示信息。例如,ACKFrame用于指示已经被接收到的数据包和处理的数据包;CONNECTION_CLOSE Frame用于指示连接即将被关闭。
下面对MPTCP进行介绍。
MPTCP是TCP的扩展协议,其允许终端与服务器通过多个子通道传输一个MPTCP会话的数据。
其中,MPTCP会话的数据又称为TCP报文或消息Message,下文会采用消息对本申请实施例进行说明。
子通道也可以称为子流或者子链路,子通道为双向通道,一个子流对应一个TCP连接。通常用五元组源互联网协议地址(Internet Protocol Address,IP)地址,目的IP地址,源端口,目的端口和协议类型标识一个子通道。
对于终端或服务器中的任意一者来说,都可以具有一个或多个IP;例如,终端或服务器都可以具有一个互联网通信协议第四版IPV4地址和一个互联网通信协议第六版IPV6地址;再例如,终端或服务器都可以具有一个无线网卡对应的IP和一个有线网卡对应的IP。需要说明的是,终端和服务器具有多个IP的情况不限于上述这两种情况。
如图2所示,终端和服务器建立MPTCP会话的过程包括:
终端和服务器先建立MPTCP连接,然后基于建立的MPTCP连接传输数据,在数据传输完成后,断开MPTCP连接。
其中,终端和服务器先建立MPTCP连接的过程包括:
终端和服务器通过三次握手先建立一个初始子通道,此后再建立至少一个子通道。除初始子通道外,其他子通道的建立都需要经过四次握手。
例如,如图3所示,终端具有IP1和IP2,服务器具有IP3,建立MPTCP连接的过程包括:终端和服务器通过三次握手在IP1和IP3之间建立一个初始子通道,然后通过四次握手在IP2和IP3之间建立另一个子通道,至此,MPTCP连接建立完成。
这样,在MPTCP会话中,便可以通过IP1和IP3之间的初始子通道,以及IP2和IP3之间的子通道传输数据。在数据传输完成后,断开IP1和IP3之间的初始子通道,以及IP2和IP3之间的子通道。
下面结合图4对MPTCP协议栈进行说明,其中,图4为MPTCP协议栈的一个实施例示意图。
以图3所示的终端和服务器为例,如图4所示,MPTCP层位于TCP层和应用程序之间。TCP层中包括两个子通道,分别对应IP1和IP2。在一个MPTCP会话中,应用程序可以通过TCP层中的两个子通道传输数据。
需要说明的是,由于图3中的终端和服务器仅能建立两个子通道,所以图4所示的MPTCP协议栈中的TCP层包括两个子通道;若终端和服务器之间建立了三个或三个以上的子通道,则MPTCP协议栈中的TCP层也对应包括三个或三个以上的子通道。
下面对MPTCP会话中数据传输的过程进行说明。
若终端和服务器之间建立了多个子通道,则可以利用多个子通道并行传输数据;也可以选择至少一个子通道作为主子通道,通过主子通道传输数据,而将其他子通道作为备用子通道;还可以选择两个或两个以上的子通道作为主子通道,并将其他子通道作为备用子通道。
以图3为例,可以同时通过IP1和IP3之间的初始子通道,以及IP2和IP3之间的子通道传输数据,也可以仅通过IP1和IP3之间的初始子通道传输数据,而将IP2和IP3之间的子通道作为备用子通道。
基于前述说明可知,MPTCP会话的数据是以TCP报文传输的。其中,TCP报文包括TCP头部选项。TCP头部选项的结构如图5所示。具体地,TCP头部选项包括类型(Kind)字段、长度(Length)字段和信息(info)字段。
类型字段用于表示TCP头部选项的类型,通常占用一字节。类型字段的取值可以有多种,当类型字段的取值为30时,表示当前的TCP头部选项为MPTCP头部选项,也可以简称为MPTCP选项。在MPTCP会话中,TCP报文通常携带类型字段的取值为30的MPTCP选项,以标识该TCP报文为MPTCP报文。
现有的标准定义了MPTCP选项的具体结构。如图6所示,MPTCP选项包括类型(Kind)字段、长度(Length)字段、子类型(Subtype)字段和子类型特定数据(Subtype-specificdata)字段,其中类型字段的取值为30。其中,图6中的数值0至9分别用于标记二进制位,图6中的类型字段所占用的二进制位是从0至7,共8位二进制,即一字节。
对比图5和图6可知,在MPTCP选项中,相当于将信息(info)字段具体划分为子类型(Subtype)字段和子类型特定数据(Subtype-specific data)字段。
其中,长度字段表示MPTCP选项的长度,长度字段的取值由类型字段、长度字段、子类型字段和子类型特定数据字段共同决定,通常也占用一字节。
子类型字段用于表示MPTCP选项的子类型。现有的标准定义了MPTCP选项的多种子类型,子类型字段的不同取值表示不同的子类型,即表示不同的MPTCP选项。MPTCP选项的多种子类型如下表1所示。
表1
子类型 | 含义 | MPTCPv0 | MPTCPv1 |
MP_CAPABLE | MPTCP能力 | 支持 | 支持 |
MP_JOIN | 加入MPTCP连接 | 支持 | 支持 |
DSS | 数据序列信号 | 支持 | 支持 |
ADD_ADDR | 增加新地址 | 支持 | 支持 |
REMOVE_ADDR | 移除地址 | 支持 | 支持 |
MP_PRIO | 设置子流优先级 | 支持 | 支持 |
MP_FAIL | 回退 | 支持 | 支持 |
MP_FASTCLOSE | 快速关闭 | 支持 | 支持 |
MP_TCPRST | 子流重置 | / | 支持 |
MP_EXPERIMENTAL | 保留供私人使用 | / | 支持 |
如上表1所示,MPTCP选项的多种子类型包括MPTCP能力MP_CAPABLE、加入MPTCP连接MP_JOIN、数据序列信号DSS、增加新地址ADD_ADDR、移除地址REMOVE_ADDR、设置子流优先级MP_PRIO1、回退MP_FAIL、快速关闭MP_FASTCLOSE、子流重置MP_TCPRST和保留供私人使用MP_EXPERIMENTAL。
在上表1中,MPTCPv0和MPTCPv1分别表示不同版本的MPTCP。对比MPTCPv0对应的子类型和MPTCPv1对应的子类型可知,在MPTCPv0中,MPTCP选项的子类型不包括子流重置MP_TCPRST和保留供私人使用MP_EXPERIMENTA,而在MPTCPv1中,MPTCP选项的子类型包括子流重置MP_TCPRST和保留供私人使用MP_EXPERIMENTA。
子类型特定数据字段表示子类型的特定数据。子类型不同,对应的子类型的特定数据也不同。
需要说明的是,MPTCP选项最多占用40字节,而类型字段和长度字段通常各占用一字节,所以子类型字段和子类型特定数据字段最多可以占用38字节。
基于表1所示的多种子类型,终端和服务器发送的TCP报文中通常包含MPTCP选项的子类型,TCP报文中MPTCP选项的子类型与TCP报文实际所要实现的操作相关。
例如,在建立初始子通道的过程中,TCP报文的MPTCP选项的子类型为MPTCP能力;在建立初始子通道后,再建立其他子通道的过程中,TCP报文的MPTCP选项的子类型为加入MPTCP连接。
基于上述对QUIC协议和MPTCP的说明可知,QUIC的帧可以看成一种指示信息,相应地,QUIC的帧的类型则可以看成该指示信息的类型;MPTCP选项也可以看成一种指示信息,相应地,MPTCP选项的子类型则可以看成该指示信息的类型。
然而,并不是每个终端和服务器都有能力处理所有类型的指示信息。
以MPTCP为例,并不是每个终端和服务器都有能力处理表1所示的所有子类型对应的MPTCP选项。并且,在目前的数据传输过程中,终端和服务器在传输数据前未进行能力的协商,即终端无法确定服务器是否有能力处理MPTCP选项的子类型为某一子类型的数据包,服务器也无法确定终端是否有能力处理MPTCP选项的子类型为某一子类型的数据包。
这导致终端和服务器中的任意一者,仅会基于自身的需求,向对端发送MPTCP选项的子类型为某一子类型的数据包。对端在接收到送MPTCP选项的子类型为某一子类型的数据包后,若发现自身没有能力处理MPTCP选项的子类型为某一子类型的数据包,则会将MPTCP选项的子类型为某一子类型的数据包丢弃。
由此可见,在传输数据的过程中,终端或服务器都可能会向对端发送无效的数据包,而无效的数据包则会消耗网络带宽,增加终端或服务器处理无效数据包的开销。
可以理解的是,对端将MPTCP选项的子类型为某一子类型的数据包丢弃可能导致一些必要的数据被丢弃,因为可能引发异常;除此之外,对端若发现自身没有能力处理MPTCP选项的子类型为某一子类型的数据包,则对端也可能将该数据包识别为具有攻击性的恶意数据包,并按照对恶意数据包的处理方式对该数据包进行处理,这也可能引发异常。
为此,本申请实施例提供了一种传输数据的方法,在该方法中,终端和服务器在建立MPTCP连接的过程中进行能力协商,以使得终端确定服务器有能力处理的指示信息的类型,使得服务器确定终端有能力处理的指示信息的类型。
这样,终端或服务器向对端发送的消息中,便可以不携带对端无法处理的类型的指示信息,从而降低对网络传输资源的消耗;此外,也可以避免对端处理无法处理的指示信息的过程造成额外的开销,避免对端处理无法处理的指示信息的过程引发异常。
以MPTCP为例,如图7所示,终端和服务器中均部署有n个应用程序,终端和服务器均具有两个IP,基于这两个IP可以建立MPTCP协议栈中的两个子通道。此外,终端的MPTCP协议栈和服务器的MPTCP协议栈中均包含能力协商模块,该能力协商模块用于终端和服务器在建立MPTCP连接的过程中的能力协商。
基于建立MPTCP连接的过程中的能力协商,终端和服务器均可以判断对端是否有能力处理MPTCP选项的子类型为某一子类型的数据包;若对端有能力处理MPTCP选项的子类型为某一子类型的数据包,则在数据传输的过程中,可以向对端发送MPTCP选项的子类型为某一子类型的数据包;若对端无能力处理MPTCP选项的子类型为某一子类型的数据包,则不向对端发送MPTCP选项的子类型为某一子类型的数据包,从而可以避免无效的数据包(没有能力处理的数据包)消耗网络带宽,避免终端和服务器处理无效数据包的过程造成额外的开销,避免在处理无效的数据包的过程中引发异常。
下面结合图8对本申请实施例提供的传输数据的方法进行具体介绍。为了便于描述,下文以消息代替报文。
具体地,如图8所示,本申请实施例提供了一种传输数据的方法的一个实施例,包括:
步骤101,第一端向第二端发送传输层协议连接建立请求消息,传输层协议连接建立请求消息携带有第一能力信息,第一能力信息指示第一端对指示信息的多种类型的支持情况。
第一端可以是终端和服务器中的任意一者,相应地,第二端则为终端和服务器中不同于第一端的另一者。
传输层协议连接建立请求消息可以为快速用户数据报协议网络连接QUIC建立请求消息,可以为传输层协议连接建立请求消息还可以为多路径MPQUIC建立请求消息,传输层协议连接建立请求消息为多路径传输控制协议MPTCP连接建立请求消息。
需要说明的是,本申请实施例对指示信息不做具体限定,该指示信息可以是任意具有指示信息的数据。
当传输层协议连接建立请求消息为快速用户数据报协议网络连接QUIC建立请求消息时,第一能力信息指示第一端对帧的多个类型的支持情况,此时,帧可以看成一种指示信息。
当传输层协议连接建立请求消息为MPTCP连接建立请求消息时,指示信息为MPTCP选项,指示信息的多种类型对应MPTCP选项的多个子类型,且MPTCP选项的每个子类型对应指示信息的一种类型;第一能力信息指示第一端对MPTCP选项的多个子类型的支持情况。
相应地,步骤101包括:
第一端向第二端发送多路径传输控制协议MPTCP连接建立请求消息,MPTCP连接建立请求消息携带有第一能力信息,第一能力信息指示第一端对MPTCP选项的多个子类型的支持情况。
MPTCP连接建立请求消息可以理解为包含MPTCP选项的TCP连接建立请求消息,具体地,在本申请实施例中,MPTCP连接建立请求消息是指在一个MPTCP会话中,建立第一个子通道(也可以称为初始子通道)所发送的TCP连接建立请求消息。
基于前文中的表1可知,MPTCP选项的子类型可以有多个;在本申请实施例中,第一能力信息则可以指示第一端对表1中的子类型的支持情况。
因此,作为一种实现方式,多个子类型包括MPTCP能力、加入MPTCP连接、数据确认字符和数据序列映射、增加新地址、移除地址、设置子流优先级、回退、快速关闭、子流重置和保留供私人使用中的至少一个。
具体地,基于前述说明可知,当MPTCP为MPTCPv0时,多个子类型可以包括MPTCP能力、加入MPTCP连接、数据确认字符和数据序列映射、增加新地址、移除地址、设置子流优先级、回退和快速关闭中的至少一个;当MPTCP为MPTCPv1时,多个子类型可以包括MPTCP能力、加入MPTCP连接、数据确认字符和数据序列映射、增加新地址、移除地址、设置子流优先级、回退、快速关闭、子流重置和保留供私人使用中的至少一个。
可以理解的是,在某些场景下,基于两端功能的需要,多个子类型可以仅包括上述子类型中的一个或多个。例如,在某些场景中,两端仅需要确定对端具有建立MPTCP连接的能力和加入MPTCP连接的能力,所以多个子类型可以仅包括MPTCP能力和加入MPTCP连接。
此外,随着未来标准逐渐定义新的子类型,第一能力信息也可以指示第一端对未来的新的子类型的支持情况。
本申请实施例对第一能力信息的形式不做具体限定,可以根据实际需要进行调整。
示例性地,第一能力信息可以仅包含多个子类型中的部分子类型的信息,以表示第一端支持第一能力信息中包含的子类型,且不支持第一能力信息未包含的子类型。以表1所示的10个子类型为例,第一能力信息仅包含其中的6个子类型,从而表示第一端支持第一能力信息中包含的6个子类型,而不支持第一能力信息中未包含的4个子类型。
示例性地,第一能力信息可以包含多个子类型中所有子类型的信息,并具体指示支持的子类型和不支持的子类型。以表1所示的10个子类型为例,第一能力信息包含10个子类型的信息,并具体指示第一端支持其中的6个子类型,而不支持其余的4个子类型。
可以理解的是,若第一能力信息可以仅包含多个子类型中的部分子类型的信息,则对于不同的能力的终端和服务器来说,第一能力信息的长度是不固定的;相比之下,若第一能力信息包含多个子类型中所有子类型的信息,则对于任意终端和服务器来说,第一能力信息的长度都是固定的,所以方便管理。
当第一能力信息包含多个子类型中所有子类型的信息时,第一能力信息的形式也可以有多种,本申请实施例对此不做具体限定。
作为一种实现方式,对应多个子类型,第一能力信息可以为一个二进制字符串,每个子类型对应一位二进制。例如,二进制数0表示不支持子类型,二进制数1表示支持子类型。具体地,当MPTCP为MPTCPv1时,多个子类型包括MPTCP能力、加入MPTCP连接、数据确认字符和数据序列映射、增加新地址、移除地址、设置子流优先级、回退、快速关闭、子流重置和保留供私人使用,相应地,第一能力信息可包括1111110000,该第一能力信息表示第一端支持MPTCP能力、加入MPTCP连接、数据确认字符和数据序列映射、增加新地址、移除地址、设置子流优先级等子类型,不支持快速关闭、子流重置和保留供私人使用等子类型。
本申请实施例对第一能力信息在MPTCP连接建立请求消息中的位置不做具体限定,可以根据实际需要进行调整;例如,第一能力信息可以包含于MPTCP连接建立请求消息中的MPTCP选项中,具体可以包含于MPTCP选项中任何一个或多个可能的字段中。下文将结合图9至图12对第一能力信息在MPTCP连接建立请求消息中的位置进行说明。
在本申请实施例中,若第一端支持某一子类型,则意味着第一端有能力处理MPTCP选项的子类型为该某一子类型的消息。
例如,第一端和第二端要实现数据的传输,首先要建立MPTCP连接。因此,第一端和第二端都需要具备建立MPTCP连接的能力,因此,在本申请实施例中,第一能力信息需要指示第一端支持MPTCP能力这一MPTCP选项的子类型。
同理,为了实现第一端和第二端同时利用多个子通道传输数据,则需要在建立MPTCP连接的过程中,先建立一个初始子通道,然后再加入至少一个子通道。由于需要加入至少一个子通道,所以第一端和第二端都需要具备加入MPTCP连接的能力,因此,在本申请实施例中,第一能力信息还可以指示第一端支持加入MPTCP连接这一MPTCP选项的子类型。
可以理解的是,在执行步骤101前,第一端可以先从本地读取第一能力信息,然后将第一能力信息携带在MPTCP连接建立请求消息中。
在执行步骤101后,相应地,第二端接收来自第一端的传输层协议连接建立请求消息,传输层协议连接建立请求消息携带有第一能力信息,第一能力信息指示第一端对指示信息的多种类型的支持情况;
当传输层协议连接建立请求消息为MPTCP连接建立请求消息时,在执行步骤101后,第二端接收来自第一端的多路径传输控制协议MPTCP连接建立请求消息,MPTCP连接建立请求消息携带有第一能力信息,第一能力信息指示第一端对MPTCP选项的多个子类型的支持情况。
第二端在接收到第一能力信息后,则可以确定第一端对MPTCP选项的多个子类型的支持情况,即第二端可以获取到第一端所具备的能力。
步骤102,第二端根据第一能力信息和第三能力信息确定第二能力信息,第三能力信息指示第二端对指示信息的多种类型的支持情况。
其中,第二能力信息指示所述第一端和所述第二端对所述指示信息的多种类型的共同支持情况;共同支持情况可以理解为,当第一端和第二端都支持信息的某一种类型时,第二能力信息则会指示第一端和第二端共同支持该信息的类型;当第一端和第二端中的至少一者不支持信息的某一种类型时,第二能力信息则会指示第一端和第二端不支持该信息的类型。
当传输层协议连接建立请求消息为MPTCP连接建立请求消息时,步骤102包括:
第二端根据第一能力信息和第三能力信息确定第二能力信息,第三能力信息指示第二端对MPTCP选项的多个子类型的支持情况。
其中,第二能力信息指示第一端和第二端对多个子类型的共同支持情况;共同支持情况可以理解为,当第一端和第二端都支持某一子类型时,第二能力信息则会指示第一端和第二端共同支持该某一子类型;当第一端和第二端中的至少一者不支持某一子类型时,第二能力信息则会指示第一端和第二端不支持该某一子类型。
例如,前表1中从上至下的10个子类型分别对应10个二进制位,二进制位的取值1表示支持子类型,二进制位的取值0表示不支持子类型;若第一能力信息为1111100001,即指示第一端支持表中前5个子类型和最后一个子类型,而不支持表1中其余4个子类型;而第三能力信息为1111110000,即指示第二端支持表1中前6个子类型,不支持表1中后4个子类型;则根据第一能力信息和第三能力信息得到的第二能力信息则为1111100000,即指示第一端和第二端共同支持表1中前5个子类型,而第一端和第二端不支持表1中后5个子类型。
需要说明的是,步骤102需要在第二端向第一端发送传输层协议连接建立请求消息之前被执行,并且,只要当第二能力信息指示第一端和第二端对信息的多种类型的共同支持情况时,才需要执行步骤102。
因此,在本申请实施例中,步骤102是可选的。
步骤103,响应于传输层协议连接建立请求消息,第二端向第一端发送传输层协议连接建立响应消息,传输层协议连接建立响应消息携带有第二能力信息,第二能力信息指示第二端对指示信息的多种类型的支持情况,或指示第一端和第二端对指示信息的多种类型的共同支持情况。
传输层协议连接建立响应消息可以为QUIC建立响应消息,传输层协议连接建立响应消息可以为MPQUIC建立响应消息,传输层协议连接建立响应消息还可以为MPTCP连接建立响应消息。
当传输层协议连接建立响应消息为QUIC建立响应消息时,第二能力信息指示第二端对帧的多个类型的支持情况,此时,帧可以看成一种指示信息,帧的类型则对应信息的类型。
当传输层协议连接建立响应消息为MPTCP连接建立响应消息时,第二能力信息指示第二端对MPTCP选项的多个子类型的支持情况,或指示第一端和第二端对MPTCP选项的多个子类型的共同支持情况。
相应地,步骤103包括:
响应于MPTCP连接建立请求消息,第二端向第一端发送MPTCP连接建立响应消息,MPTCP连接建立响应消息携带有第二能力信息,第二能力信息指示第二端对多个子类型的支持情况,或指示第一端和第二端对多个子类型的共同支持情况;
与步骤101类似,MPTCP连接建立响应消息可以包含MPTCP选项,除此之外,还可以包含第二能力信息。其中,该第二能力信息可以指示第二端对多个子类型的支持情况,此时则不需要在步骤103之前执行步骤102,而在执行步骤103前,第二端可以先从本地读取第二能力信息,然后将第二能力信息携带在MPTCP连接建立响应消息中;该第二能力信息也可以指示第一端和第二端对多个子类型的共同支持情况,此时,则需要在步骤103之前执行步骤102,具体可参照步骤102的相关说明进行理解。
第二能力信息与第一能力信息类似,具体可参照步骤101中对第一能力信息的相关说明,对第二能力信息进行理解。
基于步骤101的相关说明可知,第一端和第二端要实现数据的传输,首先要建立MPTCP连接,相应地,第一端和第二端都需要具备建立MPTCP连接的能力。因此,在本申请实施例中,第二能力信息可以指示第二端支持MPTCP能力这一MPTCP选项的子类型,或指示第一端和第二端共同支持MPTCP能力这一MPTCP选项的子类型。
同理,为了实现第一端和第二端同时利用多个子通道传输数据,则需要在建立MPTCP连接的过程中,先建立一个初始子通道,然后再加入至少一个子通道。由于需要加入至少一个子通道,所以第一端和第二端都需要具备加入MPTCP连接的能力,因此,在本申请实施例中,第二能力信息还可以指示第二端支持加入MPTCP连接这一MPTCP选项的子类型,或指示第一端和第二端共同支持加入MPTCP连接这一MPTCP选项的子类型。
在执行步骤103后,相应地,第一端接收来自第二端的对于传输层协议连接建立请求消息的传输层协议连接建立响应消息,传输层协议连接建立响应消息携带有第二能力信息,第二能力信息指示第二端对指示信息的多种类型的支持情况,或指示第一端和第二端对指示信息的多种类型的共同支持情况。
当所述传输层协议连接建立响应消息为MPTCP连接建立响应消息时,在执行步骤103后,第一端接收来自第二端的对于MPTCP连接建立请求消息的MPTCP连接建立响应消息,MPTCP连接建立响应消息携带有第二能力信息,第二能力信息指示第二端对多个子类型的支持情况,或指示第一端和第二端对多个子类型的共同支持情况。
需要说明的是,执行步骤101和步骤103可以完成第一端和第二端之间的两次握手,而建立MPTCP连接的过程需要第一端和第二端三次握手,因此第一端还需要向第二端发送确认消息;由于三次握手为较成熟的技术,故在此不做赘述。
当,传输层协议连接建立请求消息为MPTCP连接建立请求消息时,在第一端向第二端发送确认消息后,第一端和第二端之间则建立了一条MPTCP连接(即得到初始子通道),所以第一端和第二端还需要建立至少一条MPTCP连接(以增加至少一个子通道),在建立至少一条MPTCP连接的过程中,则不需要发送第一能力信息和第二能力信息;由于在建立了一条MPTCP连接的基础上,再加入至少一条MPTCP连接为较成熟的技术,故在此不做赘述。
在第一端和第二端之间的MPTCP连接建立过程结束后,则可以执行步骤104和步骤105,以实现第一端和第二端之间数据的传输。
步骤104,基于第二能力信息指示第二端支持指示信息的第一类型,或指示第一端和第二端共同支持指示信息的第一类型,第一端向第二端发送携带有第一类型的指示信息的消息,信息的第一类型为信息的多种类型中的一种。
当MPTCP选项的多个子类型对应指示信息的多种类型时,步骤104包括:
基于第二能力信息指示第二端支持第一子类型,或指示第一端和第二端共同支持第一子类型,第一端向第二端发送MPTCP选项的子类型为第一子类型的消息,第一子类型为多个子类型中的一个。
可以理解的是,基于第二能力信息指示第二端支持第一子类型,则意味着第二端有能力处理MPTCP选项的子类型为第一子类型的消息,所以第一端可以向第二端发送MPTCP选项的子类型为第一子类型的消息;基于第二能力信息指示第一端和第二端共同支持第一子类型,则意味着第一端和第二端都有能力处理MPTCP选项的子类型为第一子类型的消息,所以第一端也可以向第二端发送MPTCP选项的子类型为第一子类型的消息。
相应地,第二端接收来自第一端且携带有第一类型的指示信息的消息,信息的第一类型为信息的多种类型中的一种。
当MPTCP选项的多个子类型对应指示信息的多种类型时,第二端接收来自第一端且MPTCP选项的子类型为第一子类型的消息,第一子类型为多个子类型中的一个。
通过执行步骤104,实现了第一端向第二端发送携带有第一类型的指示信息的消息。
步骤105,基于第一能力信息指示第一端支持指示信息的第二类型,第二端向第一端发送携带有第二类型的指示信息的消息,信息的第二类型为信息的多种类型中的一种。
当MPTCP选项的多个子类型对应指示信息的多种类型时,步骤105包括:
基于第一能力信息指示第一端支持第二子类型,第二端向第一端发送MPTCP选项的子类型为第二子类型的消息,第二子类型为多个子类型中的一个。
同样地,基于第一能力信息指示第一端支持第二子类型,则意味着第一端有能力处理MPTCP选项的子类型为第二子类型的消息,所以第二端可以向第一端发送MPTCP选项的子类型为第二子类型的消息。
可以理解的是,步骤105需要在第一端和第二端之间的MPTCP连接建立完成后执行,因此,步骤105需要在第二端向第一端发送MPTCP连接建立响应消息之后执行。
相应地,在第一端接收来自第二端的对于MPTCP连接建立请求消息的MPTCP连接建立响应消息之后,方法还包括:
第一端接收来自第二端且携带有第二类型的指示信息的消息,信息的第二类型为信息的多种类型中的一种。
当MPTCP选项的多个子类型对应指示信息的多种类型时,上述步骤包括:
第一端接收来自第二端且MPTCP选项的子类型为第二子类型的消息,第二子类型为多个子类型中的一个。
通过执行步骤105,实现了第二端向第一端发送MPTCP选项的子类型为第二子类型的消息。
在本申请实施例中,第一端通过第二能力信息确定第二端对指示信息的多种类型的支持情况,所以第一端可以确定第二端支持信息的第一类型,便可以向第二端发送携带有第一类型的指示信息的消息,从而降低对网络传输资源的消耗;此外,也可以避免对端处理无法处理的指示信息的过程而造成额外的开销,避免对端处理无法处理的指示信息的过程引发异常。
基于前述说明可知,第一能力信息在MPTCP连接建立请求消息中的位置可以有多种,第二能力信息在MPTCP连接建立响应消息中的存储位置也可以有多种,下文介绍两种存储位置。
第一种位置:
在子类型MP_CAPABLE对应的子类型特定数据字段中添加第一能力信息。
具体地,MPTCP连接建立请求消息中MPTCP选项包含子类型字段的第一取值和子类型特定数据字段的第一取值;
子类型字段的第一取值指示MPTCP连接建立请求消息中MPTCP选项的子类型为MPTCP能力;
子类型特定数据字段的第一取值指示MPTCP能力的第一特定数据,且第一特定数据中包含第一能力信息。
在本申请实施例中,MPTCP选项可以如图9所示,第一特定数据中包括4字节的第一能力信息,除此之外,第一特定数据还可以包括第一端的秘钥和第二端的秘钥。除此之外,MPTCP选项还包括版本字段,版本字段表示MPTCP的版本信息。
其中,MPTCP的版本信息可以为MPTCPv0或MPTCPv1,随着MPTCP的版本的增多,MPTCP的版本信息还可以为MPTCPv2、MPTCPv3等。
如图9所示,版本字段占用4位二进制;示例性地,当版本字段的取值位00时,表示MPTCP的版本信息为MPTCPv0,当版本字段的取值位01时,表示MPTCP的版本信息为MPTCPv1。
在本申请实施例中,未增加新的MPTCP选项的子类型,将第一能力信息存储于MPTCP能力的第一特定数据中,从而将第一能力信息携带于MPTCP连接建立请求消息中。
类似地,第二能力信息也可以存储于MPTCP能力的特定数据中,具体地,作为一种实现的方式,MPTCP连接建立响应消息中MPTCP选项包含子类型字段的第二取值和子类型特定数据字段的第二取值;
子类型字段的第二取值指示MPTCP连接建立响应消息中MPTCP选项的子类型为MPTCP能力;
子类型特定数据字段的第二取值指示MPTCP能力的第二特定数据,且第二特定数据中包含第二能力信息。
需要说明的是,第二能力信息与第一能力信息类似,因此可参照前文对第一能力信息的相关说明对第二能力信息进行理解,故在此不做赘述。
在上述实施例中,未增加新的MPTCP选项的子类型,将第一能力信息存储于MPTCP能力的第一特定数据中;除此之外,也可以增加MPTCP选项的子类型即扩展的子类型,以将第一能力信息和第二能力信息携带于扩展的子类型的特定数据字段中,下文对此进行具体说明。
第二种位置:
本申请实施例在上文表1所示的10个子类型的基础上,增加了一个子类型,本申请实施例将其称为扩展的子类型,并将第一能力信息存储于扩展的子类型的特定数据字段中;由于第一能力信息指示第一端对多个子类型的支持情况,因此该扩展的子类型也可以称为MPTCP能力列表MP_CAP_LIST子类型。
需要说明的是,扩展的子类型还可以存在其他多种命名方式,本申请实施例对此不做具体限定。
具体地,MPTCP连接建立请求消息中的MPTCP选项包含子类型字段的第三取值和子类型特定数据字段的第三取值。
子类型字段的第三取值指示MPTCP连接建立请求消息中MPTCP选项的子类型为扩展的子类型,由于扩展的子类型是新增加的,所以扩展的子类型不包含于多个子类型中。其中,指示扩展的子类型字段的第三取值通常由国际互联网工程任务组(The InternetEngineering Task Force,简称IETF)统一分配。
子类型特定数据字段的第三取值指示扩展的子类型的第三特定数据,且第三特定数据中包含第一能力信息;基于前述说明可知,MPTCP连接建立请求消息中的MPTCP选项的子类型通常为MPTCP能力这一子类型,以表示第一端支持MPTCP能力这一子类型,但在本申请实施例中,MPTCP连接建立请求消息中MPTCP选项的子类型为扩展的子类型,所以第一能力信息需要指示第一端支持MPTCP能力,MPTCP能力为多个子类型中的一个。
此时,MPTCP选项的结构可以如图10所示,即MPTCP选项包括1字节的类型字段、1字节的长度字段、子类型字段和子类型数据字段,其中子类型字段和子类型数据字段共占用2字节。具体地,子类型字段占用4位二进制,子类型数据字段占用12位二进制,而前文表1中仅示出了10个子类型,因此第一能力信息仅需要通过10位二进制即可指示对表1中10个子类型的支持情况,其余2位二进制可用于未来存储其他信息。
在本申请实施例中,增加了扩展的子类型,并将第一能力信息存储在扩展的子类型的特定数据字段中,从而实现将第一能力信息携带在MPTCP连接建立请求消息中。
作为一种实现方式,MPTCP连接建立请求消息中的MPTCP选项还包含版本Version字段,版本字段表示MPTCP的版本信息。
需要说明的是,本申请实施例对Version字段的长度不做具体限定,可以根据实际需要进行调整。
相应地,MPTCP选项的结构可以如图11所示,即MPTCP选项除了包括类型字段、长度字段、子类型字段和子类型数据字段外,还包括版本字段。MPTCP选项中版本字段的取值可以指示具体的MPTCP的版本信息,使得第二端可以结合MPTCP的版本信息确定第一端对多个子类型的支持情况。
其中,MPTCP的版本信息可以为MPTCPv0或MPTCPv1,随着MPTCP的版本的增多,MPTCP的版本信息还可以为MPTCPv2、MPTCPv3等。
如图11所示,版本字段占用4位二进制;示例性地,当版本字段的取值位00时,表示MPTCP的版本信息为MPTCPv0,当版本字段的取值位01时,表示MPTCP的版本信息为MPTCPv1。
基于上文表1中的内容可知,MPTCP的版本信息MPTCPv0和MPTCP的版本信息MPTCPv1对应的子类型的种类不同。
在图11中,子类型特定数据字段占用4字节,可以仅用4字节中的10个二进制位来表示第一能力信息,其余二进制位用于表示其他信息;此外,在版本字段和子类型特定数据字段还存在8个二进制位(即一字节),这部分为预留部分,以用于存储其他信息。
可以理解的是,在实际应用中,可能另外增加功能,所以作为一种实现方式,可以增加子类型数据字段的长度,以便于未来的功能扩展。
具体地,基于子类型数据字段长度的增加,子类型特定数据字段的第三取值指示扩展的子类型的第三特定数据还可以包含扩展的第一信息。其中,扩展的第一信息的内容可以根据实际需要进行选择。
需要说明的是,可以根据实际需要增加子类型数据字段的长度,本申请实施例对此不做具体限定;例如,MPTCP选项的结构可以如图11所示,在图11中,增加包含版本字段的MPTCP选项中子类型数据字段的长度;相比于图9,子类型数据字段额外增加了22个二进制位,增加的22个二进制位中存储有扩展的信息;再例如,MPTCP选项的结构可以如图12所示,即额外增加了4字节以增加子类型数据字段的长度,增加的4字节中存储有扩展的信息。
在上述示例中,第一能力信息的存储在扩展的子类型的特定数据中,类似地,第二能力信息也可以存储在扩展的子类型的特定数据中,下面进行具体说明。
作为一种实现方式,MPTCP连接建立响应消息中MPTCP选项包含子类型字段的第四取值和子类型特定数据字段的第四取值;
子类型字段的第四取值指示MPTCP连接建立响应消息中MPTCP选项的子类型为扩展的子类型,扩展的子类型不包含于多个子类型中;
子类型特定数据字段的第四取值指示扩展的子类型的第四特定数据,且第四特定数据中包含第二能力信息,第二能力信息指示第二端支持MPTCP能力或第一端和第二端共同支持MPTCP能力,MPTCP能力为多个子类型中的一个。
需要说明的是,第二能力信息与第一能力信息类似,因此可参照前文对第一能力信息的相关说明对第二能力信息进行理解,故在此不做赘述。
作为一种实现方式,MPTCP连接建立请求消息中的MPTCP选项还包含版本字段,版本字段表示MPTCP的版本信息。
作为一种实现方式,第四特定数据还包括扩展的子类型的扩展的第二信息。
为了更好地理解本申请实施例提供的传输数据的方法,下面通过一应用例对该方法进行进一步说明。
请参阅图13,以MPTCP为例,终端具有IP1和IP2,服务器具有IP3;该方法包括:
步骤一,终端向服务器发送MPTCP选项的子类型字段为扩展的子类型的同步序列编号SYN消息,该SYN消息用于建立IP1至IP3之间的MPTCP连接。该SYN消息中MPTCP选项的特定数据字段中包含第一能力信息,该第一能力信息指示终端支持MPTCP能力、加入MPTCP连接和子流重置这三个子类型。其中,第一能力信息指示终端支持MPTCP能力则意味着终端具备建立MPTCP连接的能力。
步骤二,服务器向终端发送MPTCP选项的子类型字段为扩展的子类型的同步序列编号/确认字符SYN/ACK消息,该SYN/ACK消息中MPTCP选项的特定数据字段中包含第二能力信息,该第二能力信息指示服务器支持MPTCP能力、加入MPTCP连接和子流重置这三个子类型。其中,第二能力信息指示服务器支持MPTCP能力则意味着服务器具备建立MPTCP连接的能力。
步骤三,终端向服务器发送ACK消息,从而完成IP1至IP3之间的MPTCP连接的建立。
步骤四,由于第二能力信息指示服务器支持加入MPTCP连接这一子类型,所以意味着服务器具备加入MPTCP连接的能力。因此,终端向服务器发送MPTCP选项的子类型字段为加入MPTCP连接的SYN消息,该SYN消息用于建立IP2至IP3之间的MPTCP连接。
步骤五,服务器向终端发送MPTCP选项的子类型字段为加入MPTCP连接的SYN/ACK消息。
步骤六,终端向服务器发送MPTCP选项的子类型字段为加入MPTCP连接的ACK消息。
步骤七,服务器向终端发送ACK消息,从而完成IP2至IP3之间的MPTCP连接的建立。
步骤八,基于第二能力信息指示子流重置这一子类型,所以意味着服务器具备子流重置的能力。因此,终端向服务器发送MPTCP选项的子类型字段为子流重置的消息,以进行子流重置。
请参阅图14,本申请实施例还提供了一种传输数据的装置,应用于第一端,包括:
发送单元201,用于向第二端发送传输层协议连接建立请求消息,传输层协议连接建立请求消息携带有第一能力信息,第一能力信息指示第一端对指示信息的多种类型的支持情况;
接收单元202,用于接收来自第二端的对于传输层协议连接建立请求消息的传输层协议连接建立响应消息,传输层协议连接建立响应消息携带有第二能力信息,第二能力信息指示第二端对指示信息的多种类型的支持情况,或指示第一端和第二端对指示信息的多种类型的共同支持情况;
发送单元201,还用于基于第二能力信息指示第二端支持指示信息的第一类型,或指示第一端和第二端共同支持指示信息的第一类型,向第二端发送携带有第一类型的指示信息的消息,信息的第一类型为信息的多种类型中的一种。
作为一种实现方式,传输层协议连接建立请求消息为快速用户数据报协议网络连接QUIC建立请求消息,传输层协议连接建立响应消息为QUIC建立响应消息;或传输层协议连接建立请求消息为多路径MPQUIC建立请求消息,传输层协议连接建立响应消息为MPQUIC建立响应消息。
作为一种实现方式,传输层协议连接建立请求消息为多路径传输控制协议MPTCP连接建立请求消息,传输层协议连接建立响应消息为MPTCP连接建立响应消息。
作为一种实现方式,指示信息为MPTCP选项,指示信息的多种类型对应MPTCP选项的多个子类型,且MPTCP选项的每个子类型对应指示信息的一种类型;第一能力信息指示第一端对MPTCP选项的多个子类型的支持情况;第二能力信息指示第二端对MPTCP选项的多个子类型的支持情况,或指示第一端和第二端对MPTCP选项的多个子类型的共同支持情况;
发送单元201,用于基于第二能力信息指示第二端支持MPTCP选项的第一子类型,或指示第一端和第二端共同支持MPTCP选项的第一子类型,向第二端发送携带有第一子类型的MPTCP选项的消息,第一子类型为多个子类型中的一个。
作为一种实现方式,MPTCP连接建立请求消息中MPTCP选项包含子类型字段的第一取值和子类型特定数据字段的第一取值;子类型字段的第一取值指示MPTCP连接建立请求消息中MPTCP选项的子类型为MPTCP能力MP_CAPABLE;子类型特定数据字段的第一取值指示MP_CAPABLE的第一特定数据,且第一特定数据中包含第一能力信息。
作为一种实现方式,MPTCP连接建立响应消息中MPTCP选项包含子类型字段的第二取值和子类型特定数据字段的第二取值;子类型字段的第二取值指示MPTCP连接建立响应消息中MPTCP选项的子类型为MP_CAPABLE;子类型特定数据字段的第二取值指示MP_CAPABLE的第二特定数据,且第二特定数据中包含第二能力信息。
作为一种实现方式,MPTCP连接建立请求消息中的MPTCP选项包含子类型字段的第三取值和子类型特定数据字段的第三取值;子类型字段的第三取值指示MPTCP连接建立请求消息中MPTCP选项的子类型为扩展的子类型;子类型特定数据字段的第三取值指示扩展的子类型的第三特定数据,且第三特定数据中包含第一能力信息。
作为一种实现方式,MPTCP连接建立请求消息中的MPTCP选项还包含版本字段,版本字段表示MPTCP的版本信息。
作为一种实现方式,第三特定数据中还包含扩展的第一信息。
作为一种实现方式,MPTCP连接建立响应消息中MPTCP选项包含子类型字段的第四取值和子类型特定数据字段的第四取值;子类型字段的第四取值指示MPTCP连接建立响应消息中MPTCP选项的子类型为扩展的子类型;子类型特定数据字段的第四取值指示扩展的子类型的第四特定数据,且第四特定数据中包含第二能力信息。
作为一种实现方式,MPTCP连接建立响应消息中的MPTCP选项还包含版本字段,版本字段表示MPTCP的版本信息。
作为一种实现方式,第四特定数据中还包含扩展的第二信息。
作为一种实现方式,多个子类型包括MPTCP能力、加入MPTCP连接、数据确认字符和数据序列映射、增加新地址、移除地址、设置子流优先级、回退、快速关闭、子流重置和保留供私人使用中的至少一个。
作为一种实现方式,接收单元202,还用于接收来自第二端且携带有第二类型的指示信息的消息,信息的第二类型为信息的多种类型中的一种。
其中,以上各单元的具体实现、相关说明以及技术效果请参考本申请实施例方法部分的描述。
请参阅图15,本申请实施例还提供了一种传输数据的装置,应用于第二端,包括:
接收单元301,用于接收来自第一端的传输层协议连接建立请求消息,传输层协议连接建立请求消息携带有第一能力信息,第一能力信息指示第一端对指示信息的多种类型的支持情况;发送单元302,用于响应于传输层协议连接建立请求消息,向第一端发送传输层协议连接建立响应消息,传输层协议连接建立响应消息携带有第二能力信息,第二能力信息指示第二端对指示信息的多种类型的支持情况,或指示第一端和第二端对指示信息的多种类型的共同支持情况;接收单元301,用于接收来自第一端且携带有第一类型的指示信息的消息,信息的第一类型为信息的多种类型中的一种。
作为一种实现方式,传输层协议连接建立请求消息为快速用户数据报协议网络连接QUIC建立请求消息,传输层协议连接建立响应消息为QUIC建立响应消息;
或传输层协议连接建立请求消息为多路径MPQUIC建立请求消息,传输层协议连接建立响应消息为MPQUIC建立响应消息。
作为一种实现方式,传输层协议连接建立请求消息为多路径传输控制协议MPTCP连接建立请求消息,传输层协议连接建立响应消息为MPTCP连接建立响应消息。
作为一种实现方式,指示信息为MPTCP选项,指示信息的多种类型对应MPTCP选项的多个子类型,且MPTCP选项的每个子类型对应指示信息的一种类型;第一能力信息指示第一端对MPTCP选项的多个子类型的支持情况;第二能力信息指示第二端对MPTCP选项的多个子类型的支持情况,或指示第一端和第二端对MPTCP选项的多个子类型的共同支持情况;接收单元301,用于接收来自第一端且携带有第一类型的指示信息的消息,第一子类型为多个子类型中的一个。
作为一种实现方式,MPTCP连接建立请求消息中MPTCP选项包含子类型字段的第一取值和子类型特定数据字段的第一取值;子类型字段的第一取值指示MPTCP连接建立请求消息中MPTCP选项的子类型为MPTCP能力MP_CAPABLE;子类型特定数据字段的第一取值指示MP_CAPABLE的第一特定数据,且第一特定数据中包含第一能力信息。
作为一种实现方式,MPTCP连接建立响应消息中MPTCP选项包含子类型字段的第二取值和子类型特定数据字段的第二取值;子类型字段的第二取值指示MPTCP连接建立响应消息中MPTCP选项的子类型为MP_CAPABLE;子类型特定数据字段的第二取值指示MP_CAPABLE的第二特定数据,且第二特定数据中包含第二能力信息。
作为一种实现方式,MPTCP连接建立请求消息中的MPTCP选项包含子类型字段的第三取值和子类型特定数据字段的第三取值;子类型字段的第三取值指示MPTCP连接建立请求消息中MPTCP选项的子类型为扩展的子类型;子类型特定数据字段的第三取值指示扩展的子类型的第三特定数据,且第三特定数据中包含第一能力信息。
作为一种实现方式,MPTCP连接建立请求消息中的MPTCP选项还包含版本字段,版本字段表示MPTCP的版本信息。
作为一种实现方式,第三特定数据中还包含扩展的第一信息。
作为一种实现方式,MPTCP连接建立响应消息中MPTCP选项包含子类型字段的第四取值和子类型特定数据字段的第四取值;子类型字段的第四取值指示MPTCP连接建立响应消息中MPTCP选项的子类型为扩展的子类型;子类型特定数据字段的第四取值指示扩展的子类型的第四特定数据,且第四特定数据中包含第二能力信息。
作为一种实现方式,MPTCP连接建立响应消息中的MPTCP选项还包含版本字段,版本字段表示MPTCP的版本信息。
作为一种实现方式,第四特定数据中还包含扩展的第二信息。
作为一种实现方式,多个子类型包括MPTCP能力、加入MPTCP连接、数据确认字符和数据序列映射、增加新地址、移除地址、设置子流优先级、回退、快速关闭、子流重置和保留供私人使用中的至少一个。
作为一种实现方式,第二能力信息指示第一端和第二端对MPTCP选项的多个子类型的共同支持情况;该装置还包括:确定单元303,用于根据第一能力信息和第三能力信息确定第二能力信息,第三能力信息指示第二端对指示信息的多种类型的支持情况。
作为一种实现方式,发送单元302,还用于基于第一能力信息指示第一端支持指示信息的第二类型,向第一端发送携带有第二类型的指示信息的消息,信息的第二类型为信息的多种类型中的一种。
下面通过图16示出终端设备的一种可能的结构示意图。
图16示出了一种简化的终端设备的结构示意图。为了便于理解和图示方式,图16中,终端设备以手机作为例子。如图16所示,终端设备包括处理器、存储器、射频电路、天线及输入输出装置。处理器主要用于对通信协议以及通信数据进行处理,以及对终端设备进行控制,执行软件程序,处理软件程序的数据等。存储器主要用于存储软件程序和数据。射频电路主要用于基带信号与射频信号的转换以及对射频信号的处理。天线主要用于收发电磁波形式的射频信号。输入输出装置,例如触摸屏、显示屏,键盘等主要用于接收用户输入的数据以及对用户输出数据。需要说明的是,有些种类的终端设备可以不具有输入输出装置。
当需要发送数据时,处理器对待发送的数据进行基带处理后,输出基带信号至射频电路,射频电路将基带信号进行射频处理后将射频信号通过天线以电磁波的形式向外发送。当有数据发送到终端设备时,射频电路通过天线接收到射频信号,将射频信号转换为基带信号,并将基带信号输出至处理器,处理器将基带信号转换为数据并对数据进行处理。为便于说明,图16中仅示出了一个存储器和处理器。在实际的终端设备产品中,可以存在一个或多个处理器和一个或多个存储器。存储器也可以称为存储介质或者存储设备等。存储器可以是独立于处理器设置,也可以是与处理器集成在一起,本申请实施例对此不做限制。
在本申请实施例中,可以将具有收发功能的天线和射频电路视为终端设备的收发单元,将具有处理功能的处理器视为终端设备的处理单元。如图16所示,终端设备包括收发单元1610和处理单元1620。收发单元也可以称为收发器、收发机、收发装置等。处理单元也可以称为处理器,处理单板,处理模块、处理装置等。可选的,可以将收发单元1610中用于实现接收功能的器件视为接收单元,将收发单元1610中用于实现发送功能的器件视为发送单元,即收发单元1610包括接收单元和发送单元。收发单元有时也可以称为收发机、收发器、或收发电路等。接收单元有时也可以称为接收机、接收器、或接收电路等。发送单元有时也可以称为发射机、发射器或者发射电路等。
应理解,收发单元1610用于执行上述方法实施例中终端设备的发送操作和接收操作,处理单元1620用于执行上述方法实施例中终端设备上除了收发操作之外的其他操作。
一种可能的实现方式,图16所示的终端设备作为第一端,相应地,收发单元1610用于:
向第二端发送传输层协议连接建立请求消息,传输层协议连接建立请求消息携带有第一能力信息,第一能力信息指示第一端对指示信息的多种类型的支持情况;
接收来自第二端的对于传输层协议连接建立请求消息的传输层协议连接建立响应消息,传输层协议连接建立响应消息携带有第二能力信息,第二能力信息指示第二端对指示信息的多种类型的支持情况,或指示第一端和第二端对指示信息的多种类型的共同支持情况;
基于第二能力信息指示第二端支持指示信息的第一类型,或指示第一端和第二端共同支持指示信息的第一类型,向第二端发送携带有第一类型的指示信息的消息,信息的第一类型为信息的多种类型中的一种。
一种可能的实现方式,图16所示的终端设备作为第一端,相应地,收发单元1610用于:
接收来自第一端的传输层协议连接建立请求消息,所述传输层协议连接建立请求消息携带有第一能力信息,所述第一能力信息指示所述第一端对指示信息的多种类型的支持情况;
响应于所述传输层协议连接建立请求消息,向所述第一端发送传输层协议连接建立响应消息,所述传输层协议连接建立响应消息携带有第二能力信息,所述第二能力信息指示所述第二端对所述指示信息的多种类型的支持情况,或指示所述第一端和所述第二端对所述指示信息的多种类型的共同支持情况;
接收来自所述第一端且携带有所述第一类型的指示信息的消息,所述信息的第一类型为所述信息的多种类型中的一种。
当终端设备为芯片时,芯片包括收发单元和处理单元。其中,收发单元可以是输入输出电路或通信接口;处理单元为芯片上集成的处理器或者微处理器或者集成电路或者逻辑电路。上述方法实施例中,发送操作对应输入输出电路的输出,接收操作对应输入输出电路的输入。
本申请实施例还提供一种芯片,包括一个或多个处理器。所述处理器中的部分或全部用于读取并执行存储器中存储的计算机程序,以执行图8对应的各实施例的方法。
可选地,该芯片该包括存储器,该存储器与该处理器通过电路或电线与存储器连接。进一步可选地,该芯片还包括通信接口,处理器与该通信接口连接。通信接口用于接收需要处理的数据和/或信息,处理器从该通信接口获取该数据和/或信息,并对该数据和/或信息进行处理,并通过该通信接口输出处理结果。该通信接口可以是输入输出接口。
在一些实现方式中,所述一个或多个处理器中还可以有部分处理器是通过专用硬件的方式来实现以上方法中的部分步骤,例如涉及神经网络模型的处理可以由专用神经网络处理器或图形处理器来实现。
本申请实施例提供的方法可以由一个芯片实现,也可以由多个芯片协同实现。
本申请实施例还提供了一种计算机存储介质,该计算机存储介质用于储存为上述计算机设备所用的计算机软件指令,其包括用于执行为计算机设备所设计的程序。
该计算机设备可以如前述图14或15所描述的运行应用程序的装置。
本申请实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机软件指令,该计算机软件指令可通过处理器进行加载来实现前述图8所示的方法中的流程。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (34)
1.一种传输数据的方法,其特征在于,包括:
第一端向第二端发送传输层协议连接建立请求消息,所述传输层协议连接建立请求消息携带有第一能力信息,所述第一能力信息指示所述第一端对指示信息的多种类型的支持情况;
所述第一端接收来自所述第二端的对于所述传输层协议连接建立请求消息的传输层协议连接建立响应消息,所述传输层协议连接建立响应消息携带有第二能力信息,所述第二能力信息指示所述第二端对所述指示信息的多种类型的支持情况,或指示所述第一端和所述第二端对所述指示信息的多种类型的共同支持情况;
基于所述第二能力信息指示所述第二端支持指示信息的第一类型,或指示所述第一端和所述第二端共同支持所述指示信息的第一类型,所述第一端向所述第二端发送携带有所述第一类型的指示信息的消息,所述信息的第一类型为所述信息的多种类型中的一种。
2.根据权利要求1所述的方法,其特征在于,所述传输层协议连接建立请求消息为快速用户数据报协议网络连接QUIC建立请求消息,所述传输层协议连接建立响应消息为QUIC建立响应消息;
或所述传输层协议连接建立请求消息为多路径MPQUIC建立请求消息,所述传输层协议连接建立响应消息为MPQUIC建立响应消息。
3.根据权利要求1所述的方法,其特征在于,所述传输层协议连接建立请求消息为多路径传输控制协议MPTCP连接建立请求消息,所述传输层协议连接建立响应消息为MPTCP连接建立响应消息。
4.根据权利要求3所述的方法,其特征在于,所述指示信息为所述MPTCP选项,所述指示信息的多种类型对应所述MPTCP选项的多个子类型,且所述MPTCP选项的每个子类型对应指示信息的一种类型;
所述第一能力信息指示所述第一端对MPTCP选项的多个子类型的支持情况;
所述第二能力信息指示所述第二端对所述MPTCP选项的多个子类型的支持情况,或指示所述第一端和所述第二端对所述MPTCP选项的多个子类型的共同支持情况;
基于所述第二能力信息指示所述第二端支持指示信息的第一类型,或指示所述第一端和所述第二端共同支持所述指示信息的第一类型,所述第一端向所述第二端发送携带有所述第一类型的指示信息的消息包括:
基于所述第二能力信息指示所述第二端支持MPTCP选项的第一子类型,或指示所述第一端和所述第二端共同支持所述MPTCP选项的第一子类型,所述第一端向所述第二端发送携带有所述第一子类型的MPTCP选项的消息,所述第一子类型为所述多个子类型中的一个。
5.根据权利要求4所述的方法,其特征在于,所述MPTCP连接建立请求消息中MPTCP选项包含子类型字段的第一取值和子类型特定数据字段的第一取值;
所述子类型字段的第一取值指示所述MPTCP连接建立请求消息中MPTCP选项的子类型为MPTCP能力MP_CAPABLE;
所述子类型特定数据字段的第一取值指示所述MP_CAPABLE的第一特定数据,且所述第一特定数据中包含所述第一能力信息。
6.根据权利要求4或5所述的方法,其特征在于,所述MPTCP连接建立响应消息中MPTCP选项包含子类型字段的第二取值和子类型特定数据字段的第二取值;
所述子类型字段的第二取值指示所述MPTCP连接建立响应消息中MPTCP选项的子类型为MP_CAPABLE;
所述子类型特定数据字段的第二取值指示所述MP_CAPABLE的第二特定数据,且所述第二特定数据中包含所述第二能力信息。
7.根据权利要求4所述的方法,其特征在于,所述MPTCP连接建立请求消息中的所述MPTCP选项包含子类型字段的第三取值和子类型特定数据字段的第三取值;
所述子类型字段的第三取值指示所述MPTCP连接建立请求消息中MPTCP选项的子类型为扩展的子类型;
所述子类型特定数据字段的第三取值指示所述扩展的子类型的第三特定数据,且所述第三特定数据中包含所述第一能力信息。
8.根据权利要求7所述的方法,其特征在于,所述MPTCP连接建立请求消息中的所述MPTCP选项还包含版本字段,所述版本字段表示MPTCP的版本信息。
9.根据权利要求7或8所述的方法,其特征在于,所述第三特定数据中还包含扩展的第一信息。
10.根据权利要求4、7至9中任意一项所述的方法,其特征在于,所述MPTCP连接建立响应消息中MPTCP选项包含子类型字段的第四取值和子类型特定数据字段的第四取值;
所述子类型字段的第四取值指示所述MPTCP连接建立响应消息中MPTCP选项的子类型为扩展的子类型;
所述子类型特定数据字段的第四取值指示扩展的子类型的第四特定数据,且所述第四特定数据中包含所述第二能力信息。
11.根据权利要求10所述的方法,其特征在于,所述MPTCP连接建立响应消息中的所述MPTCP选项还包含版本字段,所述版本字段表示MPTCP的版本信息。
12.根据权利要求10或11所述的方法,其特征在于,所述第四特定数据中还包含扩展的第二信息。
13.根据权利要求4至12中任意一项所述的方法,其特征在于,所述多个子类型包括MPTCP能力、加入MPTCP连接、数据确认字符和数据序列映射、增加新地址、移除地址、设置子流优先级、回退、快速关闭、子流重置和保留供私人使用中的至少一个。
14.根据权利要求1至13中任意一项所述的方法,其特征在于,在所述第一端接收来自所述第二端的对于所述传输层协议连接建立请求消息的传输层协议连接建立响应消息之后,所述方法还包括:
所述第一端接收来自所述第二端且携带有所述第二类型的指示信息的消息,所述信息的第二类型为所述信息的多种类型中的一种。
15.一种传输数据的方法,其特征在于,包括:
第二端接收来自第一端的传输层协议连接建立请求消息,所述传输层协议连接建立请求消息携带有第一能力信息,所述第一能力信息指示所述第一端对指示信息的多种类型的支持情况;
响应于所述传输层协议连接建立请求消息,所述第二端向所述第一端发送传输层协议连接建立响应消息,所述传输层协议连接建立响应消息携带有第二能力信息,所述第二能力信息指示所述第二端对所述指示信息的多种类型的支持情况,或指示所述第一端和所述第二端对所述指示信息的多种类型的共同支持情况;
所述第二端接收来自所述第一端且携带有所述第一类型的指示信息的消息,所述信息的第一类型为所述信息的多种类型中的一种。
16.根据权利要求15所述的方法,其特征在于,所述传输层协议连接建立请求消息为快速用户数据报协议网络连接QUIC建立请求消息,所述传输层协议连接建立响应消息为QUIC建立响应消息;
或所述传输层协议连接建立请求消息为多路径MPQUIC建立请求消息,所述传输层协议连接建立响应消息为MPQUIC建立响应消息。
17.根据权利要求15所述的方法,其特征在于,所述传输层协议连接建立请求消息为多路径传输控制协议MPTCP连接建立请求消息,所述传输层协议连接建立响应消息为MPTCP连接建立响应消息。
18.根据权利要求17所述的方法,其特征在于,所述指示信息为所述MPTCP选项,所述指示信息的多种类型对应所述MPTCP选项的多个子类型,且所述MPTCP选项的每个子类型对应指示信息的一种类型;
所述第一能力信息指示所述第一端对MPTCP选项的多个子类型的支持情况;
所述第二能力信息指示所述第二端对所述MPTCP选项的多个子类型的支持情况,或指示所述第一端和所述第二端对所述MPTCP选项的多个子类型的共同支持情况;
所述第二端接收来自所述第一端且携带有所述第一类型的指示信息的消息包括:
第二端接收来自所述第一端且携带有所述第一类型的指示信息的消息,所述第一子类型为所述多个子类型中的一个。
19.根据权利要求18所述的方法,其特征在于,所述MPTCP连接建立请求消息中MPTCP选项包含子类型字段的第一取值和子类型特定数据字段的第一取值;
所述子类型字段的第一取值指示所述MPTCP连接建立请求消息中MPTCP选项的子类型为MPTCP能力MP_CAPABLE;
所述子类型特定数据字段的第一取值指示所述MP_CAPABLE的第一特定数据,且所述第一特定数据中包含所述第一能力信息。
20.根据权利要求18或19所述的方法,其特征在于,所述MPTCP连接建立响应消息中MPTCP选项包含子类型字段的第二取值和子类型特定数据字段的第二取值;
所述子类型字段的第二取值指示所述MPTCP连接建立响应消息中MPTCP选项的子类型为MP_CAPABLE;
所述子类型特定数据字段的第二取值指示所述MP_CAPABLE的第二特定数据,且所述第二特定数据中包含所述第二能力信息。
21.根据权利要求18所述的方法,其特征在于,所述MPTCP连接建立请求消息中的所述MPTCP选项包含子类型字段的第三取值和子类型特定数据字段的第三取值;
所述子类型字段的第三取值指示所述MPTCP连接建立请求消息中MPTCP选项的子类型为扩展的子类型;
所述子类型特定数据字段的第三取值指示所述扩展的子类型的第三特定数据,且所述第三特定数据中包含所述第一能力信息。
22.根据权利要求21所述的方法,其特征在于,所述MPTCP连接建立请求消息中的所述MPTCP选项还包含版本字段,所述版本字段表示MPTCP的版本信息。
23.根据权利要求21或22所述的方法,其特征在于,所述第三特定数据中还包含扩展的第一信息。
24.根据权利要求18、21至23中任意一项所述的方法,其特征在于,所述MPTCP连接建立响应消息中MPTCP选项包含子类型字段的第四取值和子类型特定数据字段的第四取值;
所述子类型字段的第四取值指示所述MPTCP连接建立响应消息中MPTCP选项的子类型为扩展的子类型;
所述子类型特定数据字段的第四取值指示扩展的子类型的第四特定数据,且所述第四特定数据中包含所述第二能力信息。
25.根据权利要求24所述的方法,其特征在于,所述MPTCP连接建立响应消息中的所述MPTCP选项还包含版本字段,所述版本字段表示MPTCP的版本信息。
26.根据权利要求24或25所述的方法,其特征在于,所述第四特定数据中还包含扩展的第二信息。
27.根据权利要求18至26中任意一项所述的方法,其特征在于,所述多个子类型包括MPTCP能力、加入MPTCP连接、数据确认字符和数据序列映射、增加新地址、移除地址、设置子流优先级、回退、快速关闭、子流重置和保留供私人使用中的至少一个。
28.根据权利要求15至27中任意一项所述的方法,其特征在于,所述第二能力信息指示所述第一端和所述第二端对所述MPTCP选项的多个子类型的共同支持情况;
在所述第二端向所述第一端发送传输层协议连接建立响应消息之前,所述方法还包括:
所述第二端根据所述第一能力信息和第三能力信息确定所述第二能力信息,所述第三能力信息指示所述第二端对所述指示信息的多种类型的支持情况。
29.根据权利要求15至28中任意一项所述的方法,其特征在于,在所述第二端向所述第一端发送传输层协议连接建立响应消息之后,所述方法还包括:
基于所述第一能力信息指示所述第一端支持指示信息的第二类型,所述第二端向所述第一端发送携带有所述第二类型的指示信息的消息,所述信息的第二类型为所述信息的多种类型中的一种。
30.一种传输数据的装置,其特征在于,应用于第一端,包括:
发送单元,用于向第二端发送传输层协议连接建立请求消息,所述传输层协议连接建立请求消息携带有第一能力信息,所述第一能力信息指示所述第一端对指示信息的多种类型的支持情况;
接收单元,用于接收来自所述第二端的对于所述传输层协议连接建立请求消息的传输层协议连接建立响应消息,所述传输层协议连接建立响应消息携带有第二能力信息,所述第二能力信息指示所述第二端对所述指示信息的多种类型的支持情况,或指示所述第一端和所述第二端对所述指示信息的多种类型的共同支持情况;
所述发送单元,还用于基于所述第二能力信息指示所述第二端支持指示信息的第一类型,或指示所述第一端和所述第二端共同支持所述指示信息的第一类型,向所述第二端发送携带有所述第一类型的指示信息的消息,所述信息的第一类型为所述信息的多种类型中的一种。
31.一种传输数据的装置,其特征在于,应用于第二端,包括:
接收单元,用于接收来自第一端的传输层协议连接建立请求消息,所述传输层协议连接建立请求消息携带有第一能力信息,所述第一能力信息指示所述第一端对指示信息的多种类型的支持情况;
发送单元,用于响应于所述传输层协议连接建立请求消息,向所述第一端发送传输层协议连接建立响应消息,所述传输层协议连接建立响应消息携带有第二能力信息,所述第二能力信息指示所述第二端对所述指示信息的多种类型的支持情况,或指示所述第一端和所述第二端对所述指示信息的多种类型的共同支持情况;
所述接收单元,用于接收来自所述第一端且携带有所述第一类型的指示信息的消息,所述信息的第一类型为所述信息的多种类型中的一种。
32.一种计算机设备,其特征在于,包括:至少一个处理器和存储器,存储器存储有可在处理器上运行的计算机执行指令,当所述计算机执行指令被所述处理器执行时,所述处理器执行如上述权利要求1-14中任意一项所述的方法,或执行如上述权利要求15-29中任意一项所述的方法。
33.一种存储一个或多个计算机执行指令的计算机可读存储介质,其特征在于,当所述计算机执行指令被处理器执行时,所述处理器执行如上述权利要求1-29中任意一项所述的方法。
34.一种计算机程序产品,其特征在于,包括计算机可读指令,当所述计算机可读指令在计算机上运行时,使得所述计算机执行如权利要求1-29中任一项所述的方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011263044.5A CN114500626A (zh) | 2020-11-12 | 2020-11-12 | 传输数据的方法、装置、设备及计算机可读存储介质 |
PCT/CN2021/126982 WO2022100442A1 (zh) | 2020-11-12 | 2021-10-28 | 传输数据的方法、装置、设备及计算机可读存储介质 |
EP21890969.5A EP4228316A4 (en) | 2020-11-12 | 2021-10-28 | DATA TRANSMISSION METHOD AND APPARATUS, DEVICE AND COMPUTER-READABLE STORAGE MEDIUM |
US18/315,596 US20230283694A1 (en) | 2020-11-12 | 2023-05-11 | Data transmission method and apparatus, device, and computer-readable storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011263044.5A CN114500626A (zh) | 2020-11-12 | 2020-11-12 | 传输数据的方法、装置、设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114500626A true CN114500626A (zh) | 2022-05-13 |
Family
ID=81490325
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011263044.5A Pending CN114500626A (zh) | 2020-11-12 | 2020-11-12 | 传输数据的方法、装置、设备及计算机可读存储介质 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230283694A1 (zh) |
EP (1) | EP4228316A4 (zh) |
CN (1) | CN114500626A (zh) |
WO (1) | WO2022100442A1 (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101986648A (zh) * | 2010-11-24 | 2011-03-16 | 北京星网锐捷网络技术有限公司 | 一种tcp选项的协商方法、装置及网络设备 |
CN107147619A (zh) * | 2017-04-12 | 2017-09-08 | 北京交通大学 | 基于多源、多径协同传输控制协议的数据传输方法 |
US10476992B1 (en) * | 2015-07-06 | 2019-11-12 | F5 Networks, Inc. | Methods for providing MPTCP proxy options and devices thereof |
CN111866956A (zh) * | 2019-04-28 | 2020-10-30 | 华为技术有限公司 | 一种数据传输方法及对应的设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10397379B2 (en) * | 2015-03-06 | 2019-08-27 | Apple Inc. | Robust multipath TCP stateless connection establishment |
EP3276891B1 (en) * | 2016-07-29 | 2019-02-27 | Deutsche Telekom AG | Techniques for establishing a communication connection between two network entities via different network flows |
-
2020
- 2020-11-12 CN CN202011263044.5A patent/CN114500626A/zh active Pending
-
2021
- 2021-10-28 WO PCT/CN2021/126982 patent/WO2022100442A1/zh unknown
- 2021-10-28 EP EP21890969.5A patent/EP4228316A4/en active Pending
-
2023
- 2023-05-11 US US18/315,596 patent/US20230283694A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101986648A (zh) * | 2010-11-24 | 2011-03-16 | 北京星网锐捷网络技术有限公司 | 一种tcp选项的协商方法、装置及网络设备 |
US10476992B1 (en) * | 2015-07-06 | 2019-11-12 | F5 Networks, Inc. | Methods for providing MPTCP proxy options and devices thereof |
CN107147619A (zh) * | 2017-04-12 | 2017-09-08 | 北京交通大学 | 基于多源、多径协同传输控制协议的数据传输方法 |
CN111866956A (zh) * | 2019-04-28 | 2020-10-30 | 华为技术有限公司 | 一种数据传输方法及对应的设备 |
Also Published As
Publication number | Publication date |
---|---|
EP4228316A1 (en) | 2023-08-16 |
US20230283694A1 (en) | 2023-09-07 |
WO2022100442A1 (zh) | 2022-05-19 |
EP4228316A4 (en) | 2024-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113411313B (zh) | 数据传输方法、装置和系统 | |
US11522790B2 (en) | Multipath data transmission processing method and network device | |
CN113709057B (zh) | 网络拥塞的通告方法、代理节点、网络节点及计算机设备 | |
US11277313B2 (en) | Data transmission method and corresponding device | |
EP2854360B1 (en) | Method for connecting a first host and a second host within at least one communication network through a relay module, corresponding relay module. | |
CN108738047A (zh) | 用于多频带无线网络系统管理的鲁棒控制平面 | |
WO2019076306A1 (zh) | 数据传输通道的处理方法、装置和系统 | |
CN113014483B (zh) | 一种多路径传输的方法及设备 | |
CN112291366B (zh) | 数据传输方法、装置、存储介质及电子设备 | |
WO2021174884A1 (zh) | 通信方法和装置 | |
KR20140012673A (ko) | Nfc 피어 투 피어 통신 환경에서 인터넷 프로토콜(ip) 데이터 통신을 제공하는 방법 및 시스템 | |
US8787370B2 (en) | Method and apparatus for transmitting packet switch domain service data | |
CN110312283B (zh) | 一种信息处理方法及装置 | |
WO2021134446A1 (zh) | 一种信息处理方法和通信装置以及通信系统 | |
CN112134826B (zh) | 通信方法,计算机设备和计算机可读存储介质 | |
WO2015038226A1 (en) | Power savings with preamble in wlan systems | |
CN114500626A (zh) | 传输数据的方法、装置、设备及计算机可读存储介质 | |
US20220053369A1 (en) | Data processing method, and communication apparatus and system | |
US11979230B1 (en) | Method and system for transmitting data over multiple paths | |
JP2004328359A (ja) | パケット処理装置 | |
CN105376341B (zh) | 自动跟踪设备多ip配置的方法 | |
JP2006203735A (ja) | 通信装置 | |
WO2024082286A1 (zh) | 蓝牙通信的信息指示方法、装置、设备及存储介质 | |
WO2022228293A1 (zh) | 一种发送报文的方法、处理报文的方法及设备 | |
US20240236196A1 (en) | Data transmission method and device |
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 |