无线Mesh网络负载与干扰感知多播信道分配算法
石文孝, 李蒸, 崔克强, 王继红, 张海蓉
吉林大学 通信工程学院,长春130012

作者简介:石文孝(1960-),男,教授,博士生导师.研究方向:无线资源管理技术,Mesh网络技术和无线光通信.E-mail:swx@jlu.edu.cn

摘要

针对多个多播会话相互存在干扰及Mesh客户端负载分布不均的问题,提出了一种新的负载与干扰感知的信道分配算法(LIMCA)。该算法综合考虑了多播会话流内、流间干扰以及负载等因素,为负载干扰权重大的节点优先分配部分重叠信道,以达到减少会话干扰和提高系统容量的目的。NS-3仿真结果表明:LIMCA算法相对于多信道多播(MCM)算法提高了网络平均吞吐量,降低了平均丢包率和平均端到端时延。

关键词: 通信技术; 无线Mesh网络; 信道分配; 多播; 负载感知; 干扰
中图分类号:TP393 文献标志码:A 文章编号:1671-5497(2016)05-1644-07
Load and interference-aware channel assignment algorithm for multicast in wireless mesh networks
SHI Wen-xiao, LI Zheng, CUI Ke-qiang, WANG Ji-hong, ZHANG Hai-rong
College of Communication Engineering,Jilin University,Changchun 130012,China
Abstract

To overcome the problems of multiple sessions' interference and mesh clients' imbalance load, a new Load and Interference-aware Multicast Channel Assignment (LIMCA) algorithm was proposed. The proposed algorithm comprehensively considers the factors, such as intra-flow interference, inter-flow interference and load, and assigns partially overlapped channels to nodes with larger load-interference weights preferentially in order to reduce interference and improve network capacity. NS-3 simulation results indicate that the LIMCA algorithm can achieve higher average network throughput, lower average packet loss ratio and average end-to-end delay in comparison with Multi-channel Multicast (MCM) algorithm.

Keyword: communication technology; wireless Mesh networks; channel assignment; multicast; load aware; interference
0 引 言

无线Mesh网络(Wireless Mesh networks, WMN)是下一代无线网络关键技术之一, 它能够有效解决Internet网络“ 最后一公里” 瓶颈问题[1]。WMN可以通过单播、多播、广播的方式进行数据传输。随着用户数量、用户需求不断增加, 多播传输作为一种满足多用户需求、提高报文利用率及网络效率、增加网络容量的关键技术受到广泛关注。WMN多播信道分配算法研究主要集中在正交信道分配上[2, 3, 4, 5], 而仅使用正交信道进行信道分配没能充分利用信道资源[6], 因此, 学术界开始对部分重叠信道下的信道分配进行研究[6, 7, 8]。文献[6]提出WMN业务无关部分重叠信道分配算法, 以最小化网络干扰为目标, 为网络中所有链路分配信道; 文献[7]提出负载感知的信道分配算法, 该算法使用路径转发权重进行部分重叠信道分配以增加网络吞吐量; 文献[8]提出多信道多播(Multi-channel multicast, MCM)算法, 该算法以最小化中继节点数为目标构建多播树, 采用启发式算法为节点分配与相邻中继节点干扰因子平方和最小的信道。与基本的树状拓扑结构最小代价树(Minimum cost tree, MCT)[9, 10]、最短路径树(Shortest path tree, SPT)[11]相比, MCM构建的多播树充分考虑了无线广播的优势, 但MCM信道分配算法仅根据链路间的干扰进行信道分配, 并没有考虑节点负载对信道分配的影响。

目前大多数多播信道分配算法研究的是单一多播会话场景, 没有充分考虑多个多播会话可以提高系统容量的优势[12]。针对上述问题, 本文在多个多播会话并存的场景下, 采用MCM的多播树构建方法, 提出一种负载与干扰感知信道分配算法(Load and interference-aware multicast channel assignment, LIMCA)。该算法综合考虑多个多播会话流内、流间干扰以及负载等因素, 为多播会话分配部分重叠信道。

1 系统模型
1.1 网络模型

WMN由网关、Mesh路由器和Mesh客户端组成, 其网络模型如图1所示。网关使Mesh网络与Internet相连接; Mesh路由器间互联组成Mesh骨干网络, Mesh客户端通过一跳与Mesh路由器进行连接。WMN可以用一个无向图 G=(V, E)来表示, V表示节点(网关和Mesh路由器)的集合, Mesh路由器通常配置多个接口以提高网络吞吐量; E表示节点间链路的集合, 假设每个节点具有相同的传输范围, 若节点 u在节点 v的传输范围内, 则存在链路 e=(u, v)E

图1 网络模型Fig.1 Network model

1.2 干扰模型

在WMN中, Mesh路由器之间的无线通信广泛使用IEEE 802.11b/g标准。802.11b/g工作在2.4 GHz频段上, 提供3条正交信道, 802.11b/g具有传输范围远、信号易于穿透障碍物、接入节点具有更小的消耗等特点。本文提出的LIMCA算法其物理层和MAC层采用IEEE 802.11b/g标准, 共有11条信道, 使用正交信道和部分重叠信道进行信道分配以提高网络吞吐量等性能。

部分重叠信道的干扰大小取决于节点间的物理距离和信道间隔[13, 14]。当节点间的物理距离固定时, 随着节点信道间隔的增加, 链路的干扰会减小; 当信道间隔固定时, 干扰范围是两个节点彼此不产生干扰的最小距离, 节点 ij间的干扰度量 f(i, j)[15]:

f(i, j)=1, IR(τ)D(i, j)0, IR(τ)< D(i, j)1

式中: IR|τ|)表示信道间隔为 τ时对应的干扰范围; D(i, j)表示节点 ij间的物理距离。当节点 i与节点 j之间的干扰范围大于或等于它们之间的物理距离时, 则节点 ij就会互相干扰, 即 f(i, j)=1, 否则 f(i, j)=0

当信道间隔 τ的取值从0到5时, 实验测得的不同传输速率下的干扰范围如表1所示[16], 表中的 R表示传输范围。

表1 不同速率下的干扰范围 Table 1 Interference ranges under different bit rates

WMN通常采用两跳干扰模型, 节点 i如果在节点 j的两跳传输范围内, 则节点 i可能对节点 j造成干扰, 两跳干扰模型是基于节点间的距离来估计干扰关系[17]。根据两跳干扰模型可以将多播树 Tk任意节点 i的干扰节点分为两种:树外干扰节点 np和树内干扰节点 n'pnp是位于除 Tk外其他树的干扰节点, n'p是位于 Tk内的干扰节点, 其中: np集合为 Si, 且 npSi; n'p集合为 Qi, 且 n'pQi。例如, 图2所示有3棵树 T1T2T3, T1节点6的干扰范围为虚线圆所包含的范围, 则节点6的 n'p集合为 Q6={2, 5}; 节点6的 npT2的节点7、8和 T3的节点12、13、14, 则 np集合为 S6={7, 8, 12, 13, 14}

图2 节点6两跳干扰范围内干扰节点Fig.2 Possibly interfering nodes of node 6 within the two-hop range

2 信道分配算法
2.1 算法思路

当一个新的多播会话到来时, 多播会话选择源节点到目的节点的路由构建多播树 Tk, 此时WMN中可能已经存在其他多播树 Tk-1, Tk-2, , T1, 这些多播树会对 Tk产生干扰。本文的LIMCA算法考虑节点自身负载权重和多播会话流内、流间干扰, 依次为新到达的多播会话分配信道, 减少了 Tk-1, Tk-2, , T1Tk产生的干扰及 Tk自身产生的干扰。算法思路如下:首先分别求出 Tk中所有节点的负载权重, 负载权重用来衡量节点转发数据包的多少; 然后利用节点的负载权重计算节点的负载干扰权重, 对于 Tk中的一个节点 i, i的负载干扰权重取决于i的负载权重和树内、树外的干扰, 节点 i负载干扰权重越大, 表示节点 i自身负载、 Tk-1, Tk-2, , T1i产生的干扰和 Tk中其他节点对i产生的干扰也就越大; 最后利用节点 i的负载干扰权重进行信道分配。LIMCA算法根据节点 i的负载干扰权重的不同来区分信道分配优先级, 为负载干扰权重大的节点赋予信道分配优先权, 尽可能为优先级高的节点优先分配干扰较小的信道, 减小网络总干扰, 以达到更多的多播客户端能够成功接收多播包, 成功传输数据的目的。

2.2 负载权重

节点 i的负载权重 load(i)表示节点 i转发自身及其所有子节点的Mesh客户端的数量之和, load_des表示目的节点负载权重, 图3为计算负载权重示意图。图3(a)表示初始化的负载权重, S表示网关节点, n1~n6均表示Mesh路由器, 其中 n1n3n4n6为目的节点, 圆圈右上的数字表示负载权重, 即 load_des(1)=2load_des(3)=1load_des(4)=2load_des(6)=3n5n6在同一条路径上, 则 n5n6具有相同的负载权重3; n2同时在3条路径 n2-n5n2-n4n2-n3上, 则 n2的负载权重 load(2)=load_des(3)+load_des(4)+load_des(5)+load_des(2)=7, S的负载权重 load(S)=load_des(1)+load_des(2)=9, 各节点的负载权重如图3(b)所示。

图3 计算负载权重示意图Fig.3 An example of load weight calculation

2.3 负载干扰权重

定义节点 i的负载干扰权重 Load_int(i)为节点 i的树内干扰权重、树外干扰权重、自身负载权重之和, 即:

Load_int(i)=Load_intout(i)+Load_intin(i)+load(i)(2)

式中: Load_intin(i)为节点 i的树内干扰权重, 表示所有树内干扰节点对节点i的平均干扰大小; Load_intout(i)为节点 i的树外干扰权重, 表示所有树外干扰节点对节点 i的平均干扰大小, 它们分别为:

Load_intin(i)=1Ave_INin'pQiload(n'p)(3)Load_intout(i)=1ONinpSiload(np)(4)

式中: npSiload(np)为节点 i的所有树外干扰节点的负载权重之和; ONi为树外干扰节点集合 Si内的干扰节点个数; n'pQiload(n'p)为节点 i的所有树内干扰节点的负载权重之和; Ave_INi为节点 i树内平均干扰节点数, 由于 Tk的树内的干扰节点 n'p没有分配信道, 所以树内干扰节点对节点 i的干扰大小不确定。要求出 Ave_INi, 则必须求出干扰范围内其他树内节点 n'p所分信道 ch(n'p)对节点 i所分信道 ch(i)产生干扰的平均概率 p, 计算 Ave_INip的公式如下:

Ave_INi=k=1INiINik×k×1-pINi-k×pk5p=211×511+211×611+211×711+211×811+311×9116

式中: INi为节点 i的树内干扰节点个数; p为干扰范围内其他树内节点 n'p所分信道 ch(n'p)对节点 i所分信道 ch(i)产生干扰的概率; 1-p为其他树内节点 n'p所分信道 ch(n'p)对节点 i所分信道 ch(i)不产生干扰的概率。

IEEE 802.11b/g标准共有11条信道, 当节点 ij的信道间隔 |ch(i)-ch(j)|5时, 节点 ij就不会产生干扰。当节点 i分配信道1或信道11时, 与节点 i分配信道产生干扰的信道数共有5条, 则信道1和信道11受到干扰的概率为 (2/11)×(5/11); 当节点 i分配信道2或信道10时, 与它产生干扰的信道数共有6条, 则信道2和信道10受到干扰的概率为 (2/11)×(6/11); 依此类推, 求出 p

由于 Tk-1, Tk-2, , T1多播树已经分配信道, 它们对节点 i产生的干扰确定, 所以可由式(4)求出树外干扰节点对节点 i的平均干扰大小。

2.4 信道分配

LIMCA算法根据节点的负载干扰权重进行部分重叠信道分配。具体步骤如下:

(1)根据式(2)求出多播树 Tk所有节点的负载干扰权重 Load_int(i)

(2)降序排列各节点的负载干扰权重, 依次为各节点分配信道。节点 i分别被分配信道1~11共11条信道, 即 channel=1~11, 找到节点 i两跳范围内所有可能干扰节点 mi(Qi+Si), 若 mi已经分配信道, 则使用式(7)计算 Load_int_Ci(channel), 若节点 mi没有分配信道, 则直至为节点 mi分配好信道后使用式(7)计算 Load_int_Ci(channel)

Load_int_Ci(channel)=miQi+Si(Load_inti×fchmi, channel)(7)

式中:

Load_int_Ci(channel)表示节点 i的所有干扰节点 mi所分信道 ch(mi)对节点 i所分信道 channel产生干扰的大小; Load_int(i)×f(ch(mi), channel)用来衡量单个干扰节点 mi对节点 i产生的干扰程度的大小; f(ch(mi), channel)用来判断给节点 i分配的部分重叠信道 channel与在节点 i干扰范围内的节点 mi所分信道 ch(mi)是否产生干扰。

(3)分别计算出分配给节点 i的11条信道的 Load_int_Ci(channel)后, 找出最小的 Load_int_Ci(channel), 此时的信道号 channel则是为节点 i分配的信道。因为信道分配使用部分重叠信道带来信道干扰, 所以在多个多播会话共存的环境下使用负载干扰权重和干扰度量判断其他干扰节点是否对已分配部分重叠信道的节点产生的干扰最小。以下为实现信道分配的伪代码。

Input:G=(V, E), Tk, Tk-1, Tk-2…, T1, Load_int(i), Load_int_Ci(channel)=0.

Output: ch(i)

Descending Load_int(i), add corresponding i to queue

for(queue≠ Ø)

for(channel=1; channel=11; channel++)

for(∀ mi∈ (Qi+Si) )

if(ch(mi) ≠ Ø)

if(f(ch(mi), channel)==1)

Load_int_Ci(channel)=

Load_int_Ci(channel)+Load_int(mi)

end if

end if

end for

end for

min(Load_int_Ci(channel))

ch(i)=channel

queue=queue-i

end for

2.5 算法性能评价指标

本文使用以下3种指标进行算法性能比较。

(1)网络平均吞吐量。在单位时间内, 接收端成功接收到总的数据包大小, 其表达式为:

Th=Rec(data)Δt8

式中: Th为网络平均吞吐量; ∑ Rec(data)为接收端成功接收数据包的大小; Δt为收发包时间间隔。

(2)平均丢包率。接收端没有成功接收的数据包数与理论上接收端成功接收数据包数的比值, 其表达式为:

Dr=Ntotal-NNtotal9

式中: Dr为平均丢包率; Ntotal为理论上所有接收端成功接收数据包的个数; N为实际接收端接收数据包的个数。

(3)平均端到端时延。平均每个数据包从发送端到接收端的平均传输时间, 其表达式为:

De=μN10

式中: De为平均端到端时延; ∑ μ 为所有接收端成功接收到数据包的总传输时间。

3 仿 真
3.1 仿真环境

为验证所提LIMCA算法的有效性, 本文在NS-3仿真平台上将LIMCA算法和MCM算法进行性能对比。仿真的网络参数如下:仿真时间为30 s; 仿真区域为1000 m× 1000 m; 物理层/MAC层技术标准为802.11 b/g; 信道数为11条(其中3条正交信道); 每棵多播树Mesh路由器数量为30; 每棵多播树服务Mesh客户端数为50; 物理层传输速率为1 Mbit/s; 传输类型为恒定比特流; 数据包大小为512 Bytes; 发包速率为50、100、150、200、300、400 kbit/s; 传输范围为250 m; 同信道干扰范围为550 m。假设WMN中分别存在1个、2个、3个、4个多播会话, 每个多播会话由30个Mesh路由器组成, 其中有15个Mesh路由器作为目的节点, 且每个多播会话服务50个Mesh客户端。

3.2 仿真结果分析

3.2.1 多播会话个数对网络性能的影响

设定发包速率为400 kbit/s, 改变仿真环境中多播会话个数(1~4个), 观察多播会话个数对网络性能的影响, 本文对LIMCA算法和MCM算法的网络平均吞吐量、平均丢包率、平均端到端时延进行仿真, 结果如图4所示。

图4 不同多播会话下网络平均吞吐量、平均丢包率和平均端到端时延的比较Fig.4 Average network throughput, packet loss ratio and end-to-end delay comparison under different numbers of trees

图4(a)表明网络平均吞吐量随着多播会话个数的增加而增加, LIMCA算法的网络平均吞吐量总是高于MCM算法。当网络中存在4个多播会话时, LIMCA算法和MCM算法的平均网络吞吐量分别为9273.896 kbit/s和6674.79 kbit/s, 相对于MCM算法, LIMCA的网络平均吞吐量提升了39%。

由图4(b)可见, 平均丢包率随着多播会话个数的增加而增加, LIMCA算法的平均丢包率总是低于MCM算法。当网络中存在4个多播会话时, LIMCA算法和MCM算法的平均丢包率分别为60.9%和70.9%, 平均丢包率LIMCA比MCM低了14%。

由图4(c)可见, 随着网络中多播会话个数的增加, LIMCA算法的平均端到端时延总是低于MCM算法。当网络中存在4个多播会话时, LIMCA算法的平均端到端时延比MCM算法低6%。

3.2.2 发包速率对网络性能的影响

假设仿真环境中有4个多播会话, 改变每个多播会话源节点的发包速率(50~400 kbit/s), 观察发包速率的改变对网络平均吞吐量、平均丢包率、平均端到端时延的影响, 如图5所示。

图5 不同速率下网络平均吞吐量、平均丢包率和平均端到端时延的比较Fig.5 Average network throughput, packet loss ratio and end-to-end delay comparison under different values of data rate

由图5(a)可见, 随着发包速率的增大, 网络平均吞吐量先增大后趋于平稳。LIMCA算法的网络平均吞吐量始终高于MCM算法。当发包速率为300 kbit/s时, LIMCA的网络平均吞吐量比MCM算法高38.6%。

由图5(b)可见, 随着发包速率的增大, 平均丢包率不断增加。当发包速率为50 kbit/s, LIMCA算法的平均丢包率略高于MCM算法, 当发包速率为300 kbit/s时, LIMCA的平均丢包率比MCM算法低21.8%。

由图5(c)可见, 随着发包速率的增大, 平均端到端时延不断增加。LIMCA算法的平均端到端时延低于MCM算法。当发包速率为300 kbit/s时, LIMCA的平均端到端时延比MCM算法低6.19%。

4 结束语

在多个多播会话共存的环境下, 提出一种为新到达多播会话进行负载与干扰感知多播信道分配(LIMCA)的算法。该算法采用启发式算法优先为负载干扰权重大的节点分配信道, 以达到让更多的多播客户端能够成功接收多播包, 保证数据成功传输。节点的负载干扰权重越大, 表示其他已存在的多播会话对新到达的多播会话的节点产生的干扰、新到达的多播会话自身对节点产生的干扰和节点自身负载越大。NS-3仿真结果表明:本文所提算法在多个多播会话的环境中提高了网络平均吞吐量, 降低了平均丢包率、平均端到端时延, 能有效提升网络性能。

The authors have declared that no competing interests exist.

参考文献
[1] 王继红, 石文孝, 尚硕, . 无线Mesh网络负载与干扰感知传输时间路由度量[J]. 吉林大学学报: 工学版, 2015, 45(1): 297-303.
Wang Ji-hong, Shi Wen-xiao, Shang Shuo, et al. Load and interference-aware transmission time routing metric for wireless mesh networks[J]. Journal of Jilin University(Engineering and Technology Edition), 2015, 45(1): 297-303. [本文引用:1]
[2] Marina M K, Das S R, Subramanian A P. A topology control approach for utilizing multiple channels in multi-radio wireless mesh networks[J]. Computer Networks, 2010, 54(2): 241-256. [本文引用:1]
[3] Raniwala A, Chiueh T C. Architecture and algorithms for an IEEE 802. 11 based multi-channel wireless mesh network[C]∥Proceedings of IEEE Infocom, Miami, USA, 2005: 2223-2234. [本文引用:1]
[4] Chen Y Y, Chen C. Simulated annealing for interface-constrained channel assignment in wireless Mesh networks[J]. Ad Hoc Networks, 2015, 29: 32-44. [本文引用:1]
[5] Jia J, Wang X, Chen J. A genetic approach on cross-layer optimization for cognitive radio wireless mesh network under SINR model[J]. Ad Hoc Networks, 2015, 27: 57-67. [本文引用:1]
[6] Wang J, Shi W, Cui K, et al. Partially overlapped channel assignment for multi-channel multi-radio wireless mesh networks[J]. EURASIP Journal on Wireless Communications and Networking, 2015, 2015(1): 1-12. [本文引用:3]
[7] Lin J W, Lin S M. A weight-aware channel assignment algorithm for mobile multicast in wireless mesh networks[J]. Journal of Systems and Software, 2014, 94: 98-107. [本文引用:2]
[8] Zeng G, Wang B, Ding Y, et al. Efficient multicast algorithms for multichannel wireless mesh networks[J]. IEEE Transactions on Parallel and Distributed Systems, 2010, 21(1): 86-99. [本文引用:2]
[9] Kou L, Markowsky G, Berman L. A fast algorithm for Steiner trees[J]. Acta Informatica, 1981, 15(2): 141-145. [本文引用:1]
[10] Zelikovsky A Z. An 11/6-approximation algorithm for the network steiner problem[J]. Algorithmica, 1993, 9(5): 463-470. [本文引用:1]
[11] Nguyen U T. On multicast routing in wireless mesh networks[J]. Computer Communications, 2008, 31(7): 1385-1399. [本文引用:1]
[12] 夏汉铸, 刘辉元. 无线Mesh网络中基于信道状态的动态信道分配算法研究[J]. 重庆邮电大学学报: 自然科学版, 2014, 26(3): 362-366.
Xia Han-zhu, Liu Hui-yuan. Channel-state-based dynamic channel assignment algorithm in multichannel wireless mesh networks[J]Journal of Chongqing University of Posts and Telecommunications (Natural Science Edition), 2014, 26(3): 362-366. [本文引用:1]
[13] Mishra A, Rozner E, Banerjee S, et al. Exploiting partially overlapping channels in wireless networks: turning a peril into an advantage[C]∥Proceedings of the 5th ACM SIGCOMM Conference on Internet Measurement. USENIX Association, California, USA, 2005: 311-316. [本文引用:1]
[14] Mishra A, Shrivastava V, Banerjee S, et al. Partially overlapped channels not considered harmful[C]∥ACM SIGMETRICS Performance Evaluation Review, New York, USA, 2006: 63-74. [本文引用:1]
[15] Lin J, Zhuang J. A delay-constrained and priority-aware channel assignment algorithm for efficient multicast in wireless mesh networks[J]. Journal of Systems and Software, 2013, 86(3): 789-800. [本文引用:1]
[16] Ding Y, Huang Y, Zeng G, et al. Using partially overlapping channels to improve throughput in wireless mesh networks[J]. IEEE Transactions on Mobile Computing, 2012, 11(11): 1720-1733. [本文引用:1]
[17] Subramanian A P, Gupta H, Das S R. Minimum interference channel assignment in multi-radio wireless Mesh networks[J]. IEEE Transactions on Mobile Computing, 2007, 7(12): 481-490. [本文引用:1]