OVS-DPDK学习

安装教程:

https://docs.openvswitch.org/en/latest/intro/install/dpdk/

https://docs.openvswitch.org/en/latest/howto/dpdk/

overview和应用

https://www.intel.com/content/www/us/en/developer/articles/technical/open-vswitch-with-dpdk-overview.html

OVS-dpdk中文解析

https://zhuanlan.zhihu.com/p/589707574

gitbook

https://tonydeng.github.io/sdn-handbook/dpdk/ovs-dpdk.html

虚拟交换机是运行在通用平台上的一个软件层,可以连接虚拟机的网络端口、提供一套纯软件的路由交换协议栈的一个机制,帮助平台上运行的虚拟机实例(虚拟机之间、虚拟机与外部网络之间)。

虚拟机的虚拟网卡对应虚拟交换机的一个虚拟端口,通用平台上的物理网卡作为虚拟交换机的上行链路端口。

虽然是虚拟交换机,但是他的工作原理和物理交换机类似。虚拟交换机的主要好处体现在扩展灵活。

DPDK加速的OVS与原始OVS的区别在于,从OVS连接的某个网络端口接收到的报文不需要openvswitch.ko内核态的处理,报文通过DPDK PMD驱动直接到达用户态ovs-vswitchd里。

OvS交换机端口由网络设备(或netdevs)表示。Netdev-dpdk是一个使用DPDK来加速交换机I/O的DPDK加速网络设备,通过三个独立的接口实现:一个物理接口(由DPDK中的librte_eth库处理)和两个虚拟接口(librte_vhost和librte_ring)。它们与连接到虚拟交换机的物理和虚拟设备进行交互。

其他OvS架构层提供进一步的功能并与SDN控制器等进行接口交互。dpif-netdev提供用户空间转发,ofproto是实现OpenFlow交换机的OvS库 。它通过网络与OpenFlow控制器通信,并通过ofproto提供程序与交换机硬件或软件通信。ovsdb服务器维护该OvS实例的最新交换表信息,并将其与SDN控制器通信。

从物理或虚拟接口进入OvS-DPDK的数据包会根据其标头字段接收唯一的标识符或哈希,然后将其与三个主要交换表之一中的条目进行匹配:精确匹配缓存(EMC),数据路径分类器(dpcls)或ofproto分类器

除非找到匹配项,否则数据包的标识符将按顺序遍历这三个表,一旦在表中找到匹配规则所指示的适当操作,数据包将在完成所有操作后从交换机中转发出去。该方案如图所示。这三个表具有不同的特性和相关的吞吐性能/延迟。EMC为有限数量的表项提供最快的处理速度。数据包的标识符必须与该表中的所有字段完全匹配(源IP和端口、目标IP和端口以及协议的五元组),才能以最高速度进行处理,否则将"miss"并经过dpclsdpcls包含更多的表项(按多个子表排列),并且允许对数据包标识符进行通配符匹配(例如,指定目标IP和端口,但允许任意源IP)。这使得其吞吐性能约为EMC的一半,并适用于更大数量的表项。在dpcls中匹配的数据包流被安装在EMC中,以便后续具有相同标识符的数据包可以以最高速度处理。

dpcls中未找到匹配项将导致数据包标识符被发送至ofproto分类器,以便OpenFlow控制器决定采取的操作。这条路径是性能最低的,比EMC慢十倍以上。ofproto分类器中的匹配结果将在更快的交换表中建立新的表项,以便可以更快地处理同一流中的后续数据包。

数据包的标识符将按顺序遍历这三个表中的每一个,除非找到匹配项,在这种情况下,将执行表中匹配规则指示的适当操作,并在完成所有操作后将数据包转发出交换机。

网络存储优化

参考
《深入浅出DPDK》------OVS中的DPDK性能加速

相关推荐
●VON2 分钟前
从模型到价值:MLOps 工程体系全景解析
人工智能·学习·制造·von
好奇龙猫3 分钟前
【人工智能学习-AI-MIT公开课第 18. 表示:分類、軌跡、過渡】
学习
hhcccchh1 小时前
学习vue第八天 Vue3 模板语法和内置指令 - 简单入门
前端·vue.js·学习
浩瀚地学1 小时前
【Java】异常
java·开发语言·经验分享·笔记·学习
Python_Study20252 小时前
制造业数据采集系统选型指南:从技术挑战到架构实践
大数据·网络·数据结构·人工智能·架构
Nan_Shu_6142 小时前
学习: Threejs (3)& Threejs (4)
学习
蚂蚁吃大象6663 小时前
vmware虚拟机-网络模型
网络
Caitlin_lee_3 小时前
计算机网络期末复习SCAU-第三章
网络·计算机网络
IT=>小脑虎3 小时前
2026版 Python零基础小白学习知识点【基础版详解】
开发语言·python·学习
野生技术架构师3 小时前
原来可以搭建一个HTTP服务
网络·网络协议·http