完整word版包交换OPNET网络仿真Word文件下载.docx
- 文档编号:19551011
- 上传时间:2023-01-07
- 格式:DOCX
- 页数:13
- 大小:331.32KB
完整word版包交换OPNET网络仿真Word文件下载.docx
《完整word版包交换OPNET网络仿真Word文件下载.docx》由会员分享,可在线阅读,更多相关《完整word版包交换OPNET网络仿真Word文件下载.docx(13页珍藏版)》请在冰豆网上搜索。
4.学习并理解外围节点及中心节点中进程的含义。
5.学习并掌握链路的建模方法
6.学习并掌握数据包的格式
7.学习并掌握配置参数﹑收集统计量﹑运行和调试程序﹑并分析结果的能力。
二﹑实验过程
1.创建一个基本包交换网络
1.1创建新的包格式
在新建中创建一个数据包模块,定义名字为dest_address,大小为2。
1.2创建链路模型
打开包格式编辑器,选择全双工方式,在链路转发包格式中选择自定义的包数据速率选择9600,取消链路的纠错功能,选择链路无干扰模式并选择计算点对点的传输时延。
1.3创建中心交换节点模型
创建节点交换模型需要定义节点模型和进程模型两步
1.3.1定义节点模型
中心交换节点模型由4对收/发信机以及一个中心处理机组成,然后使用数据包流连接相应的模块,为每个收发信机设置与链路相同的数据速率9600,并选择自定义的数据包。
1.3.2定义进程模型
中心节点进程模块将接收到的包按照目的地址转交给正确的发信机,然后通过发信机将包发送目的节点,中心节点进程模块通过包流与发信机和收信机相连,因为每个包到达都出发中心节点进程的一次中断,中心节点进程接收到中断后从休眠状态激活执行代码处理包
(1)单击创建状态按钮
,然后将光标移到编辑窗口中,单击鼠标左键,放置一个状态,然后单击鼠标右键,命名该状态为idle。
(2)建立状态转移:
(3)在转移线上单击鼠标右键,从弹出的菜单中选择EditAttributes,然后将转移的
condition属性改为PK_ARRVL,并且将executive属性改为route_pk()。
(4)接下来你需要定义PK_ARRVL条件的宏
单击编辑头块按钮
输入定义宏PK_ARRVL的代码
(5)为idle状态创建一个指向自身的转移线。
(6)在转移线上单击鼠标右键,从弹出的菜单中选择EditAttributes,然后将转移的
condition属性改为default,右击鼠标关闭对话框
(7)接下来你需要编写条件执行代码route_pk(),单击编辑函数块按钮
(8)更改进程的属性:
从Interfaces菜单中选择ProcessInterfaces,把begsimintrpt属性的初识值改为enabled。
接下来,你需要编译模块:
(9)单击编译进程模型按钮。
(10)需要将编译好的进程模型指定给节点模型:
从Windows下拉菜单中选择NodeEditors,然后找到<
initials>
_pksw_hub。
这时节点模型编辑器被激活,在hub进程上单击鼠标右键,从弹出的菜单中选择EditAttributes,将processmodel的属性值改为pksw_hub_proc,保存节点模型
1.4创建外围节点
1.4.1定义外围节点模型
当周边节点生成一个包时,它必须给这个包指定一个目的地址,然后将它发
往中心节点。
如果周边节点接收到一个包时,它必须计算该包的端对端延时。
因此周边节点必须包括一个业务生成模块、一个进程模块和一对点对点收发信机来完成这些任务。
(1)按下列方向建立包流:
rcv→proc;
proc→xmt;
src→proc。
(2)在src模块上单击鼠标右键,从弹出地菜单中选择EditAttribute。
(3)在属性表中,选中左边一栏的PacketInterarrivalTime(这时该属性变成蓝色),
然后单击Promote按钮。
(4)单击PacketFormat属性对应的右边Value栏,将它更改为pksw_format。
(5)参考图,确定你的设置正确,然后单击OK关闭属性对话框。
(6)接下来你需要定义收发机模型属性:
(7)在其中一个收信机或收发信机模块上单击鼠标右键,从弹出的菜单中选择Edit
Attributes。
(8)单击channel属性右边的value栏,在弹出的信道属性表中将datarate设置为9600.
(9)单击packetformats栏,在弹出的对话框中单击“SupportsAllPacketFormats”
和“SupportsUnformattedPackets”复选框,关掉所有默认支持的格式,然后找到
pksw_format包格式,将它属性改为supported。
单击OK关闭对话框。
(10)重复(7)(8)(9)操作到所有的收发信机。
(11)接下来你需要定义节点模型的界面属性:
Interfaces菜单中选择NodeInterfaces
出现节点界面对话框,找到支持的节点类型属性表,除了fixed外的节点类型对应的Supported属性设置为no,表明该节点只能作为固定节点。
(12)重新定义包间隔的命名,点击NodeInterfaces对话框中选择Rename/Merge按钮。
(13)在UnmodifiedAttributes栏中找到要更名的属性src.PacketInterarrivalTime,然
后单击按钮。
(14)在PromotionName文本栏中中输入新的名字sourceinterarrivaltime,如图
所示。
(15)接下来为sourceinterarrivaltime属性指定预定值:
在NodeInterfaces对话框中,选择新命名的sourceinterarrivaltime属性,这时
左边的EditProperties按钮被激活,单击它,这时出现Attribute:
sourceinterarrivaltime对话框,在SymbolMap表中,将所有Symbol对应的Status变为suppress。
(16)在Nodeinterface中除了sourceinterarrivaltime外的所有属性的Status改为hidden。
1.4.2定义外围节点进程模型:
(1)从File菜单中选择New…,从弹出的菜单中选择ProcessModel,单击OK按钮。
(2)改变状态的属性:
在第一个状态上单击鼠标右键,在弹出的菜单中选择Setname将其改名为init,
并且选择MakeStateUnforced使其变为强制的(forced),这时状态颜色变为绿色。
将第二个状态更名为idle。
(保持它为红色的非强制unforced状态),如图所
示。
(3)按下图所示定义状态
(4)接下来,需要定义状态变量和临时变量,单击编辑状态变量工具按钮
在状态变量对话框中输入以下内容,如图所示
(5)创建一个全局统计探针收集包的端对端延时结果:
在进程模型的Interfaces菜单中选择DeclareGlobalStatistics(申明全局统计量),将StatName属性命名为ETEDelay。
在探针描述文本栏中输入CalculatesETEdelaybysubtractingpacketcreationtimefromcurrentsimulationtime,从File菜单中选择Save保存描述文件。
1.5创建网络模型
(1)从OPNETModeler主窗口中的File菜单中选择New.,从下拉列表中选择Project,
(2)首先需要创建一个对象模板,它包含你需要用到的模块,单击打开对象模板工具按钮,在弹出的对话框中单击配置模板按钮ConfigurePalette,在ConfigurePalette对话框中,单击Clear按钮,
(3)单击NodeModels按钮找到pksw_hub和pksw_node节点模型并单击右边的Status栏使其变为included。
然后单击OK。
(4)在ConfigurePalette对话框中,单击LinkModels按钮。
(5)找到pksw_link并包括include该链路模型。
单击OK。
(6)在ConfigurePalette对话框中,单击OK按钮,将模板命名为pksw_palette,
(7)在项目编辑窗口中放置一个subnet模型并命名为pksw1,双击这个子网模块进入它的内部,放置四个周边节点对象pksw_node,放置一个中心节点对象pksw_hub,并将该节点命名为hub,单击模板中的链路对象pksw_link,依次(node_0,node_1,node_2,node_3)连接四个周边和hub节点,
1.5收集统计量并分析结果
选择要收集的结果:
(1)在工程窗口的空白处(任意位置)单击鼠标右键,从弹出的菜单中选择Choose
IndividualDESStatistics。
(2)打开GlobalStatistics列表,选中ETEDelay
(3)在node_0与hub间的链路上单击鼠标右键,从弹出的菜单中选择ChooseIndividual
DESStatistics。
(4)打开point-to-point列表,选中上行和下行链路利用率
1.6配置仿真
(1)从DES菜单中选择Configure/RunDiscreteEventsimulation
(2)将随机种子Seed设置为21,仿真时间设为1000seconds
(2)给sourceinterarrivaltime属性赋值:
单击ObjectAttributes按钮,在attribute中选择pksw1sourceinterarrivaltime添加间隔时间,这里我们设置成4,40
(3)
(1)单击执行仿真按钮。
(4)仿真完毕后关闭仿真消息对话框,并且关闭仿真配置编辑器。
2实验改进
2.1增加baseline节点模型
(1)点击面板上的Scenarios中的Duplicatescenario选项,复制baseline的场景,然后命名场景为baseline1。
(2)双击hub节点,进入其内部,然后复制收发信机,添加两对收发信机。
(3)单击对象面板,添加节点到subnet中,依次连接节点到hub节点。
(4)按照1.5,1.6所示收集统计量及配置仿真。
2.2增加子网模型
(1)点击面板上的Scenarios中的Duplicatescenario选项,复制baseline的场景,然后命名场景为dual_subnet。
(2)如下图配置hub节点;
(3)增加一个一字节的数据包。
(4)修改hub进程中的init,functionblock,sv。
(5)修改节点模型中的idle的function
(6)修改包的间隔时间为80,8
(7)复制pksw1为pksw2,右击pksw2在属性中修改userid为2。
(8)运行仿真。
2.3增加子网节点模型
(1)点击面板上的Scenarios中的Duplicatescenario选项,复制baseline的场景,然后命名场景为dual_subnet1。
(4)增加子网内部的节点
(5)运行仿真
3.仿真结果的分析
(1)baseline的仿真,蓝线是包间隔时间为4s,红线是包间隔时间40s,由仿真图像可知,间隔时间越长,其链路的利用率越低。
(2)选择ETEdelay,蓝线是发包间隔时间为4s,红色为40s,可以看出二者延迟的平均时间差别不大。
(3)由baseline和baseline1的间隔时间为4s的链路利用率比较来看,当间隔时间为4s时,节点为6的模型的链路利用率大于节点为4的链路利用率。
(4)由baseline和baseline1的间隔时间为4s的延迟时间来看,蓝线为4节点的模型,红线为6节点的模型,节点为6的延迟时间明显大于节点为4的模型的延迟时间,节点的多少对延迟的时间是有一定的影响。
(5)由baseline和dual_subnet的链路利用率来看,两个子网的线路利用率低于一个子网的线路利用率,两个子网的可能会造成拥塞。
(6)由baseline和dual_subnet的延迟来看,红线是两个子网的延迟平均时间,明显高于一个子网的延迟时间。
(7)由dual_subnet和dual_subnet1的链路利用率来看,节点为6的线路利用率高于线路为4的线路利用率。
(8)由dual_subnet和dual_subnet1的延迟来看,红线为节点为6的延迟平均时间,蓝线为节点为4的延迟平均时间,节点越多时,其延迟时间越长。
5.实验总结
在opnet对包交换网络的建模与仿真实验中,使我收获很多,首先对opnet软件的使用的掌握,而且掌握了包交换网络的结构与各个模块的作用,在进行实验时,也碰到了一些问题,比如在使用opnet软件进行仿真时,如果连接网络,会造成丢包或者运行结果无法显示,还有对收发信机的编号问题中,如果对收发信号的编写错误,则在进行收发包时,无法找到收发信机的地址,以至于无法收发包,造成包的丢失,在进行该实验中,让我提高了解决问题和分析问题的能力。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整 word 交换 OPNET 网络 仿真