實驗7:基于REST API的SDN北向應用實踐
能夠編寫程式調用OpenDaylight REST API實作特定網絡功能;
能夠編寫程式調用Ryu REST API實作特定網絡功能。
下載下傳虛拟機軟體Oracle VisualBox或VMware;
在虛拟機中安裝Ubuntu 20.04 Desktop amd64,并完整安裝Mininet、OpenDaylight(Carbon版本)、Postman和Ryu;
OpenDaylight
(1) 利用Mininet平台搭建下圖所示網絡拓撲,并連接配接OpenDaylight;
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsISPrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdsATOfd3bkFGazxCMx8VesATMfhHLlN3XnxCMwEzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsYTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5CM3UjM2EDN3QDO4UjNxkzNxYzX4ITNwcTM3IzLcBTMxIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjL4M3Lc9CX6MHc0RHaiojIsJye.png)
(2) 編寫Python程式,調用OpenDaylight的北向接口下發指令删除s1上的流表資料。
(3) 編寫Python程式,調用OpenDaylight的北向接口下發硬逾時流表,實作拓撲内主機h1和h3網絡中斷20s。
(4) 編寫Python程式,調用OpenDaylight的北向接口擷取s1上活動的流表數。
Ryu
(1) 編寫Python程式,調用Ryu的北向接口,實作上述OpenDaylight實驗拓撲上相同的硬逾時流表下發。
(2) 利用Mininet平台搭建下圖所示網絡拓撲,要求支援OpenFlow 1.3協定,主機名、交換機名以及端口對應正确。拓撲生成後需連接配接Ryu,且Ryu應能夠提供REST API服務。
(3) 整理一個Shell腳本,參考Ryu REST API的文檔,利用curl指令,實作和實驗2相同的VLAN。
|VLAN_ID|Hosts|
|:--|:--|
|0|h1 h3|
|1|h2 h4|
實驗心得:本次實驗相對于前幾次的都要難,這次實驗的内容又有結合到前面實驗的知識和相關操作,是以本次實驗所耗時間很久很久,但是針對本次實驗,還是有很多地方存在問題,首先不懂電腦原因還是虛拟機問題,實驗過程中出現了多次當機,不過自己也是會繼續努力完成每次作業。