无线局域网DCF饱和吞吐量建模教学设计
2015-08-23蔡圣所
雷 磊,蔡圣所
(南京航空航天大学电子信息工程学院,江苏南京 210016)
0 引言
基于IEEE 802.11分布式接入协议DCF(Distributed Coordination Function)的无线局域网已经在人们日常生活中得到了广泛应用[1]。DCF协议通过载波检测机制和二进制指数退避算法避免了发送节点之间的冲突,并提供了两种传输模式,即收/发节点两次握手的基本传输模式和收/发节点四次握手的RTS/CTS模式。无线局域网DCF协议已成为“通信网络”课程教学的重点内容之一[2,3]。
笔者认为,在无线局域网DCF协议的教学中,首先要求是让学生掌握DCF协议的工作原理,最重要的要求则是从网络协议性能分析的角度出发,培养学生掌握通信网络领域常用的分析方法,为其将来从事相关领域的科研工作奠定基础。目前,在对通信网络协议进行性能分析时,经常采用的方法有数学建模法和仿真法两种[4]。其中,数学建模法以某些假设条件为前提,对协议发送规约进行建模,并通过模型的求解得到协议各项性能指标的理论值;仿真法则是采用计算机仿真软件对网络进行模拟,获得协议性能的仿真值;最后将理论值与仿真值进行比较,从而证明分析方法的有效性。
然而,对于“通信网络”课程授课面对的工科高年级本科生或研究生而言,大多数学生的数学建模思维能力较为薄弱。如何在课堂教学中实现上述的要求?本文针对无线局域网DCF协议的重要性能指标网络饱和吞吐量的建模分析进行了教学设计,并将该教学设计应用于我校电子信息工程学院信息工程本科专业必修课程“通信网络”、计算机科学与技术学院物联网技本科专业必修课程“物联网组网与通信技术”和电子信息工程学院研究生选修课程“现代无线通信网络”的教学中,获得了较好的教学效果。同时,该教学设计也能应用于计算机科学与技术本科专业的“计算机网络”课程的教学。
1 教学目标与总体设计
本设计的教学目标包括三个方面:①知识目标:在学生已掌握的DCF协议工作原理的基础上,使学生进一步掌握通过二维马尔可夫链模型计算DCF协议饱和吞吐量的方法;②能力目标:启发学生在二维马尔可夫链模型的基础上提出适用于多跳无线ad hoc网络饱和吞吐量建模的新方法;③科学观目标:通过PCF协议饱和吞吐量的建模与仿真验证,突出科学问题的可验证性,为其将来从事科学研究工作奠定基础。
本教学方案的总体设计如图1所示。
图1 教学方案总体设计
该教学设计面对的学生,在前期教学中已经掌握了基于IEEE 802.11协议的无线局域网组网原理,并通过前期其他课程学习了离散马尔可夫链的基本概念,但尚未建立采用数学模型对协议规约进行建模和分析的思维方式。为了达到良好的教学效果,笔者在课前布置学生复习马尔可夫链的相关概念,并阅读参考文献[1]。
课堂教学过程主要包括以下四个步骤:
(1)从学生熟知的多用户共享无线网络时下载速度变慢的实际体会,说明无线网络的总容量是有限的,进而引入本次课程的核心概念:网络饱和吞吐量。网络饱和吞吐量是衡量网络总容量的重要性能指标,它指的是节点工作在饱和状态(即节点发送队列始终不为空)的条件下,DCF协议所能获得的网络吞吐量的稳态值。饱和吞吐量低于网络所能获得的最大吞吐量。
(2)重点讲解DCF协议的建模方法。首先采用提问的方式,启发学生由网络协议本质上是一个离散事件的转移过程,联想到可以采用随机过程中的离散马尔可夫链对协议规约进行分析;其次回顾离散马尔可夫链的定义,指出建模的关键是如何构建满足马尔可夫性的离散随机过程;尔后将节点当前的退避阶段和退避计数器剩余值联立成二维随机变量,构建二维离散马尔可夫链模型,重点通过图示法讲解该模型的非空一步状态转移概率;最后推导出分布式接入协议网络饱和吞吐量的表达式。
(3)将饱和吞吐量的计算数值结果与计算机仿真结果进行比较,证明模型的有效性。具体考核方法为:在单跳网络环境中随机分布若干对恒定比特业务流,再逐渐增大发送节点的业务负载,统计接收节点的总吞吐量。当网络负载逐渐增大时,网络吞吐量的变化趋势将首先趋于最大值,再略有降低,最后趋于饱和值。重点向学生强调饱和吞吐量与最大吞吐量之间的区别。
(4)对该二维马尔可夫链模型的局限性进行分析。在多跳环境中,接收节点的冲突区域可以分为瞬时冲突区域和持续冲突区域两部分,上述马尔可夫链模型无法区分控制帧冲突和数据帧冲突所导致的两种不同的退避过程,因而无法应用于多跳无线ad hoc网络饱和吞吐量的建模。然后布置学生课后阅读相关文献,并思考如何在二维模型的基础上提出适用多跳无线ad hoc网络的DCF协议饱和吞吐量建模方法。
2 饱和吞吐量二维马尔可夫链建模
本节以文献[1]为基础,将上述教学设计中DCF协议的二维马尔可夫链建模过程详述如下。
1)构建二维马尔可夫链模型
由DCF协议规约可知,发送节点成功完成退避过程后,即可向接收节点发送信号。但如果网络中有一个以上的发送节点同时完成了退避过程,则这些节点将同时向各自的接收节点发送信号,从而导致信息在接收节点发生冲突。而对于信号发生冲突的概率,文献[1]做了一个非常重要的假设:即无论节点当前的发送过程是在发送一个新的数据包还是重发上次没有发送成功的数据包,在每一个σ时隙中,它所发送的信号都以恒定且独立的概率p与网络中其他节点发送的信号发生冲突。分别用随机过程s(t)和b(t)表示在当前σ时隙中,某一个节点所处的退避阶段和当前退避计数器的值。用Wi表示第i级退避阶段节点竞争窗口的大小,W0表示退避窗口的最小值。由每个σ时隙中信号冲突概率p为独立常数的假设条件可知,二维离散随机过程满足马尔可夫性,其非空一步状态转移概率如图2所示。
图2 DCF协议二维马尔可夫链建模
2)导出条件冲突概率p的函数
令 bi,k=limt→∞P{s(t)=i,b(t)=k},i∊(0,m),k∊(0,Wi-1)为该马尔可夫链的稳态分布概率。因此
由式(1)和式(2)即可将 bi,k的所有值用 W0、m、b0,0及条件冲突概率 p来表示。而 b0,0的值又可以通过归一化条件确定:
因此,综合式(1)-(3)可知,在W0和m一定的情况下,bi,k的所有值均可以表示成条件冲突概率p的函数。
3)计算节点发送信号的概率。
假设节点在每一个σ时隙中占用信道并发送信号的概率为τ。由于无论节点处在哪个退避阶段,当退避计数器的值递减到0时,节点均可发送信号。因此,
又因为在一个σ时隙中,节点发送信号并与其他节点发生冲突的概率p即为网络中至少还有一个其他节点同时在该时隙发送信号的概率,假定网络中节点的数目为n,则有:
因此,将式(4)、(5)联立,即可得到p和τ的解。
4)计算DCF协议饱和吞吐量
根据饱和吞吐量的定义,将归一化的网络饱和吞吐量S表示为节点在一个σ时隙内发送的平均有效数据与一个σ时隙的平均长度的比值,即:
设Ptr为在一个σ时隙内,网络中至少有一个节点发送信号的概率,Ps为信道上的一次数据传输成功的概率。在节点数目n一定的情况下,它们都可以表示为τ的函数:
假设数据包的平均长度为E[P],由式(6)-(8)即可得到DCF协议的饱和吞吐量为
其中,Ts为由于一次成功的数据包传输而导致信道持续变忙的时间,Tc为由于一次数据包冲突而导致信道持续变忙的时间,它们的值取决于节点采用的传输模式及E[P]的大小。
3 二维马尔可夫链模型局限性分析
在本教学设计中,上述模型存在的局限性分析是培养学生创新思维的关键。笔者结合在前期工作中提出的多跳无线ad hoc网络持续冲突区域和瞬时冲突区域的概念,对该模型不适用于多跳ad hoc网络环境的局限性进行分析,供教学时参考[5]。
上述模型是文献[1]针对无线局域网独立基本服务集IBSS(Independent Basic Service Set)应用场景提出的。IBSS本质上是一种单跳的ad hoc网络,网络中所有节点都处于彼此的传输范围之内,不存在隐藏终端和暴露终端。因此,对于DCF协议的四次握手机制而言,只有当网络中同时有两个或两个以上的节点在同一时刻发起RTS帧传输时,才可能导致节点接收冲突。一旦接收节点正确接收了发送节点发送的RTS帧,并向发送节点应答CTS帧后,在DCF协议的物理载波检测和虚拟载波检测机制的保护下,发送节点和接收节点即可无冲突的完成Data帧传输。
然而,在多跳ad hoc网络环境中,网络节点并不都处于彼此的传输范围之内。如图3所示的网络拓扑,在节点A开始向节点B发送MAC帧的瞬间,节点B冲突范围(rco)之内的其余节点若同时发起传输,则会导致接收节点B发生冲突。在节点A向节点B发送MAC帧的过程中,节点A物理载波检测范围(rcs)之内的其余干扰节点能通过载波检测侦听信道忙,因而不会同时发送数据帧;然而,在节点A向节点B发送MAC帧的过程中,节点A物理载波检测范围之外,节点B冲突范围之内的干扰发送节点C因为无法通过物理载波检测或虚拟载波检测机制检测到信道忙,则仍然可能同时发起传输,导致节点B接收MAC帧冲突。笔者将发送节点载波检测范围和接收节点冲突范围之内的区域定义为瞬时冲突区域;将发送节点载波检测范围之外接收节点冲突范围之内的区域定义为持续冲突区域。
由上述分析可知,在多跳ad hoc网络中,即使接收节点B收到发送节点A的RTS帧,并成功向节点A应答了CTS帧,在节点A向节点B发送数据帧的过程中,节点B的持续冲突区域之内的干扰发送节点C因为无法通过载波检测机制检测到信道忙,则仍然可能同时发起传输,导致节点B接收数据帧失败。单跳IBSS网络环境下适用的二维马尔可夫链模型无法区分控制帧冲突和数据帧冲突所导致的两种不同的退避过程,因而无法直接应用于基于DCF协议的多跳ad hoc网络饱和吞吐量的分析。
图3 接收节点的瞬时冲突区域和持续冲突区域
近年来,ad hoc网络环境下DCF协议网络饱和吞吐量的建模与分析是国内外学术界研究的热点问题。以下文献中提到的方法可以供学生在课后阅读与思考其改进方法。文献[5]通过引入“伪状态”的方法区分RTS帧和Data帧发送冲突导致的不同退避过程,分析多跳ad hoc网络环境下的DCF协议饱和吞吐量;文献[6]基于节点在网络平面服从泊松分布的假设,针对网络中的某一个节点建立离散时间马尔科夫链模型,并通过单跳检测区域与网络总面积之间的关系,得到了多跳网络的饱和吞吐量;文献[7]在衰落环境下对单个链路的平均吞吐量进行建模与分析;文献[8,9]提出的数学模型进一步考虑了基于DCF协议的MAC层服务区分机制,通过马尔可夫链建模对各种优先级业务流的饱和吞吐量进行分析。
4 结语
本文介绍了无线局域网DCF协议饱和吞吐量的建模教学设计,重点突出建模的思维方法,培养学生采用数学方法分析网络协议性能的思维能力;突出科学分析问题和验证问题的方法,为学生将来从事科研工作奠定基础;突出启发创新思维的课堂教学方法,启发学生课后查阅文献并提出改进方法,培养学生的创新思维能力。实践结果表明,该教学设计有效提高了教学质量。
[1]G.Bianchi,“Performance Analysis of the IEEE 802.11 Distributed Coordination Function,”IEEE Journal on Selected Areas in Communications,vol.18,no.3,2000,pp.535-547.
[2] 谢希仁编著.计算机网络(第六版)[M].北京:电子工业出版社,2013年6月
[3] Andrew S.Tanenbaum著、潘爱民译.计算机网络(第四版)[M].北京:清华大学出版社,2011年9月
[4] 徐雷鸣编著.NS与网络模拟[M],北京,:人民邮电工业出版社,2003年1月.
[5] Lei Lei,Ting Zhang,Xiaoqin Song,Shengsuo Cai,Xiaoming Chen,and Jinhua Zhou,“Achieving Weighted Fairness in WLAN Mesh Networks:an Analytical Model,”Ad Hoc Networks.Vol.25,2015,pp.117-129.
[6] J.He and H.K.Pung.“Performance Modelling and Evaluation of IEEE 802.11 Distributed Coordination Function in Multihop wireless networks,”Computer Communications.Vol.29,No.9,2006,pp.1300-1308.
[7] D.Hoang.“Performance Evaluation of Multi-hop CSMA/CA Networks in Fading Environments,”IEEE Transactions on Communications.Vol.56,No.1,2008,pp.112-125.
[8] C.L.Huang and W.J.Liao.“Throughput and Delay Performance of IEEE 802.11e Enhanced Distributed Channel Access(EDCA)Under Saturation Condition,”IEEE Transactions on Wireless Communications.Vol.6,No.1,2007,pp.136-145.
[9] H.Y.Hwang,S.J.Kim,and D.K.Sung.“Performance A-nalysis of IEEE 802.11e EDCA with a Virtual Collision Handler,”IEEE Transactions on Vehicular Technology.Vol.57,No.2,2008,pp.1293-1297.