5G/NR 淺談SDN
一、什麼是SDN?
SDN(Software Defined Network,軟體定義網路)是對傳統IP網路的一次深刻的變革。我們接下來就掰扯掰扯我們今天的主人公:“SDN”。為什麼要掰扯SDN?它是一種新型網路創新架構,並在5G網路架構中起到關鍵性作用。
當我們說“軟體定義某些東西”時,通常是指以軟體和傳統方式實現的系統或網路節點,而該系統或網路節點以前卻以硬體實現或由人工干預配置。將其應用於SDN時,就意味著我們要透過軟體來實現那些網路節點以前是由硬體實現或由人為干預來配置的網路架構。
那麼問題來了,你可能會問:“網路的哪一部分將被SDN中的軟體取代?” 怎麼樣 ?為什麼?只要記住這些問題,答案在下文就會慢慢的浮出水面。
二、傳統網路結構是什麼?
在介紹主人公"SDN"之前,讓我們簡單瞭解傳統網路的實現和配置。
在一個非常簡單的網路中,網路可以透過大量連線在一起以形成漁網或類似蜘蛛網架構的交換機(或路由器)組成,簡單網路示意圖如圖1所示。
圖1 傳統簡單網路示意圖
每個網路節點(交換機、路由器)大約由兩部分組成。一部分用於將資料包從埠轉發到另一個埠,另一部分用於設定各種資訊/配置,以指導應如何轉發這些資料包。這是對傳統網路中的網路節點進行非常簡單的描述。那麼接下來詳細介紹一些細節,下文特性被認為是基於傳統網路中網路節點(交換機、路由器)的特性,而它們是在稱為SDN的新網路中要改進的目標。
1) 非抽象化的控制平面:這意味著,控制平面中的配置/演算法對於特定的交換機/路由器是本地的,並且沒有可應用於每個交換機/路由器的通用結構。
2) 非模組化且功能有限的控制平面:這意味著,如果你要編寫新的路由演算法,則必須從頭開始。你沒有可以依靠的模組化庫,而是需要發展一個新的模組化庫。
三、傳統網路如何配置?
假如我們需要對網路的網路節點(交換機、路由器)配置進行更改,針對特定目的或特定使用模型對其進行最佳化。最典型的方法就是將技術人員分派到每個網路節點(交換機、路由器)的位置並手動配置每個交換機,其示意圖如圖2所示。
圖2 傳統網路中網路節點配置的更改示意圖
四、傳統網路有什麼問題?
如果你只需要重新配置的少數幾個網路節點(交換機、路由器),則不會有太大問題。甚至即使你需要重新配置更多(例如數百或數千),一般人也可以忍受次數較少的突發情況,但是在許多情況下,這種手動/本地重新配置變得不切實際或幾乎不可能。例如下述一些情況:
1) 如果你需要更改數千個甚至更多(在最壞的情況下接近幾百萬個)的網路節點(交換機、路由器或本地伺服器),你該怎麼辦?
2) 如果你需要經常更改那些配置怎麼辦?即使一天也要幾次?
3) 如果這些網路節點(交換機、路由器)來自不同的供應商怎麼辦?(每個供應商都有自己的配置方法,不同的引數集,不同的工具來配置這些元件。因此,你需要不同的技術人員團隊來專門研究不同的供應商的產品。)
想必遇到這種情況,換做任何人,他們心裡都會有10萬隻草泥馬在奔騰吧!
那麼加入SDN後,該如何配置網路?
五、如何在SDN網路中進行配置?
當然,你可能會提出一個問題。我們如何應對上述問題?而解決這些問題的新技術就是SDN。SDN的基本思想可以說明如下:我們從圖1或圖2中可以看出,傳統網路中的控制平面功能是分散式的執行在各個網路節點(交換機、路由器)中的,而SDN它將設定一個集中式的控制中心,並將所有單個網路節點(交換機、路由器)連線到該集中式的控制中心,而轉發平面依舊是分散式,換句話說:控制平面和轉發平面分離。然後,使用軟體技術遠端配置這些單獨的網路節點(交換機、路由器),其網路節點配置示意圖如圖3所示。
圖3 SDN網路中網路節點配置示意圖
來自 “ https://mp.weixin.qq.com/s/vFgNIGyHSkrckncLoyTcKA ”, 原文作者:5G加油站;原文連結:https://mp.weixin.qq.com/s/vFgNIGyHSkrckncLoyTcKA,如有侵權,請聯絡管理員刪除。
相關文章
- 5G/NR 上行免授權
- 5G/NR SSB(同步訊號和PBCH塊)
- 淺析列式資料庫的特點NR資料庫
- 淺談一下5G時代的變化
- 淺談5G頻段的選擇問題
- 5G入門學習筆記-SDN初探筆記
- 5G/NR 秒懂網路切片(協議專業版 一)協議
- 5G/NR 秒懂網路切片(協議專業版 二)協議
- 淺淺談ReduxRedux
- 淺淺淺談JavaScript作用域JavaScript
- Celery淺談
- 淺談flutterFlutter
- 淺談JMM
- 淺談反射反射
- 淺談mockMock
- 淺談SYNPROXY
- 淺談Disruptor
- 淺談IHttpHandlerHTTP
- 淺談 PromisePromise
- 淺談PWA
- 淺談vuexVue
- 淺談JavaScriptJavaScript
- 淺談RMQMQ
- 淺談Zilliqa
- 淺談RxJavaRxJava
- 淺談NginxNginx
- 淺談 JavaScriptCoreJavaScript
- 淺談MVPMVP
- 淺談BitMap
- Jquery淺談jQuery
- 淺談CopyOnWriteArraySet
- ElasticSearch淺談Elasticsearch
- 機器學習淺談機器學習
- 淺談promisePromise
- 淺談框架框架
- 淺談mvcMVC
- 淺談遊戲遊戲
- 淺談RESTREST