SDN第三次上機做業

標籤(空格分隔): SDNpython

做業連接測試

實驗目的

在給定如上實驗拓撲狀況下,用vlan獲得下列虛擬網段.net

h1--h4互通
h2--h5互通
h3--h6互通
其他主機間沒法通訊

實驗步驟

1.建立如下拓撲(可採用任意方式)

from mininet.topo import Topo

class MyTopo(Topo):

    def __init__(self):

        # initilaize topology
        Topo.__init__(self)

        # add hosts and switches
        host1 = self.addHost('h1')
        host2 = self.addHost('h2')
        host3 = self.addHost('h3')
        host4 = self.addHost('h4')
        host5 = self.addHost('h5')
        host6 = self.addHost('h6')
       
        switch1 = self.addSwitch('s1')
        switch2 = self.addSwitch('s2')

        # add links
        self.addLink(host1, switch1, 1, 1)
        self.addLink(host2, switch1, 1, 2)
        self.addLink(host3, switch1, 1, 3)
        self.addLink(host4, switch2, 1, 1)
        self.addLink(host5, switch2, 1, 2)
        self.addLink(host6, switch2, 1, 3)
        self.addLink(switch1, switch2, 4, 4)
        
topos = {'mytopo': (lambda: MyTopo())}

提交要求:截圖證實拓撲的正確性3d

二、利用OVS命令下發流表,實現VLAN功能

參考連接:http://blog.csdn.net/rocson001/article/details/73163041
提交要求:貼出OVS下發流表的命令
下發s1流表
code

下發s2的流表

blog

注意
在第一次的時候輸入sudo mn --custom ./sj3_1.py --topo mytopo --controller=remote,ip=127.0.0.1,port=6653失敗了,由於使用的是1.1版本,好像?後來就指定openflow協議是1.3版本的。sudo mn --custom ./sj3_1.py --topo mytopo --controller=remote,ip=127.0.0.1,port=6653 --switch ovsk,protocols=OpenFlow13以後就能夠了。ip

三、利用OVS命令查看流表

參考連接:http://blog.csdn.net/rocson001/article/details/73163041
提交要求:截圖查看步驟2所下發的流表
ovs-ofctl dump-flow s1rem

ovs-ofctl dump-flow s2get

四、驗證性測試

截圖驗證:it

h1--h4互通
h2--h5互通
h3--h6互通
其他主機間沒法通訊

如圖所示:

五、Wireshark抓包驗證

提交要求:使用wireshark抓取,包含有VLAN tag的數據包,並截圖驗證
首先是開啓wireshark

選要抓的包是從哪到哪的,而後開啓抓包,同時也要在Mininet下相應的ping。
抓到的包以下:

相關文章
相關標籤/搜索