本次试验基于mininet平台,在平台中利用ovs新建1个交换机,以pox为控制器,ovx作为中间层实现虚拟化。

基础请参照http://ovx.onlab.us/getting-started/tutorial/

但是由于上述只是直线拓扑,而且中间不经过节点,因此我们要构建一个复杂的拓扑,如标红的拓扑

首先我们将pox的l2_learing修改一下,也就是把host,switch与path信息写进去

其次开启ovx,pox

在/ovx/utils/具体代码如下:

新建虚拟网络,并制定控制器与host的ip域

python ovxctl.py -n createNetwork tcp:192.168.100.107:6633 10.0.0.0 16

由switch的DPID新建虚拟交换机

python ovxctl.py -n createSwitch 1 00:00:00:00:00:00:02:00
python ovxctl.py -n createSwitch 1 00:00:00:00:00:00:05:00
python ovxctl.py -n createSwitch 1 00:00:00:00:00:00:08:00

为每一个虚拟交换机添加port,指定物理port,注意返回的虚拟port_id

python ovxctl.py -n createPort 1 00:00:00:00:00:00:02:00 5
python ovxctl.py -n createPort 1 00:00:00:00:00:00:02:00 6

python ovxctl.py -n createPort 1 00:00:00:00:00:00:05:00 5
python ovxctl.py -n createPort 1 00:00:00:00:00:00:05:00 6

python ovxctl.py -n createPort 1 00:00:00:00:00:00:08:00 5
python ovxctl.py -n createPort 1 00:00:00:00:00:00:08:00 7

连接switchs,这里10 10 是因为我们对协议进行改变了,支持ooe了
python ovxctl.py -n connectLink 1 00:a4:23:05:00:00:00:01 2 00:a4:23:05:00:00:00:02 1 10 10 spf 1
python ovxctl.py -n connectLink 1 00:a4:23:05:00:00:00:01 1 00:a4:23:05:00:00:00:03 1 10 10 spf 1
python ovxctl.py -n connectLink 1 00:a4:23:05:00:00:00:02 2 00:a4:23:05:00:00:00:03 2 10 10 spf 1

新建port,并通过该port与host相连

python ovxctl.py -n createPort 1 00:00:00:00:00:00:02:00 1
python ovxctl.py -n connectHost 1 00:a4:23:05:00:00:00:01 3 00:00:00:00:02:01

python ovxctl.py -n createPort 1 00:00:00:00:00:00:05:00 2
python ovxctl.py -n connectHost 1 00:a4:23:05:00:00:00:02 3 00:00:00:00:05:02

python ovxctl.py -n createPort 1 00:00:00:00:00:00:08:00 3
python ovxctl.py -n connectHost 1 00:a4:23:05:00:00:00:03 3 00:00:00:00:08:03

开启虚拟网络

python ovxctl.py -n startNetwork 1

我们可以在mininet dump_flows查看流表信息

*** ATL ------------------------------------------------------------------------
NXST_FLOW reply (xid=0x4):
cookie=0x100000000, duration=10.141s, table=0, n_packets=0, n_bytes=0, idle_timeout=10000,priority=42,ooe,in_port=5,dl_src=a4:23:05:01:00:00,dl_dst=a4:23:05:10:00:06,ooe_dst=0x2 actions=output:7
*** CLE ------------------------------------------------------------------------
NXST_FLOW reply (xid=0x4):
*** EWR ------------------------------------------------------------------------
NXST_FLOW reply (xid=0x4):
*** IAD ------------------------------------------------------------------------
NXST_FLOW reply (xid=0x4):
cookie=0x100000003, duration=9.167s, table=0, n_packets=0, n_bytes=0, idle_timeout=10000,priority=42,ooe,in_port=5,dl_src=a4:23:05:01:00:00,dl_dst=a4:23:05:10:00:06,ooe_dst=0x2,ooe_start=11,ooe_length=2 actions=mod_dl_src:00:00:00:00:02:01,mod_dl_dst:00:00:00:00:05:02,output:2
*** IAH ------------------------------------------------------------------------
NXST_FLOW reply (xid=0x4):
cookie=0x100000000, duration=10.177s, table=0, n_packets=0, n_bytes=0, idle_timeout=10000,priority=42,ooe,in_port=5,dl_src=a4:23:05:01:00:00,dl_dst=a4:23:05:10:00:06,ooe_dst=0x2 actions=output:7
*** LAX ------------------------------------------------------------------------
NXST_FLOW reply (xid=0x4):
cookie=0x100000000, duration=10.184s, table=0, n_packets=0, n_bytes=0, idle_timeout=10000,priority=42,ooe,in_port=5,dl_src=a4:23:05:01:00:00,dl_dst=a4:23:05:10:00:06,ooe_dst=0x2 actions=output:7
*** MCI ------------------------------------------------------------------------
NXST_FLOW reply (xid=0x4):
*** ORD ------------------------------------------------------------------------
NXST_FLOW reply (xid=0x4):
*** SEA ------------------------------------------------------------------------
NXST_FLOW reply (xid=0x4):
*** SFO ------------------------------------------------------------------------
NXST_FLOW reply (xid=0x4):
cookie=0x100000003, duration=10.232s, table=0, n_packets=0, n_bytes=0, idle_timeout=10000,priority=42,ooe,in_port=1,dl_src=00:00:00:00:02:01,dl_dst=00:00:00:00:05:02,ooe_dst=0x2 actions=mod_ooe_start:11,mod_ooe_length:2,mod_dl_src:a4:23:05:01:00:00,mod_dl_dst:a4:23:05:10:00:06,output:6
*** SLC ------------------------------------------------------------------------
NXST_FLOW reply (xid=0x4):

忽略下面。。。

个人博客,也可以随便点点,里面是一些前端学习,http://wearejq.github.io/,还有一个写着玩的,http://hhjiang91.github.io/

在mininet上基于ovs,ovx,pox搭建三点虚拟网络的更多相关文章

  1. 在阿里云主机上基于CentOS用vsftpd搭建FTP服务器

    最近需要在一台阿里云的云服务器上搭建FTP服务器,在这篇博文中分享一下我们根据实际需求进行的一些配置. ftp软件用的是vsftpd. vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序 ...

  2. [原创]基于Zynq Linux环境搭建(三)

    此篇编译Kernel 解压: [#17#17:26:56 FPGADeveloper@ubuntu ~/Zybo_Demo]$tar zxvf *.tar.gz 进入到文件kernel文件夹中,cle ...

  3. Hadoop集群搭建(三)~centos6.8网络配置

    安装完centos之后,进入系统,进行网络配置.主要分为五个部分: 修改虚拟机网络编辑器:配置Winodws访问虚拟机:配置centos网卡:通过网络名访问虚拟机配置网络服务. (一)虚拟机网络编辑器 ...

  4. window平台基于influxdb + grafana + jmeter 搭建性能测试实时监控平台

    一.influxdb 安装与配置 1.1 influxdb下载并安装 官网无需翻墙,但是下载跳出的界面需要翻墙,我这里提供下载链接:https://dl.influxdata.com/influxdb ...

  5. Mac上基于hexo+GitHub搭建个人博客(一)

    原文地址: http://fanjiajia.cn/2018/11/23/Mac%E4%B8%8A%E5%9F%BA%E4%BA%8Ehexo+GitHub%E6%90%AD%E5%BB%BA%E4% ...

  6. 基于OVS的VLAN虚拟化简易实践方案

    基于OVS的VLAN虚拟化简易实践方案 前言 本实验基于ovs的vlan流表匹配,根据端口进行vlan标签插入.手工配置ovs,使其具有vlan虚拟化方案. 实验拓扑 ---- ---- | h1 | ...

  7. Mininet实验 基于Mininet测量路径的损耗率

    实验原理 在SDN环境中,控制器可以通过对交换机下发流表操作来控制交换机的转发行为,此外,还可以利用控制器测量路径的损耗率.在本实验中,基于Mininet脚本,设置特定的交换机间的路径损耗速率,然后编 ...

  8. 史上最详细Windows版本搭建安装React Native环境配置 转载,比官网的靠谱亲测可用

    史上最详细Windows版本搭建安装React Native环境配置   2016/01/29 |  React Native技术文章 |  Sky丶清|  95条评论 |  33530 views ...

  9. 面向服务体系架构(SOA)和数据仓库(DW)的思考基于 IBM 产品体系搭建基于 SOA 和 DW 的企业基础架构平台

    面向服务体系架构(SOA)和数据仓库(DW)的思考 基于 IBM 产品体系搭建基于 SOA 和 DW 的企业基础架构平台 当前业界对面向服务体系架构(SOA)和数据仓库(Data Warehouse, ...

随机推荐

  1. Mybatis插件Plugin

    Mybatis开源Plugin中最熟知的pagehelper,重点made in China 很多人开始用pagehelper时候,肯定很纳闷,以mysql为例,明明没有加limit语句,为什么打印出 ...

  2. Codeforces Round #501 (Div. 3) 1015A Points in Segments (前缀和)

    A. Points in Segments time limit per test 1 second memory limit per test 256 megabytes input standar ...

  3. thinkphp5.1使用支付宝接口(沙箱环境)

    接口文件以及沙箱的测试账号可以去支付宝开发中心获取,下面给出一个简单地例子 我新建了一个控制器Pay用来专门做支付 <?phpnamespace app\index\controller; us ...

  4. Exadata 上关于SAS盘的小秘密

    案例概述 一个X3-2 的Exadata临时客户,ORACLE原厂工程师在进行onecommand初始化的过程中,执行到第6步,calibrate检测存储节点磁盘性能时报错,后续工作无法继续.而由于一 ...

  5. DNS A记录 CNAME NS记录等的区别

    DNS域名解析 tracetrt dig A记录 将此域名绑定到固定ip C记录 将此域名绑定到另一个域名上,通常是A记录的别名 AAAA记录 用来绑定ipv6地址 https://www.ezloo ...

  6. APP测试常见功能测试点汇总

    本文总结了一些APP功能测试中经常遇见测试点,仅供参考,是好早以前看哪位前辈总结的,一直在使用,所以也稍微的修改了下放到自己的博客中,以备日后温习.1.安装和卸载安装和卸载是任何一款APP中都属于最基 ...

  7. HDU 4143 A Simple Problem 分解因式

    求一个最小的正整数x,使得(y + x) (y - x) = n成立 考虑一下n的分解因式. 可能会想到枚举n的约数,那么a * b = n成立,取最小的x即可 但是要枚举到n / 2,这样会超时. ...

  8. C# 读写XML文件的方法

    C# 读写XML文件的方法 一.写XML文件 XmlDocument xmlDocument = new XmlDocument();xmlDocument.AppendChild(xmlDocume ...

  9. 【Linux】Linux查看程序端口占用情况

    使用命令查询8880端口的占用信息: netstat -naop|grep 查询结果: 发现8880端口被PID为4518的进程占用 使用命令查询所有的进程和端口使用情况: netstat –apn ...

  10. Zookeeper崩溃恢复过程(Leader选举)

    1. 崩溃恢复 a). leader选择过程可以保证新leader是ZXID最大的节点 b). ZAB协议确保丢弃那些只在leader上被提出的事务,场景 leader发出PROPOSAL收到ACK, ...