CN101958938B - 基于网络处理器的mac地址表的学习方法及装置 - Google Patents
基于网络处理器的mac地址表的学习方法及装置 Download PDFInfo
- Publication number
- CN101958938B CN101958938B CN2010101924808A CN201010192480A CN101958938B CN 101958938 B CN101958938 B CN 101958938B CN 2010101924808 A CN2010101924808 A CN 2010101924808A CN 201010192480 A CN201010192480 A CN 201010192480A CN 101958938 B CN101958938 B CN 101958938B
- Authority
- CN
- China
- Prior art keywords
- mac address
- list item
- port
- information
- address table
- 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
Links
Images
Abstract
本发明公开了一种基于网络处理器的MAC地址表的学习方法及装置,用以解决基于网络处理器技术中进行MAC地址表学习和老化时,造成的报文转发的失败率,NP资源浪费的问题。该方法根据接收的报文,对第一MAC地址表中包含该报文的源MAC表项信息进行修改,根据该修改信息对第二MAC地址表的信息进行修改,该第二MAC地址表用于报文转发时的目的MAC地址查询,因此本发明实施例提供的方法可以降低报文的转发失败率,同时由于该第一MAC地址表根据接收到的报文的源MAC地址进行相应表项的老化时间的更新,因此减小了表项不断添加的工作量,从而减小了对NP资源的浪费。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种基于网络处理器的媒体访问控制(Media Access Control,MAC)地址表的学习方法及装置。
背景技术
交换机一般通过自身维护的MAC地址表实现报文的快速转发。MAC地址表是一种基于端口的二层转发表,在MAC地址表中一般包括:目的MAC地址信息、转发端口所属虚拟局域网(Virtual Local Area Network,VLAN)标识(ID)信息以及转发端口的端口号信息。
交换机需要动态的学习获得MAC地址表,图1为现有技术中MAC地址表的学习过程,该过程包括以下步骤:
S101:交换机接收端口A转发的报文,该报文的源MAC地址例如为B,则交换机确认发送到目的MAC地址为B的报文可以由端口A进行转发。
S102:交换机判断自身的MAC地址表中是否存在目的MAC地址为B的MAC地址,当确定存在时,进行步骤S103,否则,进行步骤S104。
S103:交换机对该目的MAC地址表项进行更新,即更新该表项的老化时间。
S104:交换机将该MAC地址B作为目的MAC地址,端口A作为转发端口号,端口A所属的VLAN ID作为MAC地址表中的对应内容,建立相应的表项,并确定该表项的老化时间。
当交换机根据接收的该报文,对MAC地址表进行学习后需要对该报文进行转发,交换机根据学习获得的MAC地址表,查找转发的该报文的目的MAC地址是否包含在该MAC地址表中,当该报文的目的MAC地址包含在该MAC地址表中时,交换机转发该报文,当该MAC地址表中未包含该目的MAC地址时,则交换机将该报文发送到接收该报文的端口所属的VLAN内的其他端口,并当其他设备返回的回应信息时,根据该其他设备的MAC地址,将目的MAC地址为该其他设备的MAC地址表项的信息,添加到自身维护的MAC地址表中。
但是,交换机的存储空间是有限的,当存储空间被MAC地址表的表项占满时,交换机将无法学习新的表项,只能等表项被老化后,才能重新占用该老化表项的空间。因此在现有技术中提出了采用内存空间较大的网络处理器(Network Processor,NP)实现MAC地址表的维护。
现有技术中网络处理器在对MAC地址表进行维护时,由于其自身功能的缺陷,即在NP查询MAC地址表并进行MAC地址学习时,打开MAC地址表的老化更新功能,根据查询的过程对已有表项的老化时间进行自动更新,或者NP在查询MAC地址表并进行转发时将老化刷新功能关闭以防止因为查询而自动更新了已有表项的老化时间,由于MAC地址表的老化更新功能不能在MAC学习和转发过程中随时开启和关闭从而导致MAC地址表的学习、老化不智能。当在报文进行学习及报文转发过程中一直开启老化更新功能时,NP通过端口M接收到MAC地址为A的设备发送的报文,则NP学习到MAC-A、VLAN-X与端口(Port)-M的表项,但之后NP没有再接收到该MAC地址为A的设备发送的报文,但却一直接收到目的MAC地址为A的报文,则NP根据自身维护的MAC地址表,查询到MAC-A、VLAN-X与Port-M的表项,对该表项的老化时间进行更新,并且由于一直查询到该表项并一直对该表项的老化时间进行更新,因此导致该表项一直不能被老化掉,此过程中如果MAC地址为A的设备已经从端口M移走,如果还按照保存的表项进行报文的转发,将导致报文无法到达MAC地址为A的设备,从而提高了报文转发的失败率,同时也造成NP转发能力的浪费。
或者,在报文的MAC地址学习和转发的过程中一直关闭老化更新功能,当NP接收到MAC地址为A的报文,并学习到MAC-A、VLAN-X与Port-M的表项后,NP持续接收到来自MAC地址为A的报文,但由于MAC地址表项的老化更新功能关闭,因此当该MAC地址表项的老化时间到来时,NP将该表项的内容删除,当NP再接收到来自MAC地址为A的报文时,重新学习获得MAC-A、VLAN-X与Port-M的表项,因此造成了NP资源的浪费,并且也会延误报文的转发。
发明内容
有鉴于此,本发明实施例提供一种基于网络处理器的MAC地址表的学习方法及装置,用以解决现有基于网络处理器技术中进行MAC地址表学习和老化时,造成的报文转发的失败率,NP资源浪费的问题。
本发明实施例提供的一种基于网络处理器的媒体访问控制MAC地址表的学习方法,包括:
接收第一端口转发的报文,根据所述报文的源MAC地址信息,确定在保存的第一MAC地址表中是否存在包含所述源MAC地址信息和所述第一端口的端口号信息的表项;
当确定存在时,对该存在的表项的老化时间进行更新,否则,添加包含所述源MAC地址信息和所述第一端口的端口号信息的表项,并确定添加的所述表项的老化时间;
根据第一MAC地址表的修改信息,对第二MAC地址表的相应信息进行修改,其中,所述第二MAC地址表用于报文转发时的目的MAC地址查询。
本发明实施例提供的一种媒体访问控制MAC地址表的学习装置,包括:
接收判断模块,用于接收第一端口转发的报文,根据所述报文的源MAC地址信息,确定在保存的第一MAC地址表中是否存在包含所述源MAC地址信息和所述第一端口的端口号信息的表项;
修改模块,用于判断确定存在时,对该存在的表项的老化时间进行更新,否则,添加包含所述源MAC地址信息和所述第一端口的端口号信息的表项,并确定添加的所述表项的老化时间;
控制引擎模块,用于根据第一MAC地址表的修改信息,对第二MAC地址表的相应信息进行修改,其中,所述第二MAC地址表用于报文转发时的目的MAC地址查询。
本发明实施例提供了一种基于NP的MAC地址表的学习方法及装置,该方法,根据接收的报文,对第一MAC地址表中包含该报文的源MAC表项信息进行更新,或表项的添加,根据该修改信息对第二MAC地址表的信息进行修改,该第二MAC地址表用于报文转发时的目的MAC地址查询,因此当某一MAC地址的设备在一段时间内未发送报文时,包含该MAC地址的表项,由于长时间得不到老化时间的更新而被老化掉,从而可以降低报文的转发失败率,同时由于该第一MAC地址表根据接收到的报文的源MAC地址进行相应表项的老化时间的更新,因此减小了表项不断添加的工作量,从而减小了对NP资源的浪费。
附图说明
图1为现有技术中MAC地址表的学习过程;
图2为本发明实施例提供的基于NP的MAC地址表的学习方法;
图3为本发明实施例提供的基于NP的MAC地址表学习的方法;
图4为本发明实施例提供的基于NP进行MAC地址的另一学习过程;
图5为本发明实施例中进行报文转发过程的具体实施过程;
图6为本发明实施例提供的媒体访问控制MAC地址表的学习装置的结构示意图。
具体实施方式
本发明实施例为了有效的提高报文转发的成功率,并降低资源浪费的问题,提供了一种基于NP的MAC地址表的学习方法,该方法中通过第一MAC地址表,进行MAC地址的学习,从而实现第一MAC地址表中表项信息的更新和添加,第二MAC地址表根据第一MAC地址表中表项的修改信息进行相应的修改,该第二MAC地址表保存的表项信息用于报文转发时的目的MAC地址的查询。
下面结合说明书附图,对本发明实施例进行详细说明。
图2为本发明实施例提供的基于NP的MAC地址表的学习方法,该方法包括以下过程:
S201:接收第一端口转发的报文。
S202:根据所述报文的源MAC地址信息,确定在保存的第一MAC地址表中是否存在包含所述源MAC地址信息和所述第一端口的端口号信息的表项,当存在时,进行步骤S203,否则,进行步骤S204。
接收的报文中包含源MAC地址信息和目的MAC地址信息,因此根据接收到的报文,可以确定该报文的源MAC地址信息。
第一MAC地址表中保存有MAC地址信息、端口所属VLAN ID信息以及端口号信息三者之间的对应关系。因此根据报文的源MAC地址信息,以及第一MAC地址表的信息,可以确定该第一MAC地址表中是否存在包含该报文的源MAC地址信息和该第一端口的端口号信息的表项。
S203:对该存在的表项的老化时间进行更新。
S204:添加包含所述源MAC地址信息和所述第一端口的端口号信息的表项,并确定该添加的所述表项的老化时间。
S205:根据所述第一MAC地址表的修改信息,对所述第二MAC地址表的相应信息进行修改,其中所述第二MAC地址表用于报文转发时的目的MAC地址查询。
NP由于在报文学习和报文转发过程中只能同时开启MAC地址老化和更新功能,或者同时关闭MAC地址表老化和更新功能,因此导致报文发送的错误率较高,或者造成了NP资源的浪费。而在本发明实施例中在NP中保存至少两个MAC地址表,其中第一MAC地址表用于MAC地址表的学习,并且在第一MAC地址表中开启MAC地址的老化和更新功能,即在第一MAC地址表中进行新MAC地址的学习和对旧地址的老化,另外,根据第一MAC地址表的修改信息可以对第二MAC地址表进行相应的修改,该第二MAC地址表用于报文转发时的目的MAC地址查询。
在第一MAC地址表和第二MAC地址表间进行通信的可以为控制引擎。控制引擎可以根据第一MAC地址表的修改信息对第二MAC地址表的相应信息进行修改,其中该修改信息包括:第一MAC地址表中添加的表项的信息,第一MAC地址表中更新的信息,以及第一MAC地址表进行老化的信息。控制引擎当接收到第一MAC地址表的修改信息后,通过调用NP的微码将添加的信息添加到第二MAC地址表中,根据更新的信息对第二MAC地址表中的对应项进行更新,根据老化的信息对第二MAC地址表的相应表项进行老化。
在NP中第一MAC地址表中保存有MAC地址信息、端口所属VLAN ID信息以及端口号信息三者之间的对应关系。其中在第一MAC地址表中保存的MAC地址信息可以为源MAC地址信息,端口所属VLAN ID可以为接收该报文的端口所属的虚拟局域网的标识信息,端口号信息可以为接收该报文的端口的端口号信息。
当NP接收到第一端口转发的报文时,获取该报文的源MAC地址信息,以及该第一端口所属VLAN ID信息,在保存的第一MAC地址表中判断是否存在包含该源MAC地址信息和第一端口所属VLAN ID信息的表项,当判断存在时,继而再判断是否该表项中包含的端口号信息是否为第一端口的端口号信息,从而确定对该表项的老化时间进行更新,或添加对应的表项。下面对该过程进行详细描述。
图3为本发明实施例提供的基于NP的MAC地址表学习的方法,该方法包括:
S301:NP接收第一端口转发的报文,获取该报文的源MAC地址信息,以及该第一端口所属的VLAN ID信息。
S302:在保存的第一MAC地址表中判断是否存在包含所述源MAC地址信息和所述第一端口所属的VLAN ID信息的表项,当判断存在时,进行步骤S303,否则,进行步骤S306。
S303:判断该存在的表项中包含的端口号信息是否与第一端口的端口号信息一致,当判断一致时,进行步骤S304,否则,进行步骤S305。
S304:对该存在的表项的老化时间自动进行更新,即使该表项被老化掉的时间延迟。
S305:根据该第一端口的端口号信息,对该存在的表项中包含的端口号信息进行更新,即使该表项中包含的端口号信息更新为该第一端口的端口号信息,之后进行步骤S307。
S306:在该第一MAC地址表中添加对应的表项,其中该添加的表项中包含该报文的源MAC地址信息、该第一端口所属VLAN ID信息以及第一端口的端口号信息,之后进行步骤S307。
S307:NP根据第一MAC地址表的修改信息,将包含表项修改信息的信息发送到控制引擎。
其中该NP根据第一MAC地址表的更新后的表项,将该更新后的表项信息发送到控制引擎。NP根据第一MAC地址表中添加的表项信息,将该添加的表项信息发送到控制引擎。
S308:控制引擎接收到该包含表项修改信息的信息,根据该修改信息启动微码对该第二MAC地址表的相应信息进行修改。
在MAC地址的学习过程中,基于第一MAC地址表进行,基于第一MAC地址表也可以实现MAC地址的学习,并且在第一MAC地址表中根据MAC地址的查询对相应表项的老化时间进行更新。当第一MAC地址表中有相应的修改信息时,通过控制引擎将相应的修改信息发送到第二MAC地址表,根据该修改信息对该第二MAC地址表的相应表项进行修改。
NP内部通常由若干个微码处理器和若干硬件协处理器组成。多个微码处理器在NP内部可以并行处理,通过预先编制的微码可以控制处理流程。并且,NP完全支持编程,编程的模式简单,一旦有新的技术或新需求出现时,可以通过微码编程方便的实现。上述通过微码对表项进行相应修改的操作,相信本领域技术人员可以根据本发明实施例的描述进行具体的实现。
由于在本发明的上述实施例中当NP接收到报文后,根据该报文的源MAC地址信息,对第一MAC地址表中相应的表项进行老化时间的更新,因此当某一MAC地址的设备,长时间不发送报文时,包含该MAC地址信息的表项的老化时间会长时间得不到更新,当老化时间到来时,该表项将被老化掉,并且当某一MAC地址的设备转移到其他端口时,当NP查找到对应的端口号信息不一致时,也会进行端口号信息的更新,因此避免了报文的发送错误。
MAC地址表中的每个表项中还包含该表项的老化时间信息,当该表项由于长时间未使用,其自身的老化时间到达,而导致该表项老化掉。在本发明实施例中对MAC地址表中的表项的老化基于第一MAC地址表中记录的各表项的老化时间进行。
图4为本发明实施例提供的基于NP进行MAC地址的另一学习过程,即对MAC地址的老化过程,该过程包括以下步骤:
S401:NP查找第一MAC地址表中各表项的老化时间是否到达。
NP的MAC地址老化功能将自动的对第一MAC地址表中的各表项的老化时间进行查找,确定每个表项的老化时间是否到达。
S402:当查找到某一表项的老化时间到来时,NP自动删除第一MAC地址表中的该表项。
S403:将第一MAC地址表中对该表项的删除信息,通过控制引擎发送到第二MAC地址表。
S404:在第二MAC地址表中根据该控制引擎发送的删除信息,对该第二MAC地址表中相应的表项进行删除。
由于控制引擎接收到的对第二MAC地址表的修改信息可能为对第二MAC地址表的更新信息、添加信息或老化信息等,因此当控制引擎接收到相应的修改信息,可以通过启动微码根据该修改信息,对第二MAC地址表的相应信息进行修改。
在本发明的上述实施例中,NP根据第一MAC地址表中各表项的老化时间,对各表项进行相应的老化处理,并且由于第一MAC地址表根据接收到的报文中包含的源MAC地址信息,对对应的表项的老化时间进行更新,因此当某一MAC地址的设备正常发送报文时,包含该MAC地址的表项的老化时间将不断得到更新,该表项将第一MAC地址表中保存的时间增长,从而可以减小了表项不断添加的工作量,从而减小了对NP资源的浪费。
第二MAC地址表中保存的表项的信息,根据第一MAC地址表的相应修改信息进行修改,但第二MAC地址表只用于报文转发时的目的MAC地址的查询。虽然在第二MAC地址表中某些表项被使用的频率较高,但该表项并不因为该查询使用操作而更新老化时间,MAC地址的学习和老化的操作只根据第一MAC地址表的信息进行。
第二MAC地址表中保存的MAC地址信息可以用于在进行报文转发时的MAC地址查询,图5为本发明实施例中进行报文转发过程的具体实施过程,该过程包括:
S501:根据接收的报文,及所述第二MAC地址表中保存的各表项信息,查找该第二MAC地址表包含该目的MAC地址的表项。
S502:判断是否查找到包含该目的MAC的表项,当查找到时,进行步骤S503,否则,进行步骤S504。
S503:根据该表项中的目的MAC地址对应的第二端口的端口号,采用该端口号的第二端口转发所述报文。
S504:将所述报文转发到所述第一端口所在虚拟局域网内的其他端口上,指示所述其他端口转发所述报文。
由于在本发明实施例中通过第一MAC地址表进行MAC地址的学习和老化,而第二MAC地址表用于报文转发时的目的MAC地址的查询,并且第二MAC地址表根据第一MAC地址表的修改信息进行相应的修改,因此当某一MAC地址的设备在一端时间内未发送报文时,包含该MAC地址的表项,由于长时间得不到老化时间的更新而被老化掉,从而可以降低报文的转发失败率,同时由于该第一MAC地址表根据接收到的报文的源MAC地址进行相应表项的老化时间的更新,因此减小了表项不断添加的工作量,从而减小了对NP资源的浪费。并且采用本发明实施例提供的上述实施方式在具体实现时软件结构简单,软件处理开销小,性能稳定。
图6为本发明实施例提供的媒体访问控制MAC地址表的学习装置的结构示意图,该装置具体包括:
接收判断模块61,用于接收第一端口转发的报文,根据所述报文的源MAC地址信息,确定在保存的第一MAC地址表中是否存在包含所述源MAC地址信息和所述第一端口的端口号信息的表项;
修改模块62,用于判断确定存在时,对该存在的表项的老化时间进行更新,否则,添加包含所述源MAC地址信息和所述第一端口的端口号信息的表项,并确定添加的所述表项的老化时间;
控制引擎模块63,用于根据第一MAC地址表的修改信息,对第二MAC地址表的相应信息进行修改,其中,所述第二MAC地址表用于报文转发时的目的MAC地址查询。
所述接收判断模块61包括:
第一判断单元611,用于在保存的第一MAC地址表中判断是否存在包含所述源MAC地址和所述第一端口所属的虚拟局域网的标识信息的表项;
第二判断单元612,用于在第一判断单元判断存在时,判断所述表项包含的端口号信息是否与所述第一端口的端口号一致;
第一确定单元613,用于在所述第二判断单元判断一致时,确定在所述第一MAC地址表中存在包含所述源MAC地址信息和所述第一端口的端口号信息的表项。
所述接收判断模块61还包括:
第二确定单元614,用于在第一判断单元判断不存在时,或判断存在,但第二判断单元判断该存在的所述表项包含的端口号信息与所述第一端口的端口号不一致时,确定在所述第一MAC地址表中不存在包含所述源MAC地址信息和所述第一端口的端口号信息的表项。
所述修改模块62具体用于,当所述第二判断单元612判断所述表项中包含的端口号信息与所述第一端口的端口号信不一致时,根据所述第一端口的端口号信息,更新该存在的所述表项包含的端口号信息。
所述控制引擎模块63包括:
第一修改单元631,用于根据所述第一MAC地址表中添加的所述表项,在所述第二MAC地址表中添加对应的表项;
第二修改单元632,用于根据所述表项的更新,在所述第二MAC地址表对对应的表项进行更新。
所述装置还包括:
老化模块64,用于根据保存的第一MAC地址表的各表项的老化时间信息,当表项的老化时间到来时,将该表项删除。
所述老化模块64还用于,
根据所述第一MAC地址表中对该表项的删除信息,对该第二MAC地址表中相应的表项进行删除。
所述装置还包括:
查询转发模块65,用于根据所述第二MAC地址表保存的各表项信息,查找包含所述报文的目的MAC地址的表项,当查找到对应的表项时,确定查找到的所述表项中的目的MAC地址对应的第二端口的端口号,采用该端口号的第二端口转发所述报文,否则,将所述报文转发到所述第二端口所在虚拟局域网内的其他端口上,指示所述其他端口转发所述报文。
本发明实施例提供的上述MAC地址表的学习装置位于NP中。
当NP对第一MAC地址表进行相应信息修改时,可以将该第一MAC地址表的修改信息发送到控制引擎模块,通过控制引擎模块调用相应的微码将相应的修改信息发送到第二MAC地址表中,实现对第二MAC地址表相应信息的修改。
本发明实施例提供了一种基于NP的MAC地址表的学习方法及装置,该方法,根据接收的报文,对第一MAC地址表中包含该报文的源MAC表项信息进行更新,或表项的添加,根据该修改信息对第二MAC地址表的信息进行修改,该第二MAC地址表用于报文转发时的目的MAC地址查询,因此当某一MAC地址的设备在一端时间内未发送报文时,包含该MAC地址的表项,由于长时间得不到老化时间的更新而被老化掉,从而可以降低报文的转发失败率,同时由于该第一MAC地址表根据接收到的报文的源MAC地址进行相应表项的老化时间的更新,因此减小了表项不断添加的工作量,从而减小了对NP资源的浪费。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (16)
1.一种基于网络处理器的媒体访问控制MAC地址表的学习方法,其特征在于,所述方法包括:
接收第一端口转发的报文,根据所述报文的源MAC地址信息,确定在保存的第一MAC地址表中是否存在包含所述源MAC地址信息和所述第一端口的端口号信息的表项;
当确定存在时,对该存在的表项的老化时间进行更新,否则,添加包含所述源MAC地址信息和所述第一端口的端口号信息的表项,并确定添加的所述表项的老化时间;
根据第一MAC地址表的修改信息,对第二MAC地址表的相应信息进行修改,其中,所述第二MAC地址表用于报文转发时的目的MAC地址查询。
2.如权利要求1所述的方法,其特征在于,确定在保存的第一MAC地址表中存在所述源MAC地址信息和所述第一端口的端口号信息的表项包括:
在保存的第一MAC地址表中判断是否存在包含所述源MAC地址信息和所述第一端口所属的虚拟局域网的标识信息的表项;
当判断存在时,判断所述表项包含的端口号信息是否与所述第一端口的端口号一致,当判断一致时,确定在所述第一MAC地址表中存在包含所述源MAC地址信息和所述第一端口的端口号信息的表项。
3.如权利要求1所述的方法,其特征在于,确定在保存的第一MAC地址表中不存在所述源MAC地址信息和所述第一端口的端口号信息的表项包括:
在保存的第一MAC地址表中判断是否存在包含所述源MAC地址信息和所述第一端口所属的虚拟局域网的标识信息的表项;
当判断不存在时,或,当判断存在,但该存在的所述表项包含的端口号信息与所述第一端口的端口号不一致时,确定在所述第一MAC地址表中不存在包含所述源MAC地址信息和所述第一端口的端口号信息的表项。
4.如权利要求3所述的方法,其特征在于,当该存在的所述表项包含的端口号信息与所述第一端口的端口号不一致时,所述添加包含所述源MAC地址信息和所述第一端口的端口号信息的表项包括:
根据所述第一端口的端口号信息,将该存在的所述表项中包含的端口号信息更新为所述第一端口的端口号信息。
5.如权利要求1~4任一所述的方法,其特征在于,所述对第二MAC地址表的相应信息进行修改包括:
根据所述第一MAC地址表中添加的所述表项,在所述第二MAC地址表中添加对应的表项;或,
根据所述表项的更新,在所述第二MAC地址表对对应的表项进行更新。
6.如权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述第一MAC地址表的各表项的老化时间信息,当表项的老化时间到来时,将该表项删除。
7.如权利要求6所述的方法,其特征在于,当该修改信息为删除信息时,所述对第二MAC地址表的相应信息进行修改包括:
根据所述第一MAC地址表中对该表项的删除信息,对该第二MAC地址表中相应的表项进行删除。
8.如权利要求1~4、6、7任一所述的方法,其特征在于,所述方法还包括:
根据所述第二MAC地址表保存的各表项信息,查找包含所述报文的目的MAC地址的表项;
当查找到对应的表项时,确定查找到的所述表项中的目的MAC地址对应的第二端口的端口号,采用该端口号的第二端口转发所述报文,
否则,将所述报文转发到所述第一端口所在虚拟局域网内的其他端口上,指示所述其他端口转发所述报文。
9.一种媒体访问控制MAC地址表的学习装置,其特征在于,所述装置包括:
接收判断模块,用于接收第一端口转发的报文,根据所述报文的源MAC地址信息,确定在保存的第一MAC地址表中是否存在包含所述源MAC地址信息和所述第一端口的端口号信息的表项;
修改模块,用于判断确定存在时,对该存在的表项的老化时间进行更新,否则,添加包含所述源MAC地址信息和所述第一端口的端口号信息的表项,并确定添加的所述表项的老化时间;
控制引擎模块,用于根据第一MAC地址表的修改信息,对第二MAC地址表的相应信息进行修改,其中,所述第二MAC地址表用于报文转发时的目的MAC地址查询。
10.如权利要求9所述的装置,其特征在于,所述接收判断模块包括:
第一判断单元,用于在保存的第一MAC地址表中判断是否存在包含所述源MAC地址信息和所述第一端口所属的虚拟局域网的标识信息的表项;
第二判断单元,用于在第一判断单元判断存在时,判断所述表项包含的端口号信息是否与所述第一端口的端口号一致;
第一确定单元,用于在所述第二判断单元判断一致时,确定在所述第一MAC地址表中存在包含所述源MAC地址信息和所述第一端口的端口号信息的表项。
11.如权利要求10所述的装置,其特征在于,所述接收判断模块还包括:
第二确定单元,用于在第一判断单元判断不存在时,或判断存在,但第二判断单元判断该存在的所述表项包含的端口号信息与所述第一端口的端口号不一致时,确定在所述第一MAC地址表中不存在包含所述源MAC地址信息和所述第一端口的端口号信息的表项。
12.如权利要求10所述的装置,其特征在于,所述修改模块具体用于,
当所述第二判断单元判断所述表项中包含的端口号信息与所述第一端口的端口号信不一致时,根据所述第一端口的端口号信息,将该存在的所述表项中包含的端口号信息更新为所述第一端口的端口号信息。
13.如权利要求9~12任一所述的装置,其特征在于,所述控制引擎模块包括:
第一修改单元,用于根据所述第一MAC地址表中添加的所述表项,在所述第二MAC地址表中添加对应的表项;
第二修改单元,用于根据所述表项的更新,在所述第二MAC地址表对对应的表项进行更新。
14.如权利要求9所述的装置,其特征在于,所述装置还包括:
老化模块,用于根据保存的第一MAC地址表的各表项的老化时间信息,当表项的老化时间到来时,将该表项删除。
15.如权利要求14所述的装置,其特征在于,所述老化模块还用于,
根据所述第一MAC地址表中对该表项的删除信息,对该第二MAC地址表中相应的表项进行删除。
16.如权利要求9~12、14、15任一所述的装置,其特征在于,所述装置还包括:
查询转发模块,用于根据所述第二MAC地址表保存的各表项信息,查找包含所述报文的目的MAC地址的表项,当查找到对应的表项时,确定查找到的所述表项中的目的MAC地址对应的第二端口的端口号,采用该端口号的第二端口转发所述报文,否则,将所述报文转发到所述第一端口所在虚拟局域网内的其他端口上,指示所述其他端口转发所述报文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010101924808A CN101958938B (zh) | 2010-06-01 | 2010-06-01 | 基于网络处理器的mac地址表的学习方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010101924808A CN101958938B (zh) | 2010-06-01 | 2010-06-01 | 基于网络处理器的mac地址表的学习方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101958938A CN101958938A (zh) | 2011-01-26 |
CN101958938B true CN101958938B (zh) | 2013-07-24 |
Family
ID=43486041
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010101924808A Active CN101958938B (zh) | 2010-06-01 | 2010-06-01 | 基于网络处理器的mac地址表的学习方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101958938B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102821169B (zh) * | 2012-08-10 | 2015-12-09 | 华为技术有限公司 | 一种网络中mac地址表项创建的方法及网络设备 |
CN103019858B (zh) * | 2012-12-03 | 2016-08-17 | 中兴通讯股份有限公司 | 媒体访问控制老化方法及网络处理器 |
CN106411741B (zh) * | 2013-02-27 | 2019-11-26 | 华为技术有限公司 | 介质访问控制mac地址学习方法、控制器及交换设备 |
CN104660526B (zh) * | 2013-11-22 | 2018-03-16 | 华为技术有限公司 | Mac表项学习方法和装置 |
WO2015095996A1 (en) * | 2013-12-23 | 2015-07-02 | Telefonaktiebolaget L M Ericsson(Publ) | Technique for network service availability |
CN104125150A (zh) * | 2014-07-22 | 2014-10-29 | 福建星网锐捷网络有限公司 | 一种协议报文处理方法、装置及系统 |
CN106330712B (zh) * | 2015-06-18 | 2019-05-24 | 中兴通讯股份有限公司 | 一种mac地址学习的控制方法和装置 |
CN105847148B (zh) * | 2016-03-18 | 2019-07-16 | 上海斐讯数据通信技术有限公司 | 一种数据帧转发控制方法及系统 |
CN107819684B (zh) * | 2016-09-12 | 2022-08-02 | 中兴通讯股份有限公司 | 同步处理方法及装置 |
CN107707690B (zh) * | 2017-11-28 | 2021-07-16 | 锐捷网络股份有限公司 | 一种动态地址不老化的方法、装置和介质 |
CN111526108B (zh) * | 2019-02-01 | 2021-08-20 | 华为技术有限公司 | 防止网络攻击的方法与装置 |
CN112671653B (zh) * | 2020-12-02 | 2022-07-01 | 国家计算机网络与信息安全管理中心 | 一种基于多核异构平台的cam表的操作方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101110846A (zh) * | 2007-08-29 | 2008-01-23 | 杭州华三通信技术有限公司 | 一种mac地址表项的管理方法和设备 |
CN101702680A (zh) * | 2009-11-26 | 2010-05-05 | 福建星网锐捷网络有限公司 | 媒体接入控制地址的老化方法、装置和通信设备 |
-
2010
- 2010-06-01 CN CN2010101924808A patent/CN101958938B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101110846A (zh) * | 2007-08-29 | 2008-01-23 | 杭州华三通信技术有限公司 | 一种mac地址表项的管理方法和设备 |
CN101702680A (zh) * | 2009-11-26 | 2010-05-05 | 福建星网锐捷网络有限公司 | 媒体接入控制地址的老化方法、装置和通信设备 |
Also Published As
Publication number | Publication date |
---|---|
CN101958938A (zh) | 2011-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101958938B (zh) | 基于网络处理器的mac地址表的学习方法及装置 | |
CN102648455B (zh) | 服务器和流控制程序 | |
CN101877671B (zh) | 镜像报文的发送方法、交换芯片及以太网路由器 | |
WO2004021664A8 (en) | Method, gateway and system for transmitting data between a device in a public network and a device in an internal network | |
WO2021226948A1 (zh) | 基于开放虚拟软交换机ovs的数据包处理方法及设备 | |
CN101127681A (zh) | 绑定服务器mac地址和上行端口的方法和装置 | |
CN103384551A (zh) | 一种基于pcie网络的虚拟机通信方法、服务器及系统 | |
CN103973578A (zh) | 一种虚拟机流量重定向的方法及装置 | |
RU2013108816A (ru) | Устройства базовой станции, узел управления мобильностью, система, способ и компьютерный программный продукт для информирования базовой сети группы абонентского доступа целевой ячейки в процессе процедуры передачи обслуживания х2 | |
CN102769544A (zh) | 通信系统中设备业务适配层架构及业务适配层实现方法 | |
CN101207924A (zh) | 高速分组数据终端中处理多用户连接的方法 | |
CN108123826B (zh) | 一种跨区数据的交互系统及方法 | |
CN104519138A (zh) | 一种基于分布式ftp的数据传输方法及系统 | |
US9479438B2 (en) | Link aggregation based on virtual interfaces of VLANs | |
CN101547147B (zh) | 一种报文处理方法、装置、线卡和管理板 | |
CN103442415A (zh) | 一种发送数据的方法及一种移动终端 | |
CN101588545B (zh) | 位置更新方法、异构网络通信系统和装置 | |
CN104967572A (zh) | 网络访问方法、装置及设备 | |
CN101414972B (zh) | 信息更新方法及其更新装置 | |
US9998367B2 (en) | Communication control system, communication control method, and communication control program | |
CN105471742A (zh) | 一种报文处理方法及设备 | |
CN105379198A (zh) | 转发控制方法、驱动器及sdn网络 | |
CN106375240B (zh) | 一种多网口间以太网报文转发方法及系统 | |
CN103023700A (zh) | 一种信息中心硬件设备的管理操作系统和方法 | |
CN102710518B (zh) | 广域网下实现nat穿透的方法及系统 |
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 | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: 350002 19 Building, Citrus Industrial Park, 618 Jinshan Road, Cangshan District, Fuzhou, Fujian. Patentee after: RUIJIE NETWORKS Co.,Ltd. Address before: 350002 19 Building, Citrus Industrial Park, 618 Jinshan Road, Cangshan District, Fuzhou, Fujian. Patentee before: Fujian Star Network Ruijie Networks Co.,Ltd. |