[发明专利]一种MAC地址表项存取方法和设备有效
| 申请号: | 201210208303.3 | 申请日: | 2012-06-21 |
| 公开(公告)号: | CN102710813A | 公开(公告)日: | 2012-10-03 |
| 发明(设计)人: | 杨碧辉 | 申请(专利权)人: | 杭州华三通信技术有限公司 |
| 主分类号: | H04L29/12 | 分类号: | H04L29/12;H04L12/56 |
| 代理公司: | 北京德琦知识产权代理有限公司 11018 | 代理人: | 王一斌;王琦 |
| 地址: | 310053 浙江省杭州市高新技术产业*** | 国省代码: | 浙江;33 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 mac 地址 存取 方法 设备 | ||
技术领域
本发明涉及通信技术领域,特别涉及一种媒体访问控制(MAC)地址表项存取方法和设备。
背景技术
为了提高MAC地址表项存取速率,目前通常是通过二级哈希存取的方法来对MAC地址表项进行存储和查找的,图1为现有采用二级哈希存取方法对MAC地址表项进行存取的工作流程图。如图1所示,步骤101-108描述的是对MAC地址表项进行存储的流程,步骤109-114描述的是对MAC地址表项进行查找的流程,下面分别对这两个流程进行说明。
步骤101:对接收到的报文的源MAC地址表项或对源MAC地址表项及与该源MAC地址表项相关信息的组合进行哈希计算,得到哈希值。
在本步骤中,可以通过MD5、CRC、异或求和等等算法来计算哈希值,哈希值可以为32位、64位等。
步骤102:将计算得到的哈希值的1级哈希值作为索引查找lookup表,所述lookup表的每个单元都包含2级哈希值、offset、valid和parity这四个部分。
在本步骤中,所述1级哈希值为哈希值中的一部分,这一部分既可以为哈希值的前面部分,也可以为哈希值的中间部分,还可以为哈希值的后面部分。
需要说明的是,所述offset是用于表示查找到的空的MAC地址表相对于1级哈希值起始索引的MAC地址表的偏移量;所述valid值为1表示该单元已被使用,为0表示该单元未被使用;所述parity为奇偶校验和。
还需说明的是,本步骤中lookup表的每个单元除了包含2级哈希值、offset、valid和parity这四个部分之外,还可包含其它内容,具体以实际应用为准。
步骤103:判断lookup表中是否存在与计算出的哈希值的2级哈希值相同的2级哈希值,如果是,执行步骤108;否则,执行步骤104。
在本步骤中,所述2级哈希值也为哈希值的一部分,这部分可以为哈希值去掉1级哈希值后剩余的部分,也可以为哈希值去掉1级哈希值后剩余部分的一部分。
步骤104:判断lookup表的所有单元是否全部被使用,如果是,执行步骤108;否则执行步骤105。
当lookup表中不存在与计算出的哈希值的2级哈希值相同的2级哈希时,还需进一步判断该lookup表的所有单元是否全部被使用。
步骤105:将计算得到的哈希值的1级哈希值作为索引查找MAC地址表。
在本步骤中,将1级哈希值作为索引查找MAC地址表时,需要查找连续的MAC地址表,直到查找到空的MAC地址表。这里可以查找的MAC地址表的个数为lookup表中offset的最大值。
步骤106:判断MAC地址表中是否有空的MAC地址表,如果有,执行步骤107;否则,执行步骤108。
步骤107:将当前源MAC地址表项保存到空的MAC地址表中,并设置lookup表中某个未使用单元的2级哈希值、offset、valid和parity。
在本步骤中,当查找到有空的MAC地址表时,需要将当前MAC地址表项保存到该空的MAC地址表中。同时,还需将该源MAC地址表项的2级哈希值保存到lookup表中一个未被使用的单元的2级哈希值中;将查找到的空的MAC地址表相对于1级哈希值起始索引的MAC地址表的偏移量保存到该单元的offset中;将该单元的valid设置为1;并将该单元中的parity设置为该单元前面位数的奇偶校验和。
步骤108:不对该源MAC地址表项进行保存,以保存失败结束存储的流程。
至此,即完成了现有MAC地址表项存储的整个流程。在完成了MAC地址表项的存储之后,即可根据存储得到的MAC地址表对MAC地址表项进行查找,具体为:
步骤109:当对接收到的报文进行转发(即需要查找MAC地址表项)时,根据该报文的目的MAC地址表项的查找key值计算该目的MAC地址表项的哈希值。
步骤110:将计算得到的目的MAC地址表项的哈希值的1级哈希值作为索引查找lookup表。
步骤111:判断lookup表中是否存在与目的MAC地址表项的哈希值的2级哈希值相同的2级哈希值,如果是,执行步骤112;否则,以失败结束查找的流程。
步骤112:将lookup表中相同2级哈希值所在单元的offset与目的MAC地址表项的1级哈希值的和作为索引查找MAC地址表。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州华三通信技术有限公司,未经杭州华三通信技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210208303.3/2.html,转载请声明来源钻瓜专利网。





