欢迎来到学术参考网

无线Mesh网络的应用层转发

发布时间:2015-07-09 11:31

摘 要 无线mesh网络中应用的协议主要是TCP协议。应用层转发方法是将传统的端对端TCP连接分成一些短小的连接,它应用在有线网络中以提高TCP的性能。本文介绍了在无线mesh网中的应用层转发方法并在本网络中测试了TCP的性能。通过这种方法,无线网络中的结点具有更高的独立性并且往返时间RTT也大大缩短。然而,转发也增加了网络的竞争,为了减少这种竞争,引进了一个简单的调度进程来增进节点间的合作。实验结果表明,在4跳的网络中,应用调度机制能提高将近50%的网络性能。

关键词 无线mesh网;TCP;应用层转发


0 引言

TCP协议的性能随着路径的增加而迅速降低。TCP的设计原理是当网络发生拥塞时,它会很快的退避到发送者那里,使之降低发送率,但仍不可避免分组丢失。在WMN中,分组丢失不仅和网络拥塞有关,还与断路有关。尽管链路层提供一种重传机制来减少断路率,但是断路率还是明显高于有线网络。

1 TCP转发系统描述

1.1 应用层TCP转发

有线网络首先提出了应用层TCP转发,它是通过用多个转发节点按序转发数据到目的节点来把一个长距离的TCP连接分割成若干个小部分。当收到源节点发送来的分组时,第一个转发节点就立刻给源节点发送一个确认分组(ACK)。然后该节点就将本地副本转发到下一个节点。在该条链路上,发送者必要时要重传TCP。与有线网络相似的是,在WMN中源节点和目的节点可以配置转发功能。在TCP转发中采用了一种简单的方法,对于源节点和转发节点只要能发送数据它们就发送。换句话说,它们之间并没有相互协作。

1.2 拓扑结构

我们的研究主要是针对线性链路拓扑结构,即一个n跳的WMN有n+1个节点和n条链路。令N={0,…,n}代表节点数组,节点i-1和节点i之间的链路为链路i,令I=(1,…,n)代表链路数组。我们假设:节点i( )的位置处在只有它的邻结点i-1和i+1在它的传输范围内。节点i在节点i-2和节点i+2的传输范围以外,因此它不能侦听到它们发出的信息。因此当节点i和节点i+2同时发送信息时,在节点i+1不可避免的发生冲突。同样,节点i和节点i-2同时传送,在节点i-1就会发生碰撞。我们定义节点i+2和节点i-2为节点i的隐藏节点。

1.3 测试环境

我们的测试环境包括5台笔记本电脑节点来传送TCP流,另外5台笔记本电脑节点负责侦听链路层的活动。我们设定前5个节点作为mesh节点,后5个作为检测节点。5个检测节点摆放在mesh节点的后面。每个检测节点都运行OmniPeek来存储链路层活动。
TCP测试程序TTCP运行在源节点0和目的节点4,该程序在给定的时间内不断地从源节点向目的节点传送TCP流。在目的节点,TTCP从TCP缓存不断读取数据。每个TCP连接的持续时间为1分钟,1分钟足可以克服系统启动所造成的影响。每组试验做10次,最后报告的是平均值。

1.4 转发的好处

我们对有转发和无转发系统的TCP性能进行了比较。比较重要的性能指标是TCP 实际吞吐量G。表1是对上述两种系统的比较结果。与我们预计的不一样的是,加进了转发功能,性能并没有得到显着提高。
表1 比较结果
无转发 G(kbps)
有转发 G(kbps)
性能提高(%)
2跳
4300
4500
4.7%
3跳
4090
4351
6.4%
4跳
2508
2579
2.8%

2 建模

假设节点i以参数为 的泊松分布发送数据, 为节点i的ACK分组的发送率。定义节点i的分组到达率为 。用这些变量,我们将链路层数据分组(ACK分组)的分组丢失概率 ( )分为3个部分:
1)信道分组丢失概率 :由于链路错误造成的平均分组丢失率。用 和 分别表示数据分组和ACK分组的信道分组丢失率。
2)冲突概率 :分组丢失概率与邻节点的传输冲突有关。
3)隐藏节点丢失概率:由于两个隐藏节点互相不能感知到对方的活动,他们的传输就会发生冲突致使链路层发生分组丢失。因此我们设数据分组和ACK分组的分组丢失概率分别为 和 。
因此我们得到链路层的分组丢失概率 和 为:
(1)
若没有转发,那么就会有一个流约束:
(2)
给定分组错误率 ,到达率
(3)
所以节点传输率
(4)
若有转发,在 并且所有的 相同的情况下,实际吞吐 。
在稳定的状态下,所有的TCP的实际吞吐量都相同:
(5)
比较(4)和(5),我们得出: 。所以,若有转发,那么转发节点具有更高的发送率。
模型显示,一旦具有了转发功能,每个转发节点就试着以比没有转发功能时高的速率传输数据。尽管它使吞吐量增加了,它同时也增大了隐藏节点的影响和链路的分组丢失率,因此TCP性能不能明显的提高。

3 简单调度机制的实现

前面的部分我们分析了在WMN中转发导致低性能的原因。本部分介绍一种简单的调度机制,该机制可以显着提高吞吐量。
第一步,源节点发送M个分组给转发节点1。然后,节点1设置它的接收窗口为0以阻止从源节点发送过来的任何信息。接着,节点1开始向节点2发送数据,由于只有一个节点在发送数据,所以能达到最好的速率,没有延时。当节点1发送完毕,它仍处在“拒绝接收”状态,这个时候节点2开始向节点3发送数据。节点2发送完数据后,就转为“拒绝接收”状态,然后就会发送一个“释放信号”给节点1,节点1收到后,就从“拒绝接收”状态释放出来,这时源节点和节点3都开始发送数据。最后,节点2通过节点3发送的“释放信号”跳出“拒绝接收”状态,由于节点3是最后一个转发节点,当它发送完M个分组给目的节点后,它自行从“拒绝接收”状态中释放出来。这时,所有的节点都在同样的状态。这个过程循环不断的进行,直到源节点数据发送完毕。
通过这个简单的调度算法,网络可以达到最大的并行传输量,而邻节点间没有任何竞争。令 表示链路i的实际吞吐量,i=1,2,3或4。我们假设传送释放信号时没有冲突,则总的网络吞吐量为:
(6)
其中,D是每个发往下一节点的分组的大小,S是释放信号的长度。
表2比较了下列三个系统的性能:不带转发功能的系统,带转发功能但没有调度算法的系统,既有转发又有调度算法的系统。毫无疑问,既有转发又有调度算法的系统的性能最好。
表2 性能比较
无转发
有转发
无调度机制
既有转发又有
调度机制
G (kbps)
G (kbps)
性能提
高%
G (kbps)
性能提
高 %
2跳
4300
4500
4.7%
5040
17.2%
3跳
4090
4351
6.4%
4969
21.5%
4跳
2508
2579
2.8%
3779
50.6%

4 总结

本文,我们首先对线性拓扑结构的无线mesh网络中的应用层转发方法进行了分析,结果显示,该方法可以提高吞吐量,但由于转发节点互相独立,它也增加了链路之间的竞争。为了减小这种竞争,提出了一种调度算法来协调各个转发节点的工作。在MWMN中进行实验,结果表明该模型在4跳的网络中能提高将近50%的性能。

参考文献

[1]Keith R. Mesh wireless networking [J]. IEEE Communication Engineer,2003(10/11): 44~47
Yan Gao, Dah-Ming Chiu, and John C.S. Lui. Determining the endto-end throughput capacity in multi-hop networks: methodology and applications. SIGMETRICS Perform. Eval. Rev., 34(1):39–50, 2006
傲丹,方旭明,马忠建.无线网格网关键技术及其应用研究[EB/OL].北极星电技术网.2005.6.2

上一篇:局域网FTP搜索引擎的建立

下一篇:计算机网络安全隐患与防范策略的探讨