不同仿真参数下NS2的TCP吞吐量性能
原文作者 Dr. Neeraj Bhargava1, Dr. Ritu Bhargava2, Anchal Kumawat3, Bharat Kumar4
单位 1Associate Professor, Dept. of Computer Science , School of Engineering amp; Systems Science, MDS University,
Ajmer ,Rajasthan, India.
2 Lecture, Department of MCA, Govt. Women‟s Engineering College, Ajmer, Rajasthan, India.
3MCA Scholar, Dept. of Computer Science, School of Engineering amp; Systems Science, MDS University, Ajmer,
Rajasthan, India
4Research Scholar, Department of Computer Science, MJRP University, Jaipur, Rajasthan, India
摘要:NS2是一个用于网络研究的离散事件模拟器,它在数据包层面上工作。在这里,我们将使用NS2来模拟网络中TCP和UDP数据包的流量拥塞。NS2被广泛应用于模拟路由和组播协议,并被大量用于Ad-Hoc网络研究。NS2支持多种网络协议(TCP、UDP、HTTP、 路由算法、MAC等)。主要用于提供有线和无线网络的模拟结果。当使用TCP传输数据时,两个最重要的因素是TCP窗口大小和往返延迟。本文通过使用包延迟(sec)、带宽、文件大小(字节)等仿真参数,研究了流量控制窗口大小对TCP连接吞吐量的影响, 并实现了TCP流量和背景流量的网络馈送。本文的目的是为了观察TCP的性能。
关键词:NS2;TCP;Nam;gnuplot;XGraph;TCP吞吐量分析
1.简介
传输控制协议(TCP)是互联网协议套件的核心协议之一。TCP是该套件的两个原始组件之一,是对 Internet协议(IP协议)的补充,因此整个套件通常称为TCP/IP。TCP提供从一个程序到不同计算机上的另一个程序的可靠的、有序的八进制数据流的传输。TCP是一种被应用在大多数互联网应用中的协议,例如WWW(万维网)、电子邮件、远程管理和文件传输等。如果是不需要可靠的数据流服务的其他应用程序,可以使用用户数据报协议(UDP),其提供的数据报服务强调减少延迟而不是可靠性 [1]。
TCP是一种传输层协议,被使用于需要保证传输的应用程序。它是一种滑动窗口协议,提供对超时和重新传输的处理。TCP是TCP/IP网络中的主要协议之一,而IP协议只处理数据包。TCP使两台主机能够建立连接并交换数据流。TCP保证数据的传送,并且数据包将按照发送时的顺序传送。检验TCP性能的传统方法是模拟、实施和测量。然而,已经努力将TCP的吞吐量作为参数(如丢包率和往返时间)的函数进行分析[2][8]。 TCP代理TCP代理不产生任何应用数据。相反,模拟用户可以将任何流量生成模块连接到TCP代理以生成数据。TCP通常使用两种应用程序:FTP和Telnet。FTP代表大容量的批量数据传输,而Telnet则随机选择其传输大小[2]。有两种主要的TCP代理类型:单向代理和双向代理。 单向代理被进一步细分为一组TCP发送方(其遵循不同的拥塞和差错控制技术)和接收方(汇点)。 双向代理在表示发送者和接收者的意义上是对称的。TCP最初是为有线网络设计的,但当它被应用于ad-hoc场景时,将面临着性能下降的问题。
2.模拟
a.仿真模型
图 1仿真模型的数量结构。
如图1所示。它是一个由8个节点组成的模拟网络。以下是创建仿真的步骤。
节点2和节点5可以被假设为路由器。节点2和节点5链路被限制为20个包的队列大小,而所有其它链路被限制为50个数据包大小。 在节点1和节点6之间的TCP连接上创建FTP流量。该连接充当TCP Reno。这个TCP连接的最大拥塞窗口大小为40个数据包,数据包大小为280字节。将TCP的超时周期设置为0.2秒以上,否则不会创建模拟。本文对FTP的限制是从0.0秒开始,直到15秒结束。在0号节点和6号节点之间的UDP连接上添加CBR流量。该CBR服务以每秒100个数据包的速率生成和发送数据包。CBR源开始于2.0秒,持续7秒。
进一步在3号节点和6号节点之间之间添加速率为600KPBS的VBR视频流量。对指数流量使用切换,将开启周期设置为150ms,关闭周期设置为100ms。每个CBR和VBR数据包的大小为280字节。VBR开始于7.0秒,11秒结束。在整个模拟时间内,应监视并绘制CBR和VBR流量的拥塞窗口大小和带宽。TCP、CBR和VBR的平均吞吐量将从迭代中获得[9][15]。
b. 仿真参数
该网络模型将在网络动画工具的帮助下生成,在运行TCL脚本后,考虑以下模拟参数,如 表1所示。
表 1 仿真参数
信道 |
信道/无线 |
网络接口 |
无线 |
NS版本 |
ns-2 |
CBR 数据包大小 |
1280 字节 |
接口队列 |
Drop Tail(一种队列管理机制) |
队列长度 |
50 |
节点数量 |
8 |
仿真区域大小 |
800*600 |
仿真时间 |
60 秒 |
VBR 数据包大小 |
1280 字节 |
数据包速率 |
1600k |
突发时间 |
750毫秒 |
空闲时间 |
1100 |
3.方法论
图 2 数据流图
- 第一步
创建一个主文件,并将结果打印到 “out.Nam”文件。动态网络模型的结构,如图3(a) 所示。主文件的创建包括以下步骤:
bull; 开始创建模拟器对象。
bull; 为数据流定义不同的颜色。
bull; 打开输出文件和网络动画跟踪文件。
bull; 为了显示结果,启动Xgraph。
bull; 在跟踪文件上执行网络动画器。
bull; 创建八个节点和节点之间的链接节点,同时设置所有8个节点的方向节点。
bull; 监测不同节点之间的链接队列不同节点之间的链接。
bull; 创建一个UDP代理,并将其附加到节点0,创建一个CBR流量源,并将其附加到节点0的UDP上。
bull; 创建一个TCP代理并将其附加到节点1到节点6,然后设置TCP连接。
bull; 创建VBR流量源并将其附加到另一个节点,即节点3。
一个程序将会被创建,用于周期性地记录两个流量汇点0/1所收到的带宽,两个流量接收器接收0/1并把它写到三个文件f0/1。
bull; 为了再次调用该程序,将时间设置为0.05秒,然后找出有多少个字节被流量接收器接收进一步计算带宽(MBit/s),并将其写入所需的文件中。
bull; 重置流量接收器上的上述计算字节值。
bull; 重新安排程序,其时间被设定为0.05秒。创建两个损失监视器,例如流量监视器接收器和流量源,然后将它们连接到节点6。
bull; 使用收到的带宽开始日志记录。为CBR代理安排事件,并在5秒的模拟时间后调用finish过程。
图 3 (a)动态网络模型(b)'Nam'窗口
- 第二步
完成模拟后,我们将生成两个Xgraph窗口,如图4(a)和图4(b)所示。模拟窗口也被称为nam窗口,如图3(b)。
图 4 (a) Xgraph窗口显示TCP的跟踪文件。(b) Xgraph窗口显示CBR和VBR的跟踪文件
和VBR
- 第三步
上述两个Xgraph的数据将被显示在out.nam文件中,该文件可以表达如下-
-t 0 -s 1 -d 2 -p tcp -e 40 -c 2 -i 0 -a 2 -x {1.0 7.0 0 ------- null}
- -t 0 -s 1 -d 2 -p tcp -e 40 -c 2 -i 0 -a 2 -x {1.0 7.0 0 ------- null}
-t 0.001064 -s 2 -d 5 -p tcp -e 40 -c 2 -i 0 -a 2 -x {1.0 7.0 0 ------- null}
在这一部分中,只有传输控制协议和传输控制协议确认数据包,但真正的out.nam文件大约有12MB。一些字符被表示为– R:已接收, :已排队,-:已出队,H: 已路由,D:已丢弃。第一行将被解释为 -t 0.001064 -s 2 -d 5 -p tcp -e 40 -c 2 -i 0 -a 2 -x {1.0 7.0 0 ------- null}。它以数据包排队的方式阐述了在时间0.00 1064从2号源节点,到5号目的节点,协议为TCP,包大小为 40字节,流ID(-C)为2(CBR和VBR没有流ID), 包号为(-I)0。分配编号在编写awk脚本(如$1, $2,$3...,$15,其中行$1(R,T, ,-,D)中的第一个元素表示为状态,第二个元素$2不用于特定目的,行$3中的第三个元素表示为时间并且$15表示为流ID。
- 第四步
awk脚本在主文件中定义了瞬时延迟和吞吐量,在主文件中使用不同的参数进行计算,如数据包大小、 数据确认、CBR速率、数据的CBR速率和模拟时间、VBR速率、数据的VBR速率和模拟时间、TCP速率、 TCP数据和模拟时间以及数据包大小,以找到吞吐量和瞬时延迟。在定义所有参数之后,awk文件将显示awk文件的输出将存储在Nam文件中。结果如图5所示。TCP发送了1238个ACK,其中1201个被发送;CBR发送了34个数据包,其中33个被发送,吞 吐量为34.5546kbps;VBR发送了414个数据包,其中161个被发送,吞吐量为990.032kbps;系统吞吐量以kbps为单位。
图 5 输出窗口显示吞吐量结果
- 第五步
在以下如图6所示代码的帮助下创建即时延迟文件。使用gnuplot绘制一段时间内的即时延迟的图像。gnuplot是一个可视化工具,如下所示:
图 6 用于即时延迟代码的gnuplot
图形将在定义完数据集后生成,并且实验将通过gnuplot完成。绘制数据后,所得结果如图7所示。
图 7 瞬时延迟的gnuplot
- 第六步
为了找到即时吞吐量,将使用以下如图8所示代码。编写代码后,结果将如图9所示。
图 8 用于即时吞吐量代码的gnuplot
图 9 用于即时吞吐量的gnuplot
- 结论
本文总结了衡量TCP性能的方法,以及在ns2软件的帮助下生成的模拟结果。为了更好地理解这些参数,已经使用 Ns2 运行了几次模拟。结果表明,Ns2是一个完美实现这个目标的工具。
外文文献出处:International Journal of Advanced Computer Research (ISSN (print): 2249-7277 ISSN (online): 2277-7970) Volume-2 Number-4 Issue-6 December-2012
附外文
剩余内容已隐藏,支付完成后下载完整资料
英语原文共 5 页,剩余内容已隐藏,支付完成后下载完整资料
资料编号:[596242],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。
您可能感兴趣的文章
- 为非政府组织OG慈善基金会设计的基于社区的救灾管理系统外文翻译资料
- 基于UML建模的医疗系统电子健康服务软件外文翻译资料
- 开发一种具有增强现实功能的智能手机应用程序, 以支持护理学生对心衰的虚拟学习外文翻译资料
- 在开发 Web 应用程序中应用 Vue.JS 框架外文翻译资料
- 基于MES系统的生产车间信息管理研究外文翻译资料
- 基于Vue.js和MySQL的电子商务平台的设计与实现外文翻译资料
- 详细的Spring配置和SpringBoot外文翻译资料
- 基于NS2的DSR和AODV协议的性能比较研究外文翻译资料
- 不同仿真参数下NS2的TCP吞吐量性能外文翻译资料
- 基于Spring Boot和VUE的车辆管理系统实现外文翻译资料