您的位置:首页 > 理论基础 > 计算机网络

云中的网络:Open vSwitch带来的巨变

2014-08-04 12:17 260 查看
什么是Open vSwitch?它能给云带来什么?

Open vSwitch的目标,是做一个具有产品级质量的多层虚拟交换机。通过可编程扩展,可以实现大规模网络的自动化(配置、管理、维护)。它支持现有标准管理接口和协议(比如netFlow,sFlow,SPAN,RSPAN,CLI,LACP,802.1ag等,熟悉物理网络维护的管理员可以毫不费力地通过Open
vSwitch转向虚拟网络管理)。





图一:Open vSwitch示意图

官网的描述精准而抽象,来点通俗的,Open vSwitch是一个由Nicira Networks主导的开源项目,通过运行在虚拟化平台上的虚拟交换机,为本台物理机上的VM提供二层网络接入,跟云中的其它物理交换机一样工作在Layer
2层
。Open vSwitch充分考虑了在不同虚拟化平台间的移植性,采用平台无关的C语言开发。最为人民群众喜闻乐见的是,它遵循Apache2.0许可,不论你是自用还是商用都OK。而它的同类产品VMware的vDS(vSphere
Distributed VirtualSwitch),Cisco的Nexus 1000V都是收费的。更重要的是,虽然免费,其产品质量却深得信赖。在2010年Open vSwitch 1.0.0发布之前,Citrix就宣布在XenServer中将其作为默认组件。关于这一点,也许Nicira的身世可以给出一些解释,它的投资人里有Diane
Greene(VMware联合创始人)和Andy Rachleff(Benchmark Capital联合创始人),经常听朋友谈起的几个VMware网络大牛也加盟其中,是目前硅谷最炙手可热的SDN创业公司之一。

既然Citrix的企业级虚拟化产品都装备了Open vSwitch,我们还有什么理由怀疑它的可靠性呢?更何况它还是开源的!

你可能会问,我为什么有必要在自己的云架构中使用它呢?它能给我的云带来什么?

OK。需求决定一切,如果你只是自己搞一台Host,在上面虚拟几台VM做实验。或者小型创业公司,通过在五台十台机器上的虚拟化,创建一些VM给公司内部开发测试团队使用。那么对你而言,网络虚拟化的迫切性并不强烈。也许你更多考虑的,是VM的可靠接入:和物理机一样有效获取网络连接,能够RDP访问。Linux
Kernel自带的桥接模块就可以很好的解决这一问题。原理上讲,正确配置桥接,并把VM的virtual nic连接在桥接器上就OK啦。很多虚拟化平台的早期解决方案也是如此,自动配置并以向用户透明的方式提供虚拟机接入。如果你是OpenStack的fans,那Nova就更好地帮你完成了一系列网络接入设置。Open
vSwitch在WHY-OVS这篇文章中,第一句话就高度赞扬了Linux bridge:

“We love the existing network stack in Linux. It is robust, flexible, and feature rich. Linux already contains an in-kernel L2 switch (the Linux bridge) which can be used by VMs for inter-VM
communication. So, it is reasonable to ask why there is a need for a new network switch.”

但是,如果你是大型数据中心的网络管理员,一朵没有网络虚拟化支持的云,将是无尽的噩梦。

在传统数据中心中,网络管理员习惯了每台物理机的网络接入均可见并且可配置。通过在交换机某端口的策略配置,可以很好控制指定物理机的网络接入,访问策略,网络隔离,流量监控,数据包分析,Qos配置,流量优化等。

有了云,网络管理员仍然期望能以per OS/per port的方式管理。如果没有网络虚拟化技术的支持,管理员只能看到被桥接的物理网卡,其上川流不息地跑着n台VM的数据包。仅凭物理交换机支持,管理员无法区分这些包属于哪个OS哪个用户,只能望云兴叹乎?简单列举常见的几种需求,Open
vSwitch现有版本很好地解决了这些需求。

什么是Open vSwitch

顾名思义,Open vSwitch即开放虚拟交换标准。具体点说,Open vSwitch是在开源的Apache2.0许可下的产品级质量的多层虚拟交换标准!旨在通过编程扩展,使庞大的网络自动化(配置、管理、维护)。同时,还支持标准的管理接口和协议(如NetFlow, sFlow, SPAN, RSPAN, CLI, LACP, 802.1ag)。总的来说,它被设计为支持分布在多个物理服务器,例如VMware的vNetwork分布式vSwitch或思科的
Nexus 1000V。详细请参阅Open vSwitch官方文档http://openvswitch.org。
Open vSwitch可以解决如下几种需求:
网络隔离:Open vSwitch通过在Host上虚拟出一个软件交换机,等于在物理交换机上级联了一台新的交换机,所有VM通过级联交换机接入,管理员能够像配置物理交换机一样把同一台Host上的众多VM分配到不同VLAN中去。




QoS配置:在共享同一个物理网卡的众多VM中,我们期望给每台VM配置不同的速度和带宽,以保证核心业务VM的网络性能。通过在Open vSwitch端口上,给各个VM配置QoS,可以实现物理交换机的traffic queuing和traffic shaping功能。



流量监控Netflow/sFlow:物理交换机通过xxFlow技术对数据包采样,记录关键域,发往Analyzer处理。进而实现包括网络监控、应用软件监控、用户监控、网络规划、安全分析、会计和结算、以及网络流量数据库分析和挖掘在内的各项操作。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: