管中窥豹——从OVS看SDN
网络虚拟化是当前云计算最重要的特点之一,打通租户网络之间互通以及访问控制策略,最重要的是满足租户之间的网络隔离,这才是云计算网络的特点。而SDN的产生则是在网络虚拟化中,将控制面和业务面分离,控制面只负责配置下发,这样实现的通过软件控制管理网络。
OVS分为三个主要的模块:内核转发模块、OVS配置存储持久化模块OVS-DB、以及守护进程VSWITCHD。业务面主要通过内核模块实现转发,少量的数据包会通过netlink到用户进程中实现转发(仅仅是在内核中找不到匹配的流表才会去用户态转发)。而控制流量转发规则,则是通过用户态进程配置加载。比如,通过ovs-ofctl命令增加一条数据流:
ovs-ofctl add-flow dp1 “priority=1 idle_timeout=0,in_port=100,actions=mod_nw_src:9.181.137.1,normal”
这种控制从端口号为100的port进来的流量,执行的操作是改变源地址为9.181.137.1,然后正常转发。而且这条流表的权重设置为1。(此处端口号其实是OVS自己去给端口编的id而已,用户可以通过ovs-ofctl show DP名字来看这个DP下面的端口)
如果说仅仅是看OVS无法直观的感受到软件定义网络的特点,那么我建议可以自己搭建一个简单的openstack环境,然后看看每次创建网络,计算节点上OVS都做了哪些相关的网络流表配置。其实我也是体验过openstack,再反过来感受SDN的。很多时候,通过软件定义的最大好处是,控制面下发的配置管理可以非常灵活,并且,控制面配置下去的东西不会过多影响全局业务面的东西。
另外,软件定义网络在未来云计算中将会有更加多的发展和应用,当前的云计算瓶颈大多还在存储和网络上,要解决这些瓶颈,路其实还很长,软件定义网络似乎能够给网络上带来一些希望,能够想象未来网络,用户简单操作定义自己想要的网络,并且全方位监控自己的私有网络,实现网络可视化,智能化。
未来,美不可言
管中窥豹——从OVS看SDN的更多相关文章
- OVS 总体架构、源码结构及数据流程全面解析
在前文「从 Bridge 到 OVS」中,我们已经对 OVS 进行了一番探索.本文决定从 OVS 的整体架构到各个组件都进行一个详细的介绍. OVS 架构 OVS 是产品级的虚拟交换机,大量应用在生产 ...
- .net core 源码解析-web app是如何启动并接收处理请求(二) kestrel的启动
上篇讲到.net core web app是如何启动并接受请求的,下面接着探索kestrel server是如何完成此任务的. 1.kestrel server的入口KestrelServer.Sta ...
- libnetwork 源码浅析
[编者的话]从docker 1.6开始关注docker网络这块,从原来的铁板一块,到后来的libnetwork拆分,到现在的remote driver,docker 一直在改进.功能缺失,实用性不足, ...
- Open vSwitch系列之一 Open vSwitch诞生
Open vSwitch系列之一 Open vSwitch诞生 Open vSwitch系列之二 安装指定版本ovs 2006年,SDN诞生于美国GENI项目资助的斯坦福大学Clean Slate课题 ...
- [qemu][cloud][centos][ovs][sdn] centos7安装高版本的qemu 以及 virtio/vhost/vhost-user咋回事
因为要搭建ovs-dpdk,所以需要vhost-user的qemu centos默认的qemu与qemu-kvm都不支持vhost-user,qemu最高版本是2.0.0, qemu-kvm最高版本是 ...
- [cloud][OVS][sdn] Open vSwitch 初步了解
What is Open vSwitch? Open vSwitch is a production quality, multilayer virtual switch licensed under ...
- 《SDN核心技术剖析和实战指南》2.4 OVS交换机实现分析小结
Open vSwitch(OVS)是一款基于软件实现的开源交换机.它能够支持多种标准的管理接口和协议以及跨多个物理服务器的分布式环境.特别地,OVS提供了对OpenFlow协议的支持,并且能够与众多开 ...
- [cloud][ovs][sdn] 安装 openvswitch-dpdk
[cloud][OVS][sdn] Open vSwitch 初步了解 继之前的内容,安装基于dpdk的ovs https://docs.openvswitch.org/en/latest/intro ...
- SDN实验---OVS了解(转载)
转载自:https://opengers.github.io/openstack/openstack-base-use-openvswitch/ 一:Open vSwitch介绍 (一)介绍 在过去, ...
随机推荐
- 使用TCP/IP Monitor监视Soap协议
什么是soap? soap,简单对象访问协议,基于http传输xml数据,soap协议体是xml格式. SOAP 是一种网络通信协议 SOAP即Simple Object Access Protoco ...
- Centos6.6下安装Python3.5
centos6.6自带的Python2.6,如果想要安装新版本的Python例如Python2.7+或者Python3.5,不能够用yum安装,那么只能从源码编译安装. Step 1: 安装依赖库和编 ...
- svn to git
SVN to git 配置用户: #git config --global user.name "root"#git config --global user.email &quo ...
- .net core的在初始化数据的拦截处理
本人初接触 .net core 如有不对的地方,请大家随时指正,共同学习. 首先说明,此案例是基于.net core1.0版本的,对于2.0好多的功能已经升级,例如:一些常用的dll已经在框架中存在, ...
- 【Alpha】 第七次Daily Scrum Meeting
一.本次会议为第七次meeting会议 二.时间:9:37AM-9:50AM 地点:禹州三楼 三.会议站立式照片 四.今日任务 成员 昨日任务 今日任务 林清青 学习并了解微信程序相关方面知识,为小组 ...
- 学号:201521123116 《java程序设计》第八周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容. 1.2 选做:收集你认为有用的代码片段 List<Entry<String,Integer> ...
- 201521123039 《java程序设计》第七周学习总结
1. 本周学习总结 2. 书面作业 ArrayList代码分析 1.1 解释ArrayList的contains源代码 答:ArrayList的Contains的源码如上图所示,如果o为null,那么 ...
- Python中库或者模组的解释
- 猴子吃桃问题(南阳ACM324)
猴子吃桃问题 时间限制:3000 ms | 内存限制:65535 KB 难度:0 描述 有一堆桃子不知数目,猴子第一天吃掉一半,又多吃了一个,第二天照此方法,吃掉剩下桃子的一半又多一个,天天如此, ...
- jmeter JDBC请求连接测试mysql数据库
所有jmeter基本组件功能本文不做介绍.jmeter要链接mysql数据库,首先得下载mysql jdbc驱动包(注:驱动包的版本一定要与你数据库的版本匹配,驱动版本低于mysql版本有可能会导致连 ...