1.Ryu簡介
Ryu是基於Python語言編寫的開源控制器,其代碼風格優秀,模塊清晰,可擴展性強。Ryu使用了OpenSrack的Oslo庫,並且開發了OpenStack插件,可以和OpenStack實現整合部署。Ryu是一個輕量級的SDN控制器,是目前主流的控制器之一。適合初學者學習。
2.Ryu架構
Ryu的架構與其他SDN控制器架構類似,大致可以分爲控制層和應用層。其中,控制層主要包括協議解析、事件系統、基本的網絡版文庫和內建應用等。應用層是利用控制層提供的API來編寫的網絡應用和其他系統協同工作的組件和模塊。Ryu通過南向接扣與數據平面的交換機進行通信,通過北向接口完成應用層和控制層的通信。
3.Ryu安裝
Ryu的安裝方式可以通過pip安裝和源碼安裝,安裝前需要安裝一些必要的模塊和插件,如下:
$ sudo apt-get install python-pip python-dev build-essential
$ sudo pip install --upgrade pip
$ sudo apt-get install python-eventlet
$ sudo apt-get install python-routes
$ sudo apt-get install python-webob
$ sudo apt-get install python-paramiko
1.pip安裝
執行 pip install ryu
2.源碼安裝
1)$ git clone git://github.com/osrg/ryu.git
2)$ cd ryu
3)$ sudo pip install -r tools/pip-requires
4)$ sudo python setup.py install
注意:其中若第三步出現問題,有可能是網絡原因,可以不斷執行第三步命令,進行數據包的下載。若第四步出現問題則可能是six版本過低,可以在安裝前執行$sudo pip install --upgrade six或者直接執行pip uninstall six pip install six來進行高版本安裝。
3.驗證
進入ryu目錄執行ryu-manager,如果顯示
loading app ryu.controller.ofp_handler
instantiating app ryu.controller.ofp_handler of OFPHandler
表明安裝成功。