如何使用Floodlight连接并管理Open vSwitch

Open vSwitch(下面简称为 OVS)是由 Nicira Networks 主导的,运行在虚拟化平台(例如 KVM,Xen)上的虚拟交换机。在虚拟化平台上,OVS 可以为动态变化的端点提供 2 层交换功能,很好的控制虚拟网络中的访问策略、网络隔离、">流量监控等等。

OVS 遵循 Apache 2.0 许可证, 能同时支持多种标准的管理接口和协议。OVS 也提供了对 OpenFlow 协议的支持,用户可以使用任何支持 OpenFlow 协议的控制器对 OVS 进行远程管理控制。

Open vSwitch 概述

在 OVS 中, 有几个非常重要的概念:

Bridge: Bridge 代表一个以太网交换机(Switch),一个主机中可以创建一个或者多个 Bridge 设备。 Port: 端口与物理交换机的端口概念类似,每个 Port 都隶属
于一个 Bridge。
Interface: 连接到 Port 的
网络接口设备。在通常情况下,Port 和 Interface 是一对一的关系, 只有在配置 Port 为 bond 模式后,Port 和 Interface 是一对多的关系。 Controller: OpenFlow 控制器。OVS 可以同时接受一个或者多个 OpenFlow 控制器的管理。 datapath: 在 OVS 中,datapath 负责执行数据交换,也就是把从接收端口收到的数据包在流表中进行匹配,并执行匹配到的动作。 Flow table: 每个 datapath 都和一个“flow table”关联,当 datapath 接收到数据之后, OVS 会在 flow table 中
查找可以匹配的 flow,执行对应的操作, 例如转发数据到另外的端口。

Open vSwitch 实验环境配置

OVS 可以安装在主流的 Linux 操作系统中,用户可以选择直接安装编译好的软件包,或者下载源码进行编译安装。

在我们的实验环境中,使用的操作系统是 64 位 Ubuntu Server 12.04.3 LTS,并通过源码编译的方式安装了 Open vSwitch 1.11.0

$ lsb_release -aNo LSB modules are
available.Distributor ID:UbuntuDescription:Ubuntu 12.04.3 LTS920.html">Release:12.04Codename:precise

OVS 的源码编译安装方式可以参考官方文档 How to Install Open vSwitch on Linux, FreeBSD and NetBSD。

安装完毕后,检查 OVS 的运行情况:

$ ps -ea | grep ovs12533 ? 00:00:00 ovs_workq12549 ? 00:00:04 ovsdb-server12565 ? 00:00:48 ovs-vswitchd12566 ? 00:00:00 ovs-vswitchd

查看 OVS 的版本信息, 我们安装版本的是 1.11.0

$ ovs-appctl --versionovs-appctl (Open vSwitch) 1.11.0Compiled Oct 28 2013 14:17:16

查看 OVS 支持的 OpenFlow 协议的版本

$ ovs-ofctl --versionovs-ofctl (Open vSwitch) 1.11.0Compiled Oct 28 2013 14:17:17OpenFlow versions 0x1:0x4

基于 Open vSwitch 的 OpenFlow 实践

OpenFlow 是用于管理交换机流表的协议,ovs-ofctl 则是 OVS 提供的命令行工具。在没有配置 OpenFlow 控制器的模式下,用户可以使用 ovs-ofctl 命令通过 OpenFlow 协议去连接 OVS,创建、修改或删除 OVS 中的流表项,并对 OVS 的运行状况进行动态监控。

图 1. OpenFlow 的匹配流程

时间: 2024-09-17 00:33:54

如何使用Floodlight连接并管理Open vSwitch的相关文章

VMware公司承诺提供多云连接与管理产品

Vmware公司CEO Pat Gelsinger已经给出了明确的暗示,表示该公司计划进军多云连接与管理市场. 在今年召开的该公司第二季度财报电话会议当中,Gelsinger表示虚拟巨头计划提供"跨越多种云IT资源的.无与伦比的连接性.安全性与可视化能力,且无需考虑其底层基础设施是否基于VMware." 在闭幕词当中,Gelsinger同时补充称,即将于8月召开的VMworld大会"将披露新的功能,旨在帮助客户运行.管理.保护及连接跨越不同云环境及设备的应用." 在

C/C++语言编写的客户应用为例开发连接池管理的方法

CICS 交易网关(CICS Transaction Gateway,以下简称 CICS TG)是 IBM 针对 CICS 交易服务器(CICS Transaction Server,以下简称 CICS TS)开发的高性能.高安全.高可用性和高扩容能力的接入方式.CICS TG 接受客户应用的请求,然后使用 TCPIP,EXCI 和 IPIC 等连接协议,以http://www.aliyun.com/zixun/aggregation/13996.html">负载均衡和动态选择 CICS

ESFramework介绍之(11)-- Tcp连接池管理器

    上文已经讲到,Tcp连接池管理器为我们的应用进行了很多复杂的管理,比如功能服务器的调度(实现FS的负载均衡).连接池的动态添加/移除.控制每个连接池的相关参数在UI上的显示等,并且连接池管理器与单个连接池拥有一样的接口ITcpPool.我们先回顾一下这个接口:   1     public interface ITcpPool 2     { 3         RentStreamResult RentTcpStream(int poolTypeKey ,int serviceKey 

c/s 模式数据库的最灵活最有弹性最简便的连接自动管理

数据|数据库 c/s 模式数据库程序分发所面临的问题:c/s 开发程序员在建立数据库连接时,连接的数据库服务器往往是固定的.(比如 Provider=SQLOLEDB.1;Password=123;Persist Security Info=True;User ID=sa;Initial Catalog=Empl;Data Source=filesvr") 这里,filesvr 就是 sql server 服务器所在的电脑名称.将来,发布软件时,必须要求客户的服务器电脑名称是 filesvr,这

用企业管理器连接并管理远程MS SQL数据库

一.首先请从您的空间商处获取您的MsSql相关管理信息,如: 用户TestUser的MSSQL服务器地址:xxx.xxx.xxx.xxx 用户TestUser的MSSQL的端口为:1433 用户TestUser的MSSQL数据库名为:TestUser 用户TestUser的MSSQL用户名为:TestUser 用户TestUser的MSSQL密码为:****** (该用户个人的登录密码) 二.数据库连接步骤: 1.打开本地Sql Server企业管理器 2.鼠标右键打开Sql Server组属性

netty如何针对每个长连接进行管理

问题描述 功能需求是:1.长连接连接对端2.进行有效的心跳检查3.当出现某个对端出现断连后,需要判断出这是哪个对端并进行一些业务操作,最后每隔一段时间进行重连现在我想问的是上述的要求,netty能支持吗?是如何支持的?给个思路也好,我最近才开始使用这个框架,很多都不太了解 解决方案 解决方案二:我也有相同的问题,netty4的Channel没有id,貌似高版本又有了:长连接的话,可以把Channel对象存起来,通过Channel对象管理连接.解决方案三:没学过,不清数,顶一个.解决方案四:用第三

使用DataPower策略规则连接服务管理工具

DataPower 的计数监控.持续时间监控和服务水平管理配置都非常适合用来 减轻这些端点内的性能差异.本文将介绍一些用于分析分配给这些交互的资源的方法.除了下游服务之外,本文还会介绍如何使用 DataPower 策略规则连接内的服务管理工具. IBM® http://www.aliyun.com/zixun/aggregation/13387.html">WebSphere DataPower Appliances (以下简称 DataPower)的构建目标是快速部署系统集成和安全政策.

ES文件管理器怎么连接电脑管理文件?

  1.打开我的电脑,找到要共享的硬盘,我这里以E盘为例! 2.右击E盘,点击属性,再点击共享. 3.在上图中,点击高级共享 - 共享此文件夹 - 确定 4.下载并安装ES文件浏览器. 5.然后打开ES管理器,找到局域网页面,点扫描,就会发现我的电脑,如图! 6.点一下电脑图标,会弹出登陆界面,如图!用户名是电脑用户名,密码是开机密码,若开机没有密码,可不填! 7.输入用户名和密码后,在记住密码上打勾,点确定! 8.接下来就可以看到自己的硬盘了! 9.这里点E盘,别的文件夹我也不知是什么! 10

ORACLE用户连接的管理

用系统管理员,查看当前数据库有几个用户连接: SQL> select username,sid,serial# from v$session;  如果要停某个连接用  SQL> alter system kill session sid,serial#; 如果这命令不行,找它UNIX的进程数 SQL> select pro.spid from v$session ses,v$process pro where ses.sid=21 and ses.paddr=pro.addr;  说明: