安裝步驟
打開(kāi)終端,輸入命令:
$sudo apt install python-pip #安裝pip
cd /home/usrname/ryu #其實(shí)沒(méi)有必要,使用pip install的方法會(huì)有默認(rèn)的安裝位置,之后在任何目錄下都可以調(diào)用。
pip install ryu #使用pip方法安裝(此時(shí)若想要知道ryu控制器安裝的位置,可以輸入pip show ryu, 可以發(fā)現(xiàn),位置在/home/username/.local/lib/python2.7/site-packages)

ryu-manager #檢驗(yàn)是否安裝成功
出錯(cuò)了。。。。

解決方法1:
netstat -nltp | grep 6633 #看看RYU控制器監(jiān)聽(tīng)的默認(rèn)端口6633被哪個(gè)應(yīng)用占用了。
kill此應(yīng)用并重新嘗試。

可以看出,端口6633被pid為108194的應(yīng)用占用啦。
kill -9 108194 #解除端口6633的占用

解決方法2:
給RYU控制器重新?lián)Q一個(gè)監(jiān)聽(tīng)的端口。

RYU控制器正常運(yùn)行啦~
此處參考鏈接:
將ryu控制器和mininet的控制器節(jié)點(diǎn)相連,測(cè)試能否連接成功。
打開(kāi)另一個(gè)終端,輸入:
sudo mn --controller=remote,ip=127.0.0.1,port=6633 #啟動(dòng)mininet,并且連接到遠(yuǎn)程ip = 127.0.0.1, port = 6633的ryu控制器。ryu控制器默認(rèn)的端口為6633.

由右邊的終端可以看出,mininet連接上了遠(yuǎn)端控制器,可以看到控制器的IP地址和端口號(hào),以及控制器的pid。
ping一下兩個(gè)主機(jī),發(fā)現(xiàn)數(shù)據(jù)包全部丟失???

重新將ryu控制器和mininet的控制器節(jié)點(diǎn)相連,測(cè)試能否連接成功。
cd /home/username/ryu #進(jìn)入ryu安裝目錄
ryu-manager --verbose ryu.app.simple_switch_13 #執(zhí)行ryu應(yīng)用程式

啟動(dòng)mininet, 命令如下:
cd /home/username/mininet
sudo mn --topo single,3 --mac --switch ovsk --controller remote -x #創(chuàng)建3個(gè)host,1個(gè)交換器(open vSwitch),外部控制器(openFlow controller)
此時(shí),出現(xiàn)了5個(gè)命令窗口。分別為控制器c0, 交換機(jī)s1和3個(gè)hosts h0, h1, h2.

在交換機(jī)窗口分別輸入以下命令:
ovs-vsctl show ovs-dpctl show #查看交換機(jī)信息

在mininet窗口輸入:
h1 ping -c 4 h2

可以發(fā)現(xiàn)從h2發(fā)送了4個(gè)packets,全部被接收,因此 h1 和 h2 連接成功。
此處參考鏈接:
參考:
https://www.nctusam.com/2017/10/07/install-ryu-and-mininet-on-ubuntu-16-04/
目前內(nèi)容就這么多,后續(xù)會(huì)持續(xù)更新~
新手學(xué)SDN,新手寫(xiě)文章,若有任何錯(cuò)誤和建議請(qǐng)告知。