CN101651627A - 一种媒体访问控制mac地址表项学习方法和装置 - Google Patents

一种媒体访问控制mac地址表项学习方法和装置 Download PDF

Info

Publication number
CN101651627A
CN101651627A CN200910174222A CN200910174222A CN101651627A CN 101651627 A CN101651627 A CN 101651627A CN 200910174222 A CN200910174222 A CN 200910174222A CN 200910174222 A CN200910174222 A CN 200910174222A CN 101651627 A CN101651627 A CN 101651627A
Authority
CN
China
Prior art keywords
unicast message
message
mac
forwarding chip
module
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.)
Granted
Application number
CN200910174222A
Other languages
English (en)
Other versions
CN101651627B (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.)
New H3C Technologies Co Ltd
Original Assignee
Hangzhou H3C Technologies 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 Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN2009101742224A priority Critical patent/CN101651627B/zh
Publication of CN101651627A publication Critical patent/CN101651627A/zh
Application granted granted Critical
Publication of CN101651627B publication Critical patent/CN101651627B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种MAC地址表项学习方法,应用于包括转发芯片和CPU的网络设备中,所述方法包括以下步骤:所述转发芯片接收单播报文,记录所述单播报文的源MAC地址和入端口信息;所述转发芯片查找转发数据库FDB表中是否存在所述单播报文的源MAC地址,如果所述FDB表中不存在所述单播报文的源MAC地址,则将所述单播报文的源MAC地址和入端口信息添加到所述FDB表中,所述单播报文包括来自业务端口的上行单播报文和来自交换网的下行单播报文。本发明能够自动、高效地维护转发芯片中的FDB表。本发明同样公开了一种应用上述方法的装置。

Description

一种媒体访问控制MAC地址表项学习方法和装置
技术领域
本发明涉及通信技术领域,尤其涉及一种媒体访问控制地址表项学习方法和装置。
背景技术
目前,主流网络设备的架构一般为交换网框式架构,如图1所示,该网络设备包含多个转发芯片,每个转发芯片上携带32K~1M的MAC(MediaAccess Control,媒体访问控制)地址表项。由于网络设备中的MAC地址表项容量非常大,对MAC地址学习和同步速度提出了更高的要求,如果MAC地址学习和同步速度太慢,则MAC地址广播的时间会比较长,甚至会出现长时间转发出错的现象。另外,为了转发报文的方便,会在每个转发芯片上保存全局的VLAN(Virtual Local Area Network,虚拟局域网)下的MAC地址信息,而很多MAC地址的硬件表项根本起不到作用,却浪费了硬件资源。
现有技术中,MAC地址学习技术分为两种方式,即转发芯片内自动学习、转发芯片间CPU(Central Processing Unit,中央处理单元)干预同步,以及转发芯片内和芯片间都由CPU干预学习。其中,在转发芯片内自动学习、芯片间CPU干预同步的学习方式中,单个转发芯片内自动学习后,产生一个新地址消息,并将该地址信息发送给CPU,CPU通过控制通道将该地址消息传输到同一网络设备上的所有其他物理槽位的CPU,其他物理槽位上的CPU解析该地址消息,然后将该地址信息中的MAC地址表项写入本槽位上的所有转发芯片的FDB(Forward Database,转发数据库)表。
在转发芯片内和芯片间都由CPU干预的学习方式中,转发芯片上发现有新MAC地址产生,则产生一个新地址消息,并将该地址消息发送给CPU,CPU先将该地址消息中的MAC地址表项写入本槽位上所有转发芯片的FDB表,再通过控制通道将该地址消息传输到同一网络设备上的所有其他物理槽位的CPU,其他物理槽位上的CPU解析该地址消息,然后将该地址信息中的MAC地址表项写入本槽位上的所有转发芯片的FDB表。所有转发芯片的MAC地址表项都是通过CPU维护更新的,在CPU无法知道流量的情况下,为了芯片上的流量的广播,可以在存在VLAN的转发芯片上都保存有整框的所有VLAN的Mac地址,一旦有单播流量进入转发芯片,直接对该单播流量进行转发,减少交换网的负担。
发明人在实现本发明的过程中,发现现有技术至少存在以下缺陷:
对于转发芯片内自动学习、芯片间CPU干预同步的学习方式,由于同步需要软件干预,所以同步速度比较慢,导致广播时间长,且在端口切换过程中丢包时间长;同步时占用控制通道带宽,容易引起控制通道问题;软件设计比较复杂,在框式设备上应用会出现很多MAC地址学习的时序问题,包括存在不该有的MAC地址,即在每个转发芯片内存中存在大量的MAC地址垃圾表项,以及应该有的MAC地址却不存在。
对于转发芯片内和芯片间都由CPU干预的学习方式,不仅同步速度比较慢,广播时间长,且本芯片学习速度慢。
发明内容
本发明提供了一种MAC地址表项学习方法和装置,用于自动、高效地维护转发芯片中的FDB表。
本发明提供了一种媒体访问控制MAC地址表项学习方法,应用于包括转发芯片和中央处理单元CPU的网络设备中,所述方法包括以下步骤:
所述转发芯片接收单播报文,记录所述单播报文的源MAC地址和入端口信息;
所述转发芯片查找转发数据库FDB表中是否存在所述单播报文的源MAC地址,如果所述FDB表中不存在所述单播报文的源MAC地址,则将所述单播报文的源MAC地址和入端口信息添加到所述FDB表中,所述单播报文包括来自业务端口的上行单播报文和来自交换网的下行单播报文。
优选地,所述转发芯片查找FDB表中是否存在单播报文的源MAC地址之后,还包括:
如果所述FDB表中存在所述单播报文的源MAC地址,所述转发芯片判断所述FDB表中所述源MAC地址对应的出端口信息和所述单播报文的出端口信息是否一致,如果判断结果为不一致,所述转发芯片将所述单播报文的源MAC地址和出端口信息更新到所述FDB表中。
优选地,所述的方法,还包括:
所述转发芯片查找所述FDB表中是否存在所述单播报文的目的MAC地址,如果所述FDB表中不存在所述单播报文的目的MAC地址,则将所述单播报文发送到虚拟局域网VLAN的所有出端口。
优选地,所述单播报文为上行单播报文时,所述转发芯片查找到所述FDB表中不存在所述单播报文的目的MAC地址之后,还包括:
所述转发芯片向所述CPU发送目的地址DA消息,所述CPU分析接收到的DA消息,查找所述网络设备的其他转发芯片中是否存在所述上行单播报文的目的MAC地址对应的出端口信息;
如果存在,所述CPU将所述上行单播报文的目的MAC地址和出端口信息添加到所述转发芯片的FDB表中,使所述转发芯片停止向所述CPU发送DA消息,并根据所述CPU添加的目的MAC地址和出端口信息,将对应的上行单播报文进行单播发送;
如果不存在,所述CPU向所述转发芯片下发伪MAC地址表项,使所述转发芯片停止向所述CPU发送DA消息,并根据所述CPU下发的伪MAC地址表项,将对应的上行单播报文进行单播发送。
优选地,所述的方法,还包括:
所述转发芯片对自身保存的MAC地址表项进行老化,并向所述CPU发送老化地址消息。
本发明提供了一种网络设备,包括转发芯片和CPU,所述转发芯片包括:
收发模块,用于接收单播报文;
记录模块,与所述收发模块连接,用于记录所述收发模块接收到的单播报文的源MAC地址和入端口信息;
存储模块,用于存储FDB表;
查找模块,与所述记录模块和所述存储模块连接,用于查找所述存储模块存储的FDB表中是否存在所述记录模块记录的单播报文的源MAC地址;
添加模块,与所述查找模块和所述存储模块连接,用于在所述查找模块查找到所述FDB表中不存在所述单播报文的源MAC地址时,将所述单播报文的源MAC地址和入端口信息添加到所述存储模块存储的FDB表中,所述单播报文包括来自业务端口的上行单播报文和来自交换网的下行单播报文。
优选地,所述转发芯片还包括:
判断模块,与查找模块连接,用于在所述查找模块查找到所述FDB表中存在所述单播报文的源MAC地址时,判断所述FDB表中所述源MAC地址对应的出端口信息和所述单播报文的出端口信息是否一致;
所述添加模块,与所述判断模块连接,还用于在所述判断模块的判断结果为不一致时,将所述单播报文的源MAC地址和出端口信息更新到所述FDB表中。
优选地,所述查找模块,还用于查找所述FDB表中是否存在所述单播报文的目的MAC地址;
所述收发模块,与所述查找模块连接,还用于在所述查找模块查找到所述FDB表中不存在所述单播报文的目的MAC地址时,将所述单播报文发送到VLAN的所有出端口。
优选地,所述单播报文为上行单播报文时,
所述收发模块,还用于在所述查找模块查找到所述FDB表中不存在所述单播报文的目的MAC地址时,向所述CPU发送DA消息,并接收来自所述CPU的出端口信息或伪MAC地址表项,根据所述出端口信息或伪MAC地址表项发送所述上行单播报文,并停止向所述CPU发送DA消息;
所述CPU,还用于接收并分析来自所述转发芯片的DA消息,查找所述网络设备的其他转发芯片中是否存在所述上行单播报文的目的MAC地址对应的出端口信息;如果存在,将所述上行单播报文的目的MAC地址和出端口信息添加到所述转发芯片的FDB表中;如果不存在,向所述转发芯片下发伪MAC地址表项。
优选地,所述转发芯片,还包括:
老化模块,与所述存储模块连接,用于对所述存储模块存储的MAC地址表项进行老化;
所述收发模块,与所述老化模块连接,还用于向所述CPU发送老化地址消息。
与现有技术相比,本发明具有以下优点:本发明通过单播报文的广播,能够自动、高效地维护FDB表,包括多个转发芯片之间的自动学习和老化,而不需要借助CPU的干预,能够最大化地利用硬件资源。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对本发明或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为网络设备的架构示意图;
图2为本发明中的一种MAC地址表项学习方法流程图;
图3为本发明应用场景中的MAC地址表项学习系统结构示意图;
图4为本发明应用场景中通过上行单播报文学习MAC地址表项的流程图;
图5为本发明应用场景中通过下行单播报文学习MAC地址表项的流程图;
图6为本发明应用场景中的一种网络设备结构示意图。
具体实施方式
本发明提供的技术方案中,其核心思想为在不影响交换网的前提下,利用交换网的未知单播报文进行广播的特点,实现MAC地址表项的跨芯片、高效率自动学习。
下面将结合本发明中的附图,对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图2所示,为本发明中的一种MAC地址表项学习方法流程图,应用于包括转发芯片和CPU的网络设备中,该方法包括以下步骤:
步骤201,转发芯片接收单播报文,记录单播报文的源MAC地址和入端口信息。
其中,单播报文包括来自业务端口的上行单播报文和来自交换网的下行单播报文。本发明中的转发芯片可以为FPGA(Field-Programmable Gate Array,现场可编程门阵列),可以通过编程对2层的未知单播可以做到上行、下行的MAC地址学习;而现有的转发芯片对于下行的MAC地址学习功能比较欠缺。
步骤202,转发芯片查找FDB表中是否存在单播报文的源MAC地址,如果FDB表中不存在所述单播报文的源MAC地址,则执行步骤203;如果存在则结束流程。
具体地,如果FDB表中存在单播报文的源MAC地址,转发芯片判断FDB表中源MAC地址对应的出端口信息和单播报文的出端口信息是否一致,如果判断结果为不一致,即转发芯片的端口出现迁移现象,转发芯片将单播报文的源MAC地址和出端口信息更新到FDB表中。
步骤203,转发芯片将单播报文的源MAC地址和入端口信息添加到FDB表中。
其中,转发芯片中还保存一份硬件计数表和VLAN、PORT(端口)限制表,上述表项用于控制和统计转发芯片对MAC地址表项的学习,便于CPU的查询使用。
转发芯片还可以查找FDB表中是否存在单播报文的目的MAC地址,如果FDB表中不存在该单播报文的目的MAC地址,则将该单播报文发送到VLAN的所有出端口。
当单播报文为上行单播报文时,转发芯片查找到FDB表中不存在单播报文的目的MAC地址后,还可以向CPU发送DA(Destination Address,目的地址)消息;随后,接收来自CPU的出端口信息或伪MAC地址表项,根据出端口信息或伪MAC地址表项发送上述上行单播报文,并停止向CPU发送DA消息。
转发芯片还可以对自身保存的MAC地址表项进行老化,并向CPU发送AA(Aged Address,老化地址)消息,以便于后续管理。具体地,各个芯片内存自身记录并管理所有MAC地址表项,包括自身端口学习的MAC地址和通过其他芯片学习的MAC地址,将MAC地址表项统一配置成可老化的MAC地址,老化时间可配置,且整框转发芯片的老化时间一致。而在现有技术中,对于跨芯片的MAC地址不做老化,需要接收来自最先学习该MAC地址的转发芯片的老化消息。
本发明中的转发芯片能够自动、高效地维护FDB表,包括多个转发芯片之间的自动学习和老化,而不需要借助CPU的干预,能够最大化地利用硬件资源。
如图3所示,为本发明应用场景中的MAC地址表项学习系统结构示意图,包括交换网以及与交换网连接的转发芯片0、转发芯片1和转发芯片2,上述转发芯片均与各自的CPU连接。各转发芯片既可以接收来自业务端口的上行单播报文,也可以接收来自交换网的下行单播报文。
以下结合上述应用场景,对本发明中的MAC地址表项学习方法进行详细、具体的描述。
如图4所示,为本发明应用场景中通过上行单播报文学习MAC地址表项的流程图,具体包括以下步骤:
步骤401,转发芯片0接收来自业务端口的上行单播报文,记录该上行单播报文的源MAC地址和入端口信息。
步骤402,转发芯片0查找FDB表中是否存在上行单播报文的源MAC地址,如果FDB表中不存在该上行单播报文的源MAC地址,则执行步骤403;如果存在,则执行步骤404。
步骤403,转发芯片0将上行单播报文的源MAC地址和入端口信息添加到FDB表中,向CPU发送AU(Address Update,地址更新)消息,并向交换网广播包含上行单播报文的源MAC地址的报文。
其中,转发芯片0需要执行以下保护功能,对于同一份的流量,在一定时间内只送一份AU消息给CPU,防止向CPU的上送量过大。
步骤404,转发芯片0查找FDB表中是否存在上行单播报文的目的MAC地址,如果FDB表中不存在该上行单播报文的目的MAC地址,则执行步骤406;如果存在,则执行步骤405。
步骤405,转发芯片0根据FDB表,将上行单播报文发送到出端口。
步骤406,转发芯片0将上行单播报文发送到VLAN的所有出端口,并向CPU发送DA消息。
具体地,由于转发芯片0没有上行单播报文的目的MAC地址,会一直处于广播状态,网络设备中的其他转发芯片均会接收到来自交换网的单播报文,而只有保存有该单播报文的目的MAC地址的转发芯片才能将该单播报文以单播方式发送出去。因此,当存在上行单播报文时,为了控制没有保存该上行单播报文的目的MAC地址的转发芯片对该上行单播报文的广播,需要由接收到该上行单播报文的转发芯片向对应的CPU发送DA消息,由CPU根据该DA消息指示转发芯片处理上述上行单播报文。
另外,转发芯片0还需要执行以下保护功能,对于同一份的流量,在一定时间内只送一份DA消息给CPU,防止向CPU的上送量过大。
步骤407,CPU分析接收到的DA消息,查找网络设备的其他转发芯片中是否存在上行单播报文的目的MAC地址对应的出端口信息,如果存在,则执行步骤408;如果不存在,则执行步骤410。
具体地,CPU中可以保存一份软件FDB表,该软件FDB表用于查找MAC地址表项,并根据查找结果判断上行单播报文是否为单向流量;如果CPU查找硬件FDB表方便且速率很快,也可以不保存软件FDB表。
步骤408,CPU将上行单播报文的目的MAC地址和出端口信息添加到转发芯片0的FDB表中,并记录上述信息。
另外,如果CPU发现其他芯片存在上述上行单播报文的目的MAC地址对应的AU消息,则表示该上行单播报文的出端口信息发生了迁移,相应地,CPU修改转发芯片0的FDB表项中的出端口信息。
步骤409,转发芯片0停止向CPU发送DA消息,并根据CPU添加的目的MAC地址和出端口信息,将对应的上行单播报文进行单播发送。
步骤410,CPU向转发芯片0下发伪MAC地址表项,并记录该伪MAC地址表项。
步骤411,转发芯片0接收来自CPU的伪MAC地址表项,停止向CPU发送DA消息,并根据CPU下发的伪MAC地址表项,将对应的上行单播报文进行单播发送。
其中,伪MAC地址表项为网络设备中不存在的MAC地址表项,用于使处于广播状态的转发芯片停止广播报文和发送DA消息。
需要说明的是,本发明方法可以根据实际需要对各个步骤顺序进行调整。
本发明中的转发芯片能够自动、高效地维护FDB表,包括多个转发芯片之间的自动学习和老化,能够最大化地利用硬件资源。
如图5所示,为本发明应用场景中通过下行单播报文学习MAC地址表项的流程图,具体包括以下步骤:
步骤501,转发芯片0接收来自交换网的下行单播报文,记录该下行单播报文的源MAC地址和入端口信息。
步骤502,转发芯片0查找FDB表中是否存在下行单播报文的源MAC地址,如果FDB表中不存在该下行单播报文的源MAC地址,则执行步骤503;如果存在,则执行步骤504。
步骤503,转发芯片0将下行单播报文的源MAC地址和入端口信息添加到FDB表中,向CPU发送AU消息。
步骤504,转发芯片0查找FDB表中是否存在下行单播报文的目的MAC地址,如果FDB表中不存在该下行单播报文的目的MAC地址,则执行步骤506;如果存在,则执行步骤505。
步骤505,转发芯片0根据FDB表,将下行单播报文发送到出端口。
步骤506,转发芯片0将下行单播报文发送到VLAN的所有出端口。
需要说明的是,本发明方法可以根据实际需要对各个步骤顺序进行调整。
本发明中的转发芯片能够自动、高效地维护FDB表,包括多个转发芯片之间的自动学习和老化,而不需要借助CPU的干预,能够最大化地利用硬件资源。
本发明在上述实施方式中提供了MAC地址表项学习方法和多种应用场景,相应地,本发明还提供了应用上述MAC地址表项学习方法的装置。
如图6所示,如本发明应用场景中的一种网络设备结构示意图,包括转发芯片610和CPU 620,该转发芯片610包括收发模块611、记录模块612、存储模块613、查找模块614、判断模块615、添加模块616和老化模块617,其中,
收发模块611,用于接收单播报文。
上述收发模块611,与查找模块614连接,还用于在查找模块614查找到FDB表中不存在单播报文的目的MAC地址时,将该单播报文发送到VLAN的所有出端口。
上述单播报文为上行单播报文时,上述收发模块611,还用于在查找模块614查找到FDB表中不存在单播报文的目的MAC地址时,向CPU 620发送DA消息,并接收来自CPU 620的出端口信息或伪MAC地址表项,根据该出端口信息或伪MAC地址表项发送上行单播报文,并停止向CPU 620发送DA消息。
具体地,当转发芯片610没有上行单播报文的目的MAC地址时,会一直处于广播状态,网络设备中的其他转发芯片均会接收到来自交换网的单播报文,而只有保存有该单播报文的目的MAC地址的转发芯片才能将该单播报文以单播方式发送出去。因此,当存在上行单播报文时,为了控制没有保存该上行单播报文的目的MAC地址的转发芯片对该上行单播报文的广播,需要由接收到该上行单播报文的转发芯片610向对应的CPU 620发送DA消息,由CPU 620根据该DA消息指示转发芯片610处理上述上行单播报文。
另外,转发芯片610还需要执行以下保护功能,对于同一份的流量,在一定时间内只送一份DA消息给CPU 620,防止向CPU 620的上送量过大。
所述CPU 620,还用于接收并分析来自转发芯片610的DA消息,查找所述网络设备的其他转发芯片中是否存在所述上行单播报文的目的MAC地址对应的出端口信息;如果存在,将所述上行单播报文的目的MAC地址和出端口信息添加到转发芯片610的FDB表中;如果不存在,向转发芯片610下发伪MAC地址表项。
具体地,CPU 620中可以保存一份软件FDB表,该软件FDB表用于查找MAC地址表项,并根据查找结果判断上行单播报文是否为单向流量;如果CPU 620查找硬件FDB表方便且速率很快,也可以不保存软件FDB表。
其中,伪MAC地址表项为网络设备中不存在的MAC地址表项,用于使处于广播状态的转发芯片停止广播报文和发送DA消息。
上述收发模块611,与老化模块617连接,还用于向CPU发送老化地址消息。
记录模块612,与收发模块611连接,用于记录收发模块611接收到的单播报文的源MAC地址和入端口信息。
存储模块613,用于存储FDB表。
查找模块614,与记录模块612和存储模块613连接,用于查找存储模块613存储的FDB表中是否存在记录模块612记录的单播报文的源MAC地址。
上述查找模块614,还用于查找FDB表中是否存在单播报文的目的MAC地址。
判断模块615,与查找模块614连接,用于在查找模块614查找到FDB表中存在单播报文的源MAC地址时,判断FDB表中源MAC地址对应的出端口信息和单播报文的出端口信息是否一致。
添加模块616,与查找模块614和存储模块613连接,用于在查找模块614查找到FDB表中不存在单播报文的源MAC地址时,将该单播报文的源MAC地址和入端口信息添加到存储模块613存储的FDB表中,该单播报文包括来自业务端口的上行单播报文和来自交换网的下行单播报文。
上述添加模块616,与判断模块615连接,还用于在判断模块615的判断结果为不一致时,将单播报文的源MAC地址和出端口信息更新到FDB表中。
老化模块617,与存储模块613连接,用于对存储模块613存储的MAC地址表项进行老化。
本发明中的转发芯片能够自动、高效地维护FDB表,包括多个转发芯片之间的自动学习和老化,而不需要借助CPU的干预,能够最大化地利用硬件资源。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端设备(可以是手机,个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以集成于一体,也可以分离部署;可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。

Claims (10)

1、一种媒体访问控制MAC地址表项学习方法,应用于包括转发芯片和中央处理单元CPU的网络设备中,其特征在于,所述方法包括以下步骤:
所述转发芯片接收单播报文,记录所述单播报文的源MAC地址和入端口信息;
所述转发芯片查找转发数据库FDB表中是否存在所述单播报文的源MAC地址,如果所述FDB表中不存在所述单播报文的源MAC地址,则将所述单播报文的源MAC地址和入端口信息添加到所述FDB表中,所述单播报文包括来自业务端口的上行单播报文和来自交换网的下行单播报文。
2、如权利要求1所述的方法,其特征在于,所述转发芯片查找FDB表中是否存在单播报文的源MAC地址之后,还包括:
如果所述FDB表中存在所述单播报文的源MAC地址,所述转发芯片判断所述FDB表中所述源MAC地址对应的出端口信息和所述单播报文的出端口信息是否一致,如果判断结果为不一致,所述转发芯片将所述单播报文的源MAC地址和出端口信息更新到所述FDB表中。
3、如权利要求1所述的方法,其特征在于,还包括:
所述转发芯片查找所述FDB表中是否存在所述单播报文的目的MAC地址,如果所述FDB表中不存在所述单播报文的目的MAC地址,则将所述单播报文发送到虚拟局域网VLAN的所有出端口。
4、如权利要求1或3所述的方法,其特征在于,所述单播报文为上行单播报文时,所述转发芯片查找到所述FDB表中不存在所述单播报文的目的MAC地址之后,还包括:
所述转发芯片向所述CPU发送目的地址DA消息,所述CPU分析接收到的DA消息,查找所述网络设备的其他转发芯片中是否存在所述上行单播报文的目的MAC地址对应的出端口信息;
如果存在,所述CPU将所述上行单播报文的目的MAC地址和出端口信息添加到所述转发芯片的FDB表中,使所述转发芯片停止向所述CPU发送DA消息,并根据所述CPU添加的目的MAC地址和出端口信息,将对应的上行单播报文进行单播发送;
如果不存在,所述CPU向所述转发芯片下发伪MAC地址表项,使所述转发芯片停止向所述CPU发送DA消息,并根据所述CPU下发的伪MAC地址表项,将对应的上行单播报文进行单播发送。
5、如权利要求1所述的方法,其特征在于,还包括:
所述转发芯片对自身保存的MAC地址表项进行老化,并向所述CPU发送老化地址消息。
6、一种网络设备,包括转发芯片和CPU,其特征在于,所述转发芯片包括:
收发模块,用于接收单播报文;
记录模块,与所述收发模块连接,用于记录所述收发模块接收到的单播报文的源MAC地址和入端口信息;
存储模块,用于存储FDB表;
查找模块,与所述记录模块和所述存储模块连接,用于查找所述存储模块存储的FDB表中是否存在所述记录模块记录的单播报文的源MAC地址;
添加模块,与所述查找模块和所述存储模块连接,用于在所述查找模块查找到所述FDB表中不存在所述单播报文的源MAC地址时,将所述单播报文的源MAC地址和入端口信息添加到所述存储模块存储的FDB表中,所述单播报文包括来自业务端口的上行单播报文和来自交换网的下行单播报文。
7、如权利要求6所述网络设备,其特征在于,所述转发芯片还包括:
判断模块,与查找模块连接,用于在所述查找模块查找到所述FDB表中存在所述单播报文的源MAC地址时,判断所述FDB表中所述源MAC地址对应的出端口信息和所述单播报文的出端口信息是否一致;
所述添加模块,与所述判断模块连接,还用于在所述判断模块的判断结果为不一致时,将所述单播报文的源MAC地址和出端口信息更新到所述FDB表中。
8、如权利要求6所述网络设备,其特征在于,
所述查找模块,还用于查找所述FDB表中是否存在所述单播报文的目的MAC地址;
所述收发模块,与所述查找模块连接,还用于在所述查找模块查找到所述FDB表中不存在所述单播报文的目的MAC地址时,将所述单播报文发送到VLAN的所有出端口。
9、如权利要求8所述网络设备,其特征在于,所述单播报文为上行单播报文时,
所述收发模块,还用于在所述查找模块查找到所述FDB表中不存在所述单播报文的目的MAC地址时,向所述CPU发送DA消息,并接收来自所述CPU的出端口信息或伪MAC地址表项,根据所述出端口信息或伪MAC地址表项发送所述上行单播报文,并停止向所述CPU发送DA消息;
所述CPU,还用于接收并分析来自所述转发芯片的DA消息,查找所述网络设备的其他转发芯片中是否存在所述上行单播报文的目的MAC地址对应的出端口信息;如果存在,将所述上行单播报文的目的MAC地址和出端口信息添加到所述转发芯片的FDB表中;如果不存在,向所述转发芯片下发伪MAC地址表项。
10、如权利要求6所述网络设备,其特征在于,所述转发芯片还包括:
老化模块,与所述存储模块连接,用于对所述存储模块存储的MAC地址表项进行老化;
所述收发模块,与所述老化模块连接,还用于向所述CPU发送老化地址消息。
CN2009101742224A 2009-09-23 2009-09-23 一种媒体访问控制mac地址表项学习方法和装置 Active CN101651627B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009101742224A CN101651627B (zh) 2009-09-23 2009-09-23 一种媒体访问控制mac地址表项学习方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009101742224A CN101651627B (zh) 2009-09-23 2009-09-23 一种媒体访问控制mac地址表项学习方法和装置

Publications (2)

Publication Number Publication Date
CN101651627A true CN101651627A (zh) 2010-02-17
CN101651627B CN101651627B (zh) 2013-01-09

Family

ID=41673747

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009101742224A Active CN101651627B (zh) 2009-09-23 2009-09-23 一种媒体访问控制mac地址表项学习方法和装置

Country Status (1)

Country Link
CN (1) CN101651627B (zh)

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102209043A (zh) * 2011-07-22 2011-10-05 杭州华三通信技术有限公司 一种媒质访问控制地址表项更新方法和网络设备
CN102215152A (zh) * 2010-04-01 2011-10-12 杭州华三通信技术有限公司 一种在虚拟设备之间实现流量间隔的方法和系统
CN102904803A (zh) * 2012-09-27 2013-01-30 杭州华三通信技术有限公司 一种报文传输方法和设备
CN102932227A (zh) * 2012-10-29 2013-02-13 烽火通信科技股份有限公司 一种实现vlan网桥桥接技术的方法
CN103209130A (zh) * 2013-04-22 2013-07-17 杭州华三通信技术有限公司 一种同步mac地址表项的方法及转发芯片
CN103368850A (zh) * 2013-07-16 2013-10-23 杭州华三通信技术有限公司 一种目的未知单播报文的处理方法和设备
CN103516609A (zh) * 2013-09-17 2014-01-15 杭州华三通信技术有限公司 一种业务报文的传输方法和设备
WO2014067328A1 (zh) * 2012-10-31 2014-05-08 中兴通讯股份有限公司 二层转发方法及转发设备
CN104410575A (zh) * 2014-12-05 2015-03-11 盛科网络(苏州)有限公司 多芯片堆叠模式下mac地址硬件学习装置及方法
CN104660526A (zh) * 2013-11-22 2015-05-27 华为技术有限公司 Mac表项学习方法和装置
CN105227464A (zh) * 2014-06-23 2016-01-06 杭州华三通信技术有限公司 Vcf系统中的报文转发方法及装置
CN106507228A (zh) * 2016-11-25 2017-03-15 成都广达新网科技股份有限公司 一种olt pon业务卡实现fdb软表更新的方法
CN108199962A (zh) * 2017-12-22 2018-06-22 新华三技术有限公司 地址迁移方法、装置、网络设备及可读存储介质
CN109905495A (zh) * 2019-02-22 2019-06-18 盛科网络(苏州)有限公司 一种降低cpu负载的方法及装置
CN111343107A (zh) * 2020-01-22 2020-06-26 盛科网络(苏州)有限公司 信息处理方法、以太网交换芯片以及存储介质
CN111885622A (zh) * 2020-07-15 2020-11-03 深圳市友华软件科技有限公司 兼容桥加速的wifi漫游方法和装置
CN112769701A (zh) * 2020-12-30 2021-05-07 杭州迪普信息技术有限公司 一种转发报文的方法及装置
CN113709067A (zh) * 2021-08-30 2021-11-26 苏州浪潮智能科技有限公司 一种多交换机的mac地址同步学习方法及相关装置
CN114900456A (zh) * 2022-05-17 2022-08-12 苏州雄立科技有限公司 一种mac地址管理装置及方法
CN115118681A (zh) * 2022-06-22 2022-09-27 烽火通信科技股份有限公司 一种软硬件相结合配置mac地址条目的方法、系统和装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7593400B2 (en) * 2006-05-19 2009-09-22 Corrigent Systems Ltd. MAC address learning in a distributed bridge
CN1996948B (zh) * 2006-12-28 2010-05-19 杭州华三通信技术有限公司 基于媒体访问控制层的报文转发方法和装置
CN101227400B (zh) * 2008-02-01 2011-12-28 中兴通讯股份有限公司 用于以太网的数据包处理方法和装置
CN101510882A (zh) * 2009-04-01 2009-08-19 杭州华三通信技术有限公司 一种媒体访问控制地址学习方法和装置

Cited By (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102215152A (zh) * 2010-04-01 2011-10-12 杭州华三通信技术有限公司 一种在虚拟设备之间实现流量间隔的方法和系统
CN102215152B (zh) * 2010-04-01 2014-02-26 杭州华三通信技术有限公司 一种在虚拟设备之间实现流量间隔的方法和系统
CN102209043A (zh) * 2011-07-22 2011-10-05 杭州华三通信技术有限公司 一种媒质访问控制地址表项更新方法和网络设备
CN102209043B (zh) * 2011-07-22 2015-09-30 杭州华三通信技术有限公司 一种媒质访问控制地址表项更新方法和网络设备
CN102904803A (zh) * 2012-09-27 2013-01-30 杭州华三通信技术有限公司 一种报文传输方法和设备
CN102904803B (zh) * 2012-09-27 2016-11-16 杭州华三通信技术有限公司 一种报文传输方法和设备
CN102932227B (zh) * 2012-10-29 2015-07-01 烽火通信科技股份有限公司 一种实现vlan网桥桥接技术的方法
CN102932227A (zh) * 2012-10-29 2013-02-13 烽火通信科技股份有限公司 一种实现vlan网桥桥接技术的方法
WO2014067328A1 (zh) * 2012-10-31 2014-05-08 中兴通讯股份有限公司 二层转发方法及转发设备
CN103209130A (zh) * 2013-04-22 2013-07-17 杭州华三通信技术有限公司 一种同步mac地址表项的方法及转发芯片
CN103368850A (zh) * 2013-07-16 2013-10-23 杭州华三通信技术有限公司 一种目的未知单播报文的处理方法和设备
CN103368850B (zh) * 2013-07-16 2016-12-28 杭州华三通信技术有限公司 一种目的未知单播报文的处理方法和设备
CN103516609A (zh) * 2013-09-17 2014-01-15 杭州华三通信技术有限公司 一种业务报文的传输方法和设备
CN103516609B (zh) * 2013-09-17 2017-05-17 杭州华三通信技术有限公司 一种业务报文的传输方法和设备
CN104660526A (zh) * 2013-11-22 2015-05-27 华为技术有限公司 Mac表项学习方法和装置
CN104660526B (zh) * 2013-11-22 2018-03-16 华为技术有限公司 Mac表项学习方法和装置
CN105227464B (zh) * 2014-06-23 2019-01-18 新华三技术有限公司 Vcf系统中的报文转发方法及装置
CN105227464A (zh) * 2014-06-23 2016-01-06 杭州华三通信技术有限公司 Vcf系统中的报文转发方法及装置
CN104410575A (zh) * 2014-12-05 2015-03-11 盛科网络(苏州)有限公司 多芯片堆叠模式下mac地址硬件学习装置及方法
CN106507228A (zh) * 2016-11-25 2017-03-15 成都广达新网科技股份有限公司 一种olt pon业务卡实现fdb软表更新的方法
CN106507228B (zh) * 2016-11-25 2019-08-16 成都广达新网科技股份有限公司 一种olt pon业务卡实现fdb软表更新的方法
CN108199962A (zh) * 2017-12-22 2018-06-22 新华三技术有限公司 地址迁移方法、装置、网络设备及可读存储介质
CN109905495A (zh) * 2019-02-22 2019-06-18 盛科网络(苏州)有限公司 一种降低cpu负载的方法及装置
CN111343107A (zh) * 2020-01-22 2020-06-26 盛科网络(苏州)有限公司 信息处理方法、以太网交换芯片以及存储介质
CN111343107B (zh) * 2020-01-22 2022-03-04 苏州盛科通信股份有限公司 信息处理方法、以太网交换芯片以及存储介质
CN111885622B (zh) * 2020-07-15 2023-08-01 深圳市友华软件科技有限公司 兼容桥加速的wifi漫游方法和装置
CN111885622A (zh) * 2020-07-15 2020-11-03 深圳市友华软件科技有限公司 兼容桥加速的wifi漫游方法和装置
CN112769701A (zh) * 2020-12-30 2021-05-07 杭州迪普信息技术有限公司 一种转发报文的方法及装置
CN113709067A (zh) * 2021-08-30 2021-11-26 苏州浪潮智能科技有限公司 一种多交换机的mac地址同步学习方法及相关装置
CN113709067B (zh) * 2021-08-30 2022-11-25 苏州浪潮智能科技有限公司 一种多交换机的mac地址同步学习方法及相关装置
CN114900456A (zh) * 2022-05-17 2022-08-12 苏州雄立科技有限公司 一种mac地址管理装置及方法
CN114900456B (zh) * 2022-05-17 2023-10-31 苏州雄立科技有限公司 一种mac地址管理装置及方法
CN115118681A (zh) * 2022-06-22 2022-09-27 烽火通信科技股份有限公司 一种软硬件相结合配置mac地址条目的方法、系统和装置
CN115118681B (zh) * 2022-06-22 2023-05-30 烽火通信科技股份有限公司 一种软硬件相结合配置mac地址条目的方法、系统和装置

Also Published As

Publication number Publication date
CN101651627B (zh) 2013-01-09

Similar Documents

Publication Publication Date Title
CN101651627B (zh) 一种媒体访问控制mac地址表项学习方法和装置
US20200213419A1 (en) Service processing method, mobile edge computing device, and network device
US10230667B2 (en) Pre-sorter systems and methods for distributing GTP packets
US20210306272A1 (en) Network slice control method and apparatus, and computer readable storage medium
US8804732B1 (en) Methods and apparatus for separate control and data planes in a wireless network
WO2018082537A1 (en) Method and apparatus for stateful control of forwarding elements
US20170118112A1 (en) Methods and apparatus to route traffic in a virtual private network
US10104040B2 (en) Wireless local area network WLAN user roaming method, apparatus, and system
CN106878184B (zh) 一种数据报文传输方法和装置
US10645009B2 (en) Method and apparatus for programmable buffers in mobile networks
CN102143599B (zh) 相邻基站连接的建立方法、建立设备和建立系统
US20240022650A1 (en) Computing power application traffic forwarding method and apparatus
CN103209130A (zh) 一种同步mac地址表项的方法及转发芯片
CN103166858A (zh) 一种报文传输方法和设备
EP3490197A1 (en) Message forwarding
CN104022936A (zh) 一种隧道建立方法和装置
US10003569B2 (en) Network resource sharing for routing and forwarding information
CN104955128B (zh) 一种负荷信息传递方法和系统、以及网元
Pozza et al. A refactoring approach for optimizing mobile networks
CN101729420B (zh) 一种数据处理方法及装置
CN114303353A (zh) 云中的安全虚拟私人移动和ip网络
CN104754521A (zh) 一种报文转发方法、无线接入点、无线控制器和系统
US20230403223A1 (en) Data analysis apparatus management and control method and communication apparatus
US10848377B2 (en) Access point instantiation of a mesh network
CN103517332A (zh) 一种基站、数据处理方法及通信系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Patentee after: Xinhua three Technology Co., Ltd.

Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base

Patentee before: Huasan Communication Technology Co., Ltd.

CP03 Change of name, title or address