mininet实现自定义拓扑结构--基于两个数据中心的网络拓扑--fattree.py
来源:互联网 发布:数据库前置机 编辑:程序博客网 时间:2024/05/17 22:33
前言
基于两个数据中心的网络拓扑是最常见的、也是最基本的一种网络拓扑结构,这里先拿这个作为练习。
其网络拓扑结构图如下:
一、首先编写生成拓扑结构的python代码fattree.py文件
#创建网络拓扑,代码可以直接使用from mininet.topo import Topofrom mininet.net import Mininetfrom mininet.node import RemoteController,CPULimitedHostfrom mininet.link import TCLinkfrom mininet.util import dumpNodeConnectionsclass MyTopo( Topo ): "Simple topology example." def __init__( self ): "Create custom topo." # Initialize topology Topo.__init__( self ) L1 = 2 L2 = L1 * 2 L3 = L2 c = [] a = [] e = [] # add core ovs for i in range( L1 ): sw = self.addSwitch( 'c{}'.format( i + 1 ) ) c.append( sw ) # add aggregation ovs for i in range( L2 ): sw = self.addSwitch( 'a{}'.format( L1 +i + 1 ) ) a.append( sw ) # add edge ovs for i in range( L3 ): sw = self.addSwitch( 'e{}'.format( L1 +L2 + i + 1 ) ) e.append( sw ) # add links between core and aggregation ovs for i in range( L1 ): sw1 = c[i] for sw2 in a[i/2::L1/2]: self.addLink( sw2, sw1 ) # add links between aggregation and edge ovs for i in range( 0, L2, 2 ): for sw1 in a[i:i+2]: for sw2 in e[i:i+2]: self.addLink( sw2, sw1 ) #add hosts and its links with edge ovs count = 1 for sw1 in e: for i in range(2): host = self.addHost( 'h{}'.format( count ) ) self.addLink( sw1, host ) count += 1 topos = { 'mytopo': ( lambda: MyTopo() ) }
在home目录创建fattree.py文件之后,写入上述代码保存。
二、启动floodlight
java -jar target/floodlight.jar
* 注:当然前提是floodlight编译并配置成功,可以参考我前面的博客。
启动好之后floodlight会自动输出debug信息,不要关闭,另打开一个终端,输入mininet命令。
注:具体mininet+floodlight的环境搭建,可以参考我前面的一篇博客: mininet+floodlight 配置,链接:http://blog.csdn.net/xueer767/article/details/72910643
三、启动mininet
sudo mn --custom ~/fattree3.py --topo mytopo --controller=remote,ip=10.0.0.2 --switch ovsk,protocols=OpenFlow13
具体参数含义可以运行 sudo mn -help 查看,下面只简单列举这里使用到的几个参数。
–custom自定义拓扑的phyton文件
–topo指定加载拓扑的名字
–controller=remote,ip=远程控制器IP地址
–switch of交换机 protocols=OpenFlow协议版本(10或13)
启动之后,会看到
然后进入浏览器,打开http://10.10.14.3:8080/ui/index.html
就可以看到相应的交换机和主机信息。
如下:
首页显示(switch和host信息):
交换机信息
拓扑结构
- mininet实现自定义拓扑结构--基于两个数据中心的网络拓扑--fattree.py
- mininet fattree 拓扑的构建
- Mininet模拟不同数据中心的网络拓扑
- Mininet 自定义网络拓扑
- fattree 拓扑的构建
- Mininet实战之Fattree拓扑创建和iperfmulti功能
- 网络的拓扑结构
- 网络的拓扑结构
- mininet 画网络拓扑图
- zigbee的网络拓扑结构
- 虚拟机网络的拓扑结构
- 基于SNMP的网络拓扑结构自动发现研究
- 基于SNMP的网络拓扑结构自动发现研究
- 用mininet来自定义拓扑结构
- Floodlight Mininet自定义拓扑及流表
- java实现基于snmp的网络拓扑发现
- java实现基于snmp的网络拓扑发现
- 常见网络拓扑结构
- 图数据库概述
- oracle创建分区表,以及非分区表转分区表
- 修改mysql 的初始密码
- PHP开发学习——文件上传(move_uploaded_file)
- 机器学习使用决策树
- mininet实现自定义拓扑结构--基于两个数据中心的网络拓扑--fattree.py
- 快速排序
- Android 自定义View--圆环交替等待效果
- LabVIEW 随手笔记
- h5 canvas 简易祖玛游戏
- python中super()应用详解
- 钉钉开发系列(十三)SVN机器人通知
- 笔记本输入字母间隔变的好款
- 对未来一年提出的要求2017