OPNET网络仿真包交换.docx
《OPNET网络仿真包交换.docx》由会员分享,可在线阅读,更多相关《OPNET网络仿真包交换.docx(15页珍藏版)》请在冰豆网上搜索。
OPNET网络仿真包交换
一、实验目的
1.学习熟悉使用OPNET仿真软件,实现对网络场景的仿真。
学习并掌握包交换有线网络的基本知识。
2.数据包建模。
学习并掌握数据包建模的基本方法和技能。
3.有线链路建模。
学习并掌握有线链路建模的基本方法和技能。
4.中心交换节点建模
学习并掌握中心交换节点建模的基本方法和技能。
包括hub进程建模和包流的连接。
5.周边节点建模
学习并掌握周边节点建模的基本方法和技能,包括:
src进程建模;sink进程建模;proc进程建模;包流的连接。
6.网络建模。
学习并掌握包交换有线网络建模的基本方法技能。
7.配置参数、运行和调试仿真
学习并掌握收集统计量、配置参数、运行和调试仿真的基本方法和技能。
8.仿真结果分析。
学习并掌握仿真结果分析的基本方法和技能。
二、实验过程
专题1:
实现包交换
1、定义包格式
(1)从File菜单列表中选择PacketFormat,单击OK按钮。
这时打开包格式编辑器。
(2)单击CreateNewField工具按钮,然后将光标移到编辑窗口中,单击鼠标左键,接着单击右键。
这时一个新的包域出现在编辑窗口中。
设置包域的属性,定义好的包域名称和大小。
图1.包格式定义
(3)从File菜单中选择Save,命名包格式。
2、定义链路模型
(1)从File菜单列表中选择LinkModel,打开链路模型编辑器。
(2)找到链路类型支持属性框,设置支持的包格式,除了ptdup外的链路类型对应的Supported属性设置为no,表明该链路只支持点对点双工连接。
(3)在packetformats属性右边对应的InitialValue栏中单击鼠标左键。
“SupportsAllPacketFormats”和“SupportsUnformattedPackets”复选框取消,同时将新增加包设置为Support。
图2.链路模型定义
3、创建中心节点
定义节点模型,中心交换节点:
四对发信机和收信机(每对收发信机对应一个周边节点),一个中心交换处理进程(按地址转交包)。
(1)从File菜单列表中选择NodeModel,打开节点模型编辑器。
(2)在编辑窗口中放置一个进程模块,四个点对点发信机,和四个点对点收信机。
图3.中心进行模型定义
(3)给每个对象命名,并用包流将每个收信机和发信机和hub相连。
查看包流的连接情况。
图4.包流连接
(4)在收信机或收发信机模块上选择EditAttributes,设置参数。
图5.属性设置
(5)创建hub进程模型,从File菜单列表中选择ProcessModel,这时打开进程模型编辑器。
创建idle状态,建立状态转移。
(6)编辑函数块按钮,输入代码,完成编辑。
图6.代码编辑
4、创建外围节点
创建周边节点模型,当周边节点生成一个包时,它必须给这个包指定一个目的地址,然后将它发往中心节点。
如果周边节点接收到一个包时,它必须计算该包的端对端延时。
因此周边节点必须包括一个业务生成模块、一个进程模块和一对点对点收发信机来完成这些任务。
创建周边节点模型和创建中心节点模型过程类似,不做详述。
5、构建网络
现在已建好了底层的节点、进程和链路模型,依据层次化建模的思想,现在可以构建网络模型了。
(1)从OPNETModeler主窗口中的File菜单列表中选择Project,命名Scenario,创建一个对象模板。
图7.对象模板
(2)放置节点,依据网络拓扑放置节点,并连接节点,验证连接。
图8.连接验证
(3)设置节点属性。
6、运行仿真
现在已建好网络,设置参数,运行仿真。
图9.统计量参数设置
图10.配置参数设置
三、实验结果
1.基本实验(专题1:
包交换)
(1)仿真场景
中心节点:
1个,周边节点:
4个。
网络场景如下:
图11.基本实验场景
(2)节点模型
图12.Hub节点模型图13.周边节点模型
(3)进程模型
图14.Hub进程模型图15.周边节点进程模型
(4)仿真结果及分析
1、时延统计
图16.时延(间隔4s与间隔40s发包)
图17.平均时延(间隔4s与间隔40s发包)
2、带宽利用率
图18.hub->node0宽带利用率(间隔4s与间隔40s发包)
图19.hub<-node0宽带利用率对比(间隔4s与间隔40s发包)
图20.hub<->node0叠加对比(间隔4s与间隔40s发包)
结果分析:
图16和图17是包的产生时间间隔分别为4秒和40秒时的端对端延时比较图。
其中,纵坐标为端对端延时,横坐标为时间。
可以看出,包产生时间间隔为4秒时的端对端延时始终高于包产生时间间隔为40秒时的端对端延时;在平均时延方面,两者相差不大。
这是符合实际情况的。
图18、19和图20是包的产生时间间隔分别为4秒和40秒时的链路带宽利用率比较图。
其中,纵坐标为链路利用率,横坐标为时间。
可以看出,在经过一定时间的初始状态的振荡之后,两组仿真都逐渐达到稳定状态,包产生时间间隔为4秒时的链路利用率始终高于包产生时间间隔为40秒时的链路利用率。
原因是间隔4秒包产生量高于间隔40秒,因此占有带宽的时间较多,因此链路利用率增加,这一仿真结果也符合时间情况。
2.改进实验
(1)改进内容
a、增加节点数量
在改进实验中,增加了周边节点的数量,同时在场景四中增加了子网数目,使得交换网络数目为2,交换节点数目为2。
另外,在改进实验中,修改了交换节点的节点模型及进程模型。
场景截图如下:
图21.扩展场景2图22.扩展场景3
图23.扩展场景4
图24.扩展场景4(分别对应的两个子网)
其中四个场景下对应的中心交换模型:
图25.扩展场景2(中心交换模型)图26.扩展场景3(中心交换模型)
图27.扩展场景4(中心交换模型)
b、增加统计量
图28.增加统计量(示图一)
图29.增加统计量(示图二)
图30.增加统计量(头文件模块)
图31.增加统计量(函数部分代码)
图32.增加统计量(初始状态代码)
c、修改包格式
图33.修改后包格式
(2)仿真结果及分析
图34.四个场景运行对比(发包间隔4秒)
图35.时延结果对比(四个场景下发包间隔均为4秒)
图36.发包数目对比(四个场景下发包间隔均为4秒)
图37.接收包数目对比(四个场景下发包间隔均为4秒)
图38.node0<->hub0的链路利用率对比(四个场景下发包间隔均为4秒)
结果分析:
图35是四个场景下的时延结果对比,其中包括三个扩展场景2、3、4和初始场景。
仿真的参数设置中包的产生时间间隔分别为8秒。
其中横坐标为仿真时间,纵坐标为网络时延。
从图形中我们可以看出,随着网络节点数目的不断增加,网络规模的扩大,网络的负载增加,网络的时延在不断增加,如图示场景3和场景2的时延要大于基本场景,而两个子网组成的场景4其时延又远远大于其他三个场景,这与实际情况是相符的。
图36和37是网络发送和接受包数目的对比,随着仿真时间的增加,网络发包和收包数目呈增长趋势,而随着吧不同网络场景下节点数目的增加,网络的发包和收包数目也不断增加,场景4依次大于3、2场景;同时经过估算,其显示的结果与实际发包数相同,符合实际。
图38为不同网络场景下的node0<->hub0的链路利用率对比,其中纵坐标为链路利用率,横坐标为仿真时间。
可以看出,在经过仿真初始期状态的振荡之后,四组仿真都逐渐达到稳定状态,由于包的产生间隔为4秒,包的发送量较大,因此线路的利用率较高,四个场景的利用率均在2.5到2.8之间,仿真结果合理。
四、实验心得及体会