作者简介:石文孝(1960-),男,教授,博士生导师.研究方向:无线资源管理技术,Mesh网络技术和无线光通信.E-mail:swx@jlu.edu.cn
针对多个多播会话相互存在干扰及Mesh客户端负载分布不均的问题,提出了一种新的负载与干扰感知的信道分配算法(LIMCA)。该算法综合考虑了多播会话流内、流间干扰以及负载等因素,为负载干扰权重大的节点优先分配部分重叠信道,以达到减少会话干扰和提高系统容量的目的。NS-3仿真结果表明:LIMCA算法相对于多信道多播(MCM)算法提高了网络平均吞吐量,降低了平均丢包率和平均端到端时延。
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.
无线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)。该算法综合考虑多个多播会话流内、流间干扰以及负载等因素, 为多播会话分配部分重叠信道。
WMN由网关、Mesh路由器和Mesh客户端组成, 其网络模型如图1所示。网关使Mesh网络与Internet相连接; Mesh路由器间互联组成Mesh骨干网络, Mesh客户端通过一跳与Mesh路由器进行连接。WMN可以用一个无向图
在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]。当节点间的物理距离固定时, 随着节点信道间隔的增加, 链路的干扰会减小; 当信道间隔固定时, 干扰范围是两个节点彼此不产生干扰的最小距离, 节点
式中:
当信道间隔
WMN通常采用两跳干扰模型, 节点
当一个新的多播会话到来时, 多播会话选择源节点到目的节点的路由构建多播树
节点
定义节点
式中:
式中:
式中:
IEEE 802.11b/g标准共有11条信道, 当节点
由于
LIMCA算法根据节点的负载干扰权重进行部分重叠信道分配。具体步骤如下:
(1)根据式(2)求出多播树
(2)降序排列各节点的负载干扰权重, 依次为各节点分配信道。节点
式中:
(3)分别计算出分配给节点
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
本文使用以下3种指标进行算法性能比较。
(1)网络平均吞吐量。在单位时间内, 接收端成功接收到总的数据包大小, 其表达式为:
式中:
(2)平均丢包率。接收端没有成功接收的数据包数与理论上接收端成功接收数据包数的比值, 其表达式为:
式中:
(3)平均端到端时延。平均每个数据包从发送端到接收端的平均传输时间, 其表达式为:
式中:
为验证所提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.1 多播会话个数对网络性能的影响
设定发包速率为400 kbit/s, 改变仿真环境中多播会话个数(1~4个), 观察多播会话个数对网络性能的影响, 本文对LIMCA算法和MCM算法的网络平均吞吐量、平均丢包率、平均端到端时延进行仿真, 结果如图4所示。
图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(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%。
在多个多播会话共存的环境下, 提出一种为新到达多播会话进行负载与干扰感知多播信道分配(LIMCA)的算法。该算法采用启发式算法优先为负载干扰权重大的节点分配信道, 以达到让更多的多播客户端能够成功接收多播包, 保证数据成功传输。节点的负载干扰权重越大, 表示其他已存在的多播会话对新到达的多播会话的节点产生的干扰、新到达的多播会话自身对节点产生的干扰和节点自身负载越大。NS-3仿真结果表明:本文所提算法在多个多播会话的环境中提高了网络平均吞吐量, 降低了平均丢包率、平均端到端时延, 能有效提升网络性能。
The authors have declared that no competing interests exist.
[1] |
|
[2] |
|
[3] |
|
[4] |
|
[5] |
|
[6] |
|
[7] |
|
[8] |
|
[9] |
|
[10] |
|
[11] |
|
[12] |
|
[13] |
|
[14] |
|
[15] |
|
[16] |
|
[17] |
|