本次试验基于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. python编译环境安装指南

    windows系统先安装python解释器: windows版本exe安装文件下载地址:https://www.python.org/ftp/python/2.7.12/python-2.7.12.m ...

  2. Codeforces Round #129 (Div. 2) B

    Description The Little Elephant loves sortings. He has an array a consisting of n integers. Let's nu ...

  3. beeline连接hive

    beeline -u jdbc:hive2://192.168.1.77:10000 zeppelin default jdbc: jdbc:hive2://nn01.ooccpp.com:2181/ ...

  4. GUI的最终选择 Tkinter(三):Checkbutton组件和Radiobutton组件、LabelFrame组件

    Checkbutton组件 Checkbutton组件就是常见的多选按钮,而Radiobutton则是单选按钮 from tkinter import * root = Tk() v = IntVar ...

  5. @Requestbody@ApiParam @PathVariable @RequestParam三者区别

    一.问题描述 由于项目是前后端分离,因此后台使用的是spring boot,做成微服务,只暴露接口.接口设计风格为restful的风格,在get请求下,后台接收参数的注解为RequestBody时会报 ...

  6. eclipse导入maven项目有时出现web.xml is missing的问题

    今天导入一个从Git上pull下来的项目导入eclipse时,报错web.xml is missing,但是我检查了webapp下面的WEB-INF目录下是有web.xml的,然后就纠结了.纠结了半天 ...

  7. 使用Fsharp 探索 Dotnet 平台

    Fsharp的交互开发环境使得我们在了解DotNet平台时能够快速的获得需要的反馈. 反馈在任何技艺的磨练过程中必不可少,我认为也是最重要的环节之一.在“一万小时天才理论”中,著名的髓鞘质就是在快速有 ...

  8. java(itext) 一个很简单的PDF表格生成工具

    先上个效果图 因为做的项目涉及到数据预测,其中有大量打印业务来支撑实体店的运营,因为注重的是数据,要求简洁,清晰,所以写了个很简单也很实用的工具类. 如果需要编写样式或者插入背景,都可以查阅itex官 ...

  9. defer=“defer”和async=“async”

    <script type="text/javascript" src="demo_defer.js" defer="defer"> ...

  10. JS转换日期格式

    // 对Date的扩展,将 Date 转化为指定格式的String // 月(M).日(d).小时(h).分(m).秒(s).季度(q) 可以用 1-2 个占位符, // 年(y)可以用 1-4 个占 ...