欢迎阅读『第五章 从零开始实践 Mininet环境配置』
PS: 上午好!工作顺利嘛,不要久坐,多起来走动走动哦!

第五章 从零开始实践 Mininet环境配置

    Hurray 3085次浏览 0条评论 1121字

#笔记 #SDN #mininet

Mininet实践

Mininet是SDN实践必不可少的工具之一,可用于快速构建SDN网络。Mininet可以在普通个人电脑的操作系统上模拟出包括交换机、主机和控制器等软件定义网络的节点,从而满足网络研究人员对搭建网络环境的需求。

环境配置

Mininet只支持Ubuntu、CentOS、RedHat等系统。
Docker下的Ubuntu配出来有问题,可以不用折腾了。这本书是在Ubuntu下的教程,所以我也直接在虚拟机上安装了Ubuntu14.04。

Ubuntu下:

<源码>
  • # 更新源
  • apt-get update
  • # 下载sudo、git
  • apt-get install sudo git
  • # 下载Mininet
  • cd /tmp
  • git clone git://github.com/mininet/mininet
  • # 安装
  • cd mininet/util
  • sudo bash ./install.sh
# 更新源 apt-get update # 下载sudo、git apt-get install sudo git # 下载Mininet cd /tmp git clone git://github.com/mininet/mininet # 安装 cd mininet/util sudo bash ./install.sh

如果运行sudo mn没有卡住,而是进入了Mininet的交互界面就表示成功了。

Docker下会卡在node建立的地方,目测问题出现在OVS的问题上。例如,在Docker中执行ovs-vsctl add-br s1会db连接报错。
如果把OVS装在本机上应该是可以的。

系统架构

Mininet默认采用Open vSwitch作为交换机。
ofprotocol模块用于和控制器建立连接并解析OpenFlow协议。
Mininet建立的Host,实际上是一个Namespace,其中运行着/bin/bash等进程。
主机和交换机端口之间的链路及交换机之间的链路由Veth Pairs(Virtual Ethernet Pairs)来模拟完成。
支持TC(Traffic Control),用户可以自定义链路的宽带、丢包率等具体参数。

Mininet运行时,首先运行/bin/mn文件,这是一个Python文件。在mn文件中定义了MininetRunner类,用于完成Mininet的启动。启动分为参数解析、运行环境构建、Mininet拓扑和主机创建等内容,可以分别由MininetRunner类的self.parseArgs()self.setup()self.begin()方法来完成。


最后修改:


Send Comment