1. 程式人生 > >個人對於SDN的理解

個人對於SDN的理解

軟體定義網路(SDN)是指允許網路管理員通過抽象的底層功能直接管理計算機網路服務的方法。SDN將控制面與資料面分離開來提高網路的效率。SDN需要為控制面提供一個方法來讓它與資料面通訊,其中一種最常用的方法叫OpenFlow。 目前的計算機網路功能過於複雜和分散,網路中間裝置各自為政,通過各種協議交換各種管理資訊,導致一部分資源被這些協議佔用,影響到各個終端間的資料交換,降低網路效能。比如我們需要動態更新路由資訊,就設計出各種動態路由協議,如EIGRP、OSPF。這些協議首先需要在路由器上開啟協議棧,佔用一部分路由器硬體資源;協議需要與鄰居傳送Hello、更新等資訊,又佔用了一部分頻寬。假如我們又需要別的功能,比如瘦AP統一管理,又要去啟用別的協議,進一步佔用資源。傳統的網路陷入這樣一個死迴圈,導致有限的資源被浪費。 SDN通過將中間裝置的硬體與軟體分隔開,給使用者更大的自由空間,給中間裝置一個統一的管理平臺,既簡化了管理又減少了資源的佔用,讓終端能更快速地進行資料交換。SDN網路中,網路裝置將使用統一的作業系統,系統對底層有直接操作許可權,不再受制造商的限制。這樣就能在硬體不變的情況下統一對軟體進行部署升級等操作。SDN並不是指把路由器刷成OpenWrt或者DD-WRT等第三方韌體那麼簡單,它還要求統一的管理,如通過OpenFlow控制各個網路中間裝置的角色、路由表、VLAN等資訊,讓邏輯拓撲與物理拓撲進一步分離。由傳統網路到SDN就像計算機由傳統的一臺計算機到現在的雲端計算、虛擬化一樣,將打破並顛覆如今傳統的網路模式,讓計算機網路走向統一。 現在軟體定義網路的最大阻力在於網路硬體製造商並不積極支援。SDN的普及必定導致硬體製造商的利潤降低,增加暴露自家技術的危險。開放了底層就有可能導致某些功能被濫用,比如使用者可能對CPU進行極限超頻,然後導致CPU燒燬、電容爆炸什麼的,不僅影響到使用者的使用,更會對公司的聲譽產生消極影響。SDN還會影響到網路硬體製造商的某些技術,比如傳統的網路中我買了思科的裝置,我可能會順道使用思科的私有VPN協議;SDN普及後我可能只買了思科的裝置,然後部署開源免費的軟體來代替它,比如部署個ShadowSocks,安全性也不差,還能看到它的原始碼,防止有後門。某些協議可能就完全沒有用了,比如思科發現協議,本來現在就沒啥用,SDN普及後就更沒人用了。 但SDN是當今網際網路發展的很好的方向,符合事物的發展規律。雖然目前SDN還未掀起較大的風浪,但假如拿計算機的發展來類比網路裝置的發展,SDN還是大勢所趨。未來的計算機網路必將走向開放與統一。