2019 SDN上機第6次作業

2022-04-03 11:46:50 字數 2745 閱讀 9289

實驗拓撲圖如下:

搭建**如下:

建立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...