[发明专利]一种基于FPGA的报文转发方法及设备有效
申请号: | 201711098924.X | 申请日: | 2017-11-09 |
公开(公告)号: | CN107786447B | 公开(公告)日: | 2020-06-16 |
发明(设计)人: | 林宇慧 | 申请(专利权)人: | 锐捷网络股份有限公司 |
主分类号: | H04L12/723 | 分类号: | H04L12/723;H04L12/741;H04L12/46 |
代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 黄志华 |
地址: | 350002 福建省福州市仓*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 fpga 报文 转发 方法 设备 | ||
本发明公开了一种基于FPGA的报文转发方法及设备,所述方法包括:FPGA获取一个报文;从预设处理动作组集合中确定对所述报文进行处理的处理动作组,所述处理动作组包括多个处理动作,其中,所述预设处理动作组集合包括用于对报文进行处理的所有处理动作组,每一个处理动作组中包括的多个处理动作按照预设序列进行排列;根据所述处理动作组对所述报文进行处理,以便通过与所述处理动作组对应的转发端口转发处理后的报文;其中,所述转发端口与处理动作组一一对应。
技术领域
本发明涉及通信技术领域,尤其涉及一种基于FPGA的报文转发方法及设 备。
背景技术
交换机路由器等设备在接收到报文时,会提取报文中的相关信息并利用设 备中的相关动作表项转发该报文到相应的接口,在一些配置下交换机路由器会 在转发前对报文中的特定字段进行修订。
目前,交换机路由器实现报文转发方案主要有以下几种:一种是基于软件 算法的方案,由CPU执行相对应的软件算法,对匹配的报文进行配置转发; 另一种是基于ASIC专用芯片的方案,由专用芯片对相应的报文执行配置转发。
然而,在通过软件算法实现对报文的配置转发的方案中,CPU中调度软件 算法使用串行方式,处理报文的效率较低,无法满足较大带宽的需求。在基于 ASIC专用芯片的方案中,专用芯片支持的报文各层内容的修改和转发有限, 支持功能的多样性和灵活性较差,一旦需要支持的功能增加,专用芯片很有可 能无法支持。
因此,现有技术中,缺乏既能满足灵活性还能够支持高带宽的报文转发方 案。
发明内容
本发明实施例提供一种基于FPGA的报文转发方法及设备,用于解决现有 技术中缺乏既能满足灵活性还能够支持高带宽的报文转发方案的技术问题。
为此,本发明实施例提供了一种基于FPGA的报文转发方法的技术方案如 下:
现场可编程门阵列FPGA获取一个报文;
从预设处理动作组集合中确定对所述报文进行处理的处理动作组,所述处 理动作组包括多个处理动作,其中,所述预设处理动作组集合包括用于对报文 进行处理的所有处理动作组,每一个处理动作组中包括的多个处理动作按照预 设序列进行排列;
根据所述处理动作组对所述报文进行处理,以便通过与所述处理动作组对 应的转发端口转发处理后的报文;其中,所述转发端口与处理动作组一一对应。
可选的,所述从预设处理动作组集合中确定对所述报文进行处理的处理动 作组,具体包括:
获取所述报文的特征;
根据所述特征,从预设处理动作组集合中确定对所述报文进行处理的处理 动作组,其中,不同特征对应不同的处理动作组。
可选的,所述处理动作组包括BITMAP,所述BITMAP用于指示所述处理 动作组中所包括的所述多个处理动作以及所述多个处理动作在所述处理动作 组中的位置。
可选的,在所述从预设处理动作组集合中确定对所述报文进行处理的处理 动作组之后,所述方法包括:
将所述报文中的报文头MPLS字段内容、报文头VLAN字段内容以及报 文中的剩余其他内容分别存储在各自对应的第一寄存器中;
读取所述处理动作组中的BITMAP;
根据BITMAP与处理动作的映射表,将所述处理动作组中的所述多个处理 动作分别存储在各自对应的第二寄存器中,所述第二寄存器与所述第一寄存器 不同。
可选的,所述根据所述处理动作组对所述报文进行处理,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于锐捷网络股份有限公司,未经锐捷网络股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711098924.X/2.html,转载请声明来源钻瓜专利网。