黃舉,何茂忠,張曉蒙,符廣全
(臨沂大學,山東 臨沂 276000)
當前高校學生通過高校選課系統(tǒng)進行選課,由于選課人數(shù)多、選課周期短、爭取班級有限的名額等原因使得大量學生在短期內(nèi)登錄選課系統(tǒng),導致系統(tǒng)卡斷、網(wǎng)絡堵塞。經(jīng)調(diào)研,這種現(xiàn)象在高校普遍存在。究其根本原因是隨著網(wǎng)絡用戶數(shù)量的急劇增加,海量數(shù)據(jù)在同一時間急需處理,出現(xiàn)應用訪問的高峰期現(xiàn)象,系統(tǒng)處理能力受限;在資源需求量大的高峰期,傳統(tǒng)網(wǎng)絡架構全局性差,實時流量分布不均,導致網(wǎng)絡時效性差。SDN 提供了更加靈活控制轉發(fā)的能力,因此考慮利用SDN 網(wǎng)絡架構與負載均衡技術,以提高選課系統(tǒng)穩(wěn)定性和實時性。
SDN 是一種新型的網(wǎng)絡架構,具有開放接口、網(wǎng)絡虛擬化、集中式控制三大優(yōu)勢,其主要思想是將網(wǎng)絡互連節(jié)點上決定報文轉發(fā)和流量走向的復雜邏輯從交換機或路由器中抽離,將集中式的控制平面和分布式的轉發(fā)平面相互分離,實現(xiàn)底層網(wǎng)絡對上層應用透明化。
SDN 提供開放的可編程接口,網(wǎng)絡管理員通過網(wǎng)絡編程控制網(wǎng)絡流,控制器監(jiān)聽網(wǎng)絡中設備的資源狀態(tài)。在網(wǎng)絡狀態(tài)變化時,控制器以實時資源為基礎計算最優(yōu)策略并下發(fā)流表,底層網(wǎng)絡設備依照流表信息對數(shù)據(jù)流進行調(diào)整,從而能更好地應對網(wǎng)絡突發(fā)性流量,實現(xiàn)流量智能轉發(fā)。
SDN 體系架構是三層架構,自上至下依次為應用層、控制層、基礎設施層。應用層包括各種應用程序如流量監(jiān)測、接入控制。應用層與控制層之間使用SDN 北向接口協(xié)議進行通信,用戶可以按照不同需求進行開發(fā)??刂茖邮荢DN架構的核心層,是網(wǎng)絡邏輯控制平面,通過北向接口接收應用層配置信息,通過南向接口控制數(shù)據(jù)報文轉發(fā)。底層基礎設施層主要包括物理網(wǎng)絡設備,實現(xiàn)數(shù)據(jù)的傳輸與轉發(fā)功能,由支持Openf low 協(xié)議的交換機和路由器網(wǎng)絡設備組成,如圖1所示。
圖1 SDN 體系架構
SDN 是一種新型的網(wǎng)絡架構,控制與轉發(fā)分離、直接可編程實現(xiàn)控制。應對大數(shù)據(jù)傳輸,與傳統(tǒng)網(wǎng)絡的分布式控制與管理架構相比,更易實現(xiàn)對上層應用與業(yè)務的彈性響應。
首先傳統(tǒng)網(wǎng)絡是分布式網(wǎng)絡,無中心控制節(jié)點,無法從整個網(wǎng)絡的角度對流量進行調(diào)控。SDN 采用全局集中控制和分布高速轉發(fā),數(shù)據(jù)與控制分離在一定程度上降低了網(wǎng)絡設備和控制軟件的成本,實現(xiàn)高性能的網(wǎng)絡轉發(fā)能力。
其次SDN 具有直接可編程性,為開發(fā)者提供一整套編程接口,使開發(fā)者能在網(wǎng)絡中添加自己新的服務。可編程能力體現(xiàn)在很多的層次上,從下往上依次為芯片可編程、FIB可編程、RIB 可編程、設備OS 可編程、設備配置可編程、控制器可編程和業(yè)務可編程。
在本研究對十余所高校的學生就其讀高校集中選課階段網(wǎng)絡擁堵情況進行問卷調(diào)查,為避免偶然性,每所高校均收集一定量的學生問卷數(shù)據(jù)。對問卷結果分析得知,在調(diào)查的十余所高校中有高達77%的高校學生在選課時遭遇嚴重的選課系統(tǒng)網(wǎng)絡擁堵,學生網(wǎng)絡選課有困難,常常需要錯時選課,選課受到網(wǎng)絡困擾。
為此進行探索研究,設計開發(fā)基于SDN 負載均衡的在線選課系統(tǒng),從基于SDN 鏈路負載均衡和基于SDN 應用負載均衡兩個角度設計,將大量的并發(fā)訪問請求分擔到多臺底層網(wǎng)絡設備并行處理。在復雜多變的網(wǎng)絡環(huán)境下保證網(wǎng)絡服務的穩(wěn)定性和效率,是負載均衡需要解決的一個重要問題。
負載均衡技術用以平衡服務器集群中各服務器和請求應用之間的通信負載,根據(jù)實時響應時間進行判斷,快速可靠的將海量并發(fā)訪問數(shù)據(jù)分擔至多臺節(jié)點服務器上,實現(xiàn)智能通信管理,發(fā)揮最佳的服務器群性能,解決選課系統(tǒng)網(wǎng)絡擁堵,減少等待時長。
隨著網(wǎng)絡數(shù)據(jù)流量指數(shù)增長,傳統(tǒng)網(wǎng)絡負載均衡對新網(wǎng)絡環(huán)境變化的感知力不足,無法精確衡量和預判全網(wǎng)絡環(huán)境負載量,新型網(wǎng)絡體系SDN 為負載均衡的改進提供了嶄新的方向。OpenFlow 控制器集中控制交換設備,統(tǒng)一配置交換機更易獲得全局拓撲,支持負載均衡技術,制定最優(yōu)策略。
學生首先通過web 服務器登錄在線選課系統(tǒng)發(fā)出選課請求,然后通過SDN 控制層的OpenFlow 交換機和負載均衡交換機接受請求,通過算法選擇最優(yōu)路徑,在服務器集群中選擇最佳網(wǎng)絡設備處理,訪問數(shù)據(jù)服務器進行選課操作,完成后通過負載均衡交換機將結果反饋給學生客戶端。SDN路線設計流程圖如圖2所示。
圖2 SDN 鏈路負載均衡思路
部分功能代碼:
學生登錄選課系統(tǒng),發(fā)送選課數(shù)據(jù)包到OpenFlow 交換機。OpenFlow 交換機由OpenFlow 協(xié)議、安全信道和流表三部分組成。流表是OpenFlow 交換機的核心部分,OpenFlow交換機包含一條或多條流表,通過OpenFlow的協(xié)議,可添加、更新和刪除流表中表項。選課數(shù)據(jù)包進入交換機與流表中流表項進行匹配。若相關流表項存在,則執(zhí)行相關命令完成數(shù)據(jù)轉發(fā)處理。若不存在相關流表項,則會計算獲得K 個備選路徑。當K 值大于0 時,OpenFlow 交換機利用評估模型,計算出最有利于全局負載均衡的一條鏈路,然后將轉發(fā)策略寫入交換機流表中新添加的流表項。若K 值為0,既未能獲得備選路徑,將會按照基本轉發(fā)模塊的轉發(fā)策略添加流表項下發(fā)流表。如圖3所示。
圖3 SDN 網(wǎng)絡下的服務器集群與負載均衡
選課系統(tǒng)最終的響應能力受制于服務器系統(tǒng)的處理環(huán)節(jié),也受制于網(wǎng)絡傳輸環(huán)節(jié),突發(fā)的流量聚集導致?lián)砣麌乐赜绊懥司W(wǎng)絡響應。系統(tǒng)設計中用服務器集群技術和負載均衡技術來解決服務器處理環(huán)節(jié)的問題,通過SDN 進行節(jié)點流量分布管理解決傳輸問題,通過多種技術的結合,綜合改善和提升系統(tǒng)性能。
服務器集群技術提供故障切換功能,具有較高的可靠性。當服務器集群中某計算機組出現(xiàn)硬盤、內(nèi)存、電源故障時,其余服務器迅速作出反應,保持正常工作并執(zhí)行故障計算機組的任務,保障系統(tǒng)可靠穩(wěn)定的正常運行。利用服務器集群技術可以有效降低計算機組處理數(shù)據(jù)的壓力,保證每個節(jié)點都承擔一定的處理負載,動態(tài)均衡使每臺服務器的任務量大大減少,進一步提高了選課系統(tǒng)的負載能力,避免網(wǎng)絡擁堵停機,避免網(wǎng)絡服務器單點故障產(chǎn)生的問題。
服務器集群技術可以將高校機房大量普通服務器組合,實現(xiàn)價格昂貴的服務器性能,并通過實時需要動態(tài)調(diào)節(jié)接入集群的服務器數(shù)量。集群里的每一臺服務器都設置一個最大的可連接數(shù)目n,當某服務器目前已連接數(shù)目達到n 時,會向負載均衡交換機發(fā)送停止接收信息a,交換機接收信息a后,不再將該交換機考慮在路徑選擇當中。直到該服務器某任務結束,此時連接數(shù)目小于允許最大連接數(shù)n,發(fā)送開始接收信息b,負載均衡交換機接收到信息b 后,再次將該服務器加入路徑選擇中。
SDN 網(wǎng)絡架構具有智能調(diào)控流量走向的功能使其在網(wǎng)絡流量的分布中起到均衡的作用。SDN 提供端到端的可見性及控制能力,可使系統(tǒng)智能地將數(shù)據(jù)路由到最優(yōu)的網(wǎng)絡路徑,完成均衡網(wǎng)絡流量分布的功能。學生集中選課流量集中劇增時,自動流量管理應對性強,可極大減輕網(wǎng)絡管理的工作量。
通過仿真實驗模擬實驗,深入研究和驗證選課系統(tǒng)方案的有效性。
工具平臺環(huán)境:實驗利用Ubuntu 操作系統(tǒng),安裝Mininet和ryu控制器,構成實驗仿真平臺,搭建SDN網(wǎng)絡拓撲。實驗器具包含一臺遠程控制器、兩臺負責流量分配的交換機和五臺主機,其中h1、h2 兩臺主機作為服務器,另外三臺主機模仿選課時的學生客戶機對服務器進行訪問,如圖4所示。
圖4 實驗拓撲
搭建模擬環(huán)境:使用仿真平臺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 數(shù)據(jù)包通過查看h3 請求訪問應答情況,在模擬訪問過程中,當h3 客戶機同時發(fā)送訪問請求時,通過數(shù)據(jù)抓包發(fā)現(xiàn)前后幾次請求分別由h1、h2 兩臺服務器應答,兩臺交換機的負載量基本均衡,如圖5所示。
圖5 服務器應答均衡
負載均衡開啟前后可以觀察到網(wǎng)絡路徑中的帶寬得到明顯提升。 經(jīng)過對方案建模實驗,綜合實驗數(shù)據(jù)可以得出初步結論,基于SDN 部署負載均衡能夠成倍地提高網(wǎng)絡中的帶寬,增大吞吐量,提升系統(tǒng)響應性能,有效地解決網(wǎng)絡擁堵的問題。
基于SDN 部署負載均衡可以有效解決高校選課系統(tǒng)學生集中選課難,網(wǎng)絡堵塞卡頓的問題。用基于SDN 的網(wǎng)絡架構模式代替?zhèn)鹘y(tǒng)的網(wǎng)絡架構模式進行自動化管理,智能分配數(shù)據(jù)流,再配以服務集群技術和負載均衡技術,可以極大提高學生選課系統(tǒng)的穩(wěn)定性和響應運算能力,使其對突發(fā)性的海量數(shù)據(jù)訪問和流量具有良好的靈活性、智能性,能夠適應擁堵更加嚴重的網(wǎng)絡環(huán)境,解決學生選課難題。