曲樺,李巖松,趙季紅,3,趙東旭,趙建龍
?
一種基于ELM預(yù)測的NDN移動性支持方法
曲樺1,李巖松2,趙季紅1,3,趙東旭2,趙建龍2
(1. 西安交通大學(xué)電子與信息工程學(xué)院,陜西 西安 710049;2. 西安交通大學(xué)軟件學(xué)院,陜西 西安 710049;3. 西安郵電大學(xué)通信與信息工程學(xué)院,陜西 西安 710061)
命名數(shù)據(jù)網(wǎng)絡(luò)(NDN)架構(gòu)是信息中心網(wǎng)絡(luò)思想指導(dǎo)下的新一代網(wǎng)絡(luò)架構(gòu),移動性支持方法是命名數(shù)據(jù)網(wǎng)絡(luò)架構(gòu)下的主要研究點(diǎn)。傳統(tǒng)的生產(chǎn)者端移動性支持方法都采取事后應(yīng)對的方式,對消費(fèi)者而言,該方法無法保證切換過程的透明性。針對上述問題,提出了一種基于ELM預(yù)測的移動性支持方法PB,該方法對原有前向轉(zhuǎn)發(fā)表進(jìn)行修改,并增加了新的控制消息分組使得網(wǎng)絡(luò)中相應(yīng)節(jié)點(diǎn)可以針對預(yù)測算法的結(jié)果進(jìn)行提前調(diào)整,并且興趣分組多播的方式使得無論何時(shí)發(fā)生切換,生產(chǎn)者終端都能立即對興趣分組進(jìn)行響應(yīng),同時(shí)方法針對預(yù)測可能失敗的問題提供了快速恢復(fù)網(wǎng)絡(luò)原有狀態(tài)的方法。仿真實(shí)驗(yàn)表明,本文提出的PB移動性支持方法相比于RP和IP移動性支持方法能顯著降低切換時(shí)延,減少因切換導(dǎo)致的分組丟失。
命名數(shù)據(jù)網(wǎng)絡(luò);移動性支持;ELM預(yù)測;切換時(shí)延;分組丟失
隨著社交網(wǎng)絡(luò)、云存儲、視頻網(wǎng)站和數(shù)據(jù)類應(yīng)用等的流行,網(wǎng)絡(luò)呈現(xiàn)出以信息內(nèi)容為中心的發(fā)展趨勢。網(wǎng)絡(luò)的使用已經(jīng)偏離了現(xiàn)有網(wǎng)絡(luò)當(dāng)初的設(shè)計(jì)原則和設(shè)想,現(xiàn)有網(wǎng)絡(luò)在安全性、移動性、可靠性、可用性、可擴(kuò)展性等方面存在著極大的挑戰(zhàn)[1]。面對上述問題,命名數(shù)據(jù)網(wǎng)絡(luò)(named data networking,NDN)[2]應(yīng)運(yùn)而生,NDN是一種能夠滿足用戶信息傳遞需求的新型體系架構(gòu),NDN采用以內(nèi)容為中心的通信方式。在NDN架構(gòu)中,移動性是其核心思想之一,引起了研究者們的廣泛關(guān)注。
最初的NDN架構(gòu)設(shè)計(jì)默認(rèn)提供消費(fèi)者端移動性的支持,但是,對于作為內(nèi)容提供者的生產(chǎn)者端的移動性仍需要額外的策略進(jìn)行支持。生產(chǎn)者端的移動性看似類似于IP網(wǎng)絡(luò)下的移動性,實(shí)則不然。IP網(wǎng)絡(luò)下的終端移動性帶來的問題是如何將數(shù)據(jù)傳遞給一個(gè)移動節(jié)點(diǎn),而NDN的一個(gè)特點(diǎn)是“拉取式”的內(nèi)容服務(wù),即數(shù)據(jù)傳輸是由消費(fèi)者發(fā)起的。NDN中生產(chǎn)者端移動性帶來的問題是如何從一個(gè)移動節(jié)點(diǎn)處獲取內(nèi)容。
參考文獻(xiàn)[3,4]對NDN已有的移動性支持方法進(jìn)行了很好的總結(jié),為了解決生產(chǎn)者端移動性的問題,一個(gè)方向是利用中間節(jié)點(diǎn)RV(rendezvous point)找出生產(chǎn)者端的位置。在這個(gè)方向中,興趣分組被導(dǎo)向生產(chǎn)者端,這類似于IP網(wǎng)絡(luò)中將數(shù)據(jù)導(dǎo)向移動用戶,可以借鑒IP網(wǎng)絡(luò)中解決移動性問題的方式。另一個(gè)方向是保證生產(chǎn)者端的內(nèi)容更容易被找到,這個(gè)方向包括兩種具體方案,其一是利用NDN以數(shù)據(jù)為中心的特點(diǎn),所有數(shù)據(jù)都是被全局唯一命名的,這樣就很容易使數(shù)據(jù)和它的原始生產(chǎn)者解耦,比如由移動節(jié)點(diǎn)提供的數(shù)據(jù)都被移動到一處固定的、容易被找到的位置;其二是對于生產(chǎn)者在給定位置生成的數(shù)據(jù),可以使數(shù)據(jù)的名字固定并且獨(dú)立于移動終端,這樣的數(shù)據(jù)命名使得消費(fèi)者的興趣分組能夠被導(dǎo)向該位置。
本文提出的PB移動性支持方法,通過預(yù)配置網(wǎng)絡(luò),在生產(chǎn)者發(fā)生切換時(shí)消費(fèi)者仍可以享受無縫的內(nèi)容傳輸服務(wù)。PB移動性支持方法中重構(gòu)了網(wǎng)絡(luò)架構(gòu)中原有的轉(zhuǎn)發(fā)表,設(shè)計(jì)了控制分組,從而實(shí)現(xiàn)對網(wǎng)絡(luò)的預(yù)配置,設(shè)定了路由器針對不同類型控制分組的響應(yīng)方式,并根據(jù)預(yù)測結(jié)果的成功與否對網(wǎng)絡(luò)的預(yù)配置進(jìn)行保存或恢復(fù),本方法使得生產(chǎn)者的移動切換面向消費(fèi)者透明。通過引入預(yù)測過程,本方法區(qū)別于已有移動性切換方法的事后調(diào)整策略,網(wǎng)絡(luò)設(shè)備預(yù)配置在切換前與內(nèi)容傳輸同步進(jìn)行,以低帶寬代價(jià)提升內(nèi)容向用戶的響應(yīng)速度,降低因移動性切換帶來內(nèi)容響應(yīng)的額外時(shí)延。
NDN中節(jié)點(diǎn)的移動性分為消費(fèi)者端移動性和生產(chǎn)者端移動性。NDN中節(jié)點(diǎn)緩存的存在使得消費(fèi)者端的移動性可以得到很好的解決,當(dāng)消費(fèi)者向網(wǎng)內(nèi)發(fā)送數(shù)據(jù)分組之后位置發(fā)生了移動,數(shù)據(jù)分組按照興趣分組的轉(zhuǎn)發(fā)路徑進(jìn)行回溯時(shí)不能在原有的邊緣節(jié)點(diǎn)找到消費(fèi)者,邊緣節(jié)點(diǎn)就可以將內(nèi)容緩存到節(jié)點(diǎn)上,消費(fèi)者重新和網(wǎng)絡(luò)取得連接后,只需要重新發(fā)送興趣分組,節(jié)點(diǎn)就可以在緩存中將內(nèi)容返回給用戶,而不需要消費(fèi)者重新到內(nèi)容服務(wù)器獲取內(nèi)容。
人們對于移動性支持策略的研究專注于解決生產(chǎn)者端移動性的問題。解決生產(chǎn)者端移動性問題的關(guān)鍵所在是實(shí)現(xiàn)生產(chǎn)者生產(chǎn)的內(nèi)容和生產(chǎn)者位置進(jìn)行解耦合。內(nèi)容根據(jù)獨(dú)一無二的標(biāo)識(identifier)進(jìn)行區(qū)別,生產(chǎn)者的位置需要用定位器(locator)進(jìn)行確定。根據(jù)已有方法將兩者進(jìn)行分離的程度,已有方法可以被劃分為部分分離(partial separation,PS)方法和完全分離(total separation,TS)方法。在PS類方法中,移動生產(chǎn)者收發(fā)分組的路徑中存在一個(gè)網(wǎng)關(guān)。此類方法使得內(nèi)容標(biāo)識和定位器在網(wǎng)關(guān)和移動生產(chǎn)者之間的傳遞路徑上進(jìn)行分離。而相應(yīng)地,在TS類的方法中,存在一個(gè)獨(dú)立的系統(tǒng)負(fù)責(zé)記錄內(nèi)容標(biāo)識和位置之間的綁定關(guān)系。當(dāng)需要尋找內(nèi)容或者終端時(shí),請求就首先被發(fā)送到獨(dú)立系統(tǒng)中查詢生產(chǎn)者的位置。然后興趣分組帶著內(nèi)容的標(biāo)識和生產(chǎn)者位置信息就可以依據(jù)最短路徑被轉(zhuǎn)發(fā)到相應(yīng)的目的地。
參考文獻(xiàn)[5,6]介紹了一種間接的移動性支持策略,首先鏈路層向生產(chǎn)者預(yù)告了切換的到來,生產(chǎn)者就向原間接點(diǎn)(indirection point,INP)發(fā)送注銷(DE-registration)分組通知原接入點(diǎn)切換的到來。生產(chǎn)者重新連入網(wǎng)絡(luò)后,它向新的間接點(diǎn)發(fā)送注冊(registration)分組告知它的接入以及原接入點(diǎn)的位置信息。新接入點(diǎn)發(fā)送通知(notification)分組告知原接入點(diǎn)該生產(chǎn)者已經(jīng)重新連入網(wǎng)絡(luò),然后接入點(diǎn)發(fā)送另一個(gè)通知分組給消費(fèi)者通知它的新位置。間接點(diǎn)的方式缺點(diǎn)是顯著增加了分組的封裝和解析過程的開銷,消費(fèi)者的平均請求時(shí)延大大增加。
考文獻(xiàn)[7-10]都講述了一類基于名字解析的移動性支持方法,管理和維護(hù)內(nèi)容源當(dāng)前的位置信息,例如:參考文獻(xiàn)[7]的RP、參考文獻(xiàn)[8,9]的DNS服務(wù)器以及參考文獻(xiàn)[10]的HR。在該方法中,當(dāng)內(nèi)容源移動切換后,將向名字解析服務(wù)器發(fā)送位置更新消息,已更新該內(nèi)容源位置的名字解析服務(wù)器可提供內(nèi)容的名字與其當(dāng)前位置信息之間的映射關(guān)系。若用戶在預(yù)定時(shí)間內(nèi)未取回之前請求的內(nèi)容,將發(fā)送查詢請求消息至名字解析服務(wù)器,查詢可提供該內(nèi)容的內(nèi)容源的當(dāng)前位置。隨后,用戶可依據(jù)回復(fù)消息重傳興趣消息至內(nèi)容源移動前換后的位置。這種基于名字解析的方法采用極其被動的切換策略,從而帶來極大的切換中斷時(shí)延。
參考文獻(xiàn)[11]提供了一種使用多播解決移動性問題的方法。當(dāng)生產(chǎn)者移動時(shí),它的當(dāng)前接入點(diǎn)(current point of attachment,C-POA)依靠鏈路層的幫助預(yù)測可能的接入點(diǎn)(potential point of attachment,P-POA)集合。C-POA根據(jù)消費(fèi)者的需求和路由可拓展性的因素決定要發(fā)布前綴的長度,使得C-POA和所有P-POA都可以收到相應(yīng)興趣分組的多播副本,但是這種方法的路由開銷很大。
參考文獻(xiàn)[12]提供了一種基于路由更新的移動性支持方法。在切換過程中,生產(chǎn)者首先通知原接入點(diǎn),若到來的興趣分組的目的地是該生產(chǎn)者,則原接入點(diǎn)緩存該興趣分組。當(dāng)生產(chǎn)者重新連入網(wǎng)絡(luò)后,會向它原接入點(diǎn)發(fā)送一個(gè)虛擬興趣分組來觸發(fā)新接入點(diǎn)和原接入點(diǎn)之間的節(jié)點(diǎn)更新它們的FIB表來正確轉(zhuǎn)發(fā)興趣分組。當(dāng)原接入點(diǎn)收到虛擬興趣分組之后,它把緩存的興趣分組轉(zhuǎn)發(fā)到生產(chǎn)者新的位置。由于方法中涉及緩存和轉(zhuǎn)發(fā),此方法會帶來不小的切換時(shí)延和路由更新開銷。
基于傳統(tǒng)移動性支持方法的弊端,本文引入了ELM預(yù)測機(jī)制。極限學(xué)習(xí)機(jī)(extreme learning machine,ELM)是由黃廣斌[13]提出的求解單層神經(jīng)網(wǎng)絡(luò)的算法。極限學(xué)習(xí)機(jī)是一種前向神經(jīng)網(wǎng)絡(luò),可用于特征學(xué)習(xí)、分類、聚類、回歸等問題。由于其簡潔的結(jié)構(gòu)和較高的運(yùn)算速度,同時(shí)可以避免結(jié)果陷入局部最優(yōu),近年來得到了較廣的應(yīng)用,并擴(kuò)展到了復(fù)數(shù)域。ELM最大的特點(diǎn)是相對于傳統(tǒng)的神經(jīng)網(wǎng)絡(luò),尤其是單隱層前饋神經(jīng)網(wǎng)絡(luò)(single-hidden layer feedforward neural network,SLFN),在保證學(xué)習(xí)精度的前提下比傳統(tǒng)的學(xué)習(xí)算法速度更快?;贓LM預(yù)測機(jī)制的PB移動性支持方法使得網(wǎng)絡(luò)設(shè)備預(yù)配置在切換前與內(nèi)容傳輸同步進(jìn)行,提升了內(nèi)容向用戶的響應(yīng)速度,降低了因移動性切換帶來內(nèi)容響應(yīng)的額外時(shí)延。
圖1 使用ELM算法的位置預(yù)測流程
具體操作步驟如下。
步驟3 計(jì)算與該坐標(biāo)距離最近的路由器R。
步驟4 間隔時(shí)間后計(jì)算新的終端坐標(biāo)位置,并將此坐標(biāo)加入位置坐標(biāo)矩陣,使用更新后的矩陣預(yù)測下一時(shí)刻終端的位置坐標(biāo)。重復(fù)步驟2~步驟4。
如圖2(a)所示,根據(jù)本文移動性支持方法的需求,本文對NDN架構(gòu)下原有FIB表結(jié)構(gòu)進(jìn)行了修改。增加預(yù)修改端口(pre_face)表項(xiàng),該表項(xiàng)用于臨時(shí)存儲路由器預(yù)配置需要修改的端口。預(yù)配置過程中,路由器將連接原接入點(diǎn)路由器方向的端口由特定內(nèi)容前綴的face_list移至pre_face中,并在預(yù)測成功時(shí)從FIB表中刪除;路由器將連接新接入點(diǎn)路由器方向的端口添加至特定內(nèi)容前綴的pre_face中,并在預(yù)測成功時(shí)移至face_list中。特定內(nèi)容指預(yù)測切換的生產(chǎn)者所提供的內(nèi)容。
為了實(shí)現(xiàn)本文所述NDN移動性支持方法,需要增加3種控制分組類型,用于進(jìn)行與移動性切換相關(guān)節(jié)點(diǎn)之間的消息傳遞,如圖2(b)所示。
圖2 修改表結(jié)構(gòu)和新增消息分組結(jié)構(gòu)
3種修改網(wǎng)絡(luò)配置的控制分組的生成條件、生成位置、轉(zhuǎn)發(fā)方式及作用如下所示。
(1)預(yù)修改分組(pre_modify)
當(dāng)預(yù)測到終端的切換時(shí),由原接入點(diǎn)路由器生成,經(jīng)由核心路由器發(fā)往預(yù)測的新接入點(diǎn)路由器,對轉(zhuǎn)發(fā)經(jīng)過的所有路由器的FIB表進(jìn)行預(yù)修改來處理預(yù)測的切換過程。
(2)修改確認(rèn)分組(modify_confirm)
預(yù)測成功時(shí),終端與新接入點(diǎn)路由器取得連接,由新路由器生成,經(jīng)由核心路由器發(fā)往原路由器,對路徑中的路由器的預(yù)修改內(nèi)容進(jìn)行保存。
(3)修改取消分組(modify_cancel)
預(yù)測失敗時(shí),終端未發(fā)生切換,由原接入點(diǎn)路由器生成,經(jīng)由核心路由器發(fā)往預(yù)測的新路由器,取消對路徑中的路由器做出的預(yù)修改。
中間路由器對于3種控制分組的響應(yīng)如下。
(1)分組中的標(biāo)志位為0
? 收到pre_modify分組,將接收端口號由FIB中content_prefix對應(yīng)表項(xiàng)的face_list 移動到pre_face中。
? 收到modify_confirm分組,將接收端口編號由FIB中content_prefix對應(yīng)表項(xiàng)pre_face刪除。
? 收到modify_cancel分組,將接收端口編號由FIB中content_prefix對應(yīng)表項(xiàng)的pre_face刪除。
(2)分組中的標(biāo)志位為1
? 收到pre_modify分組,將接收端口編號添加到FIB中content_prefix對應(yīng)表項(xiàng)的pre_face中。
? 收到modify_confirm分組,將接收端口編號由FIB中content_prefix對應(yīng)表項(xiàng)pre_face移動到face_list中。
? 收到modify_cancel分組,將接收端口編號由FIB中content_prefix對應(yīng)表項(xiàng)的pre_face中移回到face_list。
如圖2所示,預(yù)修改分組的內(nèi)容包含:內(nèi)容名(content_prefix),即將發(fā)生切換的終端所提供內(nèi)容的名稱;標(biāo)志位,路由器根據(jù)分組類型和該字段取值確定對預(yù)修改端口的移動或增刪;定位器(locator),用于定位特定核心路由器,其與原接入點(diǎn)路由器和預(yù)測的切換后接入點(diǎn)路由器相連;可選部分,用于功能拓展。修改確認(rèn)分組沿著預(yù)修改分組的轉(zhuǎn)發(fā)路徑轉(zhuǎn)發(fā),修改取消分組沿著預(yù)修改分組轉(zhuǎn)發(fā)的反向路徑轉(zhuǎn)發(fā),故這兩種分組中沒有定位器字段。
如圖3所示,基于以上對FIB表做出的修改,當(dāng)接入點(diǎn)路由器預(yù)測到生產(chǎn)者終端的切換時(shí),路由器可生成預(yù)修改分組將該切換告知網(wǎng)內(nèi)與切換相關(guān)的所有路由器完成預(yù)修改過程。若切換真實(shí)發(fā)生,生產(chǎn)者的新接入點(diǎn)生成修改確認(rèn)分組,告知相關(guān)路由器將預(yù)修改內(nèi)容保存下來,完成修改確認(rèn)過程;若切換沒有發(fā)生,預(yù)測的接入點(diǎn)路由器生成修改取消分組,將相關(guān)路由器恢復(fù)到預(yù)測前的狀態(tài)完成修改取消過程。
圖3 基于預(yù)測的切換方法總流程
將上述流程中的預(yù)修改過程、修改確認(rèn)過程和修改取消過程展開后的方法具體流程如下。
步驟1 邊緣路由器根據(jù)終端歷史位置信息,使用極限學(xué)習(xí)機(jī)算法,預(yù)測其下一時(shí)刻的位置。
步驟2 邊緣路由器預(yù)測到某終端將發(fā)生切換時(shí),產(chǎn)生預(yù)修改分組,分組中分組含該終端所提供內(nèi)容的前綴,并將標(biāo)志位置0,向特定核心路由器轉(zhuǎn)發(fā)。
步驟3 中間路由器在FIB表中查找預(yù)修改分組中的內(nèi)容前綴對應(yīng)的表項(xiàng),將預(yù)修改分組的到來端口號由face_list移至pre_face中。
步驟4 核心路由器在FIB表中查找預(yù)修改分組中的內(nèi)容前綴對應(yīng)的表項(xiàng),將預(yù)修改分組的到來端口號由face_list移至pre_face,并在pre_face中添加朝新邊緣路由器轉(zhuǎn)發(fā)的端口號,標(biāo)志位置1。
步驟5 中間路由器在FIB表中查找預(yù)修改分組中的內(nèi)容前綴對應(yīng)的表項(xiàng),在pre_face中添加朝新邊緣路由器轉(zhuǎn)發(fā)的端口號。
步驟6 新邊緣路由器收到預(yù)修改分組后,按原路徑返回success分組完成預(yù)修改過程。
步驟7 若終端重新與新邊緣路由器取得連接,則預(yù)測成功,進(jìn)行步驟8~步驟12;若終端未發(fā)生移動,仍連接在原邊緣路由器上,則預(yù)測失敗,進(jìn)行步驟13~步驟17。
步驟8 新邊緣路由器產(chǎn)生修改確認(rèn)分組,標(biāo)志位置1,并向網(wǎng)內(nèi)轉(zhuǎn)發(fā)。
步驟9 中間路由器收到修改確認(rèn)分組后,將pre_face中的端口號移至face_list。
步驟10 核心路由器收到修改確認(rèn)分組后,將該分組的到來端口號由pre_face中移至face_list,刪除其余端口號,并將標(biāo)志位置0。
圖4 PB移動性支持方法簡單分析模型
步驟11 中間路由器收到修改確認(rèn)分組后,刪除pre_face中的端口號。
步驟12 原邊緣路由器收到修改確認(rèn)分組,返回success分組,完成修改確認(rèn)過程。終端切換到新邊緣路由器,興趣分組根據(jù)修改后的FIB表被路由到終端現(xiàn)在的位置。
步驟13 原邊緣路由器產(chǎn)生修改取消分組,標(biāo)志位置0,并向網(wǎng)內(nèi)轉(zhuǎn)發(fā)。
步驟14 中間路由器收到修改取消分組后,將pre_face中的端口號移至face_list。
步驟15 核心路由器收到修改取消分組后,將該分組的到來端口號由pre_face中移至face_list,刪除其余端口號,并將標(biāo)志位置1。
步驟16 中間路由器收到修改取消分組后,刪除pre_face中的端口號。
步驟17 新邊緣路由器收到修改取消分組,返回success分組,完成修改取消過程。終端仍連接在原路由器上,興趣分組按照原FIB表被路由到終端原位置。
如圖4所示,消費(fèi)者(consumer)正在請求生產(chǎn)者(producer)的內(nèi)容/para/1.avi,原接入點(diǎn)路由器R_old經(jīng)過ELM算法計(jì)算,預(yù)測生產(chǎn)者將由原接入點(diǎn)路由器R_old 切換到新接入點(diǎn)R_new,此時(shí)R_old生成pre_modify分組,分組中內(nèi)容名為/para/1.avi,locator的內(nèi)容為R_old和R_new的核心路由器R_core,中間路由器R_middle1收到該分組后對FIB表做出修改,如圖5(a)所示,將分組到來端口號2從face_list 移動到pre_face中;當(dāng)核心路由器R_core收到該分組后對FIB作出修改如圖5(b)所示,將分組到來端口號2從face_list 中移動到pre_face 中,并添加轉(zhuǎn)發(fā)出去的端口號1;當(dāng)中間路由器R_middle2收到該分組后對FIB表做出修改,如圖5(c)所示,添加需要轉(zhuǎn)發(fā)該分組的端口號2;R_new收到該分組后按原路徑返回success信號,至此預(yù)修改過程完成。
若預(yù)測成功,生產(chǎn)者與R_new取得連接,則由R_new生成modify_confirm分組,將R_middle2中端口號2移動到face_list中;將R_core中收到分組的端口號1由pre_face移動到face list中,并將余下的原內(nèi)容轉(zhuǎn)發(fā)端口2從pre_face中刪除;將R_middle1中pre_face中的端口號2刪除,R_old收到該分組后按原路返回success信號,完成修改確認(rèn)過程。
若預(yù)測失敗,生產(chǎn)者未發(fā)生移動,則有R_old生成modify_cancel分組,將R_middle1中pre_face中的端口號2移回到face_list中;將R_core中接收該分組的端口號2由pre_face移回到face_list,并將余下的轉(zhuǎn)發(fā)端口1從pre_face中移除;將R_middle2中pre_face中的端口號2刪除;R_new收到該分組后按原路返回success信號,完成修改取消過程。至此,一次完整的使用ELM算法的無縫切換過程完成。
圖5 方法執(zhí)行前后節(jié)點(diǎn)FIB表內(nèi)容對比
通過以上方法在簡單模型上執(zhí)行過程的描述可以看出,通過控制消息分組在節(jié)點(diǎn)間的傳遞,節(jié)點(diǎn)利用新增的pre_face表項(xiàng)將生產(chǎn)者切換的預(yù)測結(jié)果很好地應(yīng)用在了針對該切換的準(zhǔn)備過程中。這使得當(dāng)切換發(fā)生時(shí)網(wǎng)絡(luò)可以無阻礙地將生產(chǎn)者的興趣分組路由到生產(chǎn)者處,消費(fèi)者可以無縫地從網(wǎng)絡(luò)獲取所需內(nèi)容。
一次完整的應(yīng)用ELM預(yù)測的NDN移動性切換處理過程的時(shí)序如圖6所示,其中展示了當(dāng)處于處理過程的不同階段時(shí),對于消費(fèi)者的興趣分組興趣的不同處理方式。
圖6 基于預(yù)測的移動性支持方法時(shí)序
當(dāng)完成預(yù)修改過程后如圖6中301所示,興趣分組到達(dá)R_core后根據(jù)FIB表被同時(shí)轉(zhuǎn)發(fā)到R_old和R_new,使得無論生產(chǎn)者是否已經(jīng)進(jìn)行了切換,總有一處地方的興趣得到響應(yīng),返回?cái)?shù)據(jù)分組給消費(fèi)者,而消費(fèi)者并不關(guān)心生產(chǎn)者是否已經(jīng)發(fā)生切換。
如果預(yù)測成功,在完成修改確認(rèn)過程之后如圖6中302所示,生產(chǎn)者此時(shí)與R_new連接,且網(wǎng)絡(luò)中的FIB表也將生產(chǎn)者提供的內(nèi)容指向了R_new,所以此時(shí)消費(fèi)者發(fā)出的興趣分組會被R_core轉(zhuǎn)發(fā)到R_new并從生產(chǎn)者處獲得內(nèi)容。
如果預(yù)測失敗,在完成修改取消過程之后如圖6中303所示,網(wǎng)絡(luò)配置被還原,消費(fèi)者仍然按照預(yù)測前的路徑與生產(chǎn)者進(jìn)行通信,即消費(fèi)者發(fā)出的興趣分組會被R_core轉(zhuǎn)發(fā)到R_old處,并從生產(chǎn)者處獲得內(nèi)容。
移動模型使用BonnMotion仿真平臺生成。使用MATLAB r2016b讀取移動軌跡,使用該軌跡訓(xùn)練ELM網(wǎng)絡(luò),進(jìn)行基于ELM算法的預(yù)測計(jì)算,并在仿真區(qū)域內(nèi)生成蜂窩狀小區(qū)。圖7中,實(shí)線為生產(chǎn)者實(shí)際移動軌跡,虛線為使用ELM算法預(yù)測的生產(chǎn)者移動軌跡,圓點(diǎn)為路由器,正六邊形為路由器覆蓋小區(qū)邊界。
為繪圖簡明起見,每次僅仿真一個(gè)生產(chǎn)者的移動。仿真參數(shù)設(shè)計(jì)見表1。
表1 仿真參數(shù)設(shè)置
其中,e為預(yù)測錯(cuò)誤的次數(shù),預(yù)測錯(cuò)誤包括錯(cuò)誤地預(yù)測是否切換以及切換到錯(cuò)誤的小區(qū)。基于ELM預(yù)測的仿真訓(xùn)練預(yù)測準(zhǔn)確率為90.29%,實(shí)際發(fā)生切換132次,預(yù)測發(fā)生切換134次,其中預(yù)測正確(切換到正確的小區(qū))119次,達(dá)到較高的準(zhǔn)確率。應(yīng)用ELM預(yù)測生產(chǎn)者移動及切換的仿真如圖7所示。
本文將ndnSIM作為仿真工具,為了驗(yàn)證PB(prediction base)移動性支持方法是否達(dá)到預(yù)期效果,本文選擇了具有代表性的傳統(tǒng)的中間點(diǎn)RP(rendezvous point)和間接點(diǎn)IP(indirection point)兩種移動性支持策略進(jìn)行了對比。對于移動性支持策略的仿真建立了如圖8所示的拓?fù)浣Y(jié)構(gòu)。
圖7 應(yīng)用ELM預(yù)測生產(chǎn)者移動及切換的仿真
圖8中的節(jié)點(diǎn)仍然被分為3類:內(nèi)容生產(chǎn)者、內(nèi)容消費(fèi)者和中間節(jié)點(diǎn),其中,中間節(jié)點(diǎn)又被分為3類:L-1節(jié)點(diǎn)、L-2節(jié)點(diǎn)和L-3節(jié)點(diǎn)。L-3節(jié)點(diǎn)指的是內(nèi)容源或者消費(fèi)者的接入節(jié)點(diǎn),L-2節(jié)點(diǎn)指的是網(wǎng)絡(luò)域的出口節(jié)點(diǎn),L-1節(jié)點(diǎn)指的是網(wǎng)絡(luò)的名字服務(wù)器節(jié)點(diǎn)。仿真中的切換過程可以發(fā)生在同一個(gè)網(wǎng)絡(luò)域內(nèi)的兩個(gè)L-3節(jié)點(diǎn)之間,切換仿真的次序編碼如圖9(a)所示,也可以發(fā)生在屬于不同網(wǎng)絡(luò)域的兩個(gè)L-3節(jié)點(diǎn)之間,切換仿真的次序編碼如圖9(b)所示。
圖9 移動性支持方法仿真次序
主要仿真參數(shù)設(shè)置見表2。
本文對PB移動性支持方法進(jìn)行性能分析,采取以下測量參數(shù)作為性能評價(jià)指標(biāo)。
(1)切換時(shí)延
切換時(shí)延(handoff latency,HL)指的是從內(nèi)容生產(chǎn)者斷開網(wǎng)絡(luò)連接的時(shí)刻起到內(nèi)容生產(chǎn)者重新連接網(wǎng)絡(luò)后收到第一個(gè)興趣分組的時(shí)刻為止的一段時(shí)間。切換時(shí)延指標(biāo)代表的是內(nèi)容源的移動引發(fā)的網(wǎng)絡(luò)切換的時(shí)延,內(nèi)容源重新連接到網(wǎng)絡(luò)后如果不能收到興趣分組代表著它還未被網(wǎng)絡(luò)感知,不能開始為消費(fèi)者提供服務(wù),所以直到內(nèi)容源收到第一個(gè)興趣分組的時(shí)刻為止的時(shí)間都計(jì)算在切換時(shí)延之內(nèi)。
表2 仿真參數(shù)
(2)分組丟失數(shù)量
分組丟失(packet loss,PL)數(shù)量指的是仿真期間切換引發(fā)的被丟棄興趣分組的數(shù)量。由于本文中的移動性支持策略中利用NDN的多播特性,將興趣分組進(jìn)行多播發(fā)送來解決預(yù)測可能失敗帶來的問題,所以這個(gè)指標(biāo)的設(shè)置是為了衡量本文以及已有策略在消息傳送方面的移動性支持的代價(jià)。分組丟失的數(shù)量越多,代表策略的消息傳送代價(jià)相對越大。
仿真中將PB移動性支持策略與傳統(tǒng)的中間點(diǎn)RP和間接點(diǎn)IP兩種移動性支持策略進(jìn)行了對比。
圖10(a)展示了域內(nèi)切換時(shí)延的仿真結(jié)果,可以明顯地看出,PB策略的域內(nèi)切換時(shí)延遠(yuǎn)遠(yuǎn)低于RP和IP策略??梢詮膸追N策略的操作過程解釋仿真結(jié)果。PB策略的切換時(shí)延最低,在PB策略中,由于預(yù)測過程的存在且預(yù)測過程和正常的數(shù)據(jù)通信同步進(jìn)行,保證了在預(yù)測準(zhǔn)確的情況下網(wǎng)絡(luò)已經(jīng)為切換提前做好了準(zhǔn)備,網(wǎng)內(nèi)節(jié)點(diǎn)的FIB表已經(jīng)支持將需求該生產(chǎn)者所提供內(nèi)容的興趣分組轉(zhuǎn)發(fā)到生產(chǎn)者當(dāng)前的位置處,所以切換帶來的時(shí)延主要是生產(chǎn)者斷開網(wǎng)絡(luò)連接的時(shí)間以及當(dāng)預(yù)測失敗時(shí)引發(fā)的部分時(shí)延。仿真中在切換預(yù)測失敗的情況下,通過新接入點(diǎn)和原接入點(diǎn)的一次通信進(jìn)行處理,此時(shí)方法效果基本退化為與IP策略相當(dāng),從圖10(a)中也可看出時(shí)延接近IP策略。IP策略的時(shí)延主要來自于當(dāng)生產(chǎn)者重新和網(wǎng)絡(luò)取得連接后,需要和中間點(diǎn)進(jìn)行一次通信,通知中間點(diǎn)自己已經(jīng)重新連接,可以開始提供內(nèi)容并告知中間點(diǎn)自己的當(dāng)前位置。所以切換時(shí)延是生產(chǎn)者斷開連接的時(shí)間與生產(chǎn)者的新接入點(diǎn)與中間點(diǎn)之間的通信時(shí)間之和。RP策略的切換時(shí)延最長,原因是RP策略中消費(fèi)者在一次請求失敗后判斷生產(chǎn)者的位置發(fā)生了移動,再向間接點(diǎn)請求該生產(chǎn)者對應(yīng)的最新位置信息,所以生產(chǎn)者在切換之后收到的第一個(gè)興趣分組來自于消費(fèi)者進(jìn)行的重傳。切換時(shí)延是生產(chǎn)者斷開連接的時(shí)間與消費(fèi)者和間接點(diǎn)進(jìn)行一次通信并對興趣分組進(jìn)行重傳的時(shí)間之和。
圖10 域內(nèi)切換性能分析
圖10(b)展示的是幾種策略在分組丟失數(shù)量上的表現(xiàn),其中RP和IP策略在多次仿真中分組丟失的表現(xiàn)是穩(wěn)定的,而本文的PB策略由于預(yù)測失敗情況的發(fā)生導(dǎo)致分組丟失數(shù)量在幾次仿真中會有所上升。由于切換時(shí)延對應(yīng)的時(shí)間內(nèi)的興趣分組傳遞都會被丟棄,所以切換時(shí)延更長的策略相應(yīng)分組丟失也會更多。
圖11(a)、圖11(b)中分別展示的是發(fā)生域間切換時(shí)幾種移動性支持策略在切換時(shí)延和分組丟失數(shù)量上的表現(xiàn)。從圖11(a)中可以看出,本文的PB策略在應(yīng)對域間切換時(shí)的時(shí)延與應(yīng)對域內(nèi)切換時(shí)的時(shí)延基本保持不變,因?yàn)镻B策略的時(shí)延基本不受所切換兩個(gè)節(jié)點(diǎn)間關(guān)系的影響。而RP和IP策略在應(yīng)對域間通信時(shí)需要通信的距離更長,相應(yīng)的通信時(shí)間更長,帶來的切換時(shí)延也更長。而圖11(b)中相應(yīng)的分組丟失數(shù)量也會隨切換時(shí)延進(jìn)行變化。
圖11 域間切換性能分析
本文在對已有傳統(tǒng)NDN移動性支持方法進(jìn)行分析的基礎(chǔ)上,發(fā)現(xiàn)了使用預(yù)測方法實(shí)現(xiàn)移動性支持的可行性,并對已有的移動預(yù)測進(jìn)行了簡單的調(diào)研分析,決定選用ELM極限學(xué)習(xí)機(jī)作為預(yù)測算法,最終設(shè)計(jì)了PB移動性支持方法。考慮到預(yù)測存在準(zhǔn)確度的問題,本文設(shè)計(jì)了一種基于NDN多播機(jī)制的支持方法,該方法的特點(diǎn)是將預(yù)測結(jié)果暫時(shí)用于對FIB表的修改直到終端實(shí)際發(fā)生切換,若預(yù)測錯(cuò)誤,可將FIB表恢復(fù)至更改之前而不影響正常通信。方法設(shè)計(jì)中涉及了FIB數(shù)據(jù)結(jié)構(gòu)的修改、新增控制消息分組的設(shè)計(jì)以及設(shè)定節(jié)點(diǎn)對不同消息分組的響應(yīng)方式等。通過引入預(yù)測過程,使得路由器可以對終端的移動提前做出切換操作,有效減小了切換過程中的流量損耗,節(jié)約了帶寬,縮短了時(shí)延。鑒于NDN中對于消費(fèi)者端移動性的支持方法還是依靠消費(fèi)者對興趣分組進(jìn)行重傳機(jī)制,仍然屬于被動應(yīng)對的方法,所以還可以將本文基于預(yù)測的方法拓展到消費(fèi)者端移動性的支持,在興趣分組回傳過程中直接將興趣分組緩存到預(yù)測消費(fèi)者端要移動到的位置上。
[1] FELDMANN A. Internet clean-slate design: what and why?[J]. ACM SIGCOMM Computer Communication Review, 2007, 37(3): 59-64.
[2] 雷凱, 袁杰. 命名數(shù)據(jù)網(wǎng)絡(luò)內(nèi)容分發(fā)機(jī)制研究與探討[J]. 電信科學(xué), 2014, 30(9): 27-36.
LEI K, YUAN J. Content distribution mechanisms of named data networking[J]. Telecommunications Science, 2014, 30(9): 27-36.
[3] ZHANG Y, AFANASYEV A, BURKE J, et al. A survey of mobility support in named data networking[C]//IEEE INFOCOM 2016-IEEE Conference on Computer Communications Workshops, April 14-19, 2016, Turin, Italy. New Jersey: IEEE Press, 2016: 83-88.
[4] FENG B, ZHOU H, XU Q. Mobility support in named data networking: a survey[J]. EURASIP Journal on Wireless Communications and Networking, 2016, 2016(1): 220.
[5] HERMANS F, NGAI E, GUNNINGBERG P. Mobile sources in an information-centric network with hierarchical names: an indirection approach[J]. Proc Swedish National Computer Networking Workshop, 2011.
[6] KIM D H, KIM J H, KIM Y S, et al. Mobility support in content centric networks[C]// Edition of the ICN Workshop on Information-Centric Networking, August 17, 2012, Helsinki, Finland. New York: ACM Press, 2012: 13-18.
[7] RAVINDRAN R, LO S, ZHANG X, et al. Supporting seamless mobility in named data networking[C]//2012 IEEE International Conference onCommunications (ICC), June 10-15, 2012, Ottawa, ON, Canada. New Jersey: IEEE Press, 2012: 5854-5869.
[8] JIANG X, BI J, WANG Y, et al. A content provider mobility solution of named data networking[C]//IEEE International Conference on Network Protocols, Oct 30-Nov 2, 2012, Austin, TX, USA. New Jersey: IEEE Press, 2012:1-2.
[9] JIANG X, BI J, WANG Y. What benefits does NDN have in supporting mobility[C]// Computers and Communication, June 23-26, 2014, Funchal, Madeira, Portugal. New Jersey: IEEE Press, 2014: 1-6.
[10] HERMANS F, NGAI E, GUNNINGBERG P. Global source mobility in the content-centric networking architecture[C]//1st ACM workshop on Emerging Name-Oriented Mobile Networking Design - Architecture, Algorithms, and Applications, June 11, 2012, Hilton Head, South Carolina, USA. New York: ACM Press, 2012: 13-18.
[11] WOO T, PARK H, JUNG S, et al. Proactive neighbor pushing for enhancing provider mobility support in content-centric networking[C]//2014 Sixth International Conf onUbiquitous and Future Networks (ICUFN), June 8-11, 2014, Shanghai, China. New Jersey: IEEE Press, 2014: 158-163.
[12] KIM D, KIM J, KIM Y, et al. Mobility support in content centric networks[C]//The Second Edition of the ICN Workshop on Information-Centric Networking, August 17, 2012, Helsinki, Finland. New York: ACM Press, 2012: 13-18.
[13] HUANG G B, ZHU Q Y, SIEW C K. Extreme learning machine: theory and applications[J]. Neurocomputing, 2006, 70(1): 489-501.
A mobility support method based on ELM prediction for named data networking
QU Hua1, LI Yansong2, ZHAO Jihong1,3, ZHAO Dongxu2, ZHAO Jianlong2
1. School of Electronic and Information Engineering, Xi’an Jiaotong University, Xi’an 710049, China2. School of Software Engineering, Xi’an Jiaotong University, Xi’an 710049, China3. School of Communication and Information Engineering, Xi’an University of Posts and Telecommunication, Xi’an 710061, China
Named data networking (NDN) is a new generation network architecture under the guidance of information center network, and the mobility support method is the main research point in NDN. In the traditional way of the producer-side mobility support method, the post-response mode is adopted, which makes it impossible to realize the transparency of the switching process. A mobility support method called PB based on ELM prediction was proposed. In the method, the original forwarding interest base was modified and a new control message packet was added so that the corresponding node in the network could adjust the result of the prediction algorithm in advance, and the switch of the producer terminal could respond to the interest package at any time by means of interest packet multicast. At the same time, the method provided a way to quickly restore the original state of the network for the problem that the prediction may fail. The simulation results show that the proposed PB mobility support method can reduce the handoff latency and the packet loss caused by handoff compared with the RP and IP mobility support methods.
named data networking, mobility support, extreme learning machine prediction, handoff latency, packet loss
TP393
A
10.11959/j.issn.1000?801.2017329
2017?06?21;
2017?12?08
國家自然科學(xué)基金資助項(xiàng)目(No.61371087,No.61531013)
: The National Natural Science Foundation of China (No.61371087, No.61531013)
曲樺(1961?),男,博士,西安交通大學(xué)電子與信息工程學(xué)院教授、博士生導(dǎo)師,主要研究方向?yàn)楝F(xiàn)代通信網(wǎng)、計(jì)算機(jī)網(wǎng)絡(luò)體系結(jié)構(gòu)。
李巖松(1992?),男,西安交通大學(xué)軟件學(xué)院碩士生,主要研究方向?yàn)檐浖x網(wǎng)絡(luò)、信息中心網(wǎng)絡(luò)。
趙季紅(1963?),女,博士,西安交通大學(xué)電子與信息工程學(xué)院、西安郵電大學(xué)通信與信息工程學(xué)院教授,主要研究方向?yàn)閷拵ㄐ啪W(wǎng)、新一代網(wǎng)絡(luò)的管理與控制。
趙東旭(1993?),男,西安交通大學(xué)軟件學(xué)院碩士生,主要研究方向?yàn)榛谲浖x網(wǎng)絡(luò)流量監(jiān)控及分類。
趙建龍(1992?),男,西安交通大學(xué)軟件學(xué)院博士生,主要研究方向?yàn)槊嫦蜍浖x網(wǎng)絡(luò)的流量工程技術(shù)及北向接口協(xié)議。