目前的频谱分配政策是把无线频谱资源分成授权频谱和非授权频谱, 授权频谱利用率低下, 而非授权频段上通信业务迅速增加, 频谱资源紧缺, 远远不能满足需求. 为解决上述问题, 认知无线电(Cognitive Radio, CR)技术应运而生, 它可以使得未经授权的无线通信设备(次用户)主动地寻找无线电环境中的空闲频谱资源, 并在不对授权用户(主用户)产生干扰的情况下使用这些空闲频谱. 认知无线电是目前公认的解决频谱资源紧张的有效途径[1–3].
根据网络的拓扑结构, 认知网络可以分为集中式网络和分布式网络[4,5]. 在分布式网络中, 由于缺少中心节点的支持, 次用户间进行数据传输之前需要使用公共控制信道(Common Control Channel, CCC)交换彼此的控制信息, 之后再切换到协商好的信道上进行数据传输. 分布式网络架构简单, 但节点间需要额外的开销来协调信道的使用. 集中式网络按照一定的准则划分为若干个簇[6], 簇内共享一条信道作为CCC, 中心(簇首)节点控制着网络中所有节点, 并协调网络资源的分配, 它的主要职责包括: 功率管理、频率管理和调度控制. 这种以分簇的方式实现按区域共享的CCC实质是认知网络MAC层频谱共享问题. MAC层协议支持着次用户快速高效的分配空闲频谱资源. 因此, 如何设计MAC层协议是认知无线电网络的核心问题之一.
针对分布式认知网络已提出了多种采用跳频序列的MAC协议[7,8]. 在此类MAC协议中, 次用户跟随特定的跳频序列接入到它的所有可用信道中, 当次用户对在相同的时间接入到相同的信道时, 它们可以在此共同信道上交换彼此的控制信息并协商信道的使用. 在网络轻负荷的情况下, 此类MAC协议具有较高的效率, 但是随着网络负荷增加, 次用户间信道竞争激烈, 该类协议表现出的性能就劣于集中式网络的MAC协议. 针对集中式认知网络, 目前也提出了多种MAC层协议[9–11]. 文献[9]将系统时间划分成了一系列的超帧时间, 超帧时间由感知时段、握手时段、报告时段和数据传输时段组成. 但由于在各个时段内, 次用户是相互竞争的使用信道传递控制信息且用户之间时钟不同步, 因此该协议效率并不高. 文献[10]提出了一种分簇算法, 称为CogMesh算法. 该算法也是将时间划分成了一系列超帧时段, 每个超帧时段由感知时间和数据传输时间构成. 文中的分簇算法描述了邻居节点发现机制、簇的形成机制以及分簇之后的网络拓扑管理.
目前存在的集中式网络MAC层协议仅仅只是考虑了分簇的算法, 如何将簇的各项操作融入到MAC协议中却并没有被提及. 针对这个问题, 本文在次用户时钟同步的情况下提出了一种基于簇结构的MAC协议, 该协议以超级帧作为基本的处理对象, 超帧由信标时段、频谱感知时段、簇内通信时段、簇间-簇内通信时段、数据传输时段组成. 超级帧的各个时段均对应簇节点的具体操作, 以此支撑簇结构稳健地应对主用户操作.
1 系统模型考虑一个带有n={0,…, N–1}个不重叠信道的认知网络[11]. 网络中共有m={1,…,M}个次用户, 每个次用户装有一个半双工的收发器, 每个次用户都有一个唯一的ID号进行标识. 为简便起见, 后文中“次用户”和“节点”交替使用.
在给定的一段时间内, 认知网络中第i个次用户, 记为SUi, 它感知到的空闲频谱集合为Vi={v1, v2,…, vp}, 其中p为节点SUi感知到的总的空闲频谱数量. 假定网络中节点的移动速率都很低, 且每个节点的可用信道以相对低的速率进行改变. 当满足以上两个假设条件时, 可以认为认知网络的拓扑结构在分簇算法运行的过程中是保持不变的[7]. 假定网络中的节点均配置GPS设备, 则节点可以知道自身的准确位置, 也可以与网络中其他节点保持时钟同步. 网络中的每个节点还包含一个数据库用于存储它在网络中的传输行为.
设存在一个如图1所示的分簇认知网络. 由于分簇算法不是本文的研究重点, 因此假设次用户在经过频谱感知之后, 按照某一分簇算法进行簇结构的划分. 整个网络被划分为两个簇{A, B, C, D}和{D, E, F, G}, 其中簇首节点(即中心节点, Clusterhead, CH)分别为节点C和节点E, 簇内的CCC分别为信道3和信道1. 两个簇的网关节点是节点D.
簇首节点为各簇指定了备用信道(Backup Channel, BC), 当簇内的CCC变的不可用时, 为维持簇结构稳定, 所有的簇内节点均调整到备用信道上去交换控制信息.
此外, 对于分簇的认知网络, 节点间的通信必须遵守如下的一些规则. 在邻居发现阶段, 处于相同信道的节点相互交换必要的控制信息, 以帮助节点了解周围的无线环境; 而在其他时候, 只有从簇首分配到信道的节点对才能进行通信. 网关节点转发不同簇的控制信息, 并将相邻的簇连接起来形成整个网络.
2 基于分簇的MAC层协议 2.1 MAC层超级帧结构为了使得分簇结构更加有效的工作以及对主用户的行为更加稳健, 本文提出了一种针对分簇结构的MAC层协议. 在协议中, 信道接入时间被划分成了一系列的超级帧, 即本协议以超级帧作为基本的处理对象, 超级帧的结构如图2所示.
根据分簇结构的特点以及节点间的通信类型, 超级帧被划分成了五段: 信标时段、频谱感知时段、簇内通信时段、簇间-簇内通信时段、数据传输时段.
(1) 信标时段(Beacon period)
信标时段由每个簇首节点发起. 簇首首先产生一个随机的退避时间, 如果在这段时间内簇CCC检测到冲突, 则簇首放弃在当前CCC上发送信标, 转而调整到簇的备用信道(BC)上重复上述过程, 如图3所示.
这个冲突有可能是一个主用户突然占用了簇内的CCC或者是其他相邻簇的簇首节点刚好也在这个CCC上推送了它的信标. 如果在预先设定的一段时间内, 簇内的节点没有接收到簇首发出的信标, 则所有簇内节点均调整到BC信道上去接簇首的信标. 这个退避机制使得簇结构在维持它的正常操作情况下尽可能的减少对主用户和其他相邻簇的干扰.
如果簇的CCC在簇首的随机退避时间结束时仍然保持空闲, 则簇首接下来就开始发送它的信标, 如图4所示. 簇首的信标包括以下的主要内容:
① 时间同步信息, 例如时间戳;
② 簇和簇首节点的ID;
③ 为簇内各节点分配对应的时隙, 用于交换节点的控制信息;
④ 簇内CCC的信道安排以及其他的一些簇内控制信息.
(2) 频谱感知时段(Spectrum sensing period)
在频谱感知时段, 网络中的所有节点均保持安静并进行频谱感知. 网络中的节点同步地进行空闲频谱检测可以降低虚警概率. 针对簇首和簇内节点, 频谱感知时段的设计是不同的, 如图5所示.
如果某个节点在空闲频谱检测过程中发现簇的CCC被主用户突然占用了, 它会在特定的时间调整到BC以通知簇首. 如果此时继续在CCC上传输消息给簇首节点, 势必会给主用户造成干扰, 而且簇首也不可能正确地接收到信息, 因此选择在BC上进行信息传输. 在指定的时间, 簇首会调整到BC去收集相关的信道信息. 而如果某个节点没有感知到CCC被主用户占用, 它将不会调整到BC上去.
(3) 簇内通信时段(Intra-communication period)
如图6所示, 簇内通信时段被分为指定的小时隙时段和保留时隙时段两个部分. 这两个部分又被划分为等长的若干个时隙, 每个时隙分配给簇内的一个节点, 用于传输节点的控制信息. 指定的小时隙时段分配给簇内活动的节点, 并且将第一个时隙留给簇首节点. 如果簇内的节点在这个时隙上没有侦听到簇首节点的任何控制信息, 可能由于主用户在CCC上突然的出现, 簇首已经调整到了BC上, 则簇内节点也将调整到BC上. 这个机制的目的与信标时段的退避机制是一致的, 都是为了保护主用户信号免受干扰以及维护簇的稳定. 保留时隙时段分配给簇内从休眠状态重新苏醒的节点以及新加入簇的节点.
在本文的MAC协议中, 节点的控制信息主要包括节点的ID、所处的地理位置、感知到的可用空闲信道、该节点所收集到的其一跳邻居节点的上述信息、节点的服务请求等.
(4) 簇间-簇内通信时段(Inter-intra-communication period)
簇间-簇内通信时段包含了两种类型的通信, 即簇内通信和簇间通信. 两个相邻的簇通过网关节点交换簇内的控制信息和数据, 这就是簇间通信. 簇首节点通过网关节点交换完控制信息之后, 将在各自的簇内广播如下的控制信息: (1) 新的CCC跳频序列. 认知网络的各个相邻簇之间提供一个无竞争的信道接入机制, 在簇间通信完成之后, 各簇的簇首才针和新的BC; (2) 针对簇内节点的业务请求而分配的频谱资源以及传输安排. 这就是簇内通信. 为了在对簇内节点的业务请求分配频谱资源.
(5) 数据传输时段(Data transmission period)/邻居节点发现(Neighbor discovery)
在本文提出的MAC协议中, 簇内不需要一条固定的信道作为CCC, 簇内所有可用信道均可以分配给节点对进行通信. 在数据传输阶段, 需要通信的节点对在分配到频谱资源后, 调整到指定的信道进行数据传输. 此时, 不同的节点对在不同的信道上进行并行的数据传输. 在节点传输数据之前, 发送节点首先产生一个随机的退避时间, 如果指定的信道在退避时间结束时仍然保持空闲, 则传输开始. 如果在此期间, 发送节点检测到了冲突, 则发送和接收节点终止数据传输, 不再另外选择其他信道进行传输, 直到簇首节点重新为它们分配信道, 这样可以避免对其他节点产生干扰. 当节点间通信结束时, 节点对本次通信进行评价, 评价结果存储于节点的经验数据库.
如果在此时段里面, 节点没有数据需要发送或者接收, 则它会在此时间段内接入到空闲频谱中以发现邻居节点. 由于节点侦听了簇首关于信道安排的控制信息, 因此它不会接入到已经被安排用于数据传输的信道中. 这个机制使得本节的MAC协议不需要一个额外的时段用于邻居节点发现.
2.2 MAC协议流程总结上述的超帧结构, 本文提出的针对簇结构的MAC协议的工作流程可以由图7所示.
当一个超帧开始的时候, 节点调整到CCC侦听簇首的信标, 如果侦听成功, 则在簇首的安排下进行频谱感知. 在频谱感知阶段, 检测到主用户之后, 整个簇调整到BC信道上; 否则继续在当前信道下进行操作. 接下来进行簇间-簇内通信、数据传输以及邻居发现操作. 在一个超帧开始的时候, 如果节点侦听不到簇首的信标, 则调整到BC上去接收, 待成功接收之后, 接下来就进行频谱感知. 在频谱感知阶段, 如果检测到了主用户, 则终止所有的操作, 等待下一帧的到来; 如果主用户不存在, 则继续执行簇间-簇内通信、数据传输以及邻居发现操作. 在下一个超帧开始的时候又重复上面的操作. 在整个超帧时段, 经验数据库为节点的数据传输和邻居节点发现提供评价支持.
3 经验数据库及参数网络中的每个节点都包含一个数据库用于存储它在网络中的传输行为以及对这些行为的评价, 称这个数据库为经验数据库. 经验数据库可以用来支持节点在网络中的多个行为, 例如帮助节点快速的找到邻居节点, 为节点提供经验值用于组建新的簇, 帮助簇首选择最佳的信道进行数据传输.
由于认知网络的节点只是频谱资源的使用者而非拥有者, 节点的可用信道在不同的时间不同的地点是不尽相同的. 然而在实际中, 大多数节点的移动范围通常会在一个固定的区域内, 在此区域中节点可用信道的变化情况可以通过长时间的记录而发现其中的规律值. 基于上述考虑, 本文的经验数据库以地理位置为基本的考虑因素, 数据库中存储若干条记录, 每条记录包含如下的五个参数:
C_xy 节点的地理位置;
Ci 信道i成为簇内CCC的次数;
ti信道i被节点用于数据传输的总时长;
Wi在信道i上传输的总的比特数;
tm 该条记录被修改的时间.
地理位置是经验数据库中每条记录的核心参数, 其他参数均用于记录节点在该地理位置附近的行为. 考虑到节点的存储空间有限, 设置每个节点最多包含十条记录.
将上面的两个参数ti和Wi作为节点在信道上的数据通信的评价, 两个参数由下面的两式定义:
${t_i} = \sum\limits_{k \in T} {{t_k}} $ | (1) |
${W_i} = \sum\limits_{k \in T} {{w_k}} $ | (2) |
上两式中, T是节点接入信道i的次数. tk是节点第k次接入信道i时用于数据传输的时长, wk是节点第k次接入信道i时传输的比特数. 当考虑选择信道进行节点间的数据传输时, 某个信道上已经传输的比特数(Wi)越高, 选择该信道用于下一次数据传输的可能性就比其他的信道高.
当节点需要进行邻居节点发现或是向簇首节点提供信道选择信息时, 节点需要从经验数据库中获取相应的信息. 它首先计算当前所处的地理位置与经验数据库中记录的所有地理位置的距离. 如果存在这样一条记录, 它的地理位置距当前节点所处的位置最近, 并且两者之间的距离值在节点的三跳范围之内, 则节点可以使用该条记录的经验值, 并根据当前行为产生的评价来修改这条记录. 如果节点找不到满足上述条件的记录, 则它添加一条以当前地理位置为核心参数的记录到经验数据库中. 如果当节点希望添加新记录的时候, 经验数据库中已经存在了十条记录, 则节点将删除修改时间最早的一条记录.
4 仿真分析作为性能比较, 将本文提出的基于分簇结构的MAC协议(称为CLMAC)与其他两个协议进行比较: (1) 采用跳频序列的MAC协议[8], 称为SMA; (2) 基于分簇的MAC协议[9], 称为CogMesh. 采用三个性能指标对以上三个MAC协议进行比较分析, 仿真软件采用ns-2.
仿真参数设置为: 在10 km×10 km的区域中随机放置100个次用户节点, 10个主用户, 网络中总的信道数量为N=12, 次用户之间的通信距离为500 m, 主用户之间的通信距离为2 km, 且主用户独立的接入每个信道中. 网络中数据传输率为1 Mbps, 每个数据包的大小为512 bytes, 其他的网络参数主要参考IEEE 802.11. 共进行100次独立实验, 每次实验运行1000 s, 取实验的平均值作为最终结果.
图8所示为在不同的网络负载下三种协议能达到的吞吐量. 在网络负载低的时候, SMA协议得到了比其他两个协议较大的吞吐量. 由于SMA协议操作简单, 它使得节点对独立的去竞争信道, 在轻负载下需要通信的节点对能够快速的找到信道进行通信, 因而SMA协议的吞吐量快速的增加. 当网络负载继续增加时, SMA协议的吞吐量增加的不明显, 这是由于网络负载的增加, 进行竞争的节点也增加了, 信道利用率下降. 反观CogMesh和CLMAC协议, 随着网络负载的逐渐增大, 吞吐量增加比较明显. 由于CogMesh和CLMAC协议均是基于分簇的MAC协议, 各簇的簇首节点管理着簇内的资源分配, 尽量为簇内节点提供无冲突的信道接入, 则网络中所有可用信道的利用率较高, 从而获得较大的网络吞吐量. 本文的CLMAC协议增设了簇间-簇内通信时段用于协调相邻簇之间的信道使用, 这个传输机制为相邻的簇提供了无冲突的频谱接入, 而且本文的CLMAC协议在设计分簇算法的时候就将最大化网络吞吐量作为主要的考虑因素. 因而本文的CLMAC协议能够得到比CogMesh协议更大的吞吐量. 当网络负载继续增大的时候, 节点的丢包率增大, 所有协议的性能均出现下降.
图9所示为在不同的网络负载下三种协议的平均时延. 在轻负载网络下, CogMesh和CLMAC协议表现出比SMA协议较高的时延, 这是由于基于分簇结构的MAC协议需要进行簇内节点的协商, 等待簇首节点安排信道的使用, 因而它们的包传输时延较大. 而SMA协议不是中心控制结构, 需要通信的节点对一旦竞争到某条信道中, 它们就开始数据传输, 且在轻负载情况下, 节点间信道竞争不激烈, 数据包传输时延最小. 当网络达到中高负载时, SMA协议的信道竞争激励, 节点对需要等待很长的时间才能接入到信道中, 传输时延不断增加. 而其余两个基于分簇的协议中, 簇首充分考虑簇内的业务需要, 为簇内节点提供无冲突的信道接入, 则它们的时延增加的比较平缓. 本文的CLMAC协议在信标时段和频谱感知时段均提供了相同的机制以保护簇内的CCC, 维持了簇结构的稳定, 因而它提供的传输时延略低于CogMesh协议.
5 结束语本文在次用户时钟同步的情况下提出了一种基于簇结构的MAC协议, 该协议以超级帧作为基本的处理对象, 超级帧的各个时段均对应簇节点的具体操作, 以此支撑簇结构稳健地应对主用户操作. 仿真结果表明, 基于分簇结构的MAC协议相比较于基于跳频序列的MAC协议, 在中高网络负载情况下能获得更好的网络吞吐量以及较低的传输时延. 而本文提出的MAC协议能获得比CogMesh协议更好的综合性能.
[1] |
Akyildiz IF, Lee WY, Chowdhury KR. CRAHNs: Cognitive radio ad hoc networks. Ad Hoc Networks, 2009, 7(5): 810-836. DOI:10.1016/j.adhoc.2009.01.001 |
[2] |
Haykin S. Cognitive radio: Brain-empowered wireless communications. IEEE Journal on Selected Areas in Communications, 2005, 23(2): 201-220. DOI:10.1109/JSAC.2004.839380 |
[3] |
Akyildiz IF, Lee WY, Vuran MC. Next generation/dynamic spectrum access/cognitive radio wireless networks: A survey. Computer Networks, 2006, 50(13): 2127-2159. DOI:10.1016/j.comnet.2006.05.001 |
[4] |
Theis NS, Thomas RW, Dasilvs A. Rendezvous for cognitive radios. IEEE Transactions on Mobile Computing, 2011, 10(2): 216-227. DOI:10.1109/TMC.2010.60 |
[5] |
Lazos L, Liu S, Krunz M. Spectrum opportunity-based control channel assignment in cognitive radio networks. Proceedings of IEEE SECON. 2012. [doi: 10.1109/SAHCN.2009.5168974]
|
[6] |
Wang XY, Wong A, Ho PH. Stochastic medium access for cognitive radio ad hoc networks. IEEE Journal on Selected Areas in Communications, 2011, 29(4): 770-782. DOI:10.1109/JSAC.2011.110409 |
[7] |
Chowdhury KR, Akyildiz IF. OFDM-Based common control channel design for cognitive radio Ad Hoc networks. IEEE Transactions on Mobile Computing, 2011, 10(2): 228-238. DOI:10.1109/TMC.2010.160 |
[8] |
Bian K, Park J, Chen R. A quorum-based framework for establishing control channels in dynamic spectrum access networks. Proceeding of the 15th Annual International Conference on Mobile Computing and Networking. New York, NY, USA. 2009. 25–36. [doi: 10.1145/1614320.1614324]
|
[9] |
Chen T, Zhang H, Maggio GM, et al. CogMesh: A cluster-based cognitive radio network. Proceedings of IEEE DySPAN. 2011. 168–178. [doi: 10.1109/DYSPAN.2007.29]
|
[10] |
Sabharwal A, Khoshnevis A, Knightly E. Opportunistic spectral usage: Bounds and a multi-band CSMA/CA protocol. IEEE/ACM Transactions on Networking, 2007, 15(3): 533-545. DOI:10.1109/TNET.2007.893230 |
[11] |
Xiang J, Zhang Y, Skeie T. Medium access control protocols in cognitive radio networks. Wireless Communications and Mobile Computing, 2010, 10: 31-49. DOI:10.1002/wcm.v10:1 |