基于802.11环境的TCP协议改进研究
2017-10-18赵陇
赵陇
(淮安信息职业技术学院,淮安 223003)
基于802.11环境的TCP协议改进研究
赵陇
(淮安信息职业技术学院,淮安 223003)
在有线网中,数据包的丢失一般是由网络拥塞所引起的,但在无线网络中,数据包的丢失通常是由于很高的误码率和无线链路故障所造成的。很显然,把作用于有线网络的TCP协议直接用于无线网络是不合适的。提出一种端到端自适应机制,允许TCP动态调整TCP会话的RTO(重传超时),服务器将根据客户端的反馈来调整定时器。该机制通过仿真验证,并与原始TCP协议进行比较,结果表明:由于超时次数的减少,服务器端重发的概率大大降低,无线接入点的拥塞明显改善。
IEEE 802.11;TCP;RTO;网络拥塞
0 引言
TCP是目前应用最为广泛的互联网协议,需要通过互联网进行可靠的数据传输。最初,TCP被设计在有线环境下工作,其中拥塞是数据分组丢失的主要原因,这是因为有线链路的误码率很低。每个TCP数据段由一个序列号标识,只有按顺序正确接收才能被接收端确认。错误也主要是由于丢包或报文乱序所造成的,为了避免这些错误,TCP协议使用流量控制和拥塞控制机制[1-2]。
随着802.11无线网络的发展,TCP在无线环境中的角色就变得日益重要。与有线网络相比,无线网络面临重大问题。因此,当端对端连接不完全是有线时,必须对依赖于窗口大小的TCP拥塞控制算法进行改进[3]。目前,拥塞算法假设的超时是由于端到端路径的拥塞,而不是由于无线链路上可能发生的传输错误。无线链路遭受高误码率和信号衰减的干扰,其上任何数据的丢失都被TCP视为拥塞,因此在发送方运行的TCP拥塞算法会将窗口大小缩到很小,这直接降低吞吐量[4]。事实上,在无线网络的超时情况下,TCP通常会做出这种错误的决定。
笔者认为,依靠802.11 MAC层控制无线链路的错误至关重要。这需要额外的时间延迟,这个值应是一个近似值并回送服务器。该延迟可以搭载在TCP ACK消息字段内;因此TCP服务器将会有更少的超时并因此减少重传以减少无线接入点的拥塞。为此,服务器需要一种新的机制来估计RTO。
在IEEE 802.11[5]的DCF协议中定义了如何在移动节点之间共享介质。DCF协议的核心是CSMA/CA(载波侦听多路访问/冲突避免)。节点发送分组之前必须监听该信道以确定另一个节点是否正在传输,如果信道空闲的时间超过了DIFS(分布式帧间间隙),节点继续传输,如果信道被监测为忙,则节点将延迟传输直到正在进行的传输结束。在这一过程开始时,节点首先在竞争窗口中选择一个随机数为基准的随机退避计数值,同时在每一个slot(时隙),节点监听信道是否空闲,若信道空闲,那么进行一次倒数,即计数值减1,若信道忙,则不进行相应倒数。当该随机退避数值退避到0时,节点可以发送数据。
此外,即使介质在DIFS时间内被监测为空闲,节点必须在两个连续的新分组传输之间等待一个随机退避时间[6-7]。随着冲突避免,802.11引入了ACK(肯定确认)机制。实现802.11 MAC的节点接收的所有数据包必须由接收MAC确认。在接收到一个数据包之后,在发送ACK之前,接收端会等待短暂的一段时间,称为SIFS(短帧间间隔)。
图1 DCF访问机制
1 提出的方法
1.1 网络设计
网络设计如图2所示,由许多连接到接入点的移动节点组成,网络对端为一台FTP服务器。移动节点都试图访问共享介质,这可能导致拥塞,从而发生冲突,一旦某节点获得传输介质,它将向FTP服务器发送请求以下载文件,传输过程中的任何错误将通过DCF机制进行修正。用户估计成功地将数据包传送到接入点所需的平均时间,这个时间用以扩展RTO。
图2 网络设计
1.2 退避窗口建模
对DCF中的退避窗口进行建模,以便推导出延迟D。在802.11中,节点传输之前,初始化的退避时间是分布在(0,W-1)上的一个随机整数,其中W表示竞争窗口,取决于每个分组失败传输的次数。对于第一次传输尝试,该值等于CWmin,这被称为最小竞争窗口。
令p为两个或更多个节点在同一时隙发送数据包产生冲突的概率。在这个案例中,每次不成功的传输后,W的值加倍,直到最大值CWmax,这里CWmax=2mCWmin,m表示该分组的不成功发送的次数。一旦W成为CWmax,它保持此值,直到它重新为CWmin。可以得出节点选择的竞争窗口等于W的概率。这个概率由下式给出:
在文献[8]中给出了饱和网络的情况下的冲突概率p,其中发送节点总是具有待发送的数据分组队列,所以每个进入的数据都立即被退回。因此,饱和网络情况下的平均退避窗口由下式给出:
在本案例中,我们使用泊松过程来获得非饱和网络中冲突概率的近似值。假如一个无线网络内,有NC个节点在离散时间内运行,其中每个节点可以被表示为具有无限存储的M/G/1排队系统。分组到达率为λ,而分组发出为μ,因此,一个M/G/1系统,分组接口队列为空的概率可以通过以下公式近似给出:
如果系统不为空,则数据分组在抵达时会被积压,因此,网络(NC节点处于稳定状态)是空的概率由以下公式给出:
那么,对概率为π0(cell)的任意分组,退避窗口为0,并且以概率1-π0(cell)积压。因此,一般(非饱和)抵达率的平均退避窗口大小由下式给出:
考虑到网络包含NC个节点,只有具有非空队列的节点才能与来自其他节点的数据分组冲突。数据分组冲突概率可以通过下式解决:
另外,令q是节点在随机选择的时隙中发送的概率,发送的数据分组在给定时隙的信道上冲突的概率p相当于在(NC-1)个剩余节点中至少一个在相同时隙中发送的概率。因此,发生冲突的概率p由下式给出:
1.3 802.11网络吞吐量分析
帧交换周期由成功发送数据帧的周期加上冲突周期再加上空闲时间组成。因此,
这里,
通过替代,我们得到以下等式:
α表示节点成功传输所捕获的时间,β表示冲突持续时间,γ表示时隙的持续时间。参数α和β的值根据访问模型而不同,假设数据包只是数据片段,这意味着没有碎片,从而,对于没有RTS/CTS的基本DCF接入机制,最终,通过求解方程(9),可以得到各参数之间的关系:
1.4 设置RTO
TCP的重传超时策略由RFC 2988[9]中描述的规则给出。在接收到ACK,平滑测量样本之后计算RTO,并对最近的RTT(回环时间)变化情况进行加权。标准[6]计算RTT如下:
通常,α的取值为0.125,我们可以清楚地看到,过去的RTT样本的影响呈指数下降。为设置RTO,标准使用估计的RTT(EstimatedRTT)和安全边距:
DevRTT用于估计采样RTT(SampleRTT)如何偏离EstimatedRTT,DevRTT计算如下:
通常,β的值为0.25。在设计中,我们以这样的方式扩展RTO,它将包括从客户端反馈中收到的延迟值D。因此,在接收到TCP头部字段中的ACK所携带的D后,我们提出了动态RTO的计算:
2 仿真结果
为了验证提出的方法,我们选择了FTP服务来模拟批量TCP数据。FTP通信配置如下:请求时间设置为10秒,它定义了文件传输之间的时间间隔,文件大小设置为50000字节,服务类型设置为最佳,在仿真过程中,我们用了10到50个活动节点的数量。
图3显示了TCP修改之前和之后发送的平均流量(bytes/sec),蓝色曲线表示基于新RTO机制修改过的TCP。在流量达到一定程度后,仿真显示FTP在流量方面有所增强。这是由于FTP服务器的超时次数减少,因此,在服务器和访问点之间的传输速度更快。
图3 FTP服务器的流量
图4 FTP服务器上的TCP重传数
图4显示与原始TCP相比,服务器端的TCP平均重传计数也得到了增强。重传次数减少,因此超时数也减少,这将导致吞吐量的增加。
3 结语
在本文中,我们建模了802.11网络成功交付数据包所需的时间,通过在TCP Options字段中搭载,并以反馈的形式发送给TCP服务器,这些反馈将用于动态调整RTO。仿真结果表明,就发送的TCP流量和TCP服务器重传方面,性能有了显著改进,这种改进将有助于降低无线网络中接入点的拥塞程度。
[1]王志强.无线网络中TCP协议的改进研究[J].阜阳师范学院学报(自然科学版),2013,30(3):60-62.
[2]刘纯丽.移动无线网络中TCP协议改进研究[J].池州学院学报,2009,23(6):21-23.
[3]周武旸,姚顺铨,文莉.无线Internet技术[M].北京:人民邮电出版社,2006:229-230.
[4]李牧,张勇丁.无线网络环境中传输控制协议的改进机制[J].计算机工程,2016,42(1):103-108.
[5]IEEE.Wireless LAN Medium Access Control(MAC)and Physical Layer(PHY)Specifications:High Speed Physical Layer in the 5 GHz Band[S].USA:IEEE Computer Society,1999.
[6]刘利强,周细义,张舸.改进无线网络TCP性能的研究[J].无线电通信技术,2008,34(1):4-5.
[7]Hala Elaarag.Improving TCP Performance over Mobile Network[J].ACM Computing Surveys,2002,34(3):357-374.
[8]K.Chua Y.Tay,A Capacity Analysis for the IEEE 802.11 Mac Protocol[J].Wireless Networks,2001,7(2):159-171.
[9]V.Paxson and M.Allman.Computing TCP's Retransmission Timer[R].RFC 2988,2011.
Abstract:In the wired network,the loss of data packets is generally caused by the network congestion,however,in wireless networks,the loss of data packets is usually due to the high bit error rate and wireless link failures.Obviously,it is not appropriate to use the TCP protocol acting on a wired network directly for a wireless network.Proposes an end to end adaptive mechanism that allows the TCP session to dynamically ad⁃just the RTO(Retransmission Timeout)of a TCP session,the server will have to adjust the timers based on feedbacks from clients.The mechanism is verified by simulation and compared with the original TCP protocol.The results show that the probability of retransmission of the server is greatly reduced due to the decrease of the number of timeouts,and the congestion of the wireless access point is obviously im⁃proved.
Keywords:IEEE 802.11;TCP;RTO;Network Congestion
Research on Improvement of TCP Protocol Based on 802.11 Environment
ZHAO Long
(Huaian College of Information Technology,Huaian 223003)
1007-1423(2017)26-0025-04
10.3969/j.issn.1007-1423.2017.26.006
赵陇(1976-),男,甘肃张掖人,硕士研究生,讲师,研究方向为网络集成、网络安全
2017-06-20
2017-09-05