任 智,任 冬,劉順輝,周 舟
(重慶郵電大學 通信與信息工程學院,重慶 400065)
低壓寬帶電力線通信(broadband power line carrier communication,BPLC)網絡是智能電網[1]和泛在電力物聯網[2]的主要通信媒介。然而,電力線信道存在噪聲干擾[3]、相移[4]以及信號衰減[5],使電力線載波網絡的信號傳輸不穩(wěn)定且有效通信距離[6]僅為數百米。為了提高電力網絡的穩(wěn)定性和可靠性,寬帶電力線載波通信[7]網絡組網和路由建立過程[8]已成為當下研究的熱點。目前,很多學者提出了多種組網算法來優(yōu)化BPLC網絡組網過程。例如,文獻[9]提出一種多約束PLC改進Q學習組網算法,該組網方式需周期性輪換代理,會造成不穩(wěn)定的拓撲結構和較高的網絡開銷。文獻[10,11]提出了類蟻群的PLC組網算法。該類算法存在組網收斂時間長、盲目探索的問題。文獻[12]提出了基于人工蛛網的組網算法,該算法對蛛網中心依賴過高,抗毀能力弱,易造成因中心節(jié)點損壞而網絡重構。文獻[13]提出改進的遺傳算法存在組網收斂時間和時延較大的問題。文獻[14]提出覆蓋優(yōu)先和轉發(fā)優(yōu)先策略,可通過泛洪“入簇消息”會大大增加報文碰撞概率和開銷。IEEE1901.1技術標準[15]提出基于中繼選擇的樹形組網策略,不僅能有效增大電力線通信傳輸距離,而且能讓電力線節(jié)點形成穩(wěn)定的拓撲結構。所以,本文在IEEE1901.1標準基礎上,提出寬帶電力線通信網絡最優(yōu)中繼選擇算法,并對該算法進行網絡仿真驗證。
在寬帶PCL網絡中,定義了中央協(xié)調器(central coordinator,CCO)、代理協(xié)調器(proxy coordinator,PCO)、普通站點(station,STA)3種節(jié)點類型。CCO是BPLC網絡的大腦。PCO是由CCO分配,用來連接STA與CCO的橋節(jié)點。STA是網絡的葉節(jié)點,每個STA都具有PCO的功能,如何選擇STA的PCO是PLC網絡組網和穩(wěn)定運行的關鍵。BPLC組網過程如下:
IEEE1901.1組網機制采用CCO周期性廣播中央信標(central beacon,C-BEACON消息)發(fā)起組網。收到消息的未入網站點把節(jié)點信息裝在關聯請求報文(REQ消息)中,并向CCO單播REQ消息。CCO收到REQ消息后取出節(jié)點地址進行白名單認證。認證成功后向該節(jié)點單播關聯確認報文(ACK消息)。待入網節(jié)點收到ACK消息后表明入網成功,ACK消息中有CCO為入網節(jié)點分配的終端設備標識(terminal equipment identification,TEI)。把在第一輪中所有收到關聯確認消息的終端設為邏輯層1(Layer 1)。一級節(jié)點入網成功后會繼續(xù)廣播BEACON消息觸發(fā)逐層級的PLC站點(STA)發(fā)送網絡接入請求,STA通過信號“信噪比”大小選擇自己的中繼站點PCO,來完成整個中繼組網過程,重復以上過程節(jié)點逐級入網,直至組網完成。組網完成后的PLC網絡是一種多層級的樹狀拓撲,如圖1所示。
圖1 寬帶電力線載波通信網絡拓撲圖
(1)根據IEEE1901技術標準:BPLC網絡信道質量用信噪比數據表示;一個PLC網絡最多允許1024個站點入網;根據關聯報文幀格式,STA站點最大候選代理為5個。
(2)STA具有解析信標幀從報文源節(jié)點到報文接收節(jié)點(該STA)單段鏈路信噪比能力;CCO具備計算相連的多段鏈路形成的整條路徑信噪比的能力;低壓電力線通信鏈路信噪比(signal to noise ratio,SNR)范圍是SNR_min~SNR_max,實際低壓電力線信噪比范圍一般是0 dB~30 dB。信噪比低于SNR_min的發(fā)現信標將不會被下一級站點接收到。
研究發(fā)現,當前BPLC網絡組網時存在以下問題:
(1)選擇代理站點僅僅依據單條鏈路信噪比:當前BPLC組網機制中待入網站點選擇代理站點時只考慮中繼節(jié)點到目的節(jié)點單條鏈路信噪比而未完全考慮中央協(xié)調器到目的節(jié)點整條路徑信噪比。這樣易造成多個節(jié)點選擇單一節(jié)點作為代理站點,使網絡拓撲不均衡。可能會造成報文發(fā)送時因擁堵而碰撞。如圖2所示,STA7收到一級站點STA2、STA3、STA4發(fā)送的BEACON消息,僅判斷了STA2—STA7間鏈路信噪比最大選STA2作為自己的PCO。STA7沒考慮CCO-STA2-STA7整段鏈路信道質量不一定是STA7-CCO路徑間信道質量最好的路徑。很可能STA7-STA3-CCO或STA7-STA3-CCO路徑信道質量更好。
圖2 問題描述
(2)未考慮子站點增加對信道質量的影響:當前組網機制未考慮代理站點此時的網絡連接情況而默認組網過程中鏈路信道質量不變。而實際情況是隨著節(jié)點逐級入網,節(jié)點數量增加,網絡的信道質量和節(jié)點間的報文投遞率都會有一定程度下降。如圖2所示,STA2掛載的子節(jié)點數增多,一定會影響CCO-STA2之間的信道質量和STA2與子站點的報文投遞率。
(3)站點間數據報文傳輸路徑較長:現有機制節(jié)點間的報文傳輸必須通過PCO轉發(fā)至CCO,然后由CCO尋路找到目的站點的PCO,再轉發(fā)給目的節(jié)點。如圖2所示,STA5發(fā)送報文到STA6會經過多跳傳輸,如帶箭頭虛線所示。在網絡規(guī)模更大、節(jié)點層級更高時,該問題更加凸顯。若STA5和STA6間建立以公共代理站點STA2為頂端站點的路由,如圖2帶箭頭實線所示,此路徑不需將傳輸報文上傳至CCO,將會大大降低報文的傳輸時延。
為解決上節(jié)所述的問題,本文提出了寬帶電力線通信網絡最優(yōu)中繼選擇算法,該算法主要包含了BPLC網絡路徑優(yōu)化機制、PCO均衡選擇機制和公共PCO轉發(fā)報文機制3種新機制。
針對問題(1),本文提出一種路徑優(yōu)化機制。其核心思想是:STA通過關聯請求報文攜帶上級站點信噪比信息。CCO計算CCO-候選代理-入網申請節(jié)點整條通信路徑信道質量數據。CCO選擇入網申請節(jié)點到CCO所有路徑中最好鏈路質量所對應的上級節(jié)點為入網申請節(jié)點的最優(yōu)PCO。該機制的操作步驟如下:
步驟1 已入網站點在廣播發(fā)現信標。發(fā)現信標觸發(fā)一跳通信范圍內的未入網鄰居節(jié)點進行入網請求,執(zhí)行步驟2。
步驟2 如果在通信范圍內,節(jié)點會收到信標報文。此時,判斷該節(jié)點是否已經入網,若未入網,則取出信標幀,讀取上級站點TEI和鏈路信噪比信息,執(zhí)行步驟3。如果站點已入網,則在收到鄰居節(jié)點的信標幀,只統(tǒng)計,執(zhí)行結束。
步驟3 STA站點通過收到的多個上級站點發(fā)送的信標幀來獲取節(jié)點TEI和鏈路質量信息組成關聯請求報文。同時站點按照信噪比從大到小順序對上級站點進行排序。執(zhí)行步驟4。
步驟4 改進關聯請求報文幀格式,將保留字段整合形成SNR字段,把各上級節(jié)點信噪比值信息均勻量化后,轉化為12位的二進制數,存入改進后關聯請求報文SNR字段,詳見2.2節(jié)。關聯請求報文攜帶各個上級站點發(fā)現信標中的TEI和信噪比信息,向第一候選代理發(fā)送此關聯請求報文。執(zhí)行步驟5。
步驟5 上級站點收到關聯請求消息后判斷自己的節(jié)點屬性是否為CCO,如果不是,則繼續(xù)向上級代理發(fā)送,直到轉發(fā)至CCO。如果是,獲取關聯請求消息中的信息。執(zhí)行步驟6。
步驟6 CCO收到待入網節(jié)點發(fā)送的關聯請求報文,取出STA MAC Address字段進行白名單驗證,如果該節(jié)點地址在白名單內,則白名單驗證成功,轉步驟7。如果CCO白名單地址信息中無申請入網節(jié)點的地址,則該申請節(jié)點不是該PLC網絡的站點,白名單驗證失敗,執(zhí)行結束。
步驟7 CCO依次取出關聯請求報文中的TEI和對應SNR字段,設終端設備TEI(i)對應的SNR值為SNR(i),檢測SNR(i)的值是否隨i增大而減小。若是,轉步驟8。反之,執(zhí)行結束。
步驟8 CCO獲取本身到TEI(i)通信路徑的信噪比值SNR(j),此值在TEI(i)節(jié)點入網時已由CCO計算所得,并保存在信道質量表中。轉步驟9。
步驟9 計算CCO經TEI(i)路徑到入網申請節(jié)點完整路徑信噪比SNR(ji),如式(1)所示,轉步驟10
(1)
步驟10 CCO統(tǒng)計經過每個TEI對應站點到達申請入網站點完整路徑的SNR(ji)值。轉步驟11。
步驟11 將CCO到達各個入網申請節(jié)點的SNR(ji)進行排序,選出其中最大路徑信噪比。轉步驟12。
步驟12 判斷最大SNR(ji)對應的TEI和原鏈路最大信噪比SNR(0)對應的TEI是否一致。若不一致,則CCO將最大SNR(ji)對應TEI字段對應的代理作為入網申請節(jié)點的PCO。若一致,則將第一候選代理作為入網申請節(jié)點的PCO。轉步驟13。
步驟13 CCO生成關聯確認報文,報文格式和IEEE1901.1技術標準一致。CCO把關聯請求報文STA MAC Address字段的地址存入關聯確認報文的STA MAC Address字段。將CCO的MAC地址存進關聯確認報文的CCO MAC Address字段。轉步驟14。
步驟14 CCO為申請入網站點分配TEI,存放到關聯確認報文的TEI字段中。將步驟12中入網申請節(jié)點PCO的TEI存入關聯確認報文Proxy TEI字段。轉步驟15。
步驟15 CCO更新路由表,更新入網申請節(jié)點路徑信噪比信息。CCO向最大SNR(ji)路徑發(fā)送關聯確認報文。PCO收到關聯確認報文后更新自己身份為PCO,然后將關聯確認報文轉發(fā)給入網申請節(jié)點,節(jié)點入網申請成功。
根據IEEE1901.1技術標準,關聯請求報文幀格式如圖3所示??梢钥闯觯宏P聯請求報文幀大小64 Bytes。其中前6字節(jié)為STA MAC Address,是用于待入網站點填寫該節(jié)點的MAC地址。第6字節(jié)到第15字節(jié)用于待入網站點填寫候選代理TEI(不大于5個)。其它字段為保留字段和缺省字段,本文暫不討論。
圖3 關聯請求報文幀格式
對REQ消息的改進思路是將TEI0-TEI5字段中12 bit中的后兩位分配給SNR字段,然后整合報文中其它保留字段。將原本TEI0-TEI5后的保留字段由4 bit增加到12 bit,形成12 bit的SNR字段。這是為了在不增加REQ消息幀大小時能為各TEI增加的最大SNR字段。目的是為了在該字段裝填更加精確的信噪比信息。改進后缺省字段大小保持不變,REQ消息幀的大小不變。改進后的REQ消息幀格式如圖4所示。
圖4 改進的關聯請求報文幀格式
(2)
量化區(qū)間的端點如式(3)所示
mi=SNR_min+i*Δv
(3)
若量化輸出電平qi取量化間隔的中點,則qi如式(4)所示
(4)
則量化精度n如式(5)所示
n=|SNR-qi|
(5)
鏈路信噪比量化區(qū)間j如式(6)所示
(6)
針對問題(2),本文提出一種PCO均衡選擇機制。其核心思想是:每個節(jié)點都要周期性發(fā)送的發(fā)現信標報文,統(tǒng)計不同上級節(jié)點與已入網下級節(jié)間的報文通信成功率,如果代理站點的子節(jié)點增加,會影響原PCO和子節(jié)點之間的信道質量,使站點間發(fā)現信標丟包率上升,通信成功率下降。STA選擇報文通信成功率更高的代理作為自己的新PCO,這樣增加了節(jié)點入網成功率,使每個代理下的子站點分布均衡。新機制受用范圍:受用于除CCO以外的已入網節(jié)點,此時仍有下級節(jié)點未入網。新機制的具體操作步驟如下:
步驟1 入網節(jié)點周期性發(fā)送發(fā)現信標,根據IEEE1901.1技術標準,發(fā)現信標中攜帶著路徑最低通信成功率字段。
步驟2 下級收到發(fā)現信標,節(jié)點判斷是否入網,如果未入網,進行入網申請?zhí)幚?,如果?jié)點已入網,只統(tǒng)計該站點PCO和其它上級站點發(fā)送的發(fā)現信標報文信息,不進行處理。
步驟3 統(tǒng)計發(fā)現報文傳輸投遞率Pb。如式(7)所示
(7)
式中:Num是節(jié)點入網后收到某個上級節(jié)點發(fā)送的發(fā)現信標報文,Tsim為當前時刻,Tnet是統(tǒng)計節(jié)點入網成功時刻,T是信標周期。
步驟4 判斷站點與PCO報文傳輸投遞率P_Pb和站點與其它上級站點報文傳輸投遞率S_Pb大小關系,如果有其它上級站點與站點間S_Pb大于P_Pb,STA進行代理變更處理,則在轉發(fā)下級站點關聯請求報文時,將代理變更信息加入報文傳送給新代理站點轉發(fā)給CCO,CCO向入網申請節(jié)點回復關聯確認報文時,關聯確認報文同樣會通過新代理轉發(fā)給該站點然后轉發(fā)給入網申請站點。如果沒有,不進行處理。
步驟5 當代理站點和子站點發(fā)現報文投遞率小于最低通信成功率Pmin,則刪除這條路由。PCO均衡選擇機制流程如圖5所示。
圖5 PCO均衡選擇機制流程
針對問題(3),本文提出一種公共PCO轉發(fā)機制。其核心思想是:當STA站點的目的站點是另一個STA站點。在傳輸數據報文時,如果源節(jié)點和目的節(jié)點或者二者的上級節(jié)點有公共的PCO,可以利用公共PCO轉發(fā)該數據報文到目的站點。那么報文就不用上傳到CCO,再由CCO尋找到目的站點的路由。本機制減輕了CCO的處理負擔,降低了網絡的控制開銷和傳輸時延。該機制的具體操作步驟如下:
步驟1 葉節(jié)點A生成一個源地址是A,目的地址是葉節(jié)點B數據報文,并向自己的PCO發(fā)送。
步驟2 A的PCO查詢自己的路由表,看是否有到達節(jié)點B的路由。如果沒有,則將數據報文轉發(fā)給自己的PCO。如此循環(huán),直到傳送給CCO,說明A、B節(jié)點沒有公共的PCO,此時就和原機制一樣經過CCO尋路。
步驟3 如果A的PCO或者其上行傳輸路徑中的任何PCO查詢到有到節(jié)點B的路由,由該PCO獲取數據報文,不必繼續(xù)上行傳輸到CCO,直接根據路由信息下行尋路,按路由表查詢的地址發(fā)送給下一節(jié)點。
步驟4 公共PCO或者CCO轉發(fā)數據報文,接收站點獲取報文目的地址看是否是自己的地址,如果不是,則根據路由表繼續(xù)尋路,直到找到B節(jié)點。如果是B節(jié)點,則數據報文傳輸成功。公共PCO轉發(fā)機制流程如圖6所示。
圖6 公共PCO轉發(fā)機制流程
本文使用OPNET 14.5仿真工具對最優(yōu)中繼選擇算法、文獻[14]、IEEE1901.1技術標準進行仿真驗證。通過改變BPLC網絡節(jié)點數量比較這3種組網算法平均端對端時延、組網控制開銷、數據傳輸成功率的性能。仿真主要參數見表1。
表1 主要仿真參數
3.2.1 組網平均端對端時延
組網平均端對端時延是反映節(jié)點入網效率的重要性能指標。組網平均端對端時延計算如式(8)所示
(8)
式中:Tb(i)、Tr(i)、Ta(i)分別表示第i個節(jié)點發(fā)送和轉發(fā)Beacon幀、Req消息幀、Ack消息幀的端對端時延。3種算法的平均端對端時延如圖7所示。
圖7 組網平均端對端時延
由圖7可知,在節(jié)點個數較小時,3種算法的平均組網時延基本一致,3種算法組網平均端對端時延隨著網絡場景中節(jié)點數的增多而逐漸增加且差距也逐漸增大,其中最優(yōu)中繼選擇算法相對于其它兩種算法吞吐量最低。經過計算可知:最優(yōu)中繼選擇算法在不同節(jié)點的場景中平均組網時延比IEEE1901.1標準平均縮短了11.36%,比文獻[14]算法平均縮短了26.79%。
其主要原因是:當節(jié)點數量較少時,對一級站點回復都采用單播方式,還未觸發(fā)BPLC網絡路徑優(yōu)化機制,其次,網絡拓撲每級節(jié)點僅有一個PCO可以選擇,PCO均衡選擇機制也未觸發(fā)。同時,信道資源充沛,控制報文不會發(fā)生碰撞或重發(fā),故3種算法時延都較小且相差不大。隨著節(jié)點增加,最優(yōu)中繼選擇算法采用BPLC網絡路徑優(yōu)化機制改善了信道質量的判斷方法,通過選擇了最合適的報文通信路徑來減少了端對端時延。PCO均衡選擇機制選擇了更優(yōu)的代理站點,幾乎避免了多個節(jié)點掛載在同一PCO下造成的報文重發(fā)而導致時延升高。所以,最優(yōu)中繼選擇算法使節(jié)點分布更均衡,從而減少了組網是平均端對端時延。
3.2.2 組網控制開銷
控制開銷是指BPLC網絡組網過程所有節(jié)點發(fā)送控制報文的總比特數。在BPLC網絡中主要有信標報文、關聯請求報文、關聯確認報文3種。BPLC控制開銷C的計算如式(9)所示
C=M1*n1+M2*n2+M3*n3
(9)
式中:M1、M2、M3分別為組網過程3種報文幀大小,n1、n2、n3為3種報文發(fā)送數量。3種算法組網控制開銷如圖8所示。
圖8 組網控制開銷
由圖8可知,3種算法的控制開銷都隨節(jié)點個數的增加而上升。文獻[14]控制開銷比其它兩種算法大很多,而最優(yōu)中繼選擇算法組網控制開銷最低。經過計算可知:最優(yōu)中繼選擇算法不同節(jié)點場景中比IEEE1901.1標準平均降低了9.02%,比文獻[14]算法平均減少了21.16%。
其主要原因是:每個入網節(jié)點越多,所需組網的控制報文越多,網絡控制開銷也就越大。因為文獻[14]需要大量控制消息遍歷每一條路徑信道質量,所以此組網方式的網絡控制開銷很大。最優(yōu)中繼選擇算法通過保留字段攜帶信噪比信息在沒有增加控制開銷的同時減少了控制報文因碰撞而重發(fā)的概率,降低了組網的控制開銷。
3.2.3 數據傳輸成功率
數據傳輸成功率反映了BPLC網絡的穩(wěn)定性和可靠性,也是判斷組網效率的重要性能指標。數據傳輸成功率計算如式(10)所示
(10)
式中:n代表網絡場景節(jié)點數,Xi代表第i個節(jié)點發(fā)送的數據報文個數,Yi代表第i個節(jié)點目的節(jié)點收到數據報文個數。3種算法的數據傳輸成功率如圖9所示。
圖9 數據傳輸成功率
由圖9可知,在節(jié)點數較少時,3種算法的數據傳輸成功率都很高。隨著節(jié)點個數的增加,數據傳輸成功率都隨節(jié)點個數增加而逐漸下降,然而三者下降幅度卻大相徑庭。文獻[14]和IEEE1901.1標準下降幅度較大,而最優(yōu)中繼選擇算法即使在節(jié)點個數較高的場景下也能保證較高的數據傳輸成功率。
其主要原因是:文獻[14]采用遍歷所有路徑方式進行入網,在有多個節(jié)點申請入網的情況下,加劇了網絡的擁堵。IEEE1901.1采用單鏈路信噪比選擇PCO易造成多個入網站點選擇同一PCO進行。同時,節(jié)點在向其它節(jié)點發(fā)送數據報文時會逐級發(fā)送到CCO尋路,大大增加了上級鏈路和節(jié)點的處理壓力,且在節(jié)點數多時更明顯。最優(yōu)中繼選擇算法機制在未增加多余控制開銷的情況下通過查找最合適的通信路徑和選擇最合適PCO加快了組網速度,使站點分布更均衡、網絡更穩(wěn)定。同時,公共PCO轉發(fā)機制利用源節(jié)點和目的節(jié)點公共的PCO轉發(fā)數據報文,不用把所有的數據都交給CCO處理,不僅縮短了數據報文的傳輸路徑,而且減輕了高層級節(jié)點的處理壓力,所以數據傳輸效率和成功率更高。
針對現有寬帶電力線通信網絡節(jié)點在入網時只判斷單級鏈路質量選擇中繼節(jié)點,導致網絡拓撲不均衡等問題。提出一種適用于多層級樹狀BPLC網絡中最優(yōu)代理節(jié)點選擇算法。通過關聯請求報文攜帶候選代理站點與鏈路信噪比信息,判斷從入網申請站點到中央控制器完整鏈路中的最優(yōu)鏈路來選擇更合適的代理站點??紤]節(jié)點增加對信道質量的影響,利用公共PCO轉發(fā)數據報文到目的站點。仿真結果表明最優(yōu)中繼選擇算法為入網節(jié)點選擇了最優(yōu)的中繼節(jié)點,有效降低了BPLC網絡的控制開銷和時延。為今后研究多BPLC網絡組網問題做了鋪墊。