SDN Python编程创建多数据中心网络

发布时间 2023-05-04 16:26:02作者: 幻非

首先开启 Open Daylight

cd /home/ubuntu/karaf-0.7.1/bin/
./karaf

新开一个终端执行以下操作

/home/ubuntu/mininet/examples 目录下新建一个 sdn4.py 文件

输入以下代码

from mininet.topo import Topo


class MyTopo(Topo):
    def __init__(self):
        Topo.__init__(self)

        # Add switches
        cores = [self.addSwitch('c%d' % (i)) for i in range(1, 3)]
        aggregations = [self.addSwitch('a%d' % (i)) for i in range(3, 7)]
        edges = [self.addSwitch('e%d' % (i)) for i in range(7, 15)]

        # Add links
        for core in cores:
            for aggregation in aggregations:
                self.addLink(core, aggregation)
        for i in range(2):
            for j in range(4):
                self.addLink(aggregations[i], edges[i*4+j])

        for i in range(1, 17, 2):
            self.addLink(edges[(i-1)//2], self.addHost('h%d' % (i)))
            self.addLink(edges[(i-1)//2], self.addHost('h%d' % (i+1)))


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

执行

mn --custom sdn4.py --topo mytopo --controller=remote

image