OPNet仿真实验报告_第1页
OPNet仿真实验报告_第2页
OPNet仿真实验报告_第3页
OPNet仿真实验报告_第4页
OPNet仿真实验报告_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、南京航空航天大学OPNET仿真实验报告计算机网络实验目录第一章实验任务31.1 实验一31.2 实验二3第二章OPNET网络建模及仿真方法32.1OPNET 简介32.2OPNET仿真关键技术42.2.1 层次化建模技术42.2.2 离散事件仿真机制42.2.3 仿真调度机制42.2.4 通信机制42.3OPNET仿真流程5第三章实验仿真过程63.1 实验一单台服务器场景仿真过程63.1.1 建立网络拓扑结构63.1.2 收集统计量83.1.3 运行仿真93.1.4 60 台 PC 场景 l_expand_60103.1.5 90 台 PC 场景 l_expand_90113.2 实验一多台服

2、务器场景 仿真过程123.3 实验二 用OPNET对RIP仿真分析13第四章实验仿真结果及分析134.1 单台服务器场景仿真结果及分析134.1.1 整个网络平均延迟对比曲线图144.1.2 服务器与交换机链路的平均吞吐量对比曲线图144.1.3 服务器CPU负载变化对比曲线图,见图16154.2 多台服务器场景仿真结果及分析164.2.1 整个网络平均延迟对比曲线图164.2.2 服务器与交换机链路的平均吞吐量对比曲线图164.2.3 服务器CPU负载变化对比曲线图174.3 用OPNET对RIP仿真结果及分析184.3.1 RIP协议概述184.3.2 RIP的工作原理184.3.3 RI

3、P路由更新机制204.3.4 建立网络拓扑结构214.3.5 仿真结果234.3.6 对RIP协议的总结28第五章实验心得体会以及不足295.1 心得和体会295.2 实验中的不足29OPNET仿真实验报告第一章实验任务i.i实验一- 设置一个仿真场景,假设PC有N台,服务器有M台,交换机和路由器根据N 值进行配置- 当230, 60, 90和时,设置仿真场景,配置连接设备,服务器配置FTP、 TELNETs WWW、SNMP等服务,给出N不同取值时:1)整个网络平均延迟对比曲线图2)服务器与交换机链路的平均吞吐量对比曲线图3)服务器CPU负载变化对比曲线图- 当N=90, M分别取值1和2时

4、,设置仿真场景,配置连接设备,服务器配置 同上,给出M不同取值时:1)整个网络平均延迟对比曲线图2)服务器与交换机链路的平均吞吐量对比曲线图3)服务器CPU负载变化对比曲线图。1. 2实验二RIP协议的OPNET仿真分析第二章OPNET网络建模及仿真方法2.1 OPNET 简介OPNET是 1986年由美国MIL3 Inc.(现在为OPNET Technologies Inc.)研制的, 最初是用于军事需要,但很快就发展成为一款商业化软件,并成为目前世界上最 先进的网络仿真和开发工具之一。现在全球大约有2700个OPXET用户,涉及企业、 军事、教育、银行、保险等多个领域,被第三方权威机构评为

5、“世界级网络仿真 软件第一名”。作为商业软件的OPNET价格非常昂贵,但它也提供了专门用于教 育和科研的免费版本,如OPNET IT GuruoOPNET支持面向对象的建模方式,并提供图形化的编辑界面,更便于用户使 用;采用离散事件驱动的模拟机理,使计算效率得到了很大提高;将基于包的分 析方法和基于统计的数学建模方法结合起来,大大加快了仿真速度,而且可以得 到更加细节化的模拟结果;在物件拼盘中,包含了详尽的模型库:路由器、交换 机、服务器、客户机、ATM设备、DSL设备等,还有其它厂商的配备,使OPNET在 新网络项目的设计以及对现有网络的分析方面都有卓越表现;它为通信协议和路 由算法的研究提

6、供了与真实网络相同的环境。此外,功能完善的结果分析器为网 络性能的分析提供了有效而乂直观的工具;提供了多种业务模拟方式;具有丰富 的收集分析统计量,查看动画和调试等功能:它可以直接收集常用的各个网络层 次的性能统计参数,能够方便地编制和输出仿真报告。目前OPNET的应川在国内还处于起步阶段,因此OPNET具有很大的研究和应用 价值。2. 2 OPNET仿真关键技术2. 2.1层次化建模技术OPNET采用层次化的建模技术,提供了三层建模机制:网络模型、结点型和 进程模型。网络模型为最上层,由可以嵌套的子网、通讯节点和在节点间进行通 信的链路组成,在这一层完成网络拓扑和模型配置;进程模型是最底层,

7、用有限 状态机(FSM)来描述各个状态和状态间转移关系,进程模型是通信协议功能模拟 以及与仿真有关的控制流行为实现的具体位置,其中FSM是用C语言描述的通信行 为程序;结点模型定义结点的内部结构,由发信机模块、接收机模块、处理机模 块、队列模块及包流、统计线等连接组成。通过OPNET的网络模型、结点模型和 进程模型三层建模机制建立起来的模型和实际的网络、设备、协议层次完全对应, 全面反映了网络的相关特性。网络模型、结点模型和进程模型分别在相应的项目 编辑器、结点编辑器和进程编辑器中完成。本实验就是从笫一个层次进行建模,从而完成仿真任务的。2. 2. 2离散事件仿真机制OPNET采用基于离散事件

8、驱动的仿真机制。事件是指网络状态的变化。网络 状态发生变化时,模拟机进行仿真,状态不发生变化的时间段,不进行仿真,即 被跳过,因而仿真时间是离散的。每个仿真时间点上可以同时出现多个事件,事 件的发生可以有疏密的区别。仿真中的各个模块之间通过事件中断方式传递事件 信息。每当出现一个事件中断时都会触发一个描述网络系统行为或者系统处理的 进程模型的运行。通过离散事件驱动的仿真机制实现了在进程级描述通信的并发 性和顺序性,再加上事件发生时刻的任意性,决定了可以仿真计算机和通信网络 中的任何情况下的网络状态和行为。2. 2. 3仿真调度机制在OPNET中使用基于事件列表的调度机制,合理安排调度事件,以便

9、执行合 理的进程来仿真网络系统的行为。调度的完成通过仿真软件的仿真核和仿真工具 模块以及模型模块来实现。事件列表的调度机制具体描述如下:1 .每个OPNET仿真都维持一个单独的全局时间表,其中的每个项目和执行都 受到全局仿真时钟的控制,仿真中以时间顺序调度事件列表中的事件,需要先执 行的事件位于表的头部。当一个事件执行后将从事件列表中删除该事件。2 .仿真核作为仿真的核心管理机构,采川高效的办法管理维护事件列表, 按顺序通过中断将在队列头的事件交给指定模块,同时接收各个模块送来的中 断,并把相应事件插入事件列表中间。仿真控制权伴随中断不断地在仿真核与模 块之间转移。3 .当事件同时发生时,仿真

10、核按照下面两种办法来安排事件在事件列表中 的位置:(1)按照事件到达仿真核的时间先后顺序,先到达先处理(first come first serveo(2)按照事件的重要程度,为事件设置不同的优先权,优先权高的先处理。2. 2. 4通信机制OPNET采用基于包的通信机制来模拟实际物理网络中数据包的流动。包是为 支持基于信息源通信而定义的一种数据结构,可以动态创建、修改、复制、发送、 接收和销毁。每个包含有一些存储信息的区域,通过包流实现同一节点模型的不 同模块间的传输。和基于包的通信机制类似的另一种通信方式是基于接口控制信息(ICI)的通 信机制。ICI是与事件关联的用户自定义的数据列表。如果

11、某个事件希望传递信 息给予它相隔一段时间的将来某个事件,可以将ICI绑定在将来这个事件中,等 到它将来发生时就可以取出ICI信息。因为ICI以事件为载体,所以可以用在各种 有关事件调度的场合,例如同一节点模型的相同模块内部、同一节点模型的不同 模块之间及不同节点模型之间都可以采用基于ICI的通信。如果流事件源于包的 传输,但是需要传输额外的信息乂想避免使用包本身,这时可以用ICI。2. 3 OPNET仿真流程利用OPNET仿真,一般遵循以下工作流程:1 .定义目标问题:明确和规范化网络仿真所要研究的问题和目标,提出明 确的网络仿真描述性能参数。如网络通信吞吐量、链路利用率、设备利用率、端 到端

12、延迟、丢包率、队列长度等。2 .建立仿真模型:根据研究的问题和目标,建立所需的网络、进程或协议 模型(包括网络拓扑结构、协议类型、包格式等),配置相关业务。3 ,收集统计数据:收集要用于仿真模型实现和验证的相关统计数据。如网 络流量、端到端延迟、丢包率等。4 .运行仿真:利用仿真工具进行仿真实验,以得到所需要的数据。5 .查看并分析结果:查看结果并利用相关分析工具和数学知识对仿真结果 进行统计分析。6 .调试再仿真:分析仿真数据,找出网络的性能瓶颈,然后通过修改拓扑、 更新设备、调整业务量、修改协议等方法得到新的仿真场景,再次运行仿真。7 .生成仿真报告:生成网络仿真的研究报告。图1 OPNE

13、T仿真流程由于网络的复杂性,在实际网络研究中,一般不可能一次就能达到仿真目的, 而往往需要多次重复其中的部分或全部步骤。另外网络仿真过程中仿真参数尽可 能根据需要合理选取,并不是越详细越好,无用的参数可能使系统的处理效率下 降。第三章 实验仿真过程7.1 实验一单台服务器场景仿真过程3. 1. 1建立网络拓扑结构要创建一个新的网络模型,首先需要创建一个新的项目(Project)和一个 新的场景(Scenarios)。首先创建30台PC机的场景:l_first_30。(1)打开 OPNET Modeler 10. 0。(2)从File菜单中选择New.0(3)从弹出的下拉菜单中选择Project

14、并单击0K按钮。(4)将项目命名为l_sim_network,场景命名为l_first_30。(5)单击0K按钮。按照向导创建网络拓扑图。首先选择一个空的项目Create Empty Scenarios,然后选择办公网络Off ice, 然后确定网络的大小lOOmXlOOm,然后选择OPNET自带的对象模型家族种类,将 Sm_Int_Model_List设为Yes,最后确认场景,单击0K。(6、使用短速拓扑配置,一次性创建规则的拓扑结构,从Topology菜单中选 择Rapid Configurationo(7)从配置下拉列表中选择Star,单击0K。之后为该星形拓扑网络指定节点 模型和链路模

15、型。即Center Node Model设为3com公司的交换机3C_SSII_n00_ 3300_4s_ae52_e48_ge3; Periphery Node Model设为Sm_Int_wkstn; Link Model 设为lOBaseT,其吊数量设为30。再合理设置位置和半卷犀击0K。这样项目编辑窗口中会出现包含有一台交换机和30台PC结点的网络拓扑图。 下面对上述该星形网络拓扑结构进行扩展。(8)添加服务器。打开对象面板,找到Sm.Int.server对象,并将它放置在 工作空间中。单击右键,结束节点放置。接下来,需要连接服务器和星型网络:(9)在对象模板中找到lOBaseT链路对

16、象。在服务器上单击鼠标左键,移动 光标,再单击星型网络的中心节点。这时出现连接两个节点对象的链路。单击鼠 标右键结束链路创建。最后需要为网络配置业务,包括应用定义(Application definition)和业务 规格定义(Profile definition) o(10)在对象模板中找到Sm_App 1 ication_Conf ig对象并将其放置在工作空 间中。单击右.键,光标重新移到对象模板中,单击Sm_Profi 1 e_Config,并将其 放置在工作空间中,单击右键。模板中应用定义对象和业务规格定义对象的参数 已经配置好(为Light database业务),下而添加其他服务,

17、OPNET在 Application Config中预设了一些常用的服务,在Sm_Application_Config右键 选择Edit Attributes选项,然后在Application Definition参数下添加多行 (rows),每一行可以设置sever支持的一个服务。如图2所示。 . (APP) Attributes因1 Type:) Utilities| Attribute1I Value上r © r n4meAPP那卜modelS mAppli cation_Conf ig 田 A PF Tir InfnrmatinnNcnx顺)Applicdtion Defin

18、itions/ 卜IM*1G*B row 0Database Access (HeavyJJ.)E row1Database Access (Light.)xS row 2Email (Heavp)z(.)、田吸3EmailLight比 JB row 4File Transfer (Heavy)4.J田 row 5File Transfer (LightJ.)B row 6File Print (HeavH(.J中国【ow7File Print (Light)US row 8I elnet Session (H e«auy田 row 9Telnet Session (Light)1

19、J工0 rowWVideo Conferencing (Heavyz(. J"0 row 11Video Conferencing (Light1.J&S row12Voice over IPCall(PCM QualiMJ.)0 row 13Voice over IP Call (GSM QualityU.)“S row 14Web Browsing (Heavy HTTP1.1手S row 15Web Browsing (Light HTTP1.1I(.J了 E Voice Encoder SchemesAll S chemes二图2 Application Config

20、服务种类属性的设置与服务器应用配置相对应,需要配置业务主寻,即Profile Definition。右 键选择Edit Attributes,然后在Profile Configuration中的Application中添 加行,并选择需要的服务。*1 (profile) AttributesType: UtilitiesAlUibuleValuenameI profile| model:二! Profile ConfigurationS m_Prof iljConf ig (JI-rows1 row 0-Profile Name S ApplicationsSm Inc Profile (.)

21、|- rowc53) row 03 row 1Database Access (Light)zuniforrn (5Z10),End of Profile,UnlimitedEmail (Light)zuniform (5Z10)zEnd of ProfiUnlimited±1 row 2Web Browcing (Heavy HTTP1.1),uniform (5Z10)zEnd of Prdilezllnli.习 row 3File Transfer (Heavytunifofm 5,10),End of Profile.UrilirniledS row 4 -Operation

22、 Mode -Start Time (seconds)Telnet Session (Heavy),uniform 5,10)zEnd of Profilezllnlimi!edSerial (Ordered)uniform (100,110)R-Duration (seconds)1 ReoeatabilituEnd of SimulationOnce at Start Time图3 Profile Config业务主寻属性的设置当然客户端也需要设定业务主询。可供客户端选择的业务主询的种类和在业务主询配置器中的设定要完全吻合。这里客户端的Application Support Profile

23、属性中中选择前面配置的业务主寻Sm_Int_Profile。最终得到网络拓扑图见图4。图4 l_first_30网络拓扑图3.1. 2收集统计量在网络模型中可以对单个对象收集统计量(Object statistics),也可以对 整个网络收集全局统计量(Global statistics)。根据实验要求,我们需要收集的统计量有,整个网络平均延迟、服务器与交 换机链路的平均吞吐量、服务器CPU负载。(1)整个网络平均延迟是全局统计量,在空白处右键选择ChooseIndividual DES Statistics,然后将Ethernet中的Delay选项选中。如图5所示。图5整个网络平均延迟统计量

24、设置(2)服务器CPU负载是对象统计量,在服务器上右键单击Choose Individual DES Statistics,然后选中Node Statistics Ethernet Load(bitZsec),如 图6所示。Choose Results: top.Office Network.node_31.AnimationsModule StatisticsNode StatisticsACEApplication DemandCPUCustom ApplicationEther ChannelEthernetr_l -J r-i T TTBurst Duration (sec)Burst

25、 ON/OFFBurst Size (packets)Collision CountDelay (sec)Load (bits)Load (bit$/sec)Load (packets) Load (packet?Zsec) Traffic Received (bitsi图6服务器CPU负载统计量设置(3)服务器与交换机链路的平均吞吐量是对象统计量,在该链路上右键单击Choose Individual DES Statistics,然后选中point-to-pointthroughput (bits/sec)一一 ft throughput (bits/sec) 一一, 如图7所示。low-l

26、evel point-to-pointoinhtoooint出 Choose Resultsqueuing delay >queuing delay <throughput (bits/sec)-> throughput (bits/sec) throughput (packet$/sec) > throughput (packet$/$ec) <- utilization ->utilization图7服务器与交换机链路的平均吞吐量统计量设置设置好后,保存一下项目。3.2. 3运行仿真首先,需要确定repositories属性设置正确:(1)在Edit菜单

27、中选择 Preferenceso(2)在查找文本框中输入“repositories",单击Find按钮。(3)在弹出的对话框的左下角单击Insert按钮,在文本框中输入stdmod,然 后回车。(4)单击0K按钮关闭repositories和Preferences对话框。(5)设置优化仿真的方法如下:在Edit菜单中选择Preferences,在查找文本框中输入kernel_type,单击 Find按钮。将对应的value设置为optimized。接下来运行仿真。(6)在Simulation菜单中选择Configure Simulation,或者在工具栏中 选择运行仿真按钮。(7)将

28、仿真时间Duration设置为0.5,即模拟执行半小时的仿真。(8)单击Run按钮运行仿真。运行完毕后如下图8图8仿真结束完成(9)运行完毕后单击Close按钮关闭对话框。3. 1. 4 60台PC场景 l_expand_60这里我们在上一个场景的基上进行扩展,创建60台PC的网络拓扑。为了保 留刚才的网络场景,以便和扩展的网络场景的仿真结果相比较,需要复制场景:(1)在 Scenarios 菜单中选择 Duplicate Scenario. o(2)命名新的场景为l_expand_60o(3)单击0K按钮。这时出现和刚才网络模型一模一样的场景。(4)接下来,需要构建网络的另一部分,即另外30

29、台PC。这里我们让这30台 PC和前一个场景的30台同构,同样通过快速配置,配置一个30台客户端的星形拓 扑网络,然后再连接两个子网。(5)在对象面板中选中Cisco2514路由器并将它放置在两个局域网之间。单 击鼠标右键结束放置°(6)在对象模板中选中lOBaseT链路图标,在项目编辑器中分别连接刚才放 上去的路由器已经另外两台3com的交换机。最终网络拓扑图见图9。图9 l_expand.6O网络拓扑图 之后按照前面笫一个场景设置统计量并且运行仿真。3. 1. 5 90台PC场景l_expand_90这里我们继续在上一个场景访基础上进行扩展,创建90台PC的网络拓扑。复 制场景:

30、(1)在 Scenarios 菜单中选择 Duplicate Scenario. o(2)命名新的场景为l_expand_90o(3)单击0K按钮。(4)接下来,需要构建网络的另一部分,即另外30台PC。这里我们让这30台 PC和前两个场景的30台同构,同样通过快速配置,配置一个30台客户端的星形拓 扑网络。(5)在项目编辑区再放置一个Cisco2514路由器,然后把该路由和刚才创建 的子网中的3com交换机相连,并且与前一个场景的交换机相连。(6)最后连接两台路由器。在对象面板的下拉菜单中选取internet_toolbox, 然后选取其中的PPP_DS3链路,连接两个路山。最终网络拓扑图如

31、图10。之后按照前面笫一个场景设置统计量并且运行仿真。图10 l_expand_90网络拓扑图3.2实验一多台服务器场景仿真过程首先将上一个实验保存,然后再另存为一个工程命名为2_sim_network。然 后将前两个场景1 _f i rs t_30和1 _expand_60删除,仅留下90台PC场景 l_expand_90,下面在复制改成场景命名为l_expand_90_2,创建两台服务器的网 络拓扑图。在对象面板中再拖入一台服务器,然后用lOBaseT线和node_30 (也就是第一 次添加的交换机)相连,最终的网络拓扑结构图见图U。APFL杆 FLI 州 TION DEFINITIONP

32、ROFILE DEFINITION100.0图11 l_expand_90_2网络拓扑图3. 3实验二用OPNET对RIP仿真分析OPNET是1986年山第四章实验仿真结果及分析4.1单台服务器场景仿真结果及分析OPNET有一个针对结果进行比较的模块并具有Html报告生成功能。在 l_sim_network匚程中,空白处右键选择Compare Results。则会弹出生成曲线图 画面瓦见图12。通过该面板可以生成以下对比图。jJ Compare ResultsDiscrete Event Graphs | Flow Analyse Graphs? | IP Flow Anaisk Tables

33、 | Diiplajicd Panel Graphs | ignore viewcClose图12曲线图生成面板4.1.1 整个网络平均延迟对比曲线图通过该图可以发现,随着客户端的增多,网络的平均延时量出现了间断性的 下降。4.1.2 服务器与交换机链路的平均吞吐量对比曲线图见图14、15。其中图14是由服务器到交换机平均传送数据对比图,而图15 是有交换机到服务器平均传送数据对比图。口 1pond_GO1 -exparid_9O图14服务器到交换机结点数据传送对比 l_rir_3O, 1 _cwpond_GO图15交换机到服务器结点数据传送对比通过该图可以发现,随着客户端的增多,交换机和服务

34、器链路的平均吞吐量 逐渐上升。4.L3服务器CPU负载变化对比曲线图,见图16. l_fir_3O 1 pond_GO图16服务器CPU负载变化对比曲线图通过该图可以发现,随着客户端的增多,服务器的CPU负载也是逐渐上升的。4.2多台服务器场景仿真结果及分析在2_sim_network工程中,空白处右键选择Compare Results。则会弹出生成 曲线图而面晟,通过该面板可以生成以下对比图。4. 2.1整个网络平均延迟对比曲线图cmQ0W1Qora)厂丁丁丁丁丁T帖5m1Qt)15m2th25m如 n图17整个网络平均延迟对比曲线图通过对比发现,两个网络的网络延时基本一致。4. 2.2服务

35、器与交换机链路的平均吞吐量对比曲线图见图18、19。其中图18是由服务器到交换机平均传送数据对比图,而图19 是有交换机到服务器平均传送数据对比图。图20服务器CPU负载变化对比曲线图通过该图可以发现,随着服务器的增多,服务器的CPU负教是逐渐下降的。 因为多台服务器平衡了负载,故单台服务器负载下降。4. 3用0PNET对RIP仿真结果及分析4. 3. 1 RIP协议概述RIP协议是最著名、历史最悠久的动态路由协议,该协议属于距离向量协议。 RIP协议最早由施乐公司Palo Alto研究中心(PARC)开发,并在施乐公司的PUB和 XNS路由协议基础上发展而来。而后加州大学伯克利分校在许多局域

36、网上采用RIP 协议,该举动极大的推动了RIP的广泛应用。另外RIP在UNIX上的普遍实现同样也 促进了 RIP的推广。RIP协议最初是为局域网设计,现在应用范围已经不局限在局域网,RIP协议 已经被应用到城域网甚至广域网中。虽然如此,但是RIP协议不适用于规模较大 的网络。RIP协议是因特网协议族的重要组成部分,也是在因特网中最早得到广 泛应用并持续至今的一种简单路由协议。在下一代因特网协议IPv6中最早最完全 实现的也是基于RIP的RIPng。按照路由协议分类,RIP属于距离向量协议。RIP中路由的选择是基于到达目 的地所需要的跳数来决定。距离向量算法最早由Ford, L. R和Fulke

37、rSon, D. R 提出,路由方程式推导由R. E. Bellm锄完成。因此,RIP协议所用的路由算法也 称Ford. FulkerSon算法或Ford-Bellmall算法。1988年6月IETF将RIP协议标准化为RFC1058。该协议是开放标准,用于小型 网络内部网关协议。随着m技术的发展,为支持VLSM和CIDR, 1993年IETF在RFC 1388中发布了 RIPv2«随后在1994年由1心C 1723取代RFC 1388。因此,RFC 1058所规定的RIP 协议称为RIPvl, RFC 1723所规定的RIP协议为最新版本RIPv2。4. 3. 2 RIP的工作原理

38、运行RIP的路由器定期将路由表发送给相邻的路由器(最初路由表中只有直 连路山以及静态路由)。路由器收到相邻路由器发送的路由表后,将每个路由的 距离加1与自身路由表中的信息比较,如果大于和等于自身路由表中路由的距离 则忽略收到的路由并刷新该路由记录;如果小于自身路由表中路由距离或者自身 路由表中没有所比较的路由则将收到的路由信息写入路由表,距离为原距离增加 1且下一跳为发送该路由信息的路由器。当距离为16时认为路由不可达。运行RIP 的网络规模有限,路径最长距离为15。路由器定期清除长时间未刷新的路由记录 以防止某路由器死机后产生的路由黑洞。网络中所有运行RIP的路由器不了解整 个网络的拓扑结构

39、,只是简单相信从某个相邻路由器经过某个特定距离可以到达目标网络。4. 3. 2. 1 RIP的路由表RIP协议使用跳数(hop Count)作为度量标准(metrics)来衡量到达目标地址 的路由距离。每个运行RIP协议的路由器都维护着一张路由表,这张路由表中至 少要包括以下信息:(l)IP地址:该地址是所要到达的目的主机或网络的地址。(2)下一跳:数据包所要到达的下一个路由器的地址。(3)接口:数据包到达下一跳所使用的物理网络接口。(4)跳数:即度量值。RIP的度量是基于跳数(hop count)的,并规定两个直 连的路由器间的跳数为1,因此,每经过一台路由器,路径的跳数就加一。跳数 越多,

40、路径就越长,RIP算法会优先选择跳数少的路径。RIP支持的最大跳数是15, 跳数为16的网络被认为不可达。(5)计时器:有时也称为年龄,用于记录自上次路由更新以来的时间总和。 RIP中路由的更新是通过定时广播实现的。缺省情况下,路由器每隔30秒向与它 相连的网络广播自己的路由表,接到广播的路由器将收到的信息添加至自身的路 由表中。每个路由器都如此广播,最终网络上所有的路由器都会得知全部的路由 信息。正常情况下,每30秒路由器就可以收到一次路由信息确认,如果经过180 秒,即6个更新周期,一个路由项都没有得到确认,路由器就认为它已失效了。 如果经过240秒,即8个更新周期,路由器仍没有得到确认,

41、它就被从路由表中删 除。另外,各种标志位和其他内部信息也有可能包括在路由表中。例如,有些标 志位用于记录路由最近是否发生变化,以备触发更新时使用。4. 3. 2. 2 RIP的工作流程接口启动旺Router A路由变化请求邻居发送路由表信息Router B - - -F发送整个路由表信息对清求进行响应. - -周期更新 >周期更新触发更新4图21 RIP的工作流程RIP的工作流程很简单,如图21所示,当在RouterA路由器的某接口上启动 RIP,接口以广播形式向邻居发送路由表信息请求,邻居ROuter B接收到路由表 信息请求,就发送整个路由表信息对请求进行响应;RouterA和Rou

42、ter B在启动 后就开始周期发送并周期更新路由。RouterA检测到路由变化时,以广播形式向 邻居发送触发更新,通知邻居路由变化。运行RIP协议的路由器并不是把每一条 新的路由信息都添加到自己的路由表中。只是在以下三种情况下,路由器会根据 所获得的路由信息对路由表进行修改:(1)如果收到的路由信息在自身的路由表中不存在,则添加。(2)如果收到的路由信息的目的子网和现有路由表中一项相符,而且量度值 比现有的度量值要小,则用新的路由替换现有的,否则,忽略该路由。(3)如果收到的路由信息的目的子网和下一跳路由器地址和现有路由表中的 某一项都相同,则无论度量值减小,还是增加,都修改度量值。4. 3.

43、3 RIP路由更新机制4. 3. 3. 1 RIP的路由表RIP中路由的更新是通过定时广播实现的。缺省情况下,路由器每隔30秒向 与它相连的网络广播自己的路由表,接到广播的路由器将收到的信息添加至自身 的路由表中。每个路由器都如此广播,最终网络上所有的路由器都会得知全部的 路由信息。正常情况下,每30秒路由器就可以收到一次路由信息确认,如果经过 180秒,即6个更新周期,一个路由顶都没有得到确认,路由器就认为它已失效了。 如果经过240秒,即8个更新周期,路由项仍没有得到确认,它就被从路由表中删 除。上面的30秒,180秒和240秒的延时都是由计时器控制的,它们分别是更新计 时器(Update

44、 Timer) 无效计时器(Invalid Timer)和刷新计时器(Flush Timer)。由于RIP路由记录必须定期刷新,所以RIP路由器必须定期向邻居发送路由 表。乂因为IP网络中路山和信息在同一通道上传播,所以IP路由器不能频繁发送 路由表过度占用带宽。如果发送路由表间隔过长,则会导致路由计算收敛较慢: 网络中一条路由的变化需要相对较长的时间才能通知到所有的路由器。权衡带宽 占川以及路由收敛时间两方面的因素,所以对IP路由器通常是每30秒向邻居路由 器发送一次路由信息。上述更新间隔可以依据收敛时间要求、网络带宽资源以及 网络拓扑和网络规模作调节。4. 3. 3. 2 RIP路由循环及

45、收敛问题距离向量类的算法容易产生路由循环,RIP是距离向量算法的一种,所以它 也不例外。如果网络上有路由循环,信息就会循环传递,永远不能到达目的地。 为了避免这个问题,RIP距离向量算法实现了下面4个机制。(1)水平分割(split horizon):水平分割保证路由器记住每一条路由信息的 来源,并且不在收到这条信息的端口上再次发送它。这是保证不产生路由循环的 最基本措施。(2)毒性逆转(poison reverse):当一条路径信息变为无效之后,路由器并 不立即将它从路由表中删除,而是用16,即不可达的度量值将它广播出去。这样 虽然增加了路由表的大小,但对消除路由循环很有帮助,它可以立即清除

46、相邻路 由器之间的任何坏路。(3)触发更新(trigger update):当路由表发生变化时,更新报文立即广播 给相邻的所有路由器,而不是等待30秒的更新周期。同样,当一个路由器刚启动 RIP时,它广播请求报文。收到此广播的相邻路由器立即应答一个更新报文,而 不必等到下一个更新周期。这样,网络拓扑的变化会最快地在网络上传播开,减 少了路由循环产生的可能性。(4)抑制计时(holddown timer): 一条路由信息无效之后,一段时间内这条 路由都处于抑制状态,即在一定时间内不再接收关于同一目的地址的路由更新。 如果,路由器从一个网段上得知一条路径失效,然后,立即在另一个网段上得知 这个路由

47、有效。这个有效的信息往往是不正确的,抑制计时避免了这个问题,而 且,当一条链路频繁起停时,抑制计时减少了路由的浮动,增加了网络的稳定性。即便采用了上面的4种方法,路由循环的问题也不能完全解决,只是得到了 最大程度的减少。一旦路由循环真的出现,路由项的度量值就会出现计数到无穷 大(count to infinity)的情况。这是因为路由信息被循环传递,每传过一个路 由器,度量值就加1, 一直加到16,路径就成为不可达的了。RIP选择16作为不可 达的度量值是很巧妙的,它既足够的大,保证了多数网络能够正常运行,乂足够 小,使得计数到无穷大所花费的时间最短。4. 3.4建立网络拓扑结构本实验通过RI

48、P路由协议构建网络,并且通过实验结果来分析RIP路由协议。 其中重点关注仿真中出现子网失效时,各个路由器的路由表的变化。同时在试验 中收集一些统计量,如RIP协议的收敛情况、路由表更新总数、RIP协议的开销情 况、使用RIP协议局域网延时情况以及RIP协议的链路修复情况。具体需要采集的统计量:Global Statistics中的Ethernet >Delay、 RIP->Network Convergence Activity、 RIP->Network Convergence Duration、 RIP->Traffic Received、 RIP->Traf

49、fic Sent。Node Statistics中的Route Table->Total Number of Updateso下面介绍一下网络拓扑图的构造,其中分为一个主干网络以及4个子网。其 中主干网络有BackBone_Routerl-4, 4台路由器构成,子网是由一台路由以及两 个100BaseT_LAN局域网构成。其网络拓扑机构图见图22和图23。图22 RIP协议分析整体网络拓扑图图23整体拓扑图中4个子网的网络拓扑图其中为了为了检测链路修复等统计量,这里添加了一个Failure-Recovry组 件。并且配置一个失效,在Failure组件上右键选择编辑属性,然后在该编辑窗 口

50、设置如图24,在500s时让主干网中路由2和路由4出现失效,然后再在1000s时 使其链路恢复。SS/ IJ- E Lirk Failure/Recovery Specificaticn卜rows rowO-NameOfhce N etwork. B ackB one_R outer_4 <-> Bac出 ore_Ftouter_2-Time500-StatusFai-NameOffce NetworkBackBone_Router_4 <-> BackBore_Router_2-Time1X00L StatusRecover图24设置链路失效以及恢复因为我们需要查看路

51、由表的变化,故在这里需要对路由器进行设置,来保存 相应时间的RIP路由表。其设置方式在路由器上右键选择编辑属性,然后按照图 25所示设置。其中End of Simulation表示在仿真结束后保存路由表。-1 Reports3 8GP Routing TableDo Not Export3 EIGRPRoulino TableDo Not Export3 IGRP Routing TableDo Not Export+l IP Forwaidirg 7aHe()3) IS-IS Routing TabfeDo Not Export±1 OSPF Link State DatoboGD

52、e Not Export+) OSPF Routing TableDo Not Export RIP Routing Tcblc(.)StatusErabhd3 Export Time|s) Specif cation(.)rows51=1 row 01-Time503Lime501E row 21,000士 row 31z001E row 4Erd cf Gimdotbn图26路由器保存特定时间路由表设置我们失效是设置在路由器1和路由器2之间,这里我们主要监视路由器2的RIP 路由表。下面开始运行仿真,其中需要设置全局路由策略以及一些其他参数,见图 27o 主要对Global Attribu

53、te 中的IP Dynamic Routing Protocol设为RIP,然 后将IP Interface Addressing Mode 设为Auto Addressed/Export,这个选项用 来后面我们获取拓扑结构的IP文件。最后要把RIP Sim Efficiency设为 Disabledo然后运行仿真。Common | Repoik Glottal Atbibute: | Object ZiHributec| Traffic GrovhjlAUrbulGValue.1IGRP Stop Tirre365IMEP Route InjectionDitabledIP Dynarric

54、 Routing ProtocolRIPIP Inteiface AddressngModeAUo AcfcjresseSExpQtIP Routing Table Expoit/lmportNot UsedISIS Srn EffciencyEnabledISIS Stop Time263LDP Discovery End Time25JLDF Discovery Start Time103LSP Signaling PrdocolRSVPND Sirn EfficiencyEnabledOS PF Sim EfficiencyEnabledOS PF Stop Time203RIP Sir

55、n EfficiencyDisabledRIP Slop Time65图28仿真参数设置4. 3. 5仿真结果由于网络较为复杂,这里使用OPNET的实验报告生成工具生成HTML格式实验 报告,用于分析其中内容。其中子网局域网的网络延时见图29,局域网的延时大 概在0. 00009秒左右。LAN.Delaji (sec0.00010Q QQQQQ0.00008 0.00007 0.00006 :0.00005 0.00004 0.00003 0.00002 0.00001 000000 1111110m 5m 10m15m20m25m30m图29子网中Left'et局域网的网络延时整个网络RIP协议的收敛情况见图30。通过观察RIP协议在节点数目不是很多 的情况下收敛情况十分理想的。15RIP.Network Convergence Duration (sec)10 5.n图30整个网络RIP协议的收敛情况另外各个路由器的收敛情况可以查看表,这是通过0PNET自动生成的。表1各个路由器的收敛情况NodeRIP Router Converge

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论