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