【重識雲原生】第四章雲網絡4.8.2.1節——OpenFlow概述 1 OpenFlow背景 2 OpenFlow基本概念 參考鏈接

1 OpenFlow背景

        轉發和控制分離是SDN網絡的本質特點之一 。在SDN網絡架構中,控制平面與轉發平面分離,網絡的管理和狀態在邏輯上集中到一起,底層的網絡基礎從應用中獨立出來,由此,網絡獲得前所未有的可編程、可控制和自動化能力。這使用戶可以很容易根據業務需求,建立高度可擴展的彈性網絡。要實現SDN網絡的轉控分離架構,就需要在SDN控制器與數據轉發層之間建立一個通信接口標準。

SDN核心處理邏輯

        2008年,斯坦福大學成立了一個名爲Clean Slate的特別工作小組,這個小組在2009年開發出了一個可以滿足SDN網絡轉控分離架構的標準,即OpenFlow 1.0。同時該小組還開發出了OpenFlow的參考交換機和NOX控制器。OpenFlow標準協議允許控制器直接訪問和操作網絡設備的轉發平面,這些設備可以是物理設備,也可以是虛擬的路由器或者交換機。轉發平面則採用基於流的方式進行轉發。

        OpenFlow 1.0問世後不久就引起了業界關注。2011年3月21日,德國電信、臉書、谷歌、微軟、雅虎等公司共同成立的了ONF(Open Networking Foundation)組織,旨在推廣SDN,並加大OpenFlow的標準化力度。芯片商Broadcom、設備商Cisco、Juniper、HP等,各數據中心解決方案提供者以及衆多運營商紛紛參與。該組織陸續制定了OpenFlow 1.1、1.2、1.3、1.4等標準,目前仍在繼續完善中。隨着越來越多的公司加入ONF,OpenFlow及SDN技術的影響力也越來越大。

        下圖給出了OpenFlow協議各個版本的演進過程和主要變化,目前使用和支持最多的是OpenFlow1.3版本。

 OpenFlow版本更新曆程

        OpenFlow 規範官方地址:https://www.opennetworking.org/sdn-resources/technical-library

2 OpenFlow基本概念

        OpenFlow 是SDN 架構中控制平面和轉發平面的標準通信接口。OpenFlow 允許網絡設備與物理和虛擬的轉發平面的直接訪問和操作。基於OpenFlow 的SDN架構使IT能夠應對今天的高帶寬的、動態的應用。適應網絡不斷變化的業務需求,並顯著降低運營和管理的複雜度。

2.1 OpenFlow組件

        OpenFlow網絡由OpenFlow網絡設備(OpenFlow 交換機)、控制器(OpenFlow控制器)、用於連接設備和控制器的安全通道(Secure Channel)以及OpenFlow表項組成。其中,OpenFlow 交換機設備和OpenFlow控制器是組成OpenFlow網絡的實體,要求能夠支持安全信道和OpenFlow表項。

 OpenFlow組件圖

2.1.1 OpenFlow控制器

        OpenFlow控制器位於SDN架構中的控制層,通過OpenFlow協議南向指導設備的轉發。目前主流的OpenFlow控制器分爲兩大類:開源控制器和廠商開發的商用控制器。這裏簡要介紹幾款較爲知名的開源控制器。

1、NOX/POX

        NOX是第一款真正的SDN OpenFlow控制器,由Nicira公司在08年開發,並且捐贈給了開源組織。NOX支持OpenFlow V1.0,並提供相關C++的API,採用異步的、基於時間的編程模型。而POX可以視作是更新的、基於Python的NOX版本,支持Windows,Mac OS和Linux系統上的Python開發,主要用於研究和教育領域。

2、ONOS

        ONOS(Open Network Operating System)控制器是由The Open Networking Lab使用Java及Apache實現發佈的首款開源SDN網絡操作系統,主要面向服務提供商和企業骨幹網。ONOS的設計宗旨是實現可靠性強、性能好、靈活度高的SDN控制器。

3、OpenDaylight

        OpenDaylight是一個Linux 基金合作項目,該項目以開源社區爲主導,使用Java語言實現開源框架,旨在推動創新實施以及軟件定義網絡(簡稱SDN)透明化。面對SDN型網絡,OpenDaylight作爲項目核心,擁有一套模塊化、可插拔且極爲靈活的控制器,使其能夠被部署在任何支持Java的平臺之上,還包含一套模塊合集,能夠執行需要快速完成的網絡任務。

        OpenDaylight控制器的命名以化學元素爲名,最初的產品是Hydrogen(氫),當前已經發布了第八個版本Oxygen(氧),並且實現了OpenDaylight與NFV開放平臺OPNFV(Open Platform for NFV)、開源雲平臺OpenStack和開放網絡自動化平臺ONAP(Open Network Automation Platform)同步。

         大多數開源的SDN控制器是完全基於OpenFlow協議開發的,這是因爲其設計多數源自於Onix(一種分佈式控制器框架)。相比之下,大部分商用控制器會將OpenFlow和其他協議進行聯合使用,以完成更復雜的功能。在當下SDN網絡大行其道的時代,大多數主流網絡廠商例如VMware、Cisco、H3C等都推出了自己的商用控制器。例如,H3C的VCFC(Virtual Converged Framework Controller,虛擬應用融合架構控制器)南向通過OpenFlow、OVSDB、NETCONF協議對SDN網絡設備(主要是OpenFlow交換機)進行管控和指導轉發,北向提供開放的Rest API以及JAVA編程接口。整體架構如下所示:

 VCFC整體架構圖

2.1.2 OpenFlow交換機

        OpenFlow交換機由硬件平面上的OpenFlow表項和軟件平面上的安全通道構成,OpenFlow表項爲OpenFlow的關鍵組成部分,由Controller下發來實現控制平面對轉發平面的控制。

        OpenFlow 交換機主要有下面兩種:

• OpenFlow-Only Switch:僅支持OpenFlow轉發。

• OpenFlow-Hybrid Switch:既支持OpenFlow轉發,也支持普通二三層轉發。

        一個OpenFlow交換機可以有若干個OpenFlow實例,每個OpenFlow實例可以單獨連接控制器,相當於一臺獨立的交換機,根據控制器下發的流表項指導流量轉發。OpenFlow實例使得一個OpenFlow交換機同時被多組控制器控制成爲可能。

 OpenFlow交換機與控制器

        OpenFlow交換機實際在轉發過程中,依賴於OpenFlow表項,轉發動作則是由交換機的OpenFlow接口完成。OpenFlow接口有下面三類:

  1. 物理接口:比如交換機的以太網口等。可以作爲匹配的入接口和出接口。
  2. 邏輯接口:比如聚合接口、Tunnel接口等。可以作爲匹配的入接口和出接口。
  3. 保留接口:由轉發動作定義的接口,實現OpenFlow轉發功能。

參考鏈接

OVS那些事兒之基礎功能篇_Kenelite的博客-CSDN博客_ovs和dvs

(三)OpenFlow協議_竹杖芒鞋輕勝馬,一蓑煙雨任平生的博客-CSDN博客_openflow協議是基於什麼協議

Openflow協議詳解-新華三集團-H3C

OpenFlow協議初探——OpenFLow中的流和流表 - 知乎

 《重識雲原生系列》專題索引: 

  1. 第一章——不謀全局不足以謀一域
  2. 第二章計算第1節——計算虛擬化技術總述
  3. 第三章雲存儲第1節——分佈式雲存儲總述
  4. 第四章雲網絡第一節——雲網絡技術發展簡述
  5. 第四章雲網絡4.2節——相關基礎知識準備
  6. 第四章雲網絡4.3節——重要網絡協議
  7. 第四章雲網絡4.3.1節——路由技術簡述
  8. 第四章雲網絡4.3.2節——VLAN技術
  9. 第四章雲網絡4.3.3節——RIP協議
  10. 第四章雲網絡4.3.4節——OSPF協議
  11. 第四章雲網絡4.3.5節——EIGRP協議
  12. 第四章雲網絡4.3.6節——IS-IS協議
  13. 第四章雲網絡4.3.7節——BGP協議
  14. 第四章雲網絡4.3.7.2節——BGP協議概述
  15. 第四章雲網絡4.3.7.3節——BGP協議實現原理
  16. 第四章雲網絡4.3.7.4節——高級特性
  17. 第四章雲網絡4.3.7.5節——實操
  18. 第四章雲網絡4.3.7.6節——MP-BGP協議
  19. 第四章雲網絡4.3.8節——策略路由
  20. 第四章雲網絡4.3.9節——Graceful Restart(平滑重啓)技術
  21. 第四章雲網絡4.3.10節——VXLAN技術
  22. 第四章雲網絡4.3.10.2節——VXLAN Overlay網絡方案設計
  23. 第四章雲網絡4.3.10.3節——VXLAN隧道機制
  24. 第四章雲網絡4.3.10.4節——VXLAN報文轉發過程
  25. 第四章雲網絡4.3.10.5節——VXlan組網架構
  26. 第四章雲網絡4.3.10.6節——VXLAN應用部署方案
  27. 第四章雲網絡4.4節——Spine-Leaf網絡架構
  28. 第四章雲網絡4.5節——大二層網絡
  29. 第四章雲網絡4.6節——Underlay 和 Overlay概念
  30. 第四章雲網絡4.7.1節——網絡虛擬化與卸載加速技術的演進簡述
  31. 第四章雲網絡4.7.2節——virtio網絡半虛擬化簡介
  32. 第四章雲網絡4.7.3節——Vhost-net方案
  33. 第四章雲網絡4.7.4節vhost-user方案——virtio的DPDK卸載方案
  34. 第四章雲網絡4.7.5節vDPA方案——virtio的半硬件虛擬化實現
  35. 第四章雲網絡4.7.6節——virtio-blk存儲虛擬化方案
  36. 第四章雲網絡4.7.8節——SR-IOV方案
  37. 第四章雲網絡4.7.9節——NFV
  38. 第四章雲網絡4.8.1節——SDN總述
  39. 第四章雲網絡4.8.2.1節——OpenFlow概述
  40. 第四章雲網絡4.8.2.2節——OpenFlow協議詳解
  41. 第四章雲網絡4.8.2.3節——OpenFlow運行機制
  42. 第四章雲網絡4.8.3.1節——Open vSwitch簡介
  43. 第四章雲網絡4.8.3.2節——Open vSwitch工作原理詳解
  44. 第四章雲網絡4.8.4節——OpenStack與SDN的集成
  45. 第四章雲網絡4.8.5節——OpenDayLight
  46. 第四章雲網絡4.8.6節——Dragonflow
本文由[mdnice](https://mdnice.com/?platform=6)多平臺發佈
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章