CN114422478A - 一种gemport id和mac地址映射的方法和存储设备 - Google Patents

一种gemport id和mac地址映射的方法和存储设备 Download PDF

Info

Publication number
CN114422478A
CN114422478A CN202111570287.8A CN202111570287A CN114422478A CN 114422478 A CN114422478 A CN 114422478A CN 202111570287 A CN202111570287 A CN 202111570287A CN 114422478 A CN114422478 A CN 114422478A
Authority
CN
China
Prior art keywords
hash
mapping
mac
layer
gemport
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111570287.8A
Other languages
English (en)
Inventor
陈荣观
黄永
张高旺
罗海斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujian Xingwang Intelligent Technology Co ltd
Original Assignee
Fujian Xingwang Intelligent Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujian Xingwang Intelligent Technology Co ltd filed Critical Fujian Xingwang Intelligent Technology Co ltd
Priority to CN202111570287.8A priority Critical patent/CN114422478A/zh
Publication of CN114422478A publication Critical patent/CN114422478A/zh
Pending legal-status Critical Current

Links

Images

Abstract

本发明涉及通信设备领域,特别涉及一种GEMPORT ID和MAC地址映射的方法和存储设备。所述一种GEMPORT ID和MAC地址映射的方法,包括步骤:进行映射表学习,将不同的MAC对应的映射信息存储至多层hash表中;响应映射表查询指令,多层hash表并行计算待查询的MAC地址对应的hash值,根据所述hash值在hash表中查找对应的映射信息。该方法中hash表可直接使用FPGA的片内RAM资源来实现,节省可编程逻辑资源的占用,并且不需要依赖具体IP,能够适配更广泛的芯片,同时多层hash表并行计算查表,以提升查表速率。

Description

一种GEMPORT ID和MAC地址映射的方法和存储设备
技术领域
本发明涉及通信设备领域,特别涉及一种GEMPORT ID和MAC地址映射的方法和存储设备。
背景技术
在通信设备领域中,OLT的上行口连接着以太网,OLT的下行口连接着ONU,其中在XGPON OLT MAC层,以太网报文转发给ONU设备时需要转换为XGTC报文转格式,报文转换涉及到GEMPORT ID与MAC映射表的学习及GEMPORT ID查找;故此需要设计一个查找效率高、资源消耗小的机制来实现报文的高速转换转发。
现有的技术方案:一、mac-gemport直接成对建表,把表项目均分成多份,并且通过类似穷举的方式根据MAC值去遍历表条目,直到找到匹配MAC的GEMPORT ID,该方案只能使用可编程逻辑单元,逻辑单元消耗量过大且布线复杂;二、使用FPGA开发工具集成的bcamIP核,该方案存在ip查表延时较大,且不能普遍适用不同型号芯片问题。
故此针对现有方案逻辑资源消耗大布线复杂或查表延时不理想及芯片普遍适用问题亟需提出一种新的解决方案。
发明内容
鉴于上述问题,本申请提供了一种GEMPORT ID和MAC地址映射的方法,用以解决现有GEMPORT ID和MAC地址映射方法逻辑资源消耗大布线复杂或查表延时不理想及芯片普遍适用的问题。具体技术方案如下:
一种GEMPORT ID和MAC地址映射的方法,包括步骤:
进行映射表学习,将不同的MAC对应的映射信息存储至多层hash表中;
响应映射表查询指令,多层hash表并行计算待查询的MAC地址对应的hash值,根据所述hash值在hash表中查找对应的映射信息。
进一步的,所述“进行映射表学习,将不同的MAC对应的映射信息存储至多层hash表中”,具体还包括步骤:
对不同MAC值多层hash进行并行计算hash值,并行读出多层hash对应的表项,当第一层表项目未冲突时,未冲突的MAC值对应的GEMPORT ID存入至第一层的hash表中,当第一层表项目冲突时,从第一层往下顺延选择未冲突的表项存储MAC值对应的MAC映射表地址,并更新每个表项的有效标识和冲突标识。
进一步的,所述“进行映射表学习,将不同的MAC对应的映射信息存储至多层hash表中”,具体还包括步骤:
若存在所有hash层都存在冲突的MAC值,则将其存储至预设好的GEMPORT-MAC拓展表项。
进一步的,所述“响应映射表查询指令,多层hash表并行计算待查询的MAC地址对应的hash值,根据所述hash值在hash表中查找对应的映射信息”,具体还包括步骤:
响应映射表查询指令,多层hash表并行计算待查询的MAC地址对应的hash值,当第一层表项目未冲突时,直接使用第一层hash表中存储的GEMPORT ID,当第一层表项目冲突时,顺延逐层读出其它层hash表对应的MAC映射表,根据所述MAC映射表匹配MAC找到对应的GEMPORT ID。
进一步的,所述“响应映射表查询指令,多层hash表并行计算待查询的MAC地址对应的hash值,根据所述hash值在hash表中查找对应的映射信息”,具体还包括步骤:
响应映射表查询指令,当多层hash表并行计算待查询的MAC地址对应的hash值时,所述GEMPORT-MAC拓展表项并行进行MAC匹配查找。
进一步的,所述映射表采用FIFO机制管理。
进一步的,所述“所述映射表采用FIFO机制管理”,具体还包括步骤:
当学习到新的映射表项时,从FIFO取出一个地址值,用来索引MAC映射表,将新学到的MAC和GEMPORT ID信息填入对应地址的MAC映射表项,并把FIFO取出地址值存储至hash表项中;
当MAC表老化时释放的地址存回FIFO。
进一步的,所述“进行映射表学习,将不同的MAC对应的映射信息存储至多层hash表中”,具体还包括步骤:
进行映射表学习,将不同的MAC对应的映射信息存储至四层hash表中;
第一层hash设有8192个表项,第二层hash设有2048个表项,第三层hash设有1024个表项,第四层hash设有512个表项
进一步的,所述映射信息包括但不限于:GEMPORT ID、MAC映射表地址。
为解决上述技术问题,还提供了一种存储设备,具体技术方案如下:
一种存储设备,其中存储有指令集,所述指令集用于执行:上述所提及的一种GEMPORT ID和MAC地址映射的方法的任意步骤。
本发明的有益效果是:一种GEMPORT ID和MAC地址映射的方法,包括步骤:进行映射表学习,将不同的MAC对应的映射信息存储至多层hash表中;响应映射表查询指令,多层hash表并行计算待查询的MAC地址对应的hash值,根据所述hash值在hash表中查找对应的映射信息。该方法中hash表可直接使用FPGA的片内RAM资源来实现,节省可编程逻辑资源的占用,并且不需要依赖具体IP,能够适配更广泛的芯片,同时多层hash表并行计算查表,以提升查表速率。
进一步的,使用FIFO机制管理MAC-GEMPORT映射表的存储模式,除了第一层hash表用于存储GEMPORT ID外,其它层hash表中只需存储映射表的地址,以此减少hash表对RAM的消耗。
上述发明内容相关记载仅是本申请技术方案的概述,为了让本领域普通技术人员能够更清楚地了解本申请的技术方案,进而可以依据说明书的文字及附图记载的内容予以实施,并且为了让本申请的上述目的及其它目的、特征和优点能够更易于理解,以下结合本申请的具体实施方式及附图进行说明。
附图说明
附图仅用于示出本申请具体实施方式以及其他相关内容的原理、实现方式、应用、特点以及效果等,并不能认为是对本申请的限制。
在说明书附图中:
图1为具体实施方式所述一种GEMPORT ID和MAC地址映射的方法的流程图一;
图2为具体实施方式所述一种GEMPORT ID和MAC地址映射的方法的流程图二;
图3为具体实施方式所述一种GEMPORT ID和MAC地址映射的方法的流程图三;
图4为具体实施方式所述一种GEMPORT ID和MAC地址映射的方法的表项示意图;
图5为具体实施方式所述一种存储设备的模块示意图。
上述各附图中涉及的附图标记说明如下:
500、存储设备。
具体实施方式
为详细说明本申请可能的应用场景,技术原理,可实施的具体方案,能实现目的与效果等,以下结合所列举的具体实施例并配合附图详予说明。本文所记载的实施例仅用于更加清楚地说明本申请的技术方案,因此只作为示例,而不能以此来限制本申请的保护范围。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中各个位置出现的“实施例”一词并不一定指代相同的实施例,亦不特别限定其与其它实施例之间的独立性或关联性。原则上,在本申请中,只要不存在技术矛盾或冲突,各实施例中所提到的各项技术特征均可以以任意方式进行组合,以形成相应的可实施的技术方案。
除非另有定义,本文所使用的技术术语的含义与本申请所属技术领域的技术人员通常理解的含义相同;本文中对相关术语的使用只是为了描述具体的实施例,而不是旨在限制本申请。
在本申请的描述中,用语“和/或”是一种用于描述对象之间逻辑关系的表述,表示可以存在三种关系,例如A和/或B,表示:存在A,存在B,以及同时存在A和B这三种情况。另外,本文中字符“/”一般表示前后关联对象是一种“或”的逻辑关系。
在本申请中,诸如“第一”和“第二”之类的用语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何实际的数量、主次或顺序等关系。
在没有更多限制的情况下,在本申请中,语句中所使用的“包括”、“包含”、“具有”或者其他类似的表述,意在涵盖非排他性的包含,这些表述并不排除在包括所述要素的过程、方法或者产品中还可以存在另外的要素,从而使得包括一系列要素的过程、方法或者产品中不仅可以包括那些限定的要素,而且还可以包括没有明确列出的其他要素,或者还包括为这种过程、方法或者产品所固有的要素。
与《审查指南》中的理解相同,在本申请中,“大于”、“小于”、“超过”等表述理解为不包括本数;“以上”、“以下”、“以内”等表述理解为包括本数。此外,在本申请实施例的描述中“多个”的含义是两个以上(包括两个),与之类似的与“多”相关的表述亦做此类理解,例如“多组”、“多次”等,除非另有明确具体的限定。
请参阅图1至图4,首先对本实施例中会涉及到的一些名词和技术做以下解释说明:
在PON(Passive Optical Network,无源光纤网络)中,OLT(Optical LineTerminal,中文名为光线路终端)是用于连接光纤干线的终端设备。PON中使用光纤连接到OLT,然后OLT连接到ONU(Optical Network Unit,中文名为光网络单元。最后由ONU提供数据、IPTV(即交互式网络电视)、语音等业务给终端的用户。
GEMPORT ID:标识gem帧的ID。
MAC地址:Media Access Control Address,直译为媒体存取控制位址,也称为局域网地址(LAN Address),MAC位址,以太网地址(Ethernet Address)或物理地址(PhysicalAddress),它是一个用来确认网络设备位置的位址。在OSI模型中,第三层网络层负责IP地址,第二层数据链路层则负责MAC位址。MAC地址用于在网络中唯一标识一个网卡,一台设备若有一或多个网卡,则每个网卡都需要并且会有一个唯一的MAC地址。
Hash表:也叫哈希表,是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。
冲突:在hash表中,对不同的关键字可能得到同一散列表地址,即k1≠k2,而f(k1)=f(k2),这种现象称为冲突。
以下对本申请的核心技术思想展开说明:
本申请的核心技术思想在于:OLT上行口连接着以太网,以太网中数据帧的格式与其下行口连接的ONU完全不同,故此存在着报文格式需要转换的需求,而现有的技术如背景技术中提及的,其使用的是编程逻辑单元,就使得逻辑单元的消耗量很大且布线很复杂,及使用FPGA开发工具集成的bcam IP核,该方案存在IP查表延时较大,且不能普遍适用不同型号芯片问题。故此申请人就在想是否有办法可以不去消耗逻辑单元,而是直接使用FPGA的片内RAM资源来实现。因考虑到以太网的MAC地址大小为48bit,若对其存放需要248的存储空间,然而当转换到OLT的PON口时,其只有12bit的空间可用于存储{该设计的OLT的PON连接的ONU个数是256台,每台ONU目前配置最多可以分配8个MAC地址,所以,有2048(12bits)个GEMPORT ID与MAC地址的映射对,MAC是hash表的key(48bits)},故此需要一个方法将48bit的数据压缩至12bit,申请人采取的是hash计算法,然而当用同一个参数对48bit的数据进行hash计算时会存在部分计算结果是一致的,即存在不同mac通过hash计算得到相同的hash值的可能,这种可能称之为存在冲突,故此本申请中采取的是多层hash表的计算,每层hash表的初始参数是不同的(每层表使用相同的hash算法,算法的初始参数不同,这样相同的mac在不同层的hash表计算出的hash值将是不同的),第一层存在的冲突项,则将其放至第二层计算,第一层未冲突的则直接将其对应的GEMPORT ID存储至hash表中,第二层若仍然存在冲突的冲突项,则将其放至第三层计算,除了第一层为冲突的是直接将其对应的GEMPORT ID存储至hash表外,其它层存的是在第一层有冲突时MAC-GEMPORT隐射表地址。而当需要进行GEMPORT ID查询时,直接四层hash并行计算查找即可,其中后三层查表需要结合通过MAC去匹配查找GEMPORT ID。具体的实施方式和有益效果以下会进一步展开说明:
如图1所示,一种GEMPORT ID和MAC地址映射的方法可应用在一种存储设备上,所述存储设备包括但不限于:个人计算机、服务器、通用计算机、专用计算机、网络设备、嵌入式设备、可编程设备、智能移动终端等。
具体实施方式如下:
步骤S101:进行映射表学习,将不同的MAC对应的映射信息存储至多层hash表中。
步骤S102:响应映射表查询指令,多层hash表并行计算待查询的MAC地址对应的hash值,根据所述hash值在hash表中查找对应的映射信息。
在实际应用中,经过多次试验,在本实施例中,优选使用四层hash,且第一层hash设有8192个表项(桶)映射2048个key的hash_id,第二层hash设有2048个表项映射与第一层发生冲突的表项,第三层hash设有1024个表项映射与第一、二层都发生冲突的表项目,第四层hash设有512个表项映射与第一、二、三层都发生冲突的表项目。
其中各层的冲突概率计算分析如下:
第1层hash
Figure BDA0003423447450000081
第2层hash
Figure BDA0003423447450000082
第3层hash
Figure BDA0003423447450000083
第4层hash
Figure BDA0003423447450000084
其中hash表资源的设计规划如下:
第1层Hash表的表项字段规划
有效标识 冲突 GEMPORT ID
1bits 1bits 16bits
有效标识:标识表项有效;
冲突:标识与底层hash表存在冲突的表项;
GEMPORT ID:mac映射的GEMPORT id;
2、3、4层Hash表的表项字段规划
预留 表有效标识 冲突 Mac映射表地址
5bits 1bits 1bits 9bits
有效标识:标识表项有效用;
冲突:标识与底层hash表存在冲突的表项;
Mac映射表地址:mac映射表的id。
其中映射信息包括但不限于:GEMPORT ID、MAC映射表地址。
Mac映射表的表项字段规划如下:
预留 Mac地址 Gemport ID
8bits 48bits 16bits
如图2所示,步骤S101的具体实施如下:
步骤S201:对不同MAC值多层hash进行并行计算hash值,并行读出多层hash对应的表项。
步骤S202:当第一层表项目未冲突时,未冲突的MAC值对应的GEMPORT ID存入至第一层的hash表中。
步骤S203:当第一层表项目冲突时,从第一层往下顺延选择未冲突的表项存储MAC值对应的MAC映射表地址,并更新每个表项的有效标识和冲突标识。
如:以上四层hash表,通过概率统计计算得知,第一层hash可以命中约1800个ID,余下的冲突项通过后面3层hash存储;后面三层的hash不能直接存储GEMPORT ID,需要把key值(MAC信息)也存下来,有冲突的表项通过对比key值来查找具体表项目;2048-1800=248,需要存储key信息的表项约248个,这里保险分配512个。除了第一层hash表用于存储GEMPORT ID外,其它层hash表中只需存储映射表的地址,以此减少hash表对RAM的消耗。
在一些实施例中,因考虑到可能通过多层hash表计算其仍然可能存在冲突的冲突项,故此所述“进行映射表学习,将不同的MAC对应的映射信息存储至多层hash表中”,具体还包括步骤:若存在所有hash层都存在冲突的MAC值,则将其存储至预设好的GEMPORT-MAC拓展表项,如图4所示。
当响应映射表查询指令时,多层hash表并行计算待查询的MAC地址对应的hash值,同时GEMPORT-MAC拓展表项会并行进行MAC匹配查找,以保证最优的查找速度。同样多层hash表并行计算也是为了提升查表速率。
在本实施例中,MAC映射表采用FIFO机制管理。其具体可为:
使用一个深度512宽度9bits的FIFO存储地址0~512,学习到新的MAC映射表项时,从FIFO取出一个地址值,用来索引MAC映射表,把新学到的MAC和GEMPORT ID信息填入对应地址的MAC映射表项,并把FIFO取出地址值存到hash表项中;MAC表老化时释放的地址存回FIFO。老化释放地址空间给新的MAC映射表使用。
参阅图3,映射表的查找流程如下:
步骤S301:响应映射表查询指令,多层hash表并行计算待查询的MAC地址对应的hash值。
步骤S302:当第一层表项目未冲突时,直接使用第一层hash表中存储的GEMPORTID。
步骤S303:当第一层表项目冲突时,顺延逐层读出其它层hash表对应的MAC映射表,根据所述MAC映射表匹配MAC找到对应的GEMPORT ID。
上述过程中,无论是hash表、MAC映射表还是FIFO其都可以使用FPGA的片内RAM资源来实现,节省可编程逻辑资源的占用。并且无需依赖具体IP,能够适配更广泛的芯片。
请参阅图4至图5,在本实施方式中,一种存储设备500的具体实施方式如下:
一种存储设备500,其中存储有指令集,所述指令集用于执行:进行映射表学习,将不同的MAC对应的映射信息存储至多层hash表中;
响应映射表查询指令,多层hash表并行计算待查询的MAC地址对应的hash值,根据所述hash值在hash表中查找对应的映射信息。
在实际应用中,经过多次试验,在本实施例中,优选使用四层hash,且第一层hash设有8192个表项(桶)映射2048个key的hash_id,第二层hash设有2048个表项映射与第一层发生冲突的表项,第三层hash设有1024个表项映射与第一、二层都发生冲突的表项目,第四层hash设有512个表项映射与第一、二、三层都发生冲突的表项目。
其中各层的冲突概率计算分析如下:
第1层hash
Figure BDA0003423447450000111
第2层hash
Figure BDA0003423447450000112
第3层hash
Figure BDA0003423447450000113
第4层hash
Figure BDA0003423447450000114
其中hash表资源的设计规划如下:
第1层Hash表的表项字段规划
有效标识 冲突 GEMPORT ID
1bits 1bits 16bits
有效标识:标识表项有效;
冲突:标识与底层hash表存在冲突的表项;
GEMPORT ID:mac映射的GEMPORT id;
2、3、4层Hash表的表项字段规划
预留 表有效标识 冲突 Mac映射表地址
5bits 1bits 1bits 9bits
有效标识:标识表项有效用;
冲突:标识与底层hash表存在冲突的表项;
Mac映射表地址:mac映射表的id。
其中映射信息包括但不限于:GEMPORT ID、MAC映射表地址。
Mac映射表的表项字段规划如下:
预留 Mac地址 Gemport ID
8bits 48bits 16bits
进行映射表学习,将不同的MAC对应的映射信息存储至多层hash表中的具体实施如下:
对不同MAC值多层hash进行并行计算hash值,并行读出多层hash对应的表项。
当第一层表项目未冲突时,未冲突的MAC值对应的GEMPORT ID存入至第一层的hash表中。
当第一层表项目冲突时,从第一层往下顺延选择未冲突的表项存储MAC值对应MAC映射表地址,并更新每个表项的有效标识和冲突标识。
如:以上四层hash表,通过概率统计计算得知,第一层hash可以命中约1800个ID,余下的冲突项通过后面3层hash存储;后面三层的hash不能直接存储GEMPORT ID,需要把key值(MAC信息)也存下来,有冲突的表项通过对比key值来查找具体表项目;2048-1800=248,需要存储key信息的表项约248个,这里保险分配512个。除了第一层hash表用于存储GEMPORT ID外,其它层hash表中只需存储映射表的地址,以此减少hash表对RAM的消耗。
在一些实施例中,因考虑到可能通过多层hash表计算其仍然可能存在冲突,故此进行映射表学习,将不同的MAC对应的映射信息存储至多层hash表中,具体还包括步骤:若存在所有hash层都存在冲突的MAC值,则将其存储至预设好的GEMPORT-MAC拓展表项,如图4所示。
当响应映射表查询指令时,多层hash表并行计算待查询的MAC地址对应的hash值,同时GEMPORT-MAC拓展表项会并行进行MAC匹配查找,以保证最优的查找速度。同样多层hash表并行计算也是为了提升查表速率。
在本实施例中,MAC映射表采用FIFO机制管理。其具体可为:
使用一个深度512宽度9bits的FIFO存储地址0~512,学习到新的MAC映射表项时,从FIFO取出一个地址值,用来索引MAC映射表,把新学到的MAC和GEMPORT ID信息填入对应地址的MAC映射表项,并把FIFO取出地址值存到hash表项中;MAC表老化时释放的地址存回FIFO。老化释放地址空间给新的MAC映射表使用。
映射表的查找流程如下:
响应映射表查询指令,多层hash表并行计算待查询的MAC地址对应的hash值。
当第一层表项目未冲突时,直接使用第一层hash表中存储的GEMPORT ID。
当第一层表项目冲突时,顺延逐层读出其它层hash表对应的MAC映射表,根据所述MAC映射表匹配MAC找到对应的GEMPORT ID。
上述存储设备500指令运行过程中,无论是hash表、MAC映射表还是FIFO其都可以使用FPGA的片内RAM资源来实现,节省可编程逻辑资源的占用。并且无需依赖具体IP,能够适配更广泛的芯片。
最后需要说明的是,尽管在本申请的说明书文字及附图中已经对上述各实施例进行了描述,但并不能因此限制本申请的专利保护范围。凡是基于本申请的实质理念,利用本申请说明书文字及附图记载的内容所作的等效结构或等效流程替换或修改产生的技术方案,以及直接或间接地将以上实施例的技术方案实施于其他相关的技术领域等,均包括在本申请的专利保护范围之内。

Claims (10)

1.一种GEMPORT ID和MAC地址映射的方法,其特征在于,包括步骤:
进行映射表学习,将不同的MAC对应的映射信息存储至多层hash表中;
响应映射表查询指令,多层hash表并行计算待查询的MAC地址对应的hash值,根据所述hash值在hash表中查找对应的映射信息。
2.根据权利要求1所述的一种GEMPORT ID和MAC地址映射的方法,其特征在于,所述“进行映射表学习,将不同的MAC对应的映射信息存储至多层hash表中”,具体还包括步骤:
对不同MAC值多层hash进行并行计算hash值,并行读出多层hash对应的表项,当第一层表项目未冲突时,未冲突的MAC值对应的GEMPORT ID存入至第一层的hash表中,当第一层表项目冲突时,从第一层往下顺延选择未冲突的表项存储MAC值对应的MAC映射表地址,并更新每个表项的有效标识和冲突标识。
3.根据权利要求2所述的一种GEMPORT ID和MAC地址映射的方法,其特征在于,所述“进行映射表学习,将不同的MAC对应的映射信息存储至多层hash表中”,具体还包括步骤:
若存在所有hash层都存在冲突的MAC值,则将其存储至预设好的GEMPORT-MAC拓展表项。
4.根据权利要求1所述的一种GEMPORT ID和MAC地址映射的方法,其特征在于,所述“响应映射表查询指令,多层hash表并行计算待查询的MAC地址对应的hash值,根据所述hash值在hash表中查找对应的映射信息”,具体还包括步骤:
响应映射表查询指令,多层hash表并行计算待查询的MAC地址对应的hash值,当第一层表项目未冲突时,直接使用第一层hash表中存储的GEMPORT ID,当第一层表项目冲突时,顺延逐层读出其它层hash表对应的MAC映射表,根据所述MAC映射表匹配MAC找到对应的GEMPORT ID。
5.根据权利要求3所述的一种GEMPORT ID和MAC地址映射的方法,其特征在于,所述“响应映射表查询指令,多层hash表并行计算待查询的MAC地址对应的hash值,根据所述hash值在hash表中查找对应的映射信息”,具体还包括步骤:
响应映射表查询指令,当多层hash表并行计算待查询的MAC地址对应的hash值时,所述GEMPORT-MAC拓展表项并行进行MAC匹配查找。
6.根据权利要求2至5任一项所述的一种GEMPORT ID和MAC地址映射的方法,其特征在于,
所述映射表采用FIFO机制管理。
7.根据权利要求6所述的一种GEMPORT ID和MAC地址映射的方法,其特征在于,所述“所述映射表采用FIFO机制管理”,具体还包括步骤:
当学习到新的映射表项时,从FIFO取出一个地址值,用来索引MAC映射表,将新学到的MAC和GEMPORT ID信息填入对应地址的MAC映射表项,并把FIFO取出地址值存储至hash表项中;
当MAC表老化时释放的地址存回FIFO。
8.根据权利要求1至7任一项所述的一种GEMPORT ID和MAC地址映射的方法,其特征在于,所述“进行映射表学习,将不同的MAC对应的映射信息存储至多层hash表中”,具体还包括步骤:
进行映射表学习,将不同的MAC对应的映射信息存储至四层hash表中;
第一层hash设有8192个表项,第二层hash设有2048个表项,第三层hash设有1024个表项,第四层hash设有512个表项。
9.根据权利要求1至8任一项所述的一种GEMPORT ID和MAC地址映射的方法,其特征在于,所述映射信息包括但不限于:GEMPORT ID、MAC映射表地址。
10.一种存储设备,其中存储有指令集,其特征在于,所述指令集用于执行:权利要求1至9任一项所述的一种GEMPORT ID和MAC地址映射的方法。
CN202111570287.8A 2021-12-21 2021-12-21 一种gemport id和mac地址映射的方法和存储设备 Pending CN114422478A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111570287.8A CN114422478A (zh) 2021-12-21 2021-12-21 一种gemport id和mac地址映射的方法和存储设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111570287.8A CN114422478A (zh) 2021-12-21 2021-12-21 一种gemport id和mac地址映射的方法和存储设备

Publications (1)

Publication Number Publication Date
CN114422478A true CN114422478A (zh) 2022-04-29

Family

ID=81267190

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111570287.8A Pending CN114422478A (zh) 2021-12-21 2021-12-21 一种gemport id和mac地址映射的方法和存储设备

Country Status (1)

Country Link
CN (1) CN114422478A (zh)

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009013215A2 (en) * 2007-07-25 2009-01-29 Nokia Siemens Networks Oy Method for addressing ethernet streams with a structured gpon gem port id
US20090097654A1 (en) * 2007-10-15 2009-04-16 Steven Langley Blake Method and system for performing exact match searches using multiple hash tables
CN101692651A (zh) * 2009-09-27 2010-04-07 中兴通讯股份有限公司 一种哈希查找表的方法和装置
US20110060876A1 (en) * 2009-09-08 2011-03-10 Brocade Communications Systems, Inc. Exact Match Lookup Scheme
CN103001878A (zh) * 2012-11-26 2013-03-27 中兴通讯股份有限公司 Mac地址哈希冲突的确定方法及装置
CN103457824A (zh) * 2012-05-31 2013-12-18 中兴通讯股份有限公司 报文处理方法及装置
CN104182393A (zh) * 2013-05-21 2014-12-03 中兴通讯股份有限公司 基于hash表的关键字映射处理方法和装置
CN108021678A (zh) * 2017-12-07 2018-05-11 北京理工大学 一种结构紧凑的键值对存储结构及快速键值对查找方法
CN108260032A (zh) * 2018-01-11 2018-07-06 深圳市西迪特科技有限公司 Gpon-olt系统中实现业务虚端口的方法
CN108848034A (zh) * 2018-07-17 2018-11-20 新华三技术有限公司 一种网络设备及表项学习方法
US20200136971A1 (en) * 2019-06-07 2020-04-30 Intel Corporation Hash-table lookup with controlled latency
CN111107176A (zh) * 2019-12-16 2020-05-05 京信通信系统(中国)有限公司 数据传输方法、装置、计算机设备和存储介质

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009013215A2 (en) * 2007-07-25 2009-01-29 Nokia Siemens Networks Oy Method for addressing ethernet streams with a structured gpon gem port id
US20090097654A1 (en) * 2007-10-15 2009-04-16 Steven Langley Blake Method and system for performing exact match searches using multiple hash tables
US20110060876A1 (en) * 2009-09-08 2011-03-10 Brocade Communications Systems, Inc. Exact Match Lookup Scheme
CN101692651A (zh) * 2009-09-27 2010-04-07 中兴通讯股份有限公司 一种哈希查找表的方法和装置
CN103457824A (zh) * 2012-05-31 2013-12-18 中兴通讯股份有限公司 报文处理方法及装置
CN103001878A (zh) * 2012-11-26 2013-03-27 中兴通讯股份有限公司 Mac地址哈希冲突的确定方法及装置
CN104182393A (zh) * 2013-05-21 2014-12-03 中兴通讯股份有限公司 基于hash表的关键字映射处理方法和装置
CN108021678A (zh) * 2017-12-07 2018-05-11 北京理工大学 一种结构紧凑的键值对存储结构及快速键值对查找方法
CN108260032A (zh) * 2018-01-11 2018-07-06 深圳市西迪特科技有限公司 Gpon-olt系统中实现业务虚端口的方法
CN108848034A (zh) * 2018-07-17 2018-11-20 新华三技术有限公司 一种网络设备及表项学习方法
US20200136971A1 (en) * 2019-06-07 2020-04-30 Intel Corporation Hash-table lookup with controlled latency
CN111107176A (zh) * 2019-12-16 2020-05-05 京信通信系统(中国)有限公司 数据传输方法、装置、计算机设备和存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
于翔;郑力明;黄红斌;: "基于FPGA的MAC层地址表设计与仿真", 计算机工程与设计, no. 01, pages 2 - 1 *

Similar Documents

Publication Publication Date Title
EP2314027B1 (en) Switching table in an ethernet bridge
CN110309196A (zh) 区块链数据存储和查询方法、装置、设备及存储介质
CN101641928B (zh) 用于执行信道树操作的方法和装置
CN101594319B (zh) 表项查找方法和装置
CN104158744B (zh) 用于网络处理器的建表和查找方法
CN103475584B (zh) 三态内容寻址存储器(tcam)查询方法和装置
CN103559032B (zh) 嵌入式系统对象管理的装置及方法
CN104580027A (zh) 一种OpenFlow报文转发方法及设备
US6725216B2 (en) Partitioning search key thereby distributing table across multiple non-contiguous memory segments, memory banks or memory modules
CN108259346B (zh) 一种等价路由表项建立方法和装置
CN109255055A (zh) 一种基于分组关联表的图数据存取方法和装置
EP2544414A1 (en) Method and device for storing routing table entry
CN102857414A (zh) 一种转发表写入、报文转发方法及装置
CN107040393B (zh) 一种路由管理方法和设备
US20160127237A1 (en) System and method for reduced forwarding information storage
CN101159658A (zh) 虚拟私用网路由查找的方法和装置
CN106416152A (zh) 一种查找装置、查找配置方法和查找方法
CN106503008A (zh) 文件存储方法和装置及文件查询方法和装置
CN101018182A (zh) 一种桥接的方法及装置
CN114253979A (zh) 一种报文处理方法、装置及电子设备
CN108255912A (zh) 一种表项数据存储、查询方法及其装置
CN108241709A (zh) 一种数据集成方法、装置和系统
CN114422478A (zh) 一种gemport id和mac地址映射的方法和存储设备
CN110661713B (zh) 一种报文转发方法及装置
CN112269784A (zh) 一种基于硬件实现的哈希表结构以及插入、查询和删除方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination