流分类
流分类指的是网卡根据数据包特性将其分类的技术,是现今网卡通用的技术之一。也是网络中常用的技术,比如要实现功能卸载,需要知道要将功能卸载到哪个执行单元,在这之前需要对流进行分类。
传统网络设备和专用服务器硬件流分类对比
流表运作流程
一般而言,流表由很多flow key 和相应的 action 构成。flow key 可能是报头中的某些字段,也可能包括有效载荷的部分内容 。对 flow key 进行 hash运算,所得到的hash值就是流表的索引。由于哈希函数不是那么完美,有时会出现冲突,这时就需要再选几个key区分action。
度量一个流表的设计主要有三个重要的指标:
更高的查找率: 意味着更高的吞吐量和更低的延迟
更高的插入率:意味着更快的流更新速度和表初始化速度
高效的利用率:意味着可以添加更多的流
在DPDK中有很多库来实现流分类,我们将讨论的是精确配对。ACL,Hash以及LPM都能帮助我们进行流分类。
<