毕业设计基于OPNET的TCP协议研究与仿真.doc

上传人:龙*** 文档编号:1005418 上传时间:2018-11-14 格式:DOC 页数:25 大小:4.83MB
下载 相关 举报
毕业设计基于OPNET的TCP协议研究与仿真.doc_第1页
第1页 / 共25页
毕业设计基于OPNET的TCP协议研究与仿真.doc_第2页
第2页 / 共25页
毕业设计基于OPNET的TCP协议研究与仿真.doc_第3页
第3页 / 共25页
毕业设计基于OPNET的TCP协议研究与仿真.doc_第4页
第4页 / 共25页
毕业设计基于OPNET的TCP协议研究与仿真.doc_第5页
第5页 / 共25页
点击查看更多>>
资源描述

1、 题 目: 基于 OPNET 的 TCP 协议研究与仿真 姓 名: 关记红 学 号: 200905050071 系 别: 物理与电子工程系 专 业: 电子信息工程 年级班级: 2009 级 1 班 指导教师: 姚遥讲师 2013 年 5 月 18 日毕业论文(设计)作者声明本人郑重声明:所呈交的毕业论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。本人完全了解有关保障、使用毕业论文的规定,同意学校保留并向有关毕业论文管理机构送交论文的复印件和电子版。同意省级优秀毕业论文评选机构将本毕业论文通过影印、缩

2、印、扫描等方式进行保存、摘编或 汇编;同意本论文被编入有关数据库进行检索和查阅。本毕业论文内容不涉及国家机密。论文题目:作者单位:作者签名:年 月 日 目 录摘要 .1引言 .11. 绪论 .21.1 论文研究的背景及意义 .31.2 国内外研究状况 .32. 网络仿真软件 OPNET.42.1 OPNET 仿真软件概述 .42.2 OPNET 仿真技术 .52.3 OPNET 仿真流程 .73. TCP 协议分析 .83.1 TCP 协议概述 .83.2 TCP 算法研究 .124. TCP 协议仿真分析 .144.1 OPNET MODELER 中支持 TCP 协议的节点模型 .144.2

3、 TCP 协议仿真 .155. 结束语 .20参考文献 .21致谢 .221基于 OPNET 的 TCP 协议研究与仿真摘 要:本文采用网络仿真工具OPNET对TCP 协议拥塞控制进行仿真分析。论文首先介绍了网络仿真软件的发展,详细介绍了仿真软件OPNET,重点讨论了OPNET的仿真机制,然后介 绍了TCP 协议的原理和拥塞控制,以四种不同版本的拥塞控制算法TCP Tahoe、Reno、New Reno、SACK分析不同算法在网络拥塞出现丢包时的窗口变化差异,通过OPNET仿真观察其窗口变化情况。通过仿真结果可以非常准确和直观地得到各TCP版本的特点,从而说明了拥塞控制算法对网络性能的影响。关

4、键词:网络仿真;OPNET;TCP协议;拥塞控制TCP protocol Research and Simulation Based on OPNETAbstract: This paper uses the network simulation tool OPNET to simulate the TCP congestion control. We first describe the development of the network simulation software and introduce a powerful network simulation software nam

5、ed OPNET in detail, we emphatically discuss its simulation mechanism. Then we introduce the principle of the TCP protocol and congestion control, With four different versions of the congestion control algorithm named TCP Tahoe, Reno, New Reno, SACK .We analysis the window difference of different alg

6、orithms in network congestion when packet loss, and observe the window changes by OPNET simulation. The simulation results show that we can very accurately and intuitively get the characteristics of the TCP version, thus explain the influence of congestion control algorithm on network performance.Ke

7、y Words: network simulation; OPNET; TCP protocol; congestion control引言随着社会的发展,计算机被广泛地应用于各个领域,成为现代人的一个不2可缺少的工具。同时带来的问题是网络结构和规模的日益复杂以及网络应用日益多样化,网络负载越来越重,容易造成网络拥塞,严重影响了通信。因此,拥塞控制成为现代科学家研究的一个热门话题。单纯依靠网络的规划和设计、网络设备和网络协议开发的研究,已经不能满足网络的发展。因此,迫切需要一种科学的手段来反映和预测网络性能,网络仿真应运而生。本文采用的是网络仿真软件OPNET,其具有丰富的模型库,通过 OPN

8、ET Modeler仿真软件建立模型对各种拥塞控制算法进行仿真。1. 绪论1.1 论文研究的背景及意义随着计算机网络的发展,网络规模和网络应用的迅速增长,对网络的性能评估、协议开发和测试都有了新的需求。由于计算机仿真技术是一个以系统模型为对象的研究方法,利用计算机快速计算的能力,用极短的时间模拟实际系统中的较长周期。因此,计算机仿真技术具有极其重要的应用意义。随着新的网络技术的不断涌现和数据网络变得越来越复杂,网络仿真技术的需求越来越迫切,网络仿真的应用越来越广泛,网络仿真已成为科研、规划、设计网络不可或缺的工具。计算机和通信技术的不断发展,人们能够越来越方便的实现信息的共享,TCP/IP协议

9、使世界上不同架构的计算机网络相互连接形成一个全球性的互联网络Internet,这为各种信息的共享提供了便捷的途径。在Internet 中的每一台计算机可以访问Internet上的其他任意一台计算机,好像它们在一个局域网内使用双绞线或同轴电缆直接连接起来一样(不同的是速度比局域网要慢)。现在TCP/IP协议簇一直很受欢迎,并已成为网络通信协议事实上的标准。TCP协议在Internet网络技术的数据传输协议中,占据的比重比较大。TCP是一种端到端可靠的数据传输协议,采用尽力而为的服务。在网络实施中,当网络资源不能满足使用用户的需求时,网络不能采用限制用户使用数量的方案,即使是网络使用效率降低到了极

10、致,它也只能做到最好的去提供服务,一般在这种情况下,就会导致网络拥塞。因特网实际上使用的拥塞控制是在传输层中TCP的流量控制和拥塞控制基础上建立的。虽然现在对IP层中的拥塞控制研究逐渐成为一个新的研究热点,3但是就目前而言,传输层中的端到端TCP拥塞控制 1在Internet上还是起主要作用的。OPNET 作为网络仿真领域中的重要仿真工具,可以利用它通过数学建模和统计分析的方法来模拟网络行为,从而很好的理解网络运行情况和分析相应的协议。OPNET Modeler 中的 TCP 实现模型参考了 RFC 文档,学习 TCP 代码可以加深对 TCP 算法的了解,从深度上对网络有新的认识。目前国内外存

11、在很多对 TCP 进行研究的组织,他们试图通过改进 TCP 中的某个或某些算法,来提升 TCP 性能同时又要保证 TCP 的兼容性。但成果并不是很明显,工程意义不是很大,在本论文中,我们利用仿真软件 OPNET 对TCP 的经典算法进行了研究,这具有重要的实践和工程意义。1.2 国内外研究状况TCP 是传输控制协议,它工作在 TCP/IP 协议栈的传输层,提供面向连接的端到端的可靠传输服务。目前很多的应用程序都是基于 TCP 协议进行传输的,如 Telnet、FTP、SMTP 等。 TCP 的工作是建立连接,然后为应用层程序接收和发送数据。在发送的过程中,发送方会等待接收方给出一个确认性的应答

12、,否则发送方将认为此数据丢失,并重新发送此数据。所以在 TCP 协议中涉及到了报文的标识、报文的确认、报文的有序发送、拥塞识别、拥塞控制等保证 TCP健壮性的逻辑。在 TCP 早期连接中只有简单的基于滑动窗口的流量控制机制,并不存在拥塞控制。而拥塞控制机制是由 Jacobson 在 1988 年提出的,称为 TCP Tahoe,包括三种算法即慢启动、拥塞避免和快速重传算法。两年后在此基础上又加入了快速恢复算法,TCP 由此发展为 TCP Reno,占据了目前网络中的主导位置。在Jacobson之后许多研究者又针对TCP拥塞控制 2做了大量的研究,由于TCP窗口慢增快减,这样会引起震荡特性,许多

13、人为了克服这一缺点试着提出一种“理想”的拥塞控制方案,包括DUAL、TCP Vegas等。然而,考虑到多方面的因素包括实际应用问题和网络的性能,之前提出的拥塞控制机制并不能较好的与TCP Reno兼容,甚至会使效果降低。这也就导致了这些机制不能广泛应用于实际网络。受到前面因素的影响,大多数人就开始着手研究TCP Reno中的快速恢复算法,并对其进行了改进,取得了有效的进步,这些改进算法主要包4括TCP New Reno,SACK。这些算法对提高Reno中快速恢复算法的性能提供了有利的方法。在高速网络中,由于受到TCP加性增长、乘性减小的拥塞控制算法的影响,致使传输速率大大的降低,目前针对这种缺

14、陷的改进,研究者探讨了一种FAST TCP高速网络拥塞控制,有效的解决了上述问题,虽然已经有了一些实际网络的应用,但仍需要进一步的探讨和改进。2.网络仿真软件 OPNET2.1 OPNET 仿真软件概述2.1.1 OPNET Modeler 概述由 OPNET Technologies 公司开发的网络仿真软件 OPNET Modeler。它能够很好的分析各种模拟系统的行为和性能,而分析这种性能是通过执行离散事件仿真的方法来实现的。OPNET Modeler 作为一个大型的网络开发工具,具有的特征如下:面向对象:OPNET Modeler 创建的所有系统都有一系列属性可以配置的对象组成 3。分级

15、模型:OPNET Modeler 中的模型是分级设计的,与实际通信网络的分级结构自然对应。图形化编辑:在工程建模的大多数环节中,可以使用图形化编辑器来定义和编辑模型,因此具有良好的用户接口。方便的综合仿真和分析工具:OPNET 允许用户对自己感兴趣的数据量进行统计,在仿真过程中自动收集,并且根据收集到的数据量对仿真结果进行图形化比较和性能评估。另外 OPNET 还支持动画,来动态的观看统计量的变化。有限状态机(FSM) :OPNET Modeler 使用有限状态机来对协议和其他过程进行建模,在有限状态机的状态和转移条件中使用 C/C+语言进行描述,可以按需求控制仿真的详细程度。应用编程接口(A

16、PI):OPNET 提供许多应用编程接口,以便用户编程进行扩展。使用应用编程接口也是 OPNET 与其他仿真工具进行结合、协同仿真的一种重要手段。OPNET 的应用很广泛,典型的应用有网络规划、通信体系结构和协议的研5发、分布式传感器网络和片上系统、通信系统排队论研究、无线网络和卫星网络的研究等。2.1.2 OPNET 应用范围在不同的领域中,Modeler 表现的用途不同。(1)对于企业网,Modeler利用标准模型组网,这个是已经建立好的,如果某些业务达不到所要求的服务质量,Modeler 可以通过捕捉重要的流量对其进行分析 4。(2)对于研发需求,Modeler提供的一个环境是开放的,用

17、户通过建立新的网络设备和协议,能够根据需求模拟出其网络性能。(3)对于比较复杂的运营商(ISP)网络,Modeler 把重点放在整个业务层、流量模拟,使运营商有效查出业务配置发生的错误。2.2 OPNET 仿真技术2.2.1 OPNET 离散事件仿真机制OPNET 采用的模拟机理(Discrete event driven)是由离散事件驱动的(其中“事件”是指网络状态的变化),也就是说,模拟机工作的条件是网络状态发生变化的时候,如果网络状态不发生变化就不执行任何模拟计算。因此,相比于时间驱动,它很大程度的提高了模拟机计算效率。离散事件驱动的事件调度器(Event Scheduler)实际上是仿

18、真核心,它对所有进程模块期望完成的事件和计划该事件所发生的时间进行列表和维护 5。OPNET采用的离散事件仿真机制,仿真依靠事件的发生来驱动,仿真时间靠仿真事件的发生来推进。这种方法将仿真分解为独立的点,而事件将分别在这些点上发生。OPNET依照时间,将这样的点与事件相关连。每个事件代表了模型中状态变化或选择的需求。采用离散事件进行仿真,OPNET 可以动态的模拟实际系统的行为。2.2.2 OPNET 仿真调度机制OPNET 采用基于事件列表的调度机制,合理安排调度事件,以便执行合理的进程来模拟网络系统的行为。通过仿真核、仿真模块工具和模型模块进行调度。(1)每个 OPNET 仿真核内部都有一

19、个独立的全局时间表,用来控制每个项6目的执行,仿真中按照相应的时间顺序来调度列表中的事件,先执行的事件位于表头。一个事件执行完成后将从列表中删除。(2)仿真的核心管理机构称为仿真核,它采用高效的办法维护管理事件列表。位于队列头的事件按顺序由仿真核通过中断驱动交到指定模块中。同时仿真核还接收所有模块传来的中断,并把在事件列表中做相应的记录。仿真控制权伴随中断不断地在仿真核与模块之间转移。(3)当存在多个事件同时发生的情况时,仿真核用以下两种办法来处理事件在事件列表中的位置:根据时间的先后次序,后到达后处理(last come last serve);根据事件的重要程度,事件设置不同的优先权,优先

20、权高的先处理。2.2.3 基于包的通信仿真机制为了模拟实际网络中包的流动、模拟实际网络协议中的组包和拆包过程以及模拟过程中查看任何特定包的包头和净荷,OPNET 采用的是基于包的建模机制。数据包是最基本的信息传输载体 6,通过传递数据包在模块之间来通信。数据包流定义在目的模块的输入端口和源模块的输出端口之间,在同一个节点内部的不同模块间传递数据。目前,OPNET 中有三种通过数据流传送数据的方法:(1)非强迫调度模式:目的模块根据数据流的中断来获知数据包的到达。但当有正在服务的高级中断存在时,目的模块要等待此中断完成之后才可以引起中断。(2)强迫模式:这是一种比较紧急的数据处理方式。当数据包到

21、达目的模块立即引发中断。 (3)静止方式:数据包到达后便将数据包插入到输入队列存储区中,不引发中断。当目的模块发现并取出该数据包后,便完成了此次数据传输任务。2.2.4 OPNET 仿真建模机制OPNET 中的建模机制是在三个不同的层面上共同完成的,也称为三层仿真建模。最底层为进程模型,以状态机来描述协议;其次为节点模型,由相应的协议模型构成,反映设备特性;最上层为网络模型。三层模型和实际的协议、设备、网络完全对应,全面反映了网络的相关特性。7(1) 建立进程模型进程模型通过有限状态机(FSM)表示,使用有限状态机可以有效的支持规范、协议、应用、算法及排队的策略。它使用图形化的状态和状态转移条

22、件来定义一个事件的逻辑。每个状态使用 C/C+语言,利用专门为协议设计提供的丰富的函数库来完成事件的控制。有限状态机是动态的,可以在仿真中对其他有限状态机引起的事件进行响应。用户可以使用 OPNET 模型库中自带的进程模型,也可以使用进程编辑器开发自己全新的进程模型。在使用库中节点模型但还需要进行底层进程修改时,需要使用 Process Editor 来建立进程模型。但在下列情况下不需要进行此过程:不需要修改进程模型而完全使用库中节点模型时;库中有替代进程模型存在时;完全使用库中节点模型时。(2) 建立节点模型节点是网络模型中的对象,节点编辑器用来定义每个网络对象模型。它使用不同的模块来描述节

23、点对象的不同行为,展示网络设备和系统的的体系结构。这些模块一般模拟节点行为的一个或几个方面,如数据的创建、数据存储等。模块之间通过包流或者统计线进行连接,一个网络对象通常有多个典型的模块组成,来定义它的行为。(3) 建立网络模型我们通常在网络模型中将上述已有的或新建的设备互连成网络。也就是在所需的网络模型建立好后,根据仿真网络,建立起网络模型之间的有机连接,从而将整个仿真网络系统映射为OPNET网络模型。它可以从每个网络对象或者整个网络中选择统计量,然后运行仿真,最后查看比较结果。2.3 OPNET 仿真流程OPNET Modeler 为通信网络和分布式系统的建模和性能评估提供了一个综合的开发环境和分析平台 7。在进行具体的网络仿真时,需要按照 OPNET 的仿真流程进行仿真。仿真流程可以使仿真思路清晰,结构明确。典型的仿真流程如下:(1)了解需求:收集和分析网络工程设计文档;(2)建模:建立进程模型、网络对象模型和网络模型;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。