数据传输方法、装置、计算设备及介质与流程

文档序号:30509473发布日期:2022-06-25 01:27阅读:86来源:国知局
数据传输方法、装置、计算设备及介质与流程

1.本说明书一个或多个实施例涉及通信技术领域,尤其涉及一种数据传输方法、装置、计算设备及介质。


背景技术:

2.多路径传输控制协议(multi path transmission control protocol,mptcp)作为一种多路径传输技术,允许在一条传输控制协议(transmission control protocol,tcp)链路中建立多条传输路径,使得在tcp链路所连接的两个通信主机之间进行数据传输时,可以从多条传输路径中选择一条来实现数据传输,从而可以充分利用网络中的冗余链路资源,提升网络传输的效率和稳定性。
3.相关技术中,在从多个传输路径中选择进行数据传输的传输路径时,往往是通过负载均衡算法,根据待传输数据的五元组的哈希值,将待传输数据均匀地分散到权重相等的传输路径中。
4.但是,在上述实现过程中,对于一些对网络质量要求较高的数据包,这类数据包很有可能被调度到质量较差的传输路径中进行传输,从而导致数据传输效率较低。


技术实现要素:

5.有鉴于此,本说明书一个或多个实施例提供一种数据传输方法、装置、计算设备及介质。
6.为实现上述目的,本说明书一个或多个实施例提供技术方案如下:
7.根据本说明书一个或多个实施例的第一方面,提出了一种数据传输方法,该方法包括:
8.接收待传输数据的目标数据包;
9.基于目标数据包所携带的传输标识信息,获取待传输数据的服务质量qos信息,传输标识信息基于目标数据包的五元组信息确定,或,传输标识信息基于用于传输目标数据包的多路径传输协议mptcp连接确定;
10.从mptcp连接所包括的多条传输路径中,确定满足qos信息的目标传输路径;
11.通过目标传输路径,对待传输数据进行传输。
12.在一些实施例中,传输标识信息为目标数据包的五元组信息所包括的端口号,或,传输标识信息为基于mptcp连接所获取到的令牌;
13.基于目标数据包所携带的传输标识信息,获取待传输数据的服务质量qos信息,包括下述任一项:
14.在目标数据包为mptcp连接的主流建连数据包的情况下,基于目标数据包所携带的端口号,获取待传输数据的qos信息;
15.在目标数据包不是mptcp连接的主流建连数据包的情况下,基于目标数据包所携带的令牌,获取待传输数据的qos信息。
16.在一些实施例中,在目标数据包为mptcp连接的主流建连数据包的情况下,基于目标数据包所携带的端口号,获取待传输数据的qos信息之后,该方法还包括:
17.对应存储目标数据包所携带的端口号、令牌和基于端口号所获取到的qos信息。
18.在一些实施例中,在目标数据包不是mptcp连接的主流建连数据包的情况下,基于目标数据包所携带的令牌,获取待传输数据的qos信息之后,该方法还包括:
19.在qos信息得到满足的情况下,终止mptcp连接。
20.在一些实施例中,在目标数据包不是mptcp连接的主流建连数据包的情况下,基于目标数据包所携带的令牌,获取待传输数据的qos信息之前,该方法还包括:
21.响应于获取到mptcp连接的主流建连数据包,对应存储主流建连数据包所携带的端口号、令牌和基于主流建连数据包的端口号所获取到的qos信息。
22.在一些实施例中,接收待传输数据的目标数据包之后,该方法还包括:
23.在目标数据包为目标类型的数据包的情况下,从目标数据包的目标字段中获取标识信息,标识信息用于指示待传输数据的发送设备是否支持mptcp连接;
24.在从目标数据包的目标字段中获取到标识信息的情况下,基于目标数据包所携带的传输标识信息,获取待传输数据的服务质量qos信息。
25.在一些实施例中,从mptcp连接所包括的多条传输路径中,确定满足qos信息的目标传输路径,包括:
26.获取mptcp连接所包括的多条传输路径的带宽和/或时延;
27.从多条传输路径中,确定带宽和/或时延满足qos信息的目标传输路径。
28.在一些实施例中,通过目标传输路径,对待传输数据进行传输,包括:
29.基于目标传输路径生成openflow流表;
30.将openflow流表下发给目标设备,目标设备用于基于openflow流表对待传输数据进行传输。
31.在一些实施例中,该方法还包括:
32.在目标传输路径由多个通道组成,且目标传输路径中任一通道的数据传输完成的情况下,对待传输数据的qos信息进行更新。
33.在一些实施例中,该方法还包括:
34.预先存储各个应用的qos信息,以基于目标数据包的五元组信息所确定出的传输标识信息,确定待传输数据的qos信息。
35.在一些实施例中,目标数据包为数据首包。
36.根据本说明书一个或多个实施例的第二方面,提出了一种数据传输装置,该装置包括:
37.接收单元,用于接收待传输数据的目标数据包;
38.获取单元,用于基于目标数据包所携带的传输标识信息,获取待传输数据的服务质量qos信息,传输标识信息基于目标数据包的五元组信息确定,或,传输标识信息基于用于传输目标数据包的多路径传输协议mptcp连接确定;
39.确定单元,用于从mptcp连接所包括的多条传输路径中,确定满足qos信息的目标传输路径;
40.传输单元,用于通过目标传输路径,对待传输数据进行传输。
41.在一些实施例中,传输标识信息为目标数据包的五元组信息所包括的端口号,或,传输标识信息为基于mptcp连接所获取到的令牌;
42.获取单元,在用于基于目标数据包所携带的传输标识信息,获取待传输数据的服务质量qos信息时,用于下述任一项:
43.在目标数据包为mptcp连接的主流建连数据包的情况下,基于目标数据包所携带的端口号,获取待传输数据的qos信息;
44.在目标数据包不是mptcp连接的主流建连数据包的情况下,基于目标数据包所携带的令牌,获取待传输数据的qos信息。
45.在一些实施例中,该装置还包括:
46.第一存储单元,用于对应存储目标数据包所携带的端口号、令牌和基于端口号所获取到的qos信息。
47.在一些实施例中,该装置还包括:
48.终止单元,用于在qos信息得到满足的情况下,终止mptcp连接。
49.在一些实施例中,该装置还包括:
50.第二存储单元,用于响应于获取到mptcp连接的主流建连数据包,对应存储主流建连数据包所携带的端口号、令牌和基于主流建连数据包的端口号所获取到的qos信息。
51.在一些实施例中,获取单元,还用于在目标数据包为目标类型的数据包的情况下,从目标数据包的目标字段中获取标识信息,标识信息用于指示待传输数据的发送设备是否支持mptcp连接;
52.获取单元,还用于在从目标数据包的目标字段中获取到标识信息的情况下,基于目标数据包所携带的传输标识信息,获取待传输数据的服务质量qos信息。
53.在一些实施例中,确定单元,在用于从mptcp连接所包括的多条传输路径中,确定满足qos信息的目标传输路径时,用于:
54.获取mptcp连接所包括的多条传输路径的带宽和/或时延;
55.从多条传输路径中,确定带宽和/或时延满足qos信息的目标传输路径。
56.在一些实施例中,传输单元,在用于通过目标传输路径,对待传输数据进行传输时,用于:
57.基于目标传输路径生成openflow流表;
58.将openflow流表下发给目标设备,目标设备用于基于openflow流表对待传输数据进行传输。
59.在一些实施例中,该装置还包括:
60.更新单元,用于在目标传输路径由多个通道组成,且目标传输路径中任一通道的数据传输完成的情况下,对待传输数据的qos信息进行更新。
61.在一些实施例中,该装置还包括:
62.第三存储单元,用于预先存储各个应用的qos信息,以基于目标数据包的五元组信息所确定出的传输标识信息,确定待传输数据的qos信息。
63.在一些实施例中,目标数据包为数据首包。
64.根据本说明书一个或多个实施例的第三方面,提出了一种计算设备,该计算设备包括:
65.处理器;
66.用于存储处理器可执行指令的存储器;
67.其中,处理器通过运行可执行指令以实现上述第一方面以及第一方面中任一实施例所提供的数据传输方法所执行的操作。
68.根据本说明书一个或多个实施例的第四方面,提出了一种计算机可读存储介质,其上存储有计算机指令,指令被处理器执行时实现上述第一方面以及第一方面中任一实施例所提供的数据传输方法所执行的操作。
69.根据本说明书一个或多个实施例的第五方面,提出了一种计算机程序产品,包括计算机程序,程序被处理器执行时实现上述第一方面以及第一方面中任一实施例所提供的数据传输方法所执行的操作。
70.本技术通过在接收到待传输数据的目标数据包的情况下,基于目标数据包所携带的传输标识信息,获取用于指示待传输数据的传输需求的qos信息,从而根据所获取到的qos信息,从mptcp连接所包括的多条传输路径中,确定满足所获取到qos信息的目标传输路径,以保证目标传输路径可以满足待传输数据的传输需求,进而通过目标传输路径,来对待传输数据进行传输,以提高待传输数据的数据传输效率。
附图说明
71.图1是一示例性实施例提供的一种数据传输系统的架构图。
72.图2是一示例性实施例提供的一种数据传输方法的流程图。
73.图3是一示例性实施例提供的一种传输过程示意图。
74.图4是一示例性实施例提供的一种数据传输方法的流程图。
75.图5是一示例性实施例提供的一种数据传输装置的框图。
76.图6是一示例性实施例提供的一种计算设备的示意结构图。
具体实施方式
77.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
78.需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
79.本技术提供了一种数据传输方法,该数据传输方法可以由计算机设备执行,计算机设备可以为服务器,如一台服务器、多台服务器、云计算平台等,或者,计算机设备可以为终端设备,如台式计算机、便携式计算机、智能手机、平板电脑等,或者,计算机设备可以为路由器,可选地,计算机设备还可以为其他类型的设备,本技术对计算机设备的设备类型不
加以限定。
80.其中,计算机设备可以作为发送端设备(也即是待传输数据的发送设备),发送端设备可以通过三次握手过程,与接收端设备(也即是待传输数据的接收设备)建立连接,在所建立的连接为mptcp连接的情况下,可以从mptcp连接所包括的多条传输路径中,确定出用于传输待传输数据的目标传输路径,从而通过所确定出的目标传输路径来对待传输数据进行传输,从而保证所确定出的目标传输路径可以保证待传输数据的qos需求,进而保证待传输数据的传输效率。可选地,接收端设备也可以为计算机设备,如服务器、终端设备、路由器等。
81.在通过三次握手过程实现连接的建立时,发送端设备可以向接收端设备发送同步序列编号(synchronize sequence numbers,syn)数据包,syn数据包可以作为建立连接时所使用的握手信号,以便通过syn数据包,请求在发送端设备和接收端设备之间建立连接。接收端设备响应于接收到syn数据包,向发送端设备返回确认字符(acknowledge character,ack)数据包,发送端设备响应于接收到ack数据包,向接收端设备返回ack数据包,至此,通过三次握手过程完成了连接的建立,从而即可通过所建立的连接来进行待传输数据的传输。
82.需要说明的是,上述数据传输方法可以应用在能够建立mptcp连接的多种场景中,本技术对该数据传输方法的具体应用场景不加以限定。
83.上述数据传输方法可以应用在如图1所示的系统中,参见图1,图1是一示例性实施例提供的一种数据传输系统的架构图,该数据传输系统由位于控制面、协议层和转发面的三部分组成,位于控制面的部分包括网络测量模块、路由计算模块、qos管理模块和流表下发模块,协议层采用openflow协议和mptcp协议,而位于转发面的部分包括至少一个目标设备,目标设备可以为虚拟交换机(virtual switch,vsw)。
84.通过本技术所提供的数据传输方法,即可通过位于控制面的网络测量模块、路由计算模块、qos管理模块和流表下发模块,即可确定出满足待传输数据的传输需求的传输路径,并将传输路径以流表的形式下发到转发面,从而通过位于转发面的目标设备实现待传输数据的传输。
85.其中,qos管理模块用于维护各个应用所需的qos信息;网络测量模块用于对物理网络的路径、带宽、时延等信息进行测量;路由计算模块用于基于网络测量得到的结果,进行路径计算以满足应用流量的qos需求;流表下发模块用于将路径计算模块的输出结果转换成openflow流表下发到位于转发面的目标设备。
86.上述仅为对本技术的应用场景和系统架构的介绍,下面对本技术的实施方式进行介绍。
87.参见图2,图2是一示例性实施例提供的一种数据传输方法的流程图,该方法包括:
88.步骤201、接收待传输数据的目标数据包。
89.步骤202、基于目标数据包所携带的传输标识信息,获取待传输数据的服务质量qos信息,传输标识信息基于目标数据包的五元组信息确定,或,传输标识信息基于用于传输目标数据包的多路径传输协议mptcp连接确定。
90.步骤203、从mptcp连接所包括的多条传输路径中,确定满足qos信息的目标传输路径。
91.步骤204、通过目标传输路径,对待传输数据进行传输。
92.本技术通过在接收到待传输数据的目标数据包的情况下,基于目标数据包所携带的传输标识信息,获取用于指示待传输数据的传输需求的qos信息,从而根据所获取到的qos信息,从mptcp连接所包括的多条传输路径中,确定满足所获取到qos信息的目标传输路径,以保证目标传输路径可以满足待传输数据的传输需求,进而通过目标传输路径,来对待传输数据进行传输,以提高待传输数据的数据传输效率。
93.上述为对本技术的基本实现过程的介绍,下面对本技术的多个可选实现方式进行介绍。
94.在还未建立连接的初始状态下,计算机设备还无法确定如何对待传输数据进行传输,因而,在一些实施例中,在获取到待传输数据的目标数据包之后,基于目标数据包所携带的传输标识信息,获取待传输数据的qos信息之前,可以确定待传输数据的目标数据包是哪种连接对应的握手建连数据包,以确定发送端设备和接收端设备之间所采用的连接方式是否为mptcp连接。
95.在一种可能的实现方式中,在目标数据包为目标类型的数据包的情况下,可以从目标数据包的目标字段中获取标识信息,标识信息用于指示待传输数据的发送设备(也即是发送端设备)是否支持mptcp连接,以确定目标数据包是否为mptcp建连握手数据包。
96.需要说明的是,目标类型的数据包为tcp syn数据包,也即是,在目标数据包为tcp syn数据包的情况下,可以从目标数据包的目标字段中获取标识,在从目标数据包的目标字段中获取到标识信息的情况下,即可确定目标数据包为mptcp建连握手数据包。
97.其中,目标字段可以为tcp选项(option)字段,tcp option字段可以用于承载标识信息,该标识信息可以为mp_capable字段,在tcp option字段中包括mp_capable字段的情况下,即可确定发送端设备支持mptcp连接。
98.在一种可能的实现方式中,在确定目标数据包是否为mptcp建连握手数据包时,可以将待传输数据的目标数据包送入软件定义网络(software defined network,sdn)控制器,通过sdn控制器对目标数据包进行解析,以便通过对目标数据包的解析,来从目标数据包的目标字段中获取标识信息,从而确定目标数据包否为mptcp建连握手数据包。
99.需要说明的是,在确定出目标数据包为mptcp建连握手数据包,也即是,可以从目标数据包的目标字段(也即是tcp option字段)中获取到标识信息(也即是mp_capable字段)的情况下,即可执行步骤202,以基于目标数据包所携带的传输标识信息,获取待传输数据的qos信息。
100.进一步地,在确定出目标数据包为mptcp建连握手数据包的情况下,可以确定目标数据包是主流建连数据包还是子流建连数据包,也即是,确定通过目标数据包所建立的连接是mptcp连接的主流连接,还是mptcp的子流连接,从而根据所确定出的结果,采用相应的处理方式来实现qos信息的获取。
101.其中,mptcp的主流连接也即是发送端设备和接收端设备在mptcp连接下所建立的第一条连接,而发送端设备和接收端设备在mptcp连接下所建立的、除第一条连接外的其他连接,均可以称为mptcp的子流连接。
102.在一些实施例中,传输标识信息可以为目标数据包的五元组信息所包括的端口号,或者,传输标识信息还可以为基于mptcp连接所获取到的令牌,基于此,对于步骤202,在
基于目标数据包所携带的传输标识信息,获取待传输数据的qos信息时,可以包括如下任一种实现方式:
103.在一种可能的实现方式中,在目标数据包为mptcp连接的主流建连数据包的情况下,基于目标数据包所携带的端口号,获取待传输数据的qos信息。
104.需要说明的是,可以预先对各个应用的qos信息进行存储,可选地,可以通过qos管理模块对各个应用的qos信息进行存储。
105.以应用a为例,在应用a所对应的待传输数据需要使用80端口进行传输,且至少需要5兆(m)带宽才能满足传输需求的情况下,可以在计算机设备中存储应用a的qos信息,也即是,需要80端口和5m带宽,从而使得后续在获取到应用a对应的待传输数据时,可以基于待传输数据的五元组信息(也即是目标数据包的五元组信息)所确定出的传输标识信息,来确定待传输数据的qos信息。
106.例如,可以基于待传输数据的五元组信息所包括的端口号,确定待传输数据对应的应用,进而将所确定出的应用的qos信息,作为待传输数据的qos信息。
107.另外,mptcp在建连阶段可以生成一个令牌(token)来标识这条所建立的连接,并可以在tcp option中传递该令牌,后续mptcp的子流在建连时也可以携带该令牌,以便该令牌可以表示mptcp连接的主流连接和子流连接。同一个mptcp连接的主流连接和子流连接所使用的端口号可以不同,同一个mptcp连接的不同子流连接所使用的端口号也可以不同,也即是,一个端口号对应于一个令牌,而一个令牌可以对应于多个端口号。
108.因而,在目标数据包为mptcp连接的主流建连数据包的情况下,即可将用于标识mptcp的主流连接的令牌,作为目标数据包的令牌,从而对应存储目标数据包所携带的端口号、令牌和基于端口号所获取到的qos信息。
109.可选地,在对应存储目标数据包所携带的端口号、令牌和基于端口号所获取到的qos信息时,可以基于《token,《五元组,qos》》的存储结构,来实现目标数据包所携带的端口号、令牌和基于端口号所获取到的qos信息的对应存储。
110.通过对目标数据包所携带的端口号、令牌和基于端口号所获取到的qos信息对应进行存储,以便后续在通过子流连接在发送端设备和接收端设备之间进行数据传输时,可以直接基于作为子流连接对应的令牌,获取到通过子流连接传输的数据的qos信息。
111.此外,还可以建立一个qos信息表,从而通过qos信息表,来对各个待传输数据的目标数据包的端口号、令牌和qos信息进行对应存储。通过建立qos信息表,可以方便计算机设备对多个待传输数据的目标数据包的端口号、令牌和qos信息进行管理。
112.在另一种可能的实现方式中,在目标数据包不是mptcp连接的主流建连数据包的情况下,也即是,在目标数据包为mptcp连接的子流建连数据包的情况下,基于目标数据包的令牌,获取待传输数据的qos信息。
113.需要说明的是,由于子流连接所使用的tcp端口与主流连接所使用的端口可能不同,此时如果仍然通过端口号来进行qos信息的获取,可能导致无法基于作为子流建连数据包的目标数据包的端口号获取到待传输数据的qos信息,或者,无法获取到准确的qos信息。
114.在一些实施例中,在目标数据包不是mptcp连接的主流建连数据包的情况下,基于目标数据包的令牌,获取待传输数据的qos信息之前,可以响应于获取到mptcp连接的主流建连数据包,对应存储主流建连数据包所携带的端口号、令牌和基于主流建连数据包的端
口号所获取到的qos信息。
115.通过上述过程,可以在获取到mptcp的主流建连数据包时,对主流建连数据包的端口号、令牌和qos信息进行对应存储,而子流连接的令牌可以沿用主流连接的令牌,因而,在获取作为子流建连数据包的目标数据包的qos信息时,可以直接基于子流建连数据包的令牌,来进行qos信息的获取。
116.上述过程介绍了获取作为主流建连数据包的目标数据包的qos信息,以及作为子流建连数据包的目标数据包的qos信息的过程,后续即可基于所获取到的qos信息,来进行传输路径的选择,下面分别对两种情况下的路径选择过程进行说明。
117.首先,在获取到作为主流建连数据包的目标数据包的qos信息后,即可通过步骤203,从mptcp连接所包括的多条传输路径中,确定满足qos信息的目标传输路径。
118.在一种可能的实现方式中,可以获取mptcp连接所包括的多条传输路径的带宽和/或时延,进而根据所获取到的带宽和/或时延,从多条传输路径中,确定带宽和/或时延满足qos信息的目标传输路径。
119.其中,在获取任一条传输路径的带宽和/或时延时,可以由发送端设备通过这条传输路径向接收端设备发送测试数据包,以便接收端设备可以根据接收到的数据包,确定这条传输路径的带宽和/或时延。可选地,可以通过网络测量模块实现任一条传输路径的带宽和/或时延的获取。
120.在从多条传输路径中,确定带宽和/或时延满足qos信息的目标传输路径时,可以通过深度优先搜索(depth first search,dfs)算法,确定mptcp连接中的多条可选传输路径,并根据各条传输路径的带宽和/或时延,确定带宽和/或时延满足qos信息的目标传输路径。
121.可选地,可以通过路由计算模块来实现目标传输路径的确定。另外,上述仅为确定目标传输路径的一种示例性方式,在更多可能的实现方式中,还可以采用其他方式来实现目标传输路径的确定,本技术对具体采用哪种方式不加以限定。
122.例如,参见图3,图3是一示例性实施例提供的一种传输过程示意图,如图3所示,发送端设备和接收端设备之间包括s1-》s2-》s4、s1-》s3-》s4这两条传输路径,在待传输数据的qos信息指示待传输数据需要5m带宽的情况下,仅有传输路径s1-》s3-》s4可以满足待传输数据的qos信息,因而可以将传输路径s1-》s2-》s4作为目标传输路径。
123.上述为对获取到作为主流建连数据包的目标数据包的qos信息后的路径选择过程的介绍,下面对获取到作为子流建连数据包的目标数据包的qos信息后的路径选择过程进行介绍。
124.在获取到作为子流建连数据的目标数据包的qos信息后,可以先判断待传输数据的qos信息是否已经得到保障,在待传输数据的qos信息尚未得到满足的情况下,可以通过与上述过程同理的方式,来从多条传输路径中,确定带宽和/或时延满足qos信息的目标传输路径;而在待传输数据的qos信息已经得到满足的情况下,可以终止mptcp连接。
125.其中,在终止mptcp连接时,可以由发送端设备向接收端设备发送syn重置(reset)指令,从而通过syn reset指令,来终止发送端设备与接收端设备之间的mptcp连接。
126.需要说明的是,上述实施例中所涉及的目标数据包可以为数据首包。
127.在一些实施例中,对于步骤204,在通过目标传输路径,对待传输数据进行传输时,
可以通过如下方式实现:
128.在确定出目标传输路径后,基于目标传输路径生成openflow流表,进而将openflow流表下发给目标设备,以便目标设备可以基于openflow流表对待传输数据进行传输。
129.可选地,可以通过流表下发模块实现openflow流表的生成及下发。
130.其中,所生成的openflow流表的匹配域对应于待传输数据的五元组信息。目标设备可以为位于数据链路层的交换机,如虚拟交换机。
131.在一些实施例中,在目标传输路径由多个通道组成,且目标传输路径中任一通道的数据传输完成的情况下,对待传输数据的qos信息进行更新。
132.仍以图3所示的传输过程为例,图3中s1-》s2-》s4即为目标传输路径,其中,s1-》s2和s2-》s4即为组成目标传输路径的两个通道,s1-》s2为主流连接,s2-》s4为子流连接,在通过通道s1-》s2完成待传输数据中部分数据的传输的情况下,可以将待传输数据的qos信息更新为需要2m带宽。
133.上述各个实施例所提供的数据传输过程可以参见图4,图4是一示例性实施例提供的一种数据传输方法的流程图,以目标数据包为数据首包为例,在获取到待传输数据后,将待传输数据的数据首包送入sdn控制器,以确定数据首包是否为mptcp主流建连数据包,在数据首包为mptcp主流建连数据包的情况下,对应存储端口号、token以及qos信息,以实现对端口号、token以及qos信息三者映射关系的保存,从而可以基于当前端口号获取对应的qos信息,并基于获取到的qos信息确定用于传输待传输数据的目标传输路径,进而基于所确定出的目标传输路径向虚拟交换机下发openflow流表,以便虚拟交换机可以基于openflow流表来对待传输数据进行传输,每传输完一部分数据,即可更新待传输数据的qos信息,从而基于更新后的qos信息继续对剩余数据进行传输。而在数据首包不是mptcp主流建连数据包的情况下,可以直接根据数据包token获取qos信息,进而判断qos信息是否已经得到满足,在qos信息尚未得到满足的情况下,可以基于qos信息进行目标传输路径的确定,进而通过目标传输路径来进行数据传输;而在qos信息已经得到满足的情况下,构建syn reset数据包以终止tcp连接。
134.上述仅为关于本技术的流程性介绍,具体实现方式可以参见上述各个实施例,此处不再赘述。
135.为便于理解,下面基于图3所示的网络环境,对一个完整的数据传输过程进行说明。仍以待传输数据为应用a对应的数据为例,待传输数据的qos信息为需要80端口和5m带宽,通过基于qos信息,即可确定出用于传输待传输数据的目标传输路径为s1-》s2-》s4,因而,可以先通过主流连接s1-》s2来对待传输数据进行传输,当前主流路径已经能够提供3m带宽,因而可以将待传输数据的qos信息更新为需要2m带宽,后续即可通过子流连接来对待传输数据继续进行传输。在创建子流连接时,子流使用的tcp端口号与主流不一致,可以将待传输数据的数据首包(也即是子流建连数据包)再次送入sdn控制器,子流建连数据包可以在tcp option中添加mp_join标志位,同时携带主流的token,从而即可根据token获取已存储的qos信息,例如某应用需要5m带宽,此时主流连接已提供3m带宽,则子流还需提供2m带宽才能满足应用需求,此时路径选择问题即可转化为在当前网络下寻找带宽》=2m的传输路径,也即是s2-》s4。
136.需要说明的是,在确定出子流传输路径后,可以基于所确定出的子流传输路径生成openflow流表,从而将所生成的openflow流表下发给目标设备,以便目标设备可以基于openflow流表对子流数据继续进行传输。其中,基于子流传输路径所生成的openflow流表的匹配域对应的是子流数据包的五元组信息。
137.在通过s2-》s4完成子流数据的传输后,mptcp会再次尝试创建子流,数据包再次进入sdn控制器,此时应用qos需求已经得到满足,则sdn控制器直接构造syn reset数据包,终止当前子流的建立,通过上述过程,最终如图3所示的网络环境中会存在一个mptcp连接,其对应两条tcp子流。
138.与前述方法的实施例相对应,本说明书还提供了装置及其所应用的计算设备的实施例。
139.参见图5,图5是一示例性实施例提供的一种数据传输装置的框图,该装置包括:
140.接收单元501,用于接收待传输数据的目标数据包;
141.获取单元502,用于基于目标数据包所携带的传输标识信息,获取待传输数据的服务质量qos信息,传输标识信息基于目标数据包的五元组信息确定,或,传输标识信息基于用于传输目标数据包的多路径传输协议mptcp连接确定;
142.确定单元503,用于从mptcp连接所包括的多条传输路径中,确定满足qos信息的目标传输路径;
143.传输单元504,用于通过目标传输路径,对待传输数据进行传输。
144.在一些实施例中,传输标识信息为目标数据包的五元组信息所包括的端口号,或,传输标识信息为基于mptcp连接所获取到的令牌;
145.获取单元502,在用于基于目标数据包所携带的传输标识信息,获取待传输数据的服务质量qos信息时,用于下述任一项:
146.在目标数据包为mptcp连接的主流建连数据包的情况下,基于目标数据包所携带的端口号,获取待传输数据的qos信息;
147.在目标数据包不是mptcp连接的主流建连数据包的情况下,基于目标数据包所携带的令牌,获取待传输数据的qos信息。
148.在一些实施例中,该装置还包括:
149.第一存储单元,用于对应存储目标数据包所携带的端口号、令牌和基于端口号所获取到的qos信息。
150.在一些实施例中,该装置还包括:
151.终止单元,用于在qos信息得到满足的情况下,终止mptcp连接。
152.在一些实施例中,该装置还包括:
153.第二存储单元,用于响应于获取到mptcp连接的主流建连数据包,对应存储主流建连数据包所携带的端口号、令牌和基于主流建连数据包的端口号所获取到的qos信息。
154.在一些实施例中,获取单元502,还用于在目标数据包为目标类型的数据包的情况下,从目标数据包的目标字段中获取标识信息,标识信息用于指示待传输数据的发送设备是否支持mptcp连接;
155.获取单元502,还用于在从目标数据包的目标字段中获取到标识信息的情况下,基于目标数据包所携带的传输标识信息,获取待传输数据的服务质量qos信息。
access memory,ram)和/或非易失性内存等形式,如只读存储器(read-only memory,rom)或闪存(flash ram)。内存是计算机可读介质的示例。
173.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(phase-change random access memory,pram)、静态随机存取存储器(static random-access memory,sram)、动态随机存取存储器(dynamic random access memory,dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(electrically erasable programmable read only memory,eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(compact disc read only memory,cd-rom)、数字多功能光盘(digital video disc,dvd)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
174.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
175.上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
176.在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
177.应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
178.以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1