我們開(kāi)源網(wǎng)絡(luò)標(biāo)準(zhǔn)系列的前三部分涵蓋了OpenDaylight、Open vSwitch和OpenStack,所有這些都是旨在改變供應(yīng)商、電信和企業(yè)客戶處理網(wǎng)絡(luò)方式的廣泛軟件項(xiàng)目。這三個(gè)計(jì)劃涉及軟件定義網(wǎng)絡(luò) (SDN) 控制器 ( OpenDaylight )、虛擬交換 ( Open vSwitch ) 和云編排 ( OpenStack )。
在這篇文章中,我們將介紹一些開(kāi)源網(wǎng)絡(luò)協(xié)議,這些協(xié)議在推動(dòng)提高網(wǎng)絡(luò)敏捷性方面發(fā)揮了重要作用。可以說(shuō)最突出的是 OpenFlow,它確實(shí)是 SDN 運(yùn)動(dòng)的催化劑,因?yàn)樗箻I(yè)界關(guān)注交換機(jī)可編程的想法。OpenFlow 起源于 Ethane,這是當(dāng)時(shí)斯坦福博士在 2006 年的一個(gè)項(xiàng)目。學(xué)生 Martin Casado(自 Nicira 的首席技術(shù)官和聯(lián)合創(chuàng)始人以來(lái),目前是 Nicira 收購(gòu)方 VMware 的高管),現(xiàn)在由開(kāi)放網(wǎng)絡(luò)基金會(huì)管理。
OpenFlow:一種用于管理流量和啟用 SDN 編排的協(xié)議
盡管 OpenFlow 很突出,但它并不是 SDN 的唯一協(xié)議,它本身也不足以成為 SDN。相反,正如史蒂夫·埃文斯(Steve Evans)不久前在 ComputerWeekly 上指出的那樣,它是SDN 架構(gòu)的構(gòu)建塊,它實(shí)現(xiàn)了對(duì) SDN 至關(guān)重要的關(guān)鍵抽象和可編程性。
在最基本的層面上,OpenFlow 集中了數(shù)據(jù)包交換控制,取代了控制大多數(shù)網(wǎng)絡(luò)上每個(gè)交換機(jī)發(fā)送數(shù)據(jù)包的位置的專有軟件。它基于靈活的流場(chǎng),而不是簡(jiǎn)單的基于目的地匹配,它被設(shè)計(jì)為SDN內(nèi)轉(zhuǎn)發(fā)和控制平面之間的標(biāo)準(zhǔn)通信接口。使用 OpenFlow,不僅可以解耦轉(zhuǎn)發(fā)和控制,還可以解耦軟件和硬件以及物理和邏輯配置。
傳統(tǒng)的 L2 交換機(jī)使用 MAC 學(xué)習(xí)和單播泛洪來(lái)逐步填充其轉(zhuǎn)發(fā)表和目標(biāo) MAC 地址以進(jìn)行轉(zhuǎn)發(fā),而圍繞 OpenFlow 構(gòu)建的網(wǎng)絡(luò)從服務(wù)器或 VM 上運(yùn)行的 OpenFlow 控制器(例如 OpenDaylight)接收其轉(zhuǎn)發(fā)表指令。OpenFlow 控制器通過(guò) OpenFlow 協(xié)議與交換機(jī)和路由器進(jìn)行交互,并通過(guò)北向 API 與業(yè)務(wù)應(yīng)用程序交互。
控制器的集中位置使其能夠優(yōu)化網(wǎng)絡(luò)范圍內(nèi)的流控制,以最大限度地提高帶寬利用率,提供更好的端到端 QoS,并根據(jù)業(yè)務(wù)策略有效響應(yīng)來(lái)自應(yīng)用程序和服務(wù)的動(dòng)態(tài)需求。OpenFlow 是云編排的理想伴侶,因?yàn)槠涓`活、可編程的特性使其成為支持策略驅(qū)動(dòng)的基礎(chǔ)架構(gòu)環(huán)境的連接的基礎(chǔ)。
OpenFlow 系統(tǒng)包含三個(gè)關(guān)鍵組件:
· OpenFlow兼容交換機(jī)中的流表
· OpenFlow 控制器,如上所述
· 控制器和交換機(jī)通信的OpenFlow協(xié)議
OpenFlow 交換機(jī)上的流表?xiàng)l目包含可以匹配的數(shù)據(jù)包字段,包括源(或目標(biāo))以太網(wǎng)或 IP 地址、TCP/IP 端口等。諸如將數(shù)據(jù)包轉(zhuǎn)發(fā)到正確的端口、更改標(biāo)頭值或丟棄是由基于這些字段的流策略驅(qū)動(dòng)的。
流參數(shù)由控制器定義,通常還會(huì)接收與現(xiàn)有流表?xiàng)l目不匹配的任何數(shù)據(jù)包。當(dāng)控制器處理其中一個(gè)數(shù)據(jù)包時(shí),它將創(chuàng)建一個(gè)新條目,其中包含將來(lái)處理類似流的指令。
OpenFlow 控制器和 OpenFlow 交換機(jī)的消息傳遞可能是對(duì)稱的、異步的或控制器到交換機(jī)的:
· 對(duì)稱消息是交換機(jī)和控制器之間的“hello”消息,以及用于監(jiān)控交換機(jī)到控制器通信延遲的回顯消息。
· 來(lái)自交換機(jī)的異步消息涉及上述與現(xiàn)有流表?xiàng)l目不匹配的數(shù)據(jù)包情況。交換機(jī)還可以通知控制器端口的變化、錯(cuò)誤或由于不活動(dòng)而導(dǎo)致的流的移除。
· Controller-to-switch聽(tīng)起來(lái)像是控制器可能會(huì)向交換機(jī)詢問(wèn)信息、修改其流表或在創(chuàng)建新條目后重新發(fā)送數(shù)據(jù)包。
OpenFlow 和 SDN 社區(qū)
OpenFlow 是 SDN 運(yùn)動(dòng)和更廣泛的開(kāi)源社區(qū)機(jī)制中的一個(gè)重要組成部分。OpenFlow 與 OpenDaylight 和 Open vSwitch 有關(guān)鍵的交互(例如,它允許對(duì) Open vSwitch 進(jìn)行編程擴(kuò)展,促進(jìn)網(wǎng)絡(luò)自動(dòng)化)。對(duì)于SDN來(lái)說(shuō),它是最有影響力的轉(zhuǎn)發(fā)/控制抽象的開(kāi)源協(xié)議。Open Networking Foundation 現(xiàn)在囊括了惠普、華為、IBM 等多家主要廠商,并不斷完善 OpenFlow。
然而,這并不是鎮(zhèn)上唯一的游戲。思科已將 OpFlex 作為其以應(yīng)用為中心的基礎(chǔ)設(shè)施 (ACI) 的一部分,這可以看作是對(duì) SDN 的一種非常不同的看法,它不需要 OpenFlow 的特定功能集。此外,諸如 VMware 的 NSX 之類的網(wǎng)絡(luò)覆蓋方法為實(shí)現(xiàn)網(wǎng)絡(luò)可編程性提供了一種完全不同的范例。
隨著越來(lái)越多的組織轉(zhuǎn)向軟件定義的數(shù)據(jù)中心和額外的虛擬化,OpenFlow 幾年前開(kāi)辟的 SDN 空間仍然具有很強(qiáng)的競(jìng)爭(zhēng)力。隨著 Gartner 宣布 SDN 已達(dá)到其炒作周期的最低點(diǎn),真正的采用者正在認(rèn)真工作,將 OpenFlow 及其競(jìng)爭(zhēng)對(duì)手等協(xié)議轉(zhuǎn)變?yōu)閷?shí)際業(yè)務(wù)問(wèn)題的現(xiàn)實(shí)解決方案。只有時(shí)間會(huì)告訴我們哪些范式會(huì)勝出。
審核編輯:郭婷
-
控制器
+關(guān)注
關(guān)注
112文章
16402瀏覽量
178608 -
交換機(jī)
+關(guān)注
關(guān)注
21文章
2646瀏覽量
99814 -
開(kāi)源
+關(guān)注
關(guān)注
3文章
3371瀏覽量
42580
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論