APP下载

基于NS2的802.11协议教学实验设计

2020-06-04李东晖尹云飞

计算机时代 2020年5期
关键词:吞吐量延时分组

李东晖 尹云飞

摘  要: 提出使用NS2设计一个802.11协议的教学实验,并介绍了实验过程。在隐蔽站条件下测量吞吐量和延迟,加深对隐蔽站问题、虚拟载波侦听机制和确认机制的理解。测量节点耗能,并与SMAC协议进行比较,认识802.11协议的耗能性能。该实验使用TCL脚本语言即可完成,无需使用C++,难度适中,为802.11协议的实验教学提出一种方案,有助于学生实践能力的培养。

关键词: 网络模拟; NS2; 802.11; TCL

Abstract: This paper proposes to design an 802.11 teaching experiment on the platform of NS2 (Network Simulator version2), and introduces the experiment process. On the condition of hidden stations, the throughput and the delay are measured, which helps deepen the understanding of Hidden Station Problem, virtual carrier sensing and the acknowledge mechanism. The energy consumptions of 802.11 station and SMAC station are measured respectively and the results are compared to help cognizing the energy consumption feature. The designed experiment can be completed by using TCL scripting language, but not C++, so that the experiment is moderate difficult. This experiment project introduces a new solution to the experiment teaching of 802.11, and is helpful to cultivate students' ability of practice.

Key words: network simulation; NS2; 802.11; TCL

0 引言

IEEE 802.11协议是一种无线局域网协议[1],是无线网络、无线传感器网络和计算机网络等课程的教学内容。实验是重要的教学环节,实验可在真实平台上或者模拟平台上开展,真实平台需要设备投入,而模拟平台由于有免费的模拟软件可用,因此不存在购买的问题,免费的模拟软件在应用上也具有较大的灵活性。常用的网络模拟软件有NS2,OPNET,MNET++等,其中NS2[2]具有组件丰富、免费、开源和使用广泛等特点,能够满足一般教学需要。NS2使用TCL和C++两种编程语言,其中TCL语言需要花课时介绍。

实验的重点是观测802.11协议的网络性能,并将其和隐蔽站问题结合,隐蔽站问题既是无线局域网的重要问题,也是教学的难点[3],NS2的802.11组件能够模拟虚拟载波侦听机制,在该机制开启和关闭条件下分别测量吞吐量和延时等,通过比较,加深对隐蔽站问题、虚拟载波侦听、RTS/CTS机制和确认机制的理解。实验的另外一个重点是测量802.11协议的耗能,并与节能型的SMAC[4]协议进行比较,理解协议的工作原理和特点。

1 实验设计

1.1 实验目的

设计802.11协议的网络模拟验证性实验,观察隐蔽站问题,测量吞吐量、延时和耗能。只使用TCL脚本语言实现模拟,难度适中。

1.2 实验内容

⑴ 在NS2模拟平台下,进行网络的设计与模拟;

⑵ 利用NAM动画演示,观察网络工作过程;

⑶ 在隐蔽站条件下,测量802.11站点的吞吐量和延时;

⑷ 测量802.11站点的耗能。

1.3 实验设计

1.3.1 拓扑结构

实验的网络拓扑结构如图1所示,网络共包含3个节点,其中节点1为目的节点。在图1(a)中节点0和节点2为源节点,他们相距较远,彼此都听不见对方。在图1(b)中,仅有节点0为源节点。图1(a)用于观测隐蔽站问题及网络性能,图1(b)用于观测耗能。

1.3.2 802.11协议模拟设计

NS2网络模拟使用两种编程语言:C++和OTcl,C++语言用于实现网络协议和模拟模型,OTcl语言用于配置网络模拟场景和参数设置。两种语言通过类绑定(class binding)机制相联系,如图2所示,实现802.11协议的C++类为Mac802_11,与之绑定的OTcl类为Mac/802_11,其成员变量RTSThreshold_,SIFS_和SlotTime_等组成管理信息库[1],设置方法如下[5]。

2 模拟结果与分析

2.1 传输性能的测量

网络拓扑结构如图1(a),无线节点的主要参数如表1,网络模拟过程如图3(a)。其中:CBR数据流的周期为0.01秒,分组长度为1000字节,数据率为100KBps,t0=1秒,t1=2秒,t2=3秒,t3=4秒,t4=20秒。节点0和结点2在t∈[t1,t2]秒期間,同时向节点1发送CBR数据流,导致分组在节点1发生碰撞,这种未能检测出信道上其他站点信号的问题叫作隐蔽站问题[3],802.11协议使用RTS/CTS机制解决隐蔽站问题,结合图1(a),节点0发送分组到节点1,但在送出之前会先发送一个RTS分组,其携带着发送端占用信道的信息,包括目的节点、占用信道的时间等,节点1若空闲则会接收RTS分组,并立刻回应一个CTS分组,这有双重作用:①通知节点0发送分组;②通知节点2不要发送分组到节点1。当节点0收到CTS分组后,开始送出分组到节点1,而节点2则不会向节点1发送分组,这样可以避免在节点1处发生分组的碰撞。在NS2中,可通过设置OTcl类Mac/802_11的成员变量RTSThreshold_来模拟RTS/CTS的开启与关闭,方法见程序1。

吞吐量的測量结果如图4所示。在发送最初的一小段时间里,由于CBR分组发送失败,因此吞吐量为0,之后节点0向节点1发送CBR流,吞吐量稳定,约为100KBps,在[2,3]秒期间,节点0和节点2同时向节点1发送,产生冲突,并导致发送失败和延时增加。当RTS/CTS关闭时,出现了大量的丢包现象,吞吐量急剧下降,平均为21.73KBps;当RTS/CTS开启时,丢包现象减少,平均吞吐量为75.92KBps,与RT端到端延时如图5所示。在[1,2]秒期间,由于没有冲突,因此延时很小,但在[2,3]秒期间,冲突导致分组重传现象加剧、延时增加。当RTS/CTS分别开启和关闭时,平均延时分别为0.52秒和1.93秒,前者比较后者减少了3.71倍,可见,RTS/CTS机制能够减少由隐蔽站问题导致的端到端延时。

2.2 站点耗能的测量

本小节的目的是测量802.11节点的耗能,并与SMAC[6]节点的耗能进行比较。网络拓扑结构如图1(b),无线节点的主要参数如表1。网络模拟过程如图3(b)。其中:CBR流的周期∈[1,15]秒,分组长度为1000字节,数据率为100KBps,t3=t4≥(NTi +t0)秒,其中N表示送出的CBR分组数量,Ti表示CBR流量周期。在t∈[t0,t3]秒期间,节点0向节点1总共发送N个CBR分组,节点2不发送流量,但会参与SMAC协议的同步。

节点耗能的测量结果如图6所示,其中SMAC协议开启周期性侦听与睡眠机制、侦听时间占比设为30%。在流量周期大于2秒时,802.11节点的耗能比SMAC节点的耗能大,当流量周期为15秒时,802.11节点与SMAC节点的耗能分别为101.75焦与41.32焦,相差2.46倍,可见,SMAC协议具有节能的特点。节点空闲时间占比如图7所示,802.11的空闲时间占比接近100%,节点几乎处于空闲状态,而SMAC的空闲时间占比约为40%,节点多数时间处于睡眠或发送(接收)状态。

3 结束语

本文介绍了利用NS2模拟软件实现802.11协议的验证实验,这个实验有助于学生掌握网络模拟的方法,理解协议的工作机制,认识隐蔽站问题、RTS/CTS机制的作用、以及802.11协议的网络性能,并且有利于培养学生研究与创新能力。

参考文献(References):

[1] IEEE Standard for Wireless LAN Medium Access Controland Physical Layer Specification,P802.11[S].IEEE,1999.

[2] 王辉.NS2网络模拟器的原理和应用[M].西北工业大学出版社,2008.

[3] 谢希仁.计算机网络[M].电子工业出版社,2013.

[4] 李晓维.无线传感器网络技术[M].北京理工大学出版社,2007.

[5] The Network Simulator-ns-2[EB/OL]. (2014-12-09)[2018-11-17].https://www.isi.edu/nsnam/ns/.

[6] Ye, W., Heidemann, J., Estrin, D.. An energy-efficient MAC protocol for wireless sensor networks[C]. In: Proc. IEEE INFOCOM, New York, NY,2002.6:1567-1576

猜你喜欢

吞吐量延时分组
基于级联步进延时的顺序等效采样方法及实现
分组搭配
怎么分组
分组
2017年3月长三角地区主要港口吞吐量
2016年10月长三角地区主要港口吞吐量
2016年11月长三角地区主要港口吞吐量
Two-dimensional Eulerian-Lagrangian Modeling of Shocks on an Electronic Package Embedded in a Projectile with Ultra-high Acceleration
2014年1月长三角地区主要港口吞吐量
桑塔纳车发动机延时熄火