SDN第三次上机作业

时间:2021-03-08 21:55:14

标签(空格分隔): SDN

作业链接

实验目的

在给定如上实验拓扑情况下,用vlan得到下列虚拟网段

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())}

SDN第三次上机作业

SDN第三次上机作业

提交要求:截图证明拓扑的正确性

2、利用OVS命令下发流表,实现VLAN功能

参考链接:http://blog.csdn.net/rocson001/article/details/73163041
提交要求:贴出OVS下发流表的命令
下发s1流表
SDN第三次上机作业

下发s2的流表
SDN第三次上机作业
SDN第三次上机作业

注意
在第一次的时候输入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之后就可以了。

3、利用OVS命令查看流表

参考链接:http://blog.csdn.net/rocson001/article/details/73163041
提交要求:截图查看步骤2所下发的流表
ovs-ofctl dump-flow s1

SDN第三次上机作业

ovs-ofctl dump-flow s2

SDN第三次上机作业

4、验证性测试

截图验证:

h1--h4互通
h2--h5互通
h3--h6互通
其余主机间无法通信

如图所示:
SDN第三次上机作业

5、Wireshark抓包验证

提交要求:使用wireshark抓取,包含有VLAN tag的数据包,并截图验证
首先是开启wireshark

SDN第三次上机作业

选要抓的包是从哪到哪的,然后开启抓包,同时也要在Mininet下相应的ping。
抓到的包如下:
SDN第三次上机作业

SDN第三次上机作业