论文阅读:FlowBlaze Stateful Packet Processing in Hardware

Posted deepyy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了论文阅读:FlowBlaze Stateful Packet Processing in Hardware相关的知识,希望对你有一定的参考价值。

1、背景

随着网络规模的日益增长,网络的基础设施需要不断发展的网络功能(Network Function)才能使得网络安全可靠的运行,这些网络功能例如:NAT(Network Address Translation,网络地址转换),负载均衡,流量整形,防火墙等等。

技术图片

但由于网络功能由纯软件实现,这便来带了时延的开销,如下图所示。

技术图片

2、要解决的问题

微软提出了基于FPGA的Smart NIC,可以节省CPU使用率并且减少PCIe总线上的流量,但这必须需要专门的团队来负责,这对于大公司没有问题,但对于其他绝大多数公司并没有这个能力。

技术图片

Nick McKeown 等人提出了可编程协议无关报文处理语言 P4 以及相应的转发模型,Match-Action Pipline

技术图片

3、FlowBlaze

FlowBlaze,一种拓展了类似P4或者Microsoft的GFT之类Match-Action语言的抽象,简化L2-L4一系列状态功能集,同时在基于FPGA的Smart NIC上实现。

技术图片

4、关键挑战

  • 1.在flow table中插入新流,由于Cuckoo hash,导致插入时间是不确定的。

技术图片

技术图片

技术图片

  • 2.状态更新时延问题

技术图片

技术图片

5、解决思路

  • 挑战一:通过利用Stash,来弥补插入时间不确定的问题。额外来开辟一个空间处理需要插入时间过多的Flow。

技术图片

  • 挑战二:更新流状态中,给需要更新的流进行加锁,来解决更新流状态的时延问题,确保每条流的状态是正确的。但可能会对性能造成影响。

技术图片

附录

论文地址:https://www.usenix.org/conference/nsdi19/presentation/pontarelli
github地址:https://github.com/axbryd/FlowBlaze

以上是关于论文阅读:FlowBlaze Stateful Packet Processing in Hardware的主要内容,如果未能解决你的问题,请参考以下文章

dojo源码阅读之dojo/Stateful

stateful openflow------整理openstate原理以及具体应用

Swing State: Consistent Updates for Stateful and Programmable Data Planes

A Survey on the Security of Stateful SDN Data Planes

论文阅读:ECMWF机器学习路线图2021-2030

[论文阅读] (09)S&P2019 HOLMES Real-time APT Detection through Correlation of Suspicious Information