李 鏗,陳京文,蔣 鈺,馬 林
(1.烽火通信科技股份有限公司,武漢 430074; 2.華中科技大學電子信息與通信學院,武漢 430074)
一種軟件定義的信息中心網絡架構
李 鏗1,陳京文2,蔣 鈺2,馬 林2
(1.烽火通信科技股份有限公司,武漢 430074; 2.華中科技大學電子信息與通信學院,武漢 430074)
現有SDICN(軟件定義信息中心網絡)技術方案難以支持海量內容分發(fā)、交換和緩存組件的分別升級。文章提出一種基于覆蓋網絡的SDICN系統架構,由網絡邊緣的緩存節(jié)點轉發(fā)內容請求和緩存內容數據,緩存與交換不再耦合,克服了現有技術方案的上述局限;基于SDN(軟件定義網絡)的集中式控制,避免了覆蓋網絡系統的次優(yōu)控制問題。原型系統實驗分析表明,所提系統可直接運行于通常的SDN中,少量的邊緣節(jié)點即可有效減少內容分發(fā)響應時間。研究結果有利于SDN和ICN(信息中心網絡)技術的擴展及應用。
信息中心網絡;軟件定義網絡;邊緣緩存;集中式控制
SDICN(軟件定義信息中心網絡)[1-4]結合了ICN(信息中心網絡)[5]和SDN(軟件定義網絡)[6]兩種新型架構的優(yōu)點,以軟件可編程的方式實現高效、安全的內容分發(fā)。鑒于SDN和ICN分別從分組流和內容視角來處理數據,現有SDICN系統[1-4]采用內容名至流標識符的映射,并在交換節(jié)點集成存儲器,但其存在兩種局限:(1)有限的數據包首部字段空間無法映射海量的內容名;(2)交換傳輸與內容存儲集成的系統難以分別擴展或升級。
針對上述問題,本文提出一種基于邊緣緩存的SDICN系統架構,由邊緣節(jié)點緩存內容,系統運行邏輯由SDN控制器軟件集中控制。無需內容名至流標識符的映射,支持海量內容分發(fā);內容緩存獨立于數據交換,有利于交換節(jié)點和緩存節(jié)點分別擴展和升級;內容請求路由、數據緩存均由控制器軟件基于全局視圖集中控制,實現了資源的優(yōu)化調度和靈活的策略管理。與采用邊緣緩存的idICN[7](增量部署的ICN)不同,本文采用SDN框架,在數據交換、內容存儲兩個維度都能利用全局視圖和集中式控制優(yōu)化內容請求路由和數據緩存,避免了覆蓋系統由于局部視圖只能實現次優(yōu)控制的基本局限。
SDICN系統結構如圖1所示,構成節(jié)點組成SDN之上的覆蓋網絡,相應功能如下:(1)緩存節(jié)點:緩存內容數據,響應和轉發(fā)內容請求。(2)SDICN控制器:運行于SDN控制器中的軟件,確定緩存節(jié)點和CSN,登記ICN命名內容,執(zhí)行URI(統一資源標識符)命名內容的DNS(域名系統)解析,管理緩存節(jié)點和源節(jié)點。(3)ICN CSN:向SDICN控制器注冊ICN命名內容,為請求節(jié)點提供內容數據。(4)URI CSN:URI命名內容源服務器,如Web(萬維網)服務器。(5)內容請求節(jié)點:請求ICN和URI命名內容。
圖1 SDICN系統結構
SDICN系統主要流程如下:
(1)內容名解析:請求者查詢內容名對應主機地址,接入SDN交換機將查詢消息轉發(fā)至DCN,DCN回復以自身地址;如DCN無CSN信息,則通過控制會話通道B1向SDICN控制器查詢。
(2)請求內容:根據響應消息給出的DCN地址,請求節(jié)點向其發(fā)送內容請求。
(3)內容請求轉發(fā):DCN如已緩存請求內容,則轉至步驟(4),反之查詢內部表格獲知CSN (ICN、URI源節(jié)點或緩存節(jié)點),向其請求和獲取內容數據,同時緩存。
(4)傳送內容:DCN向請求者傳輸內容數據。
系統流程還包括節(jié)點間控制信息交互:A1表示ICN源節(jié)點與SDICN控制器的控制會話,用于節(jié)點注冊、ICN命名內容發(fā)布。B1對應緩存節(jié)點與SDICN控制器的控制會話,用于緩存節(jié)點注冊以及緩存內容、剩余空間、請求數量和鏈路負載等狀態(tài)信息的周期性報告。
內容命名同時支持ICN和URI。ICN命名支持兩類現有機制,即CCN(內容中心網絡)[8]的可讀取命名和DONA(面向數據的網絡架構)[9]的自認證命名。支持URI命名,使得現有互聯網內容分發(fā)也能受益。內容名完整表達形式為Protocol:// Name。Protocol為CCN、DONA時分別對應于CCN、DONA命名,并可進一步擴展;Name為內容名。為了兼容URI內容獲取,ICN命名還可采用“域名+命名方式+內容名”復合方式,其中域名統一采用http://sdicn.org,如http://sdicn.org/ccn/ xxx。采用這種方式易于兼容現有DNS,但也限制了內容名長度,尤其是DONA命名。
基于系統全局視圖,SDICN控制器計算內容請求路由,將結果寫入緩存節(jié)點及SDN接入交換機,緩存節(jié)點據此轉發(fā)內容請求和緩存更新內容數據。
2.1內容請求路由
內容請求路由計算包括緩存節(jié)點選擇和供給節(jié)點選擇。SDICN控制器基于網絡距離和節(jié)點負載選擇緩存節(jié)點。對于給定內容請求,首先選擇最短距離緩存節(jié)點作為其DCN;如最短距離緩存節(jié)點負載較重,則選擇距離較長但負載較輕的緩存節(jié)點。為避免頻繁地計算處理,綜合采用固定設置與動態(tài)調整:根據網絡拓撲和節(jié)點容量,按照網絡區(qū)域固定指派緩存節(jié)點作為區(qū)域所有請求的DCN;運行過程中,動態(tài)地將負載過高的緩存節(jié)點所服務的部分請求轉移至輕載節(jié)點。
供給節(jié)點選擇與緩存節(jié)點選擇類似,區(qū)別在于:(1)備選節(jié)點包含源節(jié)點、緩存節(jié)點兩種;(2)應減少域間流量。如源節(jié)點與DCN在同一SDN域內,選擇CSN時不區(qū)分源節(jié)點和緩存節(jié)點;反之則優(yōu)先選擇域內緩存節(jié)點作為CSN。為減少供給節(jié)點選擇的計算量,采取主動式和反應式混合方式,對于高流行度內容,預先計算選擇供給節(jié)點,推送結果至相應緩存節(jié)點;對于低流行度內容請求,緩存節(jié)點按需請求SDICN控制器進行計算??紤]到流行度及緩存分布隨時間變化,SDICN控制器根據實時統計,周期進行主動式供給節(jié)點計算,并推送更新結果。
2.2內容請求轉發(fā)與數據緩存
根據SDICN控制器計算的內容請求路由,DCN響應內容請求,并緩存和更新內容數據。緩存節(jié)點維護ACL(內容緩存表)、PRL(處理請求表)和CST(供給節(jié)點緩存表),用于請求轉發(fā)、緩存更新。其中,ACL存儲緩存內容列表,PRL存儲已收到但尚未回復的請求及請求者列表,CST則包含可用內容供給節(jié)點。
在SDICN控制器的控制下,內容請求被轉發(fā)至DCN。DCN處理內容請求轉發(fā)、數據傳輸及緩存的流程如圖2所示。數據傳輸采用流水線方式,即DCN從CSN下載內容數據的同時,向請求者傳輸數據。
緩存節(jié)點是資源限制系統,當緩存數據量接近其存儲容量時,新內容的獲取將觸發(fā)緩存更新。普適緩存會使緩存節(jié)點負載較重,難以運行復雜的緩存更新算法。LRU(近期最少使用置換)和LFU(最少使用置換)兩類算法中,LRU所需參數較少且性能接近最優(yōu)[7],因此本系統緩存更新采用LRU算法。獲得完整內容數據后,DCN將更新其ACL。對于ICN命名內容,DCN還需進行一致性檢查。
圖2 緩存節(jié)點處理流程圖
基于上述技術方案,本文還實現了一個SDICN原型系統,除了URI CSN和內容請求節(jié)點采用現有標準系統及軟件,其他構成節(jié)點的原型實現如下:
(1)緩存節(jié)點:基于可支持高并發(fā)訪問的開源Web服務器框架Tornado,擴展該平臺實現內容請求轉發(fā)、緩存更新等模塊,以及緩存節(jié)點、SDICN控制器、CSN的接口、ACL、PRL和CST。
(2)SDICN控制器:基于開源SDN控制器平臺RYU,以組件形式擴展實現緩存節(jié)點選擇、供給節(jié)點選擇、緩存節(jié)點管理、源節(jié)點解析和內容管理等主要功能;計算所需的基礎數據和運行結果并存入內容源及緩存庫、緩存節(jié)點狀態(tài)庫、緩存節(jié)點路由表和內容訪問統計庫4個基礎信息庫中;與緩存節(jié)點、ICN CSN的通信接口采用自行設計的協議,另外采用DNS協議實現與標準DNS系統的接口,以支持URI命名形式內容分發(fā)。
(3)ICN CSN:同樣采用開源Web服務器框架Tornado,擴展實現內容ICN命名、ICN內容注冊和ICN內容傳輸,與SDICN控制器的通信接口采用自行設計協議。
對于所實現的SDICN原型系統,本文進行了初步的實驗評估分析??紤]到系統部署開銷和配置的復雜性,采用SDN仿真軟件Mininet作為實驗平臺。Mininet的優(yōu)點在于可直接運行基于Open-Flow的SDN系統及擴展開發(fā)的代碼,通過Python腳本配置和控制系統運行過程,并搜集運行過程數據用于統計分析。仿真網絡為三層星形拓撲,交換節(jié)點采用SDN軟交換機Open vSwitch,SDICN系統節(jié)點均接入邊緣交換機,SDICN控制器、緩存節(jié)點和ICN源節(jié)點如前所述,URI源節(jié)點直接采用基于Tornado的Web服務器,內容請求節(jié)點采用基于HTTP(超文本傳輸協議)的curl命令行工具。
圖3所示為內容請求響應時間與訪問次數的關系。響應時間是指內容請求節(jié)點發(fā)出請求至收到內容的時間間隔。圖3表明,內容請求響應時間平均值隨著訪問次數的增加而下降,訪問次數開始增加時,內容緩存帶來的響應時間降低效應較為顯著,隨后開始趨緩至接近飽和。
圖3 內容請求響應時間與訪問次數的關系
本文提出的SDICN系統框架中,內容請求轉發(fā)、緩存及更新獨立于SDN交換節(jié)點,僅需邊緣緩存節(jié)點和源節(jié)點參與;內容請求路由簡化為緩存、供給節(jié)點選擇對應的兩跳式路由,由SDICN控制器基于全局視圖集中計算;緩存節(jié)點選擇采用固定設置與動態(tài)調整結合的方法,供給節(jié)點選擇采取主動式和反應式混合的方式,提高了擴展性。系統避免了內容名與數據流標識符的映射,利用SDN的集中式控制克服了覆蓋系統次優(yōu)控制的局限,內容緩存與數據包交換解耦合有利于交換和緩存設備分別擴展升級,為SDN和ICN的擴展及應用提供了重要的技術參考。進一步的研究包括大規(guī)模系統性能評估分析、擴展支持現有ICN系統、SDN與非SDN混合式環(huán)境運行支持和域間內容分發(fā)。
[1]Chanda A,Westphal C.ContentFlow:Adding Content Primitives to Software Defined Networks[C]//IEEE Globecom 2013.New York,US:IEEE,2013:2132-2138.
[2]Vahlenkamp M,Schneider F,Kutscher D,et al.Enabling Information Centric Networking in IP Networks Using SDN[C]//Proc SDN4FNS 2013.New York,US:IEEE,2013:1-6.
[3]Salsano S,Blefari-Melazzi N,Detti A,et al.Information centric networking over SDN and OpenFlow:Architectural aspects and experiments on the OFELIA testbed [J].Computer Networks,2013,57(16):3207-3221.
[4]Syrivelis D,Parisis G,Trossen D,et al.Pursuing a Software Defined Information-Centric Network[C]//Proc EWSDN 2012.New York,US:IEEE,2012:103-108.
[5]Ahlgren B,Dannewitz C,Imbrenda C,et al.A Survey of Information-Centric Networking[J].IEEE Communications Magazine,2012,50(7):26-36.
[6]Nunes B A A,Mendonca M,Nguyen X N,et al.A Survey of Software-Defined Networking:Past,Present, and Future of Programmable Networks[J].IEEE Communications Surveys &Tutorials,2014,16(3):1617-1634.
[7]Fayazbakhsh S K,Lin Y,Tootoonchian A,et al.Less Pain,Most of the Gain:Incrementally Deployable ICN [C]//ACMSIGCOMM 2013.New York,US:ACM,2013:147-158.
[8]Jacobson V,Diana K S,Thornton J D,et al.Networking Named Content[C]//CoNEXT 2009.New York,US:ACM,2009:1-12.
[9]Koponen T,Chawla M,Chun B G,et al.A Data-Oriented(and Beyond)Network Architecture[C]//SIGCOMM 2007.New York,US:ACM,2007:181-192.
A Software-Defined Information-Centric Network Architecture
LI Keng1,CHEN Jing-wen2,JIANG Yu2,MA Lin2
(1.FiberHome Telecommunication Technologies Co.,Ltd.,Wuhan 430074,China;2.School of Electronic Information and Communication,Huazhong University of Science and Technology,Wuhan 430074,China)
Existing proposals of Software-Defined Information-Centric Networking(SDICN)are difficult to support massive content delivery and to enable respective updates of switching and buffering components.This motivates us to propose an overlay-based SDICN system,in which content request forwarding and caching run only at the edge cache nodes.Decoupling caching from switching relaxes the above limitations of the existing proposals.Centralized control derived from software-defined networking overcomes the sub-optimality problem with overlay mechanisms.Experiments based on our prototype show that the system can be naturally superposed upon a software-defined network with significant reduction of response time when a few number of cache nodes are deployed.Our results are beneficial for the extension and application of software-defined networking and information-centric networking.
information-centric networking;soft-defined networking;edge caching;centralized control
TN915
A
1005-8788(2016)02-0004-03
10.13756/j.gtxyj.2016.02.002
2015-07-13
華中科技大學自主創(chuàng)新研究基金資助項目(2014QN154)
李鏗(1968-),男,湖南邵陽人。高級工程師,主要研究方向為電信網絡架構以及新技術在網絡變革中的影響。