我是靠谱客的博主 漂亮盼望,最近开发中收集的这篇文章主要介绍2021-10-03apt-get -y install gitgit clone http://github.com/mininet/mininet.gitcd mininet/util/./install.sh -hapt-get -y install python2ovs-vsctl add-port s1 p1ovs-vsctl set Interface p1 type=internalovs-vsctl set Interface p1 ofport_request=10ovs-vs,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、Mininet安装

apt-get -y install git

git clone http://github.com/mininet/mininet.git

cd mininet/util/

#查看所有的命令选项

./install.sh -h

Detected Linux distribution: Ubuntu 21.04 hirsute amd64
sys.version_info(major=3, minor=9, micro=4, releaselevel=‘final’, serial=0)
Detected Python (python3) version 3

Usage: install.sh [-abcdfhikmnprtvVwxy03]

This install script attempts to install useful packages
for Mininet. It should (hopefully) work on Ubuntu 11.10+
If you run into trouble, try
installing one thing at a time, and looking at the
specific installation function in this script.

options:
-a: (default) install (A)ll packages - good luck!
-b: install controller (B)enchmark (oflops)
-c: ©lean up after kernel install
-d: (D)elete some sensitive files from a VM image
-e: install Mininet documentation/LaT(e)X dependencies
-f: install Open(F)low
-h: print this (H)elp message
-i: install (I)ndigo Virtual Switch
-k: install new (K)ernel
-m: install Open vSwitch kernel (M)odule from source dir
-n: install Mini(N)et dependencies + core files
-p: install §OX OpenFlow Controller
-r: remove existing Open vSwitch packages
-s

: place dependency (S)ource/build trees in
-t: complete o(T)her Mininet VM setup tasks
-v: install Open (V)switch
-V : install a particular version of Open (V)switch on Ubuntu
-w: install OpenFlow (W)ireshark dissector
-y: install R(y)u Controller
-x: install NO(X) Classic OpenFlow controller
-0: (default) -0[fx] installs OpenFlow 1.0 versions
-3: -3[fx] installs OpenFlow 1.3 versions
#完整安装(默认安装在home目录,安装到其他目录可用-s参数指定)
root@mumi-virtual-machine:~/mininet/util# ./install.sh -a
#安装完成以后,执行命令测试Mininet的基本功能并查看版本。

#5.1.4
#添加Python2环境

apt-get -y install python2

#设置替代方案
root@mumi-virtual-machine:~ # update-alternatives --install /usr/bin/python python /usr/bin/python2 1
root@mumi-virtual-machine:~ # update-alternatives --install /usr/bin/python python /usr/bin/python3 2
#选择可选pytho版本
root@mumi-virtual-machine:~ # update-alternatives --config python

#命令使用
二、ovs安装

5.2.4示例
1.创建OVS交换机

2.添加端口
命令格式:ovs-vsctl <交换机名称> <端口名称>

ovs-vsctl add-port s1 p1

ovs-vsctl set Interface p1 type=internal

ovs-vsctl set Interface p1 ofport_request=10

ovs-vsctl add-port s1 p2

ovs-vsctl set Interface p2 ofport_request=11

ovs-vsctl set Interface p2 type=internal

ovs-vsctl add-port s2 p3

ovs-vsctl set Interface p3 ofport_request=1

ovs-vsctl set Interface p3 type=internal

ethtool -i p3 # ethtool -i p3

ovs-vsctl add-port s2 p4

ovs-vsctl set Interface p4 ofport_request=2

ovs-vsctl set Interface p4 type=internal

3.查看端口详情
命令:# ovs-ofctl show s1

命令:# ovs-ofctl show s2

4.创建h1和h2两个虚拟主机,设置IP分别为192.168.100.10和192.168.100.11,并接入OVS示例。
命令:

ip netns add h1

ip link set p1 netns h1

ip netns exec h1 ip addr add 192.168.10.10/24 dev p1

ip netns exec h1 ifconfig p1 promisc up

ip netns add h2

ip link set p4 netns h2

ip netns exec h2 ip addr add 192.168.10.11/24 dev p4

ip netns exec h2 ifconfig p4 promisc up

ovs-vsctl set interface p2 type=patch

ovs-vsctl set interface p3 type=patch

5.创建p2到p3的内部链路,并向交换机添加对应的流表项。

命令:

ovs-vsctl set interface p2 options:peer=p3

ovs-vsctl set interface p3 options:peer=p2

ovs-ofctl add-flow s1 “in_port=10, actions=output:11”

ovs-ofctl add-flow s1 “in_port=11, actions=output:10”

ovs-ofctl add-flow s2 “in_port=2, actions=output:1”

ovs-ofctl add-flow s2 “in_port=1, actions=output:2”

6.创建完成,在Network Namespce h1环境检查结果:running。

Qos配置
1.在交换机s1的端口1上创建qos策略newqqos,并在策略中创建类型为linux-htb的队列q0和q1,两者最大带宽分别为10G和5G.
命令:

ovs-vsctl – set port s1-eth1 qos=@newqos – --id=@newqos create qos type=linux-htb queues=0=@q0,1=@q1

– --id=@q0 create queue other-config:max-rate=10000000
– --id=@q1 create queue other-config:max-rate=5000000

2.S1上添加流表,使OVS能正确转发数据,实现和h1和h2通信。

ovs-ofctl add-flow s1 “in_port=2, actions=output:1”

测试截图:

3.修改流表项,将h2发往h1的数据导入队列0,队列0的最大限速为10Gbit/s。

ovs-ofctl add-flow s1 “in_port=2, actions=enqueue:1:0”

测试截图:

4.再次修改流表项,将数据导入到队列1中,此时最大限速5Gbit/s。

ovs-ofctl add-flow s1 “in_port=2, actions=enqueue:1:1”

测试截图:

实验完成!
三、Ryu
#官方参考地址:
https://github.com/faucetsdn/ryu
https://ryu-sdn.org/
#安装步骤(任选其一)
1.源码安装方式
git clone https://github.com/faucetsdn/ryu.git
cd ryu; pip install .

Optional Requirements

root@mumi-virtual-machine:~/ryu# pip install -r tools/optional-requires
安装完成如图所示:

root@mumi-virtual-machine:~/ryu# python setup.py install

2.快速安装
root@mumi-virtual-machine:~# pip install ryu
5.3.4实验一:
开发二层MAC自学习交换应用和基于端口及流表项统计信息的流量监控应用。
源码及解读:
#进入ryu顶级目录重新编译安装
root@mumi-virtual-machine:~# cd ryu/
root@mumi-virtual-machine:~/ryu# python setup.py install
#启动ryu控制器并加载新写的应用
截图:(同时开启两个终端验证)
第一个终端:(创建拓扑后发现会不断下发流表)

第二个终端:
创建树形拓扑,执行pingall验证所有主机间通信并查看结果。

命令:# mn --topo=tree,depth=2,fanout=2 --controller=remote –mac
参数depth为2和fanout为2表示交换机深度即层数为2,每个交换机下挂2个设备。
查看链接信息

查看节点信息:

查看链路健壮性信息:

拓展1:使用线性拓扑验证。

拓展2:使用单一拓扑验证(发现流表下发速度明显变缓)

实验二—流量监控应用
源码及解读
截图(同时开启两个终端验证)
第一个终端:树型拓扑

第二个终端:(查看到了周期的流量统计信息)

最后

以上就是漂亮盼望为你收集整理的2021-10-03apt-get -y install gitgit clone http://github.com/mininet/mininet.gitcd mininet/util/./install.sh -hapt-get -y install python2ovs-vsctl add-port s1 p1ovs-vsctl set Interface p1 type=internalovs-vsctl set Interface p1 ofport_request=10ovs-vs的全部内容,希望文章能够帮你解决2021-10-03apt-get -y install gitgit clone http://github.com/mininet/mininet.gitcd mininet/util/./install.sh -hapt-get -y install python2ovs-vsctl add-port s1 p1ovs-vsctl set Interface p1 type=internalovs-vsctl set Interface p1 ofport_request=10ovs-vs所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(28)

评论列表共有 0 条评论

立即
投稿
返回
顶部