无线Mesh自组网实施中涉及到的关键技术主要包括:多信道协商;信道分配;网络发现;路由转发;Mesh安全。
(1)多信道协商,无线Mesh网络进行多信道接入时,网络中的MP节点一次只能侦听一个信道,为了使用多信道,节点不得不在可用信道之间动态切换,这就需要一种协调机制,确保通信的两个节点都工作在相同的信道上。一种解决方法是将时间轴被划分为信标间隔,在每一个信标间隔的开始,建立一个叫做ATIM的时间窗口,并要求在ATIM时间窗口的起始时刻,网络中所有节点都被强制切换到相同的信道上。在ATIM窗口内,有数据需要发送的节点使用控制消息和接收端协商信道。信道协商过程如图2所示,4个节点构成链状拓扑,按照A-B-C-D顺序排列。节点A有分组要发送到节点B,节点D有分组要发送给节点C。当一个新的信标间隔开始,所有节点都切换到信道1,进去到ATIM窗口,A等待一个随机时延(避免冲突)后向B发送ATIM分组,ATIM分组中包含A的PCL(Preferable Channel List),这个表中记录了结点邻域内信道的使用情况。当结点B收到ATIM分组后,根据A的PCL和自己的PCL选择信道。在发送端和。接收端通信范围内,被较少结点使用的信道将被优先选取。假设结点B选择了信道1,然后,结点B向结点A回复ATIM-ACK分组,分组中包含选择的信道,结点A向结点B发送ATIM-RES确认这次协商。根据ATIM-ACK和ATIMRES分组,结点A和结点B的邻居也就知道了结点A和结点B将使用信道1通信,并更新自己的PCL,便于将来根据这些信息为自己选择信道。当ATIM窗口结束,各结点切换到选择的信道上,在信标间隔余下的时间内进行通信。另外,MMAC可以在ATIM窗口期间广播消息,支持本地广播功能。PCL将信道分为以下三种状态。高优先级表示在当前信标间隔,此信道已经被该结点选用,每个信标间隔内,一个结点很多只能有一个信道处于高优先级状态。中优先级表示此信道还没有被传输范围内的结点选用。低优先级表示此信道至少已经被一个邻居结点所选用。每个信标间隔的开始,PCL中的信道被复位到中优先级状态。如果发送结点和接收结点协商好某个信道,那么,这两个结点就将该信道置为高优先级状态;如果一个结点侦听到ATIM-ACK或ATIM-RES分组,并且该分组中指定的信道处于中等优先级,就将该信道置为低优先级,与其关联的计数器设置为1;如果分组中指定的信道处于高优先级,则不改变状态;如果分组中指定的信道已经处于低优先级,则与其关联的计数器增加1。这种多信道协商方法的目的是要选择业务负载小的信道,尽可能地平衡信道负载,减小竞争和退避所浪费的带宽。
(2)信道分配,信道分配技术主要用于多信道无线Mesh网络中多个信道的使用和管理,在确保网络良好连通性的同时,降低Mesh网络中发生信道冲突的概率,以提升网络效能。与多信道协商技术不同的是,信道分配技术是从信道频率资源划分的角度,分配Mesh网络中多个信道的使用,比如为MP间的互连定义一组信道而为MAP和Mesh STA间的互连定义另一组信道。组划分是一种常用的无线Mesh网络信道分配方案,其将每个MP节点的所有邻居节点进行组划分,然后每个组进行信道的统一指定;每个组分配的信道则选择节点冲突邻域内使用次数很少的信道进行指定并确保组间的互连。
(3)网络发现,网络发现技术主要是用于Mesh网络中新节点和邻居节点的发现以及建立相应的信息列表。网络发现主要是采用网络扫描和列表维护的方式进行,其中网络扫描是指无线Mesh网络中的MP节点通过主动发送或监听Beacon信号对其周围的邻居节点进行监听,而列表维护则是把通过网络扫描发现的属于同一Mesh网络的邻居节点的信息加入列表中。如果发现的邻居节点是新节点,则其可以通过路由表被整个网络发现。
(4)路由转发,无线Mesh网络的很多技术特点和优势来自于其Mesh网状连接和寻路,而路由转发的设计则直接决定Mesh网络对其网状连接的利用效能,影响网络的性能。在设计无线Mesh网络路由协议时要注意,首先,不能仅根据“很小跳数”来进行路由选择,而要综合考虑多种性能度量指标,综合评估后进行路由选择;其次,要提供网络容错性和健壮性支持,能够在无线链路失效时,迅速选择替代链路避免业务提供中断;第三,要能够利用流量工程技术,在。多条路径间进行负载均衡,尽量很大限度利用系统资源;第四,要求能同时支持MP和Mesh STA。常用的无线Mesh路由协议可参照Ad Hoc网络的路由协议,几种典型的路由协议包括:动态源路由协议(DSR)、目的序列距离矢量路由协议(DSDV)、临时按序路由算法(TORA)和Ad Hoc按需距离矢量路由协议(AODV)等。DSR是较常见的一种对等的基于拓扑的反应式自组织路由协议,它的特点是采用积极的缓存策略以及从源路由中提取拓扑信息,通过比对,实现路由创建。
(5)Mesh 安全,Mesh 网络特有的多跳自组织特性导致其特有的安全目标,例如Mesh节点间的双向认证;各跳端到端链路数据流量的机密性和完整性保护; Mesh 节点的接入控制和管理。为了针对性解决这些安全问题,Mesh安全技术被提出。Mesh安全关联(MSA,Mesh Security Association)则是一种常用的Mesh安全架构。在MSA安全架构中,密钥体系是其核心。一个MP 只有通过身份认证后建立起一套密钥体系才被允许在网络中发起通信。MSA 架构将参与安全交互的MP 节点分成3种角色:MKD、MA和Candidate MP。Candidate MP是指希望加入Mesh网络的节点。MA是具备为Candidate节点提供认证服务资格的节点,它能够建立并维护一条通往MKD 的安全链路以确保经其转发的Candidate MP 证信息的安全。 MKD与外部认证服务器AS间存在一条安全物理链路,主要负责主密钥的生成和分发以及确认MA的资格。初始MSA认证用于安全地建立MP对之间的链路。每个Candidate MP至少经过一次顺利的初始MSA认证才可以在网络中传输数据。一个完整的MSA认证过程可分为以下3个阶段: P L M (P e e r L i n kManagement) 协议交互阶段;EAP认证阶段;MSA4次握手阶段。PLM用于协商后续阶段所需的各种安全参数,并定义了密钥选择流程和角色选择流程,允许MP通信对进行存储密钥的协商和EAP认证阶段各自角色的选择。在EAP认证阶段使用EAP框架实现客户身份认证,较终将MKD生成的PMK-MA和随机数分发到对应的MA。MSA4次握手阶段将通过双方共享的PMK-MA和交换的两个随机数生成较终的会话密钥,并使用该会话密钥保护传输数据的机密性和完整性,到此完成密钥体系链路安全分支的建立。