談傳統網路架構的毛病、SDN 又是如何改善傳統複雜網絡架構?
OSI 網路模型其實已經陪伴了我們三十多年,而有學過基礎網路一定知道運作原理,於邏輯架構上總共有七層 Layers,從下而上分別是 Layer 1︰Physical Layer、Layer 2︰Data Link Layer、Layer 3︰Network Layer、Layer 4︰Transport Layer、Layer 5︰Session Layer、Layer 6︰ Presentation Layer、Layer 7︰Application Layer,每一層 Layer 都會與隔離的 Layer 互相溝通,中間會以 TCP/IP 協定收發網路封包,最終目的就是將完整封包發到目的地,因為不是針對 OSI 網路模型作探討,所以不詳細去探入講解。
傳統網路架構的毛病
為何會談到 OSI 網路模型?原因是於網路之中需要設定很多的東西,例如有 Routing、VLAN、QoS 、STP 和 LACP 等功能,於一個大型網路裡面,網路管理員不時需要調動這些設定,這裡有一個真實例子,企業新增一套 CRM 系統,而 CRM 後端的資料庫不能與外界接觸,只能與前端 Web 伺服器接觸,且只有指定的部門能夠存取 CRM,因此網路管理員需要在每一台交換機之中配置適當的 VLAN,達到 CRM 內部網路安全性。當然在字面上談得十分之容易,但在真實環境則十分複雜,配置上需要一定的人力和時間。
除了部署時間上的問題外,還要解決的一個問題就是大型網路之中往往會插著很多虛擬機器,原因是在 Layer 2 會有所負擔,因為中間有很多 MAC、ARP 和 STP 等等的東西,形成一個很大的廣播網域,令整個網路傳送資料變得很緩慢,這就是傳統網路的弊病。
擁有大腦的新網路模型
近幾年開始談及 SDN (Software-defined networking) 網路技術,中文名稱為軟件定義網路,亦都有人給網路虛擬化(Network Virtualization)名稱。到現時為止不是有很多企業去想部署 SDN,因為不知道用來做什麼。首先講述一下 SDN 的網路模型,總共分為三層,分別是 Application Layer、Control Layer、Resource Layer,以下解釋一下這三層 Layer 各自負責著什麼重任︰
最上層的 Application Layer 是專給開發者開發一套軟體控制中間的 Control Layer,可以由 Rest API 及 Java API 連接,這條 API 通道又稱 Northbound API。
Control Layer 可說是 SDN 的大腦,因為是利用 OpenFlow 協定與下層 Infrastructure Layer 連接,網路管理員只要在 Control Layer 之中的 SDN Controller 下達 Profiles,接著會推送 Profiles 到 Infrastructure Layer 之中的網路設備,形成一個中央控制的網路,現時最為人所熟悉的 SDN Controller 就是 Opendaylight Controller 開源軟件,各大網路廠商都是由 Opendaylight 研發 SDN 網路。
Infrastructure Layer 之中的設備一定需要支援 OpenFlow,有人稱 OpenFlow 為 Southbound API,因為 Control Layer 只會確認 OpenFlow 協定才會推送 Profiles,而網路設備只作 Forwarding 資料,使 IP 概念減省,既可說是 Datapath Layer。
SDN 帶來什麼好處?
大家可想像 SDN 是一個個雲,網路管理員只要於雲之中配置功能,例如想將整個網路改成為 IPv6 網路,那只要開啟一個雲負責 IPv6 即可,然後推送 Profiles 給網路裝置,網路管理員不再需要逐一去設定,完全網絡自動化(SDN Automation)。
SDN 好像系統虛擬化一樣,下層的伺服器不管是什麼牌子也能安裝,只要是支援 x86 的 Intel VT-x 或 AMD-V 便可部署。SDN 是透過 Control Layer 經由 OpenFlow 協定推送 Profiles 到下層的網路設備,因此只看網路設備是否支援 OpenFlow 協定,所以購買不同品牌設備仍可運作,那就可以避免傳統網路不同品牌的相容性問題。
最後是傳統廣播網域問題,因為 SDN 將 Layer 2 交換機的 MAC 表單分開,由 Controller 來控制,所以 Layer 2 交換機本身沒有了MAC 表單記錄 MAC 地址,造成由 Controller 利用 MAC 地址傳送封包,讓交換機的廣播網域大大降低。
談傳統網路架構的毛病、SDN 又是如何改善傳統複雜網絡架構?
https://www.facebook.com/hkitblog