您的当前位置:首页正文

OPNET网络仿真--包交换

2022-12-01 来源:年旅网


一、实验目的

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之间,仿真结果合理。

四、实验心得及体会

因篇幅问题不能全部显示,请点此查看更多更全内容