CN105812264B - 多路并行的mac地址学习和地址查找的装置及方法 - Google Patents

多路并行的mac地址学习和地址查找的装置及方法 Download PDF

Info

Publication number
CN105812264B
CN105812264B CN201610146421.4A CN201610146421A CN105812264B CN 105812264 B CN105812264 B CN 105812264B CN 201610146421 A CN201610146421 A CN 201610146421A CN 105812264 B CN105812264 B CN 105812264B
Authority
CN
China
Prior art keywords
address
module
learning
mac
mac address
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.)
Active
Application number
CN201610146421.4A
Other languages
English (en)
Other versions
CN105812264A (zh
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.)
Xidian University
Original Assignee
Xidian University
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 Xidian University filed Critical Xidian University
Priority to CN201610146421.4A priority Critical patent/CN105812264B/zh
Publication of CN105812264A publication Critical patent/CN105812264A/zh
Application granted granted Critical
Publication of CN105812264B publication Critical patent/CN105812264B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)

Abstract

本发明公开了一种多路并行的MAC地址学习和地址查找装置及方法。其装置包括:接收调度模块、多路并行的查找表模块、学习结果轮询模块、同步更新表缓存器、更新模块、老化删除模块和地址选择模块;接收调度模块按顺序为数据分组添加时间标识,然后将分组发往多路并行的查找表模块,该模块并行的进行地址学习和地址查找,学习结果轮询模块依次接收各路学习结果,并将学习结果发给同步更新表缓存器,更新模块读取同步更新表项,并同时更新多路地址表,当更新模块不更新地址表时,地址选择模块选择连接老化删除模块,老化删除模块将老化的地址表清除掉。本发明提高了交换机的交换容量和工作效率,适用于高速大容量交换网络。

Description

多路并行的MAC地址学习和地址查找的装置及方法
技术领域
本发明属于通信技术领域,特别涉及一种MAC地址学习和地址查找装置及方法,可应用于高速大容量以太网交换网络。
背景技术
随着通信技术的日益发展和广泛应用,人们对数据传输速率的要求越来越高。交换机作为重要的网络设备,其性能直接影响着所在网络的网络速度。以太网技术简单易用,价格低廉,且带宽可不断提高,无论是作为一种业务还是作为一种网络结构,都得到了大规模的应用。
以太网技术主要研究内容包括物理层和MAC子层。MAC地址的学习和查找功能是开发网桥、交换机等网络互连设备,延伸以太网传输范围的基础,在以太网接入中起到了至关重要的作用。另外,对于不同的以太网传输媒介,MAC子层不需要改动或者只需很小的改动。因此,开发以太网MAC子层的功能具有重要的意义。
传统以太网MAC地址学习和查找的工作流程如下:
(1)当交换机从某个以太网端口收到以太网数据帧时,先读取帧头中的源MAC地址,将源MAC地址和对应的端口存放在地址表中,这个过程叫做学习。通过学习,交换机就知道源MAC地址设备所对应的端口;
(2)读取帧头中的目的MAC地址,并在地址表中查找相应的端口;
(3)如果地址表中存在与目的MAC地址对应的端口,直接将数据帧转发至该端口;
(4)如果地址表中找不到相应的端口,则把数据帧广播到所有端口上,当目的设备对源设备回应时,交换机就可以学习到目的MAC地址对应的端口,在下次传送数据时不再需要对所有端口进行广播。
不断的循环上述四个步骤,对于全网的MAC地址信息都可以学习到。MAC地址-端口地址表中记录了端口和MAC地址的映射关系,地址表是交换机上电后自动建立的,保存在地址表存取器中,并且自动维护更新。
地址表项是有生命期的,每个表项在建立后开始进行倒记时,每次发送数据都要刷新记时,对于长期不发送数据的主机,其MAC地址的表项在生命期结束时被删除,所以地址表记录的总是当前活动的主机的MAC地址。
虽然传统MAC地址学习查找方法已被广泛应用于网络交换领域,但其也存在着以下不足:
1)MAC地址在学习过程中,需要查找地址表确定此地址是否已经学习过,而传统交换机使用MAC地址先学习后查找的策略,这种串行的工作流程不但限制了MAC地址的查找速度,也限制了交换机的工作效率。
2)随着10G、40G和100G以太网标准的推出,大容量高速率以太网交换技术成为研究热点,而传统以太网交换采用的单路MAC地址学习和MAC地址查找方式极大的限制了大容量高速以太网交换技术的发展。
发明内容
本发明目的在于针对上述已有技术的不足,提供一种多路并行的MAC地址学习和地址查找装置和方法,以增大交换容量,提高交换机的处理速度和交换效率。
本发明在FPGA上并行处理多路数据分组,其实现装置包括:
接收调度模块:用于接收并缓存数据分组,同时按照分组到达顺序,为每个分组打上时间标识,并轮询多路并行的查找表模块的工作状态,将数据分组发给空闲路的查找表模块;
多路并行的查找表模块:用于根据MAC地址进行地址学习和地址查找,将学习结果发给学习结果轮询模块,并根据查找结果转发数据分组;
学习结果轮询模块:用于轮询多路并行的查找表模块的学习结果,并将每一路查找表模块的学习结果按照同步更新表项格式依次写入同步更新表缓存器中;
同步更新表缓存器:用于缓存同步更新表项,该同步更新表缓存器分别与学习结果轮询模块和更新模块连接;
更新模块:用于根据同步更新表项内容同时更新多路并行的查找表模块的地址表,当同步更新表缓存器不为空时,读取同步更新表缓存器中的同步更新表项,从同步更新表项中获取要更新的表项地址和地址表,并同时查询多路并行的查找表模块正在读取的表项地址,判断这两个地址是否为同一地址:如果是同一地址,则在下一周期,重新提取多路并行的查找表模块正在读取的表项地址,再次判断更新地址与当前周期的查找地址是否一样,反之,则将地址表同时传入多路并行的查找表模块;
老化删除模块:用于将长时间不用的地址表从多路并行的查找表模块中清除掉,以释放地址表存取器的空间;
地址选择模块:用于控制老化删除模块和更新模块与多路并行的查找表模块的连接关系,即判断更新模块是否正在更新多路并行地址表:如果正在更新,则选择更新模块与多路并行的查找表模块连接,反之,选择老化删除模块与多路并行的查找表模块连接。
根据上述装置,其特征在于多路并行的查找表模块,其每一路包括:MAC地址学习查找模块、MAC地址查找模块和地址表存取器。
所述MAC地址学习查找模块:用于读取接收调度模块发来的源MAC地址和地址表存取器中存放的地址表,并根据源MAC地址进行地址学习,将学习结果发给学习结果轮询模块;
所述MAC地址查找模块:用于读取接收调度模块发来的目的MAC地址和地址表存取器中存放的地址表,并根据目的MAC地址进行地址查找:如果在地址表中查到输出端口,则只向该端口转发数据分组,如果查不到输出端口,则向除源端口以外的所有端口广播数据分组;
所述地址表存取器:用于存放地址表,每路查找表模块包含两块地址表存取器,一块地址表存取器分别与MAC地址学习查找模块和地址选择模块连接,另一块地址表存取器分别与MAC地址查找模块和地址选择模块连接。
利用上述装置进行多路并行的MAC地址学习和地址查找方法,包括如下步骤:
1)接收调度模块收到分组后,按顺序为每个分组打上时间标识,然后提取分组特征信息,并轮询多路并行的MAC地址学习查找模块和MAC地址查找模块的工作状态,将分组特征信息、时间标识和分组同时发给空闲路的MAC地址学习查找模块和MAC地址查找模块;
2)空闲路的MAC地址学习查找模块提取分组的源MAC地址,并根据源MAC地址和输入端口值进行地址学习,执行步骤3a);同时MAC地址查找模块提取目的MAC地址,根据目的MAC地址进行查找,执行步骤3b);
3)MAC地址学习和MAC地址查找并行执行:
3a)根据源MAC地址得出对应的地址表存取器地址,由该地址表存取器地址读取地址表,从地址表中获取源MAC地址对应的端口值和表项有效标志位:如果表项有效,则执行步骤4),反之,执行步骤5);
3b)根据目的MAC地址得出对应的地址表存取器地址,由该地址表存取器地址读取地址表项,从地址表项中获取目的MAC地址对应的端口值和表项有效标志位:如果表项有效,则根据查找结果向该端口转发数据分组,反之,则向除源端口以外的所有端口广播数据分组;
4)比较输入端口值和表项获取的端口值,如果相等,即只需要同时刷新多路地址表的老化时间,则执行步骤5),反之,即说明学习表项空间已满,则丢弃数据分组并向网络管理中心告警;
5)按照同步更新表项格式,将同步更新表项送入学习结果轮询模块,学习结果轮询模块依次轮询多路MAC地址学习查找模块送出的学习结果:当同步更新表缓存器存储状态不为满时,则将学习结果按照同步更新表项格式写入同步更新表缓存器;当同步更新表缓存器存储状态不为空时,更新模块读取同步更新表缓存器中的同步更新表项,从同步更新表项中提取出要更新的地址表存取器地址和地址表,执行步骤6);
6)更新模块同时获取多路MAC地址学习查找模块和MAC地址查找模块正在读取的地址表存取器地址,判断要更新的地址表存取器地址是否与多路MAC地址学习和查找的地址表存取器地址为同一地址:如果是同一地址,则在下一个周期,重新执行步骤6),反之,执行步骤7);
7)根据地址表存取器地址,同时将要更新的地址表写入多路并行的MAC地址学习查找模块和MAC地址查找模块对应的地址表存取器中,执行步骤8);
8)当更新模块不需要对表项进行更新时,地址选择模块选择连接老化删除模块,老化删除模块轮询多路MAC地址学习查找模块和MAC地址查找模块对应的地址表,将长时间不用的地址表从地址表存取器中清除掉。
本发明与现有技术相比具有如下优点:
1.本发明由于采用MAC地址学习和MAC地址查找并行处理的方式来完成MAC子层的学习查找功能,提高了单路数据传输速率,克服了传统以太网MAC地址先学习后查找的串行处理方式带来的工作效率和交换速率受限问题;
2.本发明由于采用多路并行的MAC地址学习和MAC地址查找处理方式,不仅大幅度提高了交换机的交换容量和工作效率,也为以太网高速接口的线速转发提供了一种解决方案;
3.本发明由于采用按顺序为输入数据分组添加时间标识的方式,确保了高速数据分组在并行处理之后,在输出端可以按照数据分组的输入顺序输出,不会因为输出分组乱序而传输出错;同时通过轮询多路并行查找表模块的工作状态,均衡了多路并行查找表模块的交换带宽。
4.本发明由于增加了对同步更新表项格式的定义,并增加了同步更新表缓存器同步更新表缓存器和学习结果轮询模块,解决了多路地址表同步更新问题,从而保证了并行数据分组的无差错查找转发。
附图说明
图1为本发明装置结构框图;
图2为本发明方法的实现流程图。
具体实施方式
以下参照附图并举例,对本发明进行进一步的详细说明。
参照图1,本发明的装置包括:接收调度模块1、多路并行的查找表模块2、学习结果轮询模块3、同步更新表缓存器4、更新模块5、老化删除模块6和地址选择模块7。其中多路并行的查找表模块2的每一路包括MAC地址学习查找模块21、MAC地址查找模块22和地址表存取器23。
所述接收调度模块1,用于接收并缓存数据分组,同时按照分组到达顺序,为每个分组打上时间标识,并轮询多路并行的查找表模块2的工作状态,将数据分组发给空闲路的MAC地址学习查找模块21和MAC地址查找模块22,该接收调度模块与MAC地址学习查找模块21和MAC地址查找模块22相连。
所述MAC地址学习查找模块21,其分别与接收调度模块1、地址表存取器23以及学习结果轮询模块3相连,用于读取接收调度模块1发来的源MAC地址和地址表存取器23中存放的地址表,并根据源MAC地址进行地址学习,将学习结果发给学习结果轮询模块3;
所述MAC地址查找模块22,其与接收调度模块1和地址表存取器23相连,用于读取接收调度模块1发来的目的MAC地址和地址表存取器23中存放的地址表,并根据目的MAC地址进行地址查找;
所述地址表存取器23,用于存放地址表,每路查找表模块2包含两块地址表存取器,其中第一块地址表存取器分别与MAC地址学习查找模块21和地址选择模块7连接,第二块地址表存取器分别与MAC地址查找模块22和地址选择模块7连接;
所述学习结果轮询模块3,其与MAC地址学习查找模块21和同步更新表缓存器4相连;用于轮询多路MAC地址学习查找模块21的学习结果,并将每一路MAC地址学习查找模块21的学习结果按照同步更新表项格式依次写入同步更新表缓存器4中;
所述同步更新表缓存器4,其与学习结果轮询模块3和更新模块5相连,用于缓存同步更新表项;
所述更新模块5,用于根据同步更新表项内容同时更新多路并行的查找表模块2中的地址表,当同步更新表缓存器不为空时,读取同步更新表缓存器4中的同步更新表项,从同步更新表项中获取要更新的表项地址和地址表,并同时查询多路并行的查找表模块2正在读取的表项地址,判断这两个地址是否为同一地址:如果是同一地址,则在下一时钟周期,重新提取多路并行的查找表模块2正在读取的表项地址,再次判断更新地址与当前周期的查找地址是否一致,反之,则将需要更新的地址表同时传入多路并行的查找表模块2,该更新模块与同步更新表缓存器4和地址选择模块6相连;
所述老化删除模块6,其与地址选择模块7相连,用于将长时间不用的地址表从多路并行的查找表模块2中清除掉,以释放地址表存取器23的空间;
所述地址选择模块7,用于控制老化删除模块6和更新模块5与多路并行的查找表模块2的连接关系,即判断更新模块5是否正在更新多路并行地址表:如果正在更新,则选择更新模块5与MAC地址学习查找模块21以及MAC地址查找模块22连接,反之,选择老化删除模块6与MAC地址学习查找模块21以及MAC地址查找模块22连接;
参照图2,本发明的实现流程如下:
步骤1,接收调度模块接收并解析数据分组。
1a)接收调度模块收到分组后,按顺序为每个分组打上时间标识,然后提取分组特征信息,分组特征信息包括源MAC地址、目的MAC地址、类型、分组起始标志和结束标志;
1b)接收调度模块按顺序判断每路MAC地址学习查找模块和每路MAC地址查找模块是否有分组正在进行学习和查找:
如果该路MAC地址学习查找模块或者该路MAC地址查找模块有分组正在进行学习或者查找,即该路查找表模块处于忙状态,则接着判断下一路MAC地址学习查找模块和MAC地址查找模块是否有分组正在进行学习和查找;
如果MAC地址学习查找模块和MAC地址查找模块均没有分组正在进行学习和查找时,即该路查找表模块处于空闲状态,则将时间标识、分组特征信息和分组发给该路的MAC地址学习查找模块和MAC地址查找模块,执行步骤2。
步骤2,查找表模块接收分组及分组特征信息。
2a)MAC地址学习查找模块接收分组特征信息中的源MAC地址,并根据源MAC地址和输入端口值进行地址学习,执行步骤3a);
2b)MAC地址查找模块接收分组特征信息中的目的MAC地址,根据目的MAC地址进行地址查找,执行步骤3b)。
步骤3,MAC地址学习和MAC地址查找并行执行。
3a)根据源MAC地址得出对应的地址表存取器地址,由该地址表存取器地址读取地址表,地址表的格式如表1,从地址表中获取源MAC地址对应的端口值和表项有效标志位:
如果地址表已经存入地址表存取器中且未过期失效,即表项有效标志位电平为高,表示表项有效,则执行步骤4;
如果地址表没有存入地址表存取器中或者地址表已经过期失效,即表项有效标志位电平为低,表示表项无效,则执行步骤5。
3b)根据目的MAC地址得出对应的地址表存取器地址,由该地址表存取器地址读取地址表项,从地址表项中获取目的MAC地址对应的端口值和表项有效标志位:
如果地址表已经存入地址表存取器中且未过期失效,即表项有效标志位电平为高,表示表项有效,则根据查找结果向该端口转发数据分组;
如果地址表没有存入地址表存取器中或者地址表已经过期失效,即表项有效标志位电平为低,表示表项无效,则向除源端口以外的所有端口广播数据分组。
表1 地址表格式
MAC地址值 端口值 表项有效标志位 老化时间
步骤4,MAC地址学习查找模块比较输入端口值和表项获取的端口值,如果这两个端口值相等,即说明已经学习过该表项,只需刷新老化时间,则执行步骤5;反之,即说明学习表项空间已满,则丢弃数据包并向网络管理中心告警。
步骤5,学习结果轮询模块接收同步更新表项并将同步更新表项写入同步更新表缓存器中。
5a)学习结果轮询模块按顺序依次查看每一路的MAC地址学习查找模块是否送出学习结果,如果该路MAC地址学习查找模块没有学习结果送出,则查看下一路的MAC地址学习查找模块是否有学习结果送出,当MAC地址学习查找模块送出学习结果时,按照表2格式,将同步更新表项送入学习结果轮询模块,执行步骤5b);
5b)学习结果轮询模块查看同步更新表缓存器存储状态,当同步更新表缓存器存储状态不为满时,学习结果轮询模块将学习结果按照同步更新表项格式写入同步更新表缓存器中,执行步骤6。
表2 同步更新表项格式
地址表存取器地址值 MAC地址值 端口值 表项有效标志位 老化时间
步骤6,更新模块从同步更新表缓存器中读取同步更新表项并解析同步更新表项。
6a)更新模块查看同步更新表缓存器存储状态,当同步更新表缓存器存储状态不为空时,更新模块读取同步更新表缓存器中的同步更新表项,执行步骤6b)。
6b)更新模块从同步更新表项中提取出要更新的地址表存取器地址和地址表,判断要更新的地址表存取器地址是否与多路MAC地址学习和查找的地址表存取器地址为同一地址:如果是同一地址,则在下一个时钟周期,重新执行步骤6b),反之,执行步骤7。
步骤7,更新模块同时更新多路地址表。
根据地址表存取器地址,同时将要更新的地址表写入多路MAC地址学习查找模块和MAC地址查找模块对应的地址表存取器中,执行步骤8。
步骤8,当更新模块不更新地址表时,老化删除模块对多路地址表进行老化删除。
老化删除模块中有一个时钟计数器,MAC地址学习查找模块建立地址表时,将地址表项中的老化时间域设置为当前的时间减1,时钟计数器从当前时间开始每一秒钟加1,老化删除模块不停的查看每路地址表项中的老化时间域,如果发现当前时间再次循环到地址表中有效时间域的时间时,认为该表项已经过期失效,则将该地址表从地址表存取器中删除。
以上仅为本发明的优选实例,不构成对本发明的任何限制,显然根据本发明的构思,本领域的技术人员均可做出不同的修改和置换,但这些均在本发明的保护之列。

Claims (7)

1.多路并行的MAC地址学习和地址查找装置,包括:
接收调度模块(1):用于接收并缓存数据分组,同时按照分组到达顺序,为每个分组打上时间标识,并轮询多路并行的查找表模块(2)的工作状态,将数据分组发给空闲路的查找表模块(2);
多路并行的查找表模块(2):用于根据MAC地址进行地址学习和地址查找,将学习结果发给学习结果轮询模块(3),并根据查找结果转发数据分组;
学习结果轮询模块(3):用于轮询多路并行的查找表模块(2)的学习结果,并将每一路查找表模块的学习结果按照同步更新表项格式依次写入同步更新表缓存器(4)中;
同步更新表缓存器(4):用于缓存同步更新表项,该同步更新表缓存器分别与学习结果轮询模块(3)和更新模块(5)连接;
更新模块(5):用于根据同步更新表项内容同时更新多路并行的查找表模块(2)的地址表,当同步更新表缓存器不为空时,读取同步更新表缓存器(4)中的同步更新表项,从同步更新表项中获取要更新的表项地址和地址表,并同时查询多路并行的查找表模块(2)正在读取的表项地址,判断这两个地址是否为同一地址:如果是同一地址,则在下一周期,重新提取多路并行的查找表模块(2)正在读取的表项地址,再次判断更新地址与当前周期的查找地址是否一样,反之,则将地址表同时传入多路并行的查找表模块(2);
老化删除模块(6):用于将长时间不用的地址表从多路并行的查找表模块(2)中清除掉,以释放地址表存取器(23)的空间;
地址选择模块(7):用于控制老化删除模块(6)和更新模块(5)与多路并行的查找表模块(2)的连接关系,即判断更新模块(5)是否正在更新多路并行的地址表:如果正在更新,则选择更新模块(5)与多路并行的查找表模块(2)连接,反之,选择老化删除模块(6)与多路并行的查找表模块(2)连接。
2.根据权利要求1所述的多路并行的MAC地址学习和地址查找装置,其特征在于多路并行的查找表模块(2),其每一路包括:MAC地址学习查找模块(21)、MAC地址查找模块(22)和地址表存取器(23);
所述MAC地址学习查找模块(21):用于读取接收调度模块(1)发来的源MAC地址和地址表存取器(23)中存放的地址表,并根据源MAC地址进行地址学习,将学习结果发给学习结果轮询模块(3);
所述MAC地址查找模块(22):用于读取接收调度模块(1)发来的目的MAC地址和地址表存取器(23)中存放的地址表,并根据目的MAC地址进行地址查找:如果在地址表中查到输出端口,则只向该端口转发数据分组,如果查不到输出端口,则向除源端口以外的所有端口广播数据分组;
所述地址表存取器(23):用于存放地址表,每路查找表模块(2)包含两块地址表存取器,一块地址表存取器分别与MAC地址学习查找模块(21)和地址选择模块(7)连接,另一块地址表存取器分别与MAC地址查找模块(22)和地址选择模块(7)连接。
3.一种多路并行的MAC地址学习和地址查找方法,包括如下步骤:
1)接收调度模块(1)收到分组后,按顺序为每个分组打上时间标识,然后提取分组特征信息,并轮询多路并行的MAC地址学习查找模块(21)和MAC地址查找模块(22)的工作状态,将分组特征信息、时间标识和分组同时发给空闲路的MAC地址学习查找模块(21)和MAC地址查找模块(22);
2)空闲路的MAC地址学习查找模块(21)提取分组的源MAC地址,并根据源MAC地址和输入端口值进行地址学习,执行步骤3a);同时MAC地址查找模块(22)提取目的MAC地址,根据目的MAC地址进行查找,执行步骤3b);
3)MAC地址学习和MAC地址查找并行执行:
3a)根据源MAC地址得出对应的地址表存取器地址,由该地址表存取器地址读取地址表,从地址表中获取源MAC地址对应的端口值和表项有效标志位:如果表项有效,则执行步骤4),反之,执行步骤5);
3b)根据目的MAC地址得出对应的地址表存取器地址,由该地址表存取器地址读取地址表项,从地址表项中获取目的MAC地址对应的端口值和表项有效标志位:如果表项有效,则根据查找结果向该端口转发数据分组,反之,则向除源端口以外的所有端口广播数据分组;
4)比较输入端口值和表项获取的端口值,如果相等,即只需要同时刷新多路地址表的老化时间,则执行步骤5),反之,即说明学习表项空间已满,则丢弃数据分组并向网络管理中心告警;
5)按照同步更新表项格式,将同步更新表项送入学习结果轮询模块(3),学习结果轮询模块(3)依次轮询多路MAC地址学习查找模块(21)送出的学习结果:当同步更新表缓存器(4)存储状态不为满时,则将学习结果按照同步更新表项格式写入同步更新表缓存器(4);当同步更新表缓存器(4)存储状态不为空时,更新模块(5)读取同步更新表缓存器(4)中的同步更新表项,从同步更新表项中提取出要更新的地址表存取器地址和地址表,执行步骤6);
6)更新模块(5)同时获取多路MAC地址学习查找模块(21)和MAC地址查找模块(22)正在读取的地址表存取器地址,判断要更新的地址表存取器地址是否与多路MAC地址学习和查找的地址表存取器地址为同一地址:如果是同一地址,则在下一个周期,重新执行步骤6),反之,执行步骤7);
7)根据地址表存取器地址,同时将要更新的地址表写入多路并行的MAC地址学习查找模块(21)和MAC地址查找模块(22)对应的地址表存取器(23)中,执行步骤8);
8)当更新模块(5)不需要对表项进行更新时,地址选择模块(7)选择连接老化删除模块(6),老化删除模块(6)轮询多路MAC地址学习查找模块(21)和MAC地址查找模块(22)对应的地址表,将长时间不用的地址表从地址表存取器(23)中清除掉。
4.根据权利要求3所述的多路并行的MAC地址学习和地址查找方法,其中步骤1)中提取的分组特征信息,包括源MAC地址、目的MAC地址、类型、分组起始标志和结束标志。
5.根据权利要求3所述的多路并行的MAC地址学习和地址查找方法,其中步骤1)中接收调度模块(1)轮询多路并行的MAC地址学习查找模块(21)和MAC地址查找模块(22)的工作状态,是按顺序判断每路MAC地址学习查找模块(21)和每路MAC地址查找模块(22)是否有分组正在进行学习和查找:如果该路MAC地址学习查找模块(21)或者该路MAC地址查找模块(22)有分组正在进行学习或者查找,即该路的两个查找模块处于忙状态,则接着判断下一路MAC地址学习查找模块(21)和MAC地址查找模块(22)的工作状态,当MAC地址学习查找模块(21)和MAC地址查找模块(22)均没有分组正在进行学习和查找时,即该路的两个查找模块处于空闲状态,则将时间标识、分组特征信息和分组发给该路的MAC地址学习查找模块(21)和MAC地址查找模块(22)。
6.根据权利要求3所述的多路并行的MAC地址学习和地址查找方法,其中步骤3a)和步骤3b)的表项有效标志位,是指:如果地址表没有存入地址表存取器中或者地址表已经过期失效,即该地址表为空地址表,则该表项有效标志位信号电平为低,表示表项无效,反之,如果地址表已经存入地址表存取器中且未过期失效,则该表项有效标志位信号电平为高,表示表项有效。
7.根据权利要求3所述的多路并行的MAC地址学习和地址查找方法,其中步骤8)中老化删除模块(6)轮询多路MAC地址学习查找模块(21)和MAC地址查找模块(22)对应的地址表,是通过在老化删除模块中添加一个时钟计数器:地址表项被建立时,地址表项中的老化时间域设置为当前的时间减1秒,时钟计数器从当前时间开始每一秒钟加1,老化删除模块不停的查看每路地址表项中的老化时间域,如果发现当前时间再次循环到地址表中老化时间域中的时间时,认为该表项已经失效,则将该表项删除。
CN201610146421.4A 2016-03-15 2016-03-15 多路并行的mac地址学习和地址查找的装置及方法 Active CN105812264B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610146421.4A CN105812264B (zh) 2016-03-15 2016-03-15 多路并行的mac地址学习和地址查找的装置及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610146421.4A CN105812264B (zh) 2016-03-15 2016-03-15 多路并行的mac地址学习和地址查找的装置及方法

Publications (2)

Publication Number Publication Date
CN105812264A CN105812264A (zh) 2016-07-27
CN105812264B true CN105812264B (zh) 2019-04-19

Family

ID=56467444

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610146421.4A Active CN105812264B (zh) 2016-03-15 2016-03-15 多路并行的mac地址学习和地址查找的装置及方法

Country Status (1)

Country Link
CN (1) CN105812264B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107707690B (zh) * 2017-11-28 2021-07-16 锐捷网络股份有限公司 一种动态地址不老化的方法、装置和介质
CN108632148B (zh) * 2017-12-29 2020-06-16 西安电子科技大学 基于预读取方式的学习mac地址的装置及方法
CN108616614B (zh) * 2018-04-28 2021-04-06 深圳市风云实业有限公司 Mac地址管理方法、装置及电子设备
CN111614793B (zh) * 2020-04-22 2022-03-04 上海御渡半导体科技有限公司 一种基于fpga的以太网交换机的mac地址管理装置及方法
CN112637072B (zh) * 2020-12-23 2022-08-02 北京时代民芯科技有限公司 一种用于交换芯片地址存储及查找的快速并行电路及方法
CN113364685B (zh) * 2021-05-17 2023-03-14 中国人民解放军国防科技大学 一种分布式mac表项处理装置和方法
CN114900456B (zh) * 2022-05-17 2023-10-31 苏州雄立科技有限公司 一种mac地址管理装置及方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1980180A (zh) * 2005-11-24 2007-06-13 武汉烽火网络有限责任公司 线速率学习和查找二层转发表项的方法和系统
CN101834788A (zh) * 2010-04-16 2010-09-15 福建星网锐捷网络有限公司 媒体访问控制地址表项的存储操作方法、装置及设备
CN103117931A (zh) * 2013-02-21 2013-05-22 烽火通信科技股份有限公司 基于哈希表和tcam表的mac地址硬件学习方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050141537A1 (en) * 2003-12-29 2005-06-30 Intel Corporation A Delaware Corporation Auto-learning of MAC addresses and lexicographic lookup of hardware database

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1980180A (zh) * 2005-11-24 2007-06-13 武汉烽火网络有限责任公司 线速率学习和查找二层转发表项的方法和系统
CN101834788A (zh) * 2010-04-16 2010-09-15 福建星网锐捷网络有限公司 媒体访问控制地址表项的存储操作方法、装置及设备
CN103117931A (zh) * 2013-02-21 2013-05-22 烽火通信科技股份有限公司 基于哈希表和tcam表的mac地址硬件学习方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"用于交换芯片地址表查找的快速并行Hash算法研究";曹晓东 等;《电子科技大学学报》;20140331;第43卷(第2期);第287-291页

Also Published As

Publication number Publication date
CN105812264A (zh) 2016-07-27

Similar Documents

Publication Publication Date Title
CN105812264B (zh) 多路并行的mac地址学习和地址查找的装置及方法
CN103546374B (zh) 一种边缘二层网络中转发报文的方法和装置
US9749230B2 (en) Method of sending address correspondence in a second layer protocol of applying link state routing
CN101577722B (zh) 实现强制mac转发功能的方法和装置
CN102457583B (zh) 一种虚拟机移动性的实现方法及系统
US9641352B2 (en) Packet forwarding
US20140098823A1 (en) Ensuring Any-To-Any Reachability with Opportunistic Layer 3 Forwarding in Massive Scale Data Center Environments
CN103118148B (zh) 一种arp缓存更新方法和设备
CN109743414B (zh) 利用冗余连接提高地址翻译可用性的方法及计算机可读存储介质
US20120243403A1 (en) Addressing method, addressing apparatus, fabric manager, switch, and data routing method
CN101877671B (zh) 镜像报文的发送方法、交换芯片及以太网路由器
CN101330405A (zh) 网络拓扑发现方法及相关设备
CN103179228A (zh) 因特网协议地址解析方法及边缘节点
CN104519130B (zh) 一种跨idc的数据共享缓存方法
CN110505621B (zh) 一种终端迁移的处理方法及装置
CN108683523B (zh) 一种基于网络虚拟化的sdn架构
JP2020532230A (ja) パケット転送方法及び装置
US20090282167A1 (en) Method and apparatus for bridging
US20200412648A1 (en) Method for distributing transmission path information and routing bridges
CN103560968B (zh) 交换机硬件主机路由表更新方法、装置和交换机
CN102333000B (zh) 一种基于多链接透明互联网络的邻居维护方法和设备
WO2013159667A1 (en) Virtual router redundancy protocol load balancing mode (vrrpe)
CN115865844B (zh) 基于sdn与ndn的虚实结合动态流量调度方法及装置
CN108632148B (zh) 基于预读取方式的学习mac地址的装置及方法
CN101572668A (zh) 一种删除mac地址的方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant