2019 SDN上机第1次作业

2019 SDN上机第1次作业

1.环境搭建

2.用字符命令搭建

1

Kjcr4K.png
KjcNjJ.png

2

Kjc63D.png
Kjctc4.png

3.利用可视化工具搭建如下拓扑

KjcJ9U.png

设置支持openflow 1.0,1.1,1.2,1.3

KjcY3F.png

右键主机输入ip

KjWNPx.md.png

验证

Kjcau9.png

4. 利用Python脚本完成如下图所示的一个Fat-tree型的拓扑

#!/usr/bin/python
# 创建网络拓扑
"""Custom topology example
Adding the 'topos' dict with a key/value pair to generate our newly defined
topology enables one to pass in '--topo=mytopo' from the command line.
"""

from mininet.topo import Topo
from mininet.net import Mininet
from mininet.node import RemoteController, CPULimitedHost
from mininet.link import TCLink
from mininet.util import dumpNodeConnections


class MyTopo(Topo):
    "Simple topology example."

    def __init__(self):
        "Create custom topo."

        # Initialize topology
        Topo.__init__(self)
        L1 = 2
        L2 = L1 * 2
        c = []
        a = []

        # add core ovs  
        for i in range(L1):
            sw = self.addSwitch('s{}'.format(i + 1))
            c.append(sw)

        # add aggregation ovs
        for i in range(L2):
            sw = self.addSwitch('s{}'.format(L1 + i + 1))
            a.append(sw)


        for i in range(L1):
            sw1 = c[i]
            for sw2 in a[i / 2::L1 / 2]:
                # self.addLink(sw2, sw1, bw=10, delay='5ms', loss=10, max_queue_size=1000, use_htb=True)
                self.addLink(sw2, sw1)


        # add hosts and its links with edge ovs
        count = 1
        for sw1 in a:
            for i in range(2):
                host = self.addHost('h{}'.format(count))
                self.addLink(sw1, host)
                count += 1


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

运行结果

KjcDN6.png

原文地址:https://www.cnblogs.com/caoyuanfeifeixiong/p/11789894.html