孫彥景, 和孜軒, 張曉光, 孫 磊, 江艷霞
(中國礦業大學a.信息與控制工程學院;b.信息化建設與管理處,江蘇 徐州 221116)
云計算、服務器虛擬化等技術的興起和5G 場景下新型網絡業務數量的激增對基礎網絡提出了更高的要求,傳統分布式交換網絡存在擴展性差、業務部署效率低、資源分配方式不靈活等問題。軟件定義網絡(Software-Defined Networking,SDN)將網絡的控制平面與底層的轉發設備解耦,打破了傳統垂直集成網絡控制和轉發模式,與傳統通信網絡教學中常見的“二層+三層”網絡結構相比,具有集中管理、部署靈活等特性[1-2]。傳統通信網絡正向SDN 架構過渡,傳統通信網絡核心課程實驗獨立規劃、獨立教學,造成知識結構銜接不夠緊密,致使學生對電子信息相關系統整體理解不完整,掌握的零散知識點和實踐落地需要脫節。為減少教學內容與實際場景的割裂程度,讓學生更深刻理解抽象的網絡概念,增強工程實踐能力,急需構建新一代面向SDN通信網絡場景化的教學實踐平臺。
SDN控制器通過南向接口控制底層設備轉發,網絡管理人員通過SDN 控制器對網絡設備進行配置和管理,并可使用北向接口開發應用程序來支持所需業務[3-4]。虛擬擴展局域網(Virtual eXtensible LAN,VXLAN)作為一種Overlay技術,能在不大規模更換現網設備的情況下基于3 層IP網絡構建大2 層網絡,在跨域數據中心、工業生產等場景中發揮至關重要的作用[5-6]。與傳統隔離技術VLAN 相比,VXLAN 能在跨越任意地域構建大2 層網絡的同時提供高規模的隔離能力[7],目前已經成為廣泛使用的網絡虛擬化技術。
隨著5G、WiFi等無線技術的發展,視頻業務增長迅猛。為保證視頻傳輸的穩定性,現有視頻業務大多基于TCP協議傳輸,各類視頻業務流量常常有隨機性強、時延敏感等特征(如人臉識別,安全視頻監控,網絡會議等),TCP 的擁塞控制特性在網絡擁塞時會導致路由器、交換機等設備產生Bufferbloat現象,導致網絡傳輸時延增大。根據實際場景中網絡業務特性選擇相應的流量控制策略具有很強的現實意義。PIE(Proportional Integral controller Enhanced)算法能控制網絡設備的隊列時延,降低端到端時延,提升用戶體驗質量[8]。新興網絡技術和視頻業務的結合對各類電子信息系統及應用提出了新的挑戰,也對教學實踐提出了新要求,有必要在相關教學環節結合主流設備增設實踐內容,以引導學生向網絡技術過渡。
基于SDN構建視頻跨域專網教學實驗平臺,采用PIE算法進行視頻專網流量控制實驗設計仿真,在ns-3 平臺仿真測試典型視頻業務場景的網絡性能,分析PIE算法在網絡擁塞改善端到端時延的能力。實驗平臺可用于通信網絡相關場景化的研究和教學,并支持開展SDN網絡和流量控制的相關研究,進行信息與通信工程學科系列化課程實驗教學。
平臺以BGP EVPN 方式部署VXLAN 分布式網關。分布式網關將VXLAN的2 層網關和3 層網關同時部署在一臺Leaf 設備上,相對于集中式網關,有Spine設備壓力較小、擴展能力較強、轉發路徑較優等特點。圖1 所示為跨域視頻專網教學實驗平臺的整體網絡結構。網絡主要承載2 類業務,第1 類是安全監控需求帶來的視頻傳輸業務。在平臺網絡中,數據中心A、B中所有網絡攝像頭產生的視頻監控數據需要傳輸至數據中心A的硬盤錄像機進行存儲,所有攝像頭和硬盤錄像機必須處于同一個大2 層網絡;第2 類業務為人臉識別,疫情防控要求在集中核酸檢測點安裝人臉識別閘機并為人員身份核驗提供網絡保障。出于擴展性考慮,地點C 處的人臉識別終端和防護人員都通過WiFi接入網絡,在訪問位于數據中心A 的服務器后,服務器向終端返回相應的信息。

圖1 跨域視頻專網結構
在參照視頻專網場景實驗原型平臺的基礎上,為評估方法在網絡擁塞時改善端到端時延的性能,本文在ns-3 仿真平臺采用PIE 算法進行視頻專網流量控制實驗仿真。PIE 是一種主動隊列控制算法,通過動態改變隨機丟棄概率來使設備的隊列時延在人為設置的參考值上下波動。PIE算法的基本原理是根據隊列時延的變化趨勢進行擁塞預測,在擁塞之前采取策略來降低設備隊列的時延和抖動,提高時延敏感型應用的用戶體驗質量[8-10]。PIE算法主要由3 部分組成:入隊隨機丟棄、定期更新丟棄概率和出隊速率估計。圖2為PIE算法的執行示意圖[8]。

圖2 PIE算法執行示意圖
PIE算法在數據包到來時以隨機丟棄概率進行丟包,而隨機丟棄概率通過隊列瞬時時延與參考時延的差值和時延變化趨勢加權計算得到。隊列瞬時時延為隊列長度除以平均出隊速率,定期更新隊列時延和平均出隊速率,能動態調整隨機丟棄概率,降低設備端的隊列時延,改善網絡總體端到端的時延。在估計平均出隊速率時,由于突發性的、較短的數據包常常會導致空隊列,致平均出隊速率的估計產生較大偏差,因此僅在隊列中有足夠數據的情況下對平均出隊速率進行估計。PIE算法具體執行過程如下:

PIE算法1.當packet到達時:以隨機丟棄概率p隨機丟棄packet。2.以T為周期更新隨機丟棄概率p:(1)估計瞬時的隊列時延:cur_del = qlen avg_drate(2)根據當前的丟棄概率得到調優步長:if p <1%, α =α~/8;β =β~/8;else if p <10%, α =α~/2;β =β~/2;else,α =α~;β =β~;(3)計算丟棄概率:p =p+α*(cur_del-ref_del)+β*(cur_del-old_del);(4)更新隊列時延:old_del =cur_del.3.在packet出隊時估計出隊速率:(1)判斷是否處于一個合理的估計周期:q_len >dq_threshold(2)如果滿足1)中的條件,計算dq_count:dq_count =dq_count+dq_pktsize(3)一旦dq_count >dq_threshold,更新出隊速率并重置出隊計數器:dq_int =now-start;dq_rate =dq_count dq_int;avg_drate =(1 -ε)*avg_drate+ε*dq_rate;start =now;dq_count =0.
其中:cur_del 為采樣時的隊列時延;qlen 為隊列長度;avg_drate 為平均出隊速率;ref_del 為人為設置的隊列時延參考值;old_del為上一次采樣得到的隊列時延;為靜態配置參數;α反映當前時延與期望時延的差值對隨機丟棄概率的影響程度,β 根據時延的變化趨勢施加額外的調整量;dq_threshold為隊列長度的閾值,當隊列長度大于該值時可進入估計狀態;dq_count為進入估計狀態后出隊的Byte總數;ε為指數加權平均的加權系數;now、start 分別為網絡運行的時間和開始估計出隊速率的時間。
本文在ns-3 仿真平臺按搭建視頻專網場景實驗原型進行網絡業務模擬設計,采用PIE 算法進行視頻專網流量控制實驗設計仿真。
ns-3 是一種由C ++編寫的新型開源網絡仿真工具,高度還原各類通信協議的具體實現,它為用戶提供研究特定網絡和協議并仿真相關通信行為的方法。ns-3 不斷增加對各種新型網絡協議和場景的支持,在仿真過程中,用戶可根據自身的需要部署特定的網絡環境,選擇或設計合適的網絡協議進行仿真[11-12]。近年來,ns-3 仿真工具逐漸被應用到各類通信網絡教學和科研項目中[11,13-15]。
圖3 為參照實際部署在ns-3 中完成的網絡仿真結構,其中路由協議采用OSPF協議,表1 列出了網絡中各節點之間的信道類型及參數。圖中“Wi-Fi用戶”節點的移動模型為RandomWalk2dMobilityModel,此模型能模擬用戶步行的場景,速度為(2 ~4)m/s之間的隨機值,移動方向為0 ~2π 之間的隨機值。其他節點位置均固定。Wi-Fi 信道的時延和損耗模型分別為Constant Speed Propagation Delay Model 和ThreeLog DistancePropagationLossModel。

表1 PscVideoStreaming應用程序參數設置

圖3 ns-3仿真實驗網絡結構
網絡中分別使用PscVideoStreaming、OnOffApplication應用程序[11]模擬視頻流傳輸和人臉識別業務。PscVideoStreaming應用程序模擬視頻流應用的數據發送過程,它引入了Boost Time的概念,即在應用開始運行的一段時間內,通過發送比預期數量更多的數據流在客戶端中占據一個緩沖器,目的是在一定程度上減小由于網絡延遲或抖動所帶來的視頻流延遲。圖4 為PscVideoStreaming 數據發送速率圖,表1為相關參數設置。在統計數據時,發送速率是利用該時刻數據記錄值與該時刻之前4999 次數據記錄之和取時間平均得到的,所以圖4 中運行開始的一段時間內沒有對應數據。

圖4 PscVideoStreaming應用程序數據發送速率
OnOffApplication 的基本工作原理是應用程序開始運行之后在“On”和“Off”狀態之間來回切換,處于“Off”狀態時,應用程序不發送報文;處于“On”狀態時,發送恒定速率(CBR)報文,此過程與人臉識別閘機的工作流程類似。圖5 為OnOffApplication 的數據發送速率,表2 為相關參數設置。

表2 OnOffApplication應用程序參數設置

圖5 OnOffApplication應用程序數據發送速率
通過Pyviz 可視化界面能觀察視頻流的傳輸路徑,圖6 為數據中心B 中網絡攝像頭向硬盤錄像機傳輸數據的情形,在VTEP判斷需要3 層轉發后,發送給核心交換機,經過3 層轉發后到達異地的硬盤錄像機。圖7 所示為無線接入部分的視頻流傳輸路徑。由人臉識別客戶端發出的數據流經過核心交換機3 層轉發后到達數據中心A的人臉識別服務器,之后服務器向報文的源地址返回相關信息。

圖6 數據中心B視頻監控流傳輸路徑

圖7 人臉識別客戶端流傳輸路徑
通過FlowMonitor模塊可跟蹤網絡中每個數據流,進而統計相關信息。按表3 設置鏈路參數且應用程序參數分別按表1、2 設置后,可得表4 網絡性能測試結果,符合預期。

表3 網絡鏈路協議及參數設置

表4 網絡性能測試結果
當網絡中應用程序產生的并發數據量過大時,核心交換節點會出現擁塞,端到端時延無法得到保證。在部署PIE算法后,能顯著降低網絡設備的隊列時延,而減少端到端時延。設置所有OnOffApplication 應用的發送速率為30(Mb·s-1),并設置核心交換機之間鏈路帶寬為20(Mb·s-1)時,網絡會產生擁塞。設置PIE算法的QueueDelayReference參數為20 ms,TCP擁塞控制算法為New Reno,設備隊列緩存為1000 KB,測得數據中心A匯聚交換機隊列時延變化情況如圖8所示,對比Linux內核默認啟用的pfifo_fast 隊列管理算法,能很好地觀察到PIE 算法對擁塞時網絡設備隊列時延的控制效果。

圖8 PIE與pfifo_fast隊列時延對比
PIE算法能根據參考時延自適應地調整丟包率來滿足時延要求,圖9、10 分別為參考時延設置為10、30 ms時的隊列時延情況,符合預期。

圖9 參考時延為10 ms時的隊列時延

圖10 參考時延為30 ms時的隊列時延
本文基于SDN 構建了視頻跨域專網綜合實驗平臺,使用VXLAN技術構建視頻跨域專網,運用ns-3 仿真軟件針對典型的視頻流業務場景進行性能測試,并采用PIE算法進行網絡流量控制實驗設計仿真。通過網絡結構設計和算法仿真,能鍛煉學生面向實際網絡場景的工程實踐能力和綜合分析能力。將理論和實踐相結合,有利于銜接電子信息工程專業學生的知識體系,并加強學生對網絡系統的理解。