Mininet构造常见网络拓扑图+openDaylight显示拓扑结构
Mininet是一个网络仿真器,可简单理解为 SDN 网络系统中的一种基于进程虚拟化平台,它支持 OpenFlow、Open vSwith 等各种协议,它可以在单个 Linux 内核上模拟和运行一个完整的网络主机、链接和交换机,在同一台计算机上且有助于互动开发、测试和演示。
本篇演示的实验环境是使用虚拟机虚拟Ubuntu系统,并在系统上搭建mininet、openDaylight等控制器实现的,具体配置操作和打开实验环境的准备工作见上一篇博客(https://blog.csdn.net/weixin_40042248/article/details/108692498)。
首先,利用mininet搭建SDN网络拓扑结构有5种类型,其中四种(单交换机结构、线性结构、树形结构、环形结构)是可以在mininet中使用命令直接构建,另外一种构建方式是通过python脚本自定义网络拓扑结构。本篇博客主要介绍四种可以在mininet中直接构建的网络拓扑结构。
1、单交换机结构
单交换机结构是只有一个交换机和n个主机组成的拓扑结构,如图,使用命令
mn --topo=single,4 --controller=remote,ip=192.168.56.105,port=6633 --switch ovsk,protocols=OpenFlow13
在mininet创建了包括1个虚拟交换机ovsk,4个主机的单交换机拓扑,使用OpenFlow协议,如果输入端口6633不能连接可以换一下6653试试,执行命令后,使用命令pingall查看连接是否成功,如图丢包率显示0%证明连接成功,在opendaylight中登入网页查看拓扑图。
2、线性结构
线性结构能模拟出 n 个交换机,n 个主机,每个主机均与独立的交换机连接,所有交换机汇聚到控制器。如图,使用命令
mn --topo=linear,3 --controller=remote,ip=192.168.56.105,port=6633 --switch ovsk,protocols=OpenFlow13
在mininet创建了包括3个虚拟交换机ovsk,3个主机的线性拓扑,使用OpenFlow协议,如果输入端口6633不能连接可以换一下6653试试,执行命令后,使用命令pingall查看连接是否成功,如图显示连接成功,在opendaylight中登入网页查看拓扑图。
3、树形结构
树形结构创建需要用到fanout和depth两个属性,fanout 称为扇出,depth 称为深度,扇出决定每层分支设备节点数,深度为主机到根 openflow 交换机经历的层级数,树形结构总共有台 n 的 m 次幂个主机。如2 扇出 3 层树形结构包含 8 台主机,构造命令如下
mn --topo=tree,fanout=2,depth=3 --controller=remote,ip=192.168.56.105,port=6633 --switch ovsk,protocols=OpenFlow13
在mininet创建了2扇,3层共8个主机的树形拓扑,使用OpenFlow协议,如果输入端口6633不能连接可以换一下6653试试,执行命令后,使用命令pingall查看连接是否成功,如图显示连接成功,在opendaylight中登入网页查看拓扑图。
4、环形结构
环形拓扑图的创建选项要用到参数n,m(n,m 均要求大于等于 3),生成 n*m 个 openflow 交换机,每个交换机连接一台主机,交换机之间保持与另外 4 台交换机连接,生成不同于完全网络的双向环形网络结构,主要为网络结构复杂,稳定性要求非常高的网络做冗余考虑。构建3*3的环形拓扑结构图的构造命令如下
mn --topo=torus,3,3 --controller=remote,ip=192.168.56.105,port=6633 --switch ovsk,protocols=OpenFlow13
在mininet创建了3*3的环形网络拓扑,使用OpenFlow协议,如果输入端口6633不能连接可以换一下6653试试,执行命令后,使用命令pingall查看连接是否成功,如图显示连接成功,在opendaylight中登入网页查看拓扑图。
下一篇: 动态添加网络拓扑节点、svg下载