一种媒体接入控制地址学习方法、设备和系统的制作方法

文档序号:10627015阅读:245来源:国知局
一种媒体接入控制地址学习方法、设备和系统的制作方法
【专利摘要】本发明公开了一种媒体接入控制(MAC)地址学习方法,设备接收数据流,在确定所述数据流为未知的数据流、且没有与源MAC地址匹配的MAC地址条目时,学习所述数据流的MAC地址,通过与其他设备互连的高速业务端口将所述数据流洪泛给其他设备,由所述其他设备学习从高速业务端口接收到的数据流的MAC地址;本发明同时还公开了一种设备和系统。
【专利说明】
一种媒体接入控制地址学习方法、设备和系统
技术领域
[0001]本发明涉及分布式设备的地址学习技术,尤其涉及一种MAC地址学习方法、设备和系统。
【背景技术】
[0002]一般情况下,分布式设备在进行MAC地址学习的时候,MAC地址会在收到报文的线卡上被自动学习到,而此时其他线卡上由于没有收到数据流,所以不会有这个MAC地址,此时,一般学习到这个MAC地址的线卡,会把这个MAC地址上报给主控板,主控板通过CPU获知这个MAC地址已经在此线卡上被学习到,然后主控板会把这个MAC地址通告给所有其他的线卡。
[0003]由于其他的线卡上没有数据流存在,为了防止MAC地址在别的线卡上被老化,CPU通知其他的线卡进行所述MAC地址同步的时候,会将所述MAC地址写为静态MAC地址。
[0004]而一般情况下这样的处理,会造成分布式设备进行MAC地址学习的时候始终需要CPU进行干预,使得MAC地址下发的速度远远不及自动学习的速度快。
[0005]另外,由于CPU在各个线卡中进行MAC地址同步时,是进行静态写入的,也就造成了除了有数据流输入的线卡是动态学习的MAC地址,其他的被动进行同步的线卡上MAC地址都是静态的。这样的效果会导致如果此数据流被更改到其他的线卡上,MAC地址的迀移过程就变成了一个静态MAC地址迀移成动态MAC地址的行为。一般的芯片上是不允许静态MAC地址迀移为动态MAC地址的,所以此时还要进行一次CPU的干预,将静态MAC地址删除,再重新写为动态MAC地址,这样就会造成MAC地址迀移的时候,数据流出现大量的丢包。
[0006]目前普遍的分布式设备进行MAC地址同步的步骤如图1所示:
[0007]步骤101、线卡A上收到一个数据流,所述线卡的芯片自动学习所述数据流的源MAC地址。
[0008]步骤102、所述线卡A将芯片学习到的MAC地址上报给主控板CPU。
[0009]步骤103、主控板CPU将上报的MAC地址写入其他线卡的MAC地址表中,为防止此条目在其他没有数据流的线卡中被自动老化掉,主控板CPU在其他的线卡中将所述MAC地址的条目设置上静态标记。
[0010]目前普遍的分布式设备进行MAC地址迀移的步骤如图2所示:
[0011]步骤201、若迀移的MAC地址与原MAC地址在同一块线卡A中,则不需要CPU进行干预,直接在线卡A上更新MAC地址的条目。
[0012]步骤202、若迀移的MAC地址与原MAC地址不在同一块线卡A中,则由于其他线卡的所述MAC地址的条目是静态条目,无法被直接更新,因此其他收到新的数据流的线卡B上报所述数据流的MAC地址给主控板CPU。
[0013]步骤203、主控板CPU删除线卡B的所述MAC地址的静态条目,将所述MAC地址写入到新的条目,并设置动态标记。
[0014]步骤204、主控板CPU控制其他线卡更新所述MAC地址的条目,将所述MAC地址的条目更新为新的端口,并设置静态标记。
[0015]由此可见,目前的技术中,虽然在CPU的控制下,分布式设备可以完成MAC地址的同步和正常的二层转发,但是在MAC地址学习和同步以及MAC地址迀移的过程中,CPU都要进行大量的干预计算,这样就导致CPU在MAC地址学习的过程中资源被大量的占用。
[0016]而且由于静态MAC地址无法被自动的迀移和更新,在MAC地址跨线卡进行迀移的过程中,CPU会干预静态MAC地址的删除和动态MAC地址的重新添加,会造成数据流的短暂中断。

【发明内容】

[0017]为解决现有存在的技术问题,本发明主要提供一种MAC地址学习方法、设备和系统。
[0018]本发明的技术方案是这样实现的:
[0019]本发明提供一种媒体接入控制MAC地址学习方法,该方法包括:
[0020]设备接收数据流,在确定所述数据流为未知的数据流、且没有与源MAC地址匹配的MAC地址条目时,学习所述数据流的MAC地址,通过与其他设备互连的高速业务端口将所述数据流洪泛给其他设备。
[0021]上述方案中,该方法还包括:使能所述高速业务端口的MAC地址学习功能,并配置为属于所有虚拟局域网VLAN。
[0022]上述方案中,所述在确定所述数据流为未知的数据流、且没有与源MAC地址匹配的MAC地址条目时,学习所述数据流的MAC地址包括:
[0023]在MAC地址表中查找与所述数据流的目的MAC地址匹配的MAC地址条目,在没有查找到时,确定所述数据流为未知的数据流,继续查找与所述数据流的源MAC地址匹配的MAC地址条目,在没有查找到时,在MAC地址表中创建新的MAC地址条目,将所述数据流的MAC地址添加到新的MAC地址条目;所述数据流的MAC地址包括:所述数据流的源MAC地址、所属VLAN、输入端口。
[0024]上述方案中,该方法还包括:设备在确定接收的数据流为从初始接收设备迀移的数据流时,将所述数据流对应的原MAC地址更新为当前的MAC地址,通过与其他设备互连的高速业务端口将所述数据流洪泛给其他设备。
[0025]上述方案中,所述确定接收的数据流为从初始接收设备迀移的数据流包括:在MAC地址表中查找与数据流的目的MAC地址匹配的MAC地址条目,在没有查找到时,继续查找与所述数据流的源MAC地址匹配的MAC地址条目,在查找到时,判断所述MAC地址条目中的输入端口是否为高速业务端口,如果不为高速业务端口,则确定所述数据流为本地迀移的数据流,如果为高速业务端口,则确定所述数据流为从初始接收设备迀移的数据流。
[0026]上述方案中,该方法还包括:设备在MAC地址表中查找与数据流的目的MAC地址匹配的MAC地址条目,在查找到时,确定数据流为已知的数据流,将所述数据流从MAC地址条目的输入端口发送给其他设备。
[0027]上述方案中,该方法还包括:在确定所述数据流为本地迀移的数据流时,修改MAC地址表中与所述数据流的源MAC地址匹配的MAC地址条目的输入端口为当前接收所述数据流的端口,并不在高速业务端口对所述数据流进行洪泛。
[0028]上述方案中,该方法还包括:设备监控MAC地址表中各MAC地址条目的老化时间,将在老化时间内一次也没有被数据流的目的MAC地址匹配上的MAC地址条目老化掉。
[0029]本发明提供一种设备,该设备包括:数据接收模块、学习模块、洪泛模块;其中,
[0030]数据接收模块,用于接收数据流;
[0031]学习模块,用于在确定所述数据流为未知的数据流、且没有与源MAC地址匹配的MAC地址条目时,学习所述数据流的MAC地址;
[0032]洪泛模块,用于通过与其他设备互连的高速业务端口将所述数据流洪泛给其他设备。
[0033]上述方案中,所述学习模块,具体用于在确定所述数据流为未知的数据流、且没有与源MAC地址匹配的MAC地址条目时,在MAC地址表中创建新的MAC地址条目,将所述数据流的MAC地址添加到新的MAC地址条目;所述数据流的MAC地址包括:所述数据流的源MAC地址、所属VLAN、输入端口。
[0034]上述方案中,该设备还包括:
[0035]第一更新模块,用于在确定接收的数据流为从初始接收设备迀移的数据流时,将所述数据流对应的原MAC地址更新为当前的MAC地址,并通知洪泛模块;
[0036]第二更新模块,用于在确定所述数据流为本地迀移的数据流时,修改MAC地址表中与所述数据流的源MAC地址匹配的MAC地址条目的输入端口为当前接收所述数据流的端口,并不通知洪泛模块。
[0037]上述方案中,该设备还包括:确定数据流模块,用于在MAC地址表中查找与所述数据流的目的MAC地址匹配的MAC地址条目,在没有查找到时,确定所述数据流为未知的数据流,继续查找与所述数据流的源MAC地址匹配的MAC地址条目,在没有查找到时,通知学习模块,在查找到与所述数据流的源MAC地址匹配的MAC地址条目时,判断所述MAC地址条目中的输入端口是否为高速业务端口,如果不为高速业务端口,则确定所述数据流为本地迀移的数据流,通知第二更新模块,如果为高速业务端口,则确定所述数据流为从初始接收设备迀移的数据流,通知第一更新模块。
[0038]上述方案中,该设备还包括:
[0039]转发模块,用于在确定数据流为已知的数据流时,将所述数据流从MAC地址条目的输入端口发送给其他设备;
[0040]所述确定数据流模块,还用于在MAC地址表中查找与所述数据流的目的MAC地址匹配的MAC地址条目,在查找到时,确定数据流为已知的数据流,通知转发模块。
[0041]上述方案中,该设备还包括:老化模块,用于监控MAC地址表中各MAC地址条目的老化时间,将在老化时间内一次也没有被数据流的目的MAC地址匹配上的MAC地址条目老化掉。
[0042]本发明提供一种MAC地址学习系统,该系统包括多个上述的设备。
[0043]上述方案中,所述设备之间均使用高速业务端口互相连接,使能所述高速业务端口的MAC地址学习功能,并配置为属于所有VLAN。
[0044]本发明提供了一种MAC地址学习方法、设备和系统,设备接收数据流,在确定所述数据流为未知的数据流、且没有与源MAC地址匹配的MAC地址条目时,学习所述数据流的MAC地址,通过与其他设备互连的高速业务端口将所述数据流洪泛给其他设备,由所述其他设备学习从高速业务端口接收到的数据流的MAC地址;如此,可以在没有任何CPU干预的情况下,完成MAC地址在所有设备上的同步。
【附图说明】
[0045]图1为现有技术中分布式设备进行MAC地址同步的方法的流程示意图;
[0046]图2为现有技术中分布式设备进行MAC地址迀移的方法的流程示意图;
[0047]图3为本发明实施例提供的MAC地址学习方法的流程示意图;
[0048]图4为本发明实施例提供的设备的结构示意图;
[0049]图5为本发明实施例提供的线卡A、B、C间MAC地址同步的方法的流程示意图;
[0050]图6为本发明实施例提供的线卡A、B、C间二层转发和MAC地址老化的方法的流程示意图;
[0051]图7为本发明实施例提供的线卡A、B、C间MAC地址迀移的方法的流程示意图。
【具体实施方式】
[0052]本发明实施例中,设备接收数据流,在确定所述数据流为未知的数据流、且没有与源MAC地址匹配的MAC地址条目时,学习所述数据流的MAC地址,通过与其他设备互连的高速业务端口将所述数据流洪泛给其他设备,由所述其他设备学习从高速业务端口接收到的数据流的MAC地址;在确定接收的数据流为从初始接收设备迀移的数据流时,将所述数据流对应的原MAC地址更新为当前的MAC地址,通过与其他设备互连的高速业务端口将所述数据流洪泛给其他设备,以使初始接收设备将所述数据流对应的原MAC地址更新为从高速业务端口接收到的所述数据流的MAC地址。这里,所述设备一般是分布式设备,可以是分布式的线卡等。
[0053]下面通过附图及具体实施例对本发明做进一步的详细说明。
[0054]本发明实施例实现一种MAC地址学习方法,如图3所示,该方法包括以下几个步骤:
[0055]步骤301:设备接收数据流;
[0056]在本步骤之前,设备之间均使用高速业务端口互相连接,使能所述高速业务端口的MAC地址学习功能,并配置为属于所有虚拟局域网(VLAN)。
[0057]步骤302:所述设备在确定所述数据流为未知的数据流、且没有与源MAC地址匹配的MAC地址条目时,学习所述数据流的MAC地址;
[0058]具体的,所述设备在MAC地址表中查找与所述数据流的目的MAC地址匹配的MAC地址条目,在没有查找到时,确定所述数据流为未知的数据流,继续查找与所述数据流的源MAC地址匹配的MAC地址条目,在没有查找到时,在MAC地址表中创建新的MAC地址条目,将所述数据流的MAC地址添加到新的MAC地址条目;所述数据流的MAC地址包括:所述数据流的源MAC地址、所属VLAN、输入端口。
[0059]步骤303:所述设备通过与其他设备互连的高速业务端口将所述数据流洪泛给其他设备,由所述其他设备学习从高速业务端口接收到的数据流的MAC地址;
[0060]具体的,所述设备通过与其他设备互连的高速业务端口将所述数据流洪泛给其他设备,所述其他设备从自身的一个高速业务端口接收到所述数据流后,在MAC地址表中查找与所述数据流的目的MAC地址匹配的MAC地址条目,在没有查找到时,继续查找与所述数据流的源MAC地址匹配的MAC地址条目,在没有查找到时,在MAC地址表中创建新的MAC地址条目,将所述数据流的MAC地址添加到新的MAC地址条目,所述数据流的MAC地址包括:所述数据流的源MAC地址、所属VLAN、输入端口,这里,所述输入端口为自身的接收数据流的高速业务端口 ;之后,所述其他设备通过自身的另一个高速业务端口将所述数据流洪泛给与所述另一个高速业务端口连接的设备,以此类推,完成所述数据流的MAC地址在所有设备上的同步。
[0061]该方法还包括:设备在确定接收的数据流为从初始接收设备迀移的数据流时,将所述数据流对应的原MAC地址更新为当前的MAC地址,通过与其他设备互连的高速业务端口将所述数据流洪泛给其他设备,以使初始接收设备将所述数据流对应的原MAC地址更新为从高速业务端口接收到的所述数据流的MAC地址。
[0062]所述将所述数据流对应的原MAC地址更新为当前的MAC地址包括:修改MAC地址表中与所述数据流的源MAC地址匹配的MAC地址条目的输入端口为当前接收所述数据流的端口。
[0063]具体的,所述确定接收的数据流为从初始接收设备迀移的数据流包括:在MAC地址表中查找与数据流的目的MAC地址匹配的MAC地址条目,在没有查找到时,继续查找与所述数据流的源MAC地址匹配的MAC地址条目,在查找到时,判断所述MAC地址条目中的输入端口是否为高速业务端口,如果不为高速业务端口,则确定所述数据流为本地迀移的数据流,如果为高速业务端口,则确定所述数据流为从初始接收设备迀移的数据流;
[0064]该方法还包括:设备在MAC地址表中查找与数据流的目的MAC地址匹配的MAC地址条目,在查找到时,确定数据流为已知的数据流,将所述数据流从MAC地址条目的输入端口发送给其他设备,完成正常的二层转发;
[0065]这里,当所述设备通过与其他设备互连的高速业务端口将从初始接收设备迀移的数据流洪泛给其他设备时,所述其他设备中会包括初始接收所述数据流的设备即初始接收设备,初始接收设备会根据MAC地址表获知所述数据流的输入端口发生变化、且是从高速业务端口接收所述数据流,修改MAC地址表中与所述数据流的源MAC地址匹配的MAC地址条目的输入端口为当前接收所述数据流的高速业务端口。
[0066]该方法还包括:在确定所述数据流为本地迀移的数据流时,修改MAC地址表中与所述数据流的源MAC地址匹配的MAC地址条目的输入端口为当前接收所述数据流的端口,并不在高速业务端口对所述数据流进行洪泛。
[0067]该方法还包括:设备监控MAC地址表中各MAC地址条目的老化时间,将在老化时间内一次也没有被数据流的目的MAC地址匹配上的MAC地址条目老化掉,即设备将其删除。
[0068]为了实现上述方法,本发明实施例还提供一种设备,所述设备与其他设备之间,均使用高速业务端口互相连接,使能所述高速业务端口的MAC地址学习功能,并配置为属于所有VLAN ;如图4所示,该设备包括:数据接收模块41、学习模块42、洪泛模块43 ;其中,
[0069]数据接收模块41,可以由设备的输入端口实现,用于接收数据流;
[0070]学习模块42,可以由设备的存储器实现,用于在确定所述数据流为未知的数据流、且没有与源MAC地址匹配的MAC地址条目时,学习所述数据流的MAC地址;
[0071]洪泛模块43,可以由设备的控制器实现,用于通过与其他设备互连的高速业务端口将所述数据流洪泛给其他设备,由所述其他设备学习从高速业务端口接收到的数据流的MAC地址;
[0072]具体的,所述学习模块42在确定所述数据流为未知的数据流、且没有与源MAC地址匹配的MAC地址条目时,在MAC地址表中创建新的MAC地址条目,将所述数据流的MAC地址添加到新的MAC地址条目;所述数据流的MAC地址包括:所述数据流的源MAC地址、所属VLAN、输入端口。
[0073]所述洪泛模块43通过与其他设备互连的高速业务端口将所述数据流洪泛给其他设备,所述其他设备从自身的一个高速业务端口接收到所述数据流后,在MAC地址表中查找与所述数据流的目的MAC地址匹配的MAC地址条目,在没有查找到时,继续查找与所述数据流的源MAC地址匹配的MAC地址条目,在没有查找到时,在MAC地址表中创建新的MAC地址条目,将所述数据流的MAC地址添加到新的MAC地址条目,所述数据流的MAC地址包括:所述数据流的源MAC地址、所属VLAN、输入端口,这里,所述输入端口为自身的接收数据流的高速业务端口 ;之后,所述其他设备通过自身的另一个高速业务端口将所述数据流洪泛给与所述另一个高速业务端口连接的设备,以此类推,完成所述数据流的MAC地址在所有设备上的同步。
[0074]该设备还包括:第一更新模块44,用于在确定接收的数据流为从初始接收设备迀移的数据流时,将所述数据流对应的原MAC地址更新为当前的MAC地址,并通知洪泛模块43,以使初始接收设备将所述数据流对应的原MAC地址更新为从高速业务端口接收到的所述数据流的MAC地址。
[0075]相应的,该设备还包括:第二更新模块45,用于在确定所述数据流为本地迀移的数据流时,修改MAC地址表中与所述数据流的源MAC地址匹配的MAC地址条目的输入端口为当前接收所述数据流的端口,并不通知洪泛模块。
[0076]所述第一更新模块44,具体用于修改MAC地址表中与所述数据流的源MAC地址匹配的MAC地址条目的输入端口为当前接收所述数据流的端口,并通知洪泛模块。
[0077]该设备还包括:确定数据流模块46,用于在MAC地址表中查找与所述数据流的目的MAC地址匹配的MAC地址条目,在没有查找到时,确定所述数据流为未知的数据流,继续查找与所述数据流的源MAC地址匹配的MAC地址条目,在没有查找到时,通知学习模块42,在查找到与所述数据流的源MAC地址匹配的MAC地址条目时,判断所述MAC地址条目中的输入端口是否为高速业务端口,如果不为高速业务端口,则确定所述数据流为本地迀移的数据流,通知第二更新模块45,如果为高速业务端口,则确定所述数据流为从初始接收设备迀移的数据流,通知第一更新模块44 ;
[0078]该设备还包括:转发模块47,用于在确定数据流为已知的数据流时,将所述数据流从MAC地址条目的输入端口发送给其他设备,完成正常的二层转发;
[0079]所述确定数据流模块46,还用于在MAC地址表中查找与所述数据流的目的MAC地址匹配的MAC地址条目,在查找到时,确定数据流为已知的数据流,通知转发模块47。
[0080]此外,该设备还包括:老化模块48,用于监控MAC地址表中各MAC地址条目的老化时间,将在老化时间内一次也没有被数据流的目的MAC地址匹配上的MAC地址条目老化掉,即将其删除。
[0081]基于上述分布式设备,本发明还提供一种MAC地址学习系统,该系统包括多个上述设备,各设备之间,均使用高速业务端口互相连接,使能所述高速业务端口的MAC地址学习功能,并配置为属于所有VLAN。
[0082]下面通过具体场景对本发明的方法进行详细说明。
[0083]实例1、2、3的场景为:分布式设备为三个线卡A、B、C,线卡A上在端口 portl学习到一个MAC地址00:11:22:33:44:55 vlan 100。A、B、C之间互连的高速业务端口分别为线卡 A 的 Higigport al (AB 之间)、线卡 B 的 Higigport bl (AB 之间),Higigport b2 (BC 之间)、线卡 C 的 Higigport cl (BC 之间)。
[0084]实例1:线卡A的MAC地址同步到线卡B、C上,如图5所示,包括:
[0085]步骤501、线卡A收到一个未知单播数据流,数据流的源MAC地址为00:11:22:33:44:55,所属vlan为vlanlOO,收到所述数据流的端口为portl,则线卡A上学习 MAC 地址,MAC 地址条目为 00:11:22:33:44:55vlan 10portl。
[0086]步骤502、线卡A将所述数据流洪泛到vlanlOO中,vlanlOO包含了线卡A的Higigport al端口,因此所述数据流被发往Higigport al端口。
[0087]步骤503、由于线卡A将数据流发往了 Higigport al端口,则线卡B在Higigportbl上收到所述数据流。
[0088]步骤504、线卡B查找所述数据流的目的MAC地址,仍是未知,因此将此报文在vlanlOO中洪泛,同时将此数据流的源MAC地址写入线卡B的MAC地址表中,MAC地址条目为 00:11:22:33:44:55vlan 10Higigport bl0
[0089]步骤505、线卡B将所述数据流洪泛在vlanlOO中,由于Higigport b2在vlanlOO中,因此线卡B将所述数据报文洪泛到Higigport b2。
[0090]步骤506、线卡C查找所述数据流的目的MAC地址,仍是未知,因此将所述数据流在vlanlOO中洪泛,同时将所示数据流的源MAC地址写入线卡C的MAC地址表中,MAC地址条目为 00:ll:22:33:44:55vlan 10Higigport clo
[0091]至此,完成未经CPU干预的三块线卡之间的MAC地址同步过程。
[0092]实例2:线卡B的某vlanlOO的端口收到需要发往目的MAC地址为00:11:22:33:44:55的数据流,如图6所示,包括:
[0093]步骤601、线卡B查找自身MAC地址表,发现vlanlOO的00:11:22:33:44:55的MAC地址条目转发出口信息为Higigport bl。
[0094]步骤602、线卡B将数据流转发给Higigport bl。
[0095]步骤603、线卡A从Higigport al收到所述数据流,查找自身的MAC地址表,查找到 MAC 地址条目为 00:11:22:33:44:55vlan 10port I。
[0096]步骤604、线卡A将所述数据流转发至portl,完成已知MAC地址的转发。
[0097]步骤605、线卡C在老化时间内始终没有收到目的MAC地址为00:11:22:33:44:55的数据流,线卡C上00:11:22:33:44:55的MAC地址条目在老化时间到达后自动老化。
[0098]至此,完成正常的二层转发和未经CPU干预的MAC地址条目老化。
[0099]实例3:线卡B从port2收到同样的源MAC地址为00:11:22:33:44:55vlanl00的未知单播报文,如图7所示,包括:
[0100]步骤701、线卡B查找自身MAC地址表,发现有存在同样的00:11:22:33:44:55vlan10Higigport bl的转发条目。
[0101]步骤702、线卡B更新自身的MAC地址表,更新为00:11:22:33:44:55vlanl00port2。
[0102]步骤703、由于是未知单播的数据流,因此线卡B将此报文洪泛到vlanlOO中,即洪泛到 Higigport bl 和 Higigport b20
[0103]步骤704、线卡A从Higigport al收到所述数据流,查找自身MAC地址表,发现存在同样的 00:ll:22:33:44:55vlan 10portl 条目。
[0104]步骤705、线卡A更新自身的MAC地址表,更新条目为00:11:22:33:44:55vlan10Higigport alo
[0105]步骤706、线卡C仍然是从Higigport cl收到此报文,查找MAC地址条目后发现是同样的条目,因此线卡C的MAC地址条目不变化。
[0106]至此,完成未经CPU干预的MAC地址迀移过程
[0107]由以上的技术方案可见,与一般的分布式设备的MAC地址同步的方法相比,这种利用高速业务端口互联并且设置其属于所有VLAN的方法,会使得MAC地址同步彻底变成一个自动的过程,其过程中完全无需CPU进行干预,此方法使得MAC地址同步的过程不再消耗(PU资源,并且在进行MAC地址迀移的时候,也是极快速度的自动MAC地址更新过程,也不需要CPU进行干预,因此几乎可以做到数据流不断流的自然切换。
[0108]以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
【主权项】
1.一种媒体接入控制MAC地址学习方法,其特征在于,该方法包括: 设备接收数据流,在确定所述数据流为未知的数据流、且没有与源MAC地址匹配的MAC地址条目时,学习所述数据流的MAC地址,通过与其他设备互连的高速业务端口将所述数据流洪泛给其他设备。2.根据权利要求1所述的MAC地址学习方法,其特征在于,该方法还包括:使能所述高速业务端口的MAC地址学习功能,并配置为属于所有虚拟局域网VLAN。3.根据权利要求1所述的MAC地址学习方法,其特征在于,所述在确定所述数据流为未知的数据流、且没有与源MAC地址匹配的MAC地址条目时,学习所述数据流的MAC地址包括: 在MAC地址表中查找与所述数据流的目的MAC地址匹配的MAC地址条目,在没有查找到时,确定所述数据流为未知的数据流,继续查找与所述数据流的源MAC地址匹配的MAC地址条目,在没有查找到时,在MAC地址表中创建新的MAC地址条目,将所述数据流的MAC地址添加到新的MAC地址条目;所述数据流的MAC地址包括:所述数据流的源MAC地址、所属VLAN、输入端口。4.根据权利要求1所述的MAC地址学习方法,其特征在于,该方法还包括:设备在确定接收的数据流为从初始接收设备迀移的数据流时,将所述数据流对应的原MAC地址更新为当前的MAC地址,通过与其他设备互连的高速业务端口将所述数据流洪泛给其他设备。5.根据权利要求4所述的MAC地址学习方法,其特征在于,所述确定接收的数据流为从初始接收设备迀移的数据流包括:在MAC地址表中查找与数据流的目的MAC地址匹配的MAC地址条目,在没有查找到时,继续查找与所述数据流的源MAC地址匹配的MAC地址条目,在查找到时,判断所述MAC地址条目中的输入端口是否为高速业务端口,如果不为高速业务端口,则确定所述数据流为本地迀移的数据流,如果为高速业务端口,则确定所述数据流为从初始接收设备迀移的数据流。6.根据权利要求5所述的MAC地址学习方法,其特征在于,该方法还包括:设备在MAC地址表中查找与数据流的目的MAC地址匹配的MAC地址条目,在查找到时,确定数据流为已知的数据流,将所述数据流从MAC地址条目的输入端口发送给其他设备。7.根据权利要求5所述的MAC地址学习方法,其特征在于,该方法还包括:在确定所述数据流为本地迀移的数据流时,修改MAC地址表中与所述数据流的源MAC地址匹配的MAC地址条目的输入端口为当前接收所述数据流的端口,并不在高速业务端口对所述数据流进行洪泛。8.根据权利要求1所述的MAC地址学习方法,其特征在于,该方法还包括:设备监控MAC地址表中各MAC地址条目的老化时间,将在老化时间内一次也没有被数据流的目的MAC地址匹配上的MAC地址条目老化掉。9.一种设备,其特征在于,该设备包括:数据接收模块、学习模块、洪泛模块;其中, 数据接收模块,用于接收数据流; 学习模块,用于在确定所述数据流为未知的数据流、且没有与源MAC地址匹配的MAC地址条目时,学习所述数据流的MAC地址; 洪泛模块,用于通过与其他设备互连的高速业务端口将所述数据流洪泛给其他设备。10.根据权利要求9所述的设备,其特征在于,所述学习模块,具体用于在确定所述数据流为未知的数据流、且没有与源MAC地址匹配的MAC地址条目时,在MAC地址表中创建新的MAC地址条目,将所述数据流的MAC地址添加到新的MAC地址条目;所述数据流的MAC地址包括:所述数据流的源MAC地址、所属VLAN、输入端口。11.根据权利要求9所述的设备,其特征在于,该设备还包括: 第一更新模块,用于在确定接收的数据流为从初始接收设备迀移的数据流时,将所述数据流对应的原MAC地址更新为当前的MAC地址,并通知洪泛模块; 第二更新模块,用于在确定所述数据流为本地迀移的数据流时,修改MAC地址表中与所述数据流的源MAC地址匹配的MAC地址条目的输入端口为当前接收所述数据流的端口,并不通知洪泛模块。12.根据权利要求11所述的设备,其特征在于,该设备还包括:确定数据流模块,用于在MAC地址表中查找与所述数据流的目的MAC地址匹配的MAC地址条目,在没有查找到时,确定所述数据流为未知的数据流,继续查找与所述数据流的源MAC地址匹配的MAC地址条目,在没有查找到时,通知学习模块,在查找到与所述数据流的源MAC地址匹配的MAC地址条目时,判断所述MAC地址条目中的输入端口是否为高速业务端口,如果不为高速业务端口,则确定所述数据流为本地迀移的数据流,通知第二更新模块,如果为高速业务端口,则确定所述数据流为从初始接收设备迀移的数据流,通知第一更新模块。13.根据权利要求12所述的设备,其特征在于,该设备还包括: 转发模块,用于在确定数据流为已知的数据流时,将所述数据流从MAC地址条目的输入端口发送给其他设备; 所述确定数据流模块,还用于在MAC地址表中查找与所述数据流的目的MAC地址匹配的MAC地址条目,在查找到时,确定数据流为已知的数据流,通知转发模块。14.根据权利要求9所述的设备,其特征在于,该设备还包括:老化模块,用于监控MAC地址表中各MAC地址条目的老化时间,将在老化时间内一次也没有被数据流的目的MAC地址匹配上的MAC地址条目老化掉。15.一种MAC地址学习系统,其特征在于,该系统包括多个权利要求9至14任一项所述的设备。16.根据权利要求15所述的MAC地址学习系统,其特征在于,所述设备之间均使用高速业务端口互相连接,使能所述高速业务端口的MAC地址学习功能,并配置为属于所有VLAN。
【文档编号】H04L29/12GK105991783SQ201510064579
【公开日】2016年10月5日
【申请日】2015年2月6日
【发明人】林宁
【申请人】中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1