ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

实验1:SDN拓扑实践

2022-09-12 09:34:22  阅读:219  来源: 互联网

标签:fir third self 实践 range sec SDN 拓扑


实验1:SDN拓扑实践

(一)基本要求

1.使用Mininet可视化工具,生成下图所示的拓扑,并保存拓扑文件名为学号.py

2.使用Mininet的命令行生成如下拓扑:

  • a) 3台交换机,每个交换机连接1台主机,3台交换机连接成一条线

  • b) 3台主机,每个主机都连接到同1台交换机上

3.在2 b)的基础上,在Mininet交互界面上新增1台主机并且连接到交换机上,再测试新拓扑的连通性

4.编辑(一)中第1步保存的Python脚本,添加如下网络性能限制,生成拓扑:

a) h1的cpu最高不超过50%;
b) h1和s1之间的链路带宽为10,延迟为5ms,最大队列大小为1000,损耗率50

进阶要求

编写Python脚本,生成如下数据中心网络拓扑,要求:

编写.py拓扑文件,命名为“学号_fattree.py”;
必须通过Mininet的custom参数载入上述文件,不得直接使用miniedit.py生成的.py文件;
设备名称必须和下图一致;
使用Python的循环功能实现,不得在代码中手工直接添加设备和链路;

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):#继承拓扑
    def __init__(self):
        Topo.__init__(self)
        L_fir = 2
        L_sec = L_fir * 2
        L_third = L_sec * 2
        fir = []; sec = []; third = []
        for i in range(L_fir):
            s = self.addSwitch("s" + str(i + 1))
            fir.append(s)
        for i in range(L_sec):
            s = self.addSwitch("s" + str(L_fir + i + 1))
            sec.append(s)
        for i in range(L_third):
            s = self.addSwitch("s" + str(L_fir + L_sec + i + 1))
            third.append(s)
        for i in fir:
            for j in sec:
                self.addLink(i, j)
        for i in range(L_sec):
            if (i // 2) == 0:
                for j in range(L_third // 2):
                    self.addLink(sec[i], third[j])
            else:
                for j in range(L_third // 2, L_third):
                    self.addLink(sec[i], third[j])
        count = 1
        for i in third:
            for j in range(2):
                h = self.addHost("h" + str(count))
                self.addLink(i, h)
                count += 1
topos = {"mytopo": (lambda: MyTopo())}

执行结果如下:

个人总结

本次实验的主要问题在于对mininet的作用以及命令行操作不熟悉上,没有有效的区分开可视化界面和命令行的使用区别,在完成本次实验之前可以先对计算机网络的相关概念有个大体的认知,对于本次实验的难度还是比较可观的。在本次实验中还要求大家掌握对于python的使用,所以部分友友可以先复习一下python的语法知识,对于本次实验要去理解每一步的意义,而不是按照步骤无脑完成;

遇到的问题

  • sudo su #切换到根目录下进行

  • 瞅瞅有没有连线错误以及主机的地址不要设置在范围外

个人感想

遇到问题,首选策略上百度,不要太依赖别人,提高资料整合能力;

标签:fir,third,self,实践,range,sec,SDN,拓扑
来源: https://www.cnblogs.com/sxlss/p/16685467.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有