成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

SDN學(xué)習(xí)筆記

lentoo / 2798人閱讀

摘要:廣義的南向協(xié)議主要分為三種類(lèi)型。狹義南向協(xié)議原理交換機(jī)交換機(jī)可以分成流表和安全通道兩部分。表表用于計(jì)量和限速,可以針對(duì)流制定對(duì)應(yīng)的限速規(guī)則,從而實(shí)現(xiàn)豐富的功能,注意不是針對(duì)端口的。協(xié)議可以看作是協(xié)議的一種補(bǔ)充。

SDN 什么是SDN

SDN是一種框架和思想,核心訴求是通過(guò)軟件控制網(wǎng)絡(luò),實(shí)現(xiàn)業(yè)務(wù)的自動(dòng)化部署,為方便軟件來(lái)控制網(wǎng)絡(luò),希望控制面和轉(zhuǎn)發(fā)面是分離的。

例如,傳統(tǒng)的交換機(jī)內(nèi)部,由交換機(jī)負(fù)責(zé)具體的網(wǎng)絡(luò)流量往哪里轉(zhuǎn)發(fā),在SDN中,有一個(gè)控制器進(jìn)行流量轉(zhuǎn)發(fā)的計(jì)算,然后將結(jié)果發(fā)送給交換機(jī),交換機(jī)只進(jìn)行簡(jiǎn)單的轉(zhuǎn)發(fā),從分布式的控制轉(zhuǎn)發(fā)過(guò)程稱為集中式的控制,使得控制和轉(zhuǎn)發(fā)平面相分離。
SDN的特點(diǎn)

網(wǎng)絡(luò)開(kāi)放可編程、數(shù)控分離(數(shù)據(jù)平面和控制平面相分離,為開(kāi)放可編程提供架構(gòu)基礎(chǔ))、邏輯上集中控制、網(wǎng)絡(luò)業(yè)務(wù)的自動(dòng)化應(yīng)用程序控制。

SDN的架構(gòu)

數(shù)據(jù)平面

可以抽象為數(shù)據(jù)平面或者轉(zhuǎn)發(fā)平面,可以是交換機(jī)、虛擬交換機(jī)、路由器等。數(shù)據(jù)平面通用抽象模型將不同協(xié)議的匹配表整合起來(lái),形成多字段匹配表,解決了網(wǎng)絡(luò)協(xié)議堆砌的問(wèn)題

傳統(tǒng)網(wǎng)絡(luò)中,現(xiàn)有的分層協(xié)議可以看作一種數(shù)據(jù)平面的抽象模型,但是控制平面依然只是網(wǎng)絡(luò)功能和網(wǎng)絡(luò)協(xié)議的堆砌,缺少合適的抽象模型
南向接口

控制面跟數(shù)據(jù)轉(zhuǎn)發(fā)面之間的接口,傳統(tǒng)網(wǎng)絡(luò)的南向接口存在于各個(gè)設(shè)備商的私有代碼中,對(duì)外不可見(jiàn),如存在于交換機(jī)內(nèi)部

控制器(控制平面)

可以有多個(gè),可以是主從關(guān)系,也可以是對(duì)等關(guān)系,一個(gè)控制器控制多臺(tái)設(shè)備,一個(gè)設(shè)備也可以被多臺(tái)控制器控制,向上提供應(yīng)用程序的編程接口,向下控制硬件設(shè)備。

北向接口

傳統(tǒng)網(wǎng)絡(luò)里,指交換機(jī)控制面跟網(wǎng)管軟件之間的接口,在SDN中,指控制器跟應(yīng)用程序之間的接口

SDN應(yīng)用服務(wù)

為用戶提供服務(wù),包括負(fù)載均衡、安全、網(wǎng)絡(luò)運(yùn)行情況監(jiān)測(cè)等,并以應(yīng)用軟件的形式表現(xiàn)出來(lái),代替?zhèn)鹘y(tǒng)的網(wǎng)管軟件來(lái)對(duì)網(wǎng)絡(luò)進(jìn)行控制和管理,可以跟控制器位于同一臺(tái)服務(wù)器,也可以運(yùn)行在別的服務(wù)器上通過(guò)通信協(xié)議來(lái)跟控制器通信。

SDN南向協(xié)議

狹義的SDN南向協(xié)議具有對(duì)數(shù)據(jù)平面編程的能力,可以指導(dǎo)數(shù)據(jù)平面設(shè)備的轉(zhuǎn)發(fā)操作等網(wǎng)絡(luò)行為,關(guān)鍵在于是否具有確切的數(shù)據(jù)平面可編程能力(如openflow)。

廣義的SDN南向協(xié)議主要分為三種類(lèi)型。第一種是僅具有對(duì)數(shù)據(jù)平面配置的南向協(xié)議(如OF-Config、OVSDB、NET-CONF);第二種是應(yīng)用于廣義SDN,具有部分可編程能力的協(xié)議(如OpFlex);第三種是本來(lái)就存在,其應(yīng)用范圍很廣,不限于應(yīng)用在SDN控制平面和數(shù)據(jù)平面之間傳輸控制信令的協(xié)議(如PCEP、XMPP)。

狹義SDN南向協(xié)議 — Openflow Openflow原理

Openflow交換機(jī)

Openflow交換機(jī)可以分成流表和安全通道兩部分。

流表用于存放流表項(xiàng),控制器可以給交換機(jī)下發(fā)流表項(xiàng)來(lái)指導(dǎo)交換機(jī)處理匹配流表項(xiàng)的數(shù)據(jù)包

安全通道用于和控制器通信的安全連接

在Openflow協(xié)議中,交換機(jī)是策略的執(zhí)行者,而網(wǎng)絡(luò)相關(guān)的策略需要控制器下發(fā)
Openflow表
流表

匹配域用于區(qū)分不同的數(shù)據(jù)流

計(jì)數(shù)器記錄了匹配數(shù)據(jù)流的數(shù)據(jù)包的數(shù)目和字節(jié)數(shù)等相關(guān)數(shù)據(jù)

組表

組表用于定義一組動(dòng)作,且這組動(dòng)作可以被多個(gè)流表項(xiàng)共同使用,從而實(shí)現(xiàn)組播、負(fù)載均衡、容災(zāi)備份和聚合等功能。

Meter表

Meter表用于計(jì)量和限速,可以針對(duì)流制定對(duì)應(yīng)的限速規(guī)則,從而實(shí)現(xiàn)豐富的Qos功能,注意不是針對(duì)端口的。

OpenFlow通道

控制器和交換機(jī)的通信通道,支持以下三類(lèi)報(bào)文:

Controller-to-Switch:主要由控制器初始化并發(fā)送給交換機(jī)

Asynchronous:交換機(jī)異步上傳給控制器的報(bào)文,告知控制器新數(shù)據(jù)包的到達(dá)和交換機(jī)狀態(tài)的改變

Symmetric:無(wú)需等待對(duì)方請(qǐng)求,雙發(fā)都可以任意發(fā)送的報(bào)文

OpenFlow的缺點(diǎn)

無(wú)法適應(yīng)復(fù)雜的場(chǎng)景,當(dāng)出現(xiàn)一種新的協(xié)議,需要擴(kuò)充流表的匹配域,同時(shí)重寫(xiě)交換機(jī)和控制器兩端的協(xié)議棧,交換機(jī)只能按照固定的協(xié)議邏輯去處理數(shù)據(jù),不斷增多的匹配域,使得OpenFlow的交換機(jī)的設(shè)計(jì)與實(shí)現(xiàn)越來(lái)越復(fù)雜

只能在現(xiàn)有支持的轉(zhuǎn)發(fā)邏輯上添加對(duì)應(yīng)的流表項(xiàng)來(lái)指導(dǎo)數(shù)據(jù)包的轉(zhuǎn)發(fā),而無(wú)法對(duì)交換機(jī)的轉(zhuǎn)發(fā)進(jìn)行編程和修改,使得數(shù)據(jù)平面仍然需要掌握協(xié)議的語(yǔ)義等控制信息才能完成數(shù)據(jù)的匹配

無(wú)狀態(tài)協(xié)議,交換機(jī)只能受控制器的指導(dǎo)去執(zhí)行操作,而無(wú)法在滿足條件時(shí)主動(dòng)采取動(dòng)作,過(guò)度依賴控制平面

POF協(xié)議和P4協(xié)議對(duì)此進(jìn)行了改進(jìn)
廣義SDN南向協(xié)議 OF-Config協(xié)議

OF-Config協(xié)議是一種交換機(jī)配置協(xié)議,主要功能包括進(jìn)行交換機(jī)連接的控制信息,端口和隊(duì)列資源的配置及端口等資源的狀態(tài)修改等。

OF-Config協(xié)議可以看作是Openflow協(xié)議的一種補(bǔ)充。

OVSDB協(xié)議

OVSDB與OF-Config協(xié)議類(lèi)似,都是交換機(jī)配置協(xié)議,兩者區(qū)別在于:OVSDB僅用于OVS(Open vSwitch)的配置,而OF-Config可以用于所有支持OpenFlow的軟件或者硬件的交換機(jī)

NETCONF協(xié)議

是一種產(chǎn)生于SDN之前的網(wǎng)絡(luò)配置協(xié)議,NETCONF是許多網(wǎng)絡(luò)協(xié)議的配置協(xié)議,能統(tǒng)一管理和配置SDN設(shè)備和傳統(tǒng)網(wǎng)絡(luò)設(shè)備,既保證了現(xiàn)有網(wǎng)絡(luò)設(shè)備的可用性,又支持SDN設(shè)備的設(shè)備

OpFlex協(xié)議

OpFlex是一種聲明式控制的協(xié)議,只通知對(duì)象要達(dá)到一種狀態(tài)的要求,但并沒(méi)有規(guī)定通過(guò)指定的方式去達(dá)到這個(gè)狀態(tài)

OpenFlow會(huì)精確的告訴交換機(jī)具體的動(dòng)作,來(lái)完成數(shù)據(jù)的處理

OpFlex具有的可編程能力不強(qiáng)

XMMP協(xié)議

不是專(zhuān)門(mén)為SDN設(shè)計(jì),可以統(tǒng)一管理傳統(tǒng)設(shè)備和SDN設(shè)備,可以用于做OpenFlow的補(bǔ)充協(xié)議,或者用于SDN和傳統(tǒng)網(wǎng)絡(luò)混合組網(wǎng)的管理

PCEP

PCEP用于為流量工程提供路徑計(jì)算服務(wù),把路徑計(jì)算的控制邏輯從轉(zhuǎn)發(fā)設(shè)備中抽離到遠(yuǎn)端,實(shí)現(xiàn)了部分?jǐn)?shù)據(jù)平面和控制平面的分離,將OpenFlow和PCEP協(xié)議結(jié)合使用實(shí)現(xiàn)OpenFlow網(wǎng)絡(luò)和傳統(tǒng)網(wǎng)絡(luò)的統(tǒng)一管理和調(diào)度

完全可編程南向協(xié)議 POF協(xié)議

通過(guò)${offset,length}$來(lái)確定匹配數(shù)據(jù),強(qiáng)調(diào)協(xié)議無(wú)關(guān)

協(xié)議的操作無(wú)非是增加、修改和刪除對(duì)應(yīng)的字段/標(biāo)簽,這些操作可以通過(guò)通用的指令集來(lái)實(shí)現(xiàn),POF協(xié)議為交換機(jī)設(shè)計(jì)了通用的指令集

針對(duì)OpenFlow的無(wú)狀態(tài)缺點(diǎn),POF設(shè)計(jì)了相關(guān)指令來(lái)在交換機(jī)內(nèi)部維護(hù)一個(gè)簡(jiǎn)單的狀態(tài)機(jī),在條件滿足時(shí),可以采取主動(dòng)的動(dòng)作,然后異步通知控制器發(fā)生的改變,從而實(shí)現(xiàn)數(shù)據(jù)的同步

POF協(xié)議的設(shè)計(jì)思想借助了計(jì)算機(jī)的設(shè)計(jì)思想,控制器相當(dāng)于操作系統(tǒng),而轉(zhuǎn)發(fā)元件(交換機(jī))相當(dāng)于CPU執(zhí)行相關(guān)的指令

POF協(xié)議的缺點(diǎn)

控制流程復(fù)雜,丟失了部分性能,需要定義一套通用指令集,實(shí)現(xiàn)復(fù)雜的指令調(diào)度

P4

協(xié)議無(wú)關(guān)數(shù)據(jù)包處理編程語(yǔ)言,關(guān)注的是數(shù)據(jù)平面的可編程

P4編程語(yǔ)言具有對(duì)交換機(jī)的協(xié)議解析流程和數(shù)據(jù)處理流程進(jìn)行編程的能力

轉(zhuǎn)發(fā)設(shè)備協(xié)議無(wú)關(guān)轉(zhuǎn)發(fā)

設(shè)備無(wú)關(guān)性

思想:是一門(mén)數(shù)據(jù)平面編程語(yǔ)言,當(dāng)出現(xiàn)一種新的協(xié)議,通過(guò)P4語(yǔ)言編寫(xiě)程序,利用P4編譯器將程序編譯并寫(xiě)入交換機(jī)中,使得交換機(jī)能夠擁有處理該協(xié)議的功能。

SDN控制器

SDN數(shù)據(jù)平面 通用可編程轉(zhuǎn)發(fā)模型 通用硬件模型

上圖為OpenFlow Switch通用硬件模型架構(gòu),其中網(wǎng)絡(luò)數(shù)據(jù)處理流程為:數(shù)據(jù)包從端口進(jìn)入$ ightarrow$通用模型中的數(shù)據(jù)包解析模塊對(duì)數(shù)據(jù)包頭進(jìn)行分析$ ightarrow$選擇對(duì)應(yīng)的流表進(jìn)行處理$ ightarrow$在流表內(nèi)部,與每個(gè)流表項(xiàng)進(jìn)行比較,若匹配成功,則按照對(duì)應(yīng)的動(dòng)作處理

流水線處理

采用多級(jí)流表,數(shù)據(jù)包在進(jìn)入流水線之前,被分配一個(gè)空的操作指令集,進(jìn)入第0個(gè)流表開(kāi)始處理,通用硬件模型將數(shù)據(jù)包協(xié)議內(nèi)容與每個(gè)流表項(xiàng)進(jìn)行匹配,將匹配成功的流表項(xiàng)中的操作指令寫(xiě)入操作指令集中,或者傳輸給下一個(gè)流表

現(xiàn)有交換機(jī)內(nèi)部通常有多個(gè)查找表,多級(jí)流表使得資源的利用率變得更高

單流表會(huì)造成資源浪費(fèi),多級(jí)流表可以組合支持實(shí)現(xiàn)不同處理之間的邏輯關(guān)系,有效的減少流表的數(shù)量,具有更好的適配能力

流表

每個(gè)流表由多個(gè)流表項(xiàng)組成,流表項(xiàng)的匹配域用來(lái)與每個(gè)數(shù)據(jù)包的指定包頭標(biāo)識(shí)集合進(jìn)行比較;

流表項(xiàng)的優(yōu)先級(jí)用來(lái)表示該流表項(xiàng)匹配的優(yōu)先級(jí),當(dāng)數(shù)據(jù)包與多條流表項(xiàng)匹配成功的時(shí)候,需要按照優(yōu)先級(jí)來(lái)選擇一條流表項(xiàng),并執(zhí)行該表項(xiàng)的動(dòng)作;

失效時(shí)間包括硬超時(shí)和軟超時(shí),如果流表項(xiàng)的生存時(shí)間超過(guò)硬生存時(shí)間或者在軟生存時(shí)間內(nèi)沒(méi)有匹配到數(shù)據(jù)包,則流表項(xiàng)中的內(nèi)容將被清空

單個(gè)流表的處理過(guò)程

先從網(wǎng)絡(luò)數(shù)據(jù)包中提取待匹配的網(wǎng)絡(luò)數(shù)據(jù)包協(xié)議字段組合,再加上上一個(gè)流表的Metadata信息共同組成一個(gè)待匹配域(可能該數(shù)據(jù)包從上級(jí)流表流入)

與每個(gè)流表項(xiàng)進(jìn)行匹配,如果只有一個(gè)流表項(xiàng)匹配到,則更新對(duì)應(yīng)流表項(xiàng)的計(jì)數(shù)器等狀態(tài),然后執(zhí)行流表項(xiàng)中的指令,這些指令會(huì)指明數(shù)據(jù)包跳轉(zhuǎn)到哪一個(gè)流表【跳轉(zhuǎn)指令,不是操作指令】,從而實(shí)現(xiàn)流表的跳轉(zhuǎn)【只能向前跳轉(zhuǎn)】;當(dāng)數(shù)據(jù)包與多條流表項(xiàng)匹配成功的時(shí)候,需要按照優(yōu)先級(jí)來(lái)選擇一條流表項(xiàng);

當(dāng)流表項(xiàng)中沒(méi)有指定跳轉(zhuǎn)指令時(shí),流水線停止跳轉(zhuǎn),然后對(duì)數(shù)據(jù)包執(zhí)行具體的操作【最后一個(gè)流表不會(huì)包含跳轉(zhuǎn)指令】

組表

組表用于定義一組動(dòng)作,且這組動(dòng)作可以被多個(gè)流表項(xiàng)共同使用,從而實(shí)現(xiàn)組播、負(fù)載均衡、容災(zāi)備份和聚合等功能

每個(gè)組表由多條組表項(xiàng)組成,在流表項(xiàng)中,通過(guò)使用Group操作可以將數(shù)據(jù)包指向某個(gè)組操作

組表項(xiàng)的桶操作(Action Buckets)可以用來(lái)存儲(chǔ)多個(gè)Action Bucket,每個(gè)Action Bucket包含一個(gè)數(shù)據(jù)包操作指令集

組表項(xiàng)操作類(lèi)型(Group Type)

全操作類(lèi)型(ALL),執(zhí)行Action Buckets中的所有Action Bucket中的操作指令集,可以實(shí)現(xiàn)網(wǎng)絡(luò)中的組播和廣播功能

選擇類(lèi)型(Select),只執(zhí)行一個(gè)Action Bucket中的操作指令集,可用于流量的網(wǎng)絡(luò)負(fù)載均衡

間接類(lèi)型(Indirect),只支持一個(gè)Action Bucket

快速恢復(fù)類(lèi)型(Fast Failover),只執(zhí)行激活的第一個(gè)Action Bucket,多用于容災(zāi)備份場(chǎng)景

Meter表

Meter表用于計(jì)量和限速,可以針對(duì)流制定對(duì)應(yīng)的限速規(guī)則,從而實(shí)現(xiàn)豐富的Qos功能,注意不是針對(duì)端口的

通常當(dāng)網(wǎng)絡(luò)數(shù)據(jù)流的當(dāng)前流量超過(guò)rate閾值時(shí),才會(huì)執(zhí)行band type中的指定操作

通用處理指令 網(wǎng)絡(luò)處理控制指令

對(duì)數(shù)據(jù)包的操作指令集進(jìn)行寫(xiě)入、應(yīng)用或者刪除等修改指令,如數(shù)據(jù)包在流表中,控制指令完成對(duì)數(shù)據(jù)包操作指令集中指令的添加、更新和刪除等操作

數(shù)據(jù)包在多個(gè)表中的處理順序的跳轉(zhuǎn)指令

操作指令

完成對(duì)數(shù)據(jù)包的丟棄、復(fù)制、轉(zhuǎn)發(fā)和修改等操作

專(zhuān)用指令

如Table-miss表項(xiàng)中的Table-miss指令定義了在流表中匹配不成功時(shí)處理網(wǎng)絡(luò)數(shù)據(jù)包的行為,匹配所有的匹配域,優(yōu)先級(jí)為零,使得Table-miss表項(xiàng)能被所有的數(shù)據(jù)包匹配

Open Swtich的缺點(diǎn)

數(shù)據(jù)包解析和包調(diào)度模塊還不具備編程能力

新協(xié)議擴(kuò)展方面抽象能力不夠

不支持有狀態(tài)的網(wǎng)絡(luò)數(shù)據(jù)處理

只支持有限數(shù)量的網(wǎng)絡(luò)數(shù)據(jù)處理操作,不支持新的處理操作擴(kuò)展

網(wǎng)絡(luò)流量監(jiān)控和分析方面不足

白盒交換機(jī)

也稱為開(kāi)放交換機(jī),網(wǎng)絡(luò)交換機(jī)硬件和操作系統(tǒng)解耦合的結(jié)果

本質(zhì)上,解決網(wǎng)絡(luò)可編程的因素在于數(shù)據(jù)平面的可編程

參考資料
楊澤衛(wèi), 李呈. 重構(gòu)網(wǎng)絡(luò): SDN 架構(gòu)與實(shí)現(xiàn)[J]. 2017.

作者:yearsj
轉(zhuǎn)載請(qǐng)注明出處:https://segmentfault.com/a/11...

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/25239.html

相關(guān)文章

  • IHS Markit報(bào)告:SDN市場(chǎng)總額達(dá)44億美元

    摘要:根據(jù)調(diào)研機(jī)構(gòu)公司的調(diào)查,全球數(shù)據(jù)中心和企業(yè)軟件定義網(wǎng)絡(luò)年的市場(chǎng)收入包括在用裸機(jī),品牌以太網(wǎng)交換機(jī),控制器預(yù)計(jì)將達(dá)到億美元。支持的以太網(wǎng)交換機(jī)收入是現(xiàn)有收入,由于平均售價(jià)下降,一部分控制器收入將從以太網(wǎng)交換機(jī)市場(chǎng)中轉(zhuǎn)移出來(lái)。根據(jù)調(diào)研機(jī)構(gòu)IHS Markit公司的調(diào)查,全球數(shù)據(jù)中心和企業(yè)LAN軟件定義網(wǎng)絡(luò)(SDN)2022年的市場(chǎng)收入(包括SDN在用裸機(jī),品牌以太網(wǎng)交換機(jī),SDN控制器)預(yù)計(jì)將達(dá)...

    garfileo 評(píng)論0 收藏0
  • 數(shù)據(jù)中心自動(dòng)化與網(wǎng)絡(luò)可視性的作用有哪些

    摘要:機(jī)器學(xué)習(xí)是推動(dòng)和加速數(shù)據(jù)中心自動(dòng)化的關(guān)鍵技術(shù)。在軟件定義網(wǎng)絡(luò)得到廣泛應(yīng)用之前,大多數(shù)數(shù)據(jù)中心自動(dòng)化采用腳本命令的形式,用于網(wǎng)絡(luò)中的所有設(shè)備。機(jī)器學(xué)習(xí)是推動(dòng)和加速數(shù)據(jù)中心自動(dòng)化的關(guān)鍵技術(shù)。例如,檢查網(wǎng)絡(luò)基線(網(wǎng)絡(luò)基線是指網(wǎng)絡(luò)在正常情況下的各種參數(shù))是當(dāng)今NetOps中使用的最多的人工操作之一。隨著網(wǎng)絡(luò)變得更加虛擬化、軟件定義,以及自動(dòng)化,網(wǎng)絡(luò)的可見(jiàn)性也產(chǎn)生了一些同樣顯著的變化。自動(dòng)數(shù)據(jù)中心仍然...

    luffyZh 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<