趙光遠(yuǎn),王 雷,方盛宇
(中國科學(xué)技術(shù)大學(xué) 信息科學(xué)技術(shù)學(xué)院,合肥 230027)
隨著移動互聯(lián)網(wǎng)的迅猛發(fā)展,移動流量飛速增長給當(dāng)前網(wǎng)絡(luò)的承載能力帶來巨大挑戰(zhàn)[1].然而,傳統(tǒng)的基于IP的路由方式與現(xiàn)在以信息為中心的服務(wù)需求明顯不匹配[2],所以研究新型網(wǎng)絡(luò)架構(gòu)以適應(yīng)當(dāng)前網(wǎng)絡(luò)狀況十分必要.
本研究中提出的信息中心網(wǎng)絡(luò)(Information Centric Networking,ICN)是一種關(guān)注于信息本身的新型網(wǎng)絡(luò)架構(gòu),網(wǎng)絡(luò)內(nèi)路由通過內(nèi)容名實現(xiàn).與傳統(tǒng)IP網(wǎng)絡(luò)相比,ICN在內(nèi)容分發(fā)、安全性和移動性方面有著天然的優(yōu)勢[2,3].軟件定義網(wǎng)絡(luò) (Software Defined Network,SDN)[4]將控制平面與轉(zhuǎn)發(fā)平面分離,在控制平面用戶可以擴(kuò)展協(xié)議,而協(xié)議無感知轉(zhuǎn)發(fā)(Protocol Oblivious Forwarding,POF)技術(shù)[5]則是基于 SDN 的一個擴(kuò)展,支持自定義協(xié)議.SDN和POF的提出使ICN的實現(xiàn)成為可能.但如何構(gòu)建ICN網(wǎng)絡(luò)還未有定論,在移動性方面的研究則更加屈指可數(shù):Zhang提出移動優(yōu)先網(wǎng)絡(luò)[6](MobilityFirst),然而該方案不能保證生產(chǎn)者發(fā)生移動時當(dāng)前業(yè)務(wù)的連續(xù)性.Ahlgren 提出 NetInf架構(gòu)[7],其使用名稱解析服務(wù) (Name Resolution,NR)來實現(xiàn) ICN:生產(chǎn)者將內(nèi)容和地址發(fā)布到相應(yīng)NR服務(wù)器中,消費者通過NR來獲取所需內(nèi)容.對于該方案,名稱解析的速度是實現(xiàn)生產(chǎn)者移動的性能瓶頸之一.Lagutin提出PSIRP架構(gòu)[8]:采用發(fā)布/訂閱的方式,生產(chǎn)者發(fā)布內(nèi)容,消費者通過對應(yīng)的應(yīng)用標(biāo)識符進(jìn)行訂閱.實現(xiàn)消費者移動可以通過重訂閱,但是無法實現(xiàn)生產(chǎn)者移動.NDN架構(gòu)[9]通過鏈路狀態(tài)協(xié)議進(jìn)行路由,該架構(gòu)的移動性研究主要有:設(shè)置移動錨點[10,11],但其會導(dǎo)致三角路由問題;更新轉(zhuǎn)發(fā)信息表(Forwarding Information Base,FIB)[12,13],但實現(xiàn)方案過于復(fù)雜,且有額外的流量開銷;地址解析服務(wù)[14],然而該方案在移動性方面沒有任何服務(wù)質(zhì)量的保障.目前的ICN研究中并沒有一種理想的移動性方案.
本研究以ICN和POF為基礎(chǔ),擬建立一種全新的ICN移動性支持體系,結(jié)合控制平面的計算能力協(xié)同移動管理模塊來實現(xiàn)網(wǎng)絡(luò)中的移動支持性.與以往的研究相比,本研究充分利用了ICN將地址與內(nèi)容解耦,控制與數(shù)據(jù)轉(zhuǎn)發(fā)分離的特性,能夠簡潔高效地實現(xiàn)生產(chǎn)者和消費者之間的移動性支持,同時還能確保足夠低的丟包率與移動切換時延.
圖1為POF-ICN架構(gòu),采用SDN的思想分離出轉(zhuǎn)發(fā)平面和控制平面,控制平面與控制器的北向接口通信,提供管理服務(wù).控制器的南向接口則與數(shù)據(jù)平面通信控制數(shù)據(jù)的轉(zhuǎn)發(fā).控制器已知全網(wǎng)拓?fù)浣Y(jié)構(gòu).
圖1 POF-ICN 架構(gòu)
命名方案:層次化的人類可讀名字(Hierarchical Human Readable Name,H-HRN,以下簡稱 HRN)與扁平化的自驗證全局唯一標(biāo)識符(Flat Self-certified Entitiy Unique IDentity,FS-EUID,以下簡稱 EUID)相結(jié)合.
全局名稱解析服務(wù) (Global Name Certification,id Assignment and Resolution service,GNCAR):NA(Network Address)表示POF-ICN實體所在的位置.GNCAR可以將HRN與EUID,EUID與NA綁定,同時可以完成EUID到NA的解析服務(wù).考慮到移動性,將EUID和NA作動態(tài)綁定,即發(fā)生移動時網(wǎng)絡(luò)設(shè)備會向GNCAR發(fā)送注冊信息,GNCAR查詢并更新對應(yīng)綁定關(guān)系.
路由過程:① 獲取NA:消費者請求名稱解析服務(wù)獲取目標(biāo) NA;② 域間路由:根據(jù)域間/域內(nèi)路由協(xié)議將請求報文轉(zhuǎn)發(fā)到目標(biāo)網(wǎng)絡(luò)域;③ 域內(nèi)路由:控制器根據(jù)網(wǎng)絡(luò)狀況合理規(guī)劃轉(zhuǎn)發(fā)路徑并下發(fā)流表,POF交換機(jī)根據(jù)流表轉(zhuǎn)發(fā)請求報文到生產(chǎn)者.
POF-ICN中通過移動管理模塊(Mobility Management Entity,MME)、會話管理模塊 (Session Management,SM)與控制器相互協(xié)作實現(xiàn)移動性支持.MME對移動用戶進(jìn)行檢測定位、重定位與帶寬分配.SM維護(hù)邏輯連接、保證業(yè)務(wù)連續(xù)性與會話質(zhì)量,同時定期與MME和控制器進(jìn)行交互獲取業(yè)務(wù)雙方的移動狀態(tài)信息.控制器根據(jù)SM反饋信息按需的重新規(guī)劃路徑.
1.2.1 會話管理 SM
POF-ICN網(wǎng)絡(luò)中,為維護(hù)邏輯連接、保證業(yè)務(wù)連續(xù)性及會話質(zhì)量,需根據(jù)不同終端屬性、用戶類別和業(yè)務(wù)特征等配置會話和傳輸參數(shù),實現(xiàn)按需的會話管理.需要會話管理的業(yè)務(wù)主要包括語音通信類業(yè)務(wù)和多宿主傳輸業(yè)務(wù)等.
會話管理模塊是軟件模塊,部署在控制面,其主要功能是注冊和管理會話、對會話狀態(tài)進(jìn)行監(jiān)測及對會話參數(shù)進(jìn)行計算與配置.
1.2.2 消費者移動性支持
POF-ICN架構(gòu)下消費者移動如圖2所示,消費者切換接入點 (Access Point,AP)后再次發(fā)出請求,交換機(jī)將請求報文轉(zhuǎn)發(fā)給控制器,控制器重新規(guī)劃路徑并下發(fā)流表.
圖2 消費者移動
上述流程中的控制器重新規(guī)劃路徑階段可能會有請求報文丟失,所以路徑規(guī)劃時間會影響移動過程中業(yè)務(wù)可靠性與連續(xù)性.我們將移動切換延遲定義為設(shè)備發(fā)生切換前接收到最后一個數(shù)據(jù)包與發(fā)生切換后接收到第一個數(shù)據(jù)包的時間間隔,則消費者移動切換總時延為t1+t3+2×RTT,丟包數(shù)量為 (t1+t3+2×RTT)×request_rate,RTT為鏈路平均往返時延.因此在基于POFICN的移動性支持系統(tǒng)中還實現(xiàn)了對路徑的提前規(guī)劃,以提高服務(wù)質(zhì)量.由于提前規(guī)劃路徑必須記錄業(yè)務(wù)相關(guān)信息,其只能應(yīng)用于會話業(yè)務(wù)中,協(xié)同SM來實現(xiàn),過程為:① SM定期向MME查詢消費者連接狀態(tài);②MME監(jiān)測消費者連接狀態(tài),若預(yù)測到消費者將發(fā)生移動,SM查詢時MME會報告該消費者可能接入的下一個接入點(AP);③ SM會將該會話業(yè)務(wù)的相關(guān)會話信息、下次可能接入的接入點(AP)和對應(yīng)生產(chǎn)者的接入點(AP)發(fā)送至控制器;④ 控制器在這兩個接入點(AP)之間規(guī)劃新的路徑提前下發(fā)流表.當(dāng)消費者發(fā)生預(yù)期移動后,可以按照已規(guī)劃好的路徑直接進(jìn)行當(dāng)前會話.
1.2.3 生產(chǎn)者移動性支持
在POF-ICN中,生產(chǎn)者會周期性公告內(nèi)容信息,當(dāng)生產(chǎn)者發(fā)生移動切換后會向GNCAR重新注冊內(nèi)容信息,控制器收到向該生產(chǎn)者的請求報文后會重新規(guī)劃路徑將其轉(zhuǎn)發(fā)到生產(chǎn)者新的位置.生產(chǎn)者移動切換流程為:① 生產(chǎn)者重新接入新的AP,向GNCAR注冊接入的位置.② 生產(chǎn)者公告其所擁有的內(nèi)容,控制器將其內(nèi)容信息轉(zhuǎn)發(fā)給會話管理模塊SM,SM更新對應(yīng)的會話信息并將結(jié)果反饋給控制器.③ 控制器根據(jù)得到的會話信息對相應(yīng)會話進(jìn)行重新路徑規(guī)劃并下發(fā)流表.④ 切換成功后控制器向交換機(jī)發(fā)起刪除相關(guān)會話失效流表的操作.
流程圖(圖3)中t3代表生產(chǎn)者公告周期,不同內(nèi)容的公告周期與其所公告的內(nèi)容相關(guān).對單個業(yè)務(wù)的生產(chǎn)者移動切換總時延為t1+t2+t3+t4+2×RTT.定義生產(chǎn)者移動切換時延為生產(chǎn)者所有業(yè)務(wù)的平均切換時延,生產(chǎn)者移動切換時延如式(1)所示,S表示生產(chǎn)者的業(yè)務(wù)數(shù)量.
圖3 生產(chǎn)者移動
式(2)表示平均丟包數(shù)量:
對于有服務(wù)質(zhì)量保障需求并屬于會話類的業(yè)務(wù),控制器可以在生產(chǎn)者移動前提前為業(yè)務(wù)規(guī)劃路徑.主要流程與消費者移動支持的相關(guān)流程相似,皆可通過MME對生產(chǎn)者進(jìn)行移動預(yù)測、通過SM查詢進(jìn)行中的相關(guān)會話及通過控制器提前規(guī)劃路徑.兩者的區(qū)別在于生產(chǎn)者可能包含大量業(yè)務(wù),提前規(guī)劃路徑需要對每一個相關(guān)的會話業(yè)務(wù)都重新規(guī)劃其路徑,會占用更多的網(wǎng)絡(luò)資源.
本實驗基于POX控制器與POF交換機(jī),通過使用libpcap來實現(xiàn)生產(chǎn)者與消費者.
Libpcap是一種基于Unix的開源庫,支持在網(wǎng)卡處抓取、處理和發(fā)送報文,并且支持自定義報文格式.
由于在實驗中沒有涉及跨域移動性支持的實驗研究,可以直接在控制器上增加GNCAR維護(hù)的注冊與名稱解析功能來合理的簡化系統(tǒng).圖4為本實驗中使用的公告包、興趣包和數(shù)據(jù)包格式.
圖4 公告包、興趣包和數(shù)據(jù)包
圖5(a)為消費者移動實驗拓?fù)?消費者位于s1上,生產(chǎn)者位于s4上,切換消費者轉(zhuǎn)發(fā)端口模擬移動.
實驗步驟:① 啟動交換機(jī)和控制器,完成拓?fù)浒l(fā)現(xiàn);② 生產(chǎn)者發(fā)送內(nèi)容“test_content”的公告包;③ 消費者發(fā)起請求,切換收發(fā)數(shù)據(jù)端口模擬消費者移動,然后重新發(fā)送請求;④ 記錄相關(guān)信息.
我們定義單次請求響應(yīng)率 DRSR (Data Ratio by a Single Request):在沒有重傳機(jī)制下移動設(shè)備接收到的數(shù)據(jù)包與發(fā)起的請求數(shù)量比值,如式(3):
實驗首先驗證了在POF-ICN下采用本研究所提出的工作流程可以成功實現(xiàn)消費者移動性支持.通過觀察s1上eth2與eth3的流量情況,可以看出消費者切換轉(zhuǎn)發(fā)端口后eth2與eth3上流量發(fā)生了改變,表明消費者成功切換.除此之外,我們還比較了在有和無提前規(guī)劃路徑情況下的DRSR.實驗結(jié)果顯示,在沒有重傳機(jī)制,網(wǎng)絡(luò)狀況良好的情況下,發(fā)送相同的興趣包,提前規(guī)劃路徑可以得到更多的響應(yīng)數(shù)據(jù)(在網(wǎng)絡(luò)狀況良好的情況下DRSR接近100%),而無提前規(guī)劃路徑情況下的DRSR則低于90%.此研究中提前規(guī)劃路徑情況下的DRSR接近100%,可能因為實驗中網(wǎng)絡(luò)環(huán)境過于理想.
圖5 移動實驗拓?fù)?/p>
通過生產(chǎn)者延遲發(fā)送數(shù)據(jù)模擬鏈路擁塞狀況,圖6為不同時延下DRSR的值,橫坐標(biāo)為生產(chǎn)者發(fā)送數(shù)據(jù)的延遲時間,縱坐標(biāo)為DRSR,可以看出隨著生產(chǎn)者發(fā)送時延增加DRSR的值逐漸下降:在提前規(guī)劃路徑的情況下,延遲時間為 5 ms時DRSR為 93%,10 ms情況下為 87%,20 ms 情況下為 78%.當(dāng)路徑規(guī)劃延遲為10 ms 的情況下,延遲時間為 5 ms 時DRSR為 83%,10 ms 情況下為 77%,20 ms 情況下為 66%.當(dāng)路徑規(guī)劃延遲為 50 ms 的情況下,延遲時間為 5 ms 時DRSR為 43%,10 ms情況下為 36%,20 ms情況下為 25%.
由于物理實驗規(guī)模有限,通過仿真實驗來模擬復(fù)雜網(wǎng)絡(luò)拓?fù)湎孪M者移動情況.各模塊設(shè)置為:
1)生產(chǎn)者模塊:生產(chǎn)者收到興趣包進(jìn)行解析,將所請求的信息與對應(yīng)的時間戳構(gòu)造數(shù)據(jù)包并進(jìn)行轉(zhuǎn)發(fā).
2)消費者模塊:為請求者設(shè)置簡單的重傳機(jī)制:請求者在一定時間內(nèi)未收到響應(yīng)便會請求重傳.重傳時間模擬當(dāng)前TCP中使用的重傳機(jī)制,即根據(jù)每次得到的報文段取樣得到報文段的樣本RTT (sample RTT),根據(jù)樣本確定重傳時延.取樣操作可采用固定時間間隔.因為網(wǎng)絡(luò)狀況的波動,所以對于任何給定的樣本RTT都是非典型的,因此要取得典型的RTT,需要對其進(jìn)行指數(shù)加權(quán)移動平均 (EWMA):estimated RTT=(1-α)×estimated RTT+α×sample RTT,設(shè)α的值為0.125.因為越近的樣本所反映出的網(wǎng)絡(luò)狀況越接近當(dāng)前網(wǎng)絡(luò)狀況,給最近的樣本較大的權(quán)值.定義RTT偏差devRTT,用于估算sample RTT偏離estimated RTT的程度:devRTT=(1-β)×devRTT+β×|sample RTT-estimated RTT|,其中devRTT是sample RTT和estimated RTT之差的指數(shù)加權(quán)移動平均,如果sample RTT的波動小,那么devRTT的波動便會小.第一次的devRTT=1/2(sample RTT),以后可按公式來計算,β取 0.25.
3)交換機(jī)模塊:交換機(jī)模塊維護(hù)待轉(zhuǎn)發(fā)報文隊列并完成流表匹配.接收到請求報文后,交換機(jī)模塊更新其時間戳并且根據(jù)該請求是否匹配流表來處理請求:如果匹配,將請求直接進(jìn)行轉(zhuǎn)發(fā),否則將其轉(zhuǎn)發(fā)給控制器.此外,交換機(jī)模塊會刪除長期未匹配的失效流表.
4)控制器模塊:控制器使用分支限界法來進(jìn)行路徑規(guī)劃并向交換機(jī)下發(fā)對應(yīng)流表.為了模擬真實網(wǎng)絡(luò)中控制器規(guī)劃路徑的時間,設(shè)置其“規(guī)劃路徑時延”為某一范圍內(nèi)的隨機(jī)數(shù),該范圍取 30 ms到 50 ms.
圖6 鏈路“擁塞”與消費者移動
圖7為消費者移動仿真實驗拓?fù)鋱D,模擬消費者從1經(jīng)過2、3、4、5最終移動并接入到6節(jié)點的具體過程.我們定義請求響應(yīng)率為消費者接收到的數(shù)據(jù)包數(shù)量與其發(fā)送的請求的比值.通過請求響應(yīng)率來分析實驗結(jié)果.
圖7 消費者移動仿真拓?fù)?/p>
實驗結(jié)果如圖8所示,橫坐標(biāo)為節(jié)點,縱坐標(biāo)為對應(yīng)節(jié)點的請求響應(yīng)率.我們定義點i的請求響應(yīng)率為消費者從接入點i到接入點i+1后經(jīng)過固定時間間隔的平均請求響應(yīng)率,消費者移動后的重新規(guī)劃路徑階段發(fā)送了較多的請求,所以請求響應(yīng)率會有所下降(對每個接入點其請求響應(yīng)率都下降10%左右).
圖8 請求響應(yīng)率變化
如前文圖5(b)所示,生產(chǎn)者在s4上通過切換網(wǎng)卡來模擬生產(chǎn)者移動,消費者在s1上請求數(shù)據(jù).
生產(chǎn)者移動性支持實驗首先驗證了在POF-ICN下采用本研究所提出的工作流程可以成功實現(xiàn)生產(chǎn)者移動性支持:在生產(chǎn)者移動前后,消費者皆可以正常得到所請求的數(shù)據(jù).此外,實驗還比較了無和有提前規(guī)劃路徑情況下對生產(chǎn)者移動所產(chǎn)生的影響,圖9顯示的是無和有提前規(guī)劃路徑情況下對生產(chǎn)者移動的影響,橫坐標(biāo)表示路徑規(guī)劃延遲,縱坐標(biāo)表示消費者的請求響應(yīng)率,無提前規(guī)劃路徑情況下路徑規(guī)劃延遲為10 ms時消費者的DRSR為88%,路徑規(guī)劃延遲為50 ms時消費者的DRSR為73%,有提前規(guī)劃路徑情況下消費者的DRSR為99%.數(shù)據(jù)表明,有提前規(guī)劃路徑情況下消費者的DRSR明顯高于無提前規(guī)劃路徑情況下消費者的DRSR.
圖9 路徑規(guī)劃延遲與請求響應(yīng)率
在該實驗中生產(chǎn)者切換端口時會立刻重新進(jìn)行內(nèi)容公告.圖10表示公告周期對DRSR的影響,橫坐標(biāo)表示公告周期,縱坐標(biāo)表示DRSR.從圖中可以看出,在沒有提前規(guī)劃路徑的情況下公告周期越長DRSR越低,當(dāng)路徑規(guī)劃延遲為10 ms時公告延遲為2 ms的DRSR(85%)比公告延遲為 10 ms的DRSR(78%)高 7%,當(dāng)路徑規(guī)劃延遲為50 ms時公告延遲為2 ms的DRSR(71%)比公告延遲為 10 ms的DRSR(63%)高 8%,因為路徑規(guī)劃時必須有生產(chǎn)者位置及其公告的業(yè)務(wù)信息,而提前規(guī)劃路徑時生產(chǎn)者在重新接入時會直接收到消費者的請求并響應(yīng),因此沒有受到公告周期的影響.
圖10 公告周期與響應(yīng)率
本文基于POF與ICN融合架構(gòu),分別研究了對于消費者和生產(chǎn)者的移動性支持機(jī)制并且進(jìn)行了相關(guān)驗證,實驗證明了本研究所提方案的可行性,同時表明提前規(guī)劃路徑能夠有效減少丟包率.為了減少移動過程中的延遲與丟包,對于端到端的實時會話還提出了在控制平面分離出會話管理模塊的方案,未來工作中將會細(xì)化控制平面分離出會話管理模塊方案并進(jìn)行進(jìn)一步的實驗驗證,實現(xiàn)對會話類業(yè)務(wù)的監(jiān)測和管理,對減少移動過程中的延遲與丟包,實現(xiàn)無縫移動提供有價值的理論和實驗依據(jù).