什么是SDN?SDN和NFV有什么區(qū)別?
點擊藍字

2021
關(guān)注我們
前言
軟件定義網(wǎng)絡(luò)(Software-defined Networking,簡稱SDN)技術(shù)是一種網(wǎng)絡(luò)管理方法,它支持動態(tài)可編程的網(wǎng)絡(luò)配置,提高了網(wǎng)絡(luò)性能和管理效率,使網(wǎng)絡(luò)服務(wù)能夠像云計算一樣提供靈活的定制能力。SDN將網(wǎng)絡(luò)設(shè)備的轉(zhuǎn)發(fā)面與控制面解耦,通過控制器負責網(wǎng)絡(luò)設(shè)備的管理、網(wǎng)絡(luò)業(yè)務(wù)的編排和業(yè)務(wù)流量的調(diào)度,具有成本低、集中管理、靈活調(diào)度等優(yōu)點。
01
為什么需要SDN
1.1 傳統(tǒng)網(wǎng)絡(luò)的局限
傳統(tǒng)網(wǎng)絡(luò)是一個分布式的網(wǎng)絡(luò),在二層網(wǎng)絡(luò)中,設(shè)備通過廣播的方式傳遞設(shè)備間的可達信息。在三層網(wǎng)絡(luò)中,設(shè)備間通過標準路由協(xié)議傳遞拓撲信息。這些模式要求每臺設(shè)備必須使用相同的網(wǎng)絡(luò)協(xié)議,保證各廠商的設(shè)備可以實現(xiàn)相互通信。隨著業(yè)務(wù)的飛速發(fā)展,用戶對網(wǎng)絡(luò)的需求日新月異,一旦原有的基礎(chǔ)網(wǎng)絡(luò)無法滿足新需求,就需要上升到協(xié)議制定與修改的層面,這樣就會導(dǎo)致網(wǎng)絡(luò)設(shè)備升級十分緩慢。
傳統(tǒng)網(wǎng)絡(luò)為了適應(yīng)不同的需求和場景,發(fā)展也越來越復(fù)雜。部署一個傳統(tǒng)網(wǎng)絡(luò)往往需要使用到很多協(xié)議,由于標準協(xié)議中往往存在一些未明確的地方,導(dǎo)致各廠商的實現(xiàn)有差異。
傳統(tǒng)網(wǎng)絡(luò)以單臺設(shè)備為單位,以命令行的方式進行管理。網(wǎng)絡(luò)管理和業(yè)務(wù)調(diào)度時效率低下,運維成本高。
1.2 SDN的技術(shù)路線
為了解決傳統(tǒng)網(wǎng)絡(luò)發(fā)展滯后、運維成本高的問題,服務(wù)提供商開始探索新的網(wǎng)絡(luò)架構(gòu),希望能夠?qū)⒖刂泼妫ú僮飨到y(tǒng)和各種軟件)與硬件解耦,實現(xiàn)底層操作系統(tǒng)、基礎(chǔ)軟件協(xié)議以及增值業(yè)務(wù)軟件的開源自研,這就誕生了SDN技術(shù)。
在傳統(tǒng)網(wǎng)絡(luò)中,網(wǎng)絡(luò)設(shè)備可以分為管理面、控制面和轉(zhuǎn)發(fā)面。管理面負責業(yè)務(wù)的編排和策略的制定,控制面負責操作系統(tǒng)的運行以及各種算法的運算,轉(zhuǎn)發(fā)面負責數(shù)據(jù)包的轉(zhuǎn)發(fā)和接收。SDN的理念是將網(wǎng)絡(luò)設(shè)備的控制和轉(zhuǎn)發(fā)功能解耦,使網(wǎng)絡(luò)設(shè)備的控制面可直接編程,將網(wǎng)絡(luò)服務(wù)從底層硬件設(shè)備中抽象出來。SDN架構(gòu)與傳統(tǒng)網(wǎng)絡(luò)架構(gòu)的對比如下圖所示。

傳統(tǒng)網(wǎng)絡(luò)架構(gòu)與SDN架構(gòu)對比
經(jīng)典的SDN技術(shù)路線強調(diào)控制面的剝離,希望能夠?qū)⒕W(wǎng)絡(luò)設(shè)備變?yōu)榘缀性O(shè)備,實現(xiàn)網(wǎng)絡(luò)功能的自定義。
但在SDN的發(fā)展過程中,由于底層協(xié)議的復(fù)雜性、軟件開發(fā)投入等多方面原因,廠商逐漸轉(zhuǎn)向了以自動化運維為主要目標,弱化控制面剝離的SDN技術(shù)路線。廠商們主張將操作系統(tǒng)以及大部分的軟件仍放在硬件設(shè)備上進行,保留原有的網(wǎng)絡(luò)設(shè)備形態(tài),通過控制器實現(xiàn)與硬件設(shè)備、與網(wǎng)絡(luò)配置管理工具的對接,由控制器在管理面的維度完成對硬件設(shè)備的統(tǒng)一管理和業(yè)務(wù)編排。下圖為兩種SDN技術(shù)路線的對比,經(jīng)典的SDN技術(shù)路線又可以稱為軟件SDN,而弱化控制面剝離的SDN技術(shù)路線可以稱為硬件SDN。

軟件SDN與硬件SDN對比
02
SDN架構(gòu)
SDN架構(gòu)可分為基礎(chǔ)設(shè)施層、控制層和應(yīng)用層。
基礎(chǔ)設(shè)施層:主要為轉(zhuǎn)發(fā)設(shè)備,實現(xiàn)轉(zhuǎn)發(fā)功能,例如數(shù)據(jù)中心交換機。
控制層:由SDN控制軟件組成,可通過標準化協(xié)議與轉(zhuǎn)發(fā)設(shè)備進行通信,實現(xiàn)對基礎(chǔ)設(shè)施層的控制。
應(yīng)用層:常見的有基于OpenStack架構(gòu)的云平臺。另外,也可以基于OpenStack構(gòu)建用戶自己的云管理平臺。
SDN使用北向和南向應(yīng)用程序接口(API)來進行層與層之間的通信,分為北向API和南向API。北向API負責應(yīng)用層和控制層之間的通信,南向API負責基礎(chǔ)設(shè)施層和控制層之間的通信。

SDN架構(gòu)
03
SDN的優(yōu)點
在當前主流的SDN架構(gòu)中,保留了傳統(tǒng)硬件設(shè)備上的操作系統(tǒng)和基礎(chǔ)的協(xié)議功能,通過控制器收集整個網(wǎng)絡(luò)中的設(shè)備信息,具有如下優(yōu)點:
網(wǎng)絡(luò)可編程
網(wǎng)絡(luò)設(shè)備提供應(yīng)用編程接口(API),使得開發(fā)和管理人員能夠通過編程語言向網(wǎng)絡(luò)設(shè)備發(fā)送指令。網(wǎng)絡(luò)工程師可以使用腳本自動化創(chuàng)建和分配任務(wù),收集網(wǎng)絡(luò)統(tǒng)計信息。將基于CLI與SNMP的封裝腳本變?yōu)閷崒嵲谠诘目删幊虒ο?,提供了更豐富的功能。
網(wǎng)絡(luò)抽象化
控制器作為中間層,通過南北向API接口與網(wǎng)絡(luò)設(shè)備和應(yīng)用程序進行交互,將底層的硬件設(shè)備抽象為虛擬化的資源池,應(yīng)用和服務(wù)不再與硬件緊密耦合。
降低成本
保留了原有的網(wǎng)絡(luò)設(shè)備,硬件設(shè)備仍然具備管理、控制、轉(zhuǎn)發(fā)的全部功能,方便進行整網(wǎng)的改造,無需進行大規(guī)模的搬遷??刂破鞯囊雽⑷斯づ渲棉D(zhuǎn)變?yōu)闄C器配置,提升運維效率,降低運維成本。
業(yè)務(wù)靈活調(diào)度
傳統(tǒng)的硬件設(shè)備在網(wǎng)絡(luò)中無法進行靈活的負載分擔,最優(yōu)路由上往往承擔著最重的轉(zhuǎn)發(fā)任務(wù),即使QoS、流控等功能緩解了這一問題,但流量的調(diào)度仍然強依賴于管理員對單臺設(shè)備的配置,因此我們可以將傳統(tǒng)的硬件設(shè)備看作是一種孤島式的、分布式的管理模式。SDN在沒有改變硬件設(shè)備整體邏輯的基礎(chǔ)上,通過增加開放的南北向接口,實現(xiàn)了將計算機語言到配置命令行的翻譯,使界面式的管理、集中管理變成了可能,解決了傳統(tǒng)網(wǎng)絡(luò)業(yè)務(wù)調(diào)度不靈活的問題。
集中管理
傳統(tǒng)網(wǎng)絡(luò)設(shè)備的管理是分布式的,單臺網(wǎng)絡(luò)設(shè)備不感知整個網(wǎng)絡(luò)的狀態(tài)。網(wǎng)絡(luò)管理員使用控制器來管理底層硬件設(shè)備,編排網(wǎng)絡(luò)業(yè)務(wù),分配網(wǎng)絡(luò)資源和調(diào)整流量優(yōu)先級。管理員可以直接感知整個網(wǎng)絡(luò)的狀態(tài),及時調(diào)整帶寬和優(yōu)化策略,便于進行整網(wǎng)的管理。
開放性
SDN架構(gòu)支持供應(yīng)商開發(fā)自己的生態(tài)系統(tǒng),開放的API支持云編排、OSS/BSS、SaaS等多種應(yīng)用程序,同時也可以通過Openflow控制多個供應(yīng)商的硬件。
04
SDN與NFV有什么區(qū)別
NFV也是一種網(wǎng)絡(luò)架構(gòu),它將傳統(tǒng)物理設(shè)備的網(wǎng)絡(luò)功能封裝成獨立的模塊化軟件,通過在硬件設(shè)備上運行不同的模塊化軟件,在單一硬件設(shè)備上實現(xiàn)多樣化的網(wǎng)絡(luò)功能。
SDN和NFV的相似之處主要體現(xiàn)在如下方面:
都以實現(xiàn)網(wǎng)絡(luò)虛擬化為目標,實現(xiàn)物理設(shè)備的資源池化。
都提升了網(wǎng)絡(luò)管理和業(yè)務(wù)編排效率。
都希望通過界面操作或者編程語言來進行網(wǎng)絡(luò)編排。
SDN和NFV的不同之處參見下圖。

NFV與SDN有什么不同
SDN抽象物理網(wǎng)絡(luò)資源(交換機、路由器等),并將決策轉(zhuǎn)移到虛擬網(wǎng)絡(luò)控制平面??刂破矫鏇Q定將流量發(fā)送到哪里,而硬件繼續(xù)引導(dǎo)和處理流量,無需依賴標準的硬件設(shè)備。NFV的目標是將所有物理網(wǎng)絡(luò)資源進行虛擬化,允許網(wǎng)絡(luò)在不添加更多設(shè)備的情況下增長,這依賴于標準的硬件設(shè)備。
其實經(jīng)典SDN架構(gòu)也將硬件與軟件解耦作為目標,但在實現(xiàn)過程中由于軟件研發(fā)成本、設(shè)備替換等原因的影響,現(xiàn)行的SDN方案弱化了控制面的分離,僅以網(wǎng)絡(luò)自動化運維為目標。
05
SDN的未來與挑戰(zhàn)
在數(shù)據(jù)中心領(lǐng)域,大多數(shù)大規(guī)模數(shù)據(jù)中心已經(jīng)采用扁平化架構(gòu),這給網(wǎng)絡(luò)設(shè)備的管理帶來了極大的挑戰(zhàn)。SDN帶來的自動化運維、集中管理在數(shù)據(jù)中心的自動化調(diào)配以及擴容中有極大的應(yīng)用空間。
在視頻領(lǐng)域,由于SDN支持數(shù)據(jù)流的實時調(diào)配,使得網(wǎng)絡(luò)能夠承載更多的流量。
在機器學(xué)習和人工智能領(lǐng)域,SDN也會受到運營需求和軟件創(chuàng)新的影響,提供更豐富、更新潮的網(wǎng)絡(luò)體驗。
在未來的網(wǎng)絡(luò)自動駕駛(ADN)中,SDN架構(gòu)也能夠發(fā)揮重要作用。
SDN并非沒有缺點,與其他IT產(chǎn)品一樣,SDN存在安全、擴展以及缺乏廣泛合作、缺乏生態(tài)的問題。
集中管理的安全風險
雖然集中管理十分方便,但這也是一種安全風險。集中管理的單節(jié)點被攻擊,整個網(wǎng)絡(luò)可能都會受到影響。
SDN控制器的瓶頸
對于軟件完全從硬件上分離的SDN思路來說,控制器的軟件開發(fā)難度、控制器的計算壓力都是巨大的挑戰(zhàn)。
北向API缺乏統(tǒng)一標準
缺乏標準的北向API導(dǎo)致供應(yīng)商提供的接口不統(tǒng)一,應(yīng)用程序開發(fā)困難上升,同一組開發(fā)人員必須同時開發(fā)與不同控制器的相互操作。
來源:網(wǎng)絡(luò)民工
有收獲,點個在看 
