实验1:SDN拓扑实践

1. 使用Mininet可视化工具,生成下图所示的拓扑

 

2. 生成3台交换机,每个交换机连接1台主机,3台交换机连接成一条线。

 

3. 生成3台主机,每个主机都连接到同1台交换机上

 

4. 在上一步基础上,Mininet交互界面上新增1台主机并且连接到交换机上,再测试新拓扑的连通性。

 

5. 修改后的python代码及运行结果

 

 

  • 运行结果

6. 进阶代码及结果

  • 代码
#!/usr/bin/env python

from mininet.topo import Topo
from mininet.net import Mininet
from mininet.node import RemoteController,CPULimitedHost,Controller
from mininet.link import TCLink
from mininet.util import dumpNodeConnections
class MyTopo(Topo):
 
    def __init__(self):
    
        Topo.__init__(self)
                      
        for i in range(1,15):
            self.addSwitch("s"+str(i))
        for i in range(1,17):
                   self.addHost("h"+str(i))
        for i in range (1,3):
            for j in range(3,7):
                self.addLink("s"+str(i),"s"+str(j))
        for i in range (3,5):
            for j in range(7,11):
                self.addLink("s"+str(i),"s"+str(j))
        for i in range (5,7):
            for j in range(11,15):
                self.addLink("s"+str(i),"s"+str(j))
        for i in range (7,15):
            for j in range((i-6)*2-1,(i-6)*2+1):
                self.addLink("s"+str(i),"h"+str(j))
topos={'mytopo':(lambda: MyTopo())}
  • 结果

 

 

感想

第一次使用Mininet,对于如何操作显得很陌生,但是跟着幻灯片的指导以及自己网络上搜索的一些资料,慢慢地知道了大概地原理,以及如何增加主机交换机还有建立他们之间的连接,也能够自己运用python脚本构建拓扑结构,在进阶问题的解决上,最后ping所有主机出现了无法连通的问题,请教了同学之后,得知可以采用switch ovsbr,stp=1进行ping通。缺点就是还不能熟练流畅地将所有代码写下来,需要参照着幻灯片还有百度地一些资料一步一步来,进步空间还是很大。但是本次实验也提高了自己的自学能力,还是颇有收获的。

posted @ 2022-09-12 21:58  032002425罗桢彬  阅读(34)  评论(0编辑  收藏  举报