周次:1
日期:2017/2/21
章節:sdn1
目標
封包經過Router跟Switch到達目的地
希望讓封包盡可能走最短路徑(時間上)
此外封包有時需分散流量以避免設備的佇列過滿導致掉封包(俗稱壅塞)
傳統
方法:
在傳統網路中,藉由OSPF等協定,設備會記錄鄰近設備的訊息
利用這方式決定封包導向
缺點:
彈性低
無法便宜的取得網路拓譜,網管人員管理不易
每個設備獨立運作難以達成最佳解甚至會額外產生錯誤
優點:
部分設備中毒遭駭,整體網路依然能正常運作
架構圖:
SDN
方法:
將所有控制層都集中在一台主機
如此一來,Controller能藉由向各設備請求資料來決定該如何配置Flow table
我們能在軟體的Switch──例如OpenVSwitch──上進行Openflow測試
優點:
彈性高,能有很細緻的控制規則
能取得完整網路拓譜,更容易做出最佳化的規劃
缺點:
Controller若中毒被駭,整個網路將癱瘓或陷於嚴重資安風險中
表格有限,沒存在Control flow的規則會需要不同級別的時間去尋找路徑
Switch的CPU可能不夠力
優點:
彈性高,能有很細緻的控制規則
能取得完整網路拓譜,更容易做出最佳化的規劃
缺點:
Controller若中毒被駭,整個網路將癱瘓或陷於嚴重資安風險中
表格有限,沒存在Control flow的規則會需要不同級別的時間去尋找路徑
Switch的CPU可能不夠力
架構圖:
SDN與Openflow基礎知識
SDN層級
模擬器/偵錯工具
oftrace、oflops、openseer
應用程式(控制邏輯,traffic工程)
ENVI(GUI)、LAVI、n-Casting
控制器
NOX(用C寫的)、FloodLight(java)、Beacon、Trema、OpenDayLight
Slicing software
FlowVisor將各個網路使用者的traffic分開
在現有硬體下,能讓每位使用者依據需要自訂拓譜
在現有硬體下,能讓每位使用者依據需要自訂拓譜
硬體 (OpenFlow
Switches)
Software
Ref. Switch
Broadcom
Ref. Switch
OpenWRT
(裝在AP中的韌體,讓基地台能支援openflow)
PCEngine
WiFi AP
Open
vSwitch
Flow table欄位功用
MATCH - 配對條件
ACTION - 達成配對時執行行為
COUNTER - 統計各條規則被配對到幾次
PRIORITY - 如果某封包有配對到多項,依序優先度來選擇
TIME
OUT - 太久沒被用到的規則會被刪除以輕量化Flow Table
二元性質比較
主動規則(proactive rule)與反應規則(reactive rule)
前者事先將規則布置在Switch,減少了未來封包詢問時間(flow setup time)
後者剛好相反,待Switch配對失敗後詢問Controller得到配對方式
反應規則雖然能比較有效率使用有限且昂貴的空間
但因大量封包需要詢問Controller,可能形成瓶頸
反應規則雖然能比較有效率使用有限且昂貴的空間
但因大量封包需要詢問Controller,可能形成瓶頸
micro flow與wild card
前者能進行非常細緻的控制,例如擋掉特定的Flow
後者利用聚合規則,當兩條規則Prefix相同則將規則合併,減少Flow table使用量
前者能進行非常細緻的控制,例如擋掉特定的Flow
後者利用聚合規則,當兩條規則Prefix相同則將規則合併,減少Flow table使用量
集中控制器(Centralized controller)與分散式控制器(Distributed controller)
事情就是分分合合,合合分分
事情就是分分合合,合合分分
為了解決瓶頸問題,有時我們會需要多個控制器來分別控管一個區域的設備
再仰賴一個上層的Controller來協調各個Controller之間的運作
SDN在OpenFlow運作方式
封包進來比對header並查Flow table,依據規則與優先序處理封包
如果沒有配對到規則,就去問Controller
Openflow處理封包方式種類
轉發到Switch的特定埠口(可以是實體埠,也可以是虛擬埠)
a. ALL - 俗稱flood,除了進來埠口外,將封包傳給所有埠口
b. CONTROLLER - 傳給Controller
c. LOCAL - 傳給Router OS
丟掉
防火牆功能
修改封包
a. 修改封包內資料(來源、目的地、IP等)
b. 在封包外加上VLAN標籤
c. 設定佇列ID
b. 在封包外加上VLAN標籤
c. 設定佇列ID
Openflow的轉發延遲
根據以下這篇文張來探討轉發延遲
Tango: Simplifying SDN Control with Automatic SwitchProperty Inference, Abstraction, and Optimization
Tango: Simplifying SDN Control with Automatic SwitchProperty Inference, Abstraction, and Optimization
slow path
尚未對談的起始封包,封包的行進被稱為slow path
他需要比fast path多做一些查表與設定
尚未對談的起始封包,封包的行進被稱為slow path
他需要比fast path多做一些查表與設定
因此封包必須要進到CPU才能處理,相對花了相當多的時間
controller path
找不到對應的規則,需要詢問controller才能知道如何處理封包
找不到對應的規則,需要詢問controller才能知道如何處理封包
沒有留言:
張貼留言