天天看点

学习笔记: 用于搭建SDN的网络仿真软件Mininet基本命令详解创建网络部分内部交互命令

在ubuntu系统下使用源码安装了mininet,以下是一些基本命令以及操作:

  • mininet命令可以这样分为三个部分:

学习笔记: 用于搭建SDN的网络仿真软件Mininet基本命令详解创建网络部分内部交互命令

创建网络部分

1. 四种基本拓扑类型的创建:

学习笔记: 用于搭建SDN的网络仿真软件Mininet基本命令详解创建网络部分内部交互命令

学习笔记: 用于搭建SDN的网络仿真软件Mininet基本命令详解创建网络部分内部交互命令

     其中树形拓扑的depth是指交换机的深度,而非整个树的深度. 而fanout可以理解为是一种广度,具体解释为:如果fanout为2,则根节点下挂两个节点(图中s1交换机下挂两个交换机s2,s3),并且每一个非叶子节点都下挂两个节点(图中s2,s3交换机也分别下挂两个主机),若fanout为n,则以上每一个非叶子节点都下挂n个节点.

自定义拓扑需要在custom下自行生成脚本文件,然后调用.

2.网络构建参数:--switch

    定义mininet要使用的交换机(默认使用OVSK,即OpenVSwitch交换机).

3.网络构建参数:--controller

   定义要使用的控制器,如果没有指定则使用mininet中默认的控制器.

学习笔记: 用于搭建SDN的网络仿真软件Mininet基本命令详解创建网络部分内部交互命令

4.网络构建参数:--mac

自动设置设备的mac地址.

学习笔记: 用于搭建SDN的网络仿真软件Mininet基本命令详解创建网络部分内部交互命令

在所搭建网络比较大比较复杂的情况下,建议使用mac参数,这会使得网络比较清晰.

内部交互命令

一些示例:

学习笔记: 用于搭建SDN的网络仿真软件Mininet基本命令详解创建网络部分内部交互命令

例如: 使用mn命令可以创建一个最简单的网络(一个交换机下挂两个主机). net可以查看链路信息,nodes可以查看节点信息,links可以查看链路的健壮性(即链路是否在正常运行),pingall查看连通性以及丢包率.

常用内部交互命令:

学习笔记: 用于搭建SDN的网络仿真软件Mininet基本命令详解创建网络部分内部交互命令

利用py扩展拓扑的示例:

例如现在已经有一个最简单的网络(一个交换机连接着两个主机,s1,h1,h2),现在想要在原有拓扑的基础之上再增加一个主机h3,则需要以下步骤:

  •  创建主机h3 
    学习笔记: 用于搭建SDN的网络仿真软件Mininet基本命令详解创建网络部分内部交互命令
  • 建立h3与s1之间的链路
    学习笔记: 用于搭建SDN的网络仿真软件Mininet基本命令详解创建网络部分内部交互命令
  • 在s1上添加一个能与h3相连的接口
    学习笔记: 用于搭建SDN的网络仿真软件Mininet基本命令详解创建网络部分内部交互命令
  • 给新加入的h3赋予一个IP地址
    学习笔记: 用于搭建SDN的网络仿真软件Mininet基本命令详解创建网络部分内部交互命令
  • dump查看网络状况,却发现h3的IP地址并不能查看到,这是因为主机之间还没有进行互ping操作,所以控制器无法发现主机地址.
    学习笔记: 用于搭建SDN的网络仿真软件Mininet基本命令详解创建网络部分内部交互命令
  • 所以我们就ping它一下
    学习笔记: 用于搭建SDN的网络仿真软件Mininet基本命令详解创建网络部分内部交互命令
  • 再次查看,发现h3的IP地址已存在
    学习笔记: 用于搭建SDN的网络仿真软件Mininet基本命令详解创建网络部分内部交互命令

继续阅读