免费论文查重: 大雅 万方 维普 turnitin paperpass

NS2仿真软件在TCP协议教学中应用-大专

最后更新时间:2024-03-29 作者:用户投稿原创标记本站原创 点赞:31610 浏览:145585
论文导读:节点的发包情况,以及中间节点的存储转发、丢包等多种情况。这样,学生会很直观、真实的理解所学内容。(三)静态数据分析除了采用Nam工具向学生动画演示TCP协议的运行过程外,仿真模拟的另一个目标是对模拟仿真产生的数据跟踪文件(简记为TR文件)进行静态分析,即采用Grep或Gawk数据处理工具对TR文件中的数据进行处理,然后
[摘要]网络仿真工具NS2应用于TCP协议的教学活动中,不仅可以向学生动态的显示TCP 数据流的流向、数据包丢弃等状态,而且可以静态的分析TCP协议的序号--确认的机制、窗口与流量控制和动态拥塞控制等方面的内容,从而使课堂教学活动变得生动、形象、直观,学生更好的理解和掌握TCL协议的本质和内涵。
[关键词]TCL协议NS2仿真教学
一、引言
TCP,即传输控制协议,是目前网络上使用最多的一种传输协议,它与IP协议相结合,组成了因特网协议的核心。TCP协议采用各种机制(如采用序列号、确认、滑动窗口、流量控制和拥塞控制等)来保证端到端结点之间的可靠数据传输。在传统的教学模式中,一般只能从理论上分析TCP协议的各种机制,无法使用试验手段让学生获得感性认识,原因是构建一个试验的网络环境是非常困难的,即使真实的网络环境可以获得, 然而这种非理想的场景中影响因素众多, 学生难以了解到各种因素带来的真正效果。因此,大多数学生感觉这些内容比较抽象空洞,难以理解和掌握,如此教学使得学生索然无味, 失去学习兴趣。
目前,网络仿真技术广泛的应用在科学研究上。网络仿真是使用计算机技术构造网络拓扑、实现网络协议的模拟网络行为,它包括网络拓扑仿真、协议仿真和通信量仿真, 模拟网络流量在实际网络中传输、交换等的过程。它能获取特定的网络特性参数, 进而可对网络性能进行研究和分析[3、4、5]。目前应用最为广泛的网络仿真软件是NS2[6]。它是一款源代码开放且免费的模拟软件,任何人都可以获得、使用和修改其源代码,因此使用NS2来构建特殊的网络仿真实验教学环境变得既灵活又方便迅速[7]。
因此,将网络仿真软件NS2应用到TCP协议的教学活动中,通过Nam工具的动画演示可以清晰地向学生演示网络协议的运行过程,这有利于帮助学生掌握知识难点,提高学生的学习兴趣[8]。同时,通过对比演示和仿真结果的追踪分析,可以使学生理解各种环境或因素对TCP协议及各种机制的影响,以及各种策略的优缺点,从而能切身体会和理解网络基础理论的实质,将抽象的网络概念形象化,把源于:7彩论文网论文www.7ctime.com
枯燥的网络原理具体化。

二、TCP协议的网络仿真教学

(一)网络仿真模型

在采用NS2仿真模拟TCP协议的教学过程中,所建立的网络仿真模型包含两个传输节点n0和n1、路由器n2和接收端n3,其中n0到n2之间与n1到n2之间的网络带宽都是2Mbps,传输延迟时间是10ms。网络架构中的带宽瓶颈在n2到n3之间,带宽为1.7Mbps,传输延迟的时间为20ms。所有链路的队列管理机制都是采用DropTail方式,且n2到n3之间的最大队列长度是10个数据包的长度。
此外,在n1到n3之间的固定传输速率的连接(Constant BitRate,CBR),采用UDP传送数据,传送速度为1Mbps,每个数据包大小为1Kbytes。CBR是在0.1秒开始传送,在4.5 秒结束传输。在n0到n3之间进行FPT连接,采用TCP传送数据,每个数据包长度为1Kbytes。FTP是在0.5秒开始传送,4.0秒结束传输。

(二)Nam动画演示

为了让学生理解TCP和UDP数据流的流向、数据包丢弃等状态,采用动态显示工具NAM运行网络模拟仿真所产生的NAM文件,并在动画演示过程中截取了2个关键帧,如图1、图2。其中红色的小方块表示UDP数据流,蓝色的小方块表示TCP 数据流,蓝色的小斜(竖)线条表示TCP应答包(ACK),而大方块(红色或蓝色)表示因为队列满而丢弃的数据包。

从图1中,我们可以粗略的了解TCP协议采用序号--确认的机制来实现相邻结点之间的可靠数据传输。在TCP协议中,发送方将每个已发送的报文段备份在自己的发送缓冲区里,并且在收到相应的确认之前是不会丢弃所保存的报文段的。同时,发送方在每一个报文段发送完毕时启动一个定时器,假如定时器的定时期满而关于报文段的确认信息尚未到达,则发送方认为该报文段已丢失并主动重发。接收端在正确收到报文段之后向发送端回送一个确认(ACK)信息。此外,为了避免由于网络延迟引起迟到的确认和重复的确认,TCP规定在确认信息中捎带一个报文段的序号,使接收方能正确地将报文段与确认联系起来。如在图1中,节点0向节点发送一个数据包(蓝色的小方块表示)后,节点2向节点0发送一个ACK确认包(用蓝色的小斜/竖线条表示)。
在数据传输过程中,随着数据流的递增,开始出现网络拥塞现象,并发生数据包丢失现象(图2),这是由网络带宽受限、缓冲区大小等多种因素引起的。但当发生网络拥塞后不久,网络似乎恢复了正常,这是因为网络数据包减少的原因,即TCP使用慢启动机制,在链路上只有少量的数据包发送,但随后又出现网络拥塞的现象。这种拥塞现象周而复始,直到FTP传输结束后,网络才恢复了正常。
在NAM动画演示过程中,还可以进行调整,如单独演示两个节点的发包情况,以及中间节点的存储转发、丢包等多种情况。这样,学生会很直观、真实的理解所学内容。

(三)静态数据分析

除了采用Nam工具向学生动画演示TCP协议的运行过程外,仿真模拟的另一个目标是对模拟仿真产生的数据跟踪文件(简记为TR文件)进行静态分析,即采用Grep或Gawk数据处理工具对TR文件中的数据进行处理,然后将处理后所得的结果采用Xgraph或Gnuplot绘图工具,以静态图表的形式向学生展示出来,或者让学生学会静态分析,以便得到关于TCP协议更详细、更准确的信息。
1)序号与确认
图3是采用Gawk工具从TR文件中提取与TCP数据流相关的部分数据。在TR文件中,每一条记录表示一个事件,其中第一个字段表示数据包事件发生的原因,r表示数据包被某个节点所接收,+表示入队,-表示出队,d表示数据包丢失。第二个字段表示事件发生的时间。字段三表示事件发生的起始地点;字段四表示事件发生终端地点;字段五和字段六分别表示包的类型和大小;字段七表示包的标识;论文导读:。图4是在链路n2-n3之间只传输TCP数据流时,节点0的发送窗口为20(在图中用w20.tr表示)和30(在图中用w20.tr表示)的平均网络流量对比图,从图中可知,发送窗口为30的平均网络流量开始时高于发送窗口为20,但随着时间的增加,有时其流量明显低于发送窗口为20,表现出极差的性能。从中可以看出,采用滑动窗口机制虽然可以对网络进行流量
字段八表示包属于哪一个资料流;字段九和十分别表示数据包的源节点和目的节点,它的格式是(节点编号.端口号),最后两个字段分别表示包的序号和ID。
从图3所示的这些数据中,我们可以看到,在0.5秒,节点0经节点2向节点3发送一个大小为40的连接请求(第一、二行),第三、四行表示节点3经节点2向节点0发送一个ACK包,表示同意建立连接。从第五至八行表示节点0经节点2向节点3发送两个数据包,而第九到十二行表示节点3经节点2向节点0回送两一个ACK包,等等。通过对这些数据进行分析,可以清楚的向学生解释TCP的三次“握手”和序号与确认机制。
2)窗口与流量控制
在TCP数据传输过程中,由于数据的发送方和接收方并不一定有相同的数据处理能力,为了避免数据发送过快而超过对方的接收能力,TCP采用大小可变的滑动窗口进行流量控制。接收方在TCP的包头里面通告了发送方自己的接收窗口,也就是还能够接收的最多的数据包,这样TCP就不会过度发包而超过对方的接收能力。但在通信的过程中,接收端可根据自己的资源情况,随时动态地调整对方的发送窗口上限值(可增大或减小)。
窗口的大小代表能够发送出去的但还没有收到ACK的最大数据报文段,显然窗口越大那么数据发送的速度也就越快,但是也有越可能使得网络出现拥塞。图4是在链路n2-n3之间只传输TCP数据流时,节点0的发送窗口为20(在图中用w20.tr表示)和30(在图中用w20.tr表示)的平均网络流量对比图,从图中可知,发送窗口为30的平均网络流量开始时高于发送窗口为20,但随着时间的增加,有时其流量明显低于发送窗口为20,表现出极差的性能。从中可以看出,采用滑动窗口机制虽然可以对网络进行流量控制,但滑动窗口的尺寸必须维持在一定的数量之下,当超过该数值时,网络的性能会急剧恶化。

四、小结
采用网络仿真工具NS2,不仅可以向学生动画演示TCP协议的运行过程,而且可以将TCP协议的序号--确认的机制、窗口与流量控制和动态拥塞控制等方面的内容以静态图表的形式向学生展示出来。此外,还可以让学生学会静态分析,以便得到关于TCP协议更详细、更准确的信息。通过网络仿真模拟,对TCP协议中关于流量控制、网络拥塞相关原理进行验证,使学生深入理解带宽、传输速率、缓存等资源的相互作用与关系;同时,通过学生自行设计网络控制机制,解决网络传输性能,培养他们创新思维、提供动手能力。这充分体现了实验教学和理论教学相互促进、不可分割的规律。
*本文得到湖南财政经济学院教改课题和湖南省教育厅课题(11C0221)的联合资助。
[参考文献]
柯宗武,洪家平,童钰,陈年生,董武世.基于NS2的网络教学研究[J]. 湖北师范学院学报(自然科学版),2005,25(4):65-69
弋改珍.网络仿真在网络课程教学中的应用与实践[J].湖州师范学院学报,2008,30(2):120-124
[3]张遥,王群.用NS2开发计算机网络性能测试实验[J].实验室研究与探索,2008,27(8):60-62
[4]包斌,詹自熬.ns2深度探索及在网络传输性能分析中的应用[J].通信技术,2009,42(5):155-160
[5]陈春梅.基于NS2的网络仿真与性能分析[J].通信技术,2010,43(8):48-50
[6]The Network Simulator-ns-

2.www.isi.edu/nsnam/ns/

[7]张琪,谢慧,聂峰.基于NS2的网络仿真实验教学研究[J].计算机教育,2010(10):144-146
[8]高茜.计算机网络课程教学中网络仿真辅助教学方法的探讨[J].计算机教育,2010(23):70-73
(作者单位:湖南财政经济学院信息管理系 湖南长沙)