張凌
(云南大學(xué)滇池學(xué)院 云南昆明 650228)
量子信息技術(shù)在數(shù)據(jù)處理、信息容量、安全性能、通信傳輸?shù)确矫嫱黄屏私?jīng)典通信技術(shù)的極限,已成為通信與信息領(lǐng)域發(fā)展的新趨勢。
其中,在量子通信方案里,采用量子糾纏交換[1]技術(shù)通過量子隱形傳態(tài)[2]實現(xiàn)遠程中繼量子通信。量子糾纏交換技術(shù)將兩個沒有處于糾纏態(tài)的粒子,通過處于糾纏的粒子進行作用,使這兩個沒有處于糾纏的粒子轉(zhuǎn)化為糾纏態(tài)[3],可擴大量子通信網(wǎng)絡(luò)信息傳送范圍。量子隱形傳態(tài)在進行量子信息傳送時,利用糾纏粒子建立起量子信道,然后通過量子測量和還原的方式進行信息傳遞。
目前,無線傳感網(wǎng)感知層的通信技術(shù)主要有Zigbee、藍牙、射頻識別技術(shù)(Radio Freqnency Identificationg,RFID)、NFC、Wi-Fi、UWB(Ultra Wideband)等。其中Zigbee 因具有低功耗、低成本、低復(fù)雜度、高安全等優(yōu)勢應(yīng)用較為廣泛,適合大規(guī)模、低速率無線傳感網(wǎng)的建立。
因此,將Zigbee網(wǎng)絡(luò)技術(shù)與量子通信結(jié)合,對無線傳感網(wǎng)實現(xiàn)量子信息傳送具有代表意義。文章在Zigbee網(wǎng)絡(luò)的ZBR(ZigBee Routing)路由算法上提出針對量子通信改進的QZBR(Quantum-ZigBee Routing)協(xié)議,增加有關(guān)量子通信方面的度量因素改進路由度量和最優(yōu)路徑選擇,使路由選擇對量子信道建立和通信更有針對性和有效性,并在量子信道建立過程中采用了“反向同步法”[4],節(jié)約時間,減少消息數(shù)量,提高效率。文章對QZBR協(xié)議實現(xiàn)量子信道建立和量子信息傳輸?shù)木唧w方法、內(nèi)容、步驟和涉及的相關(guān)消息格式等進行了闡述,并通過協(xié)議性能分析驗證了QZBR 協(xié)議反向同步法在節(jié)約時間,減少消息數(shù)量方面的優(yōu)勢。
Zigbee 協(xié)議中ZBR 算法結(jié)合了兩種路由算法,分別是簡化版按需距離矢量路由算法(Ad-Hoc On-Demand Distance Vector jr,AODVjr算法)和樹型網(wǎng)絡(luò)結(jié)構(gòu)路由算法(Cluster-Tree算法)。
AODVjr算法是AODV算法的簡化算法,只有在路由節(jié)點接到數(shù)據(jù)包,且該數(shù)據(jù)包的目的地址不在此路由節(jié)點的路由表中時才會進行路由發(fā)現(xiàn),所以路由表中的內(nèi)容是按需建立的。
Cluster-Tree 算法包括地址分配與尋址路由兩部分[5]。地址分配是指子節(jié)點的16 位網(wǎng)絡(luò)短地址,尋址路由是根據(jù)目的節(jié)點的網(wǎng)絡(luò)地址來計算下一跳的路由。
Zigbee 網(wǎng)絡(luò)中將節(jié)點分為兩類:RN+和RN-。其中RN+是指具有足夠的存儲空間和能力執(zhí)行AODVjr路由協(xié)議的節(jié)點,RN-是指其存儲空間受限,不具有執(zhí)行AODVjr路由協(xié)議能力的節(jié)點,RN-收到一個分組后只能用Cluster-Tree算法處理[5]。ZigBee執(zhí)行ZBR算法方式為先按Cluster-Tree 算法給入網(wǎng)節(jié)點分配16 位網(wǎng)絡(luò)短地址,形成樹形結(jié)構(gòu)的父子關(guān)系,然后讓具有路由功能的節(jié)點(RN+)使用AODVjr去發(fā)現(xiàn)路由,即它們可以直接發(fā)送信息到其通信范圍內(nèi)的其他RN+節(jié)點,而不具有路由功能的節(jié)點(RN-)使用Cluster-Tree 路由發(fā)送分組。這種方式既發(fā)揮了AODVjr路由效率高、功耗低的優(yōu)點,又結(jié)合Cluster-Tree算法使不具有路由功能的節(jié)點可通過各自父節(jié)點間的通信收發(fā)分組。
由于量子通信過程進行量子態(tài)傳送會消耗糾纏粒子對[6]。為了避免通信路徑上節(jié)點間糾纏粒子數(shù)過少,導(dǎo)致通信不穩(wěn)定問題,在目的節(jié)點進行路徑選優(yōu)時,增加考慮通信節(jié)點間的糾纏粒子數(shù)[3]對通信的影響。
傳統(tǒng)的AODVjr算法中,目的節(jié)點是以最先到達的路由請求分組(Route Request,RREQ)消息作為路徑選擇依據(jù)[5],也可優(yōu)化其路由度量綜合考慮跳數(shù)、傳播時延、鏈路質(zhì)量等因素[7]。而文章的路由選擇要考慮針對量子通信,因此增加對量子隱形傳態(tài)信道建立的關(guān)鍵因素糾纏粒子對數(shù)的度量。以糾纏粒子對數(shù)目為路由度量的計算方法式(1)所示。
式(1)中,fi為目的節(jié)點接收到的第i條通信路徑的路由度量,n為目的節(jié)點接收到的有效(滿足一定限定條件)路徑數(shù)量,Ej是第j個節(jié)點和第j+1個節(jié)點間共享的糾纏粒子對數(shù)量[3]。
在實際計算中可以采用相對比值方式計算,如式(2)所示。
式(2)中,N為網(wǎng)絡(luò)中最大糾纏粒子對數(shù),為方便各節(jié)點獲得該值可以對該值進行初始設(shè)定,全網(wǎng)統(tǒng)一為某一指定值。
最后在所有路徑中選擇路由度量最大的那條,即式(3)所示[3]。
根據(jù)上述思路,下面以圖1 所示的Zigbee 網(wǎng)絡(luò)為例來進行分析。圖中A~F 都為RN+節(jié)點,虛線為量子信道,虛線上數(shù)字代表分配的糾纏粒子對數(shù)量。若節(jié)點B 要和F 通信,節(jié)點B 進行路由發(fā)現(xiàn)廣播RREQ 消息,假如在一定限定條件下,有兩條RREQ消息到達節(jié)點F,其中最先到達的路徑為B-E-F,其次是B-E-DF。如果按傳統(tǒng)AODVjr算法以最先到達的RREQ消息為路由度量,則應(yīng)選擇路徑B-E-F,但若考慮針對量子通信改進的路由度量,設(shè)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。這種方式選擇的最優(yōu)路徑將更能滿足量子通信的特點和需求,均衡了網(wǎng)絡(luò)中糾纏粒子的消耗。
圖1 Zigbee網(wǎng)絡(luò)量子通信示意圖
實際應(yīng)用中,可以根據(jù)網(wǎng)絡(luò)性能需求,對傳統(tǒng)路由度量和考慮量子通信的路由度量兩塊進行權(quán)值配比,且傳統(tǒng)度量和量子度量里的計算因子也可根據(jù)不同場景和需求進行選擇和增減,這里僅考慮了最基本的因素,制定了一個基本思路,實際應(yīng)用可進行拓展和完善。
第一步:按Cluster-Tree算法給入網(wǎng)節(jié)點動態(tài)分配16 位網(wǎng)絡(luò)短地址,用于路由機制和網(wǎng)絡(luò)中的數(shù)據(jù)傳輸。
按照范立南等人研究的《物聯(lián)網(wǎng)通信技術(shù)及應(yīng)用》[5]分配原則為:組建網(wǎng)絡(luò)的協(xié)調(diào)器節(jié)點(一個Zigbee網(wǎng)絡(luò)有且僅有一個)短地址為0,網(wǎng)絡(luò)深度為0;每個父節(jié)點最多可連接C個子節(jié)點,這些子節(jié)點中最多可以有R個路由節(jié)點,網(wǎng)絡(luò)的最大深度為L,Cskip( )d是網(wǎng)絡(luò)深度為d的父節(jié)點為其子節(jié)點分配的地址之間的偏移量,其計算如式(4)所示。
當(dāng)Cskip(d)等于0 時,說明父節(jié)點不具備為其他子節(jié)點分配地址的能力,也即它不能讓別的節(jié)點通過它加入網(wǎng)絡(luò)。當(dāng)Cskip(d)大于0 時,說明父節(jié)點可接受其他節(jié)點為其子節(jié)點并為子節(jié)點分配網(wǎng)絡(luò)地址。為終端節(jié)點分配地址與為路由節(jié)點分配地址不同,若父節(jié)點的地址為AP,則第i個與之關(guān)聯(lián)的路由子節(jié)點地址Ai由式(5)計算,第n個與之關(guān)聯(lián)的終端子節(jié)點地址An由式(6)計算。
例如如圖2所示的Zigbee網(wǎng)絡(luò),節(jié)點A~J的字母順序為節(jié)點加入網(wǎng)絡(luò)的順序,A是協(xié)調(diào)器節(jié)點,圖中實線表示節(jié)點入網(wǎng)的父子關(guān)系,設(shè)定好R、C值和節(jié)點類型(路由節(jié)點或終端節(jié)點)后,則按上面的原則可以計算出每個節(jié)點的短地址,建立起父子關(guān)系。
圖2 Zigbee網(wǎng)絡(luò)量子通信示意圖
第二步:路由發(fā)現(xiàn)。
這里先說明一下ZBR 路由算法中Cluster-Tree 路由算法的使用。網(wǎng)絡(luò)中源節(jié)點是 RN-節(jié)點需要發(fā)送分組給某個節(jié)點時,使用Cluster-Tree 算法,即將分組交給其父節(jié)點 RN+節(jié)點,由父節(jié)點使用AODVjr 去發(fā)現(xiàn)路由,同理,若目的節(jié)點是RN-節(jié)點,路由請求(Route Request,RREQ)消息到達其父節(jié)點時,父節(jié)點使用Cluster-Tree算法判斷目的節(jié)點是否為其子節(jié)點,若是則回復(fù)路由應(yīng)答(Route Reply,RREP)消息。Cluster-Tree 尋址路由算法判斷父子關(guān)系的基本方法是當(dāng)一個網(wǎng)絡(luò)地址為X,網(wǎng)絡(luò)深度為d的路由節(jié)點(RN+)收到目的地址為Y的轉(zhuǎn)發(fā)數(shù)據(jù)包時,路由節(jié)點首先要判斷目的地址Y是否為自身的一個子節(jié)點,若地址Y滿足式(7),則Y地址節(jié)點是X地址節(jié)點的一個子節(jié)點;否則就不是。
網(wǎng)絡(luò)中RN+節(jié)點需要發(fā)送分組到某個節(jié)點而又沒有通往該目的節(jié)點的有效路由表條目時,就會發(fā)起路由發(fā)現(xiàn)過程。由1.2節(jié)所述內(nèi)容可知,結(jié)合了量子通信的路由度量讓目的節(jié)點需要知道該路徑上各路段的最小糾纏粒子數(shù)fi,該信息需要由RREQ 分組來攜帶,因此該文針對量子通信設(shè)計了考慮量子度量的量子-路由請求分組(Quantum Route Request,QRREQ)消息格式,如圖3所示。
圖3 量子路由請求分組(QRREQ)消息格式
這個RN+節(jié)點創(chuàng)建并向周圍廣播一個QRREQ 分組,如果收到QRREQ 的節(jié)點是一個RN-節(jié)點,則按上面講的Cluster-Tree 算法轉(zhuǎn)發(fā)此分組;如果收到QRREQ 的是一個RN+節(jié)點,判斷自己是否為目的節(jié)點,如果不是,根據(jù)路由請求ID 判斷當(dāng)前節(jié)點收到的QRREQ 消息是否為重復(fù)消息,重復(fù)則丟棄此條QRREQ 并結(jié)束此次操作,如果不重復(fù),當(dāng)前節(jié)點將會查看與上一跳節(jié)點間的糾纏粒子數(shù)Ej,與QRREQ消息里的fi比較出大值更新fi,將該節(jié)點地址設(shè)為“上一跳節(jié)點地址”,并對路由度量進行更新,同時將該節(jié)點地址加到路由記錄域(Route Record Field, RRF)的隊尾[8]。之后,當(dāng)前節(jié)點將更新后的QRREQ 消息繼續(xù)向周圍節(jié)點廣播,重復(fù)執(zhí)行以上操作。
當(dāng)目的節(jié)點是RN+節(jié)點,收到QRREQ 消息,由于到達目的節(jié)點的QRREQ消息可能不止一條,對于滿足一定限制條件的QRREQ消息,目的節(jié)點會對這些滿足條件的QRREQ消息(RRF對應(yīng)不同路徑)進行選擇,按1.2節(jié)所述原則選擇出路由度量小且fi大的路徑。當(dāng)目的節(jié)點是RN-節(jié)點,則由其父節(jié)點來執(zhí)行上面操作。
第三步:“反向同步法”進行反向路由建立,同步建立量子信道。該步驟是Zigbee網(wǎng)絡(luò)ZBR路由算法針對量子通信而進行的改進。
當(dāng)選定最優(yōu)路徑后,目的節(jié)點(RN-節(jié)點由其父節(jié)點代理)會沿著RRF 中記載的路徑,反向向源節(jié)點以單播方式發(fā)送一條路由應(yīng)答消息,當(dāng)中間節(jié)點收到該應(yīng)答消息后即知道自己被選為了路由節(jié)點[9]。源節(jié)點收到應(yīng)答消息后將根據(jù)RRF中記載的路徑發(fā)起通信。
由于目的節(jié)點(RN-節(jié)點為其父節(jié)點)在第二步結(jié)束時就已經(jīng)知道路由路徑了,因此在上述反向路徑建立的同時,目的節(jié)點(RN-節(jié)點為其父節(jié)點)就可以同步發(fā)起量子信道建立過程。即目的節(jié)點(RN-節(jié)點為其父節(jié)點)沿著已選中的路徑,單播發(fā)送量子-路由應(yīng)答消息(QRREP),該消息為RREP 消息格式中增加了“標記的路由記錄域(RRF-Flag,RRF-F)”字段和“糾纏量子信道請求(Quantum Channel Request,QCR)”消息字段[4],如圖4所示,其中RRF-F為目的節(jié)點(RN-節(jié)點為其父節(jié)點)選出的RRF 路徑節(jié)點打上0 或1 標記后的路徑。打標記的原則為:實際的目的節(jié)點(可能是RN+或RN-)總是0,然后沿反向路徑節(jié)點依次為1、0、1……打標記的目的是反向路徑上收到QRREP消息的節(jié)點可根據(jù)標記值來決定是否讀取QCR 字段,為0 則QCR 字段生效、讀取,為1 則無效、忽略不讀取。收到QCR消息的節(jié)點就回復(fù)QCR應(yīng)答消息,收到QCR應(yīng)答消息的節(jié)點將產(chǎn)生糾纏粒子對并分發(fā)。
圖4 量子-路由應(yīng)答分組(QRREP)消息格式
反向路徑中的節(jié)點收到QRREP 消息即獲知該節(jié)點已經(jīng)作為所選路徑中的節(jié)點,將立即進行量子信道建立過程。而不必等待應(yīng)答消息到達源節(jié)點完成正向路由建立后再發(fā)起量子信道建立,達到節(jié)約時間提高效率的目的。
下面對第三步所述的“反向同步法”以圖5所示的網(wǎng)絡(luò)為例來進行詳細分析說明。圖中白色節(jié)點為RN+節(jié)點,灰色節(jié)點為RN-節(jié)點,實線代表節(jié)點間的父子關(guān)系。假如此Zigbee 網(wǎng)絡(luò)中B 節(jié)點要與J 節(jié)點實現(xiàn)量子通信,若執(zhí)行第二步路由發(fā)現(xiàn)結(jié)束后,F(xiàn)節(jié)點(J的父節(jié)點)選擇的路徑是B-A-D-F,也就是B到J的路徑是BA-D-F-J。節(jié)點F便會代理J發(fā)起反向路由建立,同步建立量子信道過程,具體過程如下。
圖5 Zigbee網(wǎng)絡(luò)量子信道建立和傳輸分析示意圖
(1)節(jié)點F 生成QRREP 消息,其中打上標記形成的RRF-F字段為“B(0)-A(1)-D(0)-F(1)-J(0)”。
(2)節(jié)點F→D 發(fā)送QRREP 消息,同時F→J 發(fā)送糾纏量子信道建立請求(QCR)消息。節(jié)點D收到QRREP消息后查看RRF-F 字段里本地點(即D)的標記值為0,QCR 字段生效,則回復(fù)QCR 應(yīng)答,同時繼續(xù)沿反向路徑向A節(jié)點轉(zhuǎn)發(fā)QRREP 消息;節(jié)點J 收到QCR 消息后也回復(fù)QCR應(yīng)答。
(3)節(jié)點F產(chǎn)生糾纏粒子對1和1’分配給節(jié)點J和D,J和D收到粒子就進行確認,否則重新發(fā)送Q C R消息。
(4)節(jié)點A 收到QRREP 消息后查看RRF-F 字段里本地點的標記值為1,QCR字段無效,則不回復(fù)QCR應(yīng)答,而是向節(jié)點D發(fā)送QCR消息,同時繼續(xù)沿反向路徑向B節(jié)點轉(zhuǎn)發(fā)QRREP消息;節(jié)點D收到QCR消息后回復(fù)QCR應(yīng)答。
(5)節(jié)點B收到QRREP消息后查看RRF-F字段里本地點的標記值為0,QCR字段生效,則回復(fù)QCR應(yīng)答。
(6)節(jié)點A 產(chǎn)生糾纏粒子對2 和2’分配給節(jié)點B和D,B 和D 收到粒子就進行確認,否則重新發(fā)送QCR消息。節(jié)點D 對收到的粒子1'和2'進行Bell 態(tài)測量實現(xiàn)糾纏,節(jié)點B和J之間就成功建立了一個量子糾纏信道。
第四步:量子信道建立好后,就可采用量子遠程傳態(tài)完成量子信息傳輸。節(jié)點J通過經(jīng)典信道給予接收確認,從而節(jié)點B完成量子信息傳輸。
第2小節(jié)對QZBR路由協(xié)議相關(guān)內(nèi)容進行了闡述,并對“反向同步法”舉例進行分析說明,所舉例子源節(jié)點為RN+節(jié)點,目的節(jié)點為RN-節(jié)點,路徑上中間節(jié)點為奇數(shù),如果為偶數(shù),則源節(jié)點的下一個節(jié)點產(chǎn)生并為自己和源節(jié)點分配糾纏粒子對,即假設(shè)圖5 的路徑是A-D-F-J,則產(chǎn)生和分發(fā)糾纏粒子對的節(jié)點是F 給D和J,D給自己和A。為分析QZBR路由協(xié)議“反向同步法”在其他各種情況下的適用性,各種情況分析如表1所示。可以看出,無論源、目的節(jié)點是什么類型,無論節(jié)點總數(shù)是奇數(shù)還是偶數(shù),負責(zé)產(chǎn)生并分發(fā)糾纏粒子對的節(jié)點總是收到QCR應(yīng)答的節(jié)點,這些節(jié)點數(shù)量只與路徑上總節(jié)點數(shù)有關(guān),總節(jié)點數(shù)是奇數(shù)就為(總節(jié)點數(shù)-1)/2,為偶數(shù)就為總節(jié)點數(shù)/2。說明該路由協(xié)議“反向同步法”描述的規(guī)則有普遍適用性規(guī)律,并可通過是否接受到QCR 應(yīng)答消息作為控制節(jié)點產(chǎn)生并分發(fā)糾纏粒子對的判斷規(guī)則。
表1 “反向同步法”各種情況分析
此外,對QZBR 路由協(xié)議“反向同步法”在量子信道建立過程中,經(jīng)典信道上所需發(fā)送的消息數(shù)量和所需的時間進行分析。由于情況較多,這里以源節(jié)點為RN+節(jié)點,目的節(jié)點為RN-節(jié)點為例,對比聶敏等人[10]研究中的一般方法(反向信道建立后再進行量子信道建立)進行分析。假設(shè)路徑上節(jié)點總數(shù)為N,兩兩節(jié)點間的消息傳遞時間相等,均記為一個時間單位,則再從反向路徑建立開始,用一般方法建立量子信道所需的時間單位T由公式(8)所示,建立量子信道所需的消息數(shù)量C由式(9)所示。
文章的QZBR路由協(xié)議“反向同步法”建立量子信道所需的時間單位T 由式(10)所示,建立量子信道所需的消息數(shù)量C由式(11)所示。
兩種協(xié)議量子信道建立所需時間比較情況如圖6所示,可見隨著路徑節(jié)點數(shù)的增加,QZBR 路由協(xié)議“反向同步法”比一般方法節(jié)約時間較為明顯。兩種協(xié)議量子信息建立所需消息數(shù)比較如圖7 所示,可見隨著路徑節(jié)點數(shù)的增加,QZBR 路由協(xié)議“反向同步法”比一般方法所需消息數(shù)量也較少,且隨節(jié)點數(shù)增加更加顯著。
圖6 量子信道建立所需時間比較
圖7 量子信道建立所需消息數(shù)量比較
文章將無線傳感網(wǎng)的代表性技術(shù)Zigbee網(wǎng)絡(luò)技術(shù)與量子通信結(jié)合,在Zigbee的ZBR路由算法基礎(chǔ)上,提出針對量子通信改進的QZBR 協(xié)議,并闡述了實現(xiàn)量子信道建立和量子信息傳輸?shù)木唧w過程。QZBR改進協(xié)議在路由選擇中融入了量子糾纏粒子對數(shù)的度量,并改進設(shè)計了量子-路由請求分組(QRREQ)消息格式,選出的最優(yōu)路徑綜合考慮了傳統(tǒng)路由度量和量子信道度量的因素,更有利于保障量子通信的實施。該文還提出了ZBR 路由算法在路由發(fā)現(xiàn)結(jié)束后采用“反向同步法”進行反向路由建立同步建立量子信道,這比正向路由建立好后再進行量子信道建立節(jié)約時間,提高效率。配合“反向同步法”文章改進設(shè)計了量子-路由應(yīng)答分組(QRREP)消息格式,采用路徑節(jié)點打標記的方法實現(xiàn)糾纏量子信道建立請求(QCR)消息的選擇性攜帶,在一定程度上降低了消息的發(fā)送次數(shù),縮減了量子信道建立時間。
由于篇幅限制文章省略了QZBR協(xié)議路由維護方面的討論。此外,文章研究對象僅針對Zigbee 較經(jīng)典的ZBR 路由協(xié)議來討論,且量子路由度量中只考慮了糾纏粒子對數(shù),對目前許多Zigbee 路由優(yōu)化協(xié)議可按此研究思路和方法與量子通信結(jié)合,以滿足不同的應(yīng)用場景和需求。