一种基于MPTCP启动窗口自适应的数据传输方法、装置和介质制造方法及图纸

技术编号:23938489 阅读:55 留言:0更新日期:2020-04-25 04:05
本发明专利技术涉及一种基于MPTCP启动窗口自适应的数据传输方法,包括:数据采集步骤,抓取并拆解数据包,获取每一TCP子流的数据包信息;数据处理步骤,根据该数据包信息计算该每一TCP子流的特征值,并对该数据包信息和该特征值进行规范化处理,得到一组数据条目;神经网络训练步骤,将所述数据条目输入该神经网络,对该神经网络进行训练,得到所述启动窗口的设置策略;启动窗口的设置策略执行步骤,将所述启动窗口的设置策略作用到所述数据包上,并根据该TCP子流的分布情况自适应地修改该启动窗口的设置策略。

An adaptive data transmission method, device and media based on MPTCP startup window

【技术实现步骤摘要】
一种基于MPTCP启动窗口自适应的数据传输方法、装置和介质
本专利技术涉及计算机网络传输控制领域,特别涉及一种基于长短数据流的多路径传输控制协议(MultipathTransmissionControlProtocol:MPTCP)启动窗口优化方法和系统。
技术介绍
目前的通信设备通常都具备多个物理网络接口以传输数据。为了实现网络的容错冗余与热插拔,这些网络接口都使用不同物理实现的网络(例如:有线、WiFi、蜂窝无线)。用户的数据流首先下发到不同的网络接口,然后通过路由路径不重合的服务提供商网络进行传输。而使用传统的传输控制协议(TCP)和互联网协议(IP)的标准,用户在设备间传输数据时只能通过单个网络接口的IP地址,即只在一对源IP地址和目地IP地址间会话。为了并行的利用多个网络接口传输数据,请求注解6824(Requestforcomments6824)中首次对传统的TCP协议进行了扩展并提出MPTCP协议,以支持数据流在多条路径上的并行传输。如图1所示,MPTCP的核心原理是在传统的TCP层上,增加了一层对用户透明的外壳。这个外壳为应用层的数据增加MPTCP所需要的信号量,以完成对端协商与数据流的并行传输。MPTCP的外壳主要包含路径管理器、数据包调度器、拥塞窗口控制器、错误回退等功能。而MPTCP默认的路径管理器包括:全路径模式、多端口模式和备份模式,全路径模式能够同时利用MPTCP宿主机的多个网络接口建立多个TCP子流传输数据;多端口模式则通过松散路由的方式对与宿主机同一个局域网的多个出口网关进行多路径传输;备份模式不同于前者,将除去初始TCP子流之外的其他新增子流设置为备份子流,只有当初始TCP子流失败的时候才从备份子流中选择一个来传输数据。由于备份模式与传统的单路径TCP传输无明显差异,其对基于长短数据流的启动窗口优化方法在现有技术中已经得到充分的研究。因此本专利技术仅针对全路径和多端口的路径管理器进行重新设计。当初始TCP子流与新增TCP子流全部建立完成之后,数据包调度器通过MAP表调度数据。MPTCP默认的调度器(包括:最小往返时延优先、轮询、冗余模式)。冗余模式仅使用初始子流传输数据,其他子流作为备份,无法充分发挥MPTCP高吞吐量的特性。轮询模式不考虑子流的质量,轮流的发送数据,导致质量好的子流没有得到充分的利用。最小往返时延(MinimalRoundTripTime:Min-RTT)优先模式,通过网络质量的基础表征参数RTT来选择子流并传输数据,是目前实际场景性能最好的调度器算法。虽然现有技术中已经存在理论上性能更好的调度算法,但都停留在仿真阶段。因此,本专利技术仅在Min-RTT数据包调度器的基础上优化MPTCP的多路径传输。在数据传输开始时,拥塞窗口控制器将根据默认的启动窗口配置设置每条子流的相同的启动窗口。此外,若某条子流出现链路拥塞时,拥塞控制算法也通过窗口控制器对拥塞窗口进行调节,以缓解链路的拥塞情况。目前的拥塞控制算法主要有EWTCP、LIA、OLIA,都证实了每个子流拥有自己的拥塞窗口时才能获得更高的性能。由于,当新建立子流的数目过多时,默认统一的窗口配置方法无法满足子流间的巨大差异,将极大的降低MPTCP的性能。正因如此,MPTCP的拥塞窗口控制算法也由统一无差异的拥塞窗口调节机制,转变为分而治之差异化的拥塞窗口调节机制。与此同时,当前测量工作,显示TCP数据流的流量分布情况符合幂律分布,即占据TCP流总数80%的蚂蚁流,只传输总数据流量的20%,大部分TCP连接传输的数据量十分小,比如HTTP传输建立了很多TCP流,但传输的数据量却很小。占据TCP流总数20%的大象流,传输了总数据流量的80%,即大量的数据传输只发生在少量的TCP连接上,比如FTP大文件传输和视频流传输等。“在无线网络中的多路径传输协议的性能测量”(CHEN,Yung-Chih,etal.Ameasurement-basedstudyofmultipathtcpperformanceoverwirelessnetworks.In:Proceedingsofthe2013conferenceonInternetmeasurementconference.ACM,2013.p.455-468.)发现对于蚂蚁流,MPTCP的平均往返时延(RTT)反而高于单路径的TCP传输,平均吞吐量反而低于单路径TCP。由于当应用层数据流不总是承载大象流业务时,MPTCP现有的慢启动窗口无法长度自适应业务的变化。具体的,当应用层数据流长时间为蚂蚁流,假设MPTCP的慢启动窗口设置为10MSS(过大),每个MSS大小为1500Bytes。那么每个TCP子流要传输15KB的数据才渡过慢启动阶段,对于128KB大小的蚂蚁流,MPTCP的路径管理器在初始的TCP子流传输完128KB之后,其新增的第二条TCP子流的四次握手仍然未完成。同样的,对于大部分蚂蚁流,整个数据流在初始TCP子流已经传输结束之前,新增的TCP子流要么处于握手状态,要么未渡过慢启动状态。同时,由于蚂蚁流要传输的数据包数目少,默认的数据包调度器会根据发送窗口的数目分配数据包,导致分配到MPTCP每条TCP子流的数据包过少,当出现数据丢包的时,很可能由于无法收到3次重复的ACK进行快速恢复,而造成大量的尾部重传。当应用层数据流长时间为大象流时,MPTCP建立的多条TCP子流能够并行的利用多个网络接口传输数据从而进行吞吐量聚合,假设MPTCP的启动窗口设置为2MSS(过小),使得经过四次握手建立的新子流,需要再经过2个RTT窗口才能达到10MSS。由于每条子流无法快速提升数据发送速率,MPTCP没有快速的利用所有子流接口的传输能力,使得大象流的传输吞吐量需要等待较长的时间才能提升。因此,对于不同类型的数据流,需要对MPTCP子流的启动窗口进行长度自适应调整以满足不同大小的数据流的传输特性。由于TCP的流量分布特性是基于大规模数据流的测量统计得出的,而对于每条子流启动窗口的调整则是离散的决策结果。因此,传统的启发式方法不能从大量历史的启动窗口配置知识中,获得新的启动窗口决策知识。“减少web的时延通过增强学习算法动态设置TCP的初始拥塞窗口”(NIE,Xiaohui,etal.Reducingweblatencythroughdynamicallysettingtcpinitialwindowwithreinforcementlearning.In:2018IEEE/ACM26thInternationalSymposiumonQualityofService(IWQoS).IEEE,2018.p.1-10.)首创了增强学习的方法在服务器端调整单路径的TCP启动窗口,并根据不同TCP数据流的源地址的服务提供商、地理位置、IP网段等信息,来训练和调整启动窗口的大小,使得数据流平均的传输时延减少23%-29%。本专利技术考虑到MPTCP的多条TCP子流启动窗口是独立性,而数据流长度差异,使得对MPTCP子流统一的设置启动窗口无法发挥多条子流的优势。由于传统的TCP不像MPTCP有多条子流需要协调,而且本文档来自技高网...

【技术保护点】
1.一种MPTCP启动窗口自适应的数据传输方法,其特征在于,包括:/n数据采集步骤,抓取并拆解数据包,获取每一TCP子流的数据包信息;/n数据处理步骤,根据该数据包信息计算该每一TCP子流的特征值,并对该数据包信息和该特征值进行规范化处理,得到一组数据条目;/n神经网络训练步骤,将所述数据条目输入该神经网络,对该神经网络进行训练,得到所述启动窗口的设置策略;/n启动窗口的设置策略执行步骤,将所述启动窗口的设置策略作用到所述数据包上,并根据该TCP子流的分布情况自适应地修改该启动窗口的设置策略,获得该启动窗口的最优设置策略。/n

【技术特征摘要】
1.一种MPTCP启动窗口自适应的数据传输方法,其特征在于,包括:
数据采集步骤,抓取并拆解数据包,获取每一TCP子流的数据包信息;
数据处理步骤,根据该数据包信息计算该每一TCP子流的特征值,并对该数据包信息和该特征值进行规范化处理,得到一组数据条目;
神经网络训练步骤,将所述数据条目输入该神经网络,对该神经网络进行训练,得到所述启动窗口的设置策略;
启动窗口的设置策略执行步骤,将所述启动窗口的设置策略作用到所述数据包上,并根据该TCP子流的分布情况自适应地修改该启动窗口的设置策略,获得该启动窗口的最优设置策略。


2.根据权利要求1所述的数据传输方法,其特征在于,所述数据包信息包括该TCP子流的四元组、发送窗口、接收窗口、时间戳;所述特征值包括该TCP子流的吞吐量T、时延L。


3.根据权利要求1所述的数据传输方法,其特征在于,所述数据条目包括:
该每一TCP子流的状态S,该状态S包括IP前缀相同的一类服务的TCP子流的所述四元组信息;
一动作空间a,该动作空间为所述状态S的所述启动窗口;以及
一平均反馈值r,该平均反馈值r通过所述特征值定义得到。


4.根据权利要求1所述的数据传输方法,其特征在于,所述数据采集步骤还包括:
S110,初始化一池化驱动,对CPU的核心和线程进行配置或绑定,设置一大页内存,并创建多个线程;
S120,通过该池化驱动的轮询模式驱动程序,使用零拷贝技术抓取TCP子流。


5.根据权利要求4所述的数据传输方法,其特征在于,所述多个线程均绑定到独立的物理核,该每一线程对应独立的免锁队列。


6.根据权利要求1所述的数据传输方法,其特征在于,所述数据处理步骤还包括:
S210,对所述每一TCP数据流的地址进行分类,将相同服务类型的所述TCP子流的所述四元组规范化为同一种所述状态S,并对该同一种所述状态S设置相同的动作空间a,其中a为正整数;
S220,根据所述时间戳、所述发送窗口和所述接收窗口的大小变化计算所述吞吐量T与所述时延L;
S230,将所述吞吐量T与所述时延L的数值均标准化到[-1,1];
S240,根据所述吞吐量T与所述时延L以及该二者的指数加权平均参数α定义所述平均反馈值r=T*α+L*(1-α);
S250,计算所述每一TCP子流的加权平均反馈值E[∑γ*r],其中,γ∈(0,1]。


7.根据权利要求6所述的数据传输方法,其特征在于,所述指数加权平均参数α用于区分所述吞吐量T与所述时延L对数据传输的重要性。


8.根据权利要求1或6所述的数据传输方法,其特征在于,所述数据处理...

【专利技术属性】
技术研发人员:廖彬彬武庆华张广兴李振宇谢高岗王德志
申请(专利权)人:中国科学院计算技术研究所
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1