CN113645283B - 一种多链路通信方法、装置、存储介质及电子设备 - Google Patents
一种多链路通信方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN113645283B CN113645283B CN202110864271.1A CN202110864271A CN113645283B CN 113645283 B CN113645283 B CN 113645283B CN 202110864271 A CN202110864271 A CN 202110864271A CN 113645283 B CN113645283 B CN 113645283B
- Authority
- CN
- China
- Prior art keywords
- subdata
- data
- check
- request
- communication
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- 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
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/82—Miscellaneous aspects
- H04L47/827—Aggregation of resource allocation or reservation requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1466—Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
-
- 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/164—Adaptation or special uses of UDP protocol
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
- H04L9/3268—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2212/00—Encapsulation of packets
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本说明书公开了一种多链路通信方法、装置、存储介质及电子设备。在本说明书提供的多链路通信方法中,在多链路通信的协商过程中,同时采用若干条通信链路传输协商过程中的数据,以获得各链路公用的目标秘钥,缩短了协商过程所用时间。并且由于每个通信链路所传输的子数据中仅仅包括待传输数据中的部分数据,通信链路面临监听、拦截等方式的攻击时,攻击方难以根据子数据中的部分数据得到完整的待传输数据,使得两节点之间数据传输的安全性增加。
Description
技术领域
本说明书涉及通信领域,尤其涉及一种多链路通信方法、装置、存储介质及电子设备。
背景技术
随着通信技术的发展,受限于一种通信方式所能提供的带宽较低,目前,大量研究开始聚焦于如何使用户采用多种方式建立通信连接,从而实现更快的数据传输。
发明内容
本说明书提供一种多链路通信方法、装置、存储介质及电子设备,以部分的解决现有技术存在的上述问题。
本说明书采用下述技术方案:
本说明书提供了一种多链路通信方法,包括:
确定目标节点,以及与目标节点之间的若干个待建立的通信链路;
获取由连接建立请求以指定的方式划分出的各请求子数据,所述连接建立请求用于建立与所述目标节点之间的多链路通信;
针对每个通信链路,通过该通信链路将至少一个请求子数据发送至目标节点;
响应于接收到的目标节点通过各通信链路返回的各校验子数据,将所述各校验子数据聚合为校验数据,并对所述校验数据进行验证;
当所述校验数据通过验证时,确定目标秘钥,并以所述目标秘钥作为通信秘钥,通过各通信链路与所述目标节点进行多链路通信。
可选地,所述连接建立请求中包括第一参数,所述校验数据中包括第二参数;
确定目标秘钥,具体包括:
生成第三参数;
根据第一参数、第二参数以及第三参数确定目标秘钥;
将所生成的第三参数划分出各参数子数据,并以各通信链路传输至目标节点,以使所述目标节点将各参数子数据聚合为用于确定目标秘钥的第三参数。
可选地,获取由连接建立请求以指定的方式划分出的各请求子数据,具体包括:
获取由通过用户数据报协议UDP进行传输的连接建立请求所划分出的各请求子数据,其中,每个请求子数据中包括连接建立请求中的部分至少数据;
针对每个请求子数据,确定该请求子数据对应的报文头,其中,所述报文头至少包括目标地址、目标节点的标识、该请求子数据的链路序列号、该请求子数据的全局序列号中的一个;
根据所对应的报文头对该请求子数据通过多径用户数据报协议MPUDP进行封装,并将封装后的请求子数据作为以指定的方式划分出的请求子数据。
可选地,所述方法还包括:
确定各通信链路的传输质量,并根据所确定出的各通信链路的传输质量调整对各子数据的全局序号检测的检测窗口大小,和/或,对各子数据进行重排序的时长阈值,和/或,传输延时阈值;
其中,所述子数据至少包括请求子数据。
本说明书提供了一种多链路通信方法,包括:
响应于所接收到的目标节点通过若干个通信链路所发送的由用于建立与所述目标节点之间的多链路通信的连接建立请求所划分出的各请求子数据,将各请求子数据聚合为连接建立请求;
根据所述连接建立请求生成校验数据,并以指定的方式将所述校验数据划分出若干个校验子数据;
通过与所述目标节点之间的若干个通信链路,将各校验子数据发送至目标节点,以使所述目标节点根据以各校验子数据所聚合出的校验数据进行验证;
当所述校验数据验证通过时,确定目标秘钥,并以所述目标秘钥作为通信秘钥,通过各通信链路与所述目标节点进行多链路通信。
可选地,所述连接建立请求中包括第一参数,所述校验数据中包括第二参数;
确定目标秘钥,具体包括:
响应与所接收到的目标节点通过各通信链路所发送的参数子数据,将各参数子数据聚合为第三参数;
根据第一参数、第二参数以及第三参数确定目标秘钥。
可选地,所述方法还包括:
确定各通信链路的传输质量,并根据所确定出的各通信链路的传输质量调整对各子数据的全局序号检测的检测窗口大小,和/或,对各子数据进行重排序的时长阈值,和/或,传输延时阈值;
其中,所述子数据至少包括校验子数据。
可选地,以指定的方式将所述校验数据划分出若干个校验子数据,具体包括:
当所述校验数据为通过用户数据报协议UDP进行传输的数据时,划分所述校验数据并得到若干个校验子数据,其中,每个校验子数据中包含至少部分校验数据;
针对每个校验子数据,确定该校验子数据对应的报文头,其中,所述报文头至少包括目标地址、目标节点的标识、链路序列号、全局序列号中的一个;
根据所对应的报文头对该校验子数据通过多径用户数据报协议MPUDP进行封装,并将封装后的校验子数据作为以指定的方式划分出的校验子数据。
可选地,当报文头中包含链路序列号时,所述方法还包括:
针对每条通信链路,确定通过该通信链路所接收到的各子数据所对应的报文头中包含的链路序列号其中,所述子数据至少包括校验子数据;
从所对应的报文头中包含相同的链路序列号的各子数据中确定出重放攻击数据。
本说明书提供了一种多链路通信装置,包括:
确定模块,用于确定目标节点,以及与目标节点之间的若干个待建立的通信链路;
请求模块,用于获取由连接建立请求以指定的方式划分出的各请求子数据,所述连接建立请求用于建立与所述目标节点之间的多链路通信;
发送模块,用于针对每个通信链路,通过该通信链路将至少一个请求子数据发送至目标节点;
验证模块,用于响应于接收到的目标节点通过各通信链路返回的各校验子数据,将所述各校验子数据聚合为校验数据,并对所述校验数据进行验证;
通信模块,用于当所述校验数据通过验证时,确定目标秘钥,并以所述目标秘钥作为通信秘钥,通过各通信链路与所述目标节点进行多链路通信。
本说明书提供了一种多链路通信装置,包括:
响应模块,用于响应于所接收到的目标节点通过若干个通信链路所发送的由用于建立与所述目标节点之间的多链路通信的连接建立请求所划分出的各请求子数据,将各请求子数据聚合为连接建立请求;
划分模块,用于根据所述连接建立请求生成校验数据,并以指定的方式将所述校验数据划分出若干个校验子数据;
发送模块,用于通过与所述目标节点之间的若干个通信链路,将各校验子数据发送至目标节点,以使所述目标节点根据所聚合出的校验数据进行验证;
通信模块,用于当所述校验数据验证通过时,确定目标秘钥,并以所述目标秘钥作为通信秘钥,通过各通信链路与所述目标节点进行多链路通信。
本说明书提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述多链路通信方法。
本说明书提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述多链路通信方法。
本说明书采用的上述至少一个技术方案能够达到以下有益效果:
在本说明书提供的多链路通信方法中,在多链路通信的协商过程中,相比于MPTCP中需要每个链路单独地遵从三次握手的过程进行协商,本说明书实施例同时采用若干条通信链路传输协商过程中的数据,以获得各链路公用的目标秘钥,缩短了协商过程所用时间。并且由于每个通信链路所传输的子数据中仅仅包括待传输数据中的部分数据,通信链路面临监听、拦截等方式的攻击时,攻击方难以根据子数据中的部分数据得到完整的待传输数据,使得两节点之间数据传输的安全性增加。
附图说明
此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,本说明书的示意性实施例及其说明用于解释本说明书,并不构成对本说明书的不当限定。在附图中:
图1为本说明书中一种多链路通信系统的示意图;
图2为本说明书中一种多链路通信方法的示意图;
图3为本说明书中另一种多链路通信方法的示意图;
图4为本说明书提供的一种多链路通信装置的示意图;
图5为本说明书提供的另一种多链路通信装置的示意图;
图6为本说明书提供的电子设备的结构示意图。
具体实施方式
通过现有的多路传输控制协议(Multi-Path Transmission Control Protocol,MPTCP)可以采用若干条通信链路传输由传输控制协议(Transmission ControlProtocol,TCP)所承载的通信数据。
在多链路通信的协商过程中,相比于现有的MPTCP中,需要每个链路单独地遵从三次握手的过程进行协商,其中第一个链路进行协商时,添加MP_CAPABLE的TCP选项,而在后续其他链路进行单独地采用三次握手的方式进行协商时,则将TCP选项换成了MP_JOIN,以示加入第一个MPTCP链路,加入该第一个MPTCP链路的各通信链路组成了一组用于通信的多链路,在通信过程中,该组各通信链路可以采用例如负载分担的方式进行数据传输。
如上所述的方式,每个通道都是独立的子通道,因此当任一通道断开的时候,重新为该通道建立连接都需要重新进行握手协商。而当网络状态不稳定的时候就会导致网络卡顿。
为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书保护的范围。
以下结合附图,详细说明本说明书各实施例提供的技术方案。
本说明书实施例提供如图1所示的多链路通信系统。
如图1所示的多链路通信系统由第一节点、第二节点,以及第一节点和第二节点之间的若干条通信链路构成。
为作示例,在图1中,以分别第一链路、第二链路、第三链路示意第一节点和第二节点之间的链路,但本说明书实施例中并不限定第一节点和第二节点之间链路的数量。
第一节点和第二节点之间能够通过上述各链路实现通信,在进行通信时,第一通信端和第二通信端之中的任一可以作为数据的发送端,也可以作为数据的接收端。
所述第一节点和第二节点中的任意一个均可以为终端设备或服务器,其中,所述终端设备(以下简称终端)可以为手机、电脑等任一形式的设备,所述服务器可以为集群式服务器或分布式服务器等,本说明书对此不作限制。
本说明书实施例中所述目标节点可以为任一节点,例如,所述目标节点可以为第一节点也可以为第二节点,可以为发起连接的请求方也可以为响应连接发起的被请求方,本说明书示例不作限制,通常来说可以作为区别于作为执行主体的节点以外的另一节点。
此外,在建立连接时,第一节点和第二节点均可以作为发起连接的请求方,本说明书不作限定,而仅作为示例,本说明书以下部分以第一节点为请求方,并且向第二节点发起连接为例进行说明。
图2示出了一种为如图1所示的多链路通信系统中的第一节点和第二节点建立通信连接,以使第一节点和第二节点能够通过之间的若干条通信链路进行通信的方法。
第一节点确定所要建立连接的节点作为第二节点。第一节点和第二节点之间存在待建立的若干个通信链路,本说明书实施例中,第一节点可以通过若干通信类型进行与其他节点的数据传输,例如,第一节点支持由若干运营商所提供的通信链路,还可以支持不同通信技术的通信链路,例如第四代移动通信技术(the 4th generation mobilecommunication technology,4G)、第五代移动通信技术(5th Generation MobileCommunication Technology,5G)以及Wi-Fi等。
本说明书一实施例中,第一节点在确定出第二节点以及与第二节点之间的若干个待建立的通信链路之后,可以生成连接建立请求,并以多路聚合的方式将连接建立请求通过各通信链路发送至第二节点。
本说明书一实施例中,所述连接建立请求用以请求与第二节点建立通信,所述连接建立请求可以包括第一参数,还可以包括该连接建立请求所属的数据流标识。
其中,如图3所示,以多路聚合的方式发送待传输数据具体包括:发送端以指定的方式将待传输数据划分为若干子数据,通过与接收端之间的若干条通信链路,将待传输数据的各子数据发送至接收端,以使接收端根据所接收到的待传输数据的各子数据聚合得到待传输数据。可以理解的,采用本说明书实施例所提供的多链路通信方法所传输的各待传输数据所划分出的包含至少部分待传输数据的数据,均为待传输数据的子数据,例如由上述连接建立请求可以划分出请求子数据。
本说明书一实施例中,在采用多路聚合的方式传输待传输数据时,传输子数据的通信链路至少为两条。
而具体到上述采用多路聚合的方式将连接建立请求作为待传输数据进行传输时,所述传输过程为:根据第一节点生成的连接建立请求,采用指定的方式将连接建立请求划分为若干子数据(即请求子数据),其中,所划分出的每个子数据中至少包含部分连接建立请求,接着,将连接建立请求的各子数据通过第一节点与第二节点之间的各通信链路发送至第二节点,第二节点根据所接收到的连接建立请求的各子数据,将各子数据聚合为连接建立请求,以上即为采用多路聚合的方式,将连接建立请求由第一节点发送至第二节点的过程。
本说明书一实施例中,为了接收到第一节点所发送的连接建立请求,第二节点可以保持监听状态,以使第一节点通过与第二节点之间待建立的各通信链路发送连接建立请求。需要说明的是,本说明书实施例中,以目标秘钥被第一节点和第二节点协商出的时刻为基准,将本说明书实施例所提出的多链路通信过程划分为两个子过程,即目标秘钥被协商出之前的协商过程,以及目标秘钥被协商出之后的通信过程。
在目标秘钥被协商出之后的通信过程中,第一节点和第二节点之间可以采用上述多路聚合的方式进行传输,而协商过程中,第一节点和第二节点之间交互的各待传输数据,也可以以上述多路聚合的方式进行传输。
接着,第二节点在接收到第一节点所传输的连接建立请求之后,根据连接建立请求生成校验数据,所述校验数据中包括第二节点的信息。本说明书一实施例中,所述校验数据可以包括第二节点的数字证书,所述数字证书可以为证书颁发机构(CertificateAuthority,CA)采用CA私钥加密后的第二节点的认证信息,所述校验数据中还可以包括第二参数,更进一步的,所述第二参数可以为采用CA私钥加密后的第二参数的密文。当然,上述仅为示例,所述校验数据用以使第一节点对第二节点的身份进行验证,本说明书实施例中并不限制校验数据中包括何种数据。
为使第一节点确定校验数据为针对第一节点所发送的哪一连接建立请求而返回的校验数据,通常来说,所述校验数据中还可以包括该校验数据所属的数据流标识,需要说明的是,数据流为根据第一节点和第二节点的地址以及端口确定的,当不同的数据流需要进行数据传输时,往往需要分别建立通信链路,因此,本说明书实施例中,第一节点和第二节点之间进行传输的数据中都可以包括由数据流标识,并且所包括的数据流标识可以相同。
在对所接收到的各校验数据的子数据(即校验子数据)进行聚合后,第一节点接收到第二节点通过多路聚合的方式所传输的校验数据,并根据所接收到的校验数据对第二节点的身份进行验证。
本说明书一实施例中,第一节点可以存储有CA公钥,当第一节点接收到的校验数据中包括采用CA私钥加密的第二节点的认证信息时,可以以CA公钥解密得到第二节点的认证信息的明文,并根据第二节点的认证信息来验证第二节点的身份,例如,第二节点是否为第一节点所要建立连接的节点,并得到验证结果。
同理,第一节点还可以以CA公钥解密得到校验数据中包括的第二节点的第二参数。
当验证结果为通过时,第一节点可以确定目标秘钥,并且生成第三参数,采用上述任一多路聚合的方式向第二节点发送第三参数,第二节点根据所接收到的第三参数确定出目标公钥。需要说明的是,第一节点和第二节点所确定出的目标秘钥为同一秘钥。
第一节点和第二节点协商有秘钥生成方式,并且在第一节点生成第三参数并传输给第二节点之后,第一节点和第二节点按照所协商出的秘钥生成方式,根据第一参数、第二参数以及第三参数生成出相同的目标秘钥。本说明书对于上述秘钥生成方式如何生成目标秘钥不作限制。
此时,第一节点和第二节点之间的协商过程结束,第一节点和第二节点可以根据所协商出的目标秘钥在后续的通信过程中对所要传输的数据以对称加密的方式进行加密并传输加密后的密文。
基于如上图2所述的多链路通信方法可以看出,发送端和接收端的两节点之间采用多路聚合的方式,将待传输数据先划分为若干子数据,并以若干条通信链路传输各子数据,在各子数据被传输至接收端的节点之后,由接收端的节点将各子数据聚合起来并得到待传输数据,从而实现了同时、并行地通过多个通信链路传输待传输数据,相比于单链路传输,提高了传输速率。
此外,在多链路通信的协商过程中,相比于现有的MPTCP中,需要每个链路单独地遵从三次握手的过程进行协商,其中第一个链路进行协商时,添加MP_CAPABLE的TCP选项,而在后续其他链路进行单独地采用三次握手的方式进行协商时,则将TCP选项换成了MP_JOIN,以示加入第一个链路的MPTCP传输,而本说明书实施例所提供的多链路传输方法,则同时采用若干条通信链路传输协商过程中的数据,以获得各链路公用的目标秘钥,缩短了协商过程所用时间。
并且由于每个通信链路所传输的子数据中仅仅包括待传输数据中的部分数据,通信链路面临监听、拦截等方式的攻击时,攻击方难以根据子数据中的部分数据得到完整的待传输数据,使得两节点之间数据传输的安全性增加。
本说明书一实施例中,可以采用数据包传输层安全性协议(DatagramTransportLayer Security,DTLS)的方式进行上述第一节点和第二节点之间的协商过程。
然而现有的DTLS并不支持多链路传输,也就是说,通过多链路传输的数据无法以DTLS的方式进行协商,本说明实施例中提供了如下所述的方式,在确定出待传输数据的子数据之后,针对每个子数据确定出对应的报文头,并通过多径用户数据报协议(Multi-PathUser Datagram Protocol,MPUDP)以该子数据所对应的报文头对该子数据进行封装,并将封装后所获得的通过MPUDP进行传输的数据包作为封装后的子数据,此时,可以通过DTLS的方式,根据封装后的子数据进行第一节点和第二节点之间的协商。
本说明书一实施例中,所述报文头之前可以还包括UDP报文头,在此情形下,针对每个子数据,该子数据在通信链路上以UDP方式进行传输。
本说明书实施例中,针对每个子数据,该子数据的报文头中至少包括以下至少一个数据:数据包类型、链路序列号、全局序列号、该子数据所属的数据流标识、该子数据的数据量、版本标识、传输状态、对子数据进行重排的选项、时间戳、传输延时、目标地址、随机数;所述版本标识包括该MPUDP子数据的版本标识和/或所承载的UDP待传输数据的版本标识。
其中,所述数据包类型为该报文头所属的数据包的数据包类型,类型包括:数据包和心跳包,数据包可以例如承载通信双方所要传输的通信数据,心跳包例如以固定周期发送的用于保持连接的固定数据。
链路序列号是指,该子数据在传输该子数据的通信链路所传输的各子数据中的序列号,用于将通过该通信链路传输的各子数据进行排列,例如,将通过该通信链路传输的各子数据进行排序,并根据排序结果进行预聚合。此外,在该子数据传输至第二节点之后,第二节点可以根据所接收到的各子数据的链路序列号确定传输该子数据的链路的丢包率。第二节点还可以根据通过各通信链路接收到的各子数据的顺序与各子数据的链路序列号之间的差异来确定各通信链路传输子数据的乱序率。
全局序列号是指,该子数据在各通信链路所传输的各子数据中的序列号,用于根据各子数据的全局序列号将通过各通信链路所传输的各子数据进行排序,例如,可以根据各子数据根据全局序列号的排序结果直接将各子数据聚合为待传输数据,也可以在根据上述各链路序列号的排序结果进行各通信链路所传输的子数据的预聚合之后,根据各通信链路所预聚合的子数据,以及各子数据的全局序列号聚合为待传输数据。
该子数据所述的数据流标识是根据所述发送端的地址和端口、接收端的地址和端口,以及划分出该子数据的待传输数据的协议类型确定的,其中,所述协议类型包括:TCP和UDP,用于将该子数据所述的数据流中各子数据从发送端的地址和端口传输至接收端的地址和端口,并在接收端的端口将该数据流的各子数据重新排序聚合,本说明书实施例中,待传输数据为数据流中的至少部分数据,例如,数据流可以是一部电影对应的视频数据,待传输数据可以为该电影中某一分钟的视频数据,子数据则是这一分钟内的一帧的视频数据。
该子数据的数据量为该子数据所包含的数据的数据量,所述数据量可以为包括报文头本身的封装后的数据包的数据量,也可以为子数据中不包括报文头通信双方所要传输的通信数据,用于根据子数据的传输延时以及数据量确定通信链路的传输速率,例如可以将所传输的子数据的传输延时越短,子数据的数据量越大的通信链路作为传输速率越高的通信链路,也可以用于为该子数据分配通信链路,例如根据传输速率确定传输质量,并为传输质量越高的通信链路所对应的子数据的数据量可以越大。
版本标识包括该MPUDP子数据的版本标识和/或所承载的UDP待传输数据的版本标识,其中,该MPUDP子数据的版本标识用于使第一节点和第二节点采用对应的协议版本封装和聚合子数据,所承载的UDP待传输数据的版本标识用于使发送端和接收端采用对应的协议版本发送和接收待传输数据。
传输状态用于指示该子数据本身的传输状态,或该子数据所述的数据流的传输状态,例如该子数据已接收、废弃,该子数据为该数据流的最后一个子数据。
对子数据进行重排的选项则指示当前节点是否对各子数据进行重排,用于当前节点判断通过各子数据的序列号是否能聚合出待传输数据,若否,则确定下一节点是否包含子数据重排功能,并根据对子数据进行重排的选项,以及所确定出的下一节点重排功能的确定结果,判断是否对各子数据进行重排,例如所述对子数据进行重排的选项指示为重排,并且判断下一节点不包含子数据重排功能时,则可以根据该确定结果以及所述对子数据进行重排的选项对各子数据进行重排。当然,在本说明实施例中,所述下一节点可以为第二节点。
时间戳为第一节点向第二节点发送该子数据的时刻,用于使第二节点确定该子数据的发送时刻,例如第二节点可以根据该时间戳,以及接收到该子数据的时刻确定出该子数据的传输延时。
传输延时指所接收到的历史上的数据包进行传输所用时间,用于确定通信链路的传输速率,例如,可以为所接收到的最后一个数据包进行传输所用的时间。
目标地址为发送端的地址和端口、接收端的地址和端口,用于发送和接收该子数据。
随机数指第一节点所随机生成的用于安全校验的数字,例如可以根据随机数生成对称秘钥,并采用秘钥对所要传输的子数据进行加密传输。
封装后的子数据中至少包含该子数据对应的报文头,以及该子数据中所包含的至少部分待传输数据。
本说明书一实施例中,针对每个节点,针对每个通信链路,可以确定通过该通信链路所接收到的各子数据所对应的报文头中包含的链路序列号,并根据对应的报文头所包含的链路序列号相同的各子数据,确定出作为重放攻击数据。本说明书一实施例中,可以直接将对应的报文头所包含的链路序列号相同的各子数据中在后接收到的子数据作为重放攻击数据,当然,若所述报文头中还包括重发标识,可以针对每个子数据,判断该子数据对应的报文头中是否包含有重发标识,并从对应的报文头中不包含重发标识的子数据中选择出重发攻击数据。
本说明书实施例中,可以确定各通信链路的传输质量,并根据所确定出的各通信链路的传输质量调整对各子数据的全局序号检测的检测窗口大小和/或,对各子数据进行重排序的时长阈值,和/或,传输延时阈值。
其中,所述各子数据的全局序号检测的检测窗口大小为接收端最大可接收的待传输数据所划分出的各子数据的全局序号,用于防止将数据流中的待传输数所划分的较大,以使该待传输数据所在此划分出的各子数据的全局序号过多,例如,可以为1000,10000等。也可以防止各个子数据被中间人做录制和重新播放攻击,从而防止子数据的内容被重放扰乱和篡改。
对各子数据进行重排序的时长阈值是指,当在发送端在各子数据进行重排序的时长阈值的时间内未受到接收端所发送的确认数据,则可以认为接收端无法将子数据重排为待传输数据,用以在超过该时长阈值时重新向接收端传输待传输数据的各子数据。
传输延时阈值是指时间戳的差值的门限值,所述时间戳的差值是指发送,当发送端在发送子数据时,子数据的报文头中包括发送端发送该子数据的时刻,作为时间戳,接收段则在接收到该子数据时,根据时间戳与接收端接收到该子数据时刻的时间差确定出的,用于对超出传输延时阈值的子数据进行废弃,防止接收到攻击数据。
根据各通信链路的传输质量,同通信链路的传输质量越大,对各子数据的全局序号检测的检测窗口大小就越大,对各子数据进行重排序的时长阈值就越小,传输延时阈值也就越小。
本说明书一实施例中,针对每个通信链路,该通信链路的传输质量可以根据该通信链路的传输速率、丢包率、以及传输子数据的乱序率确定。具体的,可以根据通过该通信链路所接收到的由第二节点在历史上的预设时段内发送的目标数据的报文头来确定该通信链路的传输速率、丢包率和传输子数据的乱序率。
以确定通信链路的传输速率为例,本说明书一实施例中,针对每个通信链路,可以根据通过该通信链路所接收到的由第二节点在历史上的预设时段内发送的目标数据的报文头来确定该通信链路的传输速率,以下,本说明书实施例示例性提供两种传输速率的确定方式:
第一种,可以确定目标数据中的报文头所包括的目标中转设备发送所述目标数据时的时间戳,并根据接收所述目标数据的时刻与所述时间戳之间的时间差,确定该通信链路的传输速率。
第二种,可以确定目标数据中的报文头所包含的传输延时,并根据所述传输延时确定出该通信链路的传输速率。
当然,在通过上述任一方式确定通信链路的传输速率时,除了需要根据上述时间差和传输延时,还需要根据目标数据的数据量,本说明书一实施例中,所述报文头中可以包括目标数据的数据量。具体的,可以根据所述目标数据的数据量与所述时间差或传输延时的比值确定该通信链路的传输速率,比值越大则传输速率越高。
而类似的,通信链路的传输质量还可以包括丢包率和乱序率,可以通过上述任一方式,根据目标数据的报文头中所包括的链路序列号来确定。
本说明书实施例中,所述目标数据至少包括历史上的已传输数据的子数据,当然,在传输已传输数据的历史时刻,当前时刻的第一节点为第二节点,当前时刻的第二节点则为第一节点。在此情形下,所述传输延时可以为第二节点在历史上作为第一节点时,根据历史上的第二节点所发送的目标数据的时间戳与接收到目标设备时刻的时间差确定出的。
除此之外,所述目标数据还可以包括第二节点以指定第一周期通过该通信链路发送的查询数据,所述查询数据可以为因特网包探索器(Packet InternetGroper,ping),所述查询数据可以为采用UDP进行封装的数据,使得采用以UDP进行封装的查询数据进行探测时,所探测出的该通信链路传输以UDP进行封装的子数据的传输质量更准确。
本说明书实施例中还示出了另一种建立通信链路的方法,应用于调度中心,具体的,响应于所接收到的建立有若干通信链路的两个节点中任一节点上报的目标秘钥,存储所述目标秘钥;确定非目标节点,以及非目标节点与建立有若干通信链路的两个节点中任一节点之间的通信链路;将所述目标秘钥下发至所述非目标节点与建立有若干通信链路的两个节点中任一节点的通信链路,以使所述建立有若干通信链路的两个节点中任一节点以所述目标秘钥通过包括与非目标节点之间的通信链路的各通信链路进行数据传输。
当然,所述非目标节点也可以为第一节点或第二节点,与所述非目标节点所建立的通信链路也可以为预先建立而后又断开的重连链路,本说明书对此不作限制。
以上为本说明书的一个或多个实施例提供的多链路通信方法,基于同样的思路,本说明书还提供了相应的多链路通信装置,如图4和图5所示。
图4所示的多链路通信装置包括:
确定模块400,用于确定目标节点,以及与目标节点之间的若干个待建立的通信链路;
请求模块402,用于获取由连接建立请求以指定的方式划分出的各请求子数据,所述连接建立请求用于建立与所述目标节点之间的多链路通信;
发送模块404,用于针对每个通信链路,通过该通信链路将至少一个请求子数据发送至目标节点;
验证模块406,用于响应于接收到的目标节点通过各通信链路返回的各校验子数据,将所述各校验子数据聚合为校验数据,并对所述校验数据进行验证;
通信模块408,用于当所述校验数据通过验证时,确定目标秘钥,并以所述目标秘钥作为通信秘钥,通过各通信链路与所述目标节点进行多链路通信。
可选地,所述连接建立请求中包括第一参数,所述校验数据中包括第二参数;所述通信模块408具体用于,生成第三参数;根据第一参数、第二参数以及第三参数确定目标秘钥;将所生成的第三参数划分出各参数子数据,并以各通信链路传输至目标节点,以使所述目标节点将各参数子数据聚合为用于确定目标秘钥的第三参数。
可选地,所述请求模块402具体用于,获取由通过用户数据报协议UDP进行传输的连接建立请求所划分出的各请求子数据,其中,每个请求子数据中包括连接建立请求中的部分至少数据;针对每个请求子数据,确定该请求子数据对应的报文头,其中,所述报文头至少包括目标地址、目标节点的标识、该请求子数据的链路序列号、该请求子数据的全局序列号中的一个;根据所对应的报文头对该请求子数据通过多径用户数据报协议MPUDP进行封装,并将封装后的请求子数据作为以指定的方式划分出的请求子数据。
可选地,所述通信模块408还用于,确定各通信链路的传输质量,并根据所确定出的各通信链路的传输质量调整对各子数据的全局序号检测的检测窗口大小,和/或,对各子数据进行重排序的时长阈值,和/或,传输延时阈值;其中,所述子数据至少包括请求子数据。
图5所示的多链路通信装置包括:
响应模块500,用于响应于所接收到的目标节点通过若干个通信链路所发送的由用于建立与所述目标节点之间的多链路通信的连接建立请求所划分出的各请求子数据,将各请求子数据聚合为连接建立请求;
划分模块502,用于根据所述连接建立请求生成校验数据,并以指定的方式将所述校验数据划分出若干个校验子数据;
发送模块504,用于通过与所述目标节点之间的若干个通信链路,将各校验子数据发送至目标节点,以使所述目标节点根据以各校验子数据所聚合出的校验数据进行验证;
通信模块506,用于当所述校验数据验证通过时,确定目标秘钥,并以所述目标秘钥作为通信秘钥,通过各通信链路与所述目标节点进行多链路通信。
可选地,所述连接建立请求中包括第一参数,所述校验数据中包括第二参数;所述通信模块506具体用于,响应与所接收到的目标节点通过各通信链路所发送的参数子数据,将各参数子数据聚合为第三参数;根据第一参数、第二参数以及第三参数确定目标秘钥。
可选地,所述通信模块506还用于,确定各通信链路的传输质量,并根据所确定出的各通信链路的传输质量调整对各子数据的全局序号检测的检测窗口大小,和/或,对各子数据进行重排序的时长阈值,和/或,传输延时阈值;其中,所述子数据至少包括校验子数据。
可选地,所述划分模块502具体用于,当所述校验数据为通过用户数据报协议UDP进行传输的数据时,划分所述校验数据并得到若干个校验子数据,其中,每个校验子数据中包含至少部分校验数据;针对每个校验子数据,确定该校验子数据对应的报文头,其中,所述报文头至少包括目标地址、目标节点的标识、链路序列号、全局序列号中的一个;根据所对应的报文头对该校验子数据通过多径用户数据报协议MPUDP进行封装,并将封装后的校验子数据作为以指定的方式划分出的校验子数据。
可选地,当报文头中包含链路序列号时,所述通信模块506还用于,针对每条通信链路,确定通过该通信链路所接收到的各子数据所对应的报文头中包含的链路序列号其中,所述子数据至少包括校验子数据;从所对应的报文头中包含相同的链路序列号的各子数据中确定出重放攻击数据。
本说明书还提供了图6所示的电子设备的结构示意图。如图6所示,在硬件层面,该电子设备包括处理器、内部总线、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,以实现上述多链路通信方法。
当然,除了软件实现方式之外,本说明书并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。
Claims (11)
1.一种多链路通信方法,其特征在于,包括:
确定目标节点,以及与目标节点之间的若干个待建立的通信链路;
获取由连接建立请求以指定的方式划分出的各请求子数据,所述连接建立请求用于建立与所述目标节点之间的多链路通信;
针对每个通信链路,通过该通信链路将至少一个请求子数据发送至目标节点;
响应于接收到的目标节点通过各通信链路返回的各校验子数据,将所述各校验子数据聚合为校验数据,并对所述校验数据进行验证;
当所述校验数据通过验证时,确定目标秘钥,并以所述目标秘钥作为通信秘钥,通过各通信链路与所述目标节点进行多链路通信;
其中,获取由连接建立请求以指定的方式划分出的各请求子数据,具体包括:
获取由通过用户数据报协议UDP进行传输的连接建立请求所划分出的各请求子数据,其中,每个请求子数据中包括连接建立请求中的部分至少数据;
针对每个请求子数据,确定该请求子数据对应的报文头,其中,所述报文头至少包括目标地址、目标节点的标识、该请求子数据的链路序列号、该请求子数据的全局序列号中的一个;
根据所对应的报文头对该请求子数据通过多径用户数据报协议MPUDP进行封装,并将封装后的请求子数据作为以指定的方式划分出的请求子数据。
2.如权利要求1所述的方法,其特征在于,所述连接建立请求中包括第一参数,所述校验数据中包括第二参数;
确定目标秘钥,具体包括:
生成第三参数;
根据第一参数、第二参数以及第三参数确定目标秘钥;
将所生成的第三参数划分出各参数子数据,并以各通信链路传输至目标节点,以使所述目标节点将各参数子数据聚合为用于确定目标秘钥的第三参数。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:
确定各通信链路的传输质量,并根据所确定出的各通信链路的传输质量调整对各子数据的全局序号检测的检测窗口大小,和/或,对各子数据进行重排序的时长阈值,和/或,传输延时阈值;
其中,所述子数据至少包括请求子数据。
4.一种多链路传输方法,其特征在于,包括:
响应于所接收到的目标节点通过若干个通信链路所发送的由用于建立与所述目标节点之间的多链路通信的连接建立请求所划分出的各请求子数据,将各请求子数据聚合为连接建立请求;
根据所述连接建立请求生成校验数据,并以指定的方式将所述校验数据划分出若干个校验子数据;
通过与所述目标节点之间的若干个通信链路,将各校验子数据发送至目标节点,以使所述目标节点根据以各校验子数据所聚合出的校验数据进行验证;
当所述校验数据验证通过时,确定目标秘钥,并以所述目标秘钥作为通信秘钥,通过各通信链路与所述目标节点进行多链路通信;
其中,以指定的方式将所述校验数据划分出若干个校验子数据,具体包括:
当所述校验数据为通过用户数据报协议UDP进行传输的数据时,划分所述校验数据并得到若干个校验子数据,其中,每个校验子数据中包含至少部分校验数据;
针对每个校验子数据,确定该校验子数据对应的报文头,其中,所述报文头至少包括目标地址、目标节点的标识、链路序列号、全局序列号中的一个;
根据所对应的报文头对该校验子数据通过多径用户数据报协议MPUDP进行封装,并将封装后的校验子数据作为以指定的方式划分出的校验子数据。
5.如权利要求4所述的方法,其特征在于,所述连接建立请求中包括第一参数,所述校验数据中包括第二参数;
所述校验数据验证通过,具体包括:
当接收到目标节点通过各通信链路所发送的参数子数据时,确定所述校验数据验证通过;
确定目标秘钥,具体包括:
响应与所接收到的目标节点通过各通信链路所发送的参数子数据,将各参数子数据聚合为第三参数;
根据第一参数、第二参数以及第三参数确定目标秘钥。
6.如权利要求4所述的方法,其特征在于,所述方法还包括:
确定各通信链路的传输质量,并根据所确定出的各通信链路的传输质量调整对各子数据的全局序号检测的检测窗口大小,和/或,对各子数据进行重排序的时长阈值,和/或,传输延时阈值;
其中,所述子数据至少包括校验子数据。
7.如权利要求4所述的方法,其特征在于,当报文头中包含链路序列号时,所述方法还包括:
针对每条通信链路,确定通过该通信链路所接收到的各子数据所对应的报文头中包含的链路序列号,其中,所述子数据至少包括校验子数据;
从所对应的报文头中包含相同的链路序列号的各子数据中确定出重放攻击数据。
8.一种多链路通信装置,其特征在于,所述装置具体包括:
确定模块,用于确定目标节点,以及与目标节点之间的若干个待建立的通信链路;
请求模块,用于获取由连接建立请求以指定的方式划分出的各请求子数据,所述连接建立请求用于建立与所述目标节点之间的多链路通信;
发送模块,用于针对每个通信链路,通过该通信链路将至少一个请求子数据发送至目标节点;
验证模块,用于响应于接收到的目标节点通过各通信链路返回的各校验子数据,将所述各校验子数据聚合为校验数据,并对所述校验数据进行验证;
通信模块,用于当所述校验数据通过验证时,确定目标秘钥,并以所述目标秘钥作为通信秘钥,通过各通信链路与所述目标节点进行多链路通信;
其中,获取由连接建立请求以指定的方式划分出的各请求子数据,具体包括:
获取由通过用户数据报协议UDP进行传输的连接建立请求所划分出的各请求子数据,其中,每个请求子数据中包括连接建立请求中的部分至少数据;
针对每个请求子数据,确定该请求子数据对应的报文头,其中,所述报文头至少包括目标地址、目标节点的标识、该请求子数据的链路序列号、该请求子数据的全局序列号中的一个;
根据所对应的报文头对该请求子数据通过多径用户数据报协议MPUDP进行封装,并将封装后的请求子数据作为以指定的方式划分出的请求子数据。
9.一种多链路传输装置,其特征在于,所述装置具体包括:
响应模块,用于响应于所接收到的目标节点通过若干个通信链路所发送的由用于建立与所述目标节点之间的多链路通信的连接建立请求所划分出的各请求子数据,将各请求子数据聚合为连接建立请求;
划分模块,用于根据所述连接建立请求生成校验数据,并以指定的方式将所述校验数据划分出若干个校验子数据;
发送模块,用于通过与所述目标节点之间的若干个通信链路,将各校验子数据发送至目标节点,以使所述目标节点根据所聚合出的校验数据进行验证;
通信模块,用于当所述校验数据验证通过时,确定目标秘钥,并以所述目标秘钥作为通信秘钥,通过各通信链路与所述目标节点进行多链路通信;
其中,以指定的方式将所述校验数据划分出若干个校验子数据,具体包括:
当所述校验数据为通过用户数据报协议UDP进行传输的数据时,划分所述校验数据并得到若干个校验子数据,其中,每个校验子数据中包含至少部分校验数据;
针对每个校验子数据,确定该校验子数据对应的报文头,其中,所述报文头至少包括目标地址、目标节点的标识、链路序列号、全局序列号中的一个;
根据所对应的报文头对该校验子数据通过多径用户数据报协议MPUDP进行封装,并将封装后的校验子数据作为以指定的方式划分出的校验子数据。
10.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述权利要求1~7任一项所述的方法。
11.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现上述权利要求1~7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110864271.1A CN113645283B (zh) | 2021-07-29 | 2021-07-29 | 一种多链路通信方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110864271.1A CN113645283B (zh) | 2021-07-29 | 2021-07-29 | 一种多链路通信方法、装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113645283A CN113645283A (zh) | 2021-11-12 |
CN113645283B true CN113645283B (zh) | 2023-04-07 |
Family
ID=78418993
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110864271.1A Active CN113645283B (zh) | 2021-07-29 | 2021-07-29 | 一种多链路通信方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113645283B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115442443A (zh) * | 2022-11-03 | 2022-12-06 | 之江实验室 | 一种数据处理方法、装置、存储介质及电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112231765A (zh) * | 2020-09-25 | 2021-01-15 | 中国建设银行股份有限公司 | 一种数据传输的方法、装置、电子设备和存储介质 |
CN113079200A (zh) * | 2021-03-19 | 2021-07-06 | 北京三快在线科技有限公司 | 一种数据处理的方法、装置及系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3151504B1 (en) * | 2015-09-30 | 2018-06-06 | Tessares SA | Method and device for establishing multipath network connections |
CN105681326A (zh) * | 2016-02-26 | 2016-06-15 | 努比亚技术有限公司 | 多链路数据传输装置及方法 |
EP3459217B1 (en) * | 2016-05-16 | 2020-07-08 | Telefonaktiebolaget LM Ericsson (PUBL) | Transporting udp packets over an mptcp connection |
US10856203B2 (en) * | 2017-01-19 | 2020-12-01 | Qualcomm Incorporated | Signaling for link aggregation setup and reconfiguration |
CN112399484B (zh) * | 2020-11-13 | 2023-09-12 | Oppo广东移动通信有限公司 | 数据传输方法、装置、存储介质及电子设备 |
-
2021
- 2021-07-29 CN CN202110864271.1A patent/CN113645283B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112231765A (zh) * | 2020-09-25 | 2021-01-15 | 中国建设银行股份有限公司 | 一种数据传输的方法、装置、电子设备和存储介质 |
CN113079200A (zh) * | 2021-03-19 | 2021-07-06 | 北京三快在线科技有限公司 | 一种数据处理的方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113645283A (zh) | 2021-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108989194B (zh) | 分布式IPSec网关 | |
US10069800B2 (en) | Scalable intermediate network device leveraging SSL session ticket extension | |
EP2850776B1 (en) | Tls abbreviated session identifier protocol | |
US9306734B2 (en) | Communication device, key generating device, and computer readable medium | |
EP3633949A1 (en) | Method and system for performing ssl handshake | |
JP6505710B2 (ja) | Tlsプロトコル拡張 | |
CN107135190B (zh) | 基于传输层安全连接的数据流量归属识别方法及装置 | |
US20230080139A1 (en) | Communication method and communications apparatus | |
WO2024021414A1 (zh) | 数据传输 | |
CN115174061A (zh) | 基于区块链中继通信网络系统的消息传输方法及装置 | |
CN114500176B (zh) | 用于vpn的多流负载均衡方法、装置、系统及存储介质 | |
CN113645283B (zh) | 一种多链路通信方法、装置、存储介质及电子设备 | |
CN109905310B (zh) | 数据传输方法、装置、电子设备 | |
CN107104919B (zh) | 防火墙设备、流控制传输协议sctp报文的处理方法 | |
WO2019165330A1 (en) | System and methods for proof of network element | |
WO2024001037A1 (zh) | 一种消息传输方法、装置、电子设备和存储介质 | |
CN107343001B (zh) | 数据处理方法及装置 | |
US12015702B2 (en) | Key sharing for media frames using blockchain | |
CN107547478B (zh) | 报文传输方法、装置及系统 | |
KR102648720B1 (ko) | 동적 터널링 기반 트래픽 전송 시스템, 그리고 이의 시그널링 방법 | |
KR101730403B1 (ko) | 네트워크 경로를 관리하는 방법 및 이를 수행하는 네트워크 엔티티 | |
CN114157707B (zh) | 一种通信连接方法、装置及系统 | |
EP4124117A1 (en) | Service transmission method, communication device and storage medium | |
CN113037762A (zh) | 通信方法、装置、设备及存储介质 | |
WO2020001498A1 (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 |