[发明专利]一种转发报文的方法及装置有效
申请号: | 201511020708.4 | 申请日: | 2015-12-30 |
公开(公告)号: | CN105791173B | 公开(公告)日: | 2019-03-08 |
发明(设计)人: | 王江为;刘钧锴 | 申请(专利权)人: | 北京锐安科技有限公司 |
主分类号: | H04L12/935 | 分类号: | H04L12/935;H04L12/947;H04L12/937 |
代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 胡彬;孟金喆 |
地址: | 100044 北京市海淀区西小口*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 转发 报文 方法 装置 | ||
本发明实施例公开了一种转发报文的方法及装置,其中,该方法包括:通过现场可编程门阵列FPGA的接入端口获取网络数据报文,并在所述网络数据报文中添加标识信息;通过所述FPGA的处理模块解析所述网络数据报文,获取所述标识信息,并根据预设算法获取对应的目的端口号;通过所述FPGA的输出端口确定所述目的端口号是否属于已分配的端口号,若所述目的端口号属于已分配的端口号,则将所述网络数据报文通过所述目的端口号对应的端口进行转发。本发明实施例公开一种转发报文的方法及装置,使用端口号标识每个报文的源输入和目的输出,通过计算报文的Hash值并查表得到报文的目的端口号,只需更新输出端口表就能灵活改变报文的目的端口号,从而实现灵活转发的目的。
技术领域
本发明实施例涉及FPGA的技术领域,尤其涉及一种转发报文的方法及装置。
背景技术
在接入网中通常用现场可编程门阵列(Field-Programmable Gate Array,FPGA)实现网络数据的处理。网络数据报文从100GE接口、40GE接口或10GE接口接入后进行数据处理,完成报文解析、过滤、查找、转发后从10G接口输出。
基于FPGA实现的网络数据报文转发方法通常采用寄存器配置的方式。若寄存器值配置为0x13,则表示通路1输入的报文从通路3输出;寄存器值配置为0x23,则表示从通路2输入的报文从通路3输出。该方法的缺陷是一旦输入通路扩展或输出通路扩展,输出选择寄存器的含义也需要相应的改变,不够灵活,并且通过寄存器配置的方式选择通路容易出错。同时,也无法满足网络数据报文的同源同宿需求,即相同IP的报文从同一个端口输出。
发明内容
本发明实施例提出一种转发报文的方法及装置,旨在解决如何实现灵活的转发报文的问题。
第一方面,一种转发报文的方法,所述方法包括:
通过现场可编程门阵列FPGA的接入端口获取网络数据报文,并在所述网络数据报文中添加标识信息,所述标识信息包括源端口号或者IP地址信息;
通过所述FPGA的处理模块解析所述网络数据报文,获取所述标识信息,并根据预设算法获取对应的目的端口号;
通过所述FPGA的输出端口确定所述目的端口号是否属于已分配的端口号,若所述目的端口号属于已分配的端口号,则将所述网络数据报文通过所述目的端口号对应的端口进行转发,其中,所述现场可编程门阵列FPGA的每个输出端口分配有一个端口号。
优选地,所述在网络数据报文中携带标识信息,包括:
在所述网络数据报文中的预设第N拍携带所述标识信息。
优选地,所述通过所述FPGA的输出端口确定所述目的端口号是否属于已分配的端口号,若所述目的端口号属于已分配的端口号,将所述网络数据报文通过所述目的端口号对应的端口进行转发,包括:
通过所述FPGA的数据转发模块获取所述网络数据报文的目的端口号;
将所述目的端口号与已分配的输出端口的端口号进行匹配;
若所述目的端口号能匹配所述已分配的输出端口的端口号,则将所述网络数据报文发送到所述目的端口号对应的输出端口;
通过所述对应的输出端口删除所述标识信息,并转发删除后的网络数据报文。
优选地,所述预设算法包括哈希算法。
优选地,所述方法还包括:
若所述目的端口号不属于已分配的端口号,则丢弃所述网络数据报文。
第二方面,一种转发报文的装置,所述装置包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京锐安科技有限公司,未经北京锐安科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201511020708.4/2.html,转载请声明来源钻瓜专利网。