iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 16
0
自我挑戰組

SDN/NFV 網路虛擬化調度平台系列 第 16

Day16 - 軟體定義網路介紹

  • 分享至 

  • xImage
  •  

前言

接下來的五天會分享,軟體定義網路(Software-defined networking)的概念與使用Mininet熟悉軟體定義網路的生態環境,最後透過ONOS控制器撰寫簡單的應用程式

軟體定義網路的誕生

近年來,物聯網的技術越來越火紅,物聯網的設備隨處可見,廣泛的運用於智慧居家、環境監控甚至細部到個人健康監測等。而大部份的物聯網設備皆是透過無線傳輸,將數據傳輸至服務。而在抵達服務前,應會被防火牆或其他網路功能進行處理,也意為著網路應需適應每位用戶的需求。以優化傳輸方式思考應能解決此向問題,可以增加網路負載與減少傳輸時間,但傳統網路受限於體體資源,在動態調配傳輸路徑上,成本顯得更為昂貴,而這時軟體定義網路被提出來了。

軟體定義網路

Open Networking Foundation(ONF) 將軟體定義網路的架構垂直劃分成三個主要平面

應用層(Application Layer)
  • 定義使用者所需的業務邏輯功能,如:防火牆、負載平衡、服務品質等
  • 透過北向介面(REST API)與控制層溝通
控制層(Control Layer)
  • 整個軟體定義網路的核心
  • 將控制器抽象出網路介面,讓使用者實做透過實做這些介面,來定義基礎設施的網路功能,常見的的控制器有ONOS、Opendaylight、Ryu、Floodlight等
  • 監督透過南向介面(OpenFlow、NETCONF等)派發規則的網路轉發行為
基礎設施層(Infrastructure Layer)
  • 為架構中的最底層
  • 由網路設備所組成之網路拓樸,如:Routers,實體或虛擬的Switches又或是Access points
  • 根據控制層所派發的邏輯規則,讓流量依路徑轉發到選定目標網路的下一跳

OpenFlow Protocol

OpenFlow是屬於OSI七層網路模型中的第二資料連結層的協定,控制器接收應用程式上所描述的需求透過OpenFlow協定與底下的轉發設備進行溝通,下達定義的條件規則與相應的轉發動作。

上圖描述了每個package的生命週期,每個package都擁有相同的轉發行為。當抵達時會產生一把鑰匙,會紀錄package的訊息,並用於匹配哪一張規則表與其表內的哪個Flow和相對應的動作。

步驟 狀態 描述
1 封包抵達 到達至哪個port,可以是虛擬或實體的,主要是需要紀錄來源port位置以便後續的條件規則
2 產生密鑰 每個packag到達時候,都會建立一小部份的metadata,稱為密鑰。包括header內容、來源port、抵達時間等資訊
3 搜索規則表 使用key來搜索符合條件的規則表,當首次通過時,默認會優先選擇table 0
4 Flow選擇 使用key來選擇表中的Flow
5 動作應用 每行Flow規則含有一個操作,此項操作可以將該package丟棄,轉發或重新指向到新的規則表中

OpenFlow switch

作為基礎設施的網路交換器,必須要支援OpenFlow的協定,常見的虛擬的網路設備(Open vSwitch)

元件 描述
OpenFlow Protocol 支援OpenFlow Protocol協定
核心邏輯 根據轉發數據規則的處理與裝置連接的管理
裝置卸載 負責實做卸載裝置的清除
數據平面協定 用於配置數據平面內部的協定

Reference
http://flowgrammable.org/sdn/openflow/#tab_protocol


上一篇
Day15 - Istio 實際操作
下一篇
Day17 - Mininet介紹與實做 I
系列文
SDN/NFV 網路虛擬化調度平台30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言