當前位置:
首頁 > 最新 > 未來網路與網路操作系統發展綜述

未來網路與網路操作系統發展綜述

本文轉載自學術plus(ID:caeit-e),作者:首都經濟貿易大學,孫遠芳,段翠華;中國石油大學(華東) 計算機與通信工程學院,張培穎,來源:《中國電子科學研究院學報》第12卷第6期

摘 要:現有的互聯網正在面臨前所未有的挑戰,比較嚴峻的問題包括互聯網的安全問題和互聯網資源的管控問題。由於目前互聯網路存在的問題,未來網路技術的發展也面臨許多嚴峻的挑戰。本文總結分析了未來網路中的三種核心技術,包括:軟體定義網路、網路操作系統和網路虛擬化技術,期望對國內未來網路技術的研究起到參考和幫助。

關鍵詞:未來網路;軟體定義網路;網路操作系統;網路虛擬化;網路功能虛擬化

引 言

隨著互聯網技術的飛速發展,目前的運營商網路架構無法滿足實際網路服務的需求,網路架構呈現僵化現象。目前互聯網路面臨許多嚴峻的挑戰:第一,隨著互聯網用戶需求的不斷變化,傳統的以IP為網路層的體系結構無法持續;第二,互聯網已經從最初的學術領域轉變到商業領域,目前的安全問題無法滿足商業應用需求;第三,傳統的網路為了滿足用戶的需求,運維和管理成本不斷增加,由於目前的網路無法支持虛擬化的功能,導致已有的物理網路資源利用率不高。

未來網路技術的發展都是針對目前存在的問題,提出了許多網路體系架構,進而能夠提供「大眾創業、萬眾創新」的未來網路基礎設施服務平台。本文針對目前互聯網的問題,對未來網路中的核心技術:軟體定義網路、網路操作系統和網路虛擬化技術這3個核心技術進行調研,指出其研究的內容,存在的問題,並對未來網路核心技術的發展進行了展望。

1. 軟體定義網路

1.1研究背景

隨著網路技術的不斷發展,互聯網的功能由最初的資源共享轉變為目前承載的公共基礎設施服務。互聯網在過去的幾十年里取得了巨大的成功,同時也面臨一些嚴重的挑戰:在已有的互聯網路架構上部署新的服務或協議非常困難,對互聯網路資源的管控性較差,互聯網路面臨嚴峻的安全挑戰等。軟體定義網路的思想來源於斯坦福大學Nick McKeown教授牽頭的實驗室研究計劃Clean Slate項目。Clean Slate項目作為學校的研究計劃,倡導重建爐灶,革命性改進目前已有的網路體系架構。該項目最初選擇的關鍵研究方向有五個,即:網路體系結構、異構應用、異構物理層技術、安全和經濟與政策。

典型的商用SDN案例應該是Google搭建的B4網路系統,該工程主要用於數據中心之間的流量工程。Google數據中心之間傳輸的數據分為三類:第一類是用戶備份數據;第二類是數據中心之間存儲訪問;第三類是數據中心之間同步數據。B4網路底層使用OpenFlow交換機,利用軟體控制數據中心之間的流量工程,優化資源的利用率,取得了巨大的成功。該項目的成功極大地推動了SDN技術在產業界的發展,目前SDN技術正在全球形成產業孵化的熱潮。

1.2體系結構

ONF(Open Networking Foundation)是由德國電信、Facebook、谷歌、微軟、美國威瑞森電信和雅虎於2011年創立的一個非營利性組織。根據ONF的定義,SDN是一種新型的控制平面和數據平面分離的網路架構。數據平面和控制平面的分離有助於底層物理網路資源的虛擬化,以邏輯形式為上層應用提供服務;同時控制平面可以用軟體定義的方式來控制網路資源,使得目前的網路更加智能。SDN的體系架構如下圖所示:

圖1ONF定義的SDN網路體系結構圖

如圖1所示,ONF提出的SDN體系架構主要分為三層,最上層為應用層,包括各種不同的業務和應用;中間層為控制層,主要負責對數據平面的資源進行調度;最下層為基礎設施層,主要負責數據處理、轉發和狀態採集。應用層與控制層之間的API介面由於其所處的位置在上面,因此稱之為北向API介面;控制層與基礎設施層之間的介面由於其所處的位置在下面,因此稱之為南向API介面。

1.3關鍵技術

1) SDN網路交換協議

SDN網路協議必須滿足簡單、高效,通過能夠對數據轉發平面進行抽象,提供可編程的API介面,支持可編程的實現。OpenFlow協議長期以來一直是軟體定義網路的管理和控制協議,該協議實現了控制設備可以對轉發平面設備的流表進行編程。流表是交換機/路由器進行轉發策略控制的核心數據結構,每個流表項包含三個域,分別是匹配域、計數域和指令域。NETCONF協議,由RFC 6241定義,用於替代命令行界面、簡單網路管理協議以及其他專用配置機制。管理軟體可以使用NETCONF協議將配置數據編程寫入設備,也可以從設備中讀取數據。所有數據採用XML格式編碼,通過SSL或傳輸層面向連接的安全協議,使用遠程過程調用方式傳輸。

除了配置數據,設備還存儲狀態數據和信息,例如:包統計信息、運行中設備採集的其他數據等,這些信息控制軟體只可以讀取,但不能寫入;候選配置數據存儲是一個可選的設備性能。

NETCONF協議的命令集合由讀取、修改設備配置數據,以及讀取狀態數據的一系列命令組成。命令通過RPCs進行溝通,並通過RPC應答。一個RPC回復必須響應一個RPC才能返回。一個配置操作必須由一系列RPC組成,每個都有與其對應的應答RPC。所選擇的傳輸協議必須保證RPC按照發送順序傳遞給設備,而且應答必須按照發起RPC的順序被接收。除了從控制器向設備發送命令,設備也可以發出通知來告知控制器設備上的一些事件。

2) SDN網路控制器

SDN控制器是SDN網路的核心部分,主要功能是能夠利用交換機上報的網路狀態信息,構建全網資源視圖,從而對網路交換機下達控制指令,對網路中的資源進行有效地調度,使網路更加智能化。SDN控制器應該能夠提供2個方面的功能:一是提供集中式的編程環境,使開發者有統一的全局資源視圖,忽略底層網路的實現細節;二是提供抽象的編程介面,應用程序將面向這些介面進行開發,從而控制網路流量的調度、獲取網路的特徵,使網路具有智能。

針對不同的網路開發環境,工業界和學術界已經提出了許多各種語言編寫的SDN控制器。OpenDayLight(ODL)[3]是以開源社區為主導,利用JAVA語言實現的開源框架,旨在推動創新實踐的實施以及軟體定義網路透明化。面對SDN網路,ODL作為項目核心,擁有一套模塊化、可插拔且極為靈活的控制器,還包括一套模塊合集,能夠執行需要快速完成的網路任務。Floodlight[4]是由Big Switch Networks基於apache協議用JAVA語言開發的一款OpenFlow控制器,被用於與交換機、路由器、虛擬交換機及其他支持OpenFlow標準的設備一起工作。RYU[5]是由日本NTT公司研發的一款開源SDN控制器,完全有Python語言實現,使用者可以在Python語言的基礎上實現自己的應用,目前支持OpenFlow 1.0、1.2、1.3,同時支持在OpenStack上的部署應用。提供邏輯上集中式管理,通過API介面使得網路的管理更加便捷。POFController[6]是由華為公司採用BSD/Apache授權基於JAVA語言實現的OpenFlow控制器,提供了一個GUI管理界面,用於交換機的控制與配置。POF主要包括控制器和交換機兩個原型文件,旨在提高OpenFlow的規範及支持無感知轉發協議和數據包格式。POX是由斯坦福大學使用Python語言開發的基於OpenFlow的SDN控制器,是NOX的兄弟,它具有將交換機送上來的協議包給指定軟體模塊的功能。NOX是Nicira使用Python開發的首個提供儘可能通用介面的SDN控制器,用於構建網路控制應用的平台。

3) 小結

SDN網路的核心思想是通過控制平面向數據轉發平面下達指令,使網路更加高效智能。SDN控制器大部分採用開源技術實現,主流語言包括:JAVA、Python和C/C++等。目前,基於SDN的網路實驗平台的搭建成為學術界和產業界研究的熱點,也正在成為網路運營商和網路服務商所關注的熱點之一。

2. 網路操作系統

軟體定義網路技術的發展促進了支持SDN技術的網路操作系統的發展,目前業界比較有代表性的開源網路操作系統有ONOS和ODL,下面分別對其進行詳細介紹。

2.1 ONOS操作系統

ONOS項目的目的是創建一個用於通信服務供應商的軟體定義網路的操作系統,它以可擴展性、高性能性和高可用性作為其設計原則[7]。2014年12月5日,Open Networking Lab (ON.Lab)與其它工業界合作夥伴(AT&T和NTT Communications等)公開了ONOS系統的源代碼,建立了它的開源社區[8]。2015年10月14日,ONOS項目加入Linux基金會,成為該基金會下的合作項目[9]。該項目使用JAVA語言編寫,提供了一個基於Apache Karaf OSGi容器的分散式SDN應用平台。ONOS作為一個具有相同軟體棧的節點集群工作,並且可以容許部分節點失效而不會失去對網路行為的控制。

ONOS在很大程度上依賴於OpenFlow等標準協議與模型,它的系統架構卻並不直接與它們綁定,而是為應用開發者提供了自己的高端抽象和模型,這些模型可以在應用運行時進行擴展[10]。為了防止系統與某個特定的設置或控制協議綁定,任何與具體協議代碼庫相關聯並且直接與網路環境交互的軟體都被特意隔離開,稱為一個驅動。與此類似,任何與集群間通信協議直接交互的軟體也被隔開,稱為一個存儲。ONOS平台為應用程序提供了一系列高層抽象,應用可以通過這些抽象了解網路的狀態,並藉此控制網路交通流。可以通過REST API或GUI載入和卸載應用,而無需重啟集群或其中的各個節點。ONOS應用管理子系統承擔著在集群中分發應用並確保所有節點都在運行相同的軟體。

2.2 ODL操作系統

ODL是一套以社區為主的開源SDN框架,由Linux協會聯合業內18家企業在2013年初創立,其目標是作為SDN架構中的核心組件,使用戶能夠減少網路運營的複雜度,擴展器現有網路架構中硬體的生命期,支持SDN新業務和新能力的創新[11]。

ODL針對及企業服務提供商數據中心和WAN模塊化開放的SDN平台,不僅能支持各種各樣的用戶,還可以支持各種各樣的應用案例。ODL每6個月就會進行一次大的更新,目前發布的是其第四個版本[12]。目前,ODL包括十二個項目,每一個項目都有自己的代碼庫(OpenDaylight項目列表)。這些項目中與OpenFlow相關的項目的有controller、openflowjava和openflowplugin。ODL屏蔽底層,網路應用於應用,打造統一開放的SDN平台,目標是打造一個SDN網路操作系統。ODL包括OSGI、MAVEN、INFNINISPAN、SAL等核心技術[13]。

2.3 NOX/POX操作系統

NOX[14]是斯坦福大學實現的開源的操作系統,是最早支持openflow的控制器。NOX採用C++編程語言實現,具有管控SDN網路的基本功能。NOX的功能相對單一,拓展性和穩定性有很多不足的地方。但作為最早期的操作系統,NOX為後來的控制器架構提供了優秀的實例,規範了編程的架構,在早期的SDN發展過程中起到了重要作用。開發人員根據NOX實例實現了NOX的升級版操作系統POX。POX採用Python編程語言語言編寫,具有簡潔易懂的特點,是入門者接觸SDN的首要選擇。POX在實際應用中發展快速,是運營商和研究機構在SDN操作系統領域的主要選擇之一。

2.4 Floodlight操作系統

Floodlight[15]操作系統Big Switch Networks公司開發的基於java的openflow操作系統。是一款廣泛應用的企業級的開源操作系統,具有性能高和可靠性高等特點。Floodlight可以對大規模的路由器和交換機等支持openflow的接入點進行合理的控制,同時由於Floodlight的跨平台特性,因此也被廣泛應用在各種終端之上。

Floodlight不僅僅是一款SDN操作系統,還包含一系列基於Floodlight的模塊化的上層應用。這些控制器層的應用幫助開發人員更好的管控SDN網路,並通過REST API嚮應用層提供管控信息。Floodlight可以同時處理 OpenFlow 和非 OpenFlow 混合網路,實現對多種 OpenFlow 交換設備組成的網路的管理。因為FloodLight 優秀的管控能力,使得它成為多個重量級SDN項目中的核心。

3. 網路虛擬化技術

3.1網路資源虛擬化

未來網路要滿足管控性、靈活性、可擴展性等需求,網路資源虛擬化切片技術成為試驗床中非常核心的技術,可以根據不同的試驗網路需求對物理網路中的計算資源、存儲資源、網路資源進行切片式的抽象與管理。網路資源虛擬化技術從理論走向實踐的過程中,必然要解決「流量識別與標識」、 「虛擬節點抽象」和「虛擬鏈路抽象」這三個核心問題,本節從這三個方面對網路資源虛擬化技術進行概述[16]。

3.1.1 流量識別與標識

網路虛擬化平台首先要實現的功能是對不同的試驗用戶進行隔離,解決該問題需要識別不同用戶的網路流量,並對其進行網路標識。對網路流量的識別一般由接入設備完成,識別的策略有面向主機的和面向業務的。接入設備對網路流量識別後,需要對網路流量進行特別的標識處理,以便後續的設備能夠對其進行特殊的處理,保證多個不同用戶之間的流量能夠互相隔離,互不干擾。目前流量的識別與標識方法有:基於vLan的標識方法和基於vxLan的標識方法。

3.1.2 虛擬節點抽象

虛擬節點抽象主要用於向用戶描述虛擬化的節點模型,包括:「一虛多」模型和「多虛一」模型。前者「一虛多」模型是指每個底層物理節點可以虛擬化多個虛擬節點,即每個SN節點可以承載多個VN節點的請求。這種情況比較常見:在傳統網路上一台物理交換機邏輯上被VLAN分為多個虛擬交換機;有些廠家的路由器可以模擬多台虛擬路由器。在每個物理節點上承載的虛擬節點之間的CPU資源、存儲資源和轉發表等互相獨立,互不干擾。後者「多虛一」模型是指多個物理設備中的資源整合,向用戶提供一個虛擬的邏輯設備。

3.1.3 虛擬鏈路抽象

虛擬鏈路抽象主要用於向用戶描述虛擬化的鏈路模型。每個虛擬鏈路可以對應一條實際的物理鏈路,也可以映射到多條實際的物理鏈路。在虛擬化試驗平台中,虛擬鏈路要滿足各種各樣的用戶需求,因此虛擬鏈路的映射要能夠針對各種服務質量要求,完成物理鏈路的映射,滿足不同用戶的性能指標要求。

3.2 網路功能虛擬化

為了應對網路虛擬化服務帶來的頻繁更新配置用以滿足不同的虛擬網路用戶的實際需求,網路功能虛擬化技術被提出用以解決這個問題。網路功能虛擬化是由服務提供商推動,主要目的是為了加快引進網路上的新服務。通信服務提供商已經提供了專用的X86硬體設備,網路功能虛擬化使其可以頻繁快速地更新網路配置,提供新的服務功能。

如果說網路虛擬化技術為我們帶來了通過網路創建通道、同時利用每一條傳輸流進行服務的思路,那麼下一步就是讓這條新通道承載相應的服務。網路功能虛擬化主要針對網路模型的四到七層功能進行虛擬化處理,常見功能如:防火牆、IDS/IPS等。目前比較著名的防火牆及IDS/IPS系統供應商包括PLUMgrid和Embrane等公司。

網路功能虛擬化的目的是通過通用的X86設備的強大性能在建立的虛擬網路通道上,構建部署特定的虛擬服務,可以節省大量的手工配置與技術培訓的繁瑣細節,這些功能的設置都可以通過軟體定義的方式來完成。許多網路虛擬化的服務提供商都開始加快實施網路功能虛擬化服務,因為很多用戶不希望同時購買兩個不同廠家的服務。

4. 未來核心趨勢

1) 未來網路核心技術關注不同用戶需求

未來網路不再是新經濟新領域獨有的產品,最終它會成為承載一切的重大基礎設施服務,類似水、電等資源一樣,各行各業的用戶都會利用未來網路實現自己的需求,或在未來網路上進行創新應用。所以各種各樣的用戶未來都會接入互聯網,未來網路應該關注不同用戶的需求,例如:數據備份需求的用戶更關注的是流量的價格,不關心網路帶寬時延等性能指標;實時轉播的用戶更關心的是網路的實時帶寬需求;醫療控制領域關心的是網路的時延性能參數等。因為,未來網路應該更多關注不同的用戶,能夠支持為不同的用戶提供各種各樣的服務。

2)未來網路核心技術關注應用創新

隨著國家「大眾創業,萬眾創新」口號的提出,目前的產業界都在進行改革,都準備在未來網路的應用上創新,利用未來網路創新技術,改革已有的產業盈利模式,提高企業的運營收益[16-18]。目前的工業界和產業界都在進行網路創新,但同時面臨一些嚴峻的挑戰,例如:未來網路的安全問題、未來網路的資源管理調度問題等。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 網信科技前沿 的精彩文章:

有AI的地方就會有江湖,大神們在吵什麼?
馬歇爾·赫伯特:人工智慧的前沿技術與實例分析

TAG:網信科技前沿 |