[关闭]
@EggGump 2019-01-17T13:49:56.000000Z 字数 3081 阅读 667

mininet初级

sdn


ubuntu-18.04.1-desktop-amd64
vmware14

安装

主要注意安装好ubuntu后要更换源,更换源会付带
ali的源

  1. deb http://mirrors.aliyun.com/ubuntu/ trusty main multiverse restricted universe
  2. deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main multiverse restricted universe
  3. deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main multiverse restricted universe
  4. deb http://mirrors.aliyun.com/ubuntu/ trusty-security main multiverse restricted universe
  5. deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main multiverse restricted universe
  6. deb-src http://mirrors.aliyun.com/ubuntu/ trusty main multiverse restricted universe
  7. deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main multiverse restricted universe
  8. deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main multiverse restricted universe
  9. deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main multiverse restricted universe
  10. deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main multiverse restricted universe

源的位置:/etc/apt/sources.listsudo

  1. sudo apt-get update
  2. sudo apt-get -f install
  3. sudo apt-get upgrade

,我使用的是aliyun的源

基本指令

推荐资料

  1. sudo mn

FvLeSK.png
这样显示即正确启动

升级mininet的ovs版本

参考博客:https://github.com/mininet/mininet/wiki/Installing-new-version-of-Open-vSwitch

  1. ovs-vsctl show #查看ovs版本,为2.0.1之类的就需要升级
  1. sudo -s #先给自已一个root权限ma
  2. mkdir ovs
  3. cd ovs
  4. wget http://openvswitch.org/releases/openvswitch-2.6.1.tar.gz
  5. tar -xzf openvswitch-2.6.1.tar.gz # 解压并进入目录
  6. cd openvswitch-2.6.1.tar.gz
  7. dpkg-checkbuilddeps #检查依赖
  8. sudo apt-get install (检查出来的依赖)
  9. sudo apt install dpkg-dev fakeroot build-essential openssl debhelper autoconf automake libssl-dev python-all python-twisted-conch clang pkg-config gcc m4 libtool sparse#书上的依赖
  10. uname -r #检查linux内核版本 4.2.0-27-generic
  11. ./configure --prefix=/usr --with-linux=/lib/modules/`uname -r`/build #编译
  12. make #注意以下需要root权限
  13. make install
  14. make modules_install
  15. rmmod openvswitch
  16. depmod -a
  17. /sbin/modprob openvswitch

升级mininet

  1. git clone git://github.com/mininet/mininet
  2. cd mininet
  3. git tag #可查看所有的版本
  4. git checkout -b 版本
  5. sudo util/install.sh -a #安装

书上的更新方法(未尝试):

  1. cd mininet
  2. git fetch
  3. git checkout master
  4. git pull
  5. sudo make install sudo make develop

查看所有结点相关信息

  1. dump

FvLnyD.png
只查看所有的结点

  1. nodes

查看网络的连接

  1. net

ping的使用

  1. h1 ping -c 4 h2

xterm和gterm为一个节点开启一个终端

  1. xterm h1
  2. gterm h1 h2 #这是启动两个节点的终端

link命令

  1. link s1 h1 down #关掉s1与h1的连接
  2. link s1 h1 up #打开s1与h1的连接

ipref测速

  1. iperf #测tcp
  2. iperfudp #测udp

dpctl 数据通路和检测工具

  1. dpctl show #查看switch的基本信息

执行外部指令 py 和 sh

  1. py locals()
  2. py h1.IP()
  3. sh ls

FvLsf0.png

help命令
帮助我们列举出所支持的命令,另外,使用tab也可以进行自动补全。

mininet自定义拓扑

推荐阅读

这里我们要自定义的拓扑是这样的:
FxCc5D.png

利用python进行拓扑配置

首先编写好拓扑的python脚本

  1. from mininet.topo import Topo
  2. class homeworkTopo(Topo):
  3. def __init__(self):
  4. Topo.__init__(self)
  5. # c = self.addController('c')
  6. s1 = self.addSwitch('s1')
  7. s2 = self.addSwitch('s2')
  8. s3 = self.addSwitch('s3')
  9. s4 = self.addSwitch('s4')
  10. s5 = self.addSwitch('s5')
  11. h1 = self.addHost('h1')
  12. h2 = self.addHost('h2')
  13. h3 = self.addHost('h3')
  14. h4 = self.addHost('h4')
  15. # self.addLink(s1,c)
  16. self.addLink(s1,s2)
  17. self.addLink(s2,s3)
  18. self.addLink(s2,s4)
  19. self.addLink(s2,s5)
  20. self.addLink(s3,h1)
  21. self.addLink(h2,s4)
  22. self.addLink(h3,s5)
  23. self.addLink(h4,s5)
  24. topos = {'homeworkTopo':(lambda:homeworkTopo())}

其次在启动mininet时带上脚本即可

  1. sudo mn --custom=homeworktopo.py --topo homeworkTopo

启动后可以通过 net,dump,nodes查看脚本

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注