[发明专利]一种FPGA中MAC地址查找表的实现方法无效

专利信息
申请号: 201210155931.X 申请日: 2012-05-18
公开(公告)号: CN102831140A 公开(公告)日: 2012-12-19
发明(设计)人: 徐元欣;潘立波;陈淑敏;于强;李永佳;倪笑园;臧东宁 申请(专利权)人: 浙江大学
主分类号: G06F17/30 分类号: G06F17/30
代理公司: 杭州天勤知识产权代理有限公司 33224 代理人: 胡红娟
地址: 310027 浙*** 国省代码: 浙江;33
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 fpga mac 地址 查找 实现 方法
【说明书】:

技术领域

发明属于电通信技术领域,尤其涉及一种现场可编程门阵列中MAC地址查找表的实现方法。

背景技术

MAC查找表(以下简称查找表)用来实现数据查找转发,可以看成一块特殊的存储单元,里面存放有MAC地址及它所对应的端口号和生存时间,根据查找表对收到的帧的目的MAC地址来查找转发数据帧。基本原理是通过一定的算法把目的MAC地址转成查找表的查询地址,从而把该存储单元中的数据读出,找到目的端口号,把数据帧转发到对应端口上去。每当从某个端口收到一个源地址后,都要查表更新一下某个表项的生存时间,若长时间没有更新生存时间,则生存时间结束后,要删除该表项,防止设备位置移动后,仍然记录着一个无用的表项。

由于MAC地址是48bit,而一般的查找表容量在几万个以下,所以需要通过特定的映射把48bit的地址转成更少位宽的地址。常用的转换方法就是利用hash散列函数来实现把任意长度的消息压缩成特定位宽的消息摘要,通常称为索引值,索引值对应存储该MAC地址的地址,根据索引值查找。实际设计散列函数时不可避免的出现索引值冲突的问题,因此实际中,更多关注出现冲突后如何处理冲突的问题。

在构造哈希算法时首要考虑的是算法复杂度和对资源的消耗,然后维持碰撞大小在合理水平。对于一个N行,M列的查找表,它的容量大小为N×M,N表示可能的索引值总数,M表示每个索引值下允许发生M-1次碰撞,因此若某个索引值下发生了M次碰撞,则说明整个查找表发生了1次碰撞。虽然M取值越大,碰撞的可能就越小,但是M取值越大,查找表的查找速度就越低。

现在市场中对性能要求比较高的场合,采用ASIC实现MAC查找表的基本功能,然后再利用嵌入式微处理器、嵌入式操作系统和高速存储器(如RLDRAM)等实现具有可配置功能的交换机产品,但是对于性能要求不高的场合,常用的方法是采用一块FPGA来实现。

但是由于在FPGA实现查找表时,逻辑综合工具会为某一特定子功能综合出独立的逻辑电路,因此逻辑资源消耗很大。

发明内容

本发明的目的是提供一种基于FPGA的MAC地址查找表的实现方法,有效的节约逻辑资源,维持索引值冲突在合理水平。

一种FPGA中MAC地址查找表的实现方法,用于在现场可编程门阵列FPGA中实现MAC查找表,包括步骤:

确定查找表的的随机存储器RAM结构;

确定查找表每个索引值对应的MAC地址数为M,将查找表拆分为M份;

对每一份查找表采用单独的老化逻辑资源,同时对M份查找表进行老化操作。

所述查找表的的随机存储器RAM结构为将MAC地址和端口号一起存储在一个RAM中,而对应的生存时间TTL存储在另一个RAM,所述MAC地址和端口号存储的RAM位宽为53bit,其中MAC地址占用48bit,端口号占用5bit,所述生存时间TTL存储的RAM位宽为5bit。一个最基本的查找表项需要包括48bit的MAC地址、5bit的目的端口号和5bit的生存时间TTL,而查找表的基本操作包括源MAC地址学习、目的MAC地址查找和查找表老化,其中源MAC地址学习需要存储MAC地址、目的端口号和TTL,目的MAC地址查找仅仅需要读取索引值下的MAC地址和目的端口号,查找表老化仅仅需要对TTL值进行操作,因此这样构造的查找表的数据组织结构,满足在读写时仅读写所需要操作的数据,尽量减少无用数据的读写,从而能尽量减少对逻辑资源的消耗。

进一步地,所述查找表容量为1K,所述查找表索引值对应的MAC地址数为2,将1K的查找表拆分为2个,分别为第一RAM与第二RAM,所述第一RAM包括第一53bit位宽RAM和第一5bit位宽RAM,所述第二RAM包括第二53bit位宽RAM和第二5bit位宽RAM。

进一步地,每个索引值对应于第一RAM和第二RAM的相同行。根据每个索引值对应的MAC地址个数将查找表分为相同结构的两个RAM,使得索引值冲突被维持在合理水平,兼顾索引值冲突和查找表查找速度。

所述索引值是通过哈希算法计算MAC帧中的MAC地址得到,将MAC地址每9比特分为一组,共分成6组,第6组不足9比特用0补充,然后通过下述公式计算得到索引值:

Hash(m)=A(m)+A(m+9)+A(m+18)+A(m+27)+A(m+36)+A(m+45),其中m∈[0,8]。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201210155931.X/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top