关于无线Mesh网络信道分配策略的探讨
1引言
近年来,无线mesh网络(wirelessmeshnetwork,wmn)以其特有的优势引起了人们的广泛关注,成为研究的热点。现有的无线网络协议(如)提供了若干个互不干扰的信道,即这些信道可以同时在同一个范围内使用而不会造成干扰。通过在无线mesh网络中应用多信道,可以提高系统吞吐量,改善网络性能。
2无线mesh网络多信道mac协议
无线mesh网络是一种高容量、高速率和分布式网络。它具有多跳、自组织和自愈合的特点。传统的多跳无线网络大部分都是由单网卡节点组成的,当前的无线mesh网络,基本上也是采用单信道mac协议,限制了整个网络数据传输速率与网络容量,不能满足人们日益增长的需求。在无线mesh网络中,通过使用多信道mac协议,使不同的节点在不同的信道上同时通信,可以有效的减少碰撞和干扰,从而提高系统的吞吐量。
如图1所示,根据不同的硬件平台,多信道mac协议可分为单接口多信道和多接口多信道。单接口多信道协议节点只有一个接口,任一时刻每个网络节点上只能有一个活跃的信道。但不同的节点可以同时工作在不同的信道上,这样就增加了系统容量。如何协调mesh节点在多信道的条件下工作,是多信道单接口mac协议的研究重点。而且节点通信时需要来回切换信道,信道切换产生的时延会导致系统性能下降。此类协议的典型代表是mmac协议和ssch协议。多接口多信道mac协议每个网络节点配置多个接口,每个接口带有独立的mac层和物理层,可使用不同的频段,节点在这些频段上的通信是完全独立的,可以同时进行。dca(dynamicchannelassignment)、mup(multi-radiounificationprotocal)、pcam(primarychannelassignmentbasedmac)可归入这种类型。
3信道分配策略
本文提出了一种混合信道多信道协议hmcp,它假定网络中每个节点有m个接口(m≥2),但每个节点的接口总数始终少于信道总数。假设节点上有f(1≤f<m)个接口为“固定的”接口,分配给这些接口的信道也是固定的。节点上固定信道是基于平衡两跳范围内邻节点的固定信道来分配的。其余的信道则动态的分配给其他m-f个接口,这些接口称为“可换接口”,这些信道间是可以相互切换的。任何节点间的通信都必须在固定信道上进行,因为这样才能保证节点能够监听到消息。如果节点s想要给节点d发送消息,首先节点s会检测它是否与节点d共享一条固定信道。如果是,节点s会在此接口连接的固定信道上发送消息给节点d。如果两个节点不在同一条固定信道上,节点s则需要通过可换接口切换到节点d的一条固定信道上去,然后再开始通信。当邻节点d有多个固定收发器的时候,我们可以加一些智能算法让节点s检测使用哪个固定信道与节点d通信。
hmcp简化了需要提前知道信道切换表再在节点间进行协调的过程。每个节点仅仅需要知道与之通信的节点的固定信道即可。混合信道的分配策略也具有信道动态分配的优点,比如说,任何节点能够在任意时间内访问任何信道。同时,该协议保持了固定信道分配策略的简明性,舍弃了可换信道切换策略的复杂性。该信道分配策略的一个主要问题就是增加了广播开销。广播消息需要在节点的所有信道上发送。这样,这个节点周围的所有节点都能收到广播消息。因此,当一个节点要发送一条广播消息时,它会通过固定接口发送一条广播消息的副本到固定信道上。同时,它一个一个发送广播消息的副本到可换接口的各个信道上。共4页,当前第1页1234
这在发送广播消息的时候会带来时延。
4信道切换延迟
当一个节点的接口数目少于信道数目时,信道切换则成为必然。但是,可以通过尽可能的减少无线接口上信道切换的次数来减小信道切换的开销。实验中,每个节点有两个无线接口和5个信道。其中一个接口连接固定信道,而另外一个接口需要在其余的4个信道间进行切换。当一个节点上的接口收到一个数据包时,它会检测需要往哪个信道上发送这个数据包。
如果在固定信道上发送,那么就交付给无线网卡来处理连接固定信道的接口来发送这个数据包。否则,如果数据包在可换接口的某条信道上发送,需要在可换接口上切换到发送数据包的指定信道上发送。它还需要决定何时可换接口切换到指定信道上。如果当收到数据包后需要在不同的信道上进行传送,则它会在可换接口上不停切换信道到对应信道上,这样,信道切换带来的开销会非常高的。当一个节点要发送多个数据流且这些数据流要经过的下一跳信道不同时这种情况就会发生。此外,如果将一个数据包放在缓存区中等待可换接口切换到指定信道上的时间过长,这种时延也是导致系统性能降低的原因。
信道切换开销的降低
本文采取的策略是在决定切换信道前先等待一段时间再在可换接口上切换信道,在这个信道上停留的最少时间是一段固定的时间,这段固定时间用chan_min_time表示,默认设置为20ms,同时,还限定一个数据包的最大时延。这个策略的细节如下。
一旦在可换接口上切换到另一个信道时,那么,在这个信道上至少停留chan_min_time(默认设置为20ms)。事实上,无论何时收到一帧数据需要在可换接口上传输时,它会检测该帧是否要在可换接口的当前信道上传输。这时,有两种情况可能发生:
如果当前可换接口连接的信道就是要发送该帧的信道,无线网卡直接发送此帧。这么做的前提是,可换接口上没有其他帧正在等待发送到其他信道上并且发送此帧的时间开销没有超过该信道允许的最大时间(chan_max_time默认设置为60ms)。
chan_max_time为一帧数据在可换接口上的信道队列中等待被发送的最大时间。
另一种情况是,如果当前可换接口连接的信道不是要发送该帧的信道,那么,把该帧放到一个缓冲区中,同时启动一个定时器。定时器运行chan_min_time后,可换接口可能切换到发送该帧的信道上,新切换过来的信道就会把缓冲区的这帧数据处理掉。
要降低信道切换的时延,可换接口应该花尽可能多的时间在不同信道上发送数据以及尽可能少的空闲时间和信道切换时间。为了降低信道切换的时延,本文约定可换接口上信道间切换最小时间间隔为chan_min_time。这么做是希望在信道上能够发送更多的数据,但是系统负载会增加。对于一个系统来说,如果一条信道上很轻的负载而其他信道上很重的负载,这是不合时宜的。
信道切换延迟对往返时间的影响
信道切换延迟影响着两节点之间路径的往返时间,往返时间用rtt表示。由于建立的mesh网络节点分布密度相当高,节点之间的传播时间可以忽略不计。不同路径的rtt由这条路径上不同节点间处理和传输数据包的时间决定,而不是由传播时延决定。共4页,当前第2页1234