99网
您的当前位置:首页用NS2开发不同版本TCP协议的性能对比实验

用NS2开发不同版本TCP协议的性能对比实验

来源:99网
第31卷第3期 2010年6月 韩山师范学院学报 Vl0l_31 No.3 Jun.2010 Journal of Hanshan Normal University 用NS2开发不同版本TCP协议的性能对比实验 黄镇建 ,蔡群英2 (1.韩山师范学院物理与电子工程系,广东潮州521041;2.韩山师范学院数学与信息技术系,广东潮卅I 521041) 摘要:NS2在教学和科研中已得到广泛的应用.文章提出用NS2设计一个TCP协议性能对比 实验,并详细介绍了实验开发过程.实验中,学生能直接观察到拥塞窗口的变化,从而领会 实验现象的本质,有助于学生实践能力和创新能力的培养. 关键词:网络模拟;NS2;TCP协议;拥塞窗口 中图分类号:TP393 文献标识码:A 文章编号:1O07_6883(2010)03—0057-04 网络实验室投资大、管理难,因为它不同于一般的程序设计实验,只需要提供一个软件环境就能 进行编程、测试以完成正常的教学实验[1],比如在讲授不同版本的TCP协议的性能差异时,学生由于 不能用“看”的方式直接观察到TCP拥塞窗口的变化,从而难以领会现象的本质,一知半解,教学效果 大打折扣,“计算机网络”课程的实验一直是许多学校在进行正常教学过程中难以解决的问题.基于上 述原因,本文尝试用NS2开发一个“不同版本TCP协议的性能对比”的实验项目,通过该实验,学生分 析相关的实验数据,能直观地观察 ̄lJTahoe¥1Reno协议中TCP拥塞窗口的变化,能很好地体会到两种 不同版本的TCP协议的性能差异,获得较好的教学效果. 1 网络模拟软件NS2的概述 NS2的最大价值体现在为网络研究者 提供各种模拟网络环境,目前大部分的网 络实验都是利用NS2进行的.网络模拟并不 是研究网络的唯一方法,但却非常有效, 因为模拟比构建真实网络环境节省了大量 的时间和成本[2.利用NS2进行模拟的流 2]程如图1所示,NS2采用开放的体系结构, 集成了局域网、广域网、蜂窝和卫星网络 的大量构件.这些构件都采用对象模 型来实现,也就是说构件的主要功能通常 在C+十(编译类)中实现,而OTCL(解释 收稿日期:2009-12-08 图1 NS2模拟流程图 作者简介:黄镇建(1975一),男,广东潮州人,韩山师范学院物理与电子工程系实验师 57 类)语言则被用来配置网络模拟场景.由于仅仅是要观察Tahoe和Reno协议TCP拥塞窗口的变化,所 以实验中,学生只要运行老师编写的TCL脚本,把精力集中到实验数据和实验现象的分析就可以了. 也就是说,实验中只要利用NS2中提供的现成构件Tahoe] ̄Ren9来编写TCL脚本,而不用花大量的时 间和精力去编写C++源代码实现相关的网络构件,大大减轻了学生编写源代码的压力[。~4。. 2 Tahoe和Reno协议TCP拥塞窗口观察实验 2.1 Tahoe ̄Reno协议的概述 TCP是运输层的协议,现行使用的TCP协议分为几个版本, ̄HTahoe、Reno、NewReno、Vegas、 Sack等,实际应用中,不同版本的TCP协议,其性能也是不同的.TCP使用ACK以及重送的方法 来提供全双工的可靠性服务【5】,TCP使用拥塞窗口机制控制分组被传送到网络上的数量.一般情况 下,TCP的拥塞控制分为慢启动、拥塞避免价段、快重传、快恢复和超时重传五个价段[6].在调整传 送速度时,则以慢启动门槛(ssthresh)Sncwnd来区分慢启动和拥塞避免,其关系如式(1)所示【7】. I慢启动 Cw ={I拥塞避免 I  Cwnd(t)+1,ifcwnd(t)<ssthresh ‘ (1) I Cwnd(t)=1/cwnd(t),ifcwnd(t)>=ssthresh TCP早期版本称之为T£Lhoe,它可以分为以下4个步骤:  ̄:cwndd,于ssthresh时,采用慢启动机制来获取网络可用带宽.收到一个应答包后,cwnd=cwnd+1; 当cwnd大于ssthresh时,进入拥塞避免状态,并重新探测可用带宽.收到窗中所有包应答后,cwnd= cwnd+1: 当收到3个相同ACK时,重发ACK指示的包,并重新对cwnd ̄ssthres赋值,ssthresh=cwnd/2,cwnd=1; 当重传定时器超时,则再次进入慢启动价段. TCP Reno是目前最广泛使用的TCP版本,与Tachoe的不同的是,TCP Reno以快速重传取 代TCP Tachoe在重送丢失的分组后就立即进入慢启动方式.TCP Reno在使用快速重传丢失的分组 后,会将ssthresh ̄cwnd值都设为1/2,cwnd值从拥塞避免价段开始. 2.2构建实验模型 因为cwnd的值能直接反映TCP协议的传输性能,所以本文实验的主要目的就是观察Tahoe及Reno 两种协议TCP拥塞窗口的变化.实验中,可以利用NS2提供的现成构件,用TCL语言构建如图2的实 验模型,非常方便快捷.图中,R1和R2是路由器,R1SnR2之间的链路是1 M,延迟时间为4 ms,队列 管理机制为droptM1,且只建立一条FTP连接.构建实验环境的部分TCL代码如下所示: FTPSource FTPS触 图2实验模型 58 2.3实验结果分析 实验中,设定队列长度为18,FTP Source 1.0N10.0 s向FTP Sink发送流量,与此同时,设定 一个文件f来记录cwnd的数值,每隔0.01 s就记录一次,然后利用gnuplot ̄E具来画图.当TCP协议 为Tahoe时,可以看到拥塞窗Dcwnd变化情况如图3所示,当TCP协议为Reno,cwnd变化情况如 图4所示,对比图35H图4,我们能清楚地比较Tahoe协议和Reno协议性能上的差别. TaI—,oe co ̄tionⅥindO0 图3 Tahoe协议cwnd窗口变化 竹穑c I #tl硼 in 0 图4 Reno协议cwnd窗口变化 从图3中不难发现,Tahoe协议开始执行时,cwnd从1开始进入慢启动价段,当收到接收端一 个ACK时,cwnd便增加1,当cwnd的值超过慢启动门槛ssthresh时,进入拥塞避免阶段.当R1和R2之 间的链路的分组不断增加而超过允许传送到网络上的个数时,就会产生丢包现象,这时路由器就会使 用Droptail机制将包丢弃.Tahoe协议这时将ssthresh设为包丢失时窗口值的一半,并将cwnd的值重设 为1,从图3中可以发现,这是一个重复变化的周期性过程.每次发生包丢失,Tahoe都从慢启动开始. 59 图4为Reno协议的拥塞窗Hcwnd变化情况,当探测到包丢失时,ssthresh和cwnd的值都会被设为 先前cwnd ̄l/2,重发丢失的包后,Reno会由拥塞避免价段开始,cwnd值也由先前cwnd的1/2处开 始增加,所以Reno的平均吞吐量较Tahoe好一点. 3 小结 本文介绍了利用NS2现有构件开发一个TCP协议性能对比实验的过程.实际应用中,还开发  ̄INewReno、Sack、Vegas等协议的分析和比较以及影响TCP性能因素等实验项目,希望为“计算机 网络”课程的实验教学提供一种新的思路和方法.通过这样的实验,一是有利于培养学生研究和创新能 力,二是有利于加深对学习内容的理解.面对以能力培养为中心的教学模式,开发类似的研究性实验 项目,将在培养学生创新能力和综合素质方面发挥更大的作用. 参考文献: 【1】王绍卜.“计算机网络”课程实验教学探讨[J].实验室研究与探索,2005,24(1):65—66. f2徐雷鸣,庞博,赵耀.NS与网络模拟f2JM1.北京:人民邮电出版社,2003:1—10. 【3]张遥,王群.用NS2开发计算机网络性能测试实验【J].实验室研究与探索,2008,27(8):60—63. 【4】方路平,刘世华等.NS.2网络模拟基础与应用【M】.北京:国防工业出版社,2008:16—17. [5】冯博琴.计算机网络【M】.第二版.北京:高等教育出版社,2004:331—336. 『6】谢希仁.计算机网络【M】.第4版.北京:电了工业出版社,2004:262—266. f7】茹新宇,刘渊.COS.Slow.Start:一种新的TCP慢启动策略fJ】.计算机工程,2008,34(5):116—118. A Comparative Experiment on the Perfomance of Diferent V-ersions TCP Protocol Based on NS2 Simulation HUANG Zhen-jian ,CAI Q 礼一yinf (1.Department of Physics and Electronic Engineering,Hanshan Normal University,Chaozhou 521000,China; 2.Department of Mathematics and Information Technology,Hanshan Normal University,Chaozhou 521000,China) Abstract:NS2 simulation is widely used in education and research.An experiment is designed to compare the performance of TCP protocol,and experimental procedure has been introduced in details.In the experiment,students can directly observe the change of congestion window,then understand the nature of experimental phenomena.This experimental project introduces a new method to the experimental teaching courses about computer network,it carl help students to improve the ability of practice and creativity. Key words:network simulation;NS2;TCP protocol;congestion window 责任编辑朱本华 

因篇幅问题不能全部显示,请点此查看更多更全内容