mininet写一个简单拓扑代码
以下是一个简单的mininet拓扑示例代码:
from mininet.net import Mininet
from mininet.topo import Topo
from mininet.node import Controller, RemoteController, OVSKernelSwitch
from mininet.cli import CLI
from mininet.log import setLogLevel
class SimpleTopo(Topo):
def __init__(self):
Topo.__init__(self)
# 添加两个交换机
s1 = self.addSwitch('s1', cls=OVSKernelSwitch)
s2 = self.addSwitch('s2', cls=OVSKernelSwitch)
# 添加三个主机
h1 = self.addHost('h1')
h2 = self.addHost('h2')
h3 = self.addHost('h3')
# 连接主机和交换机
self.addLink(h1, s1)
self.addLink(h2, s1)
self.addLink(h3, s2)
# 连接交换机
self.addLink(s1, s2)
if __name__ == '__main__':
setLogLevel('info')
# 创建拓扑
topo = SimpleTopo()
# 创建控制器
controller = RemoteController('c0', ip='127.0.0.1', port=6633)
# 创建网络
net = Mininet(topo=topo, controller=controller)
# 启动网络
net.start()
# 启动CLI
CLI(net)
# 关闭网络
net.stop()
这个拓扑包含两个交换机和三个主机。交换机之间通过一条链路连接。在这个拓扑中,主机之间可以直接通信,也可以通过交换机进行通信。
原文地址: https://www.cveoy.top/t/topic/nyM 著作权归作者所有。请勿转载和采集!