CN103428091A - Mac地址学习的控制方法及转发设备 - Google Patents
Mac地址学习的控制方法及转发设备 Download PDFInfo
- Publication number
- CN103428091A CN103428091A CN2012101501357A CN201210150135A CN103428091A CN 103428091 A CN103428091 A CN 103428091A CN 2012101501357 A CN2012101501357 A CN 2012101501357A CN 201210150135 A CN201210150135 A CN 201210150135A CN 103428091 A CN103428091 A CN 103428091A
- Authority
- CN
- China
- Prior art keywords
- mac address
- described message
- message
- study
- attribute information
- 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.)
- Pending
Links
Images
Landscapes
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种MAC地址学习的控制方法及转发设备,其中,该方法包括:接收报文;根据报文的属性信息判断是否依据报文进行MAC地址的学习,其中,属性信息包括以下之一:单播、组播、广播。通过运用本发明,解决了只通过固定方式控制MAC地址的学习,MAC地址学习方式单一,限制了MAC地址学习的问题。本发明MAC地址的学习控制方法可根据属性信息的不同因需要进行控制,可以避免网络中存在大量广播或组播报文对于系统MAC地址容量的冲击,使系统在容量有限的情况下学习有用的MAC地址,提升了系统性能。
Description
技术领域
本发明涉及通信领域,具体而言,涉及一种媒体访问控制(Media Access Control,简称为MAC)地址学习的控制方法及转发设备。
背景技术
随着网络的发展,IP网络已经成为人们日常生活中必不可少的通信工具,而在网络数据的转发过程中,MAC地址学习功能是各个网络设备必须的功能,各个网络设备需要根据学习到的MAC地址信息进行报文的转发。
但是在现实网络环境中会存在大量的广播报文和组播报文,这些报文中有很多都是杂包,然而,网络设备其实并不需要关心杂包的MAC地址信息,在目前的地址学习方案中,网络设备都学习了这些报文的MAC地址信息,这些MAC地址信息占用了网络设备有限的地址容量,造成了资源的浪费。
相关技术中,大部分网络设备使用的方式都是通过MAC地址限制来控制的,对于网络设备某个端口有很多杂包的时候,选择限制该端口的MAC地址学习数量,这种方式虽然能够保证网络设备总的地址容量不被占满,但是却限制了该端口正常报文的MAC地址学习。
上述转发设备在报文转发的过程中,只通过固定方式控制MAC地址的学习,MAC地址学习方式单一,限制了MAC地址学习。由于方式单一,进一步导致了转发设备在在系统转发地址数量有限的情况下无法学习正常报文的MAC地址。
发明内容
本发明提供了一种MAC地址学习的控制方法及转发设备,以至少解决转发设备在报文转发的过程中,只通过固定方式控制MAC地址的学习,MAC地址学习方式单一,限制了MAC地址学习的问题。
根据本发明的一个方面,提供了一种MAC地址学习的控制方法,包括:接收报文;根据所述报文的属性信息判断是否依据所述报文进行MAC地址的学习,其中,所述属性信息包括以下之一:单播、组播、广播。
优选地,在所述报文的属性信息为组播或者广播的情况下,不依据所述报文进行MAC地址的学习;和/或,在所述报文的属性信息为组播或广播,并且已经学习到的MAC地址的数量小于第一阈值的情况下,依据所述报文进行MAC地址的学习。
优选地,在所述报文的属性信息为单播的情况下,依据所述报文进行MAC地址的学习。
优选地,所述报文的属性信息为单播的情况下依据所述报文进行MAC地址的学习包括:当MAC地址转发表中不存在所述报文对应的转发条目时,在所述转发表中建立所述转发条目,并将所述报文对应的转发条目标记为非使用状态;当MAC地址转发表中存在所述报文对应的转发条目时,转发所述报文,并将所述报文对应的转发条目标记为使用状态;其中,所述使用状态与所述非使用状态用于指示所述转发条目的使用情况。
优选地,在已经学习到的MAC地址的数量达到上限的情况下,将通过属性信息是多播或广播的报文所学到MAC地址替换为通过属性信息是单播报文所学到的MAC地址。
优选地,根据所述报文的属性信息判断是否依据所述报文进行MAC地址的学习包括:在当前已经学习到的MAC地址的数量大于第二阈值的情况下,根据所述报文的属性信息判断是否依据所述报文进行媒体接入控制MAC地址的学习;根据所述报文的属性信息判断是否依据所述报文进行MAC地址的学习还包括:在当前已经学习到的MAC地址的数量小于或等于所述第二阈值的情况下,依据所述报文进行MAC地址的学习。
优选地,根据所述报文的属性信息判断是否依据所述报文进行媒体接入控制MAC地址的学习还包括:在检测到当前已经学习到的MAC地址的数量大于第二阈值的情况下,根据所述报文的使用情况选择修改或删除依据所述报文进行MAC地址学习的转发条目;当已经学习到的MAC地址的数量小于第一阈值时,停止修改或删除依据所述报文进行MAC地址学习的转发条目的操作。
优选地,根据所述报文的使用情况选择修改或删除依据所述报文进行MAC地址学习的转发条目包括:将非使用状态的转发条目删除,将使用状态的转发条目修改为非使用状态。
根据本发明的另一方面,提供了一种转发设备,包括:接收模块,用于接收报文;第一判断模块,用于根据所述报文的属性信息判断是否依据所述报文进行MAC地址的学习,其中,所述属性信息包括以下之一:单播、组播、广播。
优选地,所述转发设备还包括:第一处理模块,用于在所述报文的属性信息为组播或者广播的情况下,不依据所述报文进行MAC地址的学习;第二处理模块,用于在所述报文的属性信息为组播或广播,并且已经学习到的MAC地址的数量小于第一阈值的情况下,依据所述报文进行MAC地址的学习。
优选地,所述转发设备还包括:第三处理模块,用于在所述报文的属性信息为单播的情况下,依据所述报文进行MAC地址的学习。
优选地,所述转发设备还包括:第二判断模块,用于判断当前已经学习到的MAC地址的数量是否大于第二阈值;第一执行模块,用于在当前已经学习到的MAC地址的数量大于第二阈值的情况下,根据所述报文的属性信息判断是否依据所述报文进行媒体接入控制MAC地址的学习;第二执行模块,用于在当前已经学习到的MAC地址的数量小于或等于所述第二阈值的情况下,依据所述报文进行MAC地址的学习。
本发明通过报文的属性信息的不同来判断是否对报文进行学习,实现了在不同的场景下,根据报文不同的属性信息对MAC地址的学习进行控制,解决了只通过固定方式控制MAC地址的学习,MAC地址学习方式单一,限制了MAC地址学习的问题。通过本发明提供的MAC地址的学习控制方法,可根据属性信息的不同因需要进行控制,进一步,还可以避免网络中存在大量广播或组播报文对于系统MAC地址容量的冲击,使系统在容量有限的情况下学习有用的MAC地址,提升了系统性能。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的MAC地址学习的控制方法的流程图;
图2是根据本发明实施例一的MAC地址学习的控制方法的流程图;
图3是根据本发明实施例二的MAC地址学习的控制方法的流程图;
图4是根据本发明实施例二的控制方法定时查询的流程图;
图5是根据本发明实施例转发设备的结构框图一;
图6是根据本发明实施例转发设备的结构框图二;
图7是根据本发明实施例转发设备的结构框图三。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
基于相关技术中,转发设备在报文转发的过程中,只通过固定方式控制MAC地址的学习,MAC地址学习方式单一,限制了MAC地址学习,本发明实施例提供了一种MAC地址学习的控制方法,该控制方法的流程包括图1所示的步骤S102至步骤S104:
步骤S102,接收报文;
步骤S104,根据报文的属性信息判断是否依据报文进行MAC地址的学习,其中,属性信息包括以下之一:单播、组播、广播。
本发明实施例通过报文的属性信息的不同来判断是否对报文进行学习,实现了在不同的场景下,根据报文不同的属性信息对MAC地址的学习进行控制,解决了只通过固定方式控制MAC地址的学习,MAC地址学习方式单一,限制了MAC地址学习的问题。通过本发明提供的MAC地址的学习控制方法,可根据属性信息的不同因需要进行控制,进一步,还可以避免网络中存在大量广播或组播报文对于系统MAC地址容量的冲击,使系统在容量有限的情况下学习有用的MAC地址,提升了系统性能。
在报文的属性信息为组播或者广播的情况下,不依据报文进行MAC地址的学习;或者,在报文的属性信息为组播或广播,并且已经学习到的MAC地址的数量小于第一阈值的情况下,依据报文进行MAC地址的学习。实施的过程中,可以在系统中设定一个第一阈值,例如安全阈值,则当系统已经学习到的MAC地址的数量小于安全阈值时,系统处于安全工作的状态,无需对其实施控制学习。如果系统不想学习任何组播或广播,则可以在不依据报文进行MAC地址的学习。
系统还可以在报文的属性信息为单播的情况下,依据报文进行MAC地址的学习。单播和组播(或广播)的学习过程不冲突,当然,也可以是在系统中只对单播进行限制。
在实施的过程中,从报文中可以获取的信息有源MAC地址信息、端口信息和目的MAC地址信息。依据报文进行MAC地址的学习时,可以是根据源MAC地址信息、端口信息和目的MAC地址信息的一种或多种对其进行学习,例如,在组播的情况下,第一阈值为系统设定的安全阈值时,可以依据报文的源MAC地址信息和端口信息对组播信息进行报文的学习。当然,对于组播的学习,还可以是无论系统容量是否有剩余或是否设定阈值,都不依据报文的任何信息对其进行学习。
报文的属性信息为单播且依据报文进行MAC地址的学习的情况下,当MAC地址转发表中不存在报文对应的转发条目时,在转发表中建立转发条目,并将报文对应的转发条目标记为非使用状态。
在实施的过程中,当转发表中不存在与从报文中获取的源MAC地址信息和端口信息相对应的转发条目时,则在转发表中创建该转发条目,并将该转发条目的使用情况设置为非使用状态,然后根据获取的目的MAC地址信息查找该转发表的转发条目,判断是否能够查找到,如果找到,则转发报文,并将其使用情况由非使用状态修改为使用状态,其中,上述使用状态与非使用状态用于指示转发条目的使用情况,该使用情况的设置是用于后续清理转发表中已经学习到的MAC地址的数量而使用。
当MAC地址转发表中存在报文对应的转发条目时,即转发表中可以查找到目的MAC地址信息对应的转发条目时,则直接转发报文,并将报文对应的转发条目标记为使用状态,该过程是建立转发条目之后的步骤;当在转发表中的转发条目下查找不到目的MAC地址信息时,则直接转发报文,非使用状态不做改变。上述使用情况的调整,为后续清理转发表的容量做了铺垫。
在已经学习到的MAC地址的数量达到上限的情况下,即系统已没有多余的容量来进一步学习MAC地址时,将通过属性信息是多播或广播的报文所学到MAC地址替换为通过属性信息是单播报文所学到的MAC地址。在替换的过程中,可以是系统从开始进行轮询查找,将查找到的第一个通过属性信息是多播或广播的报文所学到MAC地址进行替换,也可以是将查找时间最近的通过属性信息是多播或广播的报文所学到MAC地址进行替换,还可以对系统进行自定义查找,此处对替换的过程不再进行赘述。以上述替换的方式进行控制,可以快速学习想要学习的MAC地址,使系统的使用效率更高,MAC地址的学习更加灵活。
在根据报文的属性信息判断是否依据报文进行MAC地址的学习之前,还可以包括进一步的判断步骤,也就是在什么情况下开始执行上述的控制过程。作为对上述控制过程进一步优化,可以对系统设定一个第二阈值,此时,可以将当前已经学习到的MAC地址的数量与第二阈值的大小进行判断,即判断当前已经学习到的MAC地址的数量是否大于第二阈值。在当前已经学习到的MAC地址的数量大于第二阈值的情况下,根据报文的属性信息判断是否依据报文进行媒体接入控制MAC地址的学习;在当前已经学习到的MAC地址的数量小于或等于第二阈值的情况下,依据报文进行MAC地址的学习。上述过程体现了系统对MAC地址的精细化控制。
在上述实施的过程中,在检测到当前已经学习到的MAC地址的数量大于第二阈值的情况下,根据报文的使用情况选择修改或删除依据报文进行MAC地址学习的转发条目。修改或删除的操作可以是将非使用状态的转发条目删除,将使用状态的转发条目修改为非使用状态,待下一次轮询的时候再次检测使用状态与非使用状态的转发条目的使用情况是否有改变,无改变则执行上述操作。该过程是一个循环的过程,系统不断的调整当前已经学习到的MAC地址的数量。为了节约资源,防止系统在无需控制的情况下仍继续开启控制工作,则设定一个第一阈值,则当已经学习到的MAC地址的数量小于第一阈值时,可以停止修改或删除依据报文进行MAC地址学习的转发条目的操作。
优选实施例
本发明实施例提供了一种MAC地址学习的控制方法,MAC地址学习控制主要是要能够识别出系统不需要学习的MAC地址,在地址容量有限的时候控制这些MAC地址的学习,以避免这些MAC地址占用了系统有限的MAC地址容量资源。
为了实现上述功能,本发明需要记录如下关键信息:
1、MAC地址转发表,该表主要记录如下几个信息:(1)MAC地址信息,数据报文的源MAC地址信息;(2)端口信息,数据报文进入系统的端口信息;(3)地址使用信息,记录该MAC地址信息是否有报文转发使用。
2、MAC地址标记信息,记录该MAC地址对应报文的属性,标记该MAC对应的报文是广播(组播)报文还是单播报文。该信息可以是在开启控制后才开始进行记录,也可以是没有控制过程,只要系统开始工作便进行记录。
3、最大MAC地址容量,系统能够允许学习的最大MAC地址的数量。
4、当前MAC地址容量,系统当前已经学习到的MAC地址的数量。
5、告警MAC地址容量,系统告警的MAC地址数量,当系统当前MAC地址数量到达这个数量时就需要对MAC地址学习进行控制。
6、安全MAC地址容量,系统安全的MAC地址数量,当系统当前MAC地址数量小于这个数量时不需要对MAC地址学习进行控制。
上述信息中,MAC地址转发表、MAC地址标记信息和当前MAC地址容量是系统在运行过程中动态生成的;最大MAC地址容量是由系统决定的;告警MAC地址容量和安全地址容量是根据系统运行环境进行设置的,一般来说,安全MAC地址容量小于告警MAC地址容量。在不需要多重设置的情况下,也可以只设置一个告警MAC地址容量,不设置安全MAC地址容量,
系统在报文转发时,需要记录报文的源MAC地址信息和端口信息,并根据报文的目的MAC地址信息查找相应的转发表,找到转发的端口,从而完成报文的转发。本发明除记录报文的源MAC地址信息、端口信息外,还根据报文的目的MAC地址信息判断出报文是广播(组播)/单播属性来限制广播(组播)报文的源MAC地址学习,并根据报文的目的MAC记录转发表中各个条目的使用信息,尽快老化非使用的转发条目从而达到对MAC地址学习的控制。
实例一
如图2所示,本实施例包括步骤S202至步骤S224:
步骤S202,获取报文信息,即系统获取报文的入端口信息、源MAC地址信息、目的MAC地址信息,并根据目的MAC地址判断出MAC地址标记信息是广播(组播)属性还是单播属性。
步骤S204,根据端口信息和源MAC地址信息查找MAC地址转发表,判断是否存在与其相对应的转发条目。如果能够查找到与其对应的转发条目,则进入步骤S206,否则,进入步骤S208。
步骤S206,更新对应源MAC和端口信息的MAC地址转发表条目,进入步骤S220。在该步骤执行的过程中,更新的可以是老化时间,也可以是转发条目的使用情况,或者两者都更新。
步骤S208,判断当前MAC地址容量是否大于等于告警MAC地址容量。如果是,则执行步骤S210,否则进入步骤S218。
步骤S210,判断系统是否启用了MAC地址定时查询功能,如果没有启用进入步骤S212,否则进入步骤S214。
步骤S212,系统启用定时查询功能。该功能通过不断的查询MAC地址转发表,将目前不使用的MAC地址转发条目尽快老化,避免这些地址占用了有限的MAC地址容量资源。
系统在转发报文时,会根据MAC地址转发表查找到对应的端口信息进行报文的转发,在转发的同时将会对该MAC地址转发条目的地址使用信息进行更新,在地址查询功能启用后,将会定时查询MAC地址转发表中的各个条目的使用信息,如果发现有不使用的MAC地址转发条目时会立即删除,否则继续查询其他MAC地址转发条目,直到当前MAC地址容量小于安全MAC地址容量。
步骤S214,判断当前MAC地址标记信息是否为单播,如果是进入步骤S216,否则进入步骤S220。
步骤S216,判断当前MAC地址容量是否小于最大MAC地址容量,如果是进入步骤S218,否则进入步骤S220。
步骤S218,根据获取到的报文的源MAC地址信息,入端口信息,在MAC地址表中创建新的MAC地址条目,并将该MAC地址条目的使用信息置为非使用状态,更新当前MAC地址容量。
步骤S220,根据获取到的报文的目的MAC地址信息,查找MAC地址转发表,判断是否可以查找到。如果查是,则进入步骤S222,否则进入步骤S224。
步骤S222,将查找到对应的MAC地址转发条目的使用信息置为使用状态。
步骤S224,系统将报文进行转发,结束流程。
为了在系统允许的情况下,能够尽量多的学习转发报文的MAC地址信息,当系统当前MAC地址容量小于安全MAC地址容量时,将会关闭系统的定时查询功能并且对于系统的MAC地址学习不会进行控制。
与现有技术相比,本实施例采用的MAC地址学习的控制方法,能够根据系统的运行状态,自动调整MAC地址学习功能,不仅能够简单有效的控制网络上大量杂包对于系统MAC地址容量的冲击,而且能够在系统允许的情况下,使得系统能够尽量多的学习到所有的MAC地址信息。
实例二
如图3所示,为控制MAC地址学习方法的流程图,该方法包括步骤S302至步骤S326:
步骤S302,获取报文信息,主要是获取报文的入端口信息,报文的源MAC地址信息和报文的目的MAC地址信息,并根据目的MAC地址判断出MAC地址标记信息是广播(组播)属性还是单播属性。
步骤S304,根据获取到的源MAC地址信息和入端口信息查找对应的MAC地址转发表,判断是否可以查找到。如果能够查找到,说明已经创建,进入步骤S306,否则进入步骤S308。
步骤S306,更新MAC地址转发表对应条目的老化时间,进入步骤S320。
步骤S308,判断当前MAC地址容量是否大于等于告警MAC地址容量。如果是,说明需要对MAC地址容量进行控制,则执行步骤S310,否则进入步骤S318。
步骤S310,判断系统是否启用了定时查询功能。如果是,则进入步骤S314,否则进入步骤S312。
步骤S312,启用定时查询功能,以尽快删除非使用状态的MAC地址条目,进入步骤S314。
步骤S314,根据报文目的MAC地址信息判断报文是否为单播报文。如果是,则进入步骤S316,否则进入步骤S320。
步骤S316,判断系统当前MAC地址容量是否小于系统最大MAC地址容量。如果是,进入步骤S318,否则进入步骤S320。
步骤S318,在MAC地址转发表中新增MAC地址转发条目,记录报文的源MAC地址信息和入端口信息,并将地址使用信息设置为未使用状态。
步骤S320,根据报文的目的MAC地址信息查找MAC地址转发表,如果查找到,则进入步骤S322,否则进入步骤S324。
步骤S322,更新MAC地址转发表条目中的使用信息(使用情况),将地址使用信息设置为使用状态。
步骤S324,根据报文的目的MAC地址信息转发报文。
如果查找到对应的端口信息就将报文转发到对应的端口,否则将对报文在各个端口中进行洪范。
步骤S326,结束MAC地址控制流程。
图4描述了上述控制过程中定时查询功能执行的流程,该流程包括步骤S402至步骤S416:
步骤S402,通过MAC地址转发表循环获取所有MAC地址转发条目的使用信息。
步骤S404,判断MAC地址转发条目的使用信息是否处于使用状态。如果是,进入步骤S406,否则进入步骤S408。
步骤S406,将MAC地址转发条目对应的使用信息置为非使用状态。
在该步骤执行的过程中,如果没有报文转发用到该条目,则使用信息会一直处于非使用状态;当有报文转发用到该条目时,则会将使用信息置为使用状态,然后进入步骤S402,重新查询下一条地址转发条目。
步骤S408,删除对应的MAC地址转发条目。
步骤S410,更新当前MAC地址容量。
步骤S412,判断当前MAC地址容量是否小于安全MAC地址容量。如果是,说明系统目前地址容量比较充足,不需要对MAC地址学习进行控制,进入步骤S414,否则进入步骤S402,继续进行查找。
步骤S414,停止定时查询功能。
步骤S416,结束定时查询流程。
本发明实施例还提供了一种转发设备,可以用于实现本发明上述实施例提供的控制方法,以及转发上述报文,其结构如图5所示,包括:接收模块10,用于接收报文;第一判断模块20,与接收模块10耦合,用于根据报文的属性信息判断是否依据报文进行MAC地址的学习,其中,属性信息包括以下之一:单播、组播、广播。
图6是对上述转发设备的优化,在如图6所示的转发设备中,该设备还可包括一个整体的处理结构,与第一判断模块20耦合,在判断属性信息后如何进行后续的处理,则处理机构结构包括:第一处理模块30,用于在报文的属性信息为组播或者广播的情况下,不依据报文进行MAC地址的学习;第二处理模块40,用于在报文的属性信息为组播或广播,并且已经学习到的MAC地址的数量小于第一阈值的情况下,依据报文进行MAC地址的学习;第三处理模块50,用于在报文的属性信息为单播的情况下,依据报文进行MAC地址的学习。
当根据报文的属性信息判断依据报文进行MAC地址的学习的时候,则第二处理模块40与第三处理模块50工作。对于属性信息是单播的报文,则在任何情况下都依据报文进行MAC地址的学习。
对于属性信息是组播(或广播)的报文,判断已经学习到的MAC地址的数量是否小于第一阈值,在小于的情况下,则依据报文进行MAC地址的学习,如果不小于,则不学习,这只是一种学习的方式,
当然,在需要学习的MAC的数量较大或用户不需要学习组播(或广播)等情况下,也可以不进行判断,即第一处理模块30工作,此时,只要是组播(或广播)就只转发报文而不学习。这也就是不依据报文进行MAC地址学习的情况。
上述转发设备还可以包括:第二判断模块60、第一执行模块70和第二执行模块80,加入了上述模块的转发设备可以如图7所示,其中,第二判断模块60,用于判断当前已经学习到的MAC地址的数量是否大于第二阈值;第一执行模块70,用于在当前已经学习到的MAC地址的数量大于第二阈值的情况下,根据报文的属性信息判断是否依据报文进行媒体接入控制MAC地址的学习;第二执行模块80,用于在当前已经学习到的MAC地址的数量小于或等于第二阈值的情况下,依据报文进行MAC地址的学习。
图7所示的转发设备第二判断模块60的增加,给第一判断模块20的执行增加了一个先决条件,即设定一个第二阈值,并判断当前已经学习到的MAC地址的数量是否大于第二阈值。在大于第二阈值的情况下,第一执行模块70工作,选择根据报文的属性信息判断是否依据报文进行MAC地址的学习方式,随后第一判断模块20再工作,再来根据属性信息进行真正的选择,以及后续的处理。
在不大于第二阈值的情况下,第二执行模块80工作,即选择的是依据报文进行MAC地址的学习方式,则所有报文都进行学习。
本实施例提供的转发设备还可以用于在检测到当前已经学习到的MAC地址的数量大于第二阈值的情况下,根据报文的使用情况选择修改或删除依据报文进行MAC地址学习的转发条目;当已经学习到的MAC地址的数量小于第一阈值时,停止修改或删除依据报文进行MAC地址学习的转发条目的操作。其中,将非使用状态的转发条目删除,将使用状态的转发条目修改为非使用状态。
优选地,所示转发设备在已经学习到的MAC地址的数量达到上限的情况下,将通过属性信息是多播或广播的报文所学到MAC地址替换为通过属性信息是单播报文所学到的MAC地址。
上述转发设备的处理结构还可以用于当MAC地址转发表中不存在报文对应的转发条目时,在转发表中建立转发条目,并将报文对应的转发条目标记为非使用状态;当MAC地址转发表中存在报文对应的转发条目时,转发报文,并将报文对应的转发条目标记为使用状态;其中,使用状态与非使用状态用于指示转发条目的使用情况。
从以上的描述中,可以看出,本发明实现了如下技术效果:
本发明实施例的MAC地址学习的控制方法通过尽快老化非使用的MAC地址转发条目,限制广播(和组播)报文的MAC地址学习,使系统在MAC地址容量充足的情况下,能够学习所有报文的MAC地址信息,在MAC地址容量有限的情况下,尽量学习正常转发报文的MAC地址信息,从而有效的解决了系统MAC地址学习问题。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种媒体接入控制MAC地址学习的控制方法,其特征在于,包括:
接收报文;
根据所述报文的属性信息判断是否依据所述报文进行MAC地址的学习,其中,所述属性信息包括以下之一:单播、组播、广播。
2.根据权利要求1所述的方法,其特征在于,
在所述报文的属性信息为组播或者广播的情况下,不依据所述报文进行MAC地址的学习;和/或,
在所述报文的属性信息为组播或广播,并且已经学习到的MAC地址的数量小于第一阈值的情况下,依据所述报文进行MAC地址的学习。
3.根据权利要求1或2所述的方法,其特征在于,在所述报文的属性信息为单播的情况下,依据所述报文进行MAC地址的学习。
4.根据权利要求3所述的方法,其特征在于,所述报文的属性信息为单播的情况下依据所述报文进行MAC地址的学习包括:
当MAC地址转发表中不存在所述报文对应的转发条目时,在所述转发表中建立所述转发条目,并将所述报文对应的转发条目标记为非使用状态;
当MAC地址转发表中存在所述报文对应的转发条目时,转发所述报文,并将所述报文对应的转发条目标记为使用状态;
其中,所述使用状态与所述非使用状态用于指示所述转发条目的使用情况。
5.根据权利要求3所述的方法,其特征在于,在已经学习到的MAC地址的数量达到上限的情况下,将通过属性信息是多播或广播的报文所学到MAC地址替换为通过属性信息是单播报文所学到的MAC地址。
6.根据权利要求3所述的方法,其特征在于,
根据所述报文的属性信息判断是否依据所述报文进行MAC地址的学习包括:在当前已经学习到的MAC地址的数量大于第二阈值的情况下,根据所述报文的属性信息判断是否依据所述报文进行媒体接入控制MAC地址的学习;
根据所述报文的属性信息判断是否依据所述报文进行MAC地址的学习还包括:在当前已经学习到的MAC地址的数量小于或等于所述第二阈值的情况下,依据所述报文进行MAC地址的学习。
7.根据权利要求6所述的方法,其特征在于,根据所述报文的属性信息判断是否依据所述报文进行媒体接入控制MAC地址的学习还包括:
在检测到当前已经学习到的MAC地址的数量大于第二阈值的情况下,根据所述报文的使用情况选择修改或删除依据所述报文进行MAC地址学习的转发条目;
当已经学习到的MAC地址的数量小于第一阈值时,停止修改或删除依据所述报文进行MAC地址学习的转发条目的操作。
8.根据权利要求7所述的方法,其特征在于,根据所述报文的使用情况选择修改或删除依据所述报文进行MAC地址学习的转发条目包括:
将非使用状态的转发条目删除,将使用状态的转发条目修改为非使用状态。
9.一种转发设备,其特征在于,包括:
接收模块,用于接收报文;
第一判断模块,用于根据所述报文的属性信息判断是否依据所述报文进行MAC地址的学习,其中,所述属性信息包括以下之一:单播、组播、广播。
10.根据权利要求9所述的设备,其特征在于,还包括:
第一处理模块,用于在所述报文的属性信息为组播或者广播的情况下,不依据所述报文进行MAC地址的学习;
第二处理模块,用于在所述报文的属性信息为组播或广播,并且已经学习到的MAC地址的数量小于第一阈值的情况下,依据所述报文进行MAC地址的学习。
11.根据权利要求9或10所述的设备,其特征在于,还包括:
第三处理模块,用于在所述报文的属性信息为单播的情况下,依据所述报文进行MAC地址的学习。
12.根据权利要求11所述的设备,其特征在于,还包括:
第二判断模块,用于判断当前已经学习到的MAC地址的数量是否大于第二阈值;
第一执行模块,用于在当前已经学习到的MAC地址的数量大于第二阈值的情况下,根据所述报文的属性信息判断是否依据所述报文进行媒体接入控制MAC地址的学习;
第二执行模块,用于在当前已经学习到的MAC地址的数量小于或等于所述第二阈值的情况下,依据所述报文进行MAC地址的学习。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012101501357A CN103428091A (zh) | 2012-05-15 | 2012-05-15 | Mac地址学习的控制方法及转发设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012101501357A CN103428091A (zh) | 2012-05-15 | 2012-05-15 | Mac地址学习的控制方法及转发设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103428091A true CN103428091A (zh) | 2013-12-04 |
Family
ID=49652281
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012101501357A Pending CN103428091A (zh) | 2012-05-15 | 2012-05-15 | Mac地址学习的控制方法及转发设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103428091A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105141553A (zh) * | 2015-09-24 | 2015-12-09 | 上海斐讯数据通信技术有限公司 | 一种测试交换机mac地址学习的系统及方法 |
CN106330712A (zh) * | 2015-06-18 | 2017-01-11 | 中兴通讯股份有限公司 | 一种mac地址学习的控制方法和装置 |
CN106656788A (zh) * | 2016-12-30 | 2017-05-10 | 盛科网络(苏州)有限公司 | 优化mlag孤立口广播流量的芯片实现方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1567870A (zh) * | 2003-06-24 | 2005-01-19 | 华为技术有限公司 | 基于端口的mac地址数量统计方法及其装置 |
CN1744560A (zh) * | 2004-09-03 | 2006-03-08 | 上海贝尔阿尔卡特股份有限公司 | 一种控制网络mac地址冲突的方法、装置及其系统 |
US20060253852A1 (en) * | 2002-11-22 | 2006-11-09 | Sony Corporation | Information processing device, server client system, method, and computer program |
CN101488899A (zh) * | 2008-01-17 | 2009-07-22 | 中兴通讯股份有限公司 | 用于1:1vlan接入网的mac地址学习限制方法和装置 |
CN101741921A (zh) * | 2008-11-26 | 2010-06-16 | 中兴通讯股份有限公司 | Mac地址处理方法和装置 |
CN101895471A (zh) * | 2010-07-15 | 2010-11-24 | 中兴通讯股份有限公司 | 一种网络设备及网络设备的数据处理方法 |
CN102123106A (zh) * | 2011-04-21 | 2011-07-13 | 杭州华三通信技术有限公司 | 一种虚拟专用局域网服务网络中mac地址学习方法和装置 |
CN102164091A (zh) * | 2011-05-13 | 2011-08-24 | 北京星网锐捷网络技术有限公司 | 一种mac地址表建立方法及运营商边缘设备 |
CN102318290A (zh) * | 2011-07-29 | 2012-01-11 | 华为技术有限公司 | 报文转发方法和装置 |
-
2012
- 2012-05-15 CN CN2012101501357A patent/CN103428091A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060253852A1 (en) * | 2002-11-22 | 2006-11-09 | Sony Corporation | Information processing device, server client system, method, and computer program |
CN1567870A (zh) * | 2003-06-24 | 2005-01-19 | 华为技术有限公司 | 基于端口的mac地址数量统计方法及其装置 |
CN1744560A (zh) * | 2004-09-03 | 2006-03-08 | 上海贝尔阿尔卡特股份有限公司 | 一种控制网络mac地址冲突的方法、装置及其系统 |
CN101488899A (zh) * | 2008-01-17 | 2009-07-22 | 中兴通讯股份有限公司 | 用于1:1vlan接入网的mac地址学习限制方法和装置 |
CN101741921A (zh) * | 2008-11-26 | 2010-06-16 | 中兴通讯股份有限公司 | Mac地址处理方法和装置 |
CN101895471A (zh) * | 2010-07-15 | 2010-11-24 | 中兴通讯股份有限公司 | 一种网络设备及网络设备的数据处理方法 |
CN102123106A (zh) * | 2011-04-21 | 2011-07-13 | 杭州华三通信技术有限公司 | 一种虚拟专用局域网服务网络中mac地址学习方法和装置 |
CN102164091A (zh) * | 2011-05-13 | 2011-08-24 | 北京星网锐捷网络技术有限公司 | 一种mac地址表建立方法及运营商边缘设备 |
CN102318290A (zh) * | 2011-07-29 | 2012-01-11 | 华为技术有限公司 | 报文转发方法和装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106330712A (zh) * | 2015-06-18 | 2017-01-11 | 中兴通讯股份有限公司 | 一种mac地址学习的控制方法和装置 |
CN106330712B (zh) * | 2015-06-18 | 2019-05-24 | 中兴通讯股份有限公司 | 一种mac地址学习的控制方法和装置 |
CN105141553A (zh) * | 2015-09-24 | 2015-12-09 | 上海斐讯数据通信技术有限公司 | 一种测试交换机mac地址学习的系统及方法 |
CN105141553B (zh) * | 2015-09-24 | 2018-01-16 | 上海斐讯数据通信技术有限公司 | 一种测试交换机mac地址学习的系统及方法 |
CN106656788A (zh) * | 2016-12-30 | 2017-05-10 | 盛科网络(苏州)有限公司 | 优化mlag孤立口广播流量的芯片实现方法 |
CN106656788B (zh) * | 2016-12-30 | 2019-09-20 | 盛科网络(苏州)有限公司 | 优化mlag孤立口广播流量的芯片实现方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1335522B1 (en) | Method for managing multicast subscribers in a mobile network | |
CN103190162B (zh) | 群组区域管理方法、设备及系统 | |
CN100490418C (zh) | 一种基于虚拟局域网的数据交换方法及设备 | |
RU2009127758A (ru) | Быстрый переход из одного состояния в другое состояние для пользовательского оборудования с реконфигурацией по поисковому вызову | |
CN105515853A (zh) | 无线网络的节点及其状态更新方法 | |
CN101764751A (zh) | 无线用户终端跨vlan漫游报文转发的方法、系统及设备 | |
CN102186221A (zh) | 一种路由表项的更新方法以及装置 | |
KR20060101802A (ko) | 메시 네트워크에서 라우팅 정보를 수집하기 위한 시스템 및방법 | |
CN101252529A (zh) | 一种组播报文的转发方法和设备 | |
CN102694664B (zh) | 组播方法及组播设备 | |
CN102946356A (zh) | 一种基于cb-pe网络的组播报文传输方法和设备 | |
CN101374113A (zh) | 一种基于组索引的组播跨板转发控制方法 | |
CN102055641A (zh) | 一种虚拟局域网的分配方法以及相关装置 | |
CN101753458A (zh) | 一种nd邻居表项的处理方法及装置 | |
CN101764756B (zh) | 组播数据转发路径的剪枝处理方法、装置和网络设备 | |
CN103428091A (zh) | Mac地址学习的控制方法及转发设备 | |
CN103248579A (zh) | 基于FPGA的UDP/IPv6硬件协议栈及实现方法 | |
CN101047660A (zh) | 发送数据的方法 | |
CN106850268B (zh) | 一种线性保护倒换的实现装置及方法 | |
CN103217956B (zh) | 工业控制系统及其控制方法和控制装置 | |
CN105490911A (zh) | 虚拟局域网的映射方法和装置 | |
CN107567065B (zh) | 基于无线自组织网络的数据透明传输方法和系统 | |
US20100035592A1 (en) | Service processing method, service processing system, and service control point | |
CN107070797B (zh) | 一种报文转发的方法及系统 | |
CN101547147A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20131204 |
|
RJ01 | Rejection of invention patent application after publication |