2007 IEEE

这篇论文主要就是分析了几个版本的TCP协议在DSA网络中的性能问题。

得出的结论是:

大部分现在在用的几个版本的TCP协议,都是能够较好地适应DSA环境,吞吐率都能达到95%。当然,是在满足几个前提下:

1)BS(基站)的buffer足够大(并不是一个不可实现的值,是一个实际能够满足的值。)

2)TCP是采用了SACK的。

另外的一个结论是,如果延迟相当大,一切都扯淡。而PU的出现,就可能引起相当大的延迟,从而导致TCP性能的严重降低。作者指出了这一点。

其中,还有其他的结论,比如,嗅探时间的长短对TCP性能的影响,因为本文采取的是”完美嗅探“,因为嗅探时间短并没有造成什么负面影响;但当嗅探时间很长时,延迟就不可避免的增大了(因为嗅探期是不能发包的,即使采用了buffer,不至于丢包,但延迟足够大,一切又都扯淡。)

当然,从头看这篇文章,它使用的模型是这样子的:

Sender->BS 是有线网络,带宽10Mbit/s,一个恒定延迟用来表征现实中在链路传输中可能遇到的延迟。另外的延迟包括链路队列延迟、传输延迟。DSA中不计传播延迟。(带过,木有给具体值~)

BS->Receiver DSA网络,M信道,总带宽2.4Mbit/s,带宽平均分配,当M变化时,每个信道的带宽随之变化(M的不同主要是实验对比)。PU到来离去参数是λ、μ.

Receiver->BS 2.5Mbit/s的恒定无线网络,从而使得TCP的ACK信息得以稳定传输。

DSA没有链路错误,BS利用“energy detection”进行信道选择,“完美选择”。

在此场景下,试验TCP Vegas,New Reno ,NS Reno with SACK的不同表现。

结果在最开始已经说过了。

要讨论的问题是:这个DSA网络不符合真实场景?

Receiver->BS的通信,这么设计?真实场景中是这样,还是只是为了实验?应该来说,在选定信道后通信,数据的传输都是在同一个信道的,因而这种模拟应该不符合实际场景的,因为其结论应该也是有待商榷的。

那么之所以结论中的TCP能很好的适应DSA,应该就是基于这样一种假设,同时加上:

BS的buffer足够大。

嗅探时长保持很小,不会带来明显的TCP延迟。

PU带来的延迟足够小,不影响TCP的性能。

而实际情况中,

嗅探时间是需要权衡准确率与时间的。模拟中不考虑时间的操作,采用完美嗅探,可以把时间设计的足够小,以不会造成明显延迟。这种设计可取,但不完美。

PU带来的延迟,应该来说是DSA中最要考虑的因素。一个是PU自身的到达离去特征本身决定了频谱切换的频繁程度;一个是频谱切换本身涉及到的空出信道、嗅探、获得新信道的时延。这是重要的一部分。这部分时延应该是足以引起TCP反馈的。

(这是时延引起的TCP性能下降;另外的一个问题是,切换信道后,TCP可能并不能够充分使用新的信道容量。具体地?)

所以,要关注的点是:切换到底需要多长时间,会不会给TCP带来可感知的延迟。

(如果极快而不可感知,TCP的性能不会受到影响。那就不需要研究这一块了。)

Performance of Transport Control Protocol over Dynamic Spectrum Access Links的更多相关文章

  1. Internet History,Technology,and Security -Transport Control Protocol(TCP)(Week6)

    Week6 Technology: Transport Control Protocol(TCP) Welcome to Week 6 of IHTS. We are in our second we ...

  2. A Survey of Dynamic Spectrum Access

    这是2007年IEEE Signal Process 杂志上的一篇文章.综述DSA的.正如文章最后所说,DSA/OSA(Opportunity Spectrum Access)还处于襁褓期,在技术.政 ...

  3. Internet History, Technology, and Security(week6)——Technology: Transport Control Protocol(TCP)

    前言: 这周开始学习分层网络模型的第三层,传输层. Transport/Reliability: Transport Layer TCP层的目的是补偿IP层中可能出现的错误,并充分利用可用资源.由于I ...

  4. DSASync: Managing End-to-End Connections in Dynamic Spectrum Access Wireless LANs

    其实跟上一篇是同一篇文章.不过上一篇是发表在IEEE Secon2010了,这篇是后来又增加了部分内容后的一版,收录在IEEE/ACM TRANSACTIONS ON NETWORKING, VOL. ...

  5. Managing TCP Connections in Dynamic Spectrum Access Based Wireless LANs

    2010年IEEE Secon的一篇文章.当然了,应该是之前就写好了,发表过,还是直接投到Secon了呢?直接投的吧,Secon不接受已发表过的吧. 本文的着笔点:有线网与DSAN(启用了DSA特性的 ...

  6. OSA-MAC: A MAC Protocol for Opportunistic Spectrum Access in Cognitive Radio Networks

    This full text paper was peer reviewed at the direction of IEEE Communications Society subject matte ...

  7. [Twisted] transport和protocol解耦

    Twisted中transport和protocol完全解耦. 这样设计的优点: 1.不同的Protocol协议实现可以重用相同类型的transport. 2.方便测试:假如测试一个协议实现,可以使用 ...

  8. 传输控制协议--- Transmission Control Protocol (TCP)

    Transmission Control Protocol (TCP) 用于网络通信的传输控制和网络协议套件,包括很多协议,其中最主要的是TCP和IP协议.TCP/IP属于UNIX类系统的内置协议,被 ...

  9. TCP(Transmission Control Protocol)学习笔记

    一.TCP(Transmission Control Protocol)原理介绍(参考维基百科) TCP连接包括三种状态:连接建立.数据传送和连接终止. TCP用三路握手(three-way hand ...

随机推荐

  1. abiword Namespace List

    abiword Namespace List Here is a list of all namespaces with brief descriptions: abicollab  这个命名空间以及 ...

  2. Effective Java2读书笔记-创建和销毁对象(一)

    第1条:考虑用静态工厂方法代替构造器 通常情况下,我们创建一个对象采取new的形式,但是还有一种方法也是经常使用到的,它的名称叫做静态工厂方法. 例如,java中基本类型boolean的包装类Bool ...

  3. LeetCode_Longest Common Prefix

    Write a function to find the longest common prefix string amongst an array of strings. class Solutio ...

  4. LeetCode_Jump Game

    Given an array of non-negative integers, you are initially positioned at the first index of the arra ...

  5. QT---线程间通信(要先编译libqt-mt.so?)

    在 Qt 系统中,运行着一个GUI 主事件线程,这个主线程从窗口系统中获取事件,并将它们分发到各个组件去处理.在 QThread 类中有一种从非主事件线程中将事件提交给一个对象的方法,也就是 QThr ...

  6. SQLServer XML类型

    SQL Server从2005起开始支持xml类型,这个数据类型对于后期的改变非常有用.一对多的关系在后期变成了多对多的关系,XML类型就是一个不错的选择. 1.创建测试数据 创建表 --创建表,包含 ...

  7. 如何从Eclipse导入github上的项目源码

    1.首先在github.com上申请一个账号,比如笔者的账号为puma0072.Eclipse需要安装egit插件,在Eclipse中选择help->Marketplace,在search中输入 ...

  8. C语言的本质(36)——makefile基础

    除了Hello World这种极简单的程序之外,一般的程序都是由多个源文件编译链接而成的,这些源文件的处理步骤通常用Makefile来管理.makefile带来的好处就是--"自动化编译&q ...

  9. java 防止sql注入的方法(非原创)

      一.SQL注入简介       SQL注入是比较常见的网络攻击方式之一,它不是利用操作系统的BUG来实现攻击,而是针对程序员编程时的疏忽,通过SQL语句,实现无帐号登录,甚至篡改数据库. 二.SQ ...

  10. Eclipse插件Mylyn管理上下文任务管理

    原文地址:http://www.ibm.com/developerworks/cn/java/j-mylyn1/ Mylyn 2.0,第 1 部分: 集成的任务管理 使用集成的 Eclipse 问题跟 ...