實驗拓撲圖如下:
搭建**如下:
建立py檔案,並編寫py**,**如下:
from mininet.topo import topo
from mininet.net import mininet
from mininet.node import remotecontroller,cpulimitedhost
from mininet.link import tclink
from mininet.util import dumpnodeconnections
class mytopo(topo):
def __init__(self):
topo.__init__(self)
s=for i in range(2):
sw = self.addswitch('s{}'.format(i+1))
count=1
for sw in s[0:2]:
for i in range(3):
host = self.addhost('h{}'.format(count))
self.addlink(sw,host)
count += 1
self.addlink(s[0],s[1])
topos =
搭建結果如下
使用net檢視拓撲
使用pingall發現都不連通
按照實驗二編寫如下指令碼,指令碼為all.sh,內容如下:
使用sudo sh '/home/ubuntu/desktop/all.sh' 執行指令碼,可以發現ryu控制器已經接受了流表項,結果如下
檢視s1和s2的流表,如下如所示:
然後pingall,發現可以ping的通了,由此下發流表成功,得到了和實驗二一樣的結果
兩個方法的意思是差不多的,有了實驗二的理解,要做這個實驗就顯得比較簡單,因為每個流表項都可以較快的理解。實驗二中是使用ovs了命令直接在交換機上下發流表實現vlan,這一次是用ryu控制器來實現,而且相比於上一次實驗,本次的內容可以儲存在檔案中,需要修改的時候也只要修改幾個引數,不會像第一次實驗那樣關閉命令列就消失掉,這樣操作起來會比較方便,特別是我們現在做這些題目很不熟悉,經常會因為一些七七八八的原因重新做實驗。所以我覺得這種方法會更好。
2019 SDN第6次上機作業
作業鏈結 ryu的拓撲展示 助教部落格 基於ryu restful api實現的vlan網路虛擬化 實驗環境 實驗拓撲 使用ryu的rest api下發流表實現和第2次實驗同樣的vlan 交換機s1的指令碼 交換機s1接收從1號埠傳送來的資料報,從4號埠將其 給s2 curl x post d ac...
2019 SDN上機第6次作業
from mininet.topo import topo class mytopo topo def init self topo.init self s for i in range 2 sw self.addswitch s format i 1 self.addlink s 0 s 1 co...
2019 SDN上機第6次作業
如下 埠號1發來資料 curl x post d actions 埠號2發來資料 curl x post d actions 埠號3發來資料 curl x post d actions 向埠1 向埠2 向埠3 s2 埠號1發來資料 curl x post d actions 埠號2發來資料 curl...