CN105119831A - Mac地址学习方法及系统 - Google Patents

Mac地址学习方法及系统 Download PDF

Info

Publication number
CN105119831A
CN105119831A CN201510585647.XA CN201510585647A CN105119831A CN 105119831 A CN105119831 A CN 105119831A CN 201510585647 A CN201510585647 A CN 201510585647A CN 105119831 A CN105119831 A CN 105119831A
Authority
CN
China
Prior art keywords
message
dish
mac address
source
business dish
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
CN201510585647.XA
Other languages
English (en)
Other versions
CN105119831B (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.)
Fiberhome Telecommunication Technologies Co Ltd
Wuhan Fiberhome Technical Services Co Ltd
Original Assignee
Fiberhome Telecommunication 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 Fiberhome Telecommunication Technologies Co Ltd filed Critical Fiberhome Telecommunication Technologies Co Ltd
Priority to CN201510585647.XA priority Critical patent/CN105119831B/zh
Publication of CN105119831A publication Critical patent/CN105119831A/zh
Application granted granted Critical
Publication of CN105119831B publication Critical patent/CN105119831B/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

Abstract

本发明提供一种MAC地址学习方法,其用于在VPLS网络中VSI的VP下各业务盘之间收发报文时学习MAC地址,MAC地址学习方法包括以下步骤:报文的入口业务盘获取所接收报文的VSI、SVP及源槽位信息并添加到报文信息中;根据报文的DMAC将报文发送到出口业务盘;报文的出口业务盘读取所接收报文的VSI、SVP及源槽位信息;判断报文的SVP与出口业务盘的VP是否相同并在SVP与VP不相同时在出口业务盘的MAC地址表中查询报文的SMAC;判断是否查询到报文的SMAC并在未查询到时将报文的SMAC学习到出口业务盘的MAC地址表中;根据报文的目的出口业务盘是否为出口业务盘来确定是否转发报文。该方法在出口业务盘进行MAC地址学习,可靠性较高。本发明还提供了一种MAC地址学习系统。

Description

MAC地址学习方法及系统
技术领域
本发明涉及地址学习技术,尤其涉及一种学习介质访问控制(MediaAccessControl,MAC)地址学习方法及系统。
背景技术
目前,虚拟专用局域网(VirtualPrivateLanService,VPLS)为用户网络模拟了一个以太网桥,跟一个特定的VPLS服务关联的每个运营商路由器(ProviderEdge,PE)设备都为该VPLS实例建立一个虚拟交换接口(VirtualSwitchInterface,VSI),每个VSI维护一张介质访问控制(MediaAccessControl,MAC)地址表,并具有洪泛和转发、MAC地址学习和老化的功能,以便实现报文的转发。机架式PE设备一般有多块的业务盘,在进行VPLSMAC地址学习时PE的每个业务盘收到业务报文时就触发MAC地址学习,业务盘先将报文的SMAC、VSI、SVP和源槽位等信息保存到本盘的MAC地址表,为了保证反向流量的正确转发,入口业务盘还需要将该MAC地址广播到VSI中的其他业务盘,其他业务盘收到MAC地址同步信息后再将对应的MAC地址写入到本盘的MAC地址表。
然而,其他业务盘的MAC地址学习是通过报文入口业务盘的MAC地址同步信息触发的,这些同步信息会占用系统的带内通道,容易出现阻塞或丢包,当出现同步信息丢失时,入口业务盘无法进行重传,这样就出现入口业务盘MAC地址表与VSI中其他业务盘MAC地址表不一致的情况,从而造成反向流量转发错误,导致MAC地址学习不稳定。MAC地址同步完成后所有业务盘的MAC地址表完全相同,而只有需要转发反向流量的业务盘才需要保存入口业务盘学习的MAC地址,其他业务盘会保存一些无用的MAC地址,设备的MAC地址表容量仅相当于一块业务盘的MAC地址表容量,浪费业务盘的硬件资源。
发明内容
有鉴于此,本发明提供一种能提高MAC地址学习的稳定性及MAC地址表容量的MAC地址学习方法及系统。
一种MAC地址学习方法,其用于在VPLS网络中一个PE设备建立的VSI的各个VP所在业务盘之间收发报文时学习MAC地址,每个报文在一个入口业务盘与至少一个出口业务盘之间进行收发,所述MAC地址学习方法包括以下步骤:
报文的入口业务盘获取所接收报文的VSI、SVP及源槽位信息并添加到所述报文信息中;
根据所述报文的DMAC将所述报文发送至所述至少一个出口业务盘;
报文的至少一个出口业务盘读取所接收报文的VSI、SVP及源槽位信息;
判断所述报文的SVP与所述至少一个出口业务盘的VP是否相同并在SVP与VP不相同时在所述至少一个出口业务盘的MAC地址表中查询报文的SMAC;
判断是否查询到报文的SMAC并在未查询到时将报文的SMAC学习到所述至少一个出口业务盘的MAC地址表中;
根据所述报文的目的出口业务盘是否为所述至少一个出口业务盘来确定是否转发所述报文。
一种MAC地址学习系统,其用于在VPLS网络中一个PE设备建立的VSI的各个VP所在的各业务盘之间收发报文时学习MAC地址,每个报文在一个入口业务盘与至少一个出口业务盘之间进行收发,所述MAC地址学习系统包括一个添加模块、一个发送判断模块、一个读取模块、一个端口判断模块、一个MAC学习模块及一个出口盘判断模块。所述添加模块用于在报文的入口业务盘获取所接收报文的VSI、SVP及源槽位信息并添加到所述报文信息中,所述发送判断模块用于判断所述报文的DMAC并根据判断结果将述报文发送至所述至少一个出口业务盘,所述读取模块用于在报文的至少一个出口业务盘读取所接收报文的VSI、SVP及源槽位信息,所述端口判断模块用于判断所述报文的SVP与所述至少一个出口业务盘的VP是否相同并在SVP与VP不相同时在所述至少一个出口业务盘的MAC地址表中查询报文的SMAC,所述MAC学习模块判断是否查询到报文的SMAC并在未查询到时将报文的SMAC学习到所述至少一个出口业务盘的MAC地址表中,所述出口盘判断模块用于判断所述报文的目的出口业务盘是否为所述至少一个出口业务盘并根据判断结果来确定是否转发所述报文。
与现有技术相比,本发明提供的MAC地址学习方法及系统中,MAC地址的学习在报文相对应的出口业务盘进行,出口业务盘的MAC地址学习是通过业务流量触发的,只要业务盘有流量经过MAC地址就有机会被学习到,不存在MAC地址同步信息丢失的问题,提高了MAC地址学习的可靠性,同时每个业务盘的MAC地址表保存的都是本盘转发反向流量时需要使用的MAC地址,系统的MAC地址表容量相当于所有业务盘MAC地址表容量之和,提高了整个设备的MAC地址表容量,避免浪费业务盘硬件资源。
附图说明
图1是本发明提供的MAC地址学习系统的模块示意图。
图2是本发明提供的MAC地址学习方法的流程图。
图3是报文在入口业务盘的MAC地址学习方法的流程图。
图4是报文在出口业务盘的MAC地址学习方法的流程图。
主要元件符号说明
MAC地址学习系统100
添加模块110
报文类型判断模块111
发送判断模块120
判断单元122
洪泛单元124
第一目的地址查询单元125
第一更新单元126
读取模块140
端口判断模块160
端口判断单元162
源地址查询单元164
槽位判断单元166
第二目的地址查询单元168
MAC学习模块180
地址学习单元182
源地址判断单元184
第二更新单元186
地址迁移同步单元188
出口盘判断模块190
如下具体实施方式将结合上述附图进一步说明本发明。
具体实施方式
请参阅图1,其为本发明实施方式提供的一种MAC地址学习系统100,其用于在虚拟专用局域网(VirtualPrivateLanService,VPLS)网络中一个运营商路由器(ProviderEdge,PE)设备建立的虚拟交换接口(VirtualSwitchInterface,VSI)的虚端口(visualport,VP)下各业务盘之间收发报文时学习介质访问控制(MediaAccessControl,MAC)地址,各VP下的业务盘根据所接收报文的不同既可以作为入口业务盘来处理所接收的报文,也可以作为出口业务盘来处理所接收的报文,每个报文在一个入口业务盘与至少一个出口业务盘之间进行收发。本实施方式中,一个VSI1下设置两个VP(VP1、VP2),VP1下设置一个业务盘A,VP2下设置一个业务盘B1及一个业务盘B2。
所述MAC地址学习系统100包括一个添加模块110、一个发送判断模块120、一个读取模块140、一个端口判断模块160、一个MAC学习模块180及一个出口盘判断模块190。
所述添加模块110用于在报文的入口业务盘获取所接收报文的VSI、源VP(以下简称SVP)及源槽位信息并添加到所述报文信息中,本实施方式中,各业务盘在初始状态时,源MAC(以下简称SMAC)地址为macA,目的MAC(以下简称DMAC)为macB的报文从入口业务盘A发到出口业务盘B1,即报文从VP1发送至VP2下的B1槽位,其中,报文的VSI为VSI1,报文的SVP为VP1,报文的源槽位为A盘。
所述发送判断模块120包括一个判断单元122、一个洪泛单元124、一个第一目的地址查询单元125及一个第一更新单元126。
所述判断单元122用于判断所接收报文的DMAC来确定发送方式,其中,报文的发送方式包括广播、单播及组播三种。所述洪泛单元124用于在所述发送判断单元122判断所述报文为广播的发送方式时将所述报文洪泛到VSI1下的其他业务盘,本实施方式中,报文为广播时洪泛单元124将洪泛到业务盘B1及业务盘B2。所述第一目的地址查询单元125在报文不是广播发送方式时用报文的VSI与报文的DMAC作为关键字在入口业务盘A的MAC地址表中查询是否存在报文的DMAC地址。
可以理解的是,本实施方式中,第一目的地址查询单元125根据报文的VSI与报文的DMAC在入口业务盘的MAC地址表中查到的是DMAC与VP的对应关系,即查询VSI1的其他VP是否收到过从地址macB发送的报文,例如,VP2收到过macB发送的报文,那么第一目的地址查询单元125查询到VP2,此时由macA向macB发送的报文就应该从VP2发出。
第一目的地址查询单元125在入口业务盘A的MAC地址表查询到报文的DMAC(macB)表示业务盘A作为出口盘发送过SMAC为macB的报文,此时判断单元122根据报文的DMAC判断报文的发送方式,所述第一更新单元126在判断单元122判断报文为单播时更新入口业务盘的MAC地址表中的DMAC对应的老化时间(AGE)表项后发送报文到DMAC中对应的VP,判断单元122在判断不是单播发送方式时,若报文的DMAC是广播,则报文会洪泛到VSI中的其他VP,若报文的DMAC是组播,则报文会发送到组播中的其他VP。
第一目的地址查询单元125在入口业务盘A的MAC地址表中未查询到报文的DMAC表示入口业务盘A未作为出口盘发送过SMAC为macB的报文,此时洪泛单元124将报文洪泛到VSI中其他业务盘。本实施方式中,由于在初始状态,查询单元125在入口业务盘A中无法查询到报文的DMAC,则洪泛单元124将报文洪泛到业务盘B1、B2。
所述读取模块140用于在出口业务盘读取所接收报文的VSI、SVP及源槽位信息,本实施方式中,B1及B2出口业务盘中的读取模块140读取所接收报文的VSI、SVP及源槽位信息,即读取VSI1,VP1及A盘。
所述端口判断模块160包括一个端口判断单元162、一个源地址查询单元164、一个槽位判断单元166及一个第二目的地址查询单元168。
所述端口判断单元162用于判断报文的SVP与至少一个出口业务盘的VP是否相同,出口业务盘的VP相当于报文为目的VP(以下简称DVP),本实施方式中,报文的SVP为VP1,B1及B2出口业务盘的VP为VP2,即SVP与DVP不相同,表示该报文不是由出口业务盘B1及B2发出的。
所述源地址查询单元164用于在报文的SVP与出口盘VP不相同时在至少一个出口业务盘的MAC地址表中查询报文的SMAC(macA),本实施方式中,由于为初始状态,源地址查询单元164无法在出口业务盘B1及B2的MAC地址表中查询到报文的SMAC(macA)。
所述槽位判断单元166用于在端口判断单元162判断报文的SVP与出口业务盘的VP相同时来判断报文的源槽位与出口业务盘的槽位是否相同并根据判断结果确定是否丢弃报文,若判断报文的源槽位与出口业务盘的槽位相同时丢弃报文,若报文的源槽位与出口业务盘的槽位不相同时该报文为DMAC地址请求报文。
所述第二目的地址查询单元168在槽位判断单元166判断报文的源槽位与出口业务盘槽位不相同时用报文的VSI及DMAC作为关键字在出口业务盘的MAC地址表中查询,若查询到,则将出口业务盘中的DMAC表项发送至入口业务盘,例如,在VP2中,报文从入口业务盘B1发送到出口业务盘B2,报文的源槽位与出口业务盘B2的槽位不相同,第二目的地址查询单元168在出口业务盘B2中的MAC地址表中查询报文的DMAC,若查询到,则第二目的地址查询单元168将出口业务盘B2中的DMAC地址表项信息发送至入口业务盘B1的MAC地址表中,若未查到,则第二目的地址查询单元168丢弃该报文。
所述MAC学习模块180包括一个地址学习单元182、一个源地址判断单元184、一个第二更新单元186及一个地址迁移同步单元188。
所述地址学习单元182用于在源地址查询单元164未在出口业务盘的MAC地址表中查询到报文的SMAC时将报文的SMAC学习到出口业务盘的MAC地址表中,本实施方式中,由于为初始状态,源地址查询单元164未查询到,出口业务盘B1及B2学习报文的SMAC(macA),即出口业务盘B1及B2的MAC地址表中学习到macA。
源地址判断单元184用于在源地址查询单元164从出口业务盘的MAC地址表中查询到报文的SMAC时判断所查到的SMAC地址表项是否需要更新并在需要更新时更新出口业务盘中MAC地址表的SMAC表项,也即比较所查到的SMAC表项信息中的VSI、SVP及源槽位信息与报文的SMAC表项中信息是否相同。
所述第二更新单元186用于在出口业务盘的MAC地址表中查询到的SMAC时与报文的SMAC地址表项相同时更新出口业务盘中的SMAC对应的AGE表项信息,在查询到的SMAC时与报文的SMAC地址表项不相同时更新出口业务盘中的SMAC相关信息。
所述地址迁移同步单元188在源地址判断单元184判断SMAC表项需要更新并更新后生成地址迁移同步信息并广播到VSI中所有业务盘,如出口业务盘A的地址迁移同步单元188生成的地址迁移同步信息报文也会发给出口业务盘A。
所述出口盘判断模块190用于判断报文的目的出口盘是否为所述至少一个出口业务盘并根据判断结果来确定是否转发业务报文,可以理解的是,报文的目的出口盘根据报文的MAC地址表信息或IP地址信息计算即可得出目的出口盘,本实施方式中,由A盘洪泛到B1业务盘及B2业务盘的报文,出口盘判断模块190根据报文的相关信息计算出报文的目的出口盘为B1后,出口业务盘B1转发业务报文至相应设备,出口业务盘B2丢弃业务报文。
可以理解的是,为了提高MAC地址学习系统的效率,如避免出口业务盘接收到地址迁移同步信息报文时也进入VP判断而建立纠错机制让出口业务盘接收地址迁移同步信息后进行相对应处理,MAC地址学习系统中还包括一个报文类型判断模块111用以根据报文的类型进行相对应处理。本实施方式中,报文的类型为业务报文与地址迁移同步信息报文。
所述报文类型判断模块111在出口业务盘处判断出口业务盘所接收的报文是业务报文还是地址迁移同步信息报文,在报文是MAC地址迁移同步信息时,槽位槽位判断单元166判断地址迁移同步信息报文的源槽位是否为出口业务盘的槽位以确定是否需要进行地址同步,在地址迁移同步信息报文的源槽位为出口业务盘的槽位时丢弃报文,在地址迁移同步信息报文的源槽位不是出口业务盘的槽位需要地址同步从而进行地址同步信息学习,地址学习单元182将地址迁移同步信息报文的MAC地址学习到本盘的MAC地址表中。
例如,入口业务盘A将地址迁移同步单元188生成的地址迁移同步信息报文SMAC(macB、VP2、B2)广播到业务盘A、B1及B2后,相对于地址迁移同步报文,出口盘为业务盘A、B1及B2,对于出口业务盘A接收到地址迁移同步报文后,报文类型判断模块111判断出报文的源槽位(A盘)与出口业务盘A的槽位(A盘)相同,从而丢弃报文,对于出口业务盘B1接收到地址迁移同步报文后,报文类型判断模块111判断出报文的源槽位(A盘)与出口业务盘B1的槽位(B1盘)不相同,则出口业务盘B1将地址迁移同步信息报文中的SMAC学习到本盘的MAC地址表中。
请参阅图2,其为本发明实施方式提供的一种MAC地址学习方法,其用于在VPLS网络中一个PE设备建立的VSI的各个VP所在的业务盘之间收发报文时学习MAC地址,每个报文在一个入口业务盘与至少一个出口业务盘之间进行收发,所述MAC地址学习方法包括以下步骤:
S110:报文的入口业务盘获取所接收报文的VSI、SVP及源槽位信息并添加到报文信息中;
S120:根据报文的DMAC将报文发送到至少一个出口业务盘;
S130:读取所接收报文的VSI、SVP及源槽位信息;
S140:判断报文的SVP与至少一个出口业务盘的VP是否相同并在SVP与VP不相同时在至少一个出口业务盘的MAC地址表中查询报文的SMAC;
S150:判断是否查询到报文的SMAC并在未查询到时将报文的SMAC学习到所述至少一个出口业务盘的MAC地址表中;
S160:根据报文的目的出口业务盘是否为至少一个出口业务盘来确定是否转发所述报文。
在步骤S110中,利用添加模块110在报文的入口业务盘获取所接收报文的VSI、SVP及源槽位信息添加到报文信息前作为私有头信息,本实施方式中,一个VSI1下设置两个VP(VP1、VP2),VP1下设置一个业务盘A,VP2下设置一个业务盘B1及一个业务盘B2,各业务盘在初始状态时,SMAC地址为macA,DMAC为macB的报文从入口盘A盘发到出口盘B1盘,即报文从VP1发送至VP2下的B1槽位,其中,报文的VSI为VSI1,报文的SVP为VP1,报文的源槽位为A盘。
如图3所示,在MAC地址学习方法中,报文从入口业务盘发送到出口业务盘时在入口业务盘处MAC地址学习方法包括步骤S110及步骤S120,其中在步骤S120中还包括如下步骤:
S121:判断报文的DMAC是否为广播,若是,则进入步骤S122,若否,则进入步骤S123。
S122:洪泛报文至VSI中其他业务盘;
S123:在入口业务盘的MAC地址表中是否查询到报文的DMAC,若是,则进入步骤S124,若否,则进入步骤S122;
S124:判断报文的DMAC是否为单播地址,若是,则进入步骤S125,若否,则进入步骤S126。
S125:更新入口业务盘的MAC地址表中的DMAC对应AGE表项信息,进入步骤S126;
S126:发送报文至DMAC表项中对应的VP。
在步骤S121中,利用判断单元122判断所接收报文的DMAC以确定发送方式,本实施方式中,报文的发送方式是单播发送。
在步骤S122中,利用洪泛单元124在判断单元122判断所述报文为广播的发送方式时将报文洪泛到VSI1下的其他业务盘,假设A盘发送的报文为广播时,洪泛单元124将报文洪泛到业务盘B1及业务盘B2。
在步骤S123中,在报文的发送方式不是广播时,利用第一目的地址查询单元125用报文的VSI与报文的DMAC作为关键字在入口业务盘A的MAC地址表中查询是否存在报文的DMAC地址,第一目的地址查询单元125在入口业务盘A的MAC地址表查询到报文的DMAC(macB)表示入口业务盘A接收过该报文,第一目的地址查询单元125在入口业务盘A的MAC地址表中未查询到报文的DMAC表示入口业务盘A未接收过该报文。
可以理解的是,根据报文的VSI与报文的DMAC在入口业务盘的MAC地址表中查到的是DMAC与VP的对应关系,即查询VSI1的其他VP是否收到从macB发送的报文,若查到了VP2,则由macA向macB发送的报文就应该从VP2发出。本实施方式中,由于在初始状态,查询单元125在入口业务盘A的MAC地址表中无法查询到报文的DMAC,洪泛单元124将报文洪泛到VSI1中的其他业务盘B1及B2。
在步骤S124中,判断单元122判断报文的发送方式,本实施方式中,报文的发送方式是单播。
在步骤S125中,利用第一更新单元126在判断单元122判断报文为单播时更新入口业务盘的MAC地址表中的DMAC对应的AGE表项后发送报文到DMAC中对应的VP。
在步骤S126中,判断单元122在判断报文不是单播时直接发送报文到入口业务盘A的MAC地址表中DMAC对应的VP。
如图4所示,在MAC地址学习方法中,报文从入口业务盘发送到出口业务盘时在出口业务盘中学习MAC地址的方法包括步骤S130至步骤S160,其中在步骤S140中还包括如下步骤:
S141:判断报文的SVP与出口业务盘的VP是否相同,若是,则进入步骤S142,若否,则进入S150;
S142:判断报文的源槽位与出口业务盘的槽位是否相同,若是,则进入步骤S145,若否,则进入步骤S143;
S143:判断在出口业务盘的MAC地址表中是否查询到报文的DMAC,若是,则进入步骤S144,若否,则进入步骤S145;
S144:将查询到的出口业务盘中MAC地址表中的DMAC表项信息发送至报文对应的入口业务盘。
S145:丢弃报文。
在步骤S141中,利用端口判断单元162判断报文的SVP与至少一个出口业务盘的VP是否相同,出口业务盘的VP相对于报文为DVP,本实施方式中,报文的SVP为VP1,B1及B2出口业务盘的VP为VP2,即SVP与DVP不相同,表示该报文不是由出口业务盘B1及B2发出的。
在步骤S142中,利用槽位判断单元166判断报文的源槽位与出口业务盘的槽位是否相同,若判断报文的源槽位与出口业务盘的槽位相同时丢弃报文,若判断报文的源槽位与出口业务盘的槽位不相同时该报文为DMAC地址请求报文。
例如,在VP2中,从入口业务盘B1发送到出口业务盘B2的报文,此时,报文的SVP为VP2,源槽位为B1,此时业务盘B2的VP为VP2,槽位为B2,报文的SVP与出口业务盘VP相同而源槽位与出口业务盘槽位不同,则该报文为DMAC地址请求报文。
在步骤S143中,利用第二目的地址查询单元168用报文的VSI及DMAC作为关键字在出口业务盘的MAC地址表中查询,可以理解的是,第二目的地址查询单元168查询的是DMAC及与DMAC对应的VP。例如,在VP2中,报文从入口业务盘B1发送到出口业务盘B2,报文的源槽位与出口业务盘B2的槽位不相同,第二目的地址查询单元168在出口业务盘B2中的MAC地址表中查询报文的DMAC。
在步骤S144中,第二目的地址查询单元168在出口业务盘B2中的MAC地址表中查询到报文的DMAC表项信息时将出口业务盘B2中的DMAC地址表项信息发送至入口业务盘B1的MAC地址表中,若未查到,则第二目的地址查询单元168丢弃该报文。在出口业务盘接收的报文与报文的VP相同但报文源槽位与出口业务盘的槽位不同时,在出口业务盘的MAC地址表中查询到的DMAC地址同步到同一VP下的其他相应槽位入口业务盘,从而保证经过一段时间无流量经过的出口业务盘MAC地址表中的DMAC老化后能继续学习到报文的DMAC。
在步骤S150中包括以下步骤:
S151:判断在出口业务盘的MAC地址表中是否查询到报文的SMAC,若是,则进入步骤S152,若否,则进入步骤S153;
S152:判断所查询到的SMAC是否需要更新,若是,进入步骤S154,若否,则进入步骤S155;
S153:将报文的SMAC学习到出口业务盘的MAC地址表中;
S154:更新SMAC表项信息,进入步骤S156;
S155:更新SMAC中对应的AGE表项,进入步骤S160;
S156:生成地址迁移同步信息并广播到VSI中所有业务盘。
在步骤S151中,利用源地址查询单元164在出口业务盘的MAC地址表中查询报文的SMAC,可以理解的是,源地址查询单元164用VSI及SMAC作为关键字在出口业务盘的MAC地址表中查询的是SMAC及与SMAC对应的VP。
在步骤S152中,利用源地址判断单元184判断所查到的SMAC地址表项是否需要更新并在需要更新时更新出口业务盘中MAC地址表的SMAC表项,也即比较所查到的SMAC表项信息中的VSI、SVP及源槽位信息与报文的SMAC表项信息是否存在不同。
例如,假设报文从入口业务盘B1发送到出口业务盘A,业务盘A先收到了业务盘B1发送的报文,报文的SMAC为macB,DMAC为macA,报文的SVP为VP2,出口业务盘(A盘)的VP为VP1,端口判断单元162判断报文的SVP与出口业务盘的VP不相同时源地址查询单元164在业务盘A的MAC地址表中查询VSI1及SMAC(macB)并在未查到时业务盘A学习SMAC(macB),经过一段时间,业务盘A收到了业务盘B2发送的报文,报文的SMAC为macB,DMAC为macA,端口判断单元162判断报文的SVP与出口业务盘的VP不相同,此时源地址查询单元164在业务盘A的MAC地址表中查询VSI1及SMAC(macB),由于业务盘A已学到macB,即在业务盘A中查询到的是源地址为macB的报文是从VP2下的B1槽位收到的,当前业务盘A中源地址为macB的报文是从VP2下的B2槽位收到的,即报文的SMAC中源槽位信息不同。
在步骤S153中,利用地址学习单元182将报文的SMAC学习到出口业务盘的MAC地址表中,本实施方式中,由于为初始状态,源地址查询单元164未查询到,出口业务盘B1及B2学习报文的SMAC(macA),即出口业务盘B1及B2的MAC地址表中学习到macA。
在步骤S154中,第二更新单元186在出口业务盘中的SMAC表项信息与报文的SMAC的表项信息不相同时更新出口业务盘中的SMAC相关信息。例如,假设在出口业务盘A中收到的报文是源地址为macB且从VP2下的B1槽位收到的,业务盘A的MAC地址表中已存在的是源地址为macB的报文是从VP2下的B2槽位收到的,即报文的SMAC中源槽位信息不同,业务盘A的SMAC信息需要更新,即第二更新单元186将业务盘A中的MAC地址表中SMAC表项信息中的VP2下的B1槽位更新为B2槽位。
在步骤S155中,第二更新单元186在出口业务盘中的SMAC表项信息与报文的SMAC的表项信息相同时更新出口业务盘中的SMAC对应的AGE表项信息,以防止SMAC中的AGE老化掉。
在步骤S156中,利用地址迁移同步单元188生成地址迁移同步信息并广播到VSI中所有业务盘,例如,报文的SMAC信息中源地址为macB的报文是从VP2下的B2槽位收到的,由于出口业务盘A的MAC地址表中的SMAC表现信息与报文的SMAC表项信息不同,地址迁移同步单元188将SMAC中的(macB、VP2、B2)广播到VSI1中的所有业务盘,可以理解的是,出口业务盘A的地址迁移同步单元188生成的地址迁移同步信息也会发给出口业务盘A。
在步骤S160中包括以下步骤:
S161:根据报文相关信息计算出报文的目的出口业务盘;
S162:判断报文的目的出口业务盘是否为出口业务盘,若是,则进入步骤S163,若否,则进入步骤S145;
S163:剥离私有头信息后转发业务报文。
在步骤S161中,利用出口盘判断模块190根据报文的MAC地址表信息或IP地址信息计算即可得出目的出口盘,本实施方式中,由A盘洪泛到B1业务盘及B2业务盘的报文,出口盘判断模块190根据报文的相关信息计算出报文的目的出口盘为B1后,出口业务盘B1转发业务报文至相应设备,出口业务盘B2丢弃业务报文。
可以理解的是,为了提高MAC地址学习方法的效率,如避免出口业务盘接收到地址迁移同步信息报文时也重复步骤S130至S160而建立纠错机制让出口业务盘接收地址迁移同步信息后进行相对应处理,在步骤S110前面还包括业务报文的判断及地址同步信息报文的判断以便根据报文的类型进行相应的处理,在步骤S110前面还包括以下步骤:
S110a:判断报文是否是业务报文,若是,则进入步骤S130,若否,则进入步骤S110b;
S110b:判断报文是否是MAC地址迁移同步信息报文,若是,则进入步骤S110c,若否,则进入步骤S145;
S110c:判断报文的源槽位是否为出口业务盘的槽位,若是,则进入步骤S145,若否,则进入步骤S110d;
S110d:将地址迁移同步信息的MAC学习到出口业务盘的MAC地址表中,进入步骤S145。
本发明提供的MAC地址学习方法及系统中,MAC地址的学习在报文相对应的出口业务盘进行,出口业务盘的MAC地址学习是通过业务流量触发的,只要业务盘有流量经过MAC地址就有机会被学习到,不存在MAC地址同步信息丢失的问题,提高了MAC地址学习的可靠性,同时每个业务盘的MAC地址表保存的都是本盘转发反向流量时需要使用的MAC地址,系统的MAC地址表容量相当于所有业务盘MAC地址表容量之和,提高了整个设备的MAC地址表容量,避免浪费业务盘硬件资源。
可以理解的是,对于本领域的普通技术人员来说,可以根据本发明的技术构思做出其他各种相应的改变与变形,而所有这些改变与变形都应属于本发明权利要求的保护范围。

Claims (10)

1.一种MAC地址学习方法,其用于在虚拟专用局域网络中一个运营商路由器设备建立的虚拟交换接口的各个虚端口所在的业务盘之间收发报文时学习MAC地址,每个报文在一个入口业务盘与至少一个出口业务盘之间进行收发,所述MAC地址学习方法包括以下步骤:
报文的入口业务盘获取所接收报文的虚拟交换接口、源虚端口及源槽位信息并添加到所述报文信息中;
根据所述报文的DMAC将所述报文发送至所述至少一个出口业务盘;
报文的至少一个出口业务盘读取所接收报文的虚拟交换接口、源虚端口及源槽位信息;
判断所述报文的源虚端口与所述至少一个出口业务盘的虚端口是否相同并在源虚端口与虚端口不相同时在所述至少一个出口业务盘的MAC地址表中查询报文的源MAC;
判断是否查询到报文的源MAC并在未查询到时将报文的源MAC学习到所述至少一个出口业务盘的MAC地址表中;
根据所述报文的目的出口业务盘是否为所述至少一个出口业务盘来确定是否转发所述报文。
2.如权利要求1所述的MAC地址学习方法,其特征在于,在根据报文发送方式发送报文的步骤中包括以下步骤:
判断所述报文的发送方式是否为广播,若是,则洪泛所述报文至所述虚拟交换接口中其他业务盘,若否,则在所述入口业务盘的MAC地址表中查询所述报文的目的MCA并根据查询结果发送所述报文。
3.如权利要求2所述的MAC地址学习方法,其特征在于,在根据查询结果确定发送所述报文的步骤中包括以下步骤:
若在所述入口业务盘的MAC地址表中查到所述报文的目的MAC,则判断所述报文的发送方式并在所述报文是单播时更新所述入口业务盘的MAC地址表中的目的MAC对应老化时间表项信息发送报文至所述入口业务盘的目的MAC对应的虚端口,若未查到,则洪泛所述报文至所述虚拟交换接口中其他业务盘。
4.如权利要求1所述的MAC地址学习方法,其特征在于,在判断所述报文的源虚端口与所述至少一个出口业务盘的虚端口是否相同的步骤中还包括以下步骤:
在源虚端口与虚端口相同时根据所述报文的源槽位来确定所述报文是否是目的MAC请求报文;
在所述报文是目的MAC请求报文时在所述至少一个出口业务盘的MAC地址表查询所述报文的目的MAC并根据查询结果确定是否将所述至少一个出口业务盘中MAC地址表中的目的MAC表项信息发送至所述报文对应的入口业务盘。
5.如权利要求4所述的MAC地址学习方法,其特征在于,在根据所述报文源槽位来确定目的MAC请求报文的步骤中包括以下步骤:
判断所述报文的源槽位是否为所述至少一个出口业务盘的槽位,若是,则丢弃报文,若否,则所述报文为目的MAC请求报文。
6.如权利要求1所述的MAC地址学习方法,其特征在于,在判断是否查询到报文的源MAC步骤中还包括以下步骤:
若在所述至少一个出口业务盘的MAC地址表中查询到所述报文的源MAC,则判断所查询到的源MAC是否需要更新并根据判断结果来确定是否生成地址迁移同步信息并广播到VSI中各业务盘。
7.如权利要求1所述的MAC地址学习方法,其特征在于,在确定是否转发所述报文的步骤中包括以下步骤:
根据所述报文相关信息计算出所述报文的目的出口业务盘;
判断所述报文的目的出口业务盘是否为所述至少一个出口业务盘,若是,则所述至少一个出口业务盘转发所述报文,若否,则所述至少一个出口业务盘丢弃所述报文。
8.如权利要求1-7任一项所述的MAC地址学习方法,其特征在于,在所述至少一个出口业务盘读取所述报文的信息步骤前面还包括以下步骤:
判断所述报文的类型;
在所述报文是MAC地址迁移同步信息时判断所述报文的源槽位是否为所述至少一个出口业务盘的槽位,若是,则丢弃报文,若否,则将地址迁移同步信息的源MAC学习到所述至少一个出口业务盘的MAC地址表中后丢弃报文。
9.一种MAC地址学习系统,其用于在VPLS网络中一个运营商路由器设备建立的虚拟交换接口的各个虚端口所在的业务盘之间收发报文时学习MAC地址,每个报文在一个入口业务盘与至少一个出口业务盘之间进行收发,所述MAC地址学习系统包括:
一个添加模块,用于在报文的入口业务盘获取所接收报文的虚拟交换接口、源虚端口及源槽位信息并添加到所述报文信息中;
一个发送判断模块,用于判断所述报文的DMAC并根据判断结果将述报文发送至所述至少一个出口业务盘;
一个读取模块,用于在报文的至少一个出口业务盘读取所接收报文的虚拟交换接口、源虚端口及源槽位信息;
一个端口判断模块,用于判断所述报文的源虚端口与所述至少一个出口业务盘的虚端口是否相同并在源虚端口与虚端口不相同时在所述至少一个出口业务盘的MAC地址表中查询报文的源MAC;
一个MAC学习模块,判断是否查询到报文的源MAC并在未查询到时将报文的源MAC学习到所述至少一个出口业务盘的MAC地址表中;
一个出口盘判断模块,用于判断所述报文的目的出口业务盘是否为所述至少一个出口业务盘并根据判断结果来确定是否转发所述报文。
10.如权利要求9所述的MAC地址学习系统,其特征在于,所述MAC地址学习系统还包括一个报文类型判断模块,所述报文类型判断模块在所述至少一个出口业务盘处判断所述至少一个出口业务盘所接收的报文类型并根据所述报文的类型进行相对应处理。
CN201510585647.XA 2015-09-15 2015-09-15 Mac地址学习方法及系统 Active CN105119831B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510585647.XA CN105119831B (zh) 2015-09-15 2015-09-15 Mac地址学习方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510585647.XA CN105119831B (zh) 2015-09-15 2015-09-15 Mac地址学习方法及系统

Publications (2)

Publication Number Publication Date
CN105119831A true CN105119831A (zh) 2015-12-02
CN105119831B CN105119831B (zh) 2018-08-07

Family

ID=54667726

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510585647.XA Active CN105119831B (zh) 2015-09-15 2015-09-15 Mac地址学习方法及系统

Country Status (1)

Country Link
CN (1) CN105119831B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106209556A (zh) * 2016-06-29 2016-12-07 杭州华三通信技术有限公司 一种地址学习、报文传输的方法及装置
CN106790703A (zh) * 2017-02-24 2017-05-31 烽火通信科技股份有限公司 一种分布式数通设备的mac地址同步方法
CN107332940A (zh) * 2017-06-06 2017-11-07 烽火通信科技股份有限公司 一种实现分布式ip ran设备mac地址同步的方法及系统
CN108173762A (zh) * 2017-12-29 2018-06-15 杭州迪普科技股份有限公司 报文重定向方法和装置
CN110266599A (zh) * 2019-06-28 2019-09-20 烽火通信科技股份有限公司 一种基于分布式设备mac地址学习方法及系统
CN113824631A (zh) * 2021-09-10 2021-12-21 烽火通信科技股份有限公司 报文转发方法、装置、通信设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1852240A (zh) * 2005-10-19 2006-10-25 华为技术有限公司 一种桥接转发方法
CN101123531A (zh) * 2006-12-30 2008-02-13 华为技术有限公司 基于vpls双归属的全连接网络的收敛方法和装置
CN101820435A (zh) * 2009-02-27 2010-09-01 华为技术有限公司 分布式网络处理系统的mac地址表项信息同步方法及装置
US20120201124A1 (en) * 2011-02-04 2012-08-09 Cisco Technology, Inc. Designated forwarder election for vpls with bgp-based mac learning
US8675664B1 (en) * 2011-08-03 2014-03-18 Juniper Networks, Inc. Performing scalable L2 wholesale services in computer networks using customer VLAN-based forwarding and filtering
CN103905577A (zh) * 2012-12-28 2014-07-02 中兴通讯股份有限公司 一种地址解析协议报文的处理方法和系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1852240A (zh) * 2005-10-19 2006-10-25 华为技术有限公司 一种桥接转发方法
CN101123531A (zh) * 2006-12-30 2008-02-13 华为技术有限公司 基于vpls双归属的全连接网络的收敛方法和装置
CN101820435A (zh) * 2009-02-27 2010-09-01 华为技术有限公司 分布式网络处理系统的mac地址表项信息同步方法及装置
US20120201124A1 (en) * 2011-02-04 2012-08-09 Cisco Technology, Inc. Designated forwarder election for vpls with bgp-based mac learning
US8675664B1 (en) * 2011-08-03 2014-03-18 Juniper Networks, Inc. Performing scalable L2 wholesale services in computer networks using customer VLAN-based forwarding and filtering
CN103905577A (zh) * 2012-12-28 2014-07-02 中兴通讯股份有限公司 一种地址解析协议报文的处理方法和系统

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106209556A (zh) * 2016-06-29 2016-12-07 杭州华三通信技术有限公司 一种地址学习、报文传输的方法及装置
CN106209556B (zh) * 2016-06-29 2020-01-03 新华三技术有限公司 一种地址学习、报文传输的方法及装置
CN106790703A (zh) * 2017-02-24 2017-05-31 烽火通信科技股份有限公司 一种分布式数通设备的mac地址同步方法
CN106790703B (zh) * 2017-02-24 2019-11-12 烽火通信科技股份有限公司 一种分布式数通设备的mac地址同步方法
CN107332940A (zh) * 2017-06-06 2017-11-07 烽火通信科技股份有限公司 一种实现分布式ip ran设备mac地址同步的方法及系统
CN107332940B (zh) * 2017-06-06 2020-04-28 烽火通信科技股份有限公司 一种实现分布式ip ran设备mac地址同步的方法及系统
CN108173762A (zh) * 2017-12-29 2018-06-15 杭州迪普科技股份有限公司 报文重定向方法和装置
CN108173762B (zh) * 2017-12-29 2020-11-06 杭州迪普科技股份有限公司 报文重定向方法和装置
CN110266599A (zh) * 2019-06-28 2019-09-20 烽火通信科技股份有限公司 一种基于分布式设备mac地址学习方法及系统
CN110266599B (zh) * 2019-06-28 2021-08-03 烽火通信科技股份有限公司 一种基于分布式设备mac地址学习方法及系统
CN113824631A (zh) * 2021-09-10 2021-12-21 烽火通信科技股份有限公司 报文转发方法、装置、通信设备及存储介质

Also Published As

Publication number Publication date
CN105119831B (zh) 2018-08-07

Similar Documents

Publication Publication Date Title
CN105119831A (zh) Mac地址学习方法及系统
US9602428B2 (en) Method and apparatus for locality sensitive hash-based load balancing
US9319317B1 (en) Systems and methods for disseminating addresses in distributed switching environments
US8553582B1 (en) Traffic spraying in a chassis-based network switch
US9825859B2 (en) Item aggregation in shortest path bridging mac-in-mac mode (SPBM) network
US8379640B2 (en) Internetwork device
WO2015135425A1 (zh) 一种消息处理方法、接入控制器及网络节点
US20140003427A1 (en) Network system, and management apparatus and switch thereof
CN107547346B (zh) 一种报文传输方法和装置
CN104378296A (zh) 一种报文转发方法及设备
CN101834783B (zh) 一种报文转发方法、装置及网络设备
CN104869125B (zh) 基于sdn的动态防mac地址欺骗方法
CN103326948B (zh) 一种交换处理系统和方法
US20170078115A1 (en) Multi-homed access
US10652145B2 (en) Managing data frames in switched networks
CN103347014A (zh) 网络快速转发模块及网络快速转发实现方法
US9781036B2 (en) Emulating end-host mode forwarding behavior
JP2020502913A (ja) ハイブリッドネットワーク内のルーティング
CN105187311A (zh) 一种报文转发方法及装置
CN103780484A (zh) 一种报文转发方法及装置
WO2011113339A1 (zh) 一种聚合端口的介质访问控制地址保活装置及方法
WO2021184862A1 (zh) 一种报文发送方法、第一网络设备及网络系统
CN113489646A (zh) 基于vxlan的分段路由传输方法、服务器、源节点及存储介质
JP2011014964A (ja) スイッチ装置、スイッチ制御方法
US11088871B1 (en) Fast convergence for MAC mobility

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20180322

Address after: 430074 Wuhan, Hongshan Province District Road, Department of mail, No. 88 hospital

Applicant after: Fenghuo Communication Science &. Technology Co., Ltd.

Applicant after: WUHAN FIBERHOME TECHNICAL SERVICES CO., LTD.

Address before: 430074 East Lake Development Zone, Hubei, Optics Valley Venture Street, No. 67, No.

Applicant before: Fenghuo Communication Science &. Technology Co., Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant