APP下载

无线高时延环境下自适应信道带宽的TCP协议传输优化方法

2022-01-19潘莉丽

关键词:传输速率通告链路

李 璞,潘莉丽,丁 锐

(中国电子科技集团公司 第三十研究所,成都 610041)

0 引 言

随着无线通信网络技术的快速发展,无线通信网络已逐渐成为通信行业中的主流发展趋势.但相比有线网络,无线通信链路仍然存在着高时延、高抖动与高丢包率等诸多问题,无线通信效果,尤其是TCP协议在无线通信网络上的传输效果,仍不尽如人意.由于TCP协议本身设计时主要考虑在有线网络中的应用,因此协议本身的特征导致TCP协议在无线通信网络中的传输效果不太理想.但TCP协议能够提供可靠的端到端的传输功能,且网络中诸多应用都依赖于TCP协议传输,比如FTP、HTTP等文件或文本传输协议,而用户在无线高时延网络中使用上述网络协议进行通信时,面临着通信体验较差的问题.因此,无线网络环境下的TCP协议传输优化技术引起了科研人员广泛的关注.目前,针对TCP协议传输优化技术的研究主要涉及3个方面.

1)TCP协议优化.TCP协议优化主要针对无线链路环境特点,研究人员提出了快速启动和拥塞控制的优化算法[1-2],其中,文献[2]从路径MTU和拥塞控制算法两方面入手,提出了一种面向专网的并基于大包与快速启动的拥塞控制算法TCP_ SAI,但该算法需要对通信终端的操作系统协议栈进行修改,实现部署复杂,难以大规模推广应用.

2)TCP协议网关.TCP协议网关是指在通信的源端和目的端之间插入2个TCP协议转换网关,源端与目的端和它们各自的网关之间使用TCP协议连接,而从源端网关到目的端网关之间则采用其他私有协议[3-4].通常,这类私有协议根据空间通信的特点对TCP/IP协议进行相应地裁剪、修改和扩充,并不通用,而且在通信过程中要求将该协议进行对称部署,导致其应用不够灵活且具有一定的局限性.

3)TCP协议代理.TCP协议代理是指在不改变TCP语义的情况下,在TCP协议通信源端和目的端之间部署TCP协议代理,TCP协议代理和源端以及目的端之间仍采用标准的TCP协议.TCP协议代理的部署完全不影响现有网络的应用与配置,相比TCP协议网关方式,TCP协议代理部署方便且灵活性高[5-6].其典型做法是通过控制ACK欺骗的发送速率来控制TCP协议源端的数据发送速率[7],ACK欺骗的发送速率依赖于具体信道带宽及接收窗口大小.但在实际传输过程中,多数信道并不是专用信道,存在多个用户同时抢占信道的情况.因此,发送速率会存在较大的偏差,导致TCP协议加速效果较差.

针对上述问题,本研究提出一种能够自适应无线链路带宽的TCP协议传输优化方法,该方法综合利用了ACK欺骗、基于改进的TCP Vegas算法的动态发送控制以及通告窗口调整等方式,能够在数据传输过程中,对无线链路的可用带宽进行动态测量,从而实现数据传输速率的自适应调整.与无线通信链路上原始TCP协议传输效果相比,本方法可以有效地提升TCP协议传输的效果.

1 TCP协议传输与优化方案

1.1 问题分析

由于无线通信链路存在高时延、高抖动与高丢包率等特点,TCP协议传输应用于无线通信环境中存在如下几个问题:

1)慢启动过长.标准的TCP协议采用慢启动机制,拥塞窗口初始值设置为1个报文段,每经过一个传输轮次,即假定TCP源端都成功地接收到TCP目的端的确认,然后拥塞窗口加倍,直至达到链路能够容忍的最大拥塞窗口.

通常,一个传输轮次都需要经历一个往返时延RTT,由于无线通信链路传输时延大,这就意味着TCP源端需要经历很长的慢启动时间,才能达到链路所能承载的传输速率.而过长的慢启动时间,会导致在进行短文件传输的时候,传输时间过长,平均传输速率较低.

2)频繁启动拥塞避免机制.标准的TCP协议采用拥塞避免算法来降低链路拥塞情况的发生,当链路上出现重复ACK或者是重传时,TCP源端就认为链路发生拥塞,则会启动降低拥塞窗口,并开始进行加性增加,直至达到链路所能容忍的最大拥塞窗口.由于无线通信链路存在高丢包率的情况,每当链路出现丢包,TCP源端都会误认为链路发生拥塞.而过于频繁地启动拥塞避免机制,则会导致TCP协议传输速率下降.

3)通告窗口过小.TCP协议的理论传输速率可通过如下公式进行计算,

(1)

式中,R为TCP协议理论传输速率,W为目的端通告窗口,RTT为链路往返时延.

从式(1)可以看出,当RTT确定的情况下,R与W呈正比,W越小,R也就越小.例如,在典型的卫星通信链路下,RTT=1 400 ms,当W=64 KB时,TCP协议理论传输速率仅为0.36 Mbps.随着卫星通信技术的发展,宽带高通量卫星应用已经普及,其带宽可达8Mbps.因此,TCP协议传输速率远远小于可用的卫星信道带宽.

1.2 TCP协议传输优化方案原理

针对上述问题,本研究采用ACK欺骗、基于改进的TCP Vegas算法的动态发送控制以及通告窗口调整等方式来提升TCP协议传输的效果.

本研究提出的TCP协议传输优化方案主要应用于TCP源端和目的端之间的网络设备上,分为TCP源端代理功能和目的端代理功能,在连接TCP源端的网络设备上可部署TCP源端代理功能,在连接TCP目的端的网络设备上可部署TCP目的端代理功能,并可实现支持单端部署和对称部署2种方式,即支持单TCP协议和多TCP协议连接同时传输,并同时支持TCP协议单向应用和交互式应用.具体应用场景如图1所示.

图1 TCP协议传输优化应用场景示意图

本研究的TCP协议传输优化功能包括ACK欺骗、发送控制与通告窗口调整,其步骤是:利用ACK欺骗手段提升TCP源端数据发送速率;利用改进的TCP Vegas算法的发送控制机制实现对可用信道带宽的预测评估;利用通告窗口调整消除TCP目的端通告窗口大小对TCP传输速率的限制.具体的优化方案原理如图2所示.

图2 TCP协议传输优化方案原理示意图

1.2.1 ACK欺骗

对于TCP源端来说,在一个RTT时间段内,发送到链路上的数据量受限于源端的拥塞窗口和目的端的通告窗口大小.要提升TCP协议传输速率,首先要增加源端在一个RTT时间内发送出来的数据量,而标准的TCP协议是在收到目的端的ACK后,才能继续发送新数据到链路上.因此,TCP源端代理向源端主机发送自己构造的ACK确认信息,源端主机在收到ACK欺骗后,会认为前面的数据已经顺利到达了目的主机,便会立即发送后续数据,从而提升传输速率.

1.2.2 发送控制机制

TCP源端代理设置了控制数据包的发送窗口,源端代理将从源端主机接收到的数据进行缓存,并根据源端代理的发送窗口向链路上发送数据.发送窗口表示在某一时刻发送到无线链路中且未被目的端确认的数据总长度.发送控制根据链路实时传输反馈信息,进行发送窗口的动态调整,从而实现数据传输速率能够有效地适应实际信道带宽.本研究在发送窗口采用改进的TCP Vegas算法.

TCP Vegas算法[8]是一个基于时延变化的拥塞控制算法,其基本思路是通过比较实际吞吐量和期望吞吐量来调节拥塞窗口的大小,具体包括:

(1)期望吞吐量的计算为,

(2)

(2)实际吞吐量的计算为,

(3)

(3)差值的计算为,

diff=(Expected-Actual)×BaseRTT

(4)

式中,BaseRTT是所有观测来回响应时间的最小值,一般是建立连接后所发的第一个数据包的RTT;cwnd是目前的拥塞窗口的大小.

定义阈值a、b:当diffb,拥塞窗口缩小;当a<=diff<=b,拥塞窗口不变.通常,a=1,b=3,意味着该连接至少保留一个包在队列中.

TCP Vegas算法是完全基于RTT来对拥塞窗口进行调整,BaseRTT是TCP协议连接初始化的RTT的测量值,拥塞避免阶段所使用的RTT为所有RTT的平均值.

由于无线链路的抖动性,BaseRTT和RTT并不能准确地反映链路的实际传输情况.对此,本研究拟通过改进的TCP Vegas算法进行发送窗口的计算.改进的TCP Vegas算法主要针对BaseRTT和RTT选值进行了改进,其BaseRTT由最小值修改为所有RTT加权值,RTT的取值由平均值改为实时值,使其能够更准确地反映网络的实时状况,其计算式为,

BaseRTT=BaseRTT×m+RTT×(1-m)

(5)

式中,m为0~1的加权因子,m值越小,BaseRTT随RTT的变化越及时.此时,

(1)期望吞吐量的计算为,

(6)

(2)实际吞吐量的计算为,

(7)

(3)差值的计算为,

diff=(Expected-Actual)×BaseRTT

(8)

式中,swd为TCP源端代理的发送窗口.

同时,当diffb时,发送窗口减“1”;当a<=diff<=b,发送窗口不变.在仿真实验中,其取值为,a=1,b=3.

此外,为加快慢启动过程,改进的TCP Vegas算法中设置初始慢启动门限为64 KB.当收到重复的ACK时,立即重传数据包,可认为是链路传输误码导致的数据包丢失,发送窗口不变化,而当数据包重传超时时,则认为链路发生拥塞,此时发送窗口减半.

1.2.3 通告窗口调整

针对TCP目的端通告窗口过小而导致TCP协议传输速率较低的问题,本研究中的TCP目的端代理在获取到TCP目的端的建链报文后,可根据需要对建链报文中的窗口扩大因子选项进行优化调整.在TCP连接建链报文中,通信双方会通告自身使用的窗口扩大因子.假设TCP头部中通告窗口大小为N,窗口扩大因子为M,那么TCP报文端实际的通告窗口大小为N*(2M),M的取值为0~14,通告窗口最大约为1 GB.在典型的卫星信道环境中,当往返时延为1 400 ms时,根据式(1)计算可知,TCP协议的理论传输速率为5 714 Mbps,完全能够满足无线通信需求.对此,本研究在实验中将窗口扩大因子调整为4.

2 仿真分析

本研究利用MATLAB分析软件对所提出的TCP协议传输优化方法和标准TCP协议在传输速率方面进行了性能仿真测试.

在仿真测试中,设定链路可用带宽为2 Mbps,丢包率为10-5的无线网络环境,信道往返时延为600~1 400 ms之间.TCP源端向目的端传送大小约为100 M的文件,经过TCP协议传输优化后和对标准TCP协议的传输速率进行对比测试,结果如图3所示.

图3 专用信道环境下TCP业务传输速率

由图3仿真结果可知:随着信道往返时延的增加,标准TCP协议下的传输速率迅速下降,而经过TCP协议传输优化后的传输速率则相对保持稳定;当信道往返时延为1 400 ms时,标准TCP协议下的传输速率为342 Kbps,经过TCP协议传输优化后的传输速率为1 842 Kbps,提升了4.3倍.同时,经过TCP协议传输优化后的传输速率达到了信道带宽的92%.

为进一步验证TCP协议传输优化方法在自适应通信链路带宽方面的效果,在上述仿真测试的基础上,本研究分别在无线网络中注入背景流量,模拟可用带宽为0.5 Mbps、1.0 Mbps和1.5 Mbps的无线网络环境,然后重复进行标准TCP协议传输和TCP协议传输优化后的TCP文件传输速率对比测试,结果如图4所示.此外,当信道往返时延为1 400 ms时,标准TCP协议下的传输速率和TCP协议传输优化后的传输速率的统计数据如表1所示.

图4 共享信道环境下TCP业务传输速率

表1 共享信道环境下TCP业务传输速率统计表

由图4与表1的结果可知,随着可用信道带宽的增大,标准TCP协议下的传输速率提升并不明显,而经过TCP协议传输优化后的传输速率具有显著提升,完全能够达到可用理论信道带宽的90%以上.此也表明,本研究提出的TCP协议传输优化方法具备自适应信道带宽的功能.

3 结 论

本研究探讨了无线高时延通信环境下TCP协议传输优化方法,其基本思路是,基于协议代理的方式,利用ACK欺骗,并通过改进TCP Vegas算法的动态发送控制以及通告窗口调整等方式,实现自适应无线链路信道带宽的TCP协议传输优化方法.同时,在仿真分析中,把本研究所提方法与标准TCP协议传输进行了仿真测试.结果表明,相比于标准TCP协议传输,TCP协议传输优化方法能够有效提升无线通信链路环境下的传输速率,在时延为1 400 ms,带宽为1 Mbps的典型卫星信道环境下,其能够达到理论可用信道带宽的90%以上.此外,本研究提出的TCP协议传输优化方法支持单端部署和对称部署2种方式,支持单TCP协议和多TCP协议连接同时传输,并同时支持TCP协议单向应用和交互式应用,其使用灵活,部署方便,完全能够充分满足目前无线通信网络的通信需求.

猜你喜欢

传输速率通告链路
一种移动感知的混合FSO/RF 下行链路方案*
2021年国家级检验检测机构能力验证结果的通告
天空地一体化网络多中继链路自适应调度技术
国家药监局关于7批次药品不符合规定的通告
三星利用5G毫米波 实现创纪录传输速率
取消航行通告(NOTAMC)在航行通告(NOTAM)中的应用
夏季滨海湿地互花米草植物甲烷传输研究
一种IS?IS网络中的链路异常检测方法、系统、装置、芯片
数据传输速率
通告