SDN、OpenFlow、OpenDaylight,到底是什麼關係?

2006 年,美國斯坦福大學啟動了一個名叫 Clean Slate 的研究課題。該課題由美國 GENI 項目資助,目的非常明確且宏大,就是——“重塑互聯網”。

SDN、OpenFlow、OpenDaylight,到底是什么关系?

Global Environment for Network Innovations

當時的互聯網,已經歷經了 30 多年的高速發展,從最初的小型專用局域網絡,變成了空前龐大和複雜的世界級網絡。

網絡規模的持續擴張,網絡設備的不斷增加,超過了早期設計的承受能力,也使得網絡維護變得舉步維艱。

於是,專家們開始探討未來網絡的可能性架構,希望在互聯網崩潰之前,將它拉回正軌。而 GENI 項目和 Clean Slate 課題,就是這些嘗試之一。

2007 年,斯坦福大學博士生 Martin Casado 等人提出了關於網絡安全與管理的項目——Ethane。

該項目試圖通過一個集中式的控制器,將網絡管理人員制定的安全控制策略,下發到各個網絡設備中,從而實現對整個網絡的安全控制。

SDN、OpenFlow、OpenDaylight,到底是什么关系?

2008 年,Clean Slate 課題的項目負責人,斯坦福大學教授 Nick McKeown 及其團隊,受到 Ethane 項目的啟發,提出了 OpenFlow 的概念,併發布了那篇經典的文章——《OpenFlow : Enabling Innovation in Campus Networks(OpenFlow:校園網的創新使能)》。

SDN、OpenFlow、OpenDaylight,到底是什么关系?

Nick McKeown 和他的文章

OpenFlow,字面意思就是“開放的流”。

2009 年,基於 OpenFlow,Nick Mckeown 教授正式提出了 SDN(Software Defined Network,軟件定義網絡)。

SDN、OpenFlow、OpenDaylight,到底是什么关系?

同年,SDN 概念成功入圍 Technology Review 年度十大前沿技術,獲得了行業的廣泛關注和重視。

12 月份,OpenFlow 規範的 1.0 版本正式發佈。這是首個可用於商業化產品的版本,具有里程碑意義。

在繼續介紹 SDN 發展歷程之前,我們還是要稍微介紹一下 SDN 的工作原理。

SDN 的核心思想真的很簡單,就是控制和轉發分離。

我們知道,網絡的作用就是連接。通過無數的節點(例如路由器、交換機),將數據從起點傳送到終點,這就是網絡的基本功能。

數據傳輸過程中,各節點不斷接收和轉發數據包。控制負責下命令,轉發負責幹活。然而,考慮到安全冗餘等因素,現實中的網絡絕對不會是一條直線那麼簡單。它會是一個複雜的拓撲結構。

SDN、OpenFlow、OpenDaylight,到底是什么关系?

於是,命令該怎麼下,直接決定了網絡的效率。

傳統網絡中,各個轉發節點都是獨立工作的,內部管理命令和接口也是廠商私有的,不對外開放。

SDN、OpenFlow、OpenDaylight,到底是什么关系?

每個節點,都在說各自的“方言”

所以,我們可以把它理解為“各自為戰”的模式。雖然“戰略層面”的規劃和設計可能是統一的,但“戰術層面”的執行卻是複雜且低效的。

而 SDN 網絡,就是在網絡之上建立了一個 SDN 控制器節點,統一管理和控制下層設備的數據轉發。所有的下級節點,管理功能被剝離(交給了 SDN 控制器),只剩下轉發功能。

SDN、OpenFlow、OpenDaylight,到底是什么关系?

SDN 控制下的網絡,變得更加簡單。管理者只需要像配置軟件一樣,進行簡單部署,就可以讓網絡實現新的路由轉發策略。(如果是傳統網絡,每個網絡設備都需要單獨配置。)

除了簡化部署之外,SDN 更深層次的意義,是賦予了網絡的“可編程性”。

也就是說,控制和轉發分離之後,藉助規範化的 API 接口,用戶可以通過編寫軟件的方式,對網絡進行管理。整個網絡,就像個完整的機器人一樣可供驅使。

我們具體來看看 SDN 的架構。

SDN 網絡的整體架構,分為三層,從上到下分別是應用平面、控制平面和轉發平面。

SDN、OpenFlow、OpenDaylight,到底是什么关系?

整個架構的核心,就是 SDN 控制器。

上北下南,SDN 控制器向上與應用平面進行通信的接口,叫做北向接口,也叫 NBI 接口(northbound interface)。SDN 控制器向下與數據平面進行通信的接口,叫做南向接口,也叫 CDPI 接口(control-data-plane interface,控制數據平面接口)。

北向接口相對來說比較好搞,麻煩的是南向接口及其協議。因為它直接影響到 SDN 控制器的命令能否準確下達到無數的底層網絡設備。

因此,SDN 技術的發展史,簡而言之,就是圍繞 SDN 控制器和南向接口的“王位爭奪史”。

在 SDN 被提出之後,第一個控制器平臺是 NOX。它是一種單一集中式結構的控制器,南向接口採用的是 OpenFlow 協議。

2011 年,由 Google、Facebook、微軟等公司共同發起成立了一個對 SDN 影響深遠的組織,那就是 ONF(Open Networking Foundation,開放網絡基金會)。

ONF 的主要發起成員是德國電信、Facebook、Google、微軟、雅虎等公司。

這些公司要麼是網絡服務提供商,要麼是運營商,沒有一個是來自設備商的。他們成立 ONF 的目的,是為了推動 SDN 和 OpenFlow 協議的發展。他們不希望 SDN 這個網絡新技術又被設備商控制,成為設備商的賺錢工具。

上述發起人裡面,最值得一提的是 Google。

如果說 Nick Mckeown 教授是點燃 SDN 星星之火的人,那麼,Google 顯然是將星星之火燒遍全球的關鍵角色。

早在 SDN 被提出之外,Google 就在尋找提升自身網絡效率的方法。當看到 SDN 之後,Google 確認,這就是他們想要的。於是,他們果斷決定將 SDN 應用於自己的數據網絡。

2010 年,Google 開始將數據中心與數據中心之間的網路連線(G-scale),轉換成 SDN 架構。整個改造分為三個階段。到了 2012 年,整個 Google B4 網絡完全切換到了 OpenFlow 網絡。

SDN、OpenFlow、OpenDaylight,到底是什么关系?

Google B4 是一種橫跨整個地球的連接到谷歌數據中心私有廣域網。

改造之後,Google B4 網絡的鏈路帶寬利用率提高了 3 倍以上,接近 100%。

這樣的結果毫無疑問是令人震撼的,也堅定了行業對 SDN 的信心。

2013 年,Google 在 SIGCOMM 上發表了論文《B4: Experience with a Globally-Deployed Software Defined WAN》,詳細介紹了 Google 的 WAN 加速 SDN 方案。論文中提及,Google 使用的控制器名叫 ONIX。

面對 SDN 和 ONF,設備商當然也不能無動於衷。

2013 年 4 月 8 日,在 Linux 基金會的支持下,作為網絡設備商的領導者,Cisco 與 IBM、微軟等公司一起,發起成立了開源組織 OpenDaylight,共同開發 SDN 控制器。

ODL 的發起公司有:IBM、微軟、Big Switch、博科、思傑、戴爾、愛立信、富士通、英特爾、Juniper、NEC、惠普、紅帽和 VMware……基本都是廠商

OpenDaylight 提出,SDN 不等於 OpenFlow,人們需要對 SDN 進行“重新定義”。

也就是說,OpenDaylight 強調 SDN 控制器不僅僅侷限於 OpenFlow,而是應該支持多種南向協議。

同時,OpenDaylight 還強調,應該用分佈式的控制平臺,取代單實例的控制器。這樣可以管理更大的網絡,提供更強勁的性能,還能增強系統的安全性和可靠性。

OpenDaylight 成立之後,成員數量增長迅速。但實際上,各個成員都有自己的小算盤。

Cisco 就不用說了,作為 OpenDaylight 項目的牽頭人,它主導了其中大部分項目的開發。Cisco 也一直想推自家的 OpFlex 上位。

除了 Cisco 之外,Big Switch 推出 Big Network Controller 以及對應的開源版本 Floodlight。Juniper 推出的是 Contrial 以及對應的開源版本 OpenContrial。

總而言之,這一時期各種各樣的 SDN 控制器處於百家爭鳴的狀態,發展勢頭一片大好。

SDN、OpenFlow、OpenDaylight,到底是什么关系?

當時比較主流的幾種 SDN 控制器

仗著人多勢眾,OpenDaylight 也成了行業裡最具影響力的技術組織之一。

就在 OpenDaylight 風光無限的時候,又殺出了一個攪局者。

2014 年 12 月 5 日,ON.Lab 推出了一款創新性的網絡操作系統——ONOS(Open Network Operating System),對 OpenDaylight 發起了強有力的挑戰。

SDN、OpenFlow、OpenDaylight,到底是什么关系?

ONOS 直接將自身定位提升到網絡操作系統層面。

ON.Lab 是哪裡冒出來的呢?ON.Lab 全名是 Open Networking Lab(開放網絡實驗室),最初是由 Parulkar 和 Nick McKeown 共同成立的。沒錯,就是提出 SDN 的那個 Nick McKeown 教授。

On.Lab 的某些職能和 ONF 很類似。2016 年 10 月 19 日,兩個組織宣佈正式合併,組成了新的 ONF。

SDN、OpenFlow、OpenDaylight,到底是什么关系?

就這樣,圍繞 SDN 控制器和協議,各大流派及廠商進行了十多年的明爭暗鬥,並最終形成了現在的局面。

從趨勢來看,網絡操作系統的概念深入人心,是大勢所趨。SDN 控制器作為網絡操作系統的核心,重要性不言而喻。

未來,隨著網絡規模的擴大,SDN 控制器肯定會繼續往分佈式的方向發展。控制器之間的分工協作會更加深入,甚至可能出現集群。控制器也會引入 NFV 虛擬化技術,與 OpenStack 等雲平臺進行整合。

好啦,關於 SDN 的大致發展過程,就介紹到這裡。SDN 的演進並沒有結束,圍繞 SDN“正主”地位的爭奪也沒有結束。最終誰將主導未來網絡?讓我們拭目以待!


分享到:


相關文章: