本次试验基于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. 当重装eclipse后,给现有web项目添加tomcat的构建路径

    在eclipse“首选项”-“service environment”中配置好tomcat后,给现有web项目添加构建路径: 1.选中一个web项目右键选中“构建路径”-“配置构建路径”

  2. 洛谷2018寒假集训tg第二次比赛第二题Princess Principal题解

    这算不算泄题啊...被kkk发现会咕咕咕吧. 题目大意:给定一个数列a,与常数n,m,k然后有m个询问,每个询问给定l,r.问在a[l]到a[r]中最少分成几段,使每段的和不超过k,如果无解,输出Ch ...

  3. 牛客假日团队赛1 A.蹄球锦标赛

    链接: https://ac.nowcoder.com/acm/contest/918/A 题意: 为了准备即将到来的蹄球锦标赛,Farmer John正在训练他的N头奶牛(方便起见,编号为1-N,其 ...

  4. spark_运行spark-shell报错_javax.jdo.JDOFatalDataStoreException: Unable to open a test connection to the given database.

    error: # ./spark-shell Caused by: javax.jdo.JDOFatalDataStoreException: Unable to open a test connec ...

  5. selenium框架安装及webdriver安装

    本文介绍的是selenium安装及webdriver安装.小实例 1.selenium介绍 selenium是一个用于web应用程序测试的工具. Selenium测试直接运行在浏览器,就向真正的用户操 ...

  6. 025 Reverse Nodes in k-Group 每k个一组翻转链表

    给出一个链表,一次翻转 k 个指针节点,并返回修改后的链表.k 是一个正整数,并且小于等于链表的长度.如果指针节点的数量不是 k 的整数倍,那么最后剩余的节点应当保持原来的样子.你不应该改变节点的值, ...

  7. UVALive - 6440

    题目链接:https://vjudge.net/contest/241341#problem/G Indonesia, as well as some neighboring Southeast As ...

  8. Unity (反向动力学)IK动画

  9. c/c++技巧总结

    1.bzero().memset()初始化结构体. 2.求结构体分量在结构体中地址偏移量 #define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *) ...

  10. 提高PHP编程效率的20个要点

    用单引号代替双引号来包含字符串,这样做会更快一些.因为PHP会在双引号包围的字符串中搜寻变量,单引号则 不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的“函数”(译注:PHP手册中 ...