使用mininet创建网络拓扑,使ryu、ovs、主机连接

实验拓扑

控制器:RYU
交换机:s1,s2
主机:h1,h2,h3,h3
联通性(直连):
h1<->s1;h2<->s1
h3<->s2;h4<->s2
s1<->s2
拓扑代码如下:

#!/user/bin/env python
from mininet.topo import Topo
class MyTopo(Topo):
    def build(self):
        left=[]
        left.append(self.addHost("h1"))
        left.append(self.addHost("h2"))
        right=[]
        right.append(self.addHost("h3"))
        right.append(self.addHost("h4"))
        switchs=[]
        switchs.append(self.addSwitch("s1"))
        switchs.append(self.addSwitch("s2"))

        self.addLink(left[0],switchs[0])
        self.addLink(left[1],switchs[0])
        self.addLink(right[0],switchs[1])
        self.addLink(right[1],switchs[1])
        self.addLink(switchs[0],switchs[1])


topos={'mytopo':(lambda : MyTopo())}

mininet/custom 中有一个示例文件topo-2sw-2host.py.。可以按照该文件的内容进行相应地修改,定义自己的拓扑结构。

将自定义的网络拓扑写好后放到该custom目录下即可。

启动RYU

cd RYUPATH/ryu/app/         #首先进入到RYU的安装目录的app目录下,里面有相应的模块
sudo ryu-manager ofctl_rest.py simple_switch.py
# 启动ofctl_rest.py模块以及simple_switch.py交换机,这个是openflow1.0的交换机

启动mininet

sudo mn --controller=remote,ip=192.168.31,port=6653 --custom ~/Desktop/mininet/custom/1.py --topo mytopo

其中 1.py是刚刚定义的拓扑python文件, mytopo是 最后两行

topos={'mytopo':(lambda : MyTopo())} 中指定的拓扑名

  

猜你喜欢

转载自www.cnblogs.com/manmanchanglu/p/11833982.html