2019 11 06 SDN上機第2次作業

2022-05-02 22:51:08 字數 3678 閱讀 2263

參考資料**:

要求拓撲支援openflow 1.3協議,主機名、交換機名以及埠對應正確,請給出拓撲mininet執行結果,展示埠連線情況

建立py文件:

from mininet.topo import topo

class topo2( topo ):

def __init__( self ):

# initialize topology

topo.__init__( self )

# add switches and hosts

sw1 = self.addswitch('s1')

sw2 = self.addswitch('s2')

h1 = self.addhost('h1')

h2 = self.addhost('h2')

h3 = self.addhost('h3')

h4 = self.addhost('h4')

h5 = self.addhost('h5')

h6 = self.addhost('h6')

# add links

self.addlink(h1,sw1,1,1)

self.addlink(h2,sw1,1,2)

self.addlink(h3,sw1,1,3)

self.addlink(sw1,sw2,4,4)

self.addlink(h4,sw2,1,1)

self.addlink(h5,sw2,1,2)

self.addlink(h6,sw2,1,3)

topos =

在終端內輸入:

sudo mn --custom ./sdn1.py --topo mytopo --switch ovsk,protocols=openflow13
使用pingall命令檢視:

結果results: 100% dropped

為互不連通狀態

使用net命令:

實現如下連通性要求,請逐條說明所下發的流表含義

h1 -- h4互通

h2 -- h5互通

h3 -- h6互通

其餘主機不通

ovs下發流表的命令:
sudo ovs-ofctl -o openflow13 add-flow s1 priority=1,in_port=1,actions=push_vlan:0x8100,set_field:4096-\>vlan_vid,output:4

//將主機1進入sw1的包打上vlan tag,**埠4

sudo ovs-ofctl -o openflow13 add-flow s1 priority=1,in_port=2,actions=push_vlan:0x8100,set_field:4097-\>vlan_vid,output:4

//將主機2進入sw1的包打上vlan tag,**埠4

sudo ovs-ofctl -o openflow13 add-flow s1 priority=1,in_port=3,actions=push_vlan:0x8100,set_field:4098-\>vlan_vid,output:4

//將主機3進入sw1的包打上vlan tag,**埠4

sudo ovs-ofctl -o openflow13 add-flow s1 priority=1,dl_vlan=0,actions=pop_vlan,output:1

//將從埠4的包去除vlan tag, 並根據tag進行**埠1

sudo ovs-ofctl -o openflow13 add-flow s1 priority=1,dl_vlan=1,actions=pop_vlan,output:2

//將從埠4的包去除vlan tag, 並根據tag進行**埠2

sudo ovs-ofctl -o openflow13 add-flow s1 priority=1,dl_vlan=2,actions=pop_vlan,output:3

//將從埠4的包去除vlan tag, 並根據tag進行**埠3

sudo ovs-ofctl -o openflow13 add-flow s2 priority=1,in_port=1,actions=push_vlan:0x8100,set_field:4096-\>vlan_vid,output:4  

//與上面類似,將主機4進入sw2的包打上vlan tag,**埠4

sudo ovs-ofctl -o openflow13 add-flow s2 priority=1,in_port=2,actions=push_vlan:0x8100,set_field:4097-\>vlan_vid,output:4

//將主機5進入sw2的包打上vlan tag,**埠4

sudo ovs-ofctl -o openflow13 add-flow s2 priority=1,in_port=3,actions=push_vlan:0x8100,set_field:4098-\>vlan_vid,output:4

//將主機6進入sw2的包打上vlan tag,**埠4

sudo ovs-ofctl -o openflow13 add-flow s2 priority=1,dl_vlan=0,actions=pop_vlan,output:1

//將從埠4的包去除vlan tag, 並根據tag進行**埠1

sudo ovs-ofctl -o openflow13 add-flow s2 priority=1,dl_vlan=1,actions=pop_vlan,output:2

//將從埠4的包去除vlan tag, 並根據tag進行**埠2

sudo ovs-ofctl -o openflow13 add-flow s2 priority=1,dl_vlan=2,actions=pop_vlan,output:3

//將從埠4的包去除vlan tag, 並根據tag進行**埠3

將所有命令輸入到終端中:

回到mininet使用pingall命令:

回到mininet使用net命令:

啟動wireshark:

選擇需要驗證的埠

埠不連通:

只會捕獲到arp協議的報文

埠連通時:

會捕獲到icmp報文

2019 SDN上機第2次作業

利用mininet建立如下拓撲,要求拓撲支援openflow 1.3協議,主機名 交換機名以及埠對應正確,請給出拓撲mininet執行結果,展示埠連線情況 直接在open vswitch下發流表,用vlan得到下列虛擬網段,請逐條說明所下發的流表含義 s1 sudo ovs ofctl add fl...

2019 SDN上機第2次作業

h1 h4互通 h2 h5互通 h3 h6互通 其餘主機不通 將主機1,2,3進入s1的包打上vlan tag,埠4 sudo ovs ofctl o openflow13 add flow s1 priority 1,in port 1,actions push vlan 0x8100,set f...

2019 SDN上機第2次作業

編寫如下python指令碼後執行,得到與預期埠號相符的網路拓撲。此時進行連通測試,初始狀態兩方區域無法通訊,交換機無 表資訊 流表 當前網路拓撲狀態無法進行通訊,因此無法利用tcp,ip等繫結手段新增流表,這裡下發流表採用vlan功能來實現通訊。sudo ovs ofctl o openflow13...