自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

解讀SDN核心技術(shù):OpenFlow深入分析

網(wǎng)絡(luò)
OpenFlow是由斯坦福大學的Nick McKeown教授在2008年4月ACM Communications Review上發(fā)表的一篇論文OpenFlow: enabling innovation in campus networks首先詳細論述了OpenFlow的原理。

1 OpenFlow簡介

OpenFlow是由斯坦福大學的Nick McKeown教授在2008年4月ACM Communications Review上發(fā)表的一篇論文OpenFlow: enabling innovation in campus networks首先詳細論述了OpenFlow的原理。由該論文課題可知OpenFlow提出的最初出發(fā)點是用于校園內(nèi)網(wǎng)絡(luò)研究人員實驗其創(chuàng)新網(wǎng)絡(luò)架構(gòu)、協(xié)議,考慮到實際的網(wǎng)絡(luò)創(chuàng)新思想需要在實際網(wǎng)絡(luò)上才能更好地驗證,而研究人員又無法修改在網(wǎng)的網(wǎng)絡(luò)設(shè)備,故而提出了OpenFlow的控制轉(zhuǎn)發(fā)分離架構(gòu),將控制邏輯從網(wǎng)絡(luò)設(shè)備盒子中引出來,研究者可以對其進行任意的編程從而實現(xiàn)新型的網(wǎng)絡(luò)協(xié)議、拓撲架構(gòu)而無需改動網(wǎng)絡(luò)設(shè)備本身。該想法首先在美國的 GENI研究項目中得到應用,實現(xiàn)了一個從主機到網(wǎng)絡(luò)的端到端創(chuàng)新實驗平臺,HP、NEC等公司提供了GENI項目所需的支持OpenFlow的交換機設(shè)備。OpenFlow其架構(gòu)見下圖:

解讀SDN核心

▲圖 1.1 OpenFlow概念架構(gòu)

Openflow的思路很簡單,網(wǎng)絡(luò)設(shè)備維護一個FlowTable并且只按照FlowTable進行轉(zhuǎn)發(fā),F(xiàn)lowtable本身的生成、維護、下發(fā)完全由外置的Controller來實現(xiàn),注意這里的FlowTable并非是指IP五元組,事實上OpenFlow 1.0定義的了包括端口號、VLAN、L2/L3/L4信息的10個關(guān)鍵字,但是每個字段都是可以通配的,網(wǎng)絡(luò)的運營商可以決定使用何種粒度的流,比如運營商只需要根據(jù)目的IP進行路由,那么流表中就可以只有目的IP字段是有效的,其它全為通配。

這種控制和轉(zhuǎn)發(fā)分離的架構(gòu)對于L2交換設(shè)備而言,意味著MAC地址的學習由Controller來實現(xiàn),V-LAN和基本的L3路由配置也由Controller下發(fā)給交換機。對于L3設(shè)備,各類IGP/EGP路由運行在Controller之上,Controller根據(jù)需要下發(fā)給相應的路由器。流表的下發(fā)可以是主動的,也可以是被動的,主動模式下,Controller將自己收集的流表信息主動下發(fā)給網(wǎng)絡(luò)設(shè)備,隨后網(wǎng)絡(luò)設(shè)備可以直接根據(jù)流表進行轉(zhuǎn)發(fā);被動模式是指網(wǎng)絡(luò)設(shè)備收到一個報文沒有匹配的FlowTable記錄時,將該報文轉(zhuǎn)發(fā)給Controller,由后者進行決策該如何轉(zhuǎn)發(fā),并下發(fā)相應的流表。被動模式的好處是網(wǎng)絡(luò)設(shè)備無需維護全部的流表,只有當實際的流量產(chǎn)生時才向Controller獲取流表記錄并存儲,當老化定時器超時后可以刪除相應的流表,故可以大大節(jié)省TCAM空間。當一個Controller同時控制多個交換機/路由器設(shè)備時,它們看起來就像一個大的邏輯交換機,各個交換機/路由器硬件就如同這個邏輯網(wǎng)絡(luò)設(shè)備的遠程線卡,類似的概念在Cisco的Nexus 1000/1000v、ASR9000/9000v和Juniper的Q-Fabric架構(gòu)中可以看到影子,Cisco稱之為nV(Network Virtualization)技術(shù)。

OpenFlow 1.0的流表分為Match Fields、計數(shù)器和指令集三個部分,Match Fields是報文匹配的輸入關(guān)鍵字,計數(shù)器是管理所需,指令集是決定報文如何轉(zhuǎn)發(fā),最基本的轉(zhuǎn)發(fā)行為包括轉(zhuǎn)發(fā)給某個端口、封裝改寫報文后轉(zhuǎn)發(fā)以及丟棄。 OpenFlow 1.1增加了對MPLS以及UDP/SCTP傳輸層協(xié)議的支持,同時針對流表開銷過大的情況設(shè)計了多級流表,并增加分組策略功能。

 

解讀SDN核心

 

#p#

2 “Open”還是”Flow”

Nick同學借著GENI項目完成了OpenFlow的初始概念實驗后開始向產(chǎn)業(yè)界推銷,目前已知Arista Networks, IBM, Juniper Networks, Hewlett-Packard以及NEC等廠商在其部分交換機中支持OpenFlow協(xié)議。從其經(jīng)歷來看,其絕非是一個象牙塔中的單純研究者,而是時刻和產(chǎn)業(yè)界保持了密切的聯(lián)系。Nick 1986-1989年在HP實驗室從事網(wǎng)絡(luò)技術(shù)研究,1995年參與了Cisco的GSR12000路由器的架構(gòu)設(shè)計,并且也是CrossBar的設(shè)計者之一,并且先后創(chuàng)建了Abrizio和Nemo System公司,后者在2005年以$12.5M賣給Cisco公司。2009年又不甘寂寞,創(chuàng)建了以推廣OpenFlow為目標的Nicira公司,該公司是開源OpenFlow Controller NOX的維護者。

2011年3月21日,由德電、Facebook、 Google、微軟、Verizon、Yahoo!發(fā)起成立了Open Networking Foundation,旨在推進實現(xiàn)基于OpenFlow的開放網(wǎng)絡(luò),參與者眾多,從交換芯片的博通、Broadcom到網(wǎng)絡(luò)設(shè)備的提供者Cisco、 Juniper、NSN、Force10、Ericsson、NEC以及數(shù)據(jù)中心解決方案提供者IBM、HP、VmWare、Citrix以及運營商 NTT等等。網(wǎng)絡(luò)設(shè)備提供商中阿朗、華為、中興缺席,阿朗缺席可以理解,畢竟數(shù)據(jù)中心不是其產(chǎn)品方向。

除了在Datacenter中的應用外,OpenFlow的擁躉者還提出了采用OpenFlow實現(xiàn)網(wǎng)絡(luò)虛擬化的架構(gòu),以支持虛擬網(wǎng)絡(luò)運營商,其中開源的FlowVisor作為網(wǎng)絡(luò)虛擬控制層(相當于HyperVisor),將網(wǎng)絡(luò)資源根據(jù)VLAN、IP分段等各種信息進行切片,分發(fā)給上層的Open Flow Controller(相當于Guest OS)進行,在各個VNO(虛擬網(wǎng)絡(luò)運營商)的Controller上VNO可以采用腳本編程來控制其租用的虛擬網(wǎng)絡(luò)的各種轉(zhuǎn)發(fā)、QoS策略。該模式也同樣適用于數(shù)據(jù)中心運營商提供VPC(Virtual Private Cloud,虛擬私有云)業(yè)務時將網(wǎng)絡(luò)虛擬化和計算存儲打包出售給租戶。

雖然Nick同學忽悠了這么大的陣勢,還是有很多人疑惑openflow的價值到底在哪里,是Open還是Flow?這個問題首先可以否認”Flow” 的價值,原因很簡單,是否控制到細粒度的Flow取決于應用,應用沒有控制流的需求,則Flow毫無價值,”Flow”只是Openflow能提供的最大限度的控制能力而已,目前在ONF關(guān)注的數(shù)據(jù)中心交換網(wǎng)中沒有誰打算控制精確到n(n>=5)元組的流,除非是應用在防火墻控制上。

那么”Open”呢?的確包括Nick本人在內(nèi)一直強調(diào)的都是”Open”是價值之所在,Open之后,研究者、運營商可以采購任意廠商的標準接口設(shè)備,自己DIY網(wǎng)絡(luò),甚至可以采用交換信息廠商提供的公版設(shè)計交換機加上OpenFlow Controller就可以組成自己所需的網(wǎng)絡(luò),并且Controller的開放軟件架構(gòu)使得網(wǎng)絡(luò)控制的實現(xiàn)就像Web編程一樣簡單,采用Python、 JAVA Script這樣的腳本加上開源算法庫、一個不需要了解太多網(wǎng)絡(luò)協(xié)議細節(jié)的開發(fā)者幾天就可以實現(xiàn)一個新的網(wǎng)絡(luò)拓撲算法開發(fā)、部署。這在流量模型尤為復雜運營級數(shù)據(jù)中心確實非常有吸引力。在這樣的一種場景中,網(wǎng)絡(luò)設(shè)備市場就變成了如同PC那樣的市場,賣網(wǎng)絡(luò)設(shè)備硬件的就成了賣大白菜的,大家最后只能比拼價格和工藝設(shè)計了。但是,即使這種悲慘的場景成為事實,誰又會是PC化的網(wǎng)絡(luò)市場中提供Windows的微軟呢,Openflow體系的NOS將會誰是贏家? 交換網(wǎng)絡(luò)相對簡單,但是L3之上各種協(xié)議散落在數(shù)十年積累的數(shù)千篇IETF RFC中,誰能夠有實力實現(xiàn)一個如此復雜的網(wǎng)絡(luò)操作系統(tǒng)而又讓運營商放心呢?我想仍然可能是今天的網(wǎng)絡(luò)設(shè)備巨頭Cisco、Juniper們,產(chǎn)生意外的可能極小,但是產(chǎn)業(yè)鏈已經(jīng)被家常,競爭的焦點已經(jīng)發(fā)生了轉(zhuǎn)移

從NGN引入控制承載分離架構(gòu)的經(jīng)驗來看,沒有一個領(lǐng)先廠家愿意開放媒體網(wǎng)關(guān)的控制接口,也幾乎看不到商用的開放接口組網(wǎng)案例,因此可以推斷即使OpenFlow廣為業(yè)界采用,”Open”成為現(xiàn)實必定困難重重。如此一來 Openflow能夠留下的就是單廠商自己實現(xiàn)的控制轉(zhuǎn)發(fā)分離架構(gòu)以及控制器開放軟件架構(gòu)帶來的降低開發(fā)周期、新功能快速面世能力??刂坪娃D(zhuǎn)發(fā)分離架構(gòu)在 NGN帶來的好處是兩方面的1)對于設(shè)備供應商而言,不必為兩種完全不同的能力塞在一個空間、功耗、成本均受限的一個盒子中而又保證足夠的可擴展性而苦惱,兩種硬件平臺、軟件架構(gòu)可以分離發(fā)展,分別實現(xiàn)最優(yōu)設(shè)計。2)對于運營商而言,可以獲得部署上的靈活性和管理上的便利,媒體網(wǎng)關(guān)由于要匯聚流量,靠近用戶可以節(jié)省電路資源、減少時延,控制器部署集中在更高位置,與運營商的集中管控戰(zhàn)略一致,方便降低Opex。這些好處在Openflow架構(gòu)中類似。

有人會爭辯說上述好處采用集中網(wǎng)管也可實現(xiàn),不錯,所謂殊途同歸,技術(shù)層面上來講沒有一種技術(shù)是不可替代的,但是產(chǎn)業(yè)鏈、經(jīng)濟性也就是市場是最終的評判者。如果采用網(wǎng)管來實現(xiàn)的話,實現(xiàn)Openflow同等的能力需要網(wǎng)管服務器參與到轉(zhuǎn)發(fā)的在線決策中,那樣網(wǎng)管服務的可靠性指標要提升幾個數(shù)量級,并且要定義網(wǎng)管接口可以將未命中策略的流量引出來,那不過是另外一種形態(tài)的Openflow,就如同Cisco的nV技術(shù)一樣。

#p#

3 OpenFlow對產(chǎn)業(yè)鏈的影響

如上節(jié)所述,OpenFlow隱隱約約有將網(wǎng)絡(luò)設(shè)備市場PC化的可能,但目前尚缺一個類似于類似于微軟的基于OpenFlow的網(wǎng)絡(luò)設(shè)備操作系統(tǒng)提供商。理論上,運營商會喜歡網(wǎng)絡(luò)控制接口,技術(shù)流的運營商也樂于DIY自己的網(wǎng)絡(luò),比如數(shù)據(jù)中心的擁有者Google、Facebook的服務器已經(jīng)采用大量定制化的廉價服務器搭建自己的計算服務設(shè)備,對于網(wǎng)絡(luò),他們也已經(jīng)開始通過ONF啟動了DIY之旅。

DIY之后,網(wǎng)絡(luò)設(shè)備價值鏈的核心分化,網(wǎng)絡(luò)交換芯片,尤其是FlowTable處理器將是一個核心價值所在,控制器(也就是前述的網(wǎng)絡(luò)操作系統(tǒng))軟件系統(tǒng)也是價值核心,有了這兩個組件,大量廉價網(wǎng)絡(luò)設(shè)備硬件將涌現(xiàn)在市場之上,這使得硬件市場利潤攤薄。但是這種開放性將使得網(wǎng)絡(luò)創(chuàng)新速度加快,尤其是當這個領(lǐng)域有幸誕生新的固執(zhí)摩爾定律的Intel和開源Linux操作系統(tǒng)。

通信領(lǐng)域的產(chǎn)業(yè)周期中,創(chuàng)新的功能走的是一條運營商提出需求 ->設(shè)備供應商分析需求->標準組織標準化->設(shè)備供應商實現(xiàn)->運營商測試并采用的超長路徑,周期以數(shù)年計算,而互聯(lián)網(wǎng)業(yè)務提供商往往集運營商和供應商于一身,創(chuàng)新功能的采用從需求發(fā)現(xiàn)->設(shè)計->開發(fā)->上線在一個商業(yè)實體中完成,并且功能開發(fā)過程中可以不斷獲得用戶的反饋而改進設(shè)計,這是所謂的Web業(yè)務開發(fā)的”永遠是Beta版本”的概念,應用到網(wǎng)絡(luò)設(shè)計中,運營商可以自行設(shè)計網(wǎng)絡(luò)拓撲算法,并且可以根據(jù)網(wǎng)絡(luò)性能統(tǒng)計進行迭代調(diào)整。由此可見此種OpenFlow的遠景可能結(jié)果是將網(wǎng)絡(luò)創(chuàng)新從供應商巨頭壟斷轉(zhuǎn)變?yōu)檫\營商主導創(chuàng)新。

4 OpenFlow面臨的技術(shù)難點

Openflow的推廣除了面臨上一章所述的產(chǎn)業(yè)博弈的問題外,目前還面臨著一些技術(shù)的難點。其中之一就是路由器/交換機中廣為使用的快速查找TCAM 存儲器成本的問題。在傳統(tǒng)設(shè)備中,需要采用TCAM的表包括FIB、MAC、MPLS Lable和ACL表,每個表的匹配字段長度不一,分開設(shè)計,并且設(shè)計了最大容量,以期達到最小的開銷。而在Openflow設(shè)備中,不再區(qū)分匹配長度短的FIB、MAC、MPLS Lable表以及較長的ACL表,一律采用最大長度的FlowTable記錄代替,對于OpenFlow1.0而言,F(xiàn)low table的匹配字段長度長達252比特,而一般IPV4 RIB TCAM匹配字段長度只有60-80個比特,開銷增加了3倍以上,而對于路由器的線卡而言,TCAM成本占了約20-30%,功耗也占了很大一部分。因此如何減少FlowTable尺寸將是OpenFlow體系面臨的一個極大問題,此外,TCAM體系下FlowTable記錄的動態(tài)插入算法將更為復雜。

OpenFlow1.1設(shè)計了多級流表來減少Flowtable的開銷,將流表進行特征提取,分解成多個步驟,形成流水線處理形式,從而降低總的流表記錄條數(shù),比如原始流表共有10000條,分解成先匹配VLAN+MAC,再匹配IP和傳輸層頭部的兩個獨立流表,每個流表的數(shù)量可能均小于1000條,使得流表總數(shù)小于2000條。但流水線式架構(gòu)使得匹配時延增加,而且流量的生成、維護算法復雜度提高,至今也未見到針對真實網(wǎng)絡(luò)的效果評估報告。

OpenFlow的關(guān)鍵是通過OpenFlow將網(wǎng)絡(luò)轉(zhuǎn)發(fā)的原子操作抽象出來,并以流表來驅(qū)動流程,我們所論述的一切好處是建立在OpenFlow FlowTable能夠很好地將Primitive和WorkFlow抽象,支持設(shè)計新的協(xié)議在大部分情況下的確可以通過只修改Controller的邏輯來實現(xiàn)這一假定上。在OpenFlow最初應用的Switch領(lǐng)域,OpenFlow已經(jīng)有殺雞用牛刀的嫌疑了。但是路由網(wǎng)絡(luò),尤其是包含有大量用戶控制邏輯的邊界路由器,如BRAS、無線網(wǎng)絡(luò)的GGSN/PDSN/xGW等設(shè)備,OpenFlow需要擴展將用戶控制邏輯抽象為原子操作和流程,那可能已經(jīng)不適合叫FlowTable,叫AccessControlTable更合適,轉(zhuǎn)發(fā)操作本身的匹配規(guī)則、轉(zhuǎn)發(fā)操作中也需要增加對現(xiàn)存的各種接入?yún)f(xié)議和表征接入會話的協(xié)議字段的支持,比如PPPoE、GTP-U、PDP激活操作的匹配和轉(zhuǎn)發(fā)封裝支持。

5 結(jié)論

從需求面上講,控制轉(zhuǎn)發(fā)分離、集中控制的確可以為運營商帶來好處,對設(shè)備上自身的設(shè)備軟件架構(gòu)也有借鑒作用,但是”Open”出來的驅(qū)動力不足,面臨產(chǎn)業(yè)的博弈,諸多市場后進者可能會借OpenFlow博上位,但是市場既得利益者必定會持反對態(tài)度。有人會提出,我的設(shè)備本身就是控制、轉(zhuǎn)發(fā)分離的架構(gòu)了,我將控制功能出來就行了,沒錯,Cisco們看起來就是這么干的。

從具體細分市場而言,數(shù)據(jù)中心中OpenFlow處理復雜流量模型、集中管控有優(yōu)勢,而且隨著多租戶數(shù)據(jù)中心業(yè)務的廣泛開展,OpenFlow所支持的網(wǎng)絡(luò)虛擬化多租戶架構(gòu)、甚至可以將Controller和虛擬機管理系統(tǒng)進行水平交互從而實現(xiàn)網(wǎng)絡(luò)和計算存儲的聯(lián)合調(diào)度,其帶來的好處對Datacenter運營商是有一定的吸引力的。而邊緣路由器的應用則是補齊網(wǎng)絡(luò)虛擬化這個大的拼圖的一部分,并且邊緣路由器,尤其是無線網(wǎng)絡(luò)的邊緣路由器,需求輸入仍然較多,控制轉(zhuǎn)發(fā)分離架構(gòu)對于加快產(chǎn)品創(chuàng)新周期、較少市場響應周期有一定的積極意義,但是其主要功能超出目前OpenFlow的范疇,需要進一步的研究。

責任編輯:遺忘者 來源: it168
相關(guān)推薦

2016-11-15 14:33:05

Flink大數(shù)據(jù)

2012-11-23 11:31:54

SDNOpenFlow

2016-11-22 17:05:54

Apache Flin大數(shù)據(jù)Flink

2009-04-13 16:37:33

JSPWeb標簽

2018-05-16 11:05:49

ApacheFlink數(shù)據(jù)流

2015-01-12 09:48:15

云計算分布式虛擬化

2009-11-13 13:08:19

2010-09-07 14:21:22

PPPoE協(xié)議

2022-04-12 08:30:45

TomcatWeb 應用Servlet

2013-06-07 09:59:27

SDN虛擬化OpenDlow

2013-08-28 09:26:01

2011-03-23 11:01:55

LAMP 架構(gòu)

2010-03-08 14:53:48

Linux分區(qū)

2011-09-01 13:51:52

JavaScript

2023-02-01 08:13:30

Redis內(nèi)存碎片

2013-08-29 09:13:10

2022-08-30 07:00:18

執(zhí)行引擎Hotspot虛擬機

2021-10-29 16:36:53

AMSAndroidActivityMan

2009-12-14 14:50:46

Ruby傳參數(shù)

2009-12-16 16:39:01

Visual Stud
點贊
收藏

51CTO技術(shù)棧公眾號