[发明专利]基于FPGA的匹配动作表的处理方法、逻辑电路和设备有效
申请号: | 202110349960.9 | 申请日: | 2021-03-31 |
公开(公告)号: | CN113037634B | 公开(公告)日: | 2022-12-06 |
发明(设计)人: | 李远平 | 申请(专利权)人: | 深圳市芯源网络科技有限公司 |
主分类号: | H04L45/7453 | 分类号: | H04L45/7453;H04L69/22 |
代理公司: | 深圳市科吉华烽知识产权事务所(普通合伙) 44248 | 代理人: | 胡吉科 |
地址: | 518000 广东省深圳市宝安区西乡*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 fpga 匹配 动作 处理 方法 逻辑电路 设备 | ||
本发明提供了一种基于FPGA的匹配动作表的处理方法、逻辑电路和设备,所述基于FPGA的匹配动作表的处理方法包括:CPU配置查找表项;当一个网络包的包头信息、元组数据信息被输入后,从包头信息和元组数据信息提取查找关键字;将关键字送入查找表进行匹配查找;查找完成后,查找表输出匹配成功或失败的信号、以及匹配结果数据;如果匹配成功,则按照匹配结果中的动作码选择一个动作执行单元执行动作,对包头协议字段和元组数据进行相关操作后,送给下级匹配动作表,进行后续包处理。采用本发明的技术方案,可实现任意查找关键字的选择,任意包头协议字段的逻辑、算术运算和修改,做到了占用FPGA逻辑资源少,运行速度快。
技术领域
本发明涉及网络技术领域,尤其涉及一种基于FPGA的匹配动作表的处理方法、逻辑电路和设备。
背景技术
软件定义网络(Software-Defined Networks,SDN)诞生于2006年。2009年,SDN入选麻省理工科技评论的 “未来十大突破性技术”。SDN的设计核心就是控制平面与数据平面分离,其主张通过集中式的控制器平台实现网络的控制。在SDN架构中,控制平面是逻辑集中的,通过某种协议将控制信息下发至底层的数据平面去执行。所以,控制平面被称为SDN的大脑,指挥整个数据网络的运行。得益于集中控制的优势,控制平面的存在使得网络的部署和配置更加智能和简化。支持编程的SDN控制平面使得网络更加智能,更加灵活和易于拓展。控制器通过SDN的南向协议的API可以对数据平面的网元设备下发指令,完成控制平面与数据平面的控制传输。
SDN实现了控制平面的可编程,但数据平面依然采用固定功能的交换机实现,这些传统交换机只支持已有的网络协议,不支持新定义的网络协议。随着数据中心的蓬勃发展,越来越多的新网络协议将被应用于数据中心,这些固定功能的交换机严重阻碍了这些新网络协议的应用。为了让数据平面同样具备可编程能力,2014年斯坦福大学的Nick McKeown教授和普林斯顿大学的Jennifer Rexford教授等人提出了P4(Programming Protocol-Independent Packet Processors)编程语言。
P4是一种协议无关的数据包处理编程语言,P4支持用户自定义匹配字段,协议解析过程和转发过程,从而能实现真正意义上的协议无关可编程网络数据平面。Barefoot公司研发的Tofino芯片完全支持P4语言编程,通过使用P4对报文解析器(Parser),匹配动作表(Match-Action Table)和报文逆解析器(Deparser)这三个模块的描述,可实现传统网络设备的功能,也可实现创新的网络功能。Tofino芯片虽然支持P4编程,并且其接口带宽达到了6.5Tbps,但其价格昂贵,不适合于像智能网卡这样只需较小接口带宽能力的应用场合,而FPGA以其可编程性和价格相对较低,成为了较小接口带宽网络应用的首选,基于FPGA的P4交换机已成为当前的研究热点。
如前所述,匹配动作表是三个P4语言描述的可编程模块之一,P4语言允许任意包头协议字段作为匹配表的查找关键字,并且允许动作执行单元对任意包头协议字段做逻辑运算或算术运算,Tofino芯片通过一个很大的多路选择电路来实现查找关键字的选择,然后在动作执行单元预置了几百个简化指令的处理器,这些硬件电路都耗费了大量的逻辑资源,这也是ASIC实现可编程交换机所需要付出的代价。由于Tofino芯片采用了7nm的工艺,这些逻辑资源只占用了整个芯片面积的7%,因此匹配-动作电路对整个芯片成本的影响并不突出,但如果FPGA使用同样的电路来实现匹配动作表,那么硬件电路所占用的逻辑资源对于FPGA设计将是一场灾难,以从1024比特的包头数据选择32比特的IP地址查找关键字为例,多路选择电路会占用3000多个FPGA的LUTs,如果使用Xilinx的Zynq 7z100,该款FPGA有277400个LUTs,按照十个匹配动作表估算,仅匹配动作表的查找关键字选择电路就会用掉Zynq 7z100的11%的逻辑资源,这么大的逻辑资源占用,是FPGA设计不可接受的。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市芯源网络科技有限公司,未经深圳市芯源网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110349960.9/2.html,转载请声明来源钻瓜专利网。