OPNET网络仿真--包交换
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、实验目的
1。
学习熟悉使用OPNET仿真软件,实现对网络场景的仿真.学习并掌握包交换有线网络的基本知识.
2.数据包建模.学习并掌握数据包建模的基本方法和技能。
3.有线链路建模。
学习并掌握有线链路建模的基本方法和技能。
4.中心交换节点建模
学习并掌握中心交换节点建模的基本方法和技能。
包括hub进程建模和包流的连接。
5。
周边节点建模
学习并掌握周边节点建模的基本方法和技能,包括: src进程建模; sink进程建模; proc进程建模;包流的连接.
6.网络建模。
学习并掌握包交换有线网络建模的基本方法技能。
7.配置参数、运行和调试仿真
学习并掌握收集统计量、配置参数、运行和调试仿真的基本方法和技能。
8。
仿真结果分析.学习并掌握仿真结果分析的基本方法和技能.
二、实验过程
专题1:实现包交换
1、定义包格式
(1)从File 菜单列表中选择Packet Format,单击OK 按钮。
这时打开包格式编辑器。
(2)单击Create New Field 工具按钮,然后将光标移到编辑窗口中,单击鼠标左键,接着单击右键。
这时一个新的包域出现在编辑窗口中。
设置包域的属性,定义好的包域名称和大小。
图1.包格式定义
(3)从File 菜单中选择Save,命名包格式。
2、定义链路模型
(1)从File 菜单列表中选择Link Model,打开链路模型编辑器.
(2)找到链路类型支持属性框,设置支持的包格式,除了ptdup 外的链路类型对应的Supported属性设置为no,表明该链路只支持点对点双工连接。
(3)在packet formats 属性右边对应的Initial Value 栏中单击鼠标左键。
“Supports All Packet Formats”和“Supports Unformatted Packets”复选框取消,同时将新增加包设置为Support。
图2.链路模型定义
3、创建中心节点
定义节点模型,中心交换节点:四对发信机和收信机(每对收发信机对应一个周边节点),一个中心交换处理进程(按地址转交包)。
(1)从File 菜单列表中选择Node Model,打开节点模型编辑器.
(2)在编辑窗口中放置一个进程模块,四个点对点发信机,和四个点对点收信机。
图3。
中心进行模型定义
(3)给每个对象命名,并用包流将每个收信机和发信机和hub 相连。
查看包流的连接情况。
图4。
包流连接
(4)在收信机或收发信机模块上选择Edit Attributes ,设置参数。
图5.属性设置
(5)创建hub 进程模型,从File 菜单列表中选择Process Model,这时打开进程模型编辑器。
创建idle状态,建立状态转移。
(6)编辑函数块按钮,输入代码,完成编辑。
图6。
代码编辑
4、创建外围节点
创建周边节点模型,当周边节点生成一个包时,它必须给这个包指定一个目的地址,然后将它发往中心节点。
如果周边节点接收到一个包时,它必须计算该包的端对端延时。
因此周边节点必须包括一个业务生成模块、一个进程模块和一对点对点收发信机来完成这些任务。
创建周边节点模型和创建中心节点模型过程类似,不做详述. 5、构建网络
现在已建好了底层的节点、进程和链路模型,依据层次化建模的思想,现在可以构建网络模型了.
(1)从OPNET Modeler 主窗口中的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之间,仿真结果合理.
四、实验心得及体会。