Managing TCP Connections in Dynamic Spectrum Access Based Wireless LANs
2010年IEEE Secon的一篇文章。当然了,应该是之前就写好了,发表过,还是直接投到Secon了呢?直接投的吧,Secon不接受已发表过的吧。
本文的着笔点:有线网与DSAN(启用了DSA特性的WLAN)集成的情况下的TCP性能研究。就是DSAN网与传统网路通信时,其整体的TCP性能研究。场景就是“最后一英里”,典型的可以想象的是,家里的光纤到户,连一个BS,然后呢,所有的手机、PAD、Laptop等终端都通过BS上网。而这部分无线节点都启用了DSA特性,那这就是一个典型的本文要研究的一个场景。
有线——BS(负责有线网与DSAN的通信)——DSAN

好了。本文就是研究这种情形下,TCP的性能受到那些因素影响、并提出方案解决(DSASync)、再实验验证提出的方案就是好,这样一篇文章。
第一:TCP受那些影响呢。前一篇博文中提到过。这里只说,对无线网而言,主要是高误码率(high bit-error),当然已经研究的差不多了,所以不用担心。DSA中的TCP受哪些影响呢,时延和丢包(由DSA的基本操作引起的,如频谱嗅探、信道切换等等)
第二:文章重心在于提出的DSASync方案。其实就是链路层协议,利用缓存和流量控制(buffering、traffic-shipping)来给TCP做预处理。有两个模块,一个用于从DSA MAC/PHY协议收集参数、向上传递(DSASync_LL模块),一个接受参数,作分析决策(DSASync_TCP模块);然后才向上层传递给传输层的TCP协议。
注:DSASync是部署在BS上的,DSAN内部节点并没有部署(但正如文章future work所提出的,在以后的工作中,会尝试给每个节点部署DSASync,做成分布式)
重点说作决策的模块DSASync_TCP,这是核心所在。它自身又可以分为三个模块。
1、DSASync_TCP_CH-SH,就是管理从有线到DSAN网路的下行流量。它的输入是从DSASync_LL模块传入的参数,做决策的算法有两个,一个是根据参数决定包是被缓存还是被加入到传输队列,考虑的因素包括剩余缓存的大小、是否处于静默期等等;另一个算法是判断是否发送rwin=0(tcp的receive window)给CH,这样就可以达到控制流量的目的。
(这里可以有代码)
2、DSASync_TCP_SH_CH,就是上行流量。它核心的工功能是:把上行的包,均匀分配,在静默期也可以保持向CH发包,而不至于中断或有较大延迟。因为在静默期,整个DSAN内部是不能发包的,这时,BS可以依旧利用本地缓存的包,继续向CH发包。这样保持了上行线路的平稳。不至于在静默期触发CH端TCP的重发机制而导致信道利用率降低。
3、DSASync_TCP_CAP,这个是拥塞控制,主要发生在信道切换时。这个时候,信道的容量(capacity)可能会发生大幅的下降,而这一点,TCP是无法处理的。(传统情形下,TCP不会遇到信道性能经常出现很大起伏的情况,因而在出现小的起伏时,TCP只须重传即可。并不会持续很久,且浪费信道利用率。但在DSAN中信道切换时,大的信道性能起伏就会出现,这一点TCP协议中并没有做处理)。而解决方案也很简单,正如DSASync设计的那样,在判断出新的信道性能不能满足需求时,模块会传递给sender 3个重复的ACK,这样就触发tcp的快重传机制,cwin降为一半,而不是直接降为1(如果BS不发送3个重复的ACK,而receiver又无法返回确认信息(因为信道性能大幅下降),则导致sender TCP的慢恢复,cwin直接降为1),这样其实就减弱了信道切换对TCP性能的影响。
(这里可以有代码)
注:DSASync_TCP_CH_SH其实只对下行流量做处理即可。因为在发生信道切换导致的信道性能降低时,处于DSAN的上行流量本身就直接受到影响了,因为不需要去单独“警告”或通知。就好像从一条大路连着一条泥泞小道。从大路开过来的车,你要通知他,前方是小路,要开慢点;而从小路开向大路的车,你不用管他,因为它自己就在小路上呃,根本就开不快。。。
第三:实验效果
先说下实现(implementation),本文作者是把DSASync做成了linux kernel的一个模块,利用了强化的(启用了DSA特性的)The MadWifi device driver。
然后是实验设备参数:
6个laptop(SHs)无线网卡是Atheros-based Linksys WPC 55AGwireless card.
另一个laptop(AP)充当BS,连接有线网和DSAN。
还有个laptop,充当PU(incumbent transmitter),起干扰的角色。
Iperf产生TCP traffic,TCPdump用来观察记录。
PHY data-rate 24Mbps,AP buffer capacity 500M,
平均信道利用率20%(incumbent channel utilization)
SH的平均嗅探开销5%(sensing overhead)
初始的TCP send receive window 256KB
每个实验持续20s
其他。。。
性能度量:
1、主要的,应用层的throughput
2、从接受端观测到的端到端时延。
好了,现在是实验结果:
1.微观上(Microbenchmarks)四个




实际吞吐率和重发比率:
DSASync CH-SH有74%的显著提升。
端到端时延:
DSASync SH-CH有很明显的改善。
存在PU干扰情形下的吞吐率:
DSASync CH-SH有很好的表现。
PHY性能变化时的吞吐率:
DSASync CH-SH is good。
2、宏观上(Macrobenchmarks):scalability

参数:6个终端,各开4个TCP连接,频谱共有4个信道
DSASync CH-SH 有明显优势。
注:从上面的结果我们看到,DSASync的优势主要体现在了CH-SH上吞吐量的提升、或在恶劣情形下依旧保持较好的性能。主要原因在于BS可以对CH-SH的流量做出调整,从而影响这个方向上的TCP性能。而从SH-CH,DSASync唯一做到的是在静默期依旧发包,这样在试验中端到端时延这一指标上,做出了明显改进(在这一指标上只有它显示了明显改进),SH-CH也仅在这一指标上显示了优势。其他三个指标上表现一般,因为部署在BS上的DSASync无法对DSAN内部的网络情况做任何改进,它只是在边界上起调节作用,因为更多的是起到了辅助CH的作用,故而在CH-SH上在三个指标上都有明显优势。(future work考虑在DSAN内部每个节点部署DSASync就是考虑到要提升SH-CH的性能,单靠BS是无法实现的,因为无法对DSAN内部网路做出改变。)
第四:future work
正如上面注释提到的,第一个future work就是做成分布式的DSASync,以期在SH-CH线路上做出明显改进。
第二个是横向拓展。对UDP进行优化(UDP、不可靠传输、主要用于多媒体传输)。
Managing TCP Connections in Dynamic Spectrum Access Based Wireless LANs的更多相关文章
- DSASync: Managing End-to-End Connections in Dynamic Spectrum Access Wireless LANs
其实跟上一篇是同一篇文章.不过上一篇是发表在IEEE Secon2010了,这篇是后来又增加了部分内容后的一版,收录在IEEE/ACM TRANSACTIONS ON NETWORKING, VOL. ...
- A Survey of Dynamic Spectrum Access
这是2007年IEEE Signal Process 杂志上的一篇文章.综述DSA的.正如文章最后所说,DSA/OSA(Opportunity Spectrum Access)还处于襁褓期,在技术.政 ...
- Performance of Transport Control Protocol over Dynamic Spectrum Access Links
2007 IEEE 这篇论文主要就是分析了几个版本的TCP协议在DSA网络中的性能问题. 得出的结论是: 大部分现在在用的几个版本的TCP协议,都是能够较好地适应DSA环境,吞吐率都能达到95%.当然 ...
- Configure the max limit for concurrent TCP connections(转)
To keep the TCP/IP stack from taking all resources on the computer, there are different parameters t ...
- 【转载】Configure the max limit for concurrent TCP connections
转载地址:http://smallvoid.com/article/winnt-tcpip-max-limit.html To keep the TCP/IP stack from taking al ...
- Method for training dynamic random access memory (DRAM) controller timing delays
Timing delays in a double data rate (DDR) dynamic random access memory (DRAM) controller (114, 116) ...
- Resource Access Based on Multiple Credentials
A collection of multiple user credentials each associated with one of multiple different users is ob ...
- Using HttpClient properly to avoid CLOSE_WAIT TCP connections
Apache的HttpComponent组件,用的人不在少数.但是能用好的人,却微乎其微,为什么?很简单,TCP里面的细节实现不是每个人都能捕获到的(细节是魔鬼),像并发请求控制&资源释放,N ...
- FIN vs RST in TCP connections different
question: The way I understand this, there are 2 ways to close TCP connection: send FIN flag send RS ...
随机推荐
- mongoDB初探
最近在努力学习node方面的东西,看别人的资料里提到最多用到的数据库还是mongoDB,早打算下载下来试一下,由于电脑新配置,网络也由于住的地方现在上不了网暂时用的手机4G网络在凑合,这里面也踩到了不 ...
- TaintDroid:智能手机监控实时隐私信息流跟踪系统(四)
6 应用程序研究 款流行的应用程序是怎么使用用户敏感数据的.选取的应用程序可以根据相应的权限通过Internet获得各种各样的用户数据.我们研究发现三分之二的这些数据暴露了用户详细的地理位置 ...
- NET分布式缓存Memcached测试体验
原文地址:http://onlyonewt.blog.sohu.com/160168896.html 一直在学习关注大访问量网站的缓存是如何实现,之前看过Memcached的资料,忙于没有时间来真正测 ...
- ubuntu系统修改终端提示符及设置颜色高亮
Linux终端大家想必都清楚吧,最近在使用的时候发现在进入到某个文件夹目录比较深的层次后,终端提示的绝对路径很长,这样给人的感觉很不习惯,在这里给大家介绍下如何修改终端的提示,顺便介绍下提示符的颜色: ...
- Spring的工作原理核心组件和应用
Spring框架 Spring 是管理多个java类的容器框架,注意是类不管理接口. Spring 的主要功能 Ioc 反转控制和 DI 依赖注入. 注入的方式可以是构造函数赋值也可以是 set方法赋 ...
- swift 点击button改变其内填充图片,达到选中的效果
先看下效果: 点击后: 实现:在页面拖一个button,然后在所在页面声明其变量和一个点击事件 声明: @IBOutlet weak var BtnZiDong: UIButton! 点击事件函数: ...
- Ubuntu下访问SSH
ssh程序分为有客户端程序openssh-client和服务端程序openssh-server.如果需要ssh登陆到别的电脑,需要安装openssh-client,该程序ubuntu是默认安装的.而如 ...
- 转载--DEV GridControl 的一些基本操作
1. 如何解决单击记录整行选中的问题 View->OptionsBehavior->EditorShowMode 设置为:Click 2. 如何新增一条记录 (1).gridView.Ad ...
- LNMP优化
LNMP优化 LNMP优化从系统安全,系统资源占用率,及web服务并发负载这三个方面体现,并 且主要体现在web服务并发负载这一方面. 1:首先进行linux优化加固 Linux ...
- oracle常用自定义函数集合
1.Oracle 判断值是否为数字的函数CREATE OR REPLACE FUNCTION ISNUMBER(MyStr VARCHAR2) RETURN NUMBERIS STR VARCHAR ...