更新时间:2021-08-05 GMT+08:00
分享

架构

开源OVS(Open vSwitch)流表归一化解决方案,可于公有云和私有云场景,其中Open vSwitch是一个优秀的开源软件交换机,支持主流的交换机功能,比如二层交换、网络隔离、QoS、流量监控等,而其最大的特点就是支持OpenFlow,OpenFlow定义了灵活的数据包处理规范。为用户提供L1-L4包处理能力。OVS支持多种Linux虚拟化技术,包括Xen、KVM以及VirtualBox。华为自研XPF在开源的基础之上,将多种类型的流表动作集进行了组合归一,减少了查询次数,在Connection Tracking场景下,可以大幅度提升报文转发性能。

开源OVS流表归一化解决方案架构如图1所示,组件说明请参见表1

图1 开源OVS流表归一化架构
表1 开源OVS流表归一化各类组件说明

名称

说明

网卡

发送和接收报文。

QEMU

QEMU作为进程运行在宿主机的用户态,它基于KVM及内核的特性,为Guest OS模拟出CPU、内存、IO等硬件,支撑Guest OS在进程中运行。

DPDK

DPDK提供的数据平面开发工具集,为用户空间高效的数据包处理提供库函数和驱动的支持。通俗地说,就是一个用来进行包数据处理加速的软件库。

ovs-vswitchd

OVS守护进程,OVS的核心部件,实现交换功能,和Linux内核兼容模块一起,实现基于流的交换(flow-based switching)。它和上层controller通信遵从OpenFlow协议,它与ovsdb-server通信使用OVSDB协议,它和内核模块通过netlink通信。

OpenFlow

OpenFlow实现了数据层和控制层的分离,其中OpenFlow交换机进行数据层的转发,而Controller实现了控制层的功能。图中的OpenFlow组件主要实现了控制层。

XPF

自研功能模块,在OVS软件内部实现了一个智能卸载引擎模块,该模块用于跟踪数据报文在OVS软件中所经历的所有流表和CT表,将执行的CT行为和所有流表行为项进行综合编排成一条综合行为项并结合统一匹配项生成一条集成流表项。后续的数据报文在进入网OVS后,若匹配命中该集成流表,则直接执行综合行为,相比开源的处理流程,查询次数将减少,性能将大幅度提升。

OVS DB

开放虚拟交换机中保存的各种配置信息(如网桥、端口)的数据库,是针对OVS开发的轻量级数据库。

分享:

    相关文档

    相关产品

close