Performance of Transport Control Protocol over Dynamic Spectrum Access Links
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的更多相关文章
- 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 ...
- A Survey of Dynamic Spectrum Access
这是2007年IEEE Signal Process 杂志上的一篇文章.综述DSA的.正如文章最后所说,DSA/OSA(Opportunity Spectrum Access)还处于襁褓期,在技术.政 ...
- Internet History, Technology, and Security(week6)——Technology: Transport Control Protocol(TCP)
前言: 这周开始学习分层网络模型的第三层,传输层. Transport/Reliability: Transport Layer TCP层的目的是补偿IP层中可能出现的错误,并充分利用可用资源.由于I ...
- DSASync: Managing End-to-End Connections in Dynamic Spectrum Access Wireless LANs
其实跟上一篇是同一篇文章.不过上一篇是发表在IEEE Secon2010了,这篇是后来又增加了部分内容后的一版,收录在IEEE/ACM TRANSACTIONS ON NETWORKING, VOL. ...
- Managing TCP Connections in Dynamic Spectrum Access Based Wireless LANs
2010年IEEE Secon的一篇文章.当然了,应该是之前就写好了,发表过,还是直接投到Secon了呢?直接投的吧,Secon不接受已发表过的吧. 本文的着笔点:有线网与DSAN(启用了DSA特性的 ...
- 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 ...
- [Twisted] transport和protocol解耦
Twisted中transport和protocol完全解耦. 这样设计的优点: 1.不同的Protocol协议实现可以重用相同类型的transport. 2.方便测试:假如测试一个协议实现,可以使用 ...
- 传输控制协议--- Transmission Control Protocol (TCP)
Transmission Control Protocol (TCP) 用于网络通信的传输控制和网络协议套件,包括很多协议,其中最主要的是TCP和IP协议.TCP/IP属于UNIX类系统的内置协议,被 ...
- TCP(Transmission Control Protocol)学习笔记
一.TCP(Transmission Control Protocol)原理介绍(参考维基百科) TCP连接包括三种状态:连接建立.数据传送和连接终止. TCP用三路握手(three-way hand ...
随机推荐
- Hdu1089
#include <stdio.h> int main() { int a,b; while(scanf("%d %d",&a,&b)!=EOF){ p ...
- Qt 文件搜索(写入文本文件)
代码无意间在网上找到,下载回来后改了几个格式,编译后经测试可以正常使用,这个个文件搜索的很好的例子,有两种搜索方式:一种是按文件名作为关键字进行搜索,一种是以文档中所包含的关键字进行搜索,贴两张图先: ...
- How To Compile Qt with Visual Studio 2010
This post is a step-by-step guide on how to compile Qt 4.x.x with MSVC 2010. Although we use Qt 4.7. ...
- Debug of bash , perl and python
1.bash -x script 2.perl -d script 3. python -m pdb script n: execute the next line s: execute the ...
- EasyUI DataGrid定制默认属性名称
EasyUI DataGrid绑定服务器返回Json数据的解决方案 1. 服务器返回的数据对象格式,及初始化返回值 public class RequestResult { private int c ...
- IOS Custom NavigationItem --写titleView
//先自己写一个titleView UIView *titleView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 200, 20)];//all ...
- SQL Server 2000 函数使用---CAST 和 CONVERT
本文来自:http://www.cnblogs.com/xh831213/category/47654.html 将某种数据类型的表达式显式转换为另一种数据类型.CAST 和 CONVERT 提供相似 ...
- 字符串和数字的全排列问题、前i位被i整除问题
// 全排列问题.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> using names ...
- linux 能访问内网,但不能访问外网?解决方案
用iptables就可以了 iptables -F iptables -t nat -F iptables -A INPUT -s -d -j ACCEPT iptables -A INPUT -d ...
- c++如何生成随机数
一.使用rand()函数 头文件<stdlib.h> (1) 如果你只要产生随机数而不需要设定范围的话,你只要用rand()就可以了:rand()会返回一随机数值, 范围在0至RAND_ ...