物联网与无线传感器网络(第2版)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

3.4.4 跨层MAC协议

无线传感器网络通信协议采用分层的体系结构,在设计时也大都是分层进行的。各层的设计相互独立,因此各层的优化设计并不能保证整个网络的设计最优。针对此问题,一些研究者提出了跨层设计的概念。跨层设计就是实现逻辑上相邻的协议层次间的设计互动与性能平衡。对于无线传感器网络,为了提高能量效率,能量管理机制、低功耗设计等在各层设计中都有所体现,但要使整个网络的节能效果达到最优,应采用跨层设计的思想,这样可以有效节省能量,延长网络的生存期。在无线传感器网络中,采用跨层设计的思想来设计MAC层协议的研究成果相对较少,本节选择一种有代表性的跨层设计架构—MINA进行介绍。

1. MINA网络架构

MINA是一种基于跨层设计的大规模无线网络协议架构,网络通常由数百个低电量、低运算能力的传感器节点组成,同时网络中还有一些基站节点,基站通常具有较强的运算能力,并具有充足的能量。

如图3.16所示,在MINA架构中,节点分为三种类型:大量静止的低容量(内存、CPU、能量)传感器节点;少量手持移动节点;静止的大容量基站节点。每个传感器节点都带有一个半双工或全双工的射频收发器,每个节点都有唯一的网络地址。MINA架构假设节点都能直接进行双向通信。一个传感器节点的簇定义为在该节点广播传输范围内的节点的集合。图3.16中3号节点的簇为阴影区域。所有的传感器节点形成了一个多跳基础设施网络,各个传感器节点都可以进行数据转发。移动节点通过这些基础设施可以相互访问,或者访问基站。基站是无线传感器网络的数据Sink节点,可以将数据发送到有线网络,基站节点必须具有超长的传输距离,通过一个广播可将数据发送给网络中所有节点。

图3.16 MINA架构组网示例

在MINA架构中,网络流量类型主要为传感器节点到基站的上行链路,移动节点到移动节点之间的通信也是先通过上行链路到达基站的,然后再下行广播给相应的移动节点。网络数据帧主要有三种:控制帧,也就是从基站向传感器节点发送的控制信息,通过直接广播完成;信标帧,所有节点都需要在一个公共信道上周期性发送,包含有节点信息和本地TDMA分配给节点发送数据的时隙信息;数据帧,由传感器节点生成。

MINA架构中网络节点是以层的形式来组织的,距离基站跳数相同的节点组成一层。第一层节点距离基站跳数为1,第二层节点距离基站跳数为2,以此类推,如图3.16所示,网络共有三层。根据距离基站的跳数,每个节点的邻居也可以分为三类,即内部邻居、同等邻居和外部邻居。距离基站跳数比本地更小的邻居为内部邻居,跳数相同的邻居为同等邻居,跳数更大的邻居为外部邻居。图3.16中3号节点的内部邻居为1号和2号节点,外部邻居为9号和10号节点。

2. UNPF协议框架

UNPF(Unified Network Protocol Framework)协议框架定义了网络的组织方式、路由协议和MAC协议。无线传感器网络主要工作在两个交替的状态。

(1)网络自组织状态:在此期间节点发现邻居,获得关于邻居的跳数、能量状态、可用缓存大小和本地网络拓扑等信息。

(2)数据传输状态:在此期间节点进行数据的发送或接收。需要路由协议来确定目的地址,MAC协议来完成信道访问。图3.17所示为MAC协议超帧结构。

图3.17 MAC协议超帧结构

3. 网络自组织

传感器节点通过获得邻居的跳数信息,以及邻居的内部邻居和外部邻居来完成网络自组织过程,具体步骤如下。

在每个超帧的起始阶段,基站广播一个控制帧(Control Packet,CR),控制帧包括传感器节点同步需要的时间信息,以及传感器节点在信标帧(Beacon Packet,BI)内传输各自的信标信息的序号。基站只知道每个传感器节点的地址信息。

信标帧紧跟在控制帧后,每个节点根据控制帧中的顺序发送信标帧,帧格式如图3.17所示。信标帧包含了节点的能量状态、距离基站的跳数、节点的接收信道信息。控制帧和信标帧都采用广播方式发送。

如图3.17所示,在信标帧后紧紧跟着的就是数据传输帧。每个数据帧包括β个时隙,由MAC协议来负责分配。

在基站启动后第一个超帧期间进行第一轮BI信息交互时,基站可获得第一层节点的信息,在第二个超帧期间重复上述步骤,第一层节点发送带有跳数信息为1的BI信息。第二层的节点接收到该信息并将自己的跳数数值设为2,第二层节点就形成了。超帧周期性地重复,假设网络最大跳数为N,第N个超帧执行完毕后,整个网络的自组织过程就完成了。每个节点都获得以下信息:距离基站的跳数、内部邻居及相关参数、时隙分配。

4. 路由协议

对于由MINA架构组成的网络,分层的自组织结构只需要节点进行简单的选择就可以确定下一跳地址。对于第i层的任意传感器节点,如果需要发送数据到基站,则选择第i−1层的某个内部邻居作为下一跳目的节点即可。内部邻居重复这一步骤,直到数据被基站接收到为止。选择目的节点的方法有多种,如随机选择、轮流选择、能量因子选择等。根据能量因子选择可以确保各个节点有比较平均的能量消耗,不会使个别节点因为转发次数过多而过早地耗尽能量。

5. MAC协议

MINA架构网络提出了用DTROC(Distributed TDMA Receiver Oriented Channel)来进行信道分配,下面对DTROC协议进行介绍。假设网络总共有L层,节点i位于l层,且l<LSi表示第l+1层中将节点i选择为下一跳地址的节点的集合。信道分配的基本思想是分配一个信道Ci给节点i的接收机,同时Si中每个节点都将发射机调整到这个信道。对于DTROC而言,主要解决两个问题:在Si中共享信道Ci;在分配信道时避免相互干扰。

信道预留:每个数据信道都有固定数据(DFSIZE)的时隙,网络中所有节点都有相同的DFSIZE。节点iSi中每个节点分配时隙,这些都通过BI来完成。

信道分配:每个节点选择一种两跳内邻居都没使用过的码序列,此外信道分配就是为节点分配码序列。假设节点ij都位于l层,有对应节点集合SiSjRk表示节点k的广播传输范围;Zi=URkk属于Si,表示集合Si中所有节点的传输范围之和。如果ZiZj为空集,则表示两个集合之间的节点不会相互干扰,此时节点ij可分配相同信道,否则就必须分配不同的信道。

MINA架构网络可以用一个无向图模型G=(V, E)表示,其中V表示网络中所有节点的集合,E表示节点对(i, j),节点对两者都在对方的信标传输范围之内,两者之间存在双向链路。基于图G可以构造另一个图G'=(V', E'), V'=V其中(i', j')∈E',且ZiZj的交集非空。MINA架构的信道分配问题可以建模为图G'的每个节点上色的问题,确保图中每条边两端的节点具有不同的颜色。由于这是一个NP问题,所以采用贪婪探索方法进行次优信道分配。首先,将V'中的节点命名为v'1, v'2, …, v'n,然后依次为每个节点分配码序列。先为v'1分配码C1,如果(v'1, v'2)∈E,则为v'2分配码C1,否则为v'2分配码C2,依次类推。假设Ni为图中节点邻居的节点集合,那么需要的码序列个数最多为max{|Ni|, iV'}+1。MINA架构假设基站存储了网络中每个节点的地址信息,基站运行上述算法,然后在CR阵中广播并为每个节点分配信道。

MINA架构提出了一个统一的网络协议架构,该架构包括了网络自组织、MAC协议和路由协议。网络中所有的节点都是根据距离基站的跳数以分层的方式来组织的,利用节点的层次星系,大大简化了路由协议。通过使用TDMA和CDMA结合的机制,DTROC协议有效地实现了冲突避免,提高了能量效率。由于MINA架构要求网络中每个节点保持静止,且都能够接收到基站的广播包,这在一定程度上限制了它的应用。