蘇俊基,楊龍祥,朱樂恒
(南京郵電大學(xué) 通信與信息工程學(xué)院,江蘇 南京 210003)
隨著互聯(lián)網(wǎng)的快速發(fā)展,網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)目日益增多,網(wǎng)絡(luò)能耗隨之增加,同時(shí)網(wǎng)絡(luò)架構(gòu)顯得越來越臃腫。關(guān)于ICT能耗消耗調(diào)查表明,ICT行業(yè)所消耗的能量占全球總能耗的2%~10%,因此降低能耗意義非凡。為了根本性地解決現(xiàn)有網(wǎng)絡(luò)中的問題(移動(dòng)性、安全性、能耗等),國(guó)內(nèi)外已經(jīng)啟動(dòng)相關(guān)的研究項(xiàng)目,提出了新的網(wǎng)絡(luò)體系架構(gòu),例如美國(guó)的FIND和GENI項(xiàng)目,歐盟的FP7項(xiàng)目,日本的AKARI項(xiàng)目等。典型的新型網(wǎng)絡(luò)架構(gòu)有DONA(Data-Oriented Network Architecture)、PSIRP(The Publish-Subscribe Internet Routing Paradigm)、NDN(Named Data Networking)、Open Flow Network和DTN(Delay Tolerant Network)等。
面對(duì)能源緊張的問題,提出降低能耗的方案刻不容緩。休眠機(jī)制是降低能耗的一種方式,將休眠方式應(yīng)用到新的網(wǎng)絡(luò)架構(gòu)體系下,可以達(dá)到節(jié)省能耗的效果,國(guó)內(nèi)外已經(jīng)在一些新型的網(wǎng)絡(luò)中提出相應(yīng)的休眠方案。在DTN網(wǎng)絡(luò)體系架構(gòu)下,參考文獻(xiàn)[1]、[2]提出了EACDS(ExponentialAdaptiveCyclicDifferenceSet system)和MACDS(MultiplicativeAdaptiveCyclicDifferenceSetsystem)兩種休眠算法;參考文獻(xiàn)[3]、[4]提出了將基于時(shí)間接觸的休眠機(jī)制應(yīng)用到算法里,從而降低能耗。在Open Flow Network網(wǎng)絡(luò)架構(gòu)下,參考文獻(xiàn)[5]提出了相關(guān)的休眠機(jī)制,選擇根節(jié)點(diǎn),形成節(jié)點(diǎn)樹,根據(jù)網(wǎng)絡(luò)所需要的節(jié)點(diǎn)數(shù)和當(dāng)前處于醒著狀態(tài)的節(jié)點(diǎn)數(shù)之間的關(guān)系,致相應(yīng)的節(jié)點(diǎn)休眠。在PSIRP網(wǎng)絡(luò)體系架構(gòu)下,參考文獻(xiàn)[6]、[7]提出了根據(jù)網(wǎng)絡(luò)節(jié)點(diǎn)的重要性決定關(guān)閉相應(yīng)的節(jié)點(diǎn),進(jìn)入休眠,并且權(quán)衡能耗和延時(shí)之間的關(guān)系。還有其他一些網(wǎng)絡(luò)級(jí)休眠方案,如參考文獻(xiàn)[8]提出了ETE機(jī)制,能量感知以關(guān)閉相應(yīng)的節(jié)點(diǎn)。
上述休眠方案當(dāng)中的一些算法是本文介紹的主要內(nèi)容,在研究的過程中,將休眠機(jī)制分為兩大類:節(jié)點(diǎn)級(jí)休眠和網(wǎng)絡(luò)級(jí)休眠,介紹了DTN網(wǎng)絡(luò)中節(jié)點(diǎn)級(jí)休眠方案和網(wǎng)絡(luò)級(jí)休眠方案,并進(jìn)行了仿真。
網(wǎng)絡(luò)節(jié)點(diǎn)處于工作狀態(tài)和空閑狀態(tài)時(shí),能耗的值相同,如圖1所示[9]。休眠是指將處在空閑狀態(tài)的節(jié)點(diǎn)休眠,以節(jié)省能耗。
圖1 有無休眠的能耗對(duì)比
DTN網(wǎng)絡(luò)屬于新型的網(wǎng)絡(luò),它的特點(diǎn)是頻繁中斷,長(zhǎng)延時(shí)的連接,這是因?yàn)橐苿?dòng)性、節(jié)點(diǎn)稀疏分布和噪聲等因素的影響。下面介紹DTN網(wǎng)絡(luò)下的休眠方案:EACDS和MACDS[1-2,10]。
介紹EACDS和MACDS之前,首先熟悉DTN網(wǎng)絡(luò)節(jié)點(diǎn)架構(gòu),如圖2所示。其中,灰色方格1、2、4等表示節(jié)點(diǎn)醒著的時(shí)隙,5、6、7方格表示節(jié)點(diǎn)休眠的時(shí)隙,在每一個(gè)醒著的時(shí)隙前面加一個(gè)幀讓相鄰節(jié)點(diǎn)能夠偵聽到此節(jié)點(diǎn)。對(duì)于每一個(gè)節(jié)點(diǎn),預(yù)先規(guī)定固定長(zhǎng)度為L(zhǎng)s的集合,再以這個(gè)長(zhǎng)度為周期循環(huán),而之前選取長(zhǎng)度為L(zhǎng)s集合,必須保證此集合任意地循環(huán)移位都會(huì)有一個(gè)重合的、醒著的時(shí)隙。因?yàn)楣?jié)點(diǎn)A和其他的節(jié)點(diǎn)是循環(huán)移位的關(guān)系,只有在某一時(shí)刻兩個(gè)節(jié)點(diǎn)都處于醒著的狀態(tài),才具備通信的條件。
圖2 節(jié)點(diǎn)時(shí)隙
EACDS和MACDS的共同點(diǎn)是通過某一種縮放的關(guān)系放大集合的長(zhǎng)度Ls,Ls越大,節(jié)能效果越好。
EACDS是基于利用集合的分層方法,能量級(jí)為0的初始差集(P0=I=(υI,kI,λI))被另一個(gè)指數(shù)差集(E=(υE,kE,λE))放大為能量級(jí)1(P1=E?I)的分層集合,接著再次被放大為更高級(jí)別的分層集合 (P2=E2?I),依次類推,最后選擇某一能量級(jí)的P。其中,ν表示框架長(zhǎng)度,k表示活動(dòng)個(gè)數(shù),λ表示重疊個(gè)數(shù),?表示Kronecker積。
Kronecker積的定義為:A=(aij) 是m×n的矩陣,B=(bkI) 是p×q的矩陣,A和B的Kronecker積為mp×nq的塊矩陣C=(cαβ)=αijbkl,α=p(i-1)+k,β=q(j-1)+l。
MACDS是基于集合的分層方法,與EACDS不同的是用乘子集M=(υM,kM,λM)代替指數(shù)集E,初始集(I)被另外一個(gè)乘子集(M1)縮放,用來創(chuàng)建分層集(P1=M1?I),然后再被另外一個(gè)乘子集M2縮放成另外一個(gè)分層集P2=M2?I。M1,M2, …,Mi都是旋轉(zhuǎn)集合, 滿足:RCP{Mi,Mj}=1。RCP(Rotational Closure Property)表示兩個(gè)節(jié)點(diǎn)在所有的循環(huán)移位下都會(huì)發(fā)現(xiàn)對(duì)方。對(duì)于集合Ei和集 合Ej,ni≤nj,有 :
對(duì)于EACDS和MACDS,主要的特點(diǎn)是Pi級(jí)數(shù)越高即Ls長(zhǎng)度越長(zhǎng),越能降低能耗。MACDS相對(duì)更加節(jié)能,但是如果在有能量級(jí)需要的情況下,EACDS卻更加實(shí)用。
不僅僅在DTN網(wǎng)絡(luò),在其他網(wǎng)絡(luò)架構(gòu)下也有相關(guān)的休眠機(jī)制,例如PSIRP網(wǎng)絡(luò)架構(gòu)、Open Flow Network等。
這里介紹的休眠算法歸于以下幾個(gè)步驟[6-7]:
(1)檢查每條鏈路的利用率
對(duì)于網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn),分析鏈路利用率,鏈路利用率超過閾值,增加權(quán)重來減少利用率,鏈路利用率低于閾值,它成為減少權(quán)重的等待者。
(2)網(wǎng)絡(luò)節(jié)點(diǎn)排序
根據(jù)節(jié)點(diǎn)的局部中心度對(duì)網(wǎng)絡(luò)節(jié)點(diǎn)進(jìn)行排列,這個(gè)序列反映節(jié)點(diǎn)在網(wǎng)絡(luò)中的重要性。這一步驟很重要。
(3)關(guān)閉網(wǎng)絡(luò)節(jié)點(diǎn)
節(jié)點(diǎn)進(jìn)入休眠模式,可能導(dǎo)致數(shù)據(jù)包丟失,滿足下列條件,節(jié)點(diǎn)才能夠進(jìn)入休眠模式。
①與此節(jié)點(diǎn)連接的鏈路沒有流量;
②此節(jié)點(diǎn)關(guān)閉后,其余的節(jié)點(diǎn)仍然可以連接;
③此節(jié)點(diǎn)關(guān)閉后,它所有相鄰節(jié)點(diǎn)可重新連接到網(wǎng)絡(luò)上。
該方案的特點(diǎn)是,對(duì)網(wǎng)絡(luò)元素重要性排列,以及根據(jù)節(jié)點(diǎn)進(jìn)入休眠的條件判斷能否進(jìn)入休眠。
Open Flow Network元素有接入節(jié)點(diǎn)、骨干節(jié)點(diǎn)。接入節(jié)點(diǎn)用來連接用戶終端或服務(wù)器,而骨干節(jié)點(diǎn)連接其他節(jié)點(diǎn)。骨干節(jié)點(diǎn)與接入節(jié)點(diǎn)之間的節(jié)點(diǎn)不能進(jìn)入休眠。節(jié)點(diǎn)的休眠、喚醒以及路由路徑的改變步驟如下[5]:
(1)預(yù)先測(cè)量網(wǎng)絡(luò)流量。
(2)根據(jù)網(wǎng)絡(luò)流量計(jì)算節(jié)點(diǎn)需要轉(zhuǎn)發(fā)流量的數(shù)量以及決定根節(jié)點(diǎn)。整個(gè)網(wǎng)絡(luò)所需要的節(jié)點(diǎn)數(shù)=整個(gè)網(wǎng)絡(luò)的流量/節(jié)點(diǎn)轉(zhuǎn)發(fā)率。
(3)根據(jù)休眠算法讓節(jié)點(diǎn)休眠或者喚醒。
(4)改變使用醒著節(jié)點(diǎn)的路由路徑,用最短路徑算法來計(jì)算路由路徑。
其中根節(jié)點(diǎn)的選擇是為了形成一個(gè)樹結(jié)構(gòu)的拓?fù)?,從而選取相應(yīng)的休眠等待節(jié)點(diǎn)。按照下面的方法選擇根節(jié)點(diǎn):
①處理最大流量的節(jié)點(diǎn)作為根節(jié)點(diǎn)。
②如果多個(gè)節(jié)點(diǎn)的最大流量相同,選擇鏈路連接數(shù)最多的節(jié)點(diǎn)作為根節(jié)點(diǎn)。
休眠算法有以下幾種情況:
(1)醒著的節(jié)點(diǎn)數(shù)目大于傳輸流量所需要的節(jié)點(diǎn)數(shù)。這種情況下,主要又分為兩種:
①當(dāng)前的根節(jié)點(diǎn)和之前選擇的根節(jié)點(diǎn)不同。
(a)從根節(jié)點(diǎn)到其他節(jié)點(diǎn)用最短路徑構(gòu)建一個(gè)訪問樹。這里用Dijkstra算法。
(b)選擇候選的休眠節(jié)點(diǎn),注意,根節(jié)點(diǎn)與訪問節(jié)點(diǎn)之間的節(jié)點(diǎn)不能休眠,其余的節(jié)點(diǎn)休眠。
(c)從最小流量節(jié)點(diǎn)開始把候選節(jié)點(diǎn)休眠一次,直到醒著的節(jié)點(diǎn)數(shù)量等于所需節(jié)點(diǎn)數(shù)量或所有候選節(jié)點(diǎn)睡眠。
②當(dāng)前的根節(jié)點(diǎn)與之前的根節(jié)點(diǎn)相同。
當(dāng)前選擇的根節(jié)點(diǎn)與原先選擇的節(jié)點(diǎn)相同,則有相同的訪問樹。然而,如果之前沒有休眠的候選節(jié)點(diǎn),節(jié)點(diǎn)可能像上面提到的那樣進(jìn)入休眠。否則,沒有其他操作將被執(zhí)行。
(2)醒著的節(jié)點(diǎn)數(shù)目小于傳輸流量所需要的節(jié)點(diǎn)數(shù)。喚醒休眠中的節(jié)點(diǎn),順序按照休眠時(shí)的逆序,直到兩者數(shù)目相等。
(3)醒著的節(jié)點(diǎn)數(shù)目等于傳輸流量所需要的節(jié)點(diǎn)數(shù)。沒有節(jié)點(diǎn)需要喚醒或者休眠。
該方案的特點(diǎn)是選擇根節(jié)點(diǎn)構(gòu)建樹,根據(jù)相關(guān)的準(zhǔn)則,選擇休眠等待節(jié)點(diǎn),優(yōu)化樹的結(jié)構(gòu),從而降低能耗。
本文采用ns-2網(wǎng)絡(luò)仿真工具,針對(duì)DTN網(wǎng)絡(luò)下的EACDS和MACDS兩種算法進(jìn)行仿真實(shí)驗(yàn)。節(jié)點(diǎn)采用Random Way Point移動(dòng)模型,采取的路由協(xié)議是MFlood(洪泛協(xié)議),另外一些網(wǎng)絡(luò)環(huán)境參數(shù)設(shè)置如表1所示。
根據(jù)MACDS和EACDS的原理分析,在仿真中選擇I=(7,3,1),MACDS中的P3=(42,9,1),而EACDS中的P3=(63,12,1)。 如圖3所示,采取休眠方式的能耗明顯比沒采取休眠機(jī)制的能耗低,而MACDS比EACDS方案節(jié)能。
表1 仿真參數(shù)
圖3 仿真時(shí)間對(duì)平均能耗的影響
不同的網(wǎng)絡(luò)體系架構(gòu)下,休眠機(jī)制會(huì)存在網(wǎng)絡(luò)連通性的問題,網(wǎng)絡(luò)節(jié)點(diǎn)處于休眠狀態(tài),不接受數(shù)據(jù)報(bào)文,所以要權(quán)衡能耗與網(wǎng)絡(luò)QoS之間的關(guān)系。在未來的工作當(dāng)中,會(huì)對(duì)新的網(wǎng)絡(luò)體系架構(gòu)下的主流休眠方案下的能耗和延時(shí)參數(shù)進(jìn)行仿真和優(yōu)化。
[1]CHOI B J,SHEN X.Adaptive asynchronous clock based power saving protocols for delay tolerant networks[C].Global Telecommunications Conference,GLOBECOM 2009,IEEE,2009:1-6.
[2]CHOI B J,SHEN X.Adaptive asynchronous sleep scheduling protocols for delay tolerant networks[J].IEEE Transactions on Mobile Computing,2011,10(9):1283-1296.
[3]付凱,夏清波,尹波.DTN中一種基于接觸時(shí)間的休眠機(jī)制[J].計(jì)算機(jī)科學(xué),2013,2(40):87-90.
[4]JUN H W,AMMAR M H,ZEGURA E W.Power management in delay tolerant networks:a framework and knowledge-based mechanisms[C].2005 Second Annual IEEE Communications Society Conference on Sensor and Ad Hoc Communications and Networks,IEEE SECON 2005,2005,5:418-429.
[5]BISTA B,TAKANOHASHI M,TAKATA T,et al.Rawat,a power saving scheme for open flow network[J].Journal of Clean Energy Technologies,2013,1(4):276-280.
[6]de Comunica?oes,Engenharia de Redes.Energy efficient architectures for the current and future Internet.2012.
[7]SILVA T,ARTUR A.A Survey on Energy Efficiency for the Future Internet.International Journal of Computer and Communication Engineering,2013,2(5).
[8]ATHANASIOU G,TSAGKARIS K,VLACHEAS P,et al.Introducing energy-awareness in traffic engineering for future networks[C].2011 7th International Conference on Network and Service Management(CNSM),IEEE,2011:1-4.
[9]BOLLA,BRUSCHI R,DAVOLI F,et al.Energy efficiency in the future Internet:a survey of existing approaches and trends in energy-aware fixed network infrastructures[J].Communications Surveys&Tutorials,IEEE,2011,13(2):223-244.
[10]VARDALIS D,TSAOUSSIDIS V.Energy-efficient Internetworking with DTN[J].Internet Engineering,2012,5(1).
網(wǎng)絡(luò)安全與數(shù)據(jù)管理2014年24期