应用于有线-无线混合网络的基站管理机制
2013-02-26刘纯丽方元康
刘纯丽 方元康
(1池州学院 现代传媒系,安徽 池州 247000)
(2池州学院 数学计算机科学系,安徽 池州 247000)
(3南京航空航天大学 计算机科学与技术学院,江苏 南京 210016)
1 WTCP协议概述
TCP(Transmission Control Protocol,传输控制协议)[1]是为了实现在不可靠的网络中提供可靠的端到端字节流传输而设计的,TCP协议通过数据的分段和重组,实现了流量控制[2]和拥塞控制[3]。
随着无线网络的日益发展,其高延迟和高误码率的特点,使得TCP协议的缺陷日益凸显,各种基于传统TCP协议的改进方案应运而生。1998年,Ratnam和Matta提出了适用于有线-无线混合网络[4]的分段网络的WTCP协议(Wireless Transmission Control Protocol,无线传输控制协议)[5],其优越性也得以显示:
第一:WTCP协议保持TCP协议端到端的含义,对于有线-无线混合网络,在有线网络部分仍然使用TCP协议,对于无线网络部分采用WTCP保证数据更好地传输。
第二:WTCP协议中,为了减少无线网络的不稳定性对网络传输的影响,提高整个混合网络的传输效率,无线网络的各种操作对于静态主机是透明的。
第三:WTCP协议采取的基于速率的数据和ACK传输机制,大大提高了数据的传输效率,对于避免无效重传具有一定的效果。
第四:WTCP协议为了实现拥塞控制与可靠性控制的分开处理,分别设置了拥塞控制序列号与可靠性序列号。
第五:基站承担了数据重传的功能,减少了链路的负载,提高了链路的使用效率。
WTCP工作过程如图1所示。
Figure 1 WTCP protocol
由图可知,数据报文首先由静态主机发送至基站,再通过基站缓冲区存储转发至移动主机。作为发送方的静态主机,通过判断基站是否正确接收数据报文判断数据是否正确传送。作为中转的基站,对于接收的数据,要记录其到达时间和传输号,以便更好地转发。作为接收方的移动主机,在正确接收到数据之后,通过ACK将数据接收情况反馈到基站。
为了遵循端到端的传输机制,WTCP协议中ACK的传送完整路径包含了无线网络和有线网络两个部分。由于无线网络状况稳定性上不如有线网络,这样在RTT[6](Round-Trip Time,往返时延)的计算上,就存在一定的不稳定性。
2 新的基站管理机制
WTCP协议为了遵循端到端的传输机制,在ACK传输机制上显现了一定的缺陷。为了改进这一缺陷,NWTCP协议提出了一种适用于有线-无线混合网络的基站管理机制。新算法在基站新建了存储列表,并对采取了新的分段反馈机制(即对ACK传输做了改进),使得基站的功能得到更大发挥,在一定程度上提高了网络的传输能力。仿真对比试验表明:新的基站管理机制对于提高无线网络的吞吐量起到了明显的效果。
NWTCP协议仍然沿用WTCP协议中RTT值的计算方法,同时ACK中保留携带拥塞状态信息位。对于网络拥塞必须同时满足拥塞控制标志位AE值为1和RTT>eRTT+sRTT
NWTCP协议通过增强基站管理能力,将有线-无线混合网络分别管理,对于状态稳定的有线网络传输层仍然使用TCP协议进行管理,对于状态不稳定的无线网络传输层使用改进的WTCP协议进行管理。
2.1 基站存储列表
增强站的存储能力,新建一个存储列表,列表采取数据结构体。每个从静态主机传送至基站的数据单元,都通过新建一个存储单元添加至存储列表,基站再根据接收的ACK更新存储列表。在此过程中,基站不再只是承担简单的存储转发功能,同时具备一定的管理功能,对存储列表采取滑动窗口机制进行管理,同时对于无线网络采取一定的拥塞控制机制进行管理。其工作原理如图2所示:
figure 2 storage list in Base
NWTCP协议,通过基站建立存储列表,区分处理有线网络和无线网络的问题,减少不必要的有线网路重传和ACK的传送,降低了网络负载,节省网络开销。存储列表采取链表的管理方式,对于到达的数据分区进行数字重新数字编号,以便于基站和移动主机之间的ACK管理。
2.2 分段反馈机制
WTCP协议为了遵循端到端的含义,其RTT的计算包含了数据从静态主机发送到移动主机以及ACK由移动主机返回到静态主机的整个过程。在有线-无线混合的网络中,由于无线网路的高延时和高误码率,以及路由更新、能量不足等不可预见的问题时,其性能无法与有线网络相当,这样使得RTT的计算存在很大的不稳定性。
在NWTCP协议中,通过分段反馈机制,增强基站的管理能力,有线网络和无线网络分段管理。对于有线网络,当数据被基站正确接收,基站返回ACK通告静态主机,静态主机判断数据数据被正确传送;对于无线网络,数据以及ACK的传送发生在基站和移动主机之间,RTT值的计算只涉及这一过程。基站通过RTT值以及ACK携带的网络状态信息位的值,对网络状态进行判断,选择相应的链路管理I机制。
2.3 NWTCP协议可行性分析
在NWTCP协议中,在基站新建了存储列表,通过分段反馈机制,实现了有线网络和无线网络的分开管理。有线网络部分采取成熟的TCP协议,采取相应的拥塞管理机制和ACK传送机制,减少了不必要的重传和ACK状态信息的传送,降低了网络的负载,提高了网络的效率。无线网络由于其高延时、高误码率、路由更新、能量不足等非网络拥塞引起的数据包丢失,通过相应的RTT值计算以及ACK携带的状态信息位值,采取相应的拥塞管理机制。
通过有线-无线混合网络,既发挥了有线网络的稳定性优势,有发挥了无线网络的灵活性优势,使数据能够更好地传输。
NWTCP协议中,通过增加基站的存储能力和增强基站的管理能力,采用存储列表和ACK分段反馈机制,提高了网络的吞吐量。核心伪代码如下所述:
2:if ACK and ((AE=0)or(RTT>eRTT+sRTT))
3: SW=SW
4:endif
5:if ACK and ((AE=1) and (RTT<eRTT+sRTT))
6: SW+=1
7:endif
8:if(there is packet lost)and ((AE=0) or(RTT>ERTT+SRTT))
9: SW/=2
10:endif
11:if(there is packet lost) and ((AE=1) or(RTT<ERTT+SRTT))
12: SW+=4
13:endif
14:if(there is packet lost)and timeout
15: SW=0
16:endif
上述代码中,SW表示基站中发送窗口大小。
3 对比室验与结果分析
3.1 仿真场景的设置
本文进行的对比实验均在Windows XP操作系统下安装NS2.33[7]完成的。
Figure 3 simulation link topology diagram
实验链路拓扑结构图如图3所示,实验过程中采用NS2集成功能模块实现各构件的功能。在无线网络中,设置了不同移动速度的移动主机,验证NWTCP协议吞吐量要优于WTCP协议。
Table 1 analog parameters set
仿真实验中,设定的3个移动节点中任意选定一个作为移动主机,传送的数据报文大小设定为1460字节的,设定最大8个数据报文段大小的发送窗口,通过FTP代理设置TCP链接传送所需的数据流。
3.2 TCL脚本设置
在仿真对比实验中,首先对节点和链路进行定义。修改基站的TCP NewReno协议中tcp.h/tcp.cc文档代码,实现了WTCP协议和NWTCP协议的定义文档wtcp.cc和nwtcp.cc。修改移动主机的tcp-sink.h/tcp-sink.cc文档,完成移动主机的设置。
建立网络链接。伪代码如下:
set ns[new simulor]
set S1[ns node]
set B1[ns node]
set K1[ns node]
set K2[ns node]
set K3[ns node]
将需要的成员函数添加tcp.h的类中,实现分段反馈机制。
对移动终端的tcp_sink.h/tcp_sink.cc文件进行修改,以实现wtcp.cc和nwtcp.cc,实现相关协议的功能。
设置网络链路带宽与时延
设置FTP数据的起止时间
对比实验分别在纯无线网络(既无拥塞,也无网络差错)、5%的信道误差网络、5%信道误差且存在另外2条UDP数据流网络三种环境下进行,实验过程中逐渐增加移动主机的移动速度,WTCP协议和NWTCP协议分别产生了不同的网络吞吐量,验证表明改进协议具有一定的优越性是建立在一定的实验环境中的。
通过make相关命令,使新的文件在NS实现,并利用数据库技术来分析结果。
由于篇幅有限,在此并未完成列出新的协议。
3.3 实验结果对比分析
首先在设置的不同无线网络环境中,对NWTCP协议和WTCP协议的网络吞吐量进行比较。
Figure 4 mobile environment the comparison of the NWTCP protocol and WTCP protocol
如图4所示,纯无线网络环境中,在速度小于5m/s的低速情况下,NWTCP协议与WTCP协议在吞吐量方面相当。当速度不断增加,尤其是高于10m/s的情况下,NWTCP协议吞吐量下降要缓于WTCP协议。这是由于NWTCP协议中增加了基站的存储与管理能力,减少了网路重传的时间,降低了网络开销的原因。
无线网络中链路差错设定中,通过丢弃数据包实现数据包的丢失。在基站处设置好将要发送的数据包的erro_标志位,移动主机通过Agent函数实现数据包的丢弃处理。伪代码描述如下
Figure 5 mobile environment(5%channel error)the comparison of the NWTCP protocol and the WTCP protocol
图5显示了5%信道误差的无线网络中,随着移动速度的不断增加,NWTCP协议与WTCP所表现的不通网络吞吐量。图5与图4从纵向上相比,增加网络误差的网络环境中,两个协议的网络吞吐量比纯无线网络环境都有所下降。从图5同时可以看出在5%信道误差的网络环境中,随着移动主机速度的增加,NWTCP的网路吞吐量比WTCP的网络吞吐量下降要慢。这是由于在5%信道误差的网络中,基站良好的存储与管理能力的优越性得以凸显,完成了快速的数据重传功能。
在该实验中通过对err函数中5%(set rate_0.05)的误差完成实验环境的设置。
在图5设置的5%信道误差的基础上,在无线网络中增加两条传输速率为150kbps的UDP/CBR数据流,时间设置在[50,150]、[130,200]之间,得到如图6的实验结果。具体伪代码实现如下:
…… //在B1和K1间建立一条TCP连接的FTP数据流
set udp(1)[new Agent/UDP]//在B1和K2间建立一条UDP连接和CBR数据流
set udp(1)[new Agent/UDP]//在B1和K3间建立一条UDP连接和CBR数据流
……
如图6所示,随着移动主机节点速度不断降低,NWTCP中吞吐量下降的速度要慢于WTCP协议。这是由于无线网络在高速状况下会出现路由更新以及链路中断,同时又有其它数据流的竞争,NWTCP协议由于增强的基站存储转发能力,提高了网络的重传效率;同时分段反馈机制,减少了网络数据以及ACK传输量,节省了网络开销。同时WTCP协议中当链路出现切换时,立即启动慢启动,也对吞吐量产生了一定的影响。
Figure 6 mobile environment(5%channel error and 2UDP/CBR flow)the comparison of the NWTCP protocol and the WTCP protocol
综合3个对比实验可以得出,在无线网络环境中,随着移动主机速度的增加,本文提出的NWTCP协议在性能方面较WTCP协议有所改善。
4 结论
本文提出了应用于有线-无线混合网络环境的基站管理机制,新算法新建了存储列表,同时通过分段反馈改进ACK传输机制。对比实验表明:在有线-无线混合网络中,随着信道误差的增加和数据流量增加,本文提出的NWTCP协议较之WTCP协议,在移动主机速度不断增加情况下,对于网络吞吐量方面有一定的改善。
[1] 邱赘,张颖.TCP/IP在无线传感器网中的应用研究[J].传感器与微系统,2007,26(12):22-24.
[2] I.Abdeljaouad.Performance analysis of modern TCP variants:A comparison of Cubic[J].Compound and New Reno.Proc QBSC.2010,(27):80.
[3] Molnár S.A comprehensive TCP fairness analysis in high speed networks[J].Computer Communications,2009,(32):1460-1484.
[4] Padhye J,Firoiu V,Towsley D F,et al.Modeling TCP Reno performance:a simple model and its empirical validation[J].IEEE/ACM Transactions on Networking(TON),2000,(2):133-145.
[5] K.Brown and S.Singh,WTCP:An Efficient Mechanism for Improving TCP Performance over Wireless Links Proceedings of IEEE Symposium on Computers and Communications[J].Athens,Greece,1998,(2):74-78.
[6] 刘伟,王辉,范志辉,等.一种适用于有线-无线混合网络的性能增强代理[J].传感器与微系统,2011,(11):31-34.
[7] The Network Simulator-NS2[EB.OL].[2010-10-25].http://www.isi.edu/nsnam/ns