OVS笔记

一.OpenVSwitch是什么

OVS是一个高质量的,多层虚拟交换机(网络分层的层),其目的是让大规模网络自动化可以通过编程扩展,同事仍然支持标准的管理借口和协议:NetFlow,SFlow等,并且它还支持多个物理机的分布式环境。

什么是虚拟交换?就是利用软件的方式形成交换部件,所以也叫软件交换机,跟传统的物理交换机相比,虚拟交换机同要具备很多优点:1配置灵活,因为是软件实现的,一台物理服务器上可以配置书十台或者数百台虚拟交换机,而且端口数目可以灵活选择。2成本低,通过软件的方式可轻易达到10Gbps的交换速度。  所以OVS是一个虚拟交换机,可以用来组成虚拟网络,虚拟机还有其他类型的不同的架构。

二.虚拟网络

浅显的理解就是使用虚拟交换机组成的网络,就是虚拟网络(和物理网络相比),如图所示:

 

三.OVS组件

OVS的内部组件,简单来看,OVS由着三大不封构成:

 

1.OVSDB-server:OVS的数据库服务器,用来存储虚拟交换机的配置信息。它与manager和ovs-vswitch交换信息使用了OVSDB(json-rpc)的方式。

2.Ovs-vswitchd:OVS的核心部件,它和上层controller通信遵从OPENFLOW协议,它与ovsdb-sever通信使用OVSDB协议,它和内核模块通过netlink通信,它支持多个独立的datapath(网桥),它通过更改flowtable实现了绑定,和VLAN等功能。

3.ovs kernel module: OVS的内核模块,处理包交换和隧道,缓存flow,如果在内核的缓存中找到转发规则则转发,否则发向用户空间去处理。

四、OVS结构详解

      OVS到底由哪些模块组成,以及个模块的作用。如图:

    

ovs-vswitchd 主要模块,实现switch的daemon,包括一个支持流交换的Linux内核模块;

ovsdb-server 轻量级数据库服务器,提供ovs-vswitchd获取配置信息;

ovs-brcompatd 让ovs-vswitch替换Linuxbridge,包括获取bridge ioctls的Linux内核模块;

ovs-dpctl 用来配置switch内核模块;一些Scripts and specs 辅助OVS安装在Citrix XenServer上,作为默认switch;

ovs-vsctl 查询和更新ovs-vswitchd的配置;

ovs-appctl 发送命令消息,运行相关daemon;

ovsdbmonitorGUI工具,可以远程获取OVS数据库和OpenFlow的流表。

此外,OVS也提供了支持OpenFlow的特性实现,包括

ovs-openflowd:一个简单的OpenFlow交换机;

ovs-controller:一个简单的OpenFlow控制器;

ovs-ofctl 查询和控制OpenFlow交换机和控制器;

ovs-pki :OpenFlow交换机创建和管理公钥框架;

ovs-tcpundump:tcpdump的补丁,解析OpenFlow的消息;

运行原理:

内核模块实现了多个“数据路径”(类似于网桥),每个都可以有多个“vports”(类似于桥内的端口)。每个数据路径也通过关联一下流表(flow table)来设置操作,而这些流表中的流都是用户空间在报文头和元数据的基础上映射的关键信息,一般的操作都是将数据包转发

到另一个vport。当一个数据包到达一个vport,内核模块所做的处理是提取其流的关键信息并在流表中查找这些关键信息。当有一个匹配的流时它执行对应的操作。如果没有匹配,它会将数据包送到用户空间的处理队列中(作为处理的一部分,用户空间可能会设置一个流

用于以后碰到相同类型的数据包可以在内核中执行操作)。

五、示例

1. 物理机器之间通过虚拟交换机

可以看到虚拟机的两个网卡是虚拟交换机虚拟出来的两个端口。

2. 一台物理机上的虚拟机之间的虚拟交换机

 

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
OVS offload 是指在开放式虚拟交换机(Open vSwitch,即OVS)中使用硬件加速来提升网络数据包处理的性能和效率。传统上,虚拟交换机在软件层面进行数据包处理,这可能会导致性能瓶颈和延迟增加。因此,为了解决这些问题,OVS offload 技术应运而生。 通过 OVS offload,虚拟交换机可以将一些网络数据包的处理任务委托给硬件设备来完成,而不是完全依赖于软件。这些硬件设备可以是物理网络交换机的芯片或网卡上的功能块,也可以是专门设计的网络加速卡(Network Interface Card,即NIC),具体取决于硬件厂商的支持。 OVS offload 技术带来了多方面的好处。首先,它可以大幅度提高网络数据包的处理速度和吞吐量,从而减少延迟并提供更好的网络性能。其次,它可以减轻CPU的负担,使其能够处理更多的网络流量和更复杂的网络任务。此外,OVS offload 还可以提供更好的网络流量监控和安全性,通过硬件加速可以更快速地检测和处理网络攻击。 然而,OVS offload 技术也存在一些限制。首先,它取决于硬件设备的支持,因此只有特定的硬件设备才能充分发挥其优势。其次,OVS offload 目前仍处于发展阶段,可能存在一些兼容性问题或性能优化的空间。因此,在实际应用中,需要仔细评估硬件设备的支持和兼容性,以及进行适当的性能测试和调优。 总的来说,OVS offload 技术为虚拟交换机提供了一种有效的性能优化手段,可以提高网络数据包处理的效率和性能。它在实际应用中具有广泛的应用前景,并且随着硬件技术的不断发展,其性能还将进一步提升。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值