paper003:Forwarding Metamorphosis: Fast Programmable Match-Action Processing in Hardware for SDN
SIGCOMM ’13
参考:
1.https://www.cnblogs.com/qq952693358/p/7413878.html
2.https://www.cnblogs.com/chelinger/p/11770075.html
总结:
本篇论文的贡献有以下几点:
- 设计并实现了RMT架构;
- 给出了两个典型的用户案例;
- 芯片的设计和损耗测试。
![]()
架构细节:
parser必须允许字段的定义被修改或者增加新的字段;
parser的输出是一个数据报首部的向量vector,实质上是数据报首部的集合,比如IP首部等,除此之外也包括了metadata元数据,存储着一些关键的数据报状态信息,比如入端口等。
每一个匹配阶段允许匹配流表的大小是可配置的;
使用一个广泛的指令(VLIW, very long instruction word, 超长指令字)进行数据报的修改操作,支持对数据报首部集中任意字段的修改;
流控制(control flow)是通过一种额外的输出,即下一张流表的地址实现的,在每一张流表匹配结束之后会基于匹配结果提供下一张执行流表的地址索引index。
总结:理想的RMT架构使parser对新加入、修改的字段进行解析;通过修改匹配的内存匹配新增加的字段;通过修改阶段指令集来创建新动作;通过修改队列规则来支持新的队列机制。理想的RMT模型能够模拟任意的设备,比如交换机、路由器等等,更重要的是,RMT模型支持在不修改硬件的前提下,对数据平面进行修改。
芯片层面的RMT模型通过可重配置的流水引领了可编程数据平面的硬件设计,在不损耗性能的情况下支持任意配置的灵活性,从而提升了整网层面的可编程性,在当时是非常innovative的实现。
RMT(Reconfigurable Match Tables) 因此在本文中,对MMT模型进行了改进,将改进后的模型称为RMT。类似于MMT,理想的RMT模型支持流水阶段的集合,每一个流水阶段都有一张宽度、深度不受限的流表。RMT从以下四个方面改进了MMT模型,并支持数据平面的可重配置:
- 支持修改字段的定义,增加新的字段;
- 匹配流表的数目、逻辑格式、宽度和深度可以灵活变化;
- 支持新动作的定义;
- 修改之后的数据报可以放置在特定的队列,输出到指定的端口。
新的网络协议出现时,总会定义新的协议字段,基于MMT的交换机芯片一旦出厂就只能支持固定的协议,具有协议相关性。RMT通过从芯片的转发模型支持可重配置,能够解决现有的交换机芯片协议相关性问题,在无需改动交换机硬件的前提下提升了可编程能力。此外,RMT模型也完美兼容OpenFlow协议。


浙公网安备 33010602011771号