Learning-SDN

by YanHaoChen

YanHaoChen / Learning-SDN

SDN 學習及實作範例。

229 Stars 91 Forks Last release: Not found 249 Commits 0 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

SDN-tutorial

SDN(Software-defined networking,軟體定義網路)是一個相當大的架構,字面上雖然簡單,但這一切最有問題的地方是在於「如何實作軟體定義網路」。要學會實作 SDN ,最重要的是瞭解 SDN 整體的架構,也因為 SDN 並非單一單元,如果缺失其中一個單元的瞭解,在最後的設計上,將會綁手綁腳、無從下手。在此,我將 SDN 分為三個單元,分別為:

  • Switch(連接設備,屬於 Data Plane)

  • 協定(Switch 的運作規則、Switch 與 Controller 之間的溝通)

  • Controller(定義 Switch 的運作規則及整體網路邏輯,屬於 Control Plane)

在學習的項目上又分為四個部分(依順序排列):

  1. 協定

  2. Switch

  3. 虛擬網路環境(Mininet)

  4. Controller

初學者入門建議

  1. 什麼是 OpenFlow?:SDN 設備間溝通的方式
  2. 安裝 OVS:為實際執行 OpenFlow 做準備
  3. 利用 OVS 熟習 OpenFlow:手動當 Controller 的角色
  4. 安裝 Mininet:建立模擬環境,及與 Controller 連結做準備
  5. 熟悉 Mininet:瞭解 Mininet 在做什麼
  6. 以程式碼建立 Mininet 環境:學習虛擬環境連結 Controller 的方式
  7. 安裝 Ryu Controller:為學習 Controller 做準備
  8. 撰寫第一隻 Controller 程式
  9. 學習利用 Controller 規劃轉送邏輯
  10. 比較像樣的路徑配置方式:Shortest Path

其餘章節,讀者可以依需求閱讀。每個項目都會有一個目錄(如:Ryu)讀者可以透過目錄,找尋自己有興趣的內容閱讀。

實驗專區

此部分的文章,主要談論實驗環境的建立方式。

實際設備操作

使用到的套件

  • Mininet(虛擬網路環境)
  • Open vSwitch(虛擬 Switch)
  • Ryu(SDN Controller)
  • Vagrant(建立虛擬系統環境)
  • GtkTerm(連接週邊硬體)

硬體設備

  • Pica8 P-3297

參考

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.