參考資料**:
要求拓撲支援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...