李 平,王 雷,吳超群
(中國科學技術大學 自動化系,合肥 230026) (中國科學院 電磁空間信息重點實驗室,合肥 230026) E-mail:flat@mail.ustc.edu.cn
ICN(Information centric networking,信息中心網絡)[1]以信息和內容的名字作為網絡協議的核心,通過內容與位置分離以及網內緩存的方式滿足大規模內容分發和移動性支持等需求,是未來網絡的候選方案之一.但現有研究中的ICN架構,大多基于內容的層次化名字進行路由,以內容路由器形式組建網絡,無法與現有網絡基礎設施兼容.隨著SDN(Software-Defined Networking,軟件定義網絡)的發展,交換機可以支持更復雜的網絡協議,SDN與ICN的結合逐漸成為未來網絡的研究熱點[2].POF(Protocol-oblivious forwarding,協議無感知轉發)交換機支持任意自定義協議以及對本地存儲的訪問[3],以此為基礎的POF-ICN網絡[4,5]成為具有代表性的SDN融合ICN架構.
POF-ICN網絡采用混合路由機制,其核心設計思想之一是僅在網絡邊緣使用內容名字進行路由,并依托邊緣緩存實現內容的高效訪問.邊緣緩存的提出最早見于文獻[6],與ICN結合的緩存云則是在霧計算以及物聯網興起的背景下,如文獻[7]提出的架構,融合霧計算使得ICN的緩存無處不在.但目前國內外研究主要集中在邊緣架構方面,文獻[8]提出三層的移動邊緣ICN云架構,由本地云和全球云混合提供面向物聯網設備的服務從而有效降低核心網的負載,以及在車載移動云環境中應用ICN[9],并提出了適用場景以及研究方向等.邊緣緩存的應用使得數據更貼近用戶,也更適合小范圍自組織的網內傳播,文獻[10]中論述了ICN中邊緣緩存的理論模型與性能優越性,但沒有給出明確的實際應用場景.
ICN與SDN結合的核心問題是如何把ICN網絡行為映射到轉發平面,換句話說,是如何把以內容名字為中心的路由過程在控制器上表示成轉發規則,并將其轉換成交換機流表,在轉發平面上實現對內容和內容緩存的訪問.Hash路由技術在過去的研究中被用于企業網絡[11]中確定內容放置和檢索以減小響應時延,通過哈希函數將內容標識符與放置位置建立映射關系,在ICN中類似的技術同樣用來管理內容與路由節點的映射關系,文獻[12]研究了ICN中考慮重定向成本的哈希路由策略以及路徑選擇機制,并驗證了哈希路由方案可以提高ICN中的緩存空間利用率和緩存命中率.文獻[13]中提出的哈希路由方案則通過對內容名字的哈希結果以及緩存歸屬劃分來決定轉發目的地.以上這些ICN中的哈希路由方案問題在于需要內容交換機節點支持哈希運算功能或是由集中代理來幫助路由請求重定向,并且轉發節點的計算代價以及重定向代價可能會帶來過高的時延.
本文基于POF-ICN架構,提出一種POF內容交換機邊緣網絡模型,以及對應的內容路由與緩存機制,實現了靠近用戶端的低時延、高效率的內容分發.
POF-ICN架構中,靠近用戶端的邊緣網負責內容緩存及面向用戶的內容分發,主干網用于連接分散在各地的邊緣網,如圖1所示.

圖1 POF-ICN架構示意圖Fig.1 POF-ICN architecture
由于主干網主要承擔的是網間數據傳輸,只需要考慮域間路由,鏈路明確而簡單,因此可以使用IP路由、源路由等成熟的路由協議.而在邊緣網中使用ICN協議降低請求時延、提高緩存使用效率和命中率,邊緣網和骨干網之間則使用IP-ICN網關進行協議轉換[14].
邊緣網的設計很好體現了SDN與ICN融合的優勢,其中控制平面只需決定內容與POF內容交換機的映射關系以及轉發策略,而轉發平面則通過靈活的協議字段匹配以及多級流表實現內容路由及緩存.POF控制器承擔邊緣網絡的信息整合和控制管理功能,為POF內容交換機的轉發模塊下發流表,使得POF內容交換機識別ICN數據包并依據規則進行相應動作.POF內容交換機主要包括流表轉發模塊以及緩存空間實現,承擔了對內容的路由和緩存功能.
在ICN中,緩存機制與路由方案緊密聯系,因此,本文提出的緩存機制同時也是邊緣網絡中一種路由方案的實現,在本節中一并介紹.
哈希路由是能夠有效實現邊緣網絡中緩存內容映射并提供快速路由機制的方法.最簡單的如取模不能滿足一致性哈希,以往的ICN路由機制中也缺乏有效的實際哈希方案.動態的方案如信標環方案[15]可以對緩存內容動態分配從而實現負載均衡,然而針對所有內容的動態分配會引入過高的管理開銷和時延.
內容尋址網絡(CAN)[16]是結構化對等網絡的一種實現,通過分布式哈希表實現內容與存放位置的映射,具有可拓展性、容錯性、完全自組織等特點.本文基于其對內容編址的思想,利用協議無感知轉發技術,設計實現了一種POF-ICN架構中的邊緣緩存機制.
首先,在邊緣網絡中建立內容和節點的坐標映射關系,在POF-ICN數據包中,采用定長哈希值的二進制扁平化命名方式來提高命名空間利用率并統一轉發規則,由128位全局唯一標志GUID來標識內容,從中選取B位構建出二維坐標,如圖2所示.

圖2 構建內容編址空間Fig.2 Building content addressable space
POF控制器根據邊緣網絡拓撲建立坐標空間,從而使每個內容都映射到邊緣網絡中唯一節點,且坐標空間與物理拓撲有序對應.控制器根據節點拓撲制訂轉發策略,為POF內容交換機寫入相應流表,使其對ICN報文中的GUID掩碼匹配,通過匹配實現向同層節點或下層節點轉發.
POF-ICN邊緣網絡中POF內容交換機集合為CR,總數為V,邊緣網絡假設為n層結構化拓撲,每層的POF內容交換機個數為{V1,V2,…,Vn},首先確定從GUID中選取的坐標位數B,需滿足以下條件:
(1)
(2)
2B≥V
(3)
全局拓撲G={gi,j|1≤i≤V,1≤j≤V}由POF控制器與POF內容交換機建立連接后獲取,流表生成算法步驟如下:
步驟1.根據邊緣網絡拓撲層數n以及每層POF內容交換機個數{V1,V2,…,Vn},確定B;
步驟2.對每層的POF內容交換機,根據每個POF內容交換機的轉發和緩存能力進行排序,通過貪心算法分配編址空間,得到編址空間映射關系A={ai|1≤i≤V};
步驟3.對每個POF內容交換機節點CRi,根據編址空間映射關系ai生成STORE_TABLE中的流表項;
步驟4.根據全局拓撲G,由Floyd算法求出所有POF內容交換機節點兩兩之間最短路徑P;
步驟5.對每個POF內容交換機節點CRi,根據編址空間映射關系A和最短路徑P,得到GUID對應的下一跳轉發端口,生成INTR_TABLE中的轉發流表項.
在流表生成算法中,步驟2的排序部分時間復雜度為O(V2),貪心算法分配編址空間的時間復雜度為O(V),步驟4中的Floyd算法時間復雜度為O(V3),因此整個流表生成算法的時間復雜度為O(V3),考慮到在POF-ICN邊緣緩存機制中流表可以在預部署階段生成,無需實時計算,故時間復雜度滿足要求.
POF控制器下發的流表指定POF內容交換機對自定協議報文的不定長域進行匹配動作.這里只關注兩個字段:ICN報文類型,GUID.控制器對邊緣網絡中的每一個POF內容交換機,根據劃分的坐標區域下發各自的多級流表,其中定義了對不同類型的ICN報文的操作,其中ICN_TABLE為對ICN協議報文類型的判斷,分別為興趣包、數據包等.STORE_TABLE負責根據GUID中的坐標位匹配判斷內容是否屬于本節點的內容編址區域,INTR_TABLE為實際的路由轉發表,根據GUID中的坐標位匹配判斷下一步轉發的端口,PIT表類似CCN中的PIT表,負責記錄經過的請求信息,使得數據包按照PIT一步一步轉發回請求者,PIT表的添加和刪除操作由POF內容交換機根據匹配到的ICN報文進行相應ADD ENTRY和DELETE ENTRY動作.流表示意圖如圖3所示.

圖3 POF內容交換機邊緣緩存流表示意圖Fig.3 Edge caching flow table in POF content switch
POF-ICN架構邊緣網絡中具體的請求內容流程如圖4所描述,當內容發布到邊緣網絡之后,對內容的請求會被POF內容交換機逐跳轉發直至到達內容對應編址空間的歸屬節點,并不斷更新路徑上節點的PIT流表,在POF內容交換機的緩存模塊中,通過布隆過濾器快速查詢緩存是否命中,從而優化緩存查詢的時間和空間效率.緩存命中后,響應的數據包可以通過PIT表轉發回請求者;而當緩存未命中時,則需重定向至內容源或者跨域請求,可采用重定向流表或POF-ICN中其他路由機制[4,5]等.
在控制器初次下發流表之后,邊緣網絡即可進入快速自組織響應路由階段,可以減輕主干網流量壓力,快速響應邊緣區域用戶請求.由于空間劃分基于真實網絡拓撲層次,比起P2P中完全邏輯化的路徑規劃,保證了逐跳的高速性.此外,由于其結構化的物理拓撲與內容尋址空間映射,有利于實現POF流表的掩碼匹配轉發規則,不需要內容交換機節點進行復雜的哈希運算,實現邊緣網絡中的高效快速路由,從而滿足POF-ICN內容分發場景下的用戶需求.

圖4 請求內容的處理流程Fig.4 Process of requesting content
利用內容尋址網絡的思想,對需要緩存的內容與節點之間建立映射關系,最簡單的例子即為劃分均勻的空間范圍,每個區域對應一個內容交換機節點,在這種情況下所有的緩存內容均勻分布在邊緣網絡中的各個節點中.然而在實際的內容傳輸場景并非如此,首先,內容交換機節點的處理能力有所不同,核心節點具有更大的緩存和更高的轉發速度;其次,內容具備一定的流行度,在網絡研究中通常認為內容流行度服從齊普夫分布[17].

圖5 可拓展的內容編址映射Fig.5 Scalable content addressing map
本文提出的邊緣緩存機制可以通過可伸縮的映射關系來實現節點的負載均衡,比如一個內容交換機節點可以負責多片坐標編址區域.POF內容交換機靈活的轉發處理能力以及控制器的集中管控能力允許靈活地從GUID中選擇可變長度作為坐標空間映射的依據,如圖5所示,一個區域很容易拓展為多個小區域,交由多個內容交換機節點負責,從而實現有彈性的緩存機制.同時,即便某個節點負載過高,也可以將原本負責的緩存區域向與周圍的鄰居節點重新規劃,由于原本的內容編址方案基于物理拓撲,因此引入的重新規劃開銷在可控范圍內.
本節通過仿真實驗來驗證本文提出的邊緣緩存機制的性能.實驗環境:操作系統為Ubuntu 14.04.1 LTS,CPU為Intel Pentium CPU G860 3.00GHz,內存為4GB.采用具有70個節點的結構化拓撲來模擬邊緣內容分發網絡,每個內容交換機節點具有相同的緩存能力為C,設置1個內容源節點模擬向邊緣網絡中發布內容.假設內容種類為2000個,且大小相同為1MB,內容的流行度服從齊普夫分布,齊普夫分布參數為α,范圍為0.5到1.5.模擬用戶在靠近接入網的一側產生對內容的請求,且請求速率服從泊松分布,整個仿真過程總共完成1000000個請求.同時,本文選取ICN中的幾種常用緩存策略作為對比,分別為:LCE,LCD[18],Probability(p=0.5)[19],ProbCache[20].緩存替換策略則均采用默認的LRU.選取平均時延和緩存命中率作為性能指標.
實驗結果及分析如下:
如圖6和圖7所示,zipf參數為0.6時,當節點緩存能力C小于15,邊緣緩存機制中受節點緩存能力限制,緩存替換較為頻繁,大部分請求仍需到內容源獲取內容,此時哈希路由帶來的重定向路徑開銷會導致邊緣緩存平均時延較高,甚至差于其他緩存策略.而當C逐漸增加時,邊緣緩存機制具有更好的表現,C=30時,邊緣緩存機制比最差的LCE提升了23%,比LCD也提升了12.3%.當C大于40后,邊緣緩存達到了性能極限,之后性能趨于平穩,當然此時整個拓撲中的緩存能力已經大于所有內容容量,現實場景很難出現這種情況.而在緩存命中率方面,邊緣緩存則由于采用了類似哈希的協作緩存方式,所有的內容被均勻緩存在整個邊緣網絡中,因此緩存命中率具有明顯優勢.

圖6 平均時延隨節點緩存能力變化(α=0.6)Fig.6 Average latency varies with cache capability(α=0.6)

圖7 緩存命中率隨節點緩存能力變化(α=0.6)Fig.7 Cache hit rate varies with cache capability(α=0.6)
從圖8和圖9中可以看出,邊緣緩存由于采取了哈希路由的策略,內容與緩存節點映射較為均勻一致,當zipf參數增長時,對最流行的內容的請求占了絕大多數,此時其他幾種緩存策略會將流行內容緩存到多數節點,用戶能在最近的節點獲取到最流行的內容,平均時延顯著減少.而邊緣緩存則對內容流行度較不敏感,性能總體比較穩定,zipf參數大于1時,平均時延指標明顯落后于其他的緩存策略.但是應當注意到,當zipf參數較小時,對內容的請求分布較為均勻,邊緣緩存的緩存命中率大幅領先于其他策略.當zipf參數為1時,邊緣緩存的平均時延比LCD高27.5%,緩存命中率卻比LCD高70.2%.這說明在zipf參數較大時,邊緣緩存策略通過犧牲部分性能,避免緩存的頻繁替換,大幅提高了邊緣網絡的緩存系統的穩定性.

圖8 平均時延隨齊普夫參數變化(C=25)Fig.8 Average latency varies with Zipf parameter(C=25)
POF-ICN作為一種融合SDN的ICN架構,控制開銷也是衡量網絡性能的重要指標之一.交換機與控制器之間的控制開銷包括數據收集成本,數據包PacketIn成本以及流表更新成本.利用Obadia M等人提出的控制開銷模型[21],對邊緣緩存機制的控制開銷進行仿真實驗分析,選取普通SDN路由(控制器根據PacketIn消息為請求規劃路徑)以及簡單的哈希路由(取模)作為對比,交換機的流表項采用LRU策略更新.

圖9 緩存命中率隨齊普夫參數變化(C=25)Fig.9 Cache hit rate varies with Zipf parameter(C=25)
圖10反映了不同的路由策略下,控制開銷隨請求次數增加的情況.對于邊緣緩存和簡單的取模哈希路由,當緩存容量較低時,由于額外的路徑開銷以及頻繁的緩存替換,其控制開銷基本呈線性增長趨勢,相較普通SDN路由并無優勢.而當緩存容量充足時,邊緣緩存和取模哈希路由的控制開銷增長趨緩.相比于取模哈希路由,邊緣緩存因針對內容空間編址,流表項聚合效果顯著,能夠有效降低約40%的控制開銷.
本文分析研究了POF-ICN架構中的邊緣內容分發問題,綜合ICN網內緩存的特性、哈希路由中的內容映射以及POF協議無感知技術,提出了一種邊緣緩存機制,該機制在改善傳統緩存策略LCE、LCD的冗余和低效問題的同時,具備相當可靠的性能,能夠滿足POF-ICN場景下大規模內容分發的需求.仿真實驗表明,在緩存命中率指標下,邊緣緩存明顯優于其他策略,在平均時延指標下,齊普夫參數較小時具備較好的性能且較為穩定,且相比于簡單的哈希路由,能有效地降低控制開銷.未來將考慮結合邊緣緩存的可拓展映射機制,保證邊緣緩存效率的同時,針對流行內容集中的情況進一步優化,提高邊緣網絡整體內容分發質量.

圖10 控制開銷隨請求次數變化(α=0.6)Fig.10 Control overhead varies with requests(α=0.6)