李睿
摘要:SDN是一種新型的網絡技術,OpenFlow是SDN協議之一,它能夠將路由控制和數據傳輸進行分離,進而有效解決因為網絡復雜問題導致的網絡交換設備癱瘓問題,進而提升設備的性能?;贠penFlow的終端系統,能實現終端的可編程性,有效對系統連接進行管理。就此,文章對基于OpenFlow的可編程終端設計與實現進行探究。
關鍵詞:OpenFlow;可編程終端;終端設計;計算機網絡
中圖分類號:TP393 文獻標識碼:A 文章編號:1009-3044(2016)26-0100-02
骨干網絡技術飛速發(fā)展,接入網技術也高速的發(fā)展,目前的網絡環(huán)境中包括有線網絡、無線網絡等,多種不同網絡同時存在增加了網絡的復雜性,而傳統終端通常是單一主機、單一網絡接口、單一網絡結構,這樣往往不能滿足大數據時代多種類業(yè)務對時延、帶寬等網絡性能的要求,它更不能靈活的根據用戶需求接入網絡。接入網技術和智能終端技術都在不斷更新發(fā)展,可以實現利用不同的網絡接口接入不同類型網絡,同時建立多條不同類型鏈接,為用戶提供高可用、可擴展優(yōu)質服務。SDN技術的出現,它將傳統網絡的控制平面和轉發(fā)平面進行分離,能夠實現對接口的有效管理,減少一些操作上的限制。OpenFlow協議是實現上述功能協議之一,因OpenFlow協議靈活、兼容性高,基于OpenFlow設計實現的終端,能對不同類型的接口進行控制,通過編程對用戶的不同業(yè)務需求進行分類管理,能有效控制網絡傳輸。
1 原理與問題分析
1.1 Open Flow技術
1.1.1 OpenFlow技術概述
SDN技術起源于斯坦福大學和加州大學聯盟,是為解決傳統網絡問題提出的一種新網絡架構和模型,是未來網絡技術發(fā)展趨勢,也是一種非常重要的網絡技術之一,而OpenFlow是SND技術協議之一。剛開始是這的情況,研究人員為了解決服務器直接訪問交換機數據報文轉發(fā)表,將以太網交換機作為定網絡設備應用到大學的網絡實驗中,它只負責轉發(fā)功能,至于怎么轉發(fā)則由服務器來控制。這種模式能有效解決傳統網絡暴露的問題,后來OpenFlow協議被有計劃地開發(fā),最終形成一種開放的標準協議。OpenFlow是SDN控制平面和轉發(fā)平面之間的協議標準之一,經過有關人員的不斷研究和推廣,在現階段形成使用最為廣泛的SDN南向接口?;贠penFlow協議的網絡架構由交換機和控制器兩部分組成。交換機和控制器基于OpenFlow協議協同工作,共同完成對網絡報文的控制與轉發(fā),實現了數據轉發(fā)層面和路由控制層面之間的分離。其中,OpenFlow交換機就是一個執(zhí)行者,主要聽命于控制器,負責對數據報文的轉發(fā),它分為三個部分,分別是流表、安全通道和協議。數據報文的轉發(fā)規(guī)則構成了流表項,多個流表項構成流表,流表交由交換機的處理單元處理,其中轉發(fā)規(guī)則通常由匹配字段、計數器和操作來描述。
現階段,OpenFlow交換機通?;贚inux系統來部署,它分為基于用戶空間的版本系統和基于內核空間的版本系統兩種,第一種部署方式容易操作、修改也簡單,但是自身性能不高;第二種部署方式速度快、易于虛擬化,但是操作和修改較之第一種更為復雜。因而有關人員結合這兩種版本的優(yōu)點推出了一種OpenFlow技術的標準硬件交換機。在這種交換機中,控制器向交換機發(fā)送控制命令,交換機接收命令并實現具體操作。控制器基于網絡拓撲圖運作,實現對整個網絡系統數據傳輸進行控制,通過OpenFlow操作交換機流表,從而實現對整個網絡的有效管控。OpenFlow控制器最典型的架構是NOX,它由 C++ 和 python 語言實現,提供了一套標準接口,通過編程調用接口就能有效控制和調用組件。文章基于NOX控制器來進行分析和探究對可編程終端的實現以及連接管理。
1.1.2 OpenFlow技術的應用優(yōu)勢
首先,OpenFlow 技術能夠將數據轉發(fā)和路由控制進行分離,提升了交換機轉發(fā)的速度和效率,提高了網絡的性能。另外,在成本使用上,OpenFlow網絡技術具有虛擬網絡管理功能,在很大程度上降低了網絡的構建和運維費用。其次,OpenFlow 技術具有應用和測試功能。OpenFlow網絡管理員可以根據OpenFlow軟件在現有的網絡架構中增加新的功能,將這些功能實現在多平臺的同時運作。另外,OpenFlow提供了一套開發(fā)的標準接口,為了發(fā)揮新系統的交換功能,研究人員能夠根據自己的需要調用API,添加一些具有新功能的控制軟件。再次,OpenFlow能夠對數據和系統進行統一管理。OpenFlow控制器實際上是整個網絡的中央控制器,它知曉整個網絡的運行視圖,能精準的對整個網絡進行統一管理,能有效保障網絡安全性。管理員在集中控制器下能夠對全網的信息進行把握和掌控,進而對網絡入侵的問題有效識別。最后,OpenFlow能夠實現云計算。OpenFlow交換機能夠對網絡數據和計算資源進行有效的控制,實現對大數據的整理和優(yōu)化,充分提升數據的交換速度。
1.2 多接口終端問題分析
當一個終端擁有多個接口,同時連接多種類型的網絡后,一般會產生以下幾個的問題:
1.2.1 關于終端可編程性的使用問題
終端系統通常由CPU、內存、存儲單元、輸入輸出單元構成,其結構固定,如果要操作其中一個鏈接、或者刪除一個鏈接、或者增加一個鏈接,都需要對其內核的驅動進行修改,通常修改內核都是非常復雜和困難的。在有業(yè)務需求的情況下,如何以一種模塊化的形式來管理連接,需要有關人員進行研究和思考。
1.2.2 關于終端多個接口并行傳輸的業(yè)務問題
可編程終端設計操作系統不具有對各個接口建立相關連接的管理功能和業(yè)務傳輸能力,接入網絡的每一個終端接口都需要對應的IP地址。由于每一個接口對于應用層的進程來說都是平等的,因此應用層進程就不知道應該選那一個接口來建立通信,只能隨機選擇一個接口,這樣會大大降低管理效率。
1.2.3 關于不同業(yè)務如何在多條連接上進行分配的問題
可編程終端設計操作系統涉及的業(yè)務種類眾多,包括HTTP、FTP等,在多種連接的使用下,這些業(yè)務之間的分配如何實現傳輸的優(yōu)化和分配的優(yōu)化還有待人們的思考和研究。
2 設計與實現
2.1 整體設計
在終端系統中引入OpenFlow技術就能有效解決可編程終端的鏈接問題,基于這一思想理論,通過對終端系統架構進行修改,嵌入OpenFlow技術,同時兼容目前廣泛運行的TCP/IP協議,最終實現終端系統可編程控制網絡??梢詫penFlow設計為一個插件,能靈活的安裝到終端系統上,這樣便于終端系統升級。[1]同時,通過虛擬交換器和虛擬接口的配置,能夠在現有的連接管理控制程序運作下,實現對終端多條連接的管控。
2.1.1 控制層
控制層的主要功能是向轉發(fā)層下發(fā)控制策略,其使用的主要方法是增加、修改和刪除流表,通過對流表的處理來實現具體的控制策略,處理完成后才下發(fā)給轉發(fā)層。那么控制策略是如何在控制層與傳輸層之間傳輸的呢?轉發(fā)層和控制層的OpenvSwitch在Loopback口處會建立一條通道,通過該通道對OpenFlow的有關控制信息進行傳輸。另外,轉發(fā)層OpenvSwitch上面有緩存,用于存儲來自控制器流表,流表由流表項構成,流表項一般是根據控制層的策略進行設定,上層的業(yè)務數據包能夠和流表項進行匹配。
2.1.2 轉發(fā)層
轉發(fā)層主要是對業(yè)務數據報文的控制與轉發(fā),轉發(fā)層由物接口和OpenvSwitch構成。其中接口又分為物理接口和虛擬接口,物理接口主要是指終端的多個無線接口和有線接口,虛擬接口主要指由軟件虛擬出來的接口。OpenvSwitch是一種交換機控制軟件,能夠執(zhí)行每條流的動態(tài)傳輸過程進行改變,并為OpenFlow提供接口,在控制層的作用下實現對控制器的集中管控。
2.2 可編程終端對多個接口連接管理設計
2.2.1 監(jiān)測模塊
監(jiān)測模塊主要負責監(jiān)控接口狀態(tài),統計流表信息和流信息。通過監(jiān)測模塊實現對間隔時間段內信息的靈活配置,符合系統設計的實時性需求。
2.2.2 分析模塊
分析模塊主要負責對監(jiān)控模塊采集到的信息進行分析,比如接口帶寬、異常錯誤、延遲等進行分析,它還包括對流表項的數量是否達到上限值進行分析,對表的老化時間進行正確處理,以及對業(yè)務的有關需求進行分析。
2.2.3 決策模塊
根據分析模塊分析結果,通過一定的策略算法,以及當前的連接狀態(tài)做出決策,決策的結果可以是對不同種類的業(yè)務進行分流,并在不同接口情況下進行傳輸。
2.2.4 執(zhí)行模塊
數據包指定要從某連接進行發(fā)出時,需要有關人員對數據包進行翻譯處理。當A和B進行通信時,二者之間會形成多條連接,通過通信的建立來實現對連接的執(zhí)行。數據包在A從網絡棧經過虛擬接口到達OpenvSwitch時,應用的源地址是IP_a0,應用的目的地址是IP_b0。在經過接口發(fā)出時,源地址會被修改為接口對應的地址,比如從port2出發(fā),源地址就被改為IP_a2。[2]
3 測試與驗證
文章提到的基于 OpenFlow 的可編程終端設計與實現是在Linux上進行的,并在多個有線接口的作用下進行試驗?;诠δ軠y試的對象是針對中端,因此網路的設置一般采用簡單的一跳完成。兩個終端使用的操作系統均是配有三個有線接口的Linux系統,具體測試的拓撲結構圖如圖1所示。[3]在試驗中分別對視頻流業(yè)務、FTP業(yè)務、HTTP訪問業(yè)務和PING業(yè)務進行了測試,具體的連接管理策略為將視頻業(yè)務流由連接1進行傳輸,將FTP業(yè)務流由連接2傳輸,將HTTP和PING由連接3進行傳輸。CLient和Server的通信系統采用的是IP_a1和IP_b1,三個不同的接口對應三種不同的IP地址,為了減少地址的數量,可以將一些配置默認為相同,具體安排如表1所示,功能試驗如圖2所示。
4 結束語
新網絡技術的產生,尤其是OpenFlow技術的誕生,有效解決了網絡管控問題,特別是多接口終端網絡通信連接管控問題,通過嵌入OpenFlow插件,很方便的對多接口終端進行升級,實現多接口終端的可編程性。這種終端特別適用于網絡資源類型多樣化的環(huán)境,能夠為接口的配置與調用帶來便利,同時也為開發(fā)具有多連接管理需求的控制軟件提供便利,能有效的為多種網絡資源進行合理的開發(fā)和利用。除此之外,可編程終端的設計與實現研究,為有關研究人員提供了開發(fā)平臺,并在對可編程終端拓展發(fā)展空間的同時,實現其與SDN網絡的融合。
參考文獻:
[1] 李文俊.基于OpenFlow的可編程終端設計與實現[J]. 軟件,2013(11):27-30.
[2] 劉輝. OpenFlow無線路由器及組網技術研究[D].北京:北京郵電大學,2014.
[3] 代游. SDN控制架構及應用開發(fā)的研究和設計[D].杭州:浙江工商大學,2014.