OpenFlow協議標準演進過程

     OpenFlow是一種新型網絡協議,起源於斯坦福大學的Clean Slate項目組。OpenFlow提出的出發點是因爲研究人員沒法改變現有網絡設備進行創新網絡架構和協議的研究和實驗,而這些新的網絡創新思想偏偏須要在實際的網絡上才能更好地驗證。斯坦福大學所以提出了控制轉發分離架構,將控制邏輯從網絡設備中分離出來,交給中央控制器集中統一控制,實現網絡業務的靈活部署,而且他們設計了OpenFlow協議做爲控制器與交換機通信的標準接口。近年OpenFlow已經引發了網絡設備商和網絡管理員的普遍關注,使用OpenFlow協議實現軟件定義網絡,能夠把網絡做爲一個總體而不是許多獨立分散的設備來集中進行管理,大大提高了網絡可用性和網絡管理效率。網絡

     OpenFlow的思路很簡單,網絡設備維護一個或者若干個流表,而且數據流只按照這些流表進行轉發。流表自己的生成、維護徹底由外置的控制器來管理。流表項並不是僅指普通的IP五元組,而是由一些關鍵字和執行動做組成的靈活規則,而且每一個關鍵字字段都是能夠通配的。在實際應用中,網絡管理人員能夠經過配置流表項中具體的匹配關鍵字來決定使用何種粒度的流轉發規則。例如,若是隻須要根據目的IP進行路由,那麼下發流表項時,關鍵字只匹配目的IP字段,其它關鍵字全通配,而動做中只須要一個出端口便可實現常規的IP路由轉發。架構

     自2009年末發佈第一個正式版本v1.0以來,OpenFlow協議已經經歷了1.11.21.3以及最新發布的1.4等版本的演進過程。同時,2012OpenFlow管理和配置協議也發佈了第一個版本(OF-CONFIG1.0&1.1),用於配合OpenFlow協議進行自動化的網絡部署。圖1給出了OpenFlow協議各個版本的演進過程和主要變化,目前使用和支持最多的是OpenFlow1.0OpenFlow1.3版本,圖2說明了這兩個版本的主要變化。測試

                         圖1OpenFlow協議版本演進圖spa

    OpenFlow協議是描述控制器和交換機之間交互信息的南向接口標準。OpenFlow協議支持三類消息類型:Controller-to-SwitchAsynchronousSymmetric,每一種類型都有多個子類型,控制器和交換機之間經過這三類消息進行鏈接創建,流表下發和信息交換,實現對網絡中全部OpenFlow交換機的控制。設計

              圖2OpenFlow1.01.3版本演進的主要結構變化接口

下面簡單介紹一下OpenFlow協議中1.01.4版本的主要變化過程。ci

     OpenFlow1.0協議指定每一個OpenFlow交換機中都存在一張流表,用於數據包查找、處理和轉發,而且只能同一臺控制器進行通訊,流表的維護也是經過控制器下發相應的OpenFlow消息來實現。流表由多個流表項組成,而每一個流表項就是一個轉發規則。流表項由匹配字段、計數器和動做組成。其中匹配字段是流表項的標識,OpenFlow1.0支持12個匹配字段;計數器用於流表項的匹配和收發包統計;動做指示對匹配流表項的數據包應該執行的動做,如轉發到另外一端口,丟棄或送控制器處理,甚至能夠修改數據包字段轉發。但OpenFlow1.0只支持IPv4路由

    OpenFlow1.0版本的優點是它能夠與現有的商業交換芯片兼容,經過在傳統交換機上升級固件就能夠支持OpenFlow1.0版本,既方便OpenFlow的推廣使用也有效保護了用戶的投資,所以OpenFlow1.0是目前使用和支持最普遍的協議版本。部署

    自OpenFlow1.1版本開始支持多級流表,將流表匹配過程分解成多個步驟,造成流水線處理方式,這樣能夠有效和靈活利用硬件內部固有的多表特性,同時把數據包處理流程分解到不一樣的流表中也避免了單流表過分膨脹問題。除此以外OpenFlow1.1中還增長了對於VLANMPLS標籤的處理,而且增長了Group表,經過在不一樣流表項動做中引用相同的組表實現對數據包執行相同的動做,簡化了流表的維護。OpenFlow1.1版本是OpenFlow協議版本發展的一個分水嶺,它和OpenFlow1.0版本開始不兼容,但後續版本仍然仍是在此基礎上發展。get

    爲了更好支持協議的可擴展性,OpenFlow1.2版本發展爲下發規則的匹配字段再也不經過固定長度的結構來定義,而是採用了TLV結構定義匹配字段,稱爲OXM(OpenFlow Extensible Match),這樣用戶就能夠靈活的下發本身的匹配字段,增長了更多關鍵字匹配字段的同時也節省了流表空間。同時,OpenFlow1.2規定可使用多臺控制器和同一臺交換機進行鏈接增長可靠性,而且多控制器能夠經過發送消息來變換本身的角色。還有重要的一點是自OpenFlow1.2版本開始支持IPv6

    通過1.11.2版本的演變積累,20124月發佈的OpenFlow1.3版本成爲長期支持的穩定版本。OpenFlow1.3流表支持的匹配關鍵字已經增長到40個,足以知足現有網絡應用的須要。OpenFlow1.3主要還增長了Meter表,用於控制關聯流表的數據包的傳送速率,但控制方式目前還相對簡單。OpenFlow1.3還改進了版本協商過程,容許交換機和控制器根據本身的能力協商支持的OpenFlow協議版本。同時,鏈接創建也增長了輔助鏈接提升交換機的處理效率和實現應用的並行性。其它還有IPv6擴展頭和Table-miss表項的支持。

    2013年最新發布的OpenFlow1.4版本仍然是基於1.3版本的特徵改進版本,數據轉發層面沒有太大變化,主要是增長了一種流表同步機制,多個流表能夠共享相同的匹配字段,但能夠定義不一樣的動做;另外又增長了Bundle消息,確保控制器下發一組完整消息或同時向多個交換機下發消息的狀態一致性。其它還支持光口屬性描述,多控制器相關的流表監控等特徵。

    OpenFlow協議的發展演進一直都圍繞着兩個方面,一方面是控制面加強,讓系統功能更豐富更靈活;另外一方面是轉發層面的加強,能夠匹配更多的關鍵字,執行更多的動做。每個後續版本的OpenFlow協議都在前一版本的基礎上進行了或多或少的改進,但自OpenFlow1.1版本開始和以前版本不兼容,OpenFlow協議官方維護組織ONF爲了保證產業界有一個穩定發展的平臺,把OpenFlow1.01.3版本做爲長期支持的穩定版本,一段時間內後續版本發展要保持和穩定版本的兼容。

    神州數碼網絡公司(DCN)2011年就開始OpenFlow交換機的研發,全線交換產品支持OpenFlow1.01.3協議,並配合國內多家高校,科研機構和互聯網公司進行了OpenFlow科研和商用網絡的部署,是目前國內擁有最多實際案例的設備廠商,在行業內處於領先地位。201311月開放網絡基金會ONF正式推出OpenFlow1.0協議一致性認證業務,爲網絡設備商提供了證實其產品徹底符合OpenFlow標準規範的機會,該測試涵蓋二層和三層交換功能的10個方面,共有200來個測試項。DCN公司憑藉近幾年在OpenFlow研發的技術積累,其數據中心交換機CS650020144月順利經過ONF的規範測試,成爲國內首家經過OpenFlow1.0一致性認證的設備廠商。從此DCN將持續研發創新,積極配合用戶實踐SDN,引領網絡設備市場的新變革。

本文來源於SDNLAB,可點擊此閱讀原文。若是你也有好的創做,你能夠給咱們投稿,投稿地址請點擊

相關文章
相關標籤/搜索