【Ryu介紹與安裝(利用pip安裝) — on Ubuntu 16.04】

Ryu is a component-based software defined networking framework.

Ryu provides software components with well defined API that make it easy for developers to create new network management and control applications. Ryu supports various protocols for managing network devices, such as OpenFlow, Netconf, OF-config, etc. About OpenFlow, Ryu supports fully 1.0, 1.2, 1.3, 1.4, 1.5 and Nicira Extensions.

                                   (節錄於 http://ryu.readthedocs.io/en/latest/getting_started.html)

根據ryu官方網站的說法,ryu提供了軟體定義網路(software defined networking)一個很好的開發框架,其支援許多的API和協定,如此一來不僅是在網路管理或應用開發層面,均方便許多

———————————–  安裝流程 ——————————–

現在我們就直接來看看要怎麼安裝吧,首先我們先安裝好Ubuntu 16.04(在這裡示範的是16.04的版本,其他版本沒有測試過)和mininet(還沒安裝mininet的可先到  【Mininet介紹與安裝 — on Ubuntu 16.04】 看看怎麼安裝吧)

  • 安裝python的套件管理工具

    sudo apt-get install python-pip
    sudo apt-get install python-setuptools

    Screenshot from 2017-11-04 21-23-21
    pip是Python的套件管理工具,它集合下載、安裝、升級、管理、移除套件等功能,藉由統一的管理,可以使我們事半功倍,更重要的是,也避免了手動執行上述任務會發生的種種錯誤

    Screenshot from 2017-11-04 21-25-21.png

  • 利用pip自帶的ryu套件安裝

    pip install ryu

    Screenshot from 2017-11-04 21-25-44.png

    Screenshot from 2017-11-04 21-26-31.png
    pip 安裝過程會自動下載相關的套件,安裝訊息若沒有跳出錯誤訊息的話,就代表安裝成功
  • 執行Ryu

    ryu-manager [–verbose] [–observe-links]
    # []部分為選用參數
    # verbose 顯示更多訊息,有利於debug
    # observe-link 顯示鏈結間的訊息

    Screenshot from 2017-11-04 21-26-57
    執行ryu-manager後出現“loading app ryu.controller.ofp_handler
    instantiating app ryu.controller.ofp_handler of OFPHandler“就代表正確無誤

     

  • 讓Ryu連上Mininet

    # 請開出兩個terminate,一個執行Ryu,一個執行Mininet
    [Ryu左]             ryu-manager –verbose –observe-links
    [Mininet右]      mn –topo=linear,2 –controller=remote

    Screenshot from 2017-11-04 21-43-53.png
    Ryu執行後會等待mininet的連接
    Screenshot from 2017-11-04 21-45-10
    執行Mininet後,已成功連上Ryu了

     

  • 顯示Ryu的圖形化介面

    # 請開出兩個terminate,一個執行Ryu,一個執行Mininet

    [Ryu左]

    pip show –files ryu      # 尋找ryu的安裝路徑

    cd /usr/local/lib/python2.7/dist-packages

    ryu-manager –verbose –observe-links ryu/app/gui_topology/gui_topoplogy.py

    ——————————————————————
    [Mininet右]

    mn –topo=tree,depth=3 –controller=remote

    Screenshot from 2017-11-04 22-29-40.png

    Screenshot from 2017-11-04 22-30-58.png
    此處的例子ryu是安裝在/usr/local/lib/python2.7/dist-packages 路徑中,請依照現實狀況做更動
    Screenshot from 2017-11-04 22-31-05.png
    執行Ryu後提示訊息綁定在http://0.0.0.0:8080這個位址
    Screenshot from 2017-11-04 22-31-53
    執行Mininet後連接上Ryu

     

  • 打開GUI

    # 打開瀏覽器在網址列輸入127.0.0.1:8080或localhost:8080

    Screenshot from 2017-11-04 22-32-27

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Google photo

您的留言將使用 Google 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s