陳品殿++王競豪



摘要:隨著移動互聯網的發展,無線移動流量呈指數級增長,尤其是高清視頻的出現,對網絡負載和網絡帶寬帶來了極大的挑戰。無線局域網,尤其是WIFI技術的快速發展滿足了這一需求,但是WIFI也存在一定的性能瓶頸,如何利用有限的資源為多個用戶提供更好的接入體驗成為一個研究熱點。同時,SDN技術已經吸引了越來越多網絡研究人員的關注。因此,本文引入SDN思想,將OpenFlow技術應用到無線局域網中,使無線接入點具有可編程性,最終提出了一種在可編程接入點上實現用戶QoS保障的機制,核心在于提出了虛擬分片和兩級虛擬分片等關鍵技術,同時基于Pox控制器開發實現了QoS保障應用,最終通過實驗驗證了方案的可行性,在有限的資源下保證了用戶的接入體驗。
關鍵詞:計算機網絡;軟件定義網絡;WiFi;虛擬分片;QoS
中圖分類號:TN929.5
文獻標識碼:A
DOI:10.3969/j .issn.1003-6970.2015.12.022
本文著錄格式:陳品殿,王競豪.基于SDN的無線局域網QoS保障機制[J].軟件,2015,36(12):93-97
0 引言
隨著互聯網技術的發展,傳統網絡的通信設計已經無法白適應地滿足人們對帶寬的需求,而且容易產生網絡擁塞、延遲增加,從而導致了網絡瓶頸的出現。尤其是移動互聯網的不斷升溫,無線數據業務的使用實現了快速的增長。社交網絡、媒體共享和智能終端的創新型應用也促使數據流量成倍增長。這些服務對網絡帶寬和QoS提出了較高的要求。
WiFi的出現為用戶隨時隨地接入網絡提供了方便的入口,但是由于目前的WiFi技術的限制,帶寬還是沒有辦法滿足所有用戶的需求,導致當有大量入戶接入一個接入點的時候會出現用戶的服務質量很差的情況。產生這樣的問題主要有兩個原因,一個是物理資源不足,也就是WIFI的帶寬有瓶頸限制,另一個因素則是沒有合理的利用有限的帶寬資源,也就是策略問題。因此,在無線接入網中研究如何使用有限資源為用戶提供更好的QoS成為一個很有價值的研究點。
由IEEE組織制定的802.11標準體系是當前最為廣泛使用的WLAN技術,但是就802.11協議本身來說并不直接對QoS具有支持,這已經成為802.11網絡不能被QoS要求高的多媒體無線應用(如VOIP,DTV)所接受的主要原因。
SDN技術的出現,為解決TCP/IP網絡的諸多問題提供了新的方法。0penFlow的思想是將傳統網絡的控制平面與轉發平面分離,轉發平面包括0penFlow交換機等轉發設備,只負責數據包的轉發,通過集中式的網絡控制器Controller來控制管理,控制平面與轉發平面之間采用0penFlow協議。每個0penFlow交換機的處理單元由流表(F10wTable)構成,每個流表包含多個流流表項,這些表項指明了轉發規則,轉發規則一般是由Contr011er下發至0penFlow交換機,數據包會根據相應的流表項轉發數據包。
因此,如果能將SDN技術引入到無線局域網中,通過將業務在無線接入點側進行保證,既節省了傳輸帶寬,同時又提高了用戶的接人體驗。因此本文提出了一種基于SDN的無線局域網QoS保障機制,應用于基于SDN的WiFi接入網絡中。通過使無線接入點支持0penFlow引入SDN思想,并設計業務識別模塊,QoS策略動態調整模。其中,提出了關鍵技術虛擬分片技術和兩級虛擬分片技術。最終,本方案結合了SDN的靈活性和Qos的動態性實現了0penFlow無線路由器對用戶QoS保障的支持,實現了在有限資源條件下的用戶QoS動態保證。
1 相關技術
1.1 0pennow技術
0peIlFlow的概念在2008年由斯坦福研究人員提出,并逐漸推廣SDN的概念。基于0penFlow的SDN技術推出之后,2009年被MIT評為十大前沿技術。0penFlow作為SDN的原型實現方式,代表了SDN控制與轉發平面分離架構的實現。從嚴格意義上來講,0penFlow指的是SDN控制平面與轉發平面之間多種協議標準之一,經過多年的研究和推廣,目前成為使用最廣泛的SDN南向接口。0penFlow的關鍵組件包括0penFlow交換機和控制器。
0penFlow交換機負責數據轉發功能,其主要技術細節由三個重要部分組成:流表、安全通道和0penFlow協議。其中,流表的設計是關鍵技術,每個0penFlow交換機的處理單元由流表(flow table)構成,每個流表由許多流表項組成,流表項則代表轉發規則。流表項主要由匹配字段(match fields)、計數器(counters)和操作(instructions)等三部分組成:進入交換機的數據包通過查詢流表來取得對應的操作,匹配字段的結構包含很多匹配項,涵蓋了鏈路層、網絡層和傳輸層大部分標識,隨著OpenFlow規范的不斷更新,更多的協議和匹配字段也逐漸擴展到OpenFlow標準當中;計數器用來對數據流的基本數據進行統計;操作則表明了與該流表項匹配的數據包應該執行的下一步操作。
控制器是整個架構的核心,SDN控制層對底層無線網絡資源進行全局抽象,應用通過控制器提供的開放接口進行編程,最終實現可編程網絡以靈活操控網絡流量。因此,控制層的開放程度決定了為上層應用提供的網絡資源豐富性及使用的靈活性。目前支持OpenFlow的控制器已經得到了開發,如NOX、POX、Floodligt、Ryu、OpenDaylight等,都已經有了較為廣泛的應用。其中POX是經典的OpenFlow控制器,由python語言實現,提供了一套可編程的接口,實現控制組件的開發。本文中業務識別模塊,QoS動態調整模塊均以POX作為控制器軟件。
1.2 Qos技術
在因特網中,QoS所評估的就是網絡投遞分組的能力。由于網絡提供的服務是多樣的,因此對QoS的評估可以基于不同方面。通常所說的QoS,是對分組投遞過程中對延遲、延遲抖動、丟包率等核心需求提供支持的服務能力的評估。
但是用戶已不再滿足于能夠簡單地將報文送達目的地,而是還希望在投遞過程中得到更好的服務,諸如支持為用戶提供專用帶寬、減少報文的丟失率、管理和避免網絡擁塞、調控網絡的流量、設置報文的優先級。
目前主要的研究方法設計:(l)流分類:依據一定的匹配規則識別出對象。流分類是有區別地實施服務的前提。(2)流量監管:對進入路由器的特定流量的規格進行監管。當流量超出規格時,可以采取限制或懲罰措施,以保護運營商的商業利益和網絡資源不受損害。(3)流量整形:一種主動調整流的輸出速率的流控措施,通常是為了使流量適配下游路由器可供給的網絡資源,避免不必要的報文丟棄和擁塞。(4)隊列管理:網絡擁塞時必須采取的解決資源競爭的措施。通常是將報文放入隊列中緩存,并采取某種調度算法安排報文的轉發次序。(5)擁塞避免:過度的擁塞會對網絡資源造成損害。擁塞避免監督網絡資源的使用情況,當發現擁塞有加劇的趨勢時采取主動丟棄報文的策略,通過調整流量來解除網絡的過載。
基于對以上兩種技術的分析,本文將SDN與OpenFlow技術引入無線局域網中實現動態QoS,從而提出了基于SDN的無線局域網QoS保障機制。
2 方案介紹
通過對當前無線局域網內Qos保障技術進行調研,本文提出了自己的保障方案(見圖1)。本方案采用了SDN技術和虛擬分片技術進行結合,在SDN網絡環境下,通過對無線接入點的負載情況進行動態監測,然后結合用戶的QOs需求動態調整策略,保證了在帶寬資源有限的情況下高優先級的業務的Qos,從而提高了用戶的接人體驗。
其中,方案中硬件部分的無線路由器均是支持OpenFlow的無線路由器,我們使用Tp-Iink 4310重新刷新系統OpenWrt,然后在此基礎上安裝了OpenVSwitch來實現一個支持OpenFlow的無線路由器。
軟件部分,選用開源的控制器POX作為基礎平臺,然后將我們研究的核心功能部署在POX控制器,設計了一套無線局域網QoS保障機制,其中我們提出了關鍵技術:虛擬分片技術和兩級虛擬分片技術。技術細節見下節。
3 虛擬分片技術
無線接入點自身帶有很多的網絡資源,比如帶寬,頻譜等,如何將這些網絡資源進行抽象,并進行虛擬切片成為本文的研究關鍵點。虛擬分片技術主要解決在多個用戶共享同一物理資源時,對資源進行隔離分片,供控制器調度,在用戶的角度看來是整個物理設備都在為其一人提供服務,保證用戶的接人體驗,同時保證資源更加靈活且高效的被利用。
因此我們提出了虛擬分片技術和無線虛擬分片技術,具體細節見下:
3.1 虛擬分片原理流程
在獲取了當前物理接入點所提供的物理網絡資源后,首先將物理資源進行抽象,從而屏蔽底層物理特性,然后在控制層的角度看來,這些資源不是固定單一的,可以將這些資源進行分配的,于是在控制層,可以將這些資源進行虛擬的分片,每個片占有一定的網絡資源,各個分片的所占有的網絡資源是不固定的,需要根據控制層提供的策略來實現。
無線接入點虛擬分片技術的實現流程由四個部分組成:監聽模塊,決策模塊,執行模塊,分流模塊。其實現流程見圖2.
監聽模塊:主要負責兩個工作:(1)負責監測當前網絡設備的資源現狀,即定時獲取當前網絡設備的物理資源,包括:已分配帶寬,未使用帶寬,當前的流量信息等,獲取的時間間隔可以靈活設置,然后將獲取的數據記錄到控制器中的資源狀態表中;(2)負責監聽是否有新的用戶請求,并將新的用戶請求記錄到用戶請求表,包括:用戶的名稱,請求資源種類,請求資源數量等。
決策模塊:主要負責兩個工作:(1)判斷是否需要進行決策,通過接受監聽模塊的消息,然后讀取用戶請求表查看是否需要進行決策,如果需要則進行下一個工作,否而放棄;(2)讀控制器內記錄的網絡資源狀態表獲取當前的網絡資源分配情況,包括:當前網絡資源使用量,網絡資源剩余量等,然后讀用戶狀態表獲取請求分片用戶的資源需求,通過對剩余資源和需求資源的對比,分析出是否能夠進行分片,如果能,則生成成功消息觸發執行模塊;不能則放棄用戶請求,生成失敗消息觸發執行模塊。
執行模塊:解析決策模塊發來的消息,根據決策模塊的結果確定是否進行分片。通過查詢用戶請求表獲取用戶請求參數,包括:資源種類,資源數量等,生成分片的執行策略下發給轉發設備;然后轉發設備收到執行模塊下發的策略,通過隊列的設置將對端口進行分片,每個分片會自動生成一個分片號,用于將用戶業務與分片進行匹配。即生成一個slice綁定到端口上,對slice設定參數,例如帶寬,這樣就成功的將端口資源進行了虛擬分片。同時,會記錄分片與用戶之間的關聯到控制器的用戶分片關聯表中,用于分流的查詢。
分流模塊:控制器收到一個數據流時,會將數據流交給分流模塊,分流模塊對數據流進行分析,確定其所屬的用戶類型,然后查詢用戶分片關聯表,匹配數據流所歸屬的分片,如果匹配成功,則在生成轉發規則時標記數據流所屬的分片號,以便在轉發設備中進行分片匹配,將數據流發到對應的虛擬分片上;如果匹配失敗,則將數據流發到默認的端口進行轉發。
3.2 虛擬分片用例實現
針對接入用戶存在不同等級的情況,將接入點資源進行第一級虛擬分片劃分,虛擬分片的數量由接入點配置決定。各虛擬分片配置劃分數據傳輸的優先級,設定QoS策略,包括最大速率、最小速率等。各虛擬分片擁有自己的tag標簽,分片之間相互區別。匹配用戶等級的方法有兩種:一種根據IP地址字段來區分不同位置的用戶以對應不同的等級;一種是在用戶終端處對業務流進行等級標記處理,這需要終端側與網絡側協商規則。在本方案中采用第一種方式。不同用戶的混合業務流到達接入點后按照虛擬分片的flow table中的流規則進行匹配,將不同等級用戶的數據流匹配至不同的虛擬分片中,數據流經過分片時寫入相應的tag,由該接入點和其后相連的接入網絡可以根據此tag來匹配轉發規則。Tag的設定規則由接入網控制器決定。
對于這些虛擬出來的分片,可以分配給不同的用戶進行使用,這樣就實現了對無線AP的資源共享,同時滿足不同用戶的不同需求,實現了用戶資源的按需分配。例如:對于同一個無線AP端口,其擁有的物理資源是固定的,如帶寬,而用戶的是有等級之分的,如:經理,組長,員工。各類用戶的數據流經過接入點時會匹配至不同的分片,經過不同分片的業務流具有不同的tag,每個分片對應不同用戶等級的需求,業務流由tag區分后,接入點出口處指定不同的actions,優先傳送高級用戶數據流,最終滿足了用戶的需求。無線AP的虛擬分片示意圖,如圖3。
在單級虛擬分片的基礎上,進行第二級虛擬分片,分片匹配依據為業務類型,接入點處針對不同的業務類型區別對待,下發傳輸策略,對不同的業務流設定不同傳輸優先級和QoS,每個虛擬分片具有優先級區分和獨立QoS劃分。通過利用OpenFlow技術分析四層協議號及端口號區分業務類型,更精確的業務匹配根據分析數據包特定字段進行。第二級虛擬分片同樣具有各自的tag標簽。業務流經過第一級分片之后的標簽成為一級tag,業務流經過一級分片處理后進入二級分片,按照業務類型不同匹配至不同的虛擬分片,經過二級虛擬分片后寫入第二級tag標簽,在接入點出口根據兩級tag標簽制定不同的actions。業務流經過兩級處理,接入點按照預定資源分配,對不同等級用戶和不同類型業務流進行區分傳送。在接入網的接入網關處,接入網控制器可根據兩級tag標簽匹配既定策略進行流量卸載。
4 仿真及結果分析
在上述關鍵技術的基礎上,我們根據圖一的Qos保障場景圖搭建了實驗仿真環境,一個視頻服務器是視頻源,三個實驗終端分別為WIFI終端2,WIFI終端3,WIFI終端4。其中WIFI終端2和WIFI終端4負責視頻播放,WIFI終端3負責產生干擾流量。一個服務器作為控制器。于此同時,我們開發了一套網絡管理系統來顯示當前的網絡的拓撲,連路狀態以及分片情況等。
然后從畫面清晰度和資源隔離性兩個方面進行了方案的驗證,實驗效果圖如下:
4.1 畫面清晰度實驗對比
在仿真環境中,使用兩個WIFI終端同時連接到接入點上,同時使用未開啟虛擬分片控制器,從視頻源處播放視頻,此時WIFI終端2和WIFI終端4都能流暢播放視頻,實驗效果圖見圖4。
當我們使用視頻源向其中WIFI終端3打背景流量時,同時使用未開啟虛擬分片的控制器進行控制,此時,WIFI終端2和WIFI終端4均不能流暢播放視頻,均出現花屏卡頓現象,實驗效果圖見圖5:
重啟控制器,同時將我們設計的無線局域網Qos保障模塊打開,此時控制器對所有經過無線路由器的流量進行識別,識別出優先級較高的業務,實驗中WIFI終端4的優先級較高,同時結合Qos保障模塊中Qos策略調整,給WIFI4分配對應的分片,保證其業務能夠穩定傳輸,不受其他業務的干擾。保障后的效果見圖6
4.2 資源隔離性對比
在未開啟QoS保障功能時,WIFI2和WIFI4的業務流量都通過虛擬分片1進行傳輸,導致他們之間的資源沒有進行隔離;當有背景流量產生的時候,會導致兩個終端均無法流暢播放,這時候會產生資源的競爭。
但是當開啟QoS保障功能后,WIFI4的流量會自動調整到虛擬分片2上去,這樣在背景流量增加的情況下,虛擬分片2的資源得到有效的隔離,不會和WIFI4去競爭資源,從而接人體驗也得到了提升。
資源隔離對比圖見圖7.
5 結論
通過對當前網絡狀態的調研以及當前QoS研究水平的分析,總結當前在無線局域網內存在資源利用問題,深入研究了SDN技術和OpenFlow技術,提出了基于SDN的無線局域網QoS保障機制。本文充分利用了SDN的靈活性以及OpenFlow的可編程性,針對SDN網絡擴展了POX控制器的應用程序,提出了虛擬分片和兩級虛擬分片的關鍵技術,同時定義了一套動態QoS調整的流程,并且利用Openflow技術實現了虛擬分片技術,保證了用戶QoS的動態性。最后通過方針實驗進行驗證分析,可以看出,于SDN的無線局域網QoS保障機制對虛擬分片技術進行很好的驗證,同時,對資源進行了隔離,保證了用戶的業務QoS,實現了QoS的動態調整。