版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、计算机网络实验报告 SQ10048120048 孟新南京航空航天大学 OPNET仿真实验报告计算机网络实验目录第一章实验任务31.1 实验一31.2 实验二3第二章OPNET网络建模及仿真方法32.1 OPNET简介32.2 OPNET仿真关键技术42.2.1 层次化建模技术42.2.2 离散事件仿真机制42.2.3 仿真调度机制42.2.4 通信机制42.3 OPNET仿真流程5第三章实验仿真过程63.1 实验一 单台服务器场景 仿真过程63.1.1 建立网络拓扑结构63.1.2 收集统计量83.1.3 运行仿真93.1.4 60台PC场景 1_expand_60103.1.5 90台PC场
2、景1_expand_90113.2 实验一 多台服务器场景 仿真过程123.3 实验二 用OPNET对RIP仿真分析13第四章实验仿真结果及分析134.1 单台服务器场景仿真结果及分析134.1.1 整个网络平均延迟对比曲线图144.1.2 服务器与交换机链路的平均吞吐量对比曲线图144.1.3 服务器CPU负载变化对比曲线图,见图16.154.2 多台服务器场景仿真结果及分析164.2.1 整个网络平均延迟对比曲线图164.2.2 服务器与交换机链路的平均吞吐量对比曲线图164.2.3 服务器CPU负载变化对比曲线图174.3 用OPNET对RIP仿真结果及分析184.3.1 RIP协议概述
3、184.3.2 RIP的工作原理184.3.3 RIP路由更新机制204.3.4 建立网络拓扑结构214.3.5 仿真结果234.3.6 对RIP协议的总结28第五章实验心得体会以及不足295.1 心得和体会295.2 实验中的不足29OPNET仿真实验报告第一章 实验任务1.1 实验一 设置一个仿真场景,假设PC有N台,服务器有M台,交换机和路由器根据N值进行配置 当N=30,60,90和M=1时,设置仿真场景,配置连接设备,服务器配置FTP、TELNET、WWW、SNMP等服务,给出N不同取值时:1)整个网络平均延迟对比曲线图2)服务器与交换机链路的平均吞吐量对比曲线图3)服务器CPU负载
4、变化对比曲线图 当N=90,M分别取值1和2时,设置仿真场景,配置连接设备,服务器配置同上,给出M不同取值时:1)整个网络平均延迟对比曲线图2)服务器与交换机链路的平均吞吐量对比曲线图3)服务器CPU负载变化对比曲线图。1.2 实验二RIP协议的OPNET仿真分析第二章 OPNET网络建模及仿真方法2.1 OPNET简介OPNET是1986年由美国MIL3 Inc(现在为OPNET Technologies Inc.)研制的,最初是用于军事需要,但很快就发展成为一款商业化软件,并成为目前世界上最先进的网络仿真和开发工具之一。现在全球大约有2700个OPNET用户,涉及企业、军事、教育、银行、保
5、险等多个领域,被第三方权威机构评为“世界级网络仿真软件第一名”。作为商业软件的OPNET价格非常昂贵,但它也提供了专门用于教育和科研的免费版本,如OPNET IT Guru。OPNET支持面向对象的建模方式,并提供图形化的编辑界面,更便于用户使用;采用离散事件驱动的模拟机理,使计算效率得到了很大提高;将基于包的分析方法和基于统计的数学建模方法结合起来,大大加快了仿真速度,而且可以得到更加细节化的模拟结果;在物件拼盘中,包含了详尽的模型库:路由器、交换机、服务器、客户机、ATM设备、DSL设备等,还有其它厂商的配备,使OPNET在新网络项目的设计以及对现有网络的分析方面都有卓越表现;它为通信协议
6、和路由算法的研究提供了与真实网络相同的环境。此外,功能完善的结果分析器为网络性能的分析提供了有效而又直观的工具;提供了多种业务模拟方式;具有丰富的收集分析统计量,查看动画和调试等功能;它可以直接收集常用的各个网络层次的性能统计参数,能够方便地编制和输出仿真报告。目前OPNET的应用在国内还处于起步阶段,因此OPNET具有很大的研究和应用价值。2.2 OPNET仿真关键技术2.2.1 层次化建模技术0PNET采用层次化的建模技术,提供了三层建模机制:网络模型、结点型和进程模型。网络模型为最上层,由可以嵌套的子网、通讯节点和在节点间进行通信的链路组成,在这一层完成网络拓扑和模型配置;进程模型是最底
7、层,用有限状态机(FSM)来描述各个状态和状态间转移关系,进程模型是通信协议功能模拟以及与仿真有关的控制流行为实现的具体位置,其中FSM是用C语言描述的通信行为程序;结点模型定义结点的内部结构,由发信机模块、接收机模块、处理机模块、队列模块及包流、统计线等连接组成。通过0PNET的网络模型、结点模型和进程模型三层建模机制建立起来的模型和实际的网络、设备、协议层次完全对应,全面反映了网络的相关特性。网络模型、结点模型和进程模型分别在相应的项目编辑器、结点编辑器和进程编辑器中完成。本实验就是从第一个层次进行建模,从而完成仿真任务的。2.2.2 离散事件仿真机制0PNET采用基于离散事件驱动的仿真机
8、制。事件是指网络状态的变化。网络状态发生变化时,模拟机进行仿真,状态不发生变化的时间段,不进行仿真,即被跳过,因而仿真时间是离散的。每个仿真时间点上可以同时出现多个事件,事件的发生可以有疏密的区别。仿真中的各个模块之间通过事件中断方式传递事件信息。每当出现一个事件中断时都会触发一个描述网络系统行为或者系统处理的进程模型的运行。通过离散事件驱动的仿真机制实现了在进程级描述通信的并发性和顺序性,再加上事件发生时刻的任意性,决定了可以仿真计算机和通信网络中的任何情况下的网络状态和行为。2.2.3 仿真调度机制在OPNET中使用基于事件列表的调度机制,合理安排调度事件,以便执行合理的进程来仿真网络系统
9、的行为。调度的完成通过仿真软件的仿真核和仿真工具模块以及模型模块来实现。事件列表的调度机制具体描述如下:1每个OPNET仿真都维持一个单独的全局时间表,其中的每个项目和执行都受到全局仿真时钟的控制,仿真中以时间顺序调度事件列表中的事件,需要先执行的事件位于表的头部。当一个事件执行后将从事件列表中删除该事件。2仿真核作为仿真的核心管理机构,采用高效的办法管理维护事件列表,按顺序通过中断将在队列头的事件交给指定模块,同时接收各个模块送来的中断,并把相应事件插入事件列表中间。仿真控制权伴随中断不断地在仿真核与模块之间转移。3当事件同时发生时,仿真核按照下面两种办法来安排事件在事件列表中的位置:(1)
10、按照事件到达仿真核的时间先后顺序,先到达先处理(first come first serve。(2)按照事件的重要程度,为事件设置不同的优先权,优先权高的先处理。2.2.4 通信机制OPNET采用基于包的通信机制来模拟实际物理网络中数据包的流动。包是为支持基于信息源通信而定义的一种数据结构,可以动态创建、修改、复制、发送、接收和销毁。每个包含有一些存储信息的区域,通过包流实现同一节点模型的不同模块间的传输。和基于包的通信机制类似的另一种通信方式是基于接口控制信息(ICI)的通信机制。ICI是与事件关联的用户自定义的数据列表。如果某个事件希望传递信息给予它相隔一段时间的将来某个事件,可以将ICI
11、绑定在将来这个事件中,等到它将来发生时就可以取出ICI信息。因为ICI以事件为载体,所以可以用在各种有关事件调度的场合,例如同一节点模型的相同模块内部、同一节点模型的不同模块之间及不同节点模型之间都可以采用基于ICI的通信。如果流事件源于包的传输,但是需要传输额外的信息又想避免使用包本身,这时可以用ICI。2.3 OPNET仿真流程利用OPNET仿真,一般遵循以下工作流程:1定义目标问题:明确和规范化网络仿真所要研究的问题和目标,提出明确的网络仿真描述性能参数。如网络通信吞吐量、链路利用率、设备利用率、端到端延迟、丢包率、队列长度等。2建立仿真模型:根据研究的问题和目标,建立所需的网络、进程或
12、协议模型(包括网络拓扑结构、协议类型、包格式等),配置相关业务。3收集统计数据:收集要用于仿真模型实现和验证的相关统计数据。如网络流量、端到端延迟、丢包率等。4运行仿真:利用仿真工具进行仿真实验,以得到所需要的数据。5查看并分析结果:查看结果并利用相关分析工具和数学知识对仿真结果进行统计分析。6调试再仿真:分析仿真数据,找出网络的性能瓶颈,然后通过修改拓扑、更新设备、调整业务量、修改协议等方法得到新的仿真场景,再次运行仿真。7生成仿真报告:生成网络仿真的研究报告。图 1 OPNET仿真流程由于网络的复杂性,在实际网络研究中,一般不可能一次就能达到仿真目的,而往往需要多次重复其中的部分或全部步骤
13、。另外网络仿真过程中仿真参数尽可能根据需要合理选取,并不是越详细越好,无用的参数可能使系统的处理效率下降。第三章 实验仿真过程3.1 实验一 单台服务器场景 仿真过程3.1.1 建立网络拓扑结构要创建一个新的网络模型,首先需要创建一个新的项目(Project)和一个新的场景(Scenarios)。首先创建30台PC机的场景:1_first_30。(1) 打开 OPNET Modeler 10.0。 (2) 从 File 菜单中选择 New.。(3)从弹出的下拉菜单中选择 Project 并单击 OK 按钮。 (4)将项目命名为1_sim_network,场景命名为1_first_30。 (5)
14、单击 OK 按钮。 按照向导创建网络拓扑图。首先选择一个空的项目Create Empty Scenarios,然后选择办公网络Office,然后确定网络的大小100m×100m,然后选择OPNET自带的对象模型家族种类,将Sm_Int_Model_List设为Yes,最后确认场景,单击OK。(6)使用快速拓扑配置,一次性创建规则的拓扑结构,从Topology菜单中选择Rapid Configuration。 (7)从配置下拉列表中选择Star,单击 OK。之后为该星形拓扑网络指定节点模型和链路模型。即Center Node Model设为3Com公司的交换机3C_SSII_1100_
15、3300_4s_ae52_e48_ge3;Periphery Node Model设为Sm_Int_wkstn;Link Model设为10BaseT,其中数量设为30。再合理设置位置和半径,单击OK。这样项目编辑窗口中会出现包含有一台交换机和30台PC结点的网络拓扑图。下面对上述该星形网络拓扑结构进行扩展。(8)添加服务器。打开对象面板,找到 Sm_Int_server 对象,并将它放置在工作空间中。单击右键,结束节点放置。 接下来,需要连接服务器和星型网络: (9)在对象模板中找到 10BaseT 链路对象。在服务器上单击鼠标左键,移动光标,再单击星型网络的中心节点。这时出现连接两个节点对
16、象的链路。单击鼠标右键结束链路创建。 最后需要为网络配置业务,包括应用定义(Application definition)和业务规格定义(Profile definition)。(10)在对象模板中找到 Sm_Application_Config 对象并将其放置在工作空间中。单击右键,光标重新移到对象模板中,单击 Sm_Profile_Config,并将其放置在工作空间中,单击右键。模板中应用定义对象和业务规格定义对象的参数已经配置好(为 Light database 业务),下面添加其他服务,OPNET在Application Config中预设了一些常用的服务,在Sm_Applicatio
17、n_Config右键选择Edit Attributes 选项,然后在Application Definition参数下添加多行(rows),每一行可以设置sever支持的一个服务。如图2所示。 图 2 Application Config 服务种类属性的设置 与服务器应用配置相对应,需要配置业务主寻,即Profile Definition。右键选择Edit Attributes,然后在Profile Configuration中的Application中添加行,并选择需要的服务。图 3 Profile Config 业务主寻属性的设置当然客户端也需要设定业务主询。可供客户端选择的业务主询的种类
18、和在业务主询配置器中的设定要完全吻合。这里客户端的Application Support Profile属性中中选择前面配置的业务主寻Sm_Int_Profile。最终得到网络拓扑图见图4。图 4 1_first_30网络拓扑图3.1.2 收集统计量在网络模型中可以对单个对象收集统计量(Object statistics),也可以对整个网络收集全局统计量(Global statistics)。根据实验要求,我们需要收集的统计量有,整个网络平均延迟、服务器与交换机链路的平均吞吐量、服务器CPU负载。(1) 整个网络平均延迟是全局统计量,在空白处右键选择Choose Individual DES
19、Statistics,然后将Ethernet中的Delay选项选中。如图5所示。图 5整个网络平均延迟统计量设置(2) 服务器CPU负载是对象统计量,在服务器上右键单击Choose Individual DES Statistics,然后选中Node Statistics Ethernet Load(bit/sec),如图6所示。图 6服务器CPU负载统计量设置(3) 服务器与交换机链路的平均吞吐量是对象统计量,在该链路上右键单击Choose Individual DES Statistics,然后选中point-to-point throughput(bits/sec)-> 和thro
20、ughput(bits/sec)<-,如图7所示。图 7服务器与交换机链路的平均吞吐量统计量设置设置好后,保存一下项目。3.1.3 运行仿真首先,需要确定 repositories 属性设置正确: (1) 在Edit菜单中选择 Preferences。(2) 在查找文本框中输入“repositories”,单击 Find 按钮。 (3) 在弹出的对话框的左下角单击Insert按钮,在文本框中输入stdmod,然后回车。(4) 单击 OK 按钮关闭 repositories 和 Preferences 对话框。(5) 设置优化仿真的方法如下: 在Edit菜单中选择Preferences,在
21、查找文本框中输入kernel_type,单击 Find按钮。将对应的value 设置为optimized。接下来运行仿真。(6) 在 Simulation 菜单中选择 Configure Simulation,或者在工具栏中选择运行仿真按钮。 (7) 将仿真时间 Duration 设置为0.5,即模拟执行半小时的仿真。(8) 单击 Run 按钮运行仿真。 运行完毕后如下图8图 8 仿真结束完成(9) 运行完毕后单击 Close 按钮关闭对话框。3.1.4 60台PC场景 1_expand_60这里我们在上一个场景的基础上进行扩展,创建60台PC的网络拓扑。为了保留刚才的网络场景,以便和扩展的网
22、络场景的仿真结果相比较,需要复制场景: (1)在 Scenarios 菜单中选择 Duplicate Scenario.。 (2)命名新的场景为 1_expand_60。 (3)单击 OK 按钮。 这时出现和刚才网络模型一模一样的场景。 (4)接下来,需要构建网络的另一部分,即另外30台PC。这里我们让这30台PC和前一个场景的30台同构,同样通过快速配置,配置一个30台客户端的星形拓扑网络,然后再连接两个子网。(5)在对象面板中选中 Cisco2514 路由器并将它放置在两个局域网之间。单击鼠标右键结束放置。(6)在对象模板中选中 10BaseT 链路图标,在项目编辑器中分别连接刚才放上去的
23、路由器已经另外两台3Com的交换机。最终网络拓扑图见图9。图 9 1_expand_60网络拓扑图之后按照前面第一个场景设置统计量并且运行仿真。3.1.5 90台PC场景1_expand_90这里我们继续在上一个场景的基础上进行扩展,创建90台PC的网络拓扑。复制场景: (1)在 Scenarios 菜单中选择 Duplicate Scenario.。 (2)命名新的场景为 1_expand_90。 (3)单击 OK 按钮。 (4)接下来,需要构建网络的另一部分,即另外30台PC。这里我们让这30台PC和前两个场景的30台同构,同样通过快速配置,配置一个30台客户端的星形拓扑网络。(5)在项目
24、编辑区再放置一个Cisco2514 路由器,然后把该路由和刚才创建的子网中的3Com交换机相连,并且与前一个场景的交换机相连。(6)最后连接两台路由器。在对象面板的下拉菜单中选取internet_toolbox,然后选取其中的ppp_DS3链路,连接两个路由。最终网络拓扑图如图10。之后按照前面第一个场景设置统计量并且运行仿真。图 10 1_expand_90网络拓扑图3.2 实验一 多台服务器场景 仿真过程首先将上一个实验保存,然后再另存为一个工程命名为2_sim_network。然后将前两个场景1_first_30和1_expand_60删除,仅留下90台PC场景1_expand_90,下
25、面在复制改成场景命名为1_expand_90_2,创建两台服务器的网络拓扑图。在对象面板中再拖入一台服务器,然后用10BaseT线和node_30(也就是第一次添加的交换机)相连,最终的网络拓扑结构图见图11。图 11 1_expand_90_2网络拓扑图3.3 实验二 用OPNET对RIP仿真分析OPNET是1986年由第四章 实验仿真结果及分析4.1 单台服务器场景仿真结果及分析OPNET有一个针对结果进行比较的模块并具有Html报告生成功能。在1_sim_network工程中,空白处右键选择Compare Results。则会弹出生成曲线图的面板,见图12。通过该面板可以生成以下对比图。
26、图 12 曲线图生成面板4.1.1 整个网络平均延迟对比曲线图见图13图 13整个网络平均延迟对比曲线图通过该图可以发现,随着客户端的增多,网络的平均延时量出现了间断性的下降。4.1.2 服务器与交换机链路的平均吞吐量对比曲线图见图14、15。其中图14是由服务器到交换机平均传送数据对比图,而图15是有交换机到服务器平均传送数据对比图。图 14 服务器到交换机结点数据传送对比图 15 交换机到服务器结点数据传送对比通过该图可以发现,随着客户端的增多,交换机和服务器链路的平均吞吐量逐渐上升。4.1.3 服务器CPU负载变化对比曲线图,见图16.图 16 服务器CPU负载变化对比曲线图通过该图可以
27、发现,随着客户端的增多,服务器的CPU负载也是逐渐上升的。4.2 多台服务器场景仿真结果及分析在2_sim_network工程中,空白处右键选择Compare Results。则会弹出生成曲线图的面板,通过该面板可以生成以下对比图。4.2.1 整个网络平均延迟对比曲线图图 17整个网络平均延迟对比曲线图通过对比发现,两个网络的网络延时基本一致。4.2.2 服务器与交换机链路的平均吞吐量对比曲线图见图18、19。其中图18是由服务器到交换机平均传送数据对比图,而图19是有交换机到服务器平均传送数据对比图。图18服务器到交换机结点数据传送对比图19 交换机到服务器结点数据传送对比通过该图可以发现,
28、随着服务器的增多,交换机和服务器链路的平均吞吐量逐渐下降。4.2.3 服务器CPU负载变化对比曲线图见图20。图20 服务器CPU负载变化对比曲线图通过该图可以发现,随着服务器的增多,服务器的CPU负载是逐渐下降的。因为多台服务器平衡了负载,故单台服务器负载下降。4.3 用OPNET对RIP仿真结果及分析4.3.1 RIP协议概述RIP协议是最著名、历史最悠久的动态路由协议,该协议属于距离向量协议。RIP协议最早由施乐公司Palo Alto研究中心(PARC)开发,并在施乐公司的PUB和XNS路由协议基础上发展而来。而后加州大学伯克利分校在许多局域网上采用RIP协议,该举动极大的推动了RIP的
29、广泛应用。另外RIP在UNIX上的普遍实现同样也促进了RIP的推广。RIP协议最初是为局域网设计,现在应用范围已经不局限在局域网,RIP协议已经被应用到城域网甚至广域网中。虽然如此,但是RIP协议不适用于规模较大的网络。RIP协议是因特网协议族的重要组成部分,也是在因特网中最早得到广泛应用并持续至今的一种简单路由协议。在下一代因特网协议IPv6中最早最完全实现的也是基于RIP的RIPng。按照路由协议分类,RIP属于距离向量协议。RIP中路由的选择是基于到达目的地所需要的跳数来决定。距离向量算法最早由Ford,LR和FulkerSon,DR提出,路由方程式推导由REBellm锄完成。因此,RI
30、P协议所用的路由算法也称FordFulkerSon算法或Ford-BellmaIl算法。1988年6月IETF将RIP协议标准化为RFC1058。该协议是开放标准,用于小型网络内部网关协议。随着m技术的发展,为支持VLSM和CIDR,1993年IETF在RFC 1388中发布了RIPv2。随后在1994年由l心C 1723取代RFC 1388。因此,RFC 1058所规定的RIP协议称为RIPv1,RFC 1723所规定的RIP协议为最新版本RIPv2。4.3.2 RIP的工作原理运行RIP的路由器定期将路由表发送给相邻的路由器(最初路由表中只有直连路由以及静态路由)。路由器收到相邻路由器发送
31、的路由表后,将每个路由的距离加1与自身路由表中的信息比较,如果大于和等于自身路由表中路由的距离则忽略收到的路由并刷新该路由记录;如果小于自身路由表中路由距离或者自身路由表中没有所比较的路由则将收到的路由信息写入路由表,距离为原距离增加l且下一跳为发送该路由信息的路由器。当距离为16时认为路由不可达。运行RIP的网络规模有限,路径最长距离为15。路由器定期清除长时间未刷新的路由记录以防止某路由器死机后产生的路由黑洞。网络中所有运行RIP的路由器不了解整个网络的拓扑结构,只是简单相信从某个相邻路由器经过某个特定距离可以到达目标网络。 RIP的路由表RIP协议使用跳数(hop Coun
32、t)作为度量标准(metrics)来衡量到达目标地址的路由距离。每个运行RIP协议的路由器都维护着一张路由表,这张路由表中至少要包括以下信息:(1)IP地址:该地址是所要到达的目的主机或网络的地址。(2)下一跳:数据包所要到达的下一个路由器的地址。(3)接口:数据包到达下一跳所使用的物理网络接口。(4)跳数:即度量值。RIP的度量是基于跳数(hop count)的,并规定两个直连的路由器间的跳数为1,因此,每经过一台路由器,路径的跳数就加一。跳数越多,路径就越长,RIP算法会优先选择跳数少的路径。RIP支持的最大跳数是15,跳数为16的网络被认为不可达。(5)计时器:有时也称为年龄,用于记录自
33、上次路由更新以来的时间总和。RIP中路由的更新是通过定时广播实现的。缺省情况下,路由器每隔30秒向与它相连的网络广播自己的路由表,接到广播的路由器将收到的信息添加至自身的路由表中。每个路由器都如此广播,最终网络上所有的路由器都会得知全部的路由信息。正常情况下,每30秒路由器就可以收到一次路由信息确认,如果经过180秒,即6个更新周期,一个路由项都没有得到确认,路由器就认为它已失效了。如果经过240秒,即8个更新周期,路由器仍没有得到确认,它就被从路由表中删除。另外,各种标志位和其他内部信息也有可能包括在路由表中。例如,有些标志位用于记录路由最近是否发生变化,以备触发更新时使用。
34、RIP的工作流程图 21 RIP的工作流程RIP的工作流程很简单,如图21所示,当在RouterA路由器的某接口上启动RIP,接口以广播形式向邻居发送路由表信息请求,邻居R0uter B接收到路由表信息请求,就发送整个路由表信息对请求进行响应;RouterA和Router B在启动后就开始周期发送并周期更新路由。RouterA检测到路由变化时,以广播形式向邻居发送触发更新,通知邻居路由变化。运行RIP协议的路由器并不是把每一条新的路由信息都添加到自己的路由表中。只是在以下三种情况下,路由器会根据所获得的路由信息对路由表进行修改:(1)如果收到的路由信息在自身的路由表中不存在,则添加。(2)如果
35、收到的路由信息的目的子网和现有路由表中一项相符,而且量度值比现有的度量值要小,则用新的路由替换现有的,否则,忽略该路由。(3)如果收到的路由信息的目的子网和下一跳路由器地址和现有路由表中的某一项都相同,则无论度量值减小,还是增加,都修改度量值。4.3.3 RIP路由更新机制 RIP的路由表RIP中路由的更新是通过定时广播实现的。缺省情况下,路由器每隔30秒向与它相连的网络广播自己的路由表,接到广播的路由器将收到的信息添加至自身的路由表中。每个路由器都如此广播,最终网络上所有的路由器都会得知全部的路由信息。正常情况下,每30秒路由器就可以收到一次路由信息确认,如果经过180秒,即6
36、个更新周期,一个路由项都没有得到确认,路由器就认为它已失效了。如果经过240秒,即8个更新周期,路由项仍没有得到确认,它就被从路由表中删除。上面的30秒,180秒和240秒的延时都是由计时器控制的,它们分别是更新计时器(Update Timer)、无效计时器(Invalid Timer)和刷新计时器(Flush Timer)。由于RIP路由记录必须定期刷新,所以RIP路由器必须定期向邻居发送路由表。又因为IP网络中路由和信息在同一通道上传播,所以IP路由器不能频繁发送路由表过度占用带宽。如果发送路由表间隔过长,则会导致路由计算收敛较慢:网络中一条路由的变化需要相对较长的时间才能通知到所有的路由
37、器。权衡带宽占用以及路由收敛时间两方面的因素,所以对IP路由器通常是每30秒向邻居路由器发送一次路由信息。上述更新间隔可以依据收敛时间要求、网络带宽资源以及网络拓扑和网络规模作调节。 RIP路由循环及收敛问题距离向量类的算法容易产生路由循环,RIP是距离向量算法的一种,所以它也不例外。如果网络上有路由循环,信息就会循环传递,永远不能到达目的地。为了避免这个问题,RIP距离向量算法实现了下面4个机制。(1)水平分割(split horizon):水平分割保证路由器记住每一条路由信息的来源,并且不在收到这条信息的端口上再次发送它。这是保证不产生路由循环的最基本措施。(2)毒性逆转(p
38、oison reverse):当一条路径信息变为无效之后,路由器并不立即将它从路由表中删除,而是用16,即不可达的度量值将它广播出去。这样虽然增加了路由表的大小,但对消除路由循环很有帮助,它可以立即清除相邻路由器之间的任何坏路。(3)触发更新(trigger update):当路由表发生变化时,更新报文立即广播给相邻的所有路由器,而不是等待30秒的更新周期。同样,当一个路由器刚启动RIP时,它广播请求报文。收到此广播的相邻路由器立即应答一个更新报文,而不必等到下一个更新周期。这样,网络拓扑的变化会最快地在网络上传播开,减少了路由循环产生的可能性。(4)抑制计时(holddown timer):
39、一条路由信息无效之后,一段时间内这条路由都处于抑制状态,即在一定时间内不再接收关于同一目的地址的路由更新。如果,路由器从一个网段上得知一条路径失效,然后,立即在另一个网段上得知这个路由有效。这个有效的信息往往是不正确的,抑制计时避免了这个问题,而且,当一条链路频繁起停时,抑制计时减少了路由的浮动,增加了网络的稳定性。即便采用了上面的4种方法,路由循环的问题也不能完全解决,只是得到了最大程度的减少。一旦路由循环真的出现,路由项的度量值就会出现计数到无穷大(count to infinity)的情况。这是因为路由信息被循环传递,每传过一个路由器,度量值就加1,一直加到16,路径就成为不可达的了。R
40、IP选择16作为不可达的度量值是很巧妙的,它既足够的大,保证了多数网络能够正常运行,又足够小,使得计数到无穷大所花费的时间最短。4.3.4 建立网络拓扑结构本实验通过RIP路由协议构建网络,并且通过实验结果来分析RIP路由协议。其中重点关注仿真中出现子网失效时,各个路由器的路由表的变化。同时在试验中收集一些统计量,如RIP协议的收敛情况、路由表更新总数、RIP协议的开销情况、使用RIP协议局域网延时情况以及RIP协议的链路修复情况。具体需要采集的统计量:Global Statistics中的Ethernet ->Delay、RIP->Network Convergence Acti
41、vity、RIP->Network Convergence Duration、RIP->Traffic Received、RIP->Traffic Sent。Node Statistics中的Route Table->Total Number of Updates。下面介绍一下网络拓扑图的构造,其中分为一个主干网络以及4个子网。其中主干网络有BackBone_Router1-4,4台路由器构成,子网是由一台路由以及两个100BaseT_LAN局域网构成。其网络拓扑机构图见图22和图23。图 22 RIP协议分析整体网络拓扑图图 23 整体拓扑图中4个子网的网络拓扑图其中
42、为了为了检测链路修复等统计量,这里添加了一个Failure-Recovry组件。并且配置一个失效,在Failure组件上右键选择编辑属性,然后在该编辑窗口设置如图24,在500s时让主干网中路由2和路由4出现失效,然后再在1000s时使其链路恢复。图 24 设置链路失效以及恢复因为我们需要查看路由表的变化,故在这里需要对路由器进行设置,来保存相应时间的RIP路由表。其设置方式在路由器上右键选择编辑属性,然后按照图 25所示设置。其中End of Simulation表示在仿真结束后保存路由表。图 26 路由器保存特定时间路由表设置我们失效是设置在路由器1和路由器2之间,这里我们主要监视路由器2
43、的RIP路由表。下面开始运行仿真,其中需要设置全局路由策略以及一些其他参数,见图 27。主要对Global Attribute 中的IP Dynamic Routing Protocol设为RIP,然后将IP Interface Addressing Mode 设为Auto Addressed/Export,这个选项用来后面我们获取拓扑结构的IP文件。最后要把RIP Sim Efficiency 设为Disabled。然后运行仿真。图 28 仿真参数设置4.3.5 仿真结果由于网络较为复杂,这里使用OPNET的实验报告生成工具生成HTML格式实验报告,用于分析其中内容。其中子网局域网的网络延时
44、见图29, 局域网的延时大概在0.00009秒左右。图 29 子网中LeftNet_1 局域网的网络延时整个网络RIP协议的收敛情况见图30。通过观察RIP协议在节点数目不是很多的情况下收敛情况十分理想的。图 30 整个网络RIP协议的收敛情况另外各个路由器的收敛情况可以查看表,这是通过OPNET自动生成的。表 1 各个路由器的收敛情况Node RIP Router Convergence Activity RIP Router Convergence Duration (sec) BackBone_Router_10.000600.2987BackBone_Router_20.000460.
45、3128BackBone_Router_30.001760.8738BackBone_Router_40.001810.9212EastNet_2.center_20.007933.9015NorthNet_1.center_10.009574.7318SouthNet_3.center_30.279571.0330WestNet_4.center_40.007823.8246RIP协议的开销见图31,从图中我们发现RIP会定时的产生协议的开销,这个定时周期就是路由更新定时器的时间30s左右。并且这种开销一直维持在较高的水平上,在4500到6500bits/s之间。图 31 整个网络RIP协议
46、的开销路由表更新总数目见表2,发现其中路由器2和4更新比较频繁,这是由于在500s时在路由器2和4之间设置了一次fail。Sort ByNode Sorted ByAverage Sort ByPeak BackBone_Router_2 10.8 28 BackBone_Router_4 10.0 29 BackBone_Router_3 8.0 29 EastNet_2.center_2 8.0 31 SouthNet_3.center_3 8.0 29 最后我们分析一下路由表的变化,在分析之前因为我们的拓扑网络的IP是自动分配的,所以这里我们要获得整个网络的IP分配情况,在File-Opne的下来菜单中选择Generic Data File 然后选择RIP_Router_SIM_RIP_Failure-ip_addresses,这是个gdf文件(见图32),包含了整个网络的IP分配情况,整个网络的IP分配图见图33。除了图上非配的,另外还有分配给R1到R4作为环回LoopBack。图 32 包含IP分配信息的gdf文件图 33 整个网络的IP分配图为了分析路由表,首先截取了路由器2在500s、1000s、18000s时的路由表,见图34-36图 34 500s时Router2的RIP路由表图 35 1000s时Router2的RIP路
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 保洁员劳务合同标准范本及实操指南
- 小学一年级数学绘本教学方案
- 机械制造自动化培训教材范例
- 审核员与技术专家能力评价记录模板E14-A
- 药剂科药物配置与调配规范训练
- 活动公关评估框架
- 肩关节疾病临床检查及康复指导方案
- 市政公用设施维护检修方案
- 餐饮连锁店标准化服务流程指南
- 基础药物合理应用培训考核试卷
- 海南槟榔承包协议书
- 工业交换机产品培训
- 2025浙江温州市龙港市国有企业招聘产业基金人员3人笔试历年备考题库附带答案详解试卷3套
- 《十五五规划》客观测试题及答案解析(二十届四中全会)
- 月子会所的礼仪培训课件
- DB32-T 1086-2022 高速公路建设项目档案管理规范
- 代码开发安全培训课件
- (2025年标准)科研资助经费协议书
- 知识产权侵权培训课件
- 2025年四川省事业单位招聘考试综合类公共基础知识真题模拟试卷
- 肿瘤常见急症及处理
评论
0/150
提交评论