示範案例
簡介
軟體定義網路技術的各種特色之中,有一個為中央集中式的網路控制方式。在傳統網路中,網路控制的能力是分散在每一台網路交換器上面,透過交換器之間的互相溝通來達成網路連通的目的,也就是說,它採用了分散式的網路控制方式。在軟體定義網路中,則是將網路控制能力集中到一台控制器上面,控制器透過控制平面網路連線到所有的網路交換器。由於它可以即時地掌握所有交換器的設定、狀態與統計資料,因此它能以全網路的視角來進行分析與決策,然後再快速地控制所有交換器來執行它的決策。
在這個範例中,我們佈署了一個具有 25 台軟體定義網路交換器的網路,此 25 台交換器透過控制平面網路連接到控制器並透過 OpenFlow 通訊協定來接受控制器的控制,控制器上啟用了媒體存取控制位址 (MAC Address) 學習的能力以及避免網路形成迴圈的能力。在資料平面網路上,我們安排了左上角的電腦做為網路訊息傳送者,而右下角的電腦則為網路訊息的接收者。在模擬過程中,交換器與控制器之間會有頻繁的互動,這些互動是透過 OpenFlow 通訊協定訊息來進行,用以實現中央集中式的全網路快速監控與控制,讓兩台電腦之間建立起一條可進行通訊的網路通道。
示範影片
適用版本 : ( ) 免費試用版本 ( ) 書本註冊版本 (v) 正式購買版本
下載
1. 點擊 此處 下載這個範例的設定檔。
簡介
一條有線網路的網路線或無線網路的頻道所能提供的網路頻寬是有限的。當一條網路連線經過一條網路線或是頻道時,它會占用部分或是全部的頻寬。通常,網路管理者不會特意去管理不同網路連線的頻寬使用量,原因之一是,若經常用人工的方式去改變網絡設備的設定,會很容易遭遇因人為操作錯誤而導致網路運作出問題的情況,另一個原因是,人工操作很耗費時間,對於多數突然發生的需求,不容易及時完成網路設備上修改設定的動作。因為沒有特別去管理頻寬的使用,當有多條網絡連線經過一條網路線或頻道時,若全部網路連線所需求的總頻寬大於網路線或頻道所能提供的有限頻寬時,就會因頻寬不足而在進入這條網路線或頻道的網路設備上形成頻寬瓶頸。
在下面的範例影片中,來自互聯網的八台伺服器分別傳送資料給位於區域網路的八位網路使用者 (伺服器 11 送給使用者 1、伺服器 12 送給使用者 2、……)。因為來自互聯網端的網路線總頻寬為 80 Mbps (10 Mbps * 8條網路線) 且區域網路中的網路線頻寬為 1000 Mbps,在由互聯網進入區域網路的設備 (路由器) 上並不會有頻寬瓶頸的情況。然而,因為在區域網路中的無線頻道所能提供的頻寬只有 25 Mbps,小於來自互聯網的總頻寬 80 Mbps,於是在進入無線頻道的網路設備 (無線存取節點/無線路由器) 上會形成頻寬瓶頸。因為此瓶頸的存在,使得發送於互聯網中八台伺服器的網路封包會在進入無線頻道的網路設備上被隨機地丟掉,這現象會導致八位網路使用者由互聯網所取得的資料量隨著時間呈現不穩定的情況,而此不穩定的情況可能會使這八位使用者遭遇到不好的網路應用體驗,例如觀看即時線上影音節目或教學影片時會有停頓或是畫面破碎等現象,或是參加網路視訊會議時會有聽不到對方發言的情況。
為了要避免使用者有不好的網路應用體驗,有一種解決方式就是去管理每一條網路連線的頻寬使用量。在支援 OpenFlow 技術的網路交換器設備上,有兩種方式可以用來控制每一條網路連線的頻寬使用量,其一是使用 Meter Table 的限流功能,其二是利用每個連接埠中擁有不同送出速度的暫存器。
在下面的範例影片中,我們所展示的模擬網路與上一個影片中的網路幾乎是一樣的,唯一不同的地方是,我們將區域網絡中的傳統交換器換成支援 OpenFlow 技術的交換器,藉此來引入軟體定義網路 (SDN) 的功能,我們可以看到有一台軟體定義網路控制器 (SDN Controller) 連接到 OpenFlow 交換器來對它進行控制。為了將網路服務的品質區分成不同等級,我們將所有的網路使用者分成三類,第一類為保證頻寬群組,第二類為共享頻寬群組,第三類為競爭頻寬群組。此外,我們將有限的無線頻道頻寬共 25 Mbps 做了分配,第一類分配 10 Mbps,第二類分配 12 Mbps,而第三類分配 3 Mbps。
針對歸類於第一類保證頻寬群組的使用者,我們會為他們預留固定的頻寬使用量,在這個範例中,我們就預留了 6 Mbps 給使用者 1,而剩下的 4 Mbps 就預留給使用者 2。針對歸類於第二類分享頻寬群組的使用者,他們會一起共享劃分給此群組的總頻寬量,在這個範例中,使用者 3, 4, 5 與 6 共享總共 12 Mbps 的頻寬,因此,每個人可以分到 3 Mbps (12/4) 的頻寬使用量。而針對歸類於第三類競爭頻寬群組的使用者,我們不會預留任何頻寬使用量給他們,換句話說,他們仍然要去競爭劃分給這個群組的總頻寬量 3 Mbps。
在模擬開始時,我們會執行 Ryu 這一套軟體定義網路控制器軟體來控制 OpenFlow 交換器,這套控制器軟體的的北向介面 (NBI) 將會被打開來讓我們輸入控制交換器的指令,我們將所有指令寫在一個可執行的描述檔 (Script File) 中並在模擬開始時執行。為了達到上述所提到的提供不同品質等級的網路服務,我們利用 OpenFlow 交換器上的一張流表 (Flow Table) 與位於輸出連接埠上的七個不同輸出速度的暫存器。由模擬結果來看,我們可以看到所有被預留頻寬使用量的使用者,其接收到的資料量都符合預期且隨著時間是穩定的,而看看需要競爭有限頻寬的使用者 7 與 8,他們所收到的資料量仍然互相競爭且不穩定的。
如同文章一開始所說,因為容易出錯且不能及時提供服務的問題,網路管理者不會特意去管理不同網路連線的頻寬使用量。這些問題可以透過開發一個智慧型的軟體定義網路控制器應用程式來解決。網路管理者只要在此智慧型應用程式中事先將使用者做好分類且設定好頻寬使用量,這個應用程式就會代替人工來自動地偵測符合條件的網路連線並自動地設定 OpenFlow 交換器來保障目標網路連線所能使用的頻寬。
雖然在此模擬範例中我們沒有使用這樣的應用程式來做展示,但在思銳科技的企業級軟體定義網路解決方案中,是有提供這種功能的產品的,若想對此產品有更多的了解,可透以下連結來參觀相關的網頁。
適用版本 : ( ) 免費試用版本 ( ) 書本註冊版本 (v) 正式購買版本