OVS 学习(一)
来源:互联网 发布:hype pro mac 编辑:程序博客网 时间:2024/05/16 15:19
一、ovs、openflow简介
为什么会有ovs和openflow的出现:
传统的交换路由厂商是将数据包转发和控制(包括路由协议、转发路径)功能集成在交换和路由设备中,这样不利于使用者对控制逻辑进行扩展和修改,路由交换算法的效率不高。openflow协议是一种将控制逻辑和转发模块进行分离的新型协议。转发模块依旧运行在旧有网络设备上,而我们可以通过对控制逻辑的修改来定制我们需要的转发规则。
而ovs的全称是open vswitch,也就是运行在xen,kvm等虚拟平台上的多层虚拟交换机,主要实现代码为C。多层的意思是指,不像普通的二层交换机只能运行在二层,而是对二层和三层的包都能够做操作。设计的目的是为了通过编程来对大规模的网络进行自动化扩展,即实现SDN。ovs支持openflow,可以通过支持openflow的控制器来对ovs进行远程控制。
综合来看,ovs是一个能够运行openflow协议的虚拟交换机,他可以创建openflow规则,也可以连接到网络控制设备来对openflow进行控制。
二、组成部分
ovs中的几个主要模块
- ovs-vswitchd 主要模块,实现switch的daemon,包括一个支持流交换的Linux内核模块;
- ovsdb-server 轻量级数据库服务器,提供ovs-vswitchd获取配置信息
- ovs-brcompatd 让ovs-vswitch替换Linux bridge,包括获取bridge ioctls的Linux内核模块
- ovs-dpctl 用来配置switch内核模块
- ovs-vsctl 查询和更新ovs-vswitchd的配置
- ovs-appctl 发送命令消息,运行相关daemon
- ovsdbmonitor GUI工具,可以远程获取OVS数据库和OpenFlow的流表
此外,OVS也提供了支持OpenFlow的特性实现,包括
- ovs-openflowd 一个简单的OpenFlow交换机;
- ovs-controller 一个简单的OpenFlow控制器;
- ovs-ofctl 查询和控制OpenFlow交换机和控制器;
- ovs-pki 为OpenFlow交换机创建和管理公钥框架;tcpdump的补丁,解析OpenFlow的消息;
三、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,执行对应的操作, 例如转发数据到另外的端口。
0 0
- OVS 学习(一)
- OVS 学习(二)
- ovs命令学习笔记
- OVS中的datapath学习
- ovs vxlan学习
- OVS学习总结
- OVS学习过程2
- Neutron OVS 学习
- openVswitch(OVS)源代码分析 upcall调用(一)
- OVS的学习理解(部分修改,部分转载引用)
- ovs常用命令(基本)
- ovs
- ovs
- OpenvSwitch(OVS)全面解读
- OVS学习总结---启动流程分析
- OVS学习总结---安装及启动
- ovs学习笔记--Open VSwitch简介
- ovs-ofctl 官方文档学习笔记
- Android应用销毁的三种方法
- Juquey 实战总结
- Spring mvc中@RequestMapping 6个基本用法小结
- animate()
- FusionCharts制作实时刷新图
- OVS 学习(一)
- hdu2602 Bone Collector(背包)
- Eclipse配置PyDev插件
- (娱乐)从数据的来看第4届DOTA2国际邀请赛(TI4)战队夺冠预测
- Static Variable, Auto Variable, Global Variable, Local Variable, Register Variable (C)
- 2013长沙邀请赛Special equations
- Jmeter--google plugin插件监控被测系统资源方法
- crontab定时启动执行任务
- jquery select option