黃舉,何茂忠,張曉蒙,符廣全
(臨沂大學,山東 臨沂 276000)
當前高校學生通過高校選課系統進行選課,由于選課人數多、選課周期短、爭取班級有限的名額等原因使得大量學生在短期內登錄選課系統,導致系統卡斷、網絡堵塞。經調研,這種現象在高校普遍存在。究其根本原因是隨著網絡用戶數量的急劇增加,海量數據在同一時間急需處理,出現應用訪問的高峰期現象,系統處理能力受限;在資源需求量大的高峰期,傳統網絡架構全局性差,實時流量分布不均,導致網絡時效性差。SDN 提供了更加靈活控制轉發的能力,因此考慮利用SDN 網絡架構與負載均衡技術,以提高選課系統穩定性和實時性。
SDN 是一種新型的網絡架構,具有開放接口、網絡虛擬化、集中式控制三大優勢,其主要思想是將網絡互連節點上決定報文轉發和流量走向的復雜邏輯從交換機或路由器中抽離,將集中式的控制平面和分布式的轉發平面相互分離,實現底層網絡對上層應用透明化。
SDN 提供開放的可編程接口,網絡管理員通過網絡編程控制網絡流,控制器監聽網絡中設備的資源狀態。在網絡狀態變化時,控制器以實時資源為基礎計算最優策略并下發流表,底層網絡設備依照流表信息對數據流進行調整,從而能更好地應對網絡突發性流量,實現流量智能轉發。
SDN 體系架構是三層架構,自上至下依次為應用層、控制層、基礎設施層。應用層包括各種應用程序如流量監測、接入控制。應用層與控制層之間使用SDN 北向接口協議進行通信,用戶可以按照不同需求進行開發。控制層是SDN架構的核心層,是網絡邏輯控制平面,通過北向接口接收應用層配置信息,通過南向接口控制數據報文轉發。底層基礎設施層主要包括物理網絡設備,實現數據的傳輸與轉發功能,由支持Openf low 協議的交換機和路由器網絡設備組成,如圖1所示。

圖1 SDN 體系架構
SDN 是一種新型的網絡架構,控制與轉發分離、直接可編程實現控制。應對大數據傳輸,與傳統網絡的分布式控制與管理架構相比,更易實現對上層應用與業務的彈性響應。
首先傳統網絡是分布式網絡,無中心控制節點,無法從整個網絡的角度對流量進行調控。SDN 采用全局集中控制和分布高速轉發,數據與控制分離在一定程度上降低了網絡設備和控制軟件的成本,實現高性能的網絡轉發能力。
其次SDN 具有直接可編程性,為開發者提供一整套編程接口,使開發者能在網絡中添加自己新的服務。可編程能力體現在很多的層次上,從下往上依次為芯片可編程、FIB可編程、RIB 可編程、設備OS 可編程、設備配置可編程、控制器可編程和業務可編程。
在本研究對十余所高校的學生就其讀高校集中選課階段網絡擁堵情況進行問卷調查,為避免偶然性,每所高校均收集一定量的學生問卷數據。對問卷結果分析得知,在調查的十余所高校中有高達77%的高校學生在選課時遭遇嚴重的選課系統網絡擁堵,學生網絡選課有困難,常常需要錯時選課,選課受到網絡困擾。
為此進行探索研究,設計開發基于SDN 負載均衡的在線選課系統,從基于SDN 鏈路負載均衡和基于SDN 應用負載均衡兩個角度設計,將大量的并發訪問請求分擔到多臺底層網絡設備并行處理。在復雜多變的網絡環境下保證網絡服務的穩定性和效率,是負載均衡需要解決的一個重要問題。
負載均衡技術用以平衡服務器集群中各服務器和請求應用之間的通信負載,根據實時響應時間進行判斷,快速可靠的將海量并發訪問數據分擔至多臺節點服務器上,實現智能通信管理,發揮最佳的服務器群性能,解決選課系統網絡擁堵,減少等待時長。
隨著網絡數據流量指數增長,傳統網絡負載均衡對新網絡環境變化的感知力不足,無法精確衡量和預判全網絡環境負載量,新型網絡體系SDN 為負載均衡的改進提供了嶄新的方向。OpenFlow 控制器集中控制交換設備,統一配置交換機更易獲得全局拓撲,支持負載均衡技術,制定最優策略。
學生首先通過web 服務器登錄在線選課系統發出選課請求,然后通過SDN 控制層的OpenFlow 交換機和負載均衡交換機接受請求,通過算法選擇最優路徑,在服務器集群中選擇最佳網絡設備處理,訪問數據服務器進行選課操作,完成后通過負載均衡交換機將結果反饋給學生客戶端。SDN路線設計流程圖如圖2所示。

圖2 SDN 鏈路負載均衡思路
部分功能代碼:

學生登錄選課系統,發送選課數據包到OpenFlow 交換機。OpenFlow 交換機由OpenFlow 協議、安全信道和流表三部分組成。流表是OpenFlow 交換機的核心部分,OpenFlow交換機包含一條或多條流表,通過OpenFlow的協議,可添加、更新和刪除流表中表項。選課數據包進入交換機與流表中流表項進行匹配。若相關流表項存在,則執行相關命令完成數據轉發處理。若不存在相關流表項,則會計算獲得K 個備選路徑。當K 值大于0 時,OpenFlow 交換機利用評估模型,計算出最有利于全局負載均衡的一條鏈路,然后將轉發策略寫入交換機流表中新添加的流表項。若K 值為0,既未能獲得備選路徑,將會按照基本轉發模塊的轉發策略添加流表項下發流表。如圖3所示。

圖3 SDN 網絡下的服務器集群與負載均衡
選課系統最終的響應能力受制于服務器系統的處理環節,也受制于網絡傳輸環節,突發的流量聚集導致擁塞嚴重影響了網絡響應。系統設計中用服務器集群技術和負載均衡技術來解決服務器處理環節的問題,通過SDN 進行節點流量分布管理解決傳輸問題,通過多種技術的結合,綜合改善和提升系統性能。
服務器集群技術提供故障切換功能,具有較高的可靠性。當服務器集群中某計算機組出現硬盤、內存、電源故障時,其余服務器迅速作出反應,保持正常工作并執行故障計算機組的任務,保障系統可靠穩定的正常運行。利用服務器集群技術可以有效降低計算機組處理數據的壓力,保證每個節點都承擔一定的處理負載,動態均衡使每臺服務器的任務量大大減少,進一步提高了選課系統的負載能力,避免網絡擁堵停機,避免網絡服務器單點故障產生的問題。
服務器集群技術可以將高校機房大量普通服務器組合,實現價格昂貴的服務器性能,并通過實時需要動態調節接入集群的服務器數量。集群里的每一臺服務器都設置一個最大的可連接數目n,當某服務器目前已連接數目達到n 時,會向負載均衡交換機發送停止接收信息a,交換機接收信息a后,不再將該交換機考慮在路徑選擇當中。直到該服務器某任務結束,此時連接數目小于允許最大連接數n,發送開始接收信息b,負載均衡交換機接收到信息b 后,再次將該服務器加入路徑選擇中。
SDN 網絡架構具有智能調控流量走向的功能使其在網絡流量的分布中起到均衡的作用。SDN 提供端到端的可見性及控制能力,可使系統智能地將數據路由到最優的網絡路徑,完成均衡網絡流量分布的功能。學生集中選課流量集中劇增時,自動流量管理應對性強,可極大減輕網絡管理的工作量。
通過仿真實驗模擬實驗,深入研究和驗證選課系統方案的有效性。
工具平臺環境:實驗利用Ubuntu 操作系統,安裝Mininet和ryu控制器,構成實驗仿真平臺,搭建SDN網絡拓撲。實驗器具包含一臺遠程控制器、兩臺負責流量分配的交換機和五臺主機,其中h1、h2 兩臺主機作為服務器,另外三臺主機模仿選課時的學生客戶機對服務器進行訪問,如圖4所示。

圖4 實驗拓撲
搭建模擬環境:使用仿真平臺mininet 的examples 相關指令啟用可視化工具miniedit,通過可視化界面繪制拓撲圖,極大提高了操作的方便性、靈活性。
帶寬測試。為了觀察負載均衡在路徑中的實際作用,使用mininet 的iperf h2 h1 等命令觀察負載均衡開啟前后路徑帶寬。在開啟前兩個主機之間的帶寬為254Mbits/sec,251Mbits/sec,負載均衡開啟后兩個主機之間的帶寬提為8.75Gbits/sec,8.75Gbits/sec,帶寬由254Mbits/sec 提升到了8.75Gbits/sec,通過前后比對可以明顯看到帶寬的提升。
負載模擬與測試。同樣可以在控制器中打開wireshark過濾抓取packet_in 數據包通過查看h3 請求訪問應答情況,在模擬訪問過程中,當h3 客戶機同時發送訪問請求時,通過數據抓包發現前后幾次請求分別由h1、h2 兩臺服務器應答,兩臺交換機的負載量基本均衡,如圖5所示。

圖5 服務器應答均衡
負載均衡開啟前后可以觀察到網絡路徑中的帶寬得到明顯提升。 經過對方案建模實驗,綜合實驗數據可以得出初步結論,基于SDN 部署負載均衡能夠成倍地提高網絡中的帶寬,增大吞吐量,提升系統響應性能,有效地解決網絡擁堵的問題。
基于SDN 部署負載均衡可以有效解決高校選課系統學生集中選課難,網絡堵塞卡頓的問題。用基于SDN 的網絡架構模式代替傳統的網絡架構模式進行自動化管理,智能分配數據流,再配以服務集群技術和負載均衡技術,可以極大提高學生選課系統的穩定性和響應運算能力,使其對突發性的海量數據訪問和流量具有良好的靈活性、智能性,能夠適應擁堵更加嚴重的網絡環境,解決學生選課難題。