基于Zigbee无线传感网的量子通信路由协议的研究
2023-08-04张凌
张凌
(云南大学滇池学院 云南昆明 650228)
量子信息技术在数据处理、信息容量、安全性能、通信传输等方面突破了经典通信技术的极限,已成为通信与信息领域发展的新趋势。
其中,在量子通信方案里,采用量子纠缠交换[1]技术通过量子隐形传态[2]实现远程中继量子通信。量子纠缠交换技术将两个没有处于纠缠态的粒子,通过处于纠缠的粒子进行作用,使这两个没有处于纠缠的粒子转化为纠缠态[3],可扩大量子通信网络信息传送范围。量子隐形传态在进行量子信息传送时,利用纠缠粒子建立起量子信道,然后通过量子测量和还原的方式进行信息传递。
目前,无线传感网感知层的通信技术主要有Zigbee、蓝牙、射频识别技术(Radio Freqnency Identificationg,RFID)、NFC、Wi-Fi、UWB(Ultra Wideband)等。其中Zigbee 因具有低功耗、低成本、低复杂度、高安全等优势应用较为广泛,适合大规模、低速率无线传感网的建立。
因此,将Zigbee网络技术与量子通信结合,对无线传感网实现量子信息传送具有代表意义。文章在Zigbee网络的ZBR(ZigBee Routing)路由算法上提出针对量子通信改进的QZBR(Quantum-ZigBee Routing)协议,增加有关量子通信方面的度量因素改进路由度量和最优路径选择,使路由选择对量子信道建立和通信更有针对性和有效性,并在量子信道建立过程中采用了“反向同步法”[4],节约时间,减少消息数量,提高效率。文章对QZBR协议实现量子信道建立和量子信息传输的具体方法、内容、步骤和涉及的相关消息格式等进行了阐述,并通过协议性能分析验证了QZBR 协议反向同步法在节约时间,减少消息数量方面的优势。
1 Zigbee 网络ZBR 算法和量子通信路由度量改进
1.1 Zigbee网络ZBR路由算法
Zigbee 协议中ZBR 算法结合了两种路由算法,分别是简化版按需距离矢量路由算法(Ad-Hoc On-Demand Distance Vector jr,AODVjr算法)和树型网络结构路由算法(Cluster-Tree算法)。
AODVjr算法是AODV算法的简化算法,只有在路由节点接到数据包,且该数据包的目的地址不在此路由节点的路由表中时才会进行路由发现,所以路由表中的内容是按需建立的。
Cluster-Tree 算法包括地址分配与寻址路由两部分[5]。地址分配是指子节点的16 位网络短地址,寻址路由是根据目的节点的网络地址来计算下一跳的路由。
Zigbee 网络中将节点分为两类:RN+和RN-。其中RN+是指具有足够的存储空间和能力执行AODVjr路由协议的节点,RN-是指其存储空间受限,不具有执行AODVjr路由协议能力的节点,RN-收到一个分组后只能用Cluster-Tree算法处理[5]。ZigBee执行ZBR算法方式为先按Cluster-Tree 算法给入网节点分配16 位网络短地址,形成树形结构的父子关系,然后让具有路由功能的节点(RN+)使用AODVjr去发现路由,即它们可以直接发送信息到其通信范围内的其他RN+节点,而不具有路由功能的节点(RN-)使用Cluster-Tree 路由发送分组。这种方式既发挥了AODVjr路由效率高、功耗低的优点,又结合Cluster-Tree算法使不具有路由功能的节点可通过各自父节点间的通信收发分组。
1.2 针对量子通信改进的路由度量
由于量子通信过程进行量子态传送会消耗纠缠粒子对[6]。为了避免通信路径上节点间纠缠粒子数过少,导致通信不稳定问题,在目的节点进行路径选优时,增加考虑通信节点间的纠缠粒子数[3]对通信的影响。
传统的AODVjr算法中,目的节点是以最先到达的路由请求分组(Route Request,RREQ)消息作为路径选择依据[5],也可优化其路由度量综合考虑跳数、传播时延、链路质量等因素[7]。而文章的路由选择要考虑针对量子通信,因此增加对量子隐形传态信道建立的关键因素纠缠粒子对数的度量。以纠缠粒子对数目为路由度量的计算方法式(1)所示。
式(1)中,fi为目的节点接收到的第i条通信路径的路由度量,n为目的节点接收到的有效(满足一定限定条件)路径数量,Ej是第j个节点和第j+1个节点间共享的纠缠粒子对数量[3]。
在实际计算中可以采用相对比值方式计算,如式(2)所示。
式(2)中,N为网络中最大纠缠粒子对数,为方便各节点获得该值可以对该值进行初始设定,全网统一为某一指定值。
最后在所有路径中选择路由度量最大的那条,即式(3)所示[3]。
根据上述思路,下面以图1 所示的Zigbee 网络为例来进行分析。图中A~F 都为RN+节点,虚线为量子信道,虚线上数字代表分配的纠缠粒子对数量。若节点B 要和F 通信,节点B 进行路由发现广播RREQ 消息,假如在一定限定条件下,有两条RREQ消息到达节点F,其中最先到达的路径为B-E-F,其次是B-E-DF。如果按传统AODVjr算法以最先到达的RREQ消息为路由度量,则应选择路径B-E-F,但若考虑针对量子通信改进的路由度量,设N=15,路径B-E-F上E1=5,f1=E1/N=5/15,路 径B-E-D-F 上E2=7,f2=E2/N=7/15,则f=max(fi)=f2,所以选择的路径是B-E-D-F。这种方式选择的最优路径将更能满足量子通信的特点和需求,均衡了网络中纠缠粒子的消耗。
图1 Zigbee网络量子通信示意图
实际应用中,可以根据网络性能需求,对传统路由度量和考虑量子通信的路由度量两块进行权值配比,且传统度量和量子度量里的计算因子也可根据不同场景和需求进行选择和增减,这里仅考虑了最基本的因素,制定了一个基本思路,实际应用可进行拓展和完善。
2 基于量子通信的ZBR 路由协议—QZBR 路由协议
第一步:按Cluster-Tree算法给入网节点动态分配16 位网络短地址,用于路由机制和网络中的数据传输。
按照范立南等人研究的《物联网通信技术及应用》[5]分配原则为:组建网络的协调器节点(一个Zigbee网络有且仅有一个)短地址为0,网络深度为0;每个父节点最多可连接C个子节点,这些子节点中最多可以有R个路由节点,网络的最大深度为L,Cskip( )d是网络深度为d的父节点为其子节点分配的地址之间的偏移量,其计算如式(4)所示。
当Cskip(d)等于0 时,说明父节点不具备为其他子节点分配地址的能力,也即它不能让别的节点通过它加入网络。当Cskip(d)大于0 时,说明父节点可接受其他节点为其子节点并为子节点分配网络地址。为终端节点分配地址与为路由节点分配地址不同,若父节点的地址为AP,则第i个与之关联的路由子节点地址Ai由式(5)计算,第n个与之关联的终端子节点地址An由式(6)计算。
例如如图2所示的Zigbee网络,节点A~J的字母顺序为节点加入网络的顺序,A是协调器节点,图中实线表示节点入网的父子关系,设定好R、C值和节点类型(路由节点或终端节点)后,则按上面的原则可以计算出每个节点的短地址,建立起父子关系。
图2 Zigbee网络量子通信示意图
第二步:路由发现。
这里先说明一下ZBR 路由算法中Cluster-Tree 路由算法的使用。网络中源节点是 RN-节点需要发送分组给某个节点时,使用Cluster-Tree 算法,即将分组交给其父节点 RN+节点,由父节点使用AODVjr 去发现路由,同理,若目的节点是RN-节点,路由请求(Route Request,RREQ)消息到达其父节点时,父节点使用Cluster-Tree算法判断目的节点是否为其子节点,若是则回复路由应答(Route Reply,RREP)消息。Cluster-Tree 寻址路由算法判断父子关系的基本方法是当一个网络地址为X,网络深度为d的路由节点(RN+)收到目的地址为Y的转发数据包时,路由节点首先要判断目的地址Y是否为自身的一个子节点,若地址Y满足式(7),则Y地址节点是X地址节点的一个子节点;否则就不是。
网络中RN+节点需要发送分组到某个节点而又没有通往该目的节点的有效路由表条目时,就会发起路由发现过程。由1.2节所述内容可知,结合了量子通信的路由度量让目的节点需要知道该路径上各路段的最小纠缠粒子数fi,该信息需要由RREQ 分组来携带,因此该文针对量子通信设计了考虑量子度量的量子-路由请求分组(Quantum Route Request,QRREQ)消息格式,如图3所示。
图3 量子路由请求分组(QRREQ)消息格式
这个RN+节点创建并向周围广播一个QRREQ 分组,如果收到QRREQ 的节点是一个RN-节点,则按上面讲的Cluster-Tree 算法转发此分组;如果收到QRREQ 的是一个RN+节点,判断自己是否为目的节点,如果不是,根据路由请求ID 判断当前节点收到的QRREQ 消息是否为重复消息,重复则丢弃此条QRREQ 并结束此次操作,如果不重复,当前节点将会查看与上一跳节点间的纠缠粒子数Ej,与QRREQ消息里的fi比较出大值更新fi,将该节点地址设为“上一跳节点地址”,并对路由度量进行更新,同时将该节点地址加到路由记录域(Route Record Field, RRF)的队尾[8]。之后,当前节点将更新后的QRREQ 消息继续向周围节点广播,重复执行以上操作。
当目的节点是RN+节点,收到QRREQ 消息,由于到达目的节点的QRREQ消息可能不止一条,对于满足一定限制条件的QRREQ消息,目的节点会对这些满足条件的QRREQ消息(RRF对应不同路径)进行选择,按1.2节所述原则选择出路由度量小且fi大的路径。当目的节点是RN-节点,则由其父节点来执行上面操作。
第三步:“反向同步法”进行反向路由建立,同步建立量子信道。该步骤是Zigbee网络ZBR路由算法针对量子通信而进行的改进。
当选定最优路径后,目的节点(RN-节点由其父节点代理)会沿着RRF 中记载的路径,反向向源节点以单播方式发送一条路由应答消息,当中间节点收到该应答消息后即知道自己被选为了路由节点[9]。源节点收到应答消息后将根据RRF中记载的路径发起通信。
由于目的节点(RN-节点为其父节点)在第二步结束时就已经知道路由路径了,因此在上述反向路径建立的同时,目的节点(RN-节点为其父节点)就可以同步发起量子信道建立过程。即目的节点(RN-节点为其父节点)沿着已选中的路径,单播发送量子-路由应答消息(QRREP),该消息为RREP 消息格式中增加了“标记的路由记录域(RRF-Flag,RRF-F)”字段和“纠缠量子信道请求(Quantum Channel Request,QCR)”消息字段[4],如图4所示,其中RRF-F为目的节点(RN-节点为其父节点)选出的RRF 路径节点打上0 或1 标记后的路径。打标记的原则为:实际的目的节点(可能是RN+或RN-)总是0,然后沿反向路径节点依次为1、0、1……打标记的目的是反向路径上收到QRREP消息的节点可根据标记值来决定是否读取QCR 字段,为0 则QCR 字段生效、读取,为1 则无效、忽略不读取。收到QCR消息的节点就回复QCR应答消息,收到QCR应答消息的节点将产生纠缠粒子对并分发。
图4 量子-路由应答分组(QRREP)消息格式
反向路径中的节点收到QRREP 消息即获知该节点已经作为所选路径中的节点,将立即进行量子信道建立过程。而不必等待应答消息到达源节点完成正向路由建立后再发起量子信道建立,达到节约时间提高效率的目的。
下面对第三步所述的“反向同步法”以图5所示的网络为例来进行详细分析说明。图中白色节点为RN+节点,灰色节点为RN-节点,实线代表节点间的父子关系。假如此Zigbee 网络中B 节点要与J 节点实现量子通信,若执行第二步路由发现结束后,F节点(J的父节点)选择的路径是B-A-D-F,也就是B到J的路径是BA-D-F-J。节点F便会代理J发起反向路由建立,同步建立量子信道过程,具体过程如下。
图5 Zigbee网络量子信道建立和传输分析示意图
(1)节点F 生成QRREP 消息,其中打上标记形成的RRF-F字段为“B(0)-A(1)-D(0)-F(1)-J(0)”。
(2)节点F→D 发送QRREP 消息,同时F→J 发送纠缠量子信道建立请求(QCR)消息。节点D收到QRREP消息后查看RRF-F 字段里本地点(即D)的标记值为0,QCR 字段生效,则回复QCR 应答,同时继续沿反向路径向A节点转发QRREP 消息;节点J 收到QCR 消息后也回复QCR应答。
(3)节点F产生纠缠粒子对1和1’分配给节点J和D,J和D收到粒子就进行确认,否则重新发送Q C R消息。
(4)节点A 收到QRREP 消息后查看RRF-F 字段里本地点的标记值为1,QCR字段无效,则不回复QCR应答,而是向节点D发送QCR消息,同时继续沿反向路径向B节点转发QRREP消息;节点D收到QCR消息后回复QCR应答。
(5)节点B收到QRREP消息后查看RRF-F字段里本地点的标记值为0,QCR字段生效,则回复QCR应答。
(6)节点A 产生纠缠粒子对2 和2’分配给节点B和D,B 和D 收到粒子就进行确认,否则重新发送QCR消息。节点D 对收到的粒子1'和2'进行Bell 态测量实现纠缠,节点B和J之间就成功建立了一个量子纠缠信道。
第四步:量子信道建立好后,就可采用量子远程传态完成量子信息传输。节点J通过经典信道给予接收确认,从而节点B完成量子信息传输。
3 协议分析
第2小节对QZBR路由协议相关内容进行了阐述,并对“反向同步法”举例进行分析说明,所举例子源节点为RN+节点,目的节点为RN-节点,路径上中间节点为奇数,如果为偶数,则源节点的下一个节点产生并为自己和源节点分配纠缠粒子对,即假设图5 的路径是A-D-F-J,则产生和分发纠缠粒子对的节点是F 给D和J,D给自己和A。为分析QZBR路由协议“反向同步法”在其他各种情况下的适用性,各种情况分析如表1所示。可以看出,无论源、目的节点是什么类型,无论节点总数是奇数还是偶数,负责产生并分发纠缠粒子对的节点总是收到QCR应答的节点,这些节点数量只与路径上总节点数有关,总节点数是奇数就为(总节点数-1)/2,为偶数就为总节点数/2。说明该路由协议“反向同步法”描述的规则有普遍适用性规律,并可通过是否接受到QCR 应答消息作为控制节点产生并分发纠缠粒子对的判断规则。
表1 “反向同步法”各种情况分析
此外,对QZBR 路由协议“反向同步法”在量子信道建立过程中,经典信道上所需发送的消息数量和所需的时间进行分析。由于情况较多,这里以源节点为RN+节点,目的节点为RN-节点为例,对比聂敏等人[10]研究中的一般方法(反向信道建立后再进行量子信道建立)进行分析。假设路径上节点总数为N,两两节点间的消息传递时间相等,均记为一个时间单位,则再从反向路径建立开始,用一般方法建立量子信道所需的时间单位T由公式(8)所示,建立量子信道所需的消息数量C由式(9)所示。
文章的QZBR路由协议“反向同步法”建立量子信道所需的时间单位T 由式(10)所示,建立量子信道所需的消息数量C由式(11)所示。
两种协议量子信道建立所需时间比较情况如图6所示,可见随着路径节点数的增加,QZBR 路由协议“反向同步法”比一般方法节约时间较为明显。两种协议量子信息建立所需消息数比较如图7 所示,可见随着路径节点数的增加,QZBR 路由协议“反向同步法”比一般方法所需消息数量也较少,且随节点数增加更加显著。
图6 量子信道建立所需时间比较
图7 量子信道建立所需消息数量比较
4 结语
文章将无线传感网的代表性技术Zigbee网络技术与量子通信结合,在Zigbee的ZBR路由算法基础上,提出针对量子通信改进的QZBR 协议,并阐述了实现量子信道建立和量子信息传输的具体过程。QZBR改进协议在路由选择中融入了量子纠缠粒子对数的度量,并改进设计了量子-路由请求分组(QRREQ)消息格式,选出的最优路径综合考虑了传统路由度量和量子信道度量的因素,更有利于保障量子通信的实施。该文还提出了ZBR 路由算法在路由发现结束后采用“反向同步法”进行反向路由建立同步建立量子信道,这比正向路由建立好后再进行量子信道建立节约时间,提高效率。配合“反向同步法”文章改进设计了量子-路由应答分组(QRREP)消息格式,采用路径节点打标记的方法实现纠缠量子信道建立请求(QCR)消息的选择性携带,在一定程度上降低了消息的发送次数,缩减了量子信道建立时间。
由于篇幅限制文章省略了QZBR协议路由维护方面的讨论。此外,文章研究对象仅针对Zigbee 较经典的ZBR 路由协议来讨论,且量子路由度量中只考虑了纠缠粒子对数,对目前许多Zigbee 路由优化协议可按此研究思路和方法与量子通信结合,以满足不同的应用场景和需求。