欢迎访问有用文档网!

当前位置: 有用文档网 > 作文大全 >

基于OMNeT++的无线局域网络仿真实验教学研究

| 浏览次数:

摘要:网络仿真工具OMNeT++以友好的界面、完善的模拟器以及非商业性,在无线局域网络的仿真领域得到广泛地应用。运用OMNeT++在无线局域网络的实验教学中开展仿真实验,可以简化网络的分析与设计,获得网络的拓扑结构和定量的网络性能预测数据,使学生对网络协议和算法的复杂行为产生感性的认识。

关键字:OMNeT++ 无线局域网 仿真

1引言

当前,无线局域网络(Wireless Local Area Networks:WLAN)得到了广泛地使用[1],它已成为一种十分重要的因特网接入技术。无线局域网络涉及到大量抽象难懂的协议和算法,为让学生对其获得感性认识,可以利用网络仿真工具构建简化的仿真环境,满足教学研究[2]的需要。

目前,国内还没有真正自主研发的网络仿真工具得到大范围地应用,而国外网络仿真技术已经相当的成熟,目前已经有几种极为优秀的网络仿真工具[3]。OMNeT++是一款免费的、开源的网络仿真工具,具有很好的灵活性和可适用性,在无线局域网络仿真领域中占有十分重要的地位。

本文介绍了基于OMNeT++的无线局域网络的仿真实验的主要步骤,并以802.11协议作为仿真实例,以数据帧发送效率、有效吞吐量为权衡指标,综合得到仿真结果。

2 OMNeT++网络仿真工具

OMNeT++是一个基于C++编程的,面向对象的离散事件网络仿真器 ,它的全称是Objective Modular Network Testbed in C++[4,6]。使用OMNeT++作为无线局域网络的仿真工具,主要考虑到其在描述模型、定义网络拓扑、实现模型、跟踪支持、调试、性能等多方面都显示出强大的优势。

使用OMNeT++进行无线局域网络仿真的主要步骤如下:

(1)网络分析与设计

进行无线局域网络仿真之前,必须要对网络有全面和深入的了解,主要包括网络拓扑结构、网络中的设备、网络中使用的主要协议和标准以及网络的主要性能参数。

(2)建立网络拓扑描述

根据仿真需要,确定网络中的设备,建立一个合适的网络仿真场景。

(3)建立网络模型

根据实际中网络使用的主要协议和网络标准,完成网络中设备之间的消息传递,建立起一个简化的网络模型。

(4)仿真实现及结果分析

选择适当的网络性能参数,通过仿真获得定量的网络性能预测数据,并综合得到网络仿真报告。

基于OMNeT++的802.11无线局域网络仿真实例

无线局域网络802.11使用带有冲突避免的载波侦听多路访问协议(Carrier Sense Multiple Access with Collision Avoidance,CSMA/CA)。一方面载波侦听信道,查看介质是否空闲;另一方面通过等待一段随机的时间后,再发送数据帧,使信号冲突发生的概率减到最小,当介质被侦听到空闲时则优先发送。另外,802.11还通过确认帧(ACK)避免冲突的发生,只有当客户端收到网络上返回的确认帧后才确认送出的数据已经正确到达目的。

802.11协议体系结构[5]的基本构建模块是主机和接入点。协议定义发送方和接收方的行为动作如下:

(1)发送方

a.如果感知信道空闲:在DIFS后,传输整个数据帧帧 (无碰撞检测)并等待接收方确认。

b.如果感知信道忙:启动随机回退时间,定时器倒计时直到信道空闲;如果没有收到发送方的ACK, 增加随机回退间隔并重传;跳转b。

(2)接收方

如果数据帧接收完成,在SIFS后发送ACK。

图1 802.11协议状态图

3.1 仿真场景设计

图2 20个随机分布的无线节点仿真场景

该实验实例基于随机分布的无线局域网场景,在600×600大小的场景中,随机分布20个主机(host)和1个接入点(AP),配置数据帧数为网络(Net)的宽(width)为600、高(height)为600、主机数(hostnum)为20,收集发送的数据帧数(framenum)、错误的数据帧数(errornum)、重传的数据帧数(retrynum)、丢失的数据帧数(lostnum)作为参数。

3.2 协议实现

该实验实例以某台主机发送数据帧至接入点为触发,根据802.11协议,实现如下:

(1)初始化:发送数据帧数目pos为500个,随机退避范围最大值random为20,随机退避值bank为0,重传次数retry为3次,信道状态state为空闲。

(2)发送方侦听信道:

if(ap->state == 0) {//信道空闲

endEvent = new cMessage("等待DIFS");} //设置定时事件消息为“等待DIFS”

if(ap->state == 1) {//信道繁忙

back = intuniform(0, random);

endEvent = new cMessage("等待");}//设置定时事件消息为“等待”

(3)发送整个数据帧并等待接收方确认:

scheduleAt(simTime()+DIFS,endEvent);

sendToAP(frame);//将整个数据帧发送至接入点

(4)发送方随机退避:

if(state == 0 && back > 0) {//信道空闲而随机退避值back大于0

back--;//随机退避值自减

endEvent = new cMessage("等待");}//设置定时事件消息为“等待”

else if(state == 0 && back == 0 ) {//信道空闲且随机退避值back为0

sendToAP(frame);}//发送数据帧

else {

endEvent = new cMessage("等待");}//设置定时事件消息为“等待”

}

(5)接收方等待SIFS,发送ACK:

endEvent = new cMessage("接收完成");//设置定时事件消息为“接受完成”

int i = intuniform(0, random);

scheduleAt(simTime()+i,endEvent);

(6)发送方重传:

if(msg->isName("未收到ACK"))

sendToAPRetry();

if(retry < 3){

random *= 2;//随机退避范围最大值加倍

bank = intuniform(0, random);//重新选择随机退避值

retrynum++;

endEvent = new cMessage("等待");}//设置定时事件消息为“等待”

(7)发送方收到ACK:

random = 20;

retry = 0;

endEvent = new cMessage("发送结束");//设置定时事件消息为“发送结束”

至此,802.11协议仿真的7个事件节点模拟完毕。

3.3 仿真结果的分析与比较

影响网络传输性能的参数为数据帧发送效率和有效吞吐量[4]。本文用以下公式统计数据:

初次效率 = (发送数据帧数-重传数据帧数) / 发送数据帧数

应用重传机制发送效率 = (发送数据帧数-丢失数据帧数)/发送数据帧数

初次吞吐量 =(发送数据帧数-重传数据帧数)* 数据帧位数/ 总时间

应用重传机制吞吐量 =(发送数据帧数-丢失数据帧数)* 数据帧位数/ 总时间

对于节点规模和数据帧发送间隔的设置规则为:

(a)主机总是有数据发送,主机个数变化分别为5, 10, 15, 20, 25, 30, 35, 40, 45, 50;

(b)主机个数固定为20,主机发送数据帧的间隔分别为无间隔,间隔为10,20, 30, 40, 50, 60, 70, 80, 90。

(a) 主机个数—发送效率关系图示(b) 发送间隔—发送效率关系图示

对于数据帧发送效率仿真结果如上所示,随着节点规模的增多,初次发送效率呈下降趋势,应用重传机制后,发送效率曲线表现平缓。曲线的变换规律表明,节点规模对初次发送效率有较大影响,随机退避算法能有效降低节点规模对发送效率的负面效应。

在相同的设置规则下,有效吞吐量仿真结果如下所示:

(a)主机个数—吞吐量关系图示(b) 发送间隔—吞吐量关系图示

初次吞吐量在一个比较低的水平,随机节点规模的增多,缓慢降低,应用重传机制后,吞吐量有较大好转,并且节点规模越大,吞吐量上升越明显。曲线的变换规律表明,节点规模对应用退避算法后的吞吐量有较大影响,随机退避算法能有效提高网络的吞吐量。

4结语

本文简单介绍了网络仿真工具OMNeT++后,通过一个在OMNeT++中设计和实现802.11无线局域网络的实例,说明了其在无线局域网络仿真实验教学研究中可以使学生对网络协议和算法产生感性的认识,理解协议的工作原理,验证运用协议所产生的效果,提高实验教学的质量。

参考文献:

[1] James F.Kurose,Keith W.Ross. Computer Networking:A Top-Down Approach.Peaeson Education,2008.

[2] 李伟,李勇. 网络仿真器在计算机网络教学中的应用. 东莞理工学院学报,2006.

[3] 刘广. 网络仿真工具在高校计算机网络教学中的应用探索. 技术开发与应用,2009.

[4] OMNeT++ object-oriented discrete event simulation system. URL reference:

.cn/qkpdf/kjzh/kjzh201018/kjzh201018100-1.pdf" style="color:red" target="_blank">原版全文

推荐访问:局域网络 教学研究 仿真 实验 OMNeT

热门排行Top Ranking

支部组织生活方面存在问题清单和整改措施 党组织生活个人问题整改清单

下面是小编为大家精心整理的支部组织生活方面存在问题清单和整改措施党组织生活个人问题整改清单文章,供大家阅读参考

2021年党员个人问题清单及整改措施 党组织生活个人问题整改清单

下面是小编为大家精心整理的2021年党员个人问题清单及整改措施党组织生活个人问题整改清单文章,供大家阅读参考。

浅析军队战斗力损耗的新变化

关键词:军队;战斗力损耗;新变化军队战斗力的结构,是战斗力各要素间的结合方式和相互关系。军队战斗力的

小学六年级毕业演讲稿100字左右9篇

小学六年级毕业演讲稿100字左右9篇小学六年级毕业演讲稿100字左右篇1敬爱的老师,亲爱的同学们:大

问题及整改措施 (2) 药房个人存在问题及整改措施

下面是小编为大家精心整理的问题及整改措施(2)药房个人存在问题及整改措施文章,供大家阅读参考。精品文章《问题及

个人问题清单及整改措施(最新) 能力作风建设个人问题清单及整改措施

下面是小编为大家精心整理的个人问题清单及整改措施(最新)能力作风建设个人问题清单及整改措施文章,供大家阅读参考。在认真

疫情防控赞美警察诗朗诵 关于警察的诗朗诵

下面是小编为大家精心整理的疫情防控赞美警察诗朗诵关于警察的诗朗诵文章,供大家阅读参考。疫情防控赞美警

纳税人满意度调查存在不足及对策探讨 提升纳税人满意度的方式方法有哪些

下面是小编为大家精心整理的纳税人满意度调查存在不足及对策探讨提升纳税人满意度的方式方法有哪些文章,供大家阅读参考。纳

小学思想品德教育面临的问题及对策

摘要:小学思想品德课程是小学教育教学过程中不可或缺的一门综合性课程,它对学生良好品德的形成具有重要影

2020党支部班子查摆问题清单及整改措施 农村党支部问题清单

下面是小编为大家精心整理的2020党支部班子查摆问题清单及整改措施农村党支部问题清单文章,供大家阅读参

消防安全检查简报 派出所校园消防安全检查简报

下面是小编为大家精心整理的消防安全检查简报派出所校园消防安全检查简报文章,供大家阅读参考。简报第2期申扎县中学

2021教师党员年度个人总结8篇

2021教师党员年度个人总结8篇2021教师党员年度个人总结篇1敬爱的党组织:我是一个普通年轻的人民