国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

SDN學習筆記

lentoo / 2792人閱讀

摘要:廣義的南向協議主要分為三種類型。狹義南向協議原理交換機交換機可以分成流表和安全通道兩部分。表表用于計量和限速,可以針對流制定對應的限速規則,從而實現豐富的功能,注意不是針對端口的。協議可以看作是協議的一種補充。

SDN 什么是SDN

SDN是一種框架和思想,核心訴求是通過軟件控制網絡,實現業務的自動化部署,為方便軟件來控制網絡,希望控制面和轉發面是分離的。

例如,傳統的交換機內部,由交換機負責具體的網絡流量往哪里轉發,在SDN中,有一個控制器進行流量轉發的計算,然后將結果發送給交換機,交換機只進行簡單的轉發,從分布式的控制轉發過程稱為集中式的控制,使得控制和轉發平面相分離。
SDN的特點

網絡開放可編程、數控分離(數據平面和控制平面相分離,為開放可編程提供架構基礎)、邏輯上集中控制、網絡業務的自動化應用程序控制。

SDN的架構

數據平面

可以抽象為數據平面或者轉發平面,可以是交換機、虛擬交換機、路由器等。數據平面通用抽象模型將不同協議的匹配表整合起來,形成多字段匹配表,解決了網絡協議堆砌的問題

傳統網絡中,現有的分層協議可以看作一種數據平面的抽象模型,但是控制平面依然只是網絡功能和網絡協議的堆砌,缺少合適的抽象模型
南向接口

控制面跟數據轉發面之間的接口,傳統網絡的南向接口存在于各個設備商的私有代碼中,對外不可見,如存在于交換機內部

控制器(控制平面)

可以有多個,可以是主從關系,也可以是對等關系,一個控制器控制多臺設備,一個設備也可以被多臺控制器控制,向上提供應用程序的編程接口,向下控制硬件設備。

北向接口

傳統網絡里,指交換機控制面跟網管軟件之間的接口,在SDN中,指控制器跟應用程序之間的接口

SDN應用服務

為用戶提供服務,包括負載均衡、安全、網絡運行情況監測等,并以應用軟件的形式表現出來,代替傳統的網管軟件來對網絡進行控制和管理,可以跟控制器位于同一臺服務器,也可以運行在別的服務器上通過通信協議來跟控制器通信。

SDN南向協議

狹義的SDN南向協議具有對數據平面編程的能力,可以指導數據平面設備的轉發操作等網絡行為,關鍵在于是否具有確切的數據平面可編程能力(如openflow)。

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

狹義SDN南向協議 — Openflow Openflow原理

Openflow交換機

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

流表用于存放流表項,控制器可以給交換機下發流表項來指導交換機處理匹配流表項的數據包

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

在Openflow協議中,交換機是策略的執行者,而網絡相關的策略需要控制器下發
Openflow表
流表

匹配域用于區分不同的數據流

計數器記錄了匹配數據流的數據包的數目和字節數等相關數據

組表

組表用于定義一組動作,且這組動作可以被多個流表項共同使用,從而實現組播、負載均衡、容災備份和聚合等功能。

Meter表

Meter表用于計量和限速,可以針對流制定對應的限速規則,從而實現豐富的Qos功能,注意不是針對端口的。

OpenFlow通道

控制器和交換機的通信通道,支持以下三類報文:

Controller-to-Switch:主要由控制器初始化并發送給交換機

Asynchronous:交換機異步上傳給控制器的報文,告知控制器新數據包的到達和交換機狀態的改變

Symmetric:無需等待對方請求,雙發都可以任意發送的報文

OpenFlow的缺點

無法適應復雜的場景,當出現一種新的協議,需要擴充流表的匹配域,同時重寫交換機和控制器兩端的協議棧,交換機只能按照固定的協議邏輯去處理數據,不斷增多的匹配域,使得OpenFlow的交換機的設計與實現越來越復雜

只能在現有支持的轉發邏輯上添加對應的流表項來指導數據包的轉發,而無法對交換機的轉發進行編程和修改,使得數據平面仍然需要掌握協議的語義等控制信息才能完成數據的匹配

無狀態協議,交換機只能受控制器的指導去執行操作,而無法在滿足條件時主動采取動作,過度依賴控制平面

POF協議和P4協議對此進行了改進
廣義SDN南向協議 OF-Config協議

OF-Config協議是一種交換機配置協議,主要功能包括進行交換機連接的控制信息,端口和隊列資源的配置及端口等資源的狀態修改等。

OF-Config協議可以看作是Openflow協議的一種補充

OVSDB協議

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

NETCONF協議

是一種產生于SDN之前的網絡配置協議,NETCONF是許多網絡協議的配置協議,能統一管理和配置SDN設備和傳統網絡設備,既保證了現有網絡設備的可用性,又支持SDN設備的設備

OpFlex協議

OpFlex是一種聲明式控制的協議,只通知對象要達到一種狀態的要求,但并沒有規定通過指定的方式去達到這個狀態

OpenFlow會精確的告訴交換機具體的動作,來完成數據的處理

OpFlex具有的可編程能力不強

XMMP協議

不是專門為SDN設計,可以統一管理傳統設備和SDN設備,可以用于做OpenFlow的補充協議,或者用于SDN和傳統網絡混合組網的管理

PCEP

PCEP用于為流量工程提供路徑計算服務,把路徑計算的控制邏輯從轉發設備中抽離到遠端,實現了部分數據平面和控制平面的分離,將OpenFlow和PCEP協議結合使用實現OpenFlow網絡和傳統網絡的統一管理和調度

完全可編程南向協議 POF協議

通過${offset,length}$來確定匹配數據,強調協議無關

協議的操作無非是增加、修改和刪除對應的字段/標簽,這些操作可以通過通用的指令集來實現,POF協議為交換機設計了通用的指令集

針對OpenFlow的無狀態缺點,POF設計了相關指令來在交換機內部維護一個簡單的狀態機,在條件滿足時,可以采取主動的動作,然后異步通知控制器發生的改變,從而實現數據的同步

POF協議的設計思想借助了計算機的設計思想,控制器相當于操作系統,而轉發元件(交換機)相當于CPU執行相關的指令

POF協議的缺點

控制流程復雜,丟失了部分性能,需要定義一套通用指令集,實現復雜的指令調度

P4

協議無關數據包處理編程語言,關注的是數據平面的可編程

P4編程語言具有對交換機的協議解析流程和數據處理流程進行編程的能力

轉發設備協議無關轉發

設備無關性

思想:是一門數據平面編程語言,當出現一種新的協議,通過P4語言編寫程序,利用P4編譯器將程序編譯并寫入交換機中,使得交換機能夠擁有處理該協議的功能。

SDN控制器

SDN數據平面 通用可編程轉發模型 通用硬件模型

上圖為OpenFlow Switch通用硬件模型架構,其中網絡數據處理流程為:數據包從端口進入$ ightarrow$通用模型中的數據包解析模塊對數據包頭進行分析$ ightarrow$選擇對應的流表進行處理$ ightarrow$在流表內部,與每個流表項進行比較,若匹配成功,則按照對應的動作處理

流水線處理

采用多級流表,數據包在進入流水線之前,被分配一個空的操作指令集,進入第0個流表開始處理,通用硬件模型將數據包協議內容與每個流表項進行匹配,將匹配成功的流表項中的操作指令寫入操作指令集中,或者傳輸給下一個流表

現有交換機內部通常有多個查找表,多級流表使得資源的利用率變得更高

單流表會造成資源浪費,多級流表可以組合支持實現不同處理之間的邏輯關系,有效的減少流表的數量,具有更好的適配能力

流表

每個流表由多個流表項組成,流表項的匹配域用來與每個數據包的指定包頭標識集合進行比較;

流表項的優先級用來表示該流表項匹配的優先級,當數據包與多條流表項匹配成功的時候,需要按照優先級來選擇一條流表項,并執行該表項的動作;

失效時間包括硬超時和軟超時,如果流表項的生存時間超過硬生存時間或者在軟生存時間內沒有匹配到數據包,則流表項中的內容將被清空

單個流表的處理過程

先從網絡數據包中提取待匹配的網絡數據包協議字段組合,再加上上一個流表的Metadata信息共同組成一個待匹配域(可能該數據包從上級流表流入)

與每個流表項進行匹配,如果只有一個流表項匹配到,則更新對應流表項的計數器等狀態,然后執行流表項中的指令,這些指令會指明數據包跳轉到哪一個流表【跳轉指令,不是操作指令】,從而實現流表的跳轉【只能向前跳轉】;當數據包與多條流表項匹配成功的時候,需要按照優先級來選擇一條流表項;

當流表項中沒有指定跳轉指令時,流水線停止跳轉,然后對數據包執行具體的操作【最后一個流表不會包含跳轉指令】

組表

組表用于定義一組動作,且這組動作可以被多個流表項共同使用,從而實現組播、負載均衡、容災備份和聚合等功能

每個組表由多條組表項組成,在流表項中,通過使用Group操作可以將數據包指向某個組操作

組表項的桶操作(Action Buckets)可以用來存儲多個Action Bucket,每個Action Bucket包含一個數據包操作指令集

組表項操作類型(Group Type)

全操作類型(ALL),執行Action Buckets中的所有Action Bucket中的操作指令集,可以實現網絡中的組播和廣播功能

選擇類型(Select),只執行一個Action Bucket中的操作指令集,可用于流量的網絡負載均衡

間接類型(Indirect),只支持一個Action Bucket

快速恢復類型(Fast Failover),只執行激活的第一個Action Bucket,多用于容災備份場景

Meter表

Meter表用于計量和限速,可以針對流制定對應的限速規則,從而實現豐富的Qos功能,注意不是針對端口的

通常當網絡數據流的當前流量超過rate閾值時,才會執行band type中的指定操作

通用處理指令 網絡處理控制指令

數據包的操作指令集進行寫入、應用或者刪除等修改指令,如數據包在流表中,控制指令完成對數據包操作指令集中指令的添加、更新和刪除等操作

數據包在多個表中的處理順序的跳轉指令

操作指令

完成對數據包的丟棄、復制、轉發和修改等操作

專用指令

如Table-miss表項中的Table-miss指令定義了在流表中匹配不成功時處理網絡數據包的行為,匹配所有的匹配域,優先級為零,使得Table-miss表項能被所有的數據包匹配

Open Swtich的缺點

數據包解析和包調度模塊還不具備編程能力

新協議擴展方面抽象能力不夠

不支持有狀態的網絡數據處理

只支持有限數量的網絡數據處理操作,不支持新的處理操作擴展

網絡流量監控和分析方面不足

白盒交換機

也稱為開放交換機,網絡交換機硬件和操作系統解耦合的結果

本質上,解決網絡可編程的因素在于數據平面的可編程

參考資料
楊澤衛, 李呈. 重構網絡: SDN 架構與實現[J]. 2017.

作者:yearsj
轉載請注明出處:https://segmentfault.com/a/11...

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/25239.html

相關文章

  • IHS Markit報告:SDN市場總額達44億美元

    摘要:根據調研機構公司的調查,全球數據中心和企業軟件定義網絡年的市場收入包括在用裸機,品牌以太網交換機,控制器預計將達到億美元。支持的以太網交換機收入是現有收入,由于平均售價下降,一部分控制器收入將從以太網交換機市場中轉移出來。根據調研機構IHS Markit公司的調查,全球數據中心和企業LAN軟件定義網絡(SDN)2022年的市場收入(包括SDN在用裸機,品牌以太網交換機,SDN控制器)預計將達...

    garfileo 評論0 收藏0
  • 數據中心自動化與網絡可視性的作用有哪些

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

    luffyZh 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<