第三章 實驗架構與實驗⽅方法
3.3 隨需註冊機制
供開放的程式介⾯面(Application Programming Interface, API)供其他服務使⽤用。︒⽽而POX控 制器已經實作Json格式的遠端程序呼叫(Remote Procedure Call, RPC)並且可透過HTTP通 訊協定呼叫(Json-RPC via HTTP),我們在此基礎下,實作防⽕火牆邏輯的新增程序,達 到動態調整防⽕火牆規則的⽬目的。︒本論⽂文中所使⽤用之Json-RPC所提交的參數主要有⼆二 個,如下範例:
1. Method:呼叫遠端程序之名稱,格式為字串,此範例為呼叫遠端之add_flow程序。︒
2. Params:所需傳入之參數,格式為Object,內容格式為⾃自訂,依各⼈人實作需求訂 定。︒在此範例中包含dpid字串,為交換機ID,及flows陣列。︒flows陣列中包含actios 使⽤用公司網路等。︒因此,我們基於隨需(on demand)的概念,當有服務需要通過防⽕火牆
{
“method”:"add_flow",
"params":{"dpid":"00-1c-42-6b-67-ec",
"flows":[{ "actions":[{"type":"OFPAT_OUTPUT","port":"OFPP_ALL"}],
"match":{"tcp","nw_src":"10.211.55.4","nw_dst":"10.211.55.7","tp_dst":80}
}]
} }
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
時,使⽤用者可向網路中的特定伺服器註冊相關服務及需求(在本實驗中我們使⽤用控制 器),此時控制器將動態調整防⽕火牆規則,允許該特定資料流通⾏行,並且持續觀察,當 使⽤用完畢後則封鎖該流量,不再允許通⾏行,以確保網路安全。︒
圖3.6 隨需註冊機制實驗架構圖。︒
本實驗架構如圖3.6所⽰示,各主機任務說明如下:
• Server1:內部系統主機。︒
• Open vSwitch : 使⽤用Linux Ubuntu伺服器並安裝Open vSwitch來實作OpenFlow switch。︒
• POX Controller : 使⽤用Linux Ubuntu伺服器並安裝POX controller,管理SDN網路環境,
並同時擔任隨需伺服器角⾊色。︒
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
• Client : 向隨需伺服器送出註冊需求,直接存取內部系統主機(Server1),藉此驗證隨 需註冊機制是否成功。︒
圖3.7 隨需註冊機制實驗流程圖。︒
實驗採下列步驟,實驗流程如圖3.7所⽰示:
1. 建⽴立交換機中的路由表,以利後續測試,封鎖Client端到Server1的流量。︒
2. 由Client向Server1送出TCP:80封包,此時由於尚未向控制器註冊,因此無法通⾏行。︒
3. 在Controller上利⽤用Django framework架設網⾴頁伺服器執⾏行網⾴頁服務,提供⾴頁⾯面供使
⽤用者註冊。︒
4. Client端向Controller提出註冊請求,透過網⾴頁程式進⾏行使⽤用者帳號密碼身份認證,
註冊相關需求及服務,本實驗中我們以內部網站進⾏行實驗。︒
‧
5. Controller收到Client所提出的請求,記錄其申請的IP address,並將需求資料轉換為 防⽕火牆規則並套⽤用到交換機上,允許所申請之流量通⾏行(TCP:80),並同時產⽣生報表 格式供網路管理⼈人員查詢。︒
6. 由Client對Server1直接送出封包流量,因已經通過認證,此時應可正常使⽤用相關服 務,並且設定idle time out時間。︒若在設定時間(實驗時設定為10分鐘)內無任何流量 通過,則關閉該服務,以確保防⽕火牆安全。︒
7. 待設定時間過後,再次透過Client對Server1送出封包流量。︒由於已過設定時間,此 時註冊規則已被註銷,因此無法順利存取到Server1,由此可驗證實驗成功。︒
利⽤用交換機上具有多個實體通訊埠的概念,建置可以⾃自由調整Multi-WAN、︑ Multi-LAN 之多路頻寬負載平衡器。︒並在負載平衡演算法的部分,利⽤用SDN特性,透過觀察網路 使⽤用狀況,並根據實際網路負載,動態改變路由,達到更⾼高的頻寬使⽤用率。︒實驗架構 如圖3.8所⽰示,各主機說明如下:
• H1:傳送端主機,為主要測量對象。︒利⽤用Iperf軟體向Server1送出UDP封包,測試狀 況分別由主機線路頻寬的10%-100%(在此實驗下為1Mbit/s-10Mbit/s),觀察不同負載 下的負載平衡效能。︒