《深入浅出DPDK》——学习笔记——流分类

本文详细解析了DPDK中的流分类技术,如RSS和FlowDirector,以及它们如何根据包类型分配负载和实现QoS。讲解了RSS的哈希算法和FlowDirector的精确匹配,以及如何利用这些技术进行负载均衡、服务质量管理和虚拟化流分类。还涉及到了数据包过滤和各类队列策略。

深入浅出DPDK——流分类与多队列

流分类

流分类指的是网卡依据数据包的特性将其分类的技术。分类的信息可以以不同不方式呈现给数据包的处理者,比如将分类信息记录于描述符中,将数据包丢弃或者将流导入某个或某些队列中。

包的分类

传统包的分类:IP、TCP、UDP甚至VXLAN、NVGRE等tunnel报文,该信息可以体现在数据包的接收描述符中。

DPDK:Mbuf结构中含有相应的字段来表示网卡分析出的包的类型。

网卡设备同时可以根据包的类型确定其关键字,从而根据关键字确定其收包队列。

其中RSS和Flow Director技术都是依据包的类型匹配相应的关键字,从而决定其DMA的收包队列。

RSS

负载均衡是多队列网卡最常见的应用,其含义就是将负载分摊到多个执行单元上执行。对应Packet IO而言,就是将数据包收发处理分摊到多个核上。

RSS(接收方扩展):网卡上用于将流量分散到不同队列中的技术。和硬件相关联,必须要有网卡的相关硬件支持,RSS把数据包分配到不同的队列中,其中哈希值的计算公式在硬件中完成的,也可以定制修改。

DPDK的轮询模式的驱动也提供了配置RSS的接口。

RSS就是根据关键字通过哈希函数计算出哈希值,再有哈希值确定队列。以下是各种数据包的RSS关键字:

数据包类型 哈希计算输入
IPV4 UDP S-IP、D-IP、S-Port、D-Port
IPV4 TCP S-IP、D-IP、S-Port、D-Port
IPV4 SCTP S-IP、D-IP、S-Port、D-Port、Verfication-Tag
IPV4 OTHER
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值