CN104506462B - 一种分布式交换机中mac地址管理方法及设备 - Google Patents
一种分布式交换机中mac地址管理方法及设备 Download PDFInfo
- Publication number
- CN104506462B CN104506462B CN201410781745.6A CN201410781745A CN104506462B CN 104506462 B CN104506462 B CN 104506462B CN 201410781745 A CN201410781745 A CN 201410781745A CN 104506462 B CN104506462 B CN 104506462B
- Authority
- CN
- China
- Prior art keywords
- mac address
- distribution switch
- message
- main control
- control device
- 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
Abstract
本发明涉及一种分布式交换机中MAC地址管理方法及设备,所述方法包括:分布式交换机在确定自身的MAC芯片自动老化MAC地址后,重新将该MAC地址添加到MAC地址表中;并,向主控设备发送请求删除该MAC地址的删除消息;当接收到主控设备返回的确定将该MAC地址删除的确认消息时,将该MAC地址从MAC地址表中删除。通过本发明提供的方法能够避免因全局MAC地址不一致导致的报文泛洪,提高带宽资源利用率。
Description
技术领域
本发明涉及数据通信领域,尤其涉及一种分布式交换机中MAC地址管理方法及设备。
背景技术
交换机一般通过自身管理的MAC(Media Access Control,介质访问控制层)地址表实现报文的快速转发。在MAC地址表中一般包括:MAC地址信息、MAC地址所属的设备所在的端口所属虚拟局域网(Virtual Local Area Network,VLAN)标识(ID)信息以及该端口的端口号信息。因此,在MAC地址表中MAC地址和端口之间存在对应关系。
对MAC地址表进行管理的一个重要作用是维护全局的MAC地址表一致,以减少报文泛洪,造成带宽资源的浪费。例如,以图1所示的分布式交换机网络拓扑为例,假设所有分布式交换机1、2、3的MAC地址表中都有PC(personal computer,个人计算机)1的MAC1,而其中只有分布式交换机1、2的MAC地址表中都有服务器1的MAC2,当PC1通过分布式交换机3访问服务器1时,则分布式交换机3因为自身的MAC地址表中不含有MAC2,而将PC1访问服务器1的报文泛洪,泛洪的报文导致占用过多的带宽资源,导致带宽资源的浪费,同时分布式交换机2在泛洪报文后,学习到MAC2时才能够转发PC1访问服务器1的报文,也导致报文的转发效率低。为克服由于全局MAC地址不一致导致泛洪报文的问题,分布式交换机中由主控设备对各分布式交换机的MAC地址表进行管理。以如图2所示的网络架构示意图为例,对现有技术中通过管理MAC地址表维护全局MAC地址一致的方法进行说明:
分布式交换机1的MAC芯片学习到新MAC地址后,将该MAC地址添加到MAC地址表中,并构造学习到新MAC地址的学习消息发送给分布式交换机1的CPU(Central ProcessingUnit,中央处理器),然后由该CPU将该学习消息发送给主控设备。主控设备收到该消息后,确定其他分布式交换机中有未学习到该MAC地址的分布式交换机时,通知未学习到该MAC地址的分布式交换机学习该MAC地址。
分布式交换机1中MAC芯片自动将MAC地址老化后,构造一条请求删除该MAC地址删除消息发送分布式交换机1的CPU,该CPU将该删除消息发送给主控设备,由主控设备控制其他分布式交换机老化该MAC地址。
但是,现有技术中,除分布式交换机1之外的其他节点,通过主控设备学习MAC地址后仍然会构造一条新MAC地址添加消息发送给主控设备,该消息占用带宽资源,导致带宽资源的利用率低。MAC地址在老化时,由于分布式交换机1提前自动删除了需要老化的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地址时,将学习来源为主控设备的学习消息不再发生给主控设备,从而减少与主控设备间交换学习消息的数量,在一定程度上,进一步提高带宽资源的利用率。此外,通过过滤因J将MAC芯片老化的MAC地址重新添加到MAC地址表后产生的学习消息,而避免消息环路,能够将MAC地址老化掉,提高MAC地址的管理效率。最后,还能够通过在预设定时通告时间,向主控设备发送用于同步MAC地址的消息,均衡CPU负载。
另一方面,本发明实施例中,通过确定在预设时长内所有分布式交换机都要求删除同一MAC地址的删除消息后,确定可以在全局删除该MAC地址,一方面保证了该MAC地址在预设时长内还可以供需要使用的分布式交换机使用,提高该MAC地址的利用率,从而调高MAC地址表用于转发报文的利用率。另一方面,当所有分布式交换机都确定删除该MAC地址时才在全局老化该MAC地址,使得老化MAC地址的时机更合理,提高老化MAC地址的准确性。此外,通过待同步链,实现少占用CPU资源,提高CPU资源的利用率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
图1为现有技术中的一种分布式交换机网络拓扑示意图;
图2为一种网络架构示意图;
图3为本发明实施例中分布式交换机中MAC地址管理方法的用于交换机侧的示例性流程图;
图4为本发明实施例中分布式交换机中MAC地址管理方法的用于主控设备侧的示例性流程图;
图5为本发明实施例中分布式交换机中MAC地址管理方法的示例性流程图之一;
图6为本发明实施例中分布式交换机1向主控设备发送学习消息的示意图;
图7为本发明实施例中主控设备数据维护示意图之一;
图8为本发明实施例中分布式交换机中MAC地址管理方法的示例性流程图之二;
图9为本发明实施例中主控设备数据维护示意图之二;
图10为本发明实施例中主控设备数据维护示意图之三;
图11为本发明实施例中分布式交换机中MAC地址管理方法的示例性流程图之三;
图12为本发明实施例中主控设备数据维护示意图之四;
图13为本发明实施例中分布式交换机中MAC地址管理方法的示例性流程图之四;
图14为本发明实施例中主控设备数据维护示意图之五;
图15为本发明实施例中分布式交换机中MAC地址管理方法的示例性流程图之五;
图16为本发明实施例中主控设备数据维护示意图之六;
图17为本发明实施例中分布式交换机中MAC地址管理设备的示意图之一;
图18为本发明实施例中分布式交换机中MAC地址管理设备的示意图之二;
图19为本发明实施例中分布式交换机中MAC地址管理设备的示意图之三;
图20为本发明实施例中分布式交换机中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地址的消息,可以保护分布式交换机或主控设备的CPU资源不被这些消息大量占用,使得本发明实施例提供的方法能够占用较少的CPU资源,提高CPU资源的使用效率。
下面,为便于理解,对本发明实施例提供的分布式交换机中MAC地址管理方法进行详细说明。
实施例一
如图3所示,为本发明实施例中分布式交换机中MAC地址管理方法的示例性流程图,用于分布式交换机,该方法包括以下步骤:
步骤301:分布式交换机在确定自身的MAC芯片自动老化MAC地址后,重新将该MAC地址添加到MAC地址表中。
步骤302:向主控设备发送请求删除该MAC地址的删除消息。
步骤303:当接收到主控设备返回的确定将该MAC地址删除的确认消息时,将该MAC地址从MAC地址表中删除。
本发明实施例中,在MAC芯片老化MAC地址后,由分布式交换机将该MAC地址重新添加到MAC地址表,从而保证分布式交换机不会提前将MAC地址删除掉,相对于现有技术,不会出现全局MAC地址暂时不一致的情况,从而避免因MAC地址全局不一致导致的报文泛洪,提高带宽资源利用率。
进一步的,在本发明实施例中,所述分布式交换机在执行步骤301之前,学习MAC地址的方法包括以下步骤:
步骤A1:学习到MAC地址并将该MAC地址添加到MAC地址表中时,在MAC地址表中标注该MAC地址的学习来源,所述学习来源包括自身或主控设备。
其中,分布式交换机学习到的MAC地址包括自身的MAC芯片在处理报文时学习到的MAC地址,这时该MAC地址的学习来源为自身;分布式交换机学习到的MAC地址还包括主控设备指示学习的MAC地址,这时该该MAC地址的学习来源为主控设备。
步骤A2:当该MAC地址的学习来源为自身时,构造并向主控设备发送学习到新MAC地址的学习消息,指示主控设备控制未学习到该MAC地址的分布式交换机学习该MAC地址。
其中,当MAC地址的学习来源是主控设备时,不向主控设备发送学习消息,从而减少和主控设备交互的学习消息数量,从而能够节约带宽资源,提高带宽资源的利用率。
进一步的,在现有技术中会产生消息环路,仍然以图2所示的网络架构为例对以下典型的消息环路原因和现象进行说明:当分布式交换机1学习到MAC1之后,通告主控设备,主控设备再通知分布式交换机2和3学习MAC1,并及时收到分布式交换机3的学习到MAC1的学习消息,但未收到分布式交换机2的学习到MAC1的学习消息。而在之后在一个老化周期内,分布式交换机1又产生将MAC1从MAC地址表中删除的删除消息并通告给主控设备,由主控设备控制删除分布式交换机2和3中的MAC1。而主控设备在将将MAC1的删除消息发送给分布式交换机2之后,才收到分布式交换机2的学习到MAC1的学习消息,这时候主控设备因为分布式交换机1已经将MAC1从MAC地址表中删除,而导致主控设备确定分布式交换机2返回的学习到的MAC1是一个新的MAC地址,需要分布式交换机1学习MAC1,因而又指示分布式交换机1学习MAC1,而之后分布式交换机2又会返回老化MAC1的删除消息给主控设备,由此,至少在分布式交换机1和2中不断的进行MAC1的学习和老化,从而产生消息环路。需要说明的是,现有技术中还要其他导致消息环路的原因,本发明对此不再赘述。
为避免消息环路引发的导致MAC地址老化不掉,在本发明实施例中,当执行步骤301(即将MAC芯片老化的MAC地址重新添加至MAC地址表)之后,MAC芯片会认为学习到新的MAC地址,而构造一条学习到新MAC地址的学习消息给分布式交换机的CPU,而这时MAC芯片生成的学习消息无需发送给主控设备,因此在步骤302向主控设备发送删除消息之后,且步骤303接收到主控设备返回的确定删除MAC地址的确认消息之前,分布式交换机过滤因重新将该MAC地址添加到MAC地址表而导致自身的MAC芯片产生的学习消息。对该条消息进行过滤,即不将条消息进行上报主控设备。
进一步的,在本发明实施例中,为尽量少占用分布式交换机的CPU资源,分布式交换机在向主控设备发送消息时可以在预设定时通告时间发送,具体的,所述步骤A2中向主控设备发送学习到新MAC地址的学习消息,可以执行为:到达预设定时通告时间时,向主控设备发送所述学习消息。
同理,为尽量少占用分布式交换机的CPU资源,分布式交换机在向主控设备发送消息时可以在预设定时通告时间发送,具体的,在请求删除MAC地址时,步骤302中向主控设备发送请求删除该MAC地址的删除消息,可以执行为:到达预设定时通告时间时,向主控设备发送所述删除消息。
较佳的,可以建立定时通告队列,用于存储待发送给主控设备的学习消息和删除消息,并当到达预设定时通告时间时将定时通告队列中的学习消息、删除消息或这两种消息发送给主控设备。其中,可以建立不同的定时通告队列分别存储学习消息和删除消息,也可以将学习消息和删除消息存储在同一定时通告队列中,本发明对此不做限定。
其中,定时通告队列中也可以只存放学习消息中的MAC地址,和删除消息中的MAC地址,并标记每个MAC地址的类型是待学习MAC地址,还是待删除MAC地址,这样,在定时通告时间可以从定时通告队列中直接获取MAC地址,并根据MAC地址的类型构造与MAC地址的类型对应的消息,即当MAC地址的类型为待学习MAC地址时,构造学习消息;当MAC地址的类型为待删除MAC地址时构造删除消息,然后再发送给主控设备。
此外,当建立不同的定时通告队列存储不同的消息或不同类型的MAC地址时,不同定时通告队列的各自的预设定时通告时间可以相同也可以不同,可以视实际需要配置,本发明对此不做限定。
还需要说明的是,预设定时通告时间可以是根据第一预设时间间隔设定的时间,例如配置从00:00:00时刻开始,每间隔3S(秒)为一个预设定时通告时间。预设定时通告时间还可以视分布式交换机的负载而动态确定,而避免分布式交换机的负载过大,例如分布式交换机的负载小于预设负载时,上述的第一预设时间间隔可以较短一些,例如2S,而当分布式交换机的负载大于等于预设负载时,上述的第一预设时间间隔可以较长一些,例如5S。第一预设时间间隔的基准值可以参照地址学习速率指标进行设定,比如几秒内要完成满容量地址学习。关于如何配置预设定时通告时间,只要能够均衡CPU负载即可,本发明对此不做限定。此外,需要说明的是上述列举的时间间隔仅用于举例说明本发明实施例,并不用于限定本发明。
较佳的,第一预设时间间隔的基准值可以是最小值,该最小值是根据分布式交换机在待机模式下的CPU负载设定的基准值。在之后CPU负载增加,需要动态调整第一预设时间间隔以均衡分布式交换机CPU负载时,可以根据当前CPU负载从基准值开始适当延长第一预设时间间隔。而当CPU负载又降低时,可以从延长后的第一预设时间间隔开始再减少第一时间间隔,当然减少后的第一时间间隔大于等于基准值。
此外,进一步的,由于网络设备拓扑变化,当设备接入分布式交换机的端口发生改变时,需要更新MAC地址表中的MAC地址和端口的对应关系。本发明实施例中,当MAC地址所属的设备的端口发生变化时,将测到该变化的分布式交换机将构造MAC地址迁移消息发送给主控设备,该迁移消息中包括变化后的MAC地址以及对应的端口和VLAN。主控设备在收到该迁移消息后,将原有的设备位图置空,并重新收集设备位图,并指示未对迁移消息中的MAC地址进行更新的分布式交换机对其自身的MAC地址表更新。
综上,本发明实施例提供的分布式交换机中MAC地址管理方法,通过老化MAC地址时,重新将该MAC地址添加到MAC地址表中,实现在老化MAC地址时能够维持全局MAC地址一致,避免因全局MAC地址不一致而导致的报文泛洪,相对现有技术提高了带宽资源利用率。通过学习MAC地址时,将学习来源为主控设备的学习消息不再发生给主控设备,从而减少与主控设备间交换学习消息的数量,在一定程度上,进一步提高带宽资源的利用率。此外,通过过滤因J将MAC芯片老化的MAC地址重新添加到MAC地址表后产生的学习消息,而避免消息环路,能够将MAC地址老化掉,提高MAC地址的管理效率。最后,还能够通过在预设定时通告时间,向主控设备发送用于同步MAC地址的消息,均衡CPU负载。
对应的,下面对本发明实施例中主控设备侧的分布式交换机中MAC地址管理方法进行详细说明。
实施例二
如图4所示,为本发明实施例中分布式交换机中MAC地址管理方法的示例性流程图,用于主控设备,该方法包括以下步骤:
步骤401:主控设备接收分布式交换机发送来的请求删除MAC地址的删除消息,该删除消息是分布式交换机在确定该分布式交换机的MAC芯片自动老化MAC地址后,重新将该MAC地址添加到MAC地址表中之后产生的。
步骤402:确定下连的所有分布式交换机都请求删除该MAC地址后,向所有分布式交换机发送确定将该MAC地址删除的确认消息,指示下连的所有分布式交换机将该MAC地址从MAC地址表中删除。
本发明实施例中,通过在确定所有分布式交换机都要求删除同一MAC地址的删除消息后,才在全局删除该MAC地址(即指示所有下连的分布式交换机删除共同要求删除的MAC地址),一方面保证了该MAC地址在预设时长内还可以供需要使用的分布式交换机使用,提高该MAC地址的利用率,从而提高MAC地址表用于转发报文的利用率。另一方面,当所有分布式交换机都确定删除该MAC地址时才在全局老化该MAC地址,使得老化MAC地址的时机更合理,提高老化MAC地址的准确性。
进一步的,在本发明实施例中,为均衡主控设备的CPU负载,尽量少占CPU资源,提高CPU资源的利用率,步骤402可执行为以下步骤:
步骤D1:确定下连的所有分布式交换机都请求删除该MAC地址后,将该MAC地址添加到待同步链中,并标记该MAC地址为待删除MAC地址。
其中,在一个实施例中,主控设备中每个MAC地址表项均对应有设备位图,该设备位图可用于判断每一个分布式交换机对该MAC地址是否老化:例如,位图中包含指示信息,该指示信息可以用二进制数表示。假设仍以图2所示的网络构架为例,主控设备下连三个分布式交换机,针对MAC1,在MAC1的设备位图的指示信息为011,其中,每一位二进制数对应一个分布式交换机,二进制数从左到右的顺序依次对应分布式交换机1、分布式交换机2和分布式交换机3。当接收到分布式交换机1发送来的删除MAC1的删除消息时,MAC1的设备位图的指示信息中,1表示未老化该MAC地址,0表示已老化该MAC地址,则根据二进制数011可以判断,仅分布式交换机1的请求删除MAC1,而分布式交换机2和3并未请求删除MAC1。
其中,可以在接收到分布式交换机的删除消息后更新设备位图,例如接收到分布式交换机1的删除MAC1的删除消息后,根据该消息,将设备位图中与MAC1对应的分布式交换机1下的指示信息置0。
步骤D2:当到达定时同步时间时,从待同步链中获取该MAC地址,并根据标记确定该MAC地址为待删除MAC地址后,向下连的所有分布式交换机发送确定将该MAC地址删除的确认消息。
同理,在本发明实施例中,为均衡主控设备的CPU负载,尽量少占用CPU资源,提高CPU资源的利用率,在步骤401之前由主控设备指示分布式交换机学习MAC地址的方法,可包括以下步骤:
步骤E1:接收分布式交换机发送来的学习到新MAC地址的学习消息,该学习消息中包括学习到的MAC地址。
步骤E2:将该MAC地址添加到待同步链中,并标记该MAC地址为待学习MAC地址。
步骤E3:当到达定时同步时间时,从待同步链中获取该MAC地址,并根据标记确定该MAC地址为待学习MAC地址。
步骤E4:在确定下连的所有分布式交换机中仍有未学习到该MAC地址的分布式交换机时,向未学习到该MAC地址的分布式交换机发送学习该MAC地址的学习指示。
当然,需要说明的是,上述的设备位图的指示信息还可以用于判断分布式交换机是否学习到MAC地址。例如,仍以图2所示的网络结构为例,当到达定时同步时间时,主控设备从待同步链中获取MAC2,根据标记确定MAC2为待学习MAC地址,此时,查看MAC2的位图指示信息为110,则此时1表示已经学习到MAC2、0表示未学习到MAC2。由此判断,三个分布式交换机中仅有分布式交换机3的未学习到MAC2,因此,可以向分布式交换机3发送学习MAC2的学习指示。
其中,在一个实施例中,本发明实施例的待同步链可以为一个表,用表1举例说明该表中包含的内容:在表1中,表头为MAC地址,MAC地址类型为表明对应的MAC地址在进行同步时是指示分布式交换机学习的待学习MAC地址还是指示分布式交换机删除的待删除MAC地址(即待老化的MAC地址)。
较佳的,同步链中,还可以为待学习的MAC地址对应存储该MAC地址对应的端口及VLAN。以便于指示分布式交换机学习该MAC地址时,将该MAC地址添加到MAC地址表中。
或者,较佳的,同步链还可以和主控设备内维护的MAC地址表关联,该MAC地址表中包含主控设备下连的所有分布式交换机中维护的MAC地址表的表项。具体的,在待同步链中可以全局定义一个同步链表头,当主控设备维护的MAC地址表中的一MAC地址是待删除MAC地址或者待学习MAC地址时,将该MAC地址对应的MAC地址表项写入待同步链表头中。当指示分布式交换机学习该时,从主控设备内维护的MAC地址表中获取该学习MAC地址对应的端口和VLAN,并发送给分布式交换机学习。较佳的,当将待删除MAC地址添加到同步链中时,同时删除主控设备内维护的MAC地址表的该MAC地址表项。
表1
表头 | MAC地址类型 |
MAC1 | 待删除MAC地址 |
MAC2 | 待学习MAC地址 |
… | … |
MACn | 待学习MAC地址 |
需要说明的是,定时同步时间可以是根据第二预设时间间隔设定的时间,例如配置从00:00:00时刻开始,每间隔10S为一个定时同步时间。定时同步时间还可以视分布式交换机的负载而动态确定,而避免主控设备的负载过大,例如主控设备的负载小于预设负载时,上述的第二预设时间间隔可以较短一些,例如9S,而当主控设备的负载大于等于预设负载时,上述的第二预设时间间隔可以较长一些,例如15S,本发明对此不做限定。此外,第二预设时间间隔大于等于第一预设时间间隔,可以同时考虑进行一次定时同步时的CPU消耗,在满足满容量学习时,CPU增量不超过预设可接受值。
较佳的,第二预设时间间隔的基准值可以是最小值,该最小值是根据主控设备在待机模式下的CPU负载设定的基准值。在之后CPU负载增加,需要动态调整第二预设时间间隔以均衡主控设备CPU负载时,可以根据当前CPU负载从基准值开始适当延长第二预设时间间隔。而当CPU负载又降低时,可以从延长后的第二预设时间间隔开始再减少第二时间间隔,当然减少后的第一时间间隔大于等于基准值。
此外,进一步的,当MAC地址和端口的对应关系改变时,主控设备会收到分布式交换机发送来的MAC地址迁移消息,主控设备在收到该迁移消息后,将原有的设备位图置空,并重新收集设备位图,并确定未更新迁移消息中的MAC地址和端口对应关系的分布式交换机对自身的MAC地址表更新。
综上,本发明实施例中,通过确定在预设时长内所有分布式交换机都要求删除同一MAC地址的删除消息后,确定可以在全局删除该MAC地址,一方面保证了该MAC地址在预设时长内还可以供需要使用的分布式交换机使用,提高该MAC地址的利用率,从而调高MAC地址表用于转发报文的利用率。另一方面,当所有分布式交换机都确定删除该MAC地址时才在全局老化该MAC地址,使得老化MAC地址的时机更合理,提高老化MAC地址的准确性。此外,通过待同步链,实现少占用CPU资源,提高CPU资源的利用率。
实施例三
网络架构仍如图2所示,包括一个主控设备和三个分布式交换机。以学习MAC地址的初始阶段,即各分布式交换机的MAC地址表为空时,主控设备通过待同步链指示各分布式交换机学习MAC地址为例,对本发明实施例中的分布式交换机中MAC地址管理方法进行说明,如图5所示为本发明实施例中MAC地址管理方法的示例性流程图,该方法包括以下步骤:
步骤501:分布式交换机配置MAC地址表的扩展字段,用于标注MAC地址的学习来源。
其中,该扩展字段中用0表示学习来源为自身,用1表示学习来源为主控设备。
步骤502:分布式交换机1通过自身的MAC芯片学习到MAC1时,将MAC1添加到MAC地址表中,并在扩展字段中标注MAC1的学习来源为自身。
步骤503:分布式交换机1接收到自身的MAC芯片构造的学习到MAC1的学习消息,并将该学习消息发送给主控设备。
步骤504:主控设备接收分布式交换机1发送来的学习到MAC1的学习消息后,确定分布式交换机2和3未学习到MAC1,则将MAC1添加到待同步链中,并标记MAC1为待学习MAC地址。
其中,分布式交换机1向主控设备发送学习消息的示意图如图6所示,在图6中,箭头表示分布式交换机1向主控设备发送学习消息。
其中,当待同步链与主控设备维护的MAC地址表关联时,主控设备数据维护示意图如图7所示。在图7中,主控设备根据分布式交换机1发送来的学习消息,将MAC1添加到MAC地址表中,因此MAC地址表中至少包括MAC1表项(即包括MAC1和与MAC1对应的端口及VLAN),而待同步链表头中至少包含MAC1。
步骤505:分布式交换机2和3通过自身的MAC芯片学到MAC1后,均发送学习到MAC1的学习消息给主控设备。
步骤506:主控设备接收到分布式交换机2和3发来的学习到MAC1的学习消息。
步骤507:到达定时同步时间时,主控设备从待同步链中获取MAC1,并根据标记确定MAC1为待学习MAC地址。
步骤508:主控设备确定分布式交换机1、2、3都已经学习到MAC1,则将MAC1从待同步链中删除。
本发明实施例中,初始阶段时,由各分布式交换机自行学习,通过待同步链,将各分布式交换机均学习到的MAC地址从同步链中删除,实现不向任何分布式交换机下发学习该MAC的学习消息。
实施例四
参考实施例三,以学习到新MAC地址并同步给其他分布式交换机为例,对本发明实施例中的分布式交换机中MAC地址管理方法进行说明,如图8所示为本发明实施例中MAC地址管理方法的示例性流程图,该方法包括以下步骤:
步骤801:分布式交换机配置MAC地址表的扩展字段,用于标注MAC地址的学习来源。
其中,该扩展字段中用0表示学习来源为自身,用1表示学习来源为主控设备。
步骤802:分布式交换机1通过自身的MAC芯片学习到MAC2时,将MAC2添加到MAC地址表中,并在扩展字段中标注MAC2的学习来源为自身。
步骤803:分布式交换机1接收到自身的MAC芯片构造的学习到MAC2的学习消息,并将该学习消息发送给主控设备。
步骤804:主控设备接收分布式交换机1发送来的学习到MAC2的学习消息后,确定分布式交换机2和3未学习到MAC2。
其中,在一个实施例中,在步骤804中,主控设备可以确定分布式交换机2和3未学习到MAC2后,将MAC2添加到待同步链中并标记MAC2为待学习MAC地址。则,当待同步链与主控设备维护的MAC地址表关联时,主控设备数据维护示意图如图9所示。在图9中,主控设备的MAC地址表中至少包括已有的MAC1表项,和刚添加的MAC2表项,而待同步链表头中至少包含MAC2。相比图7,因MAC1已经被下连的所有分布式交换机学习到,因此,待同步链表头中不再含有MAC1。
步骤805:主控设备发送学习MAC2的学习指示给分布式交换机2和3。
其中,在一个实施例中,步骤805还可以执行为,当到达定时同步时间时,主控设备从待同步链中获取MAC2,并根据MAC2的标记确定MAC2为待学习的MAC地址,然后确定分布式交换机2和3未学习到MAC2之后,再发送学习MAC2的学习指示给分布式交换机2和3。任何主控设备的待同步链中的MAC2表项被删除,如图10所述,为删除待同步链中的MAC2后,主控设备数据维护示意图。在图10中,MAC地址表中至少包含MAC1表项和MAC2表项,而相比图9,待同步链表头中不再含有MAC2。
步骤806:分布式交换机2和3接收到主控设备发送来的学习MAC2的学习指示后,均将MAC2添加到MAC地址表中。
步骤807:分布式交换机2和3均在MAC地址表中,标注MAC2的学习来源为主控设备,然后结束对MAC2的学习流程。
本发明实施例中,在学习MAC地址时,若MAC地址的学习来源为主控设备,则结束学习流程,不再像现有技术中那样向主控设备发送学习消息,从而可以节约带宽,提高带宽资源的利用率。
实施例五
继续承接实施例四所示的例子,在发生实施例四所示的事件之后。以分布式交换机请求老化MAC2,未得到主控设备的确认消息,而未老化MAC2从而维持全局MAC2一致为例,对本发明实施例中的分布式交换机中MAC地址管理方法进行说明,如图11所示为本发明实施例中MAC地址管理方法的示例性流程图,该方法包括以下步骤:
步骤1101:分布式交换机3确定在一个老化周期内没有与MAC2的设备交互的数据流后,分布式交换机3的MAC芯片自动老化MAC2。
步骤1102:分布式交换机3在确定自身的MAC芯片自动老化MAC2后,重新将MAC2添加到MAC地址表中。
其中,分布式交换机3将MAC2重新添加到MAC地址表中,MAC芯片会产生一个学习消息要求分布式交换机3处理,此时分布式交换机3对于由于MAC芯片重新学习原本要老化的MAC2所产生的学习消息进行过滤,对该消息不做上报主控设备的处理。
步骤1103:分布式交换机3向主控设备发送请求删除MAC2的删除消息。
步骤1104:主控设备接收分布式交换机3发送来的删除MAC2的删除消息。
步骤1105:主控设备更新设备位图后,确定分布式交换机1和2未请求删除MAC2,则对分布式交换机3发送来的删除MAC3的删除消息不做回应。
其中,主控设备更新设备位图后,确定仅是分布式交换机3请求删除MAC2,因而确定,分布式交换机1和2未请求删除MAC2。
其中,执行步骤1105之后,主控设备数据维护示意图如图12所示,在图12中,MAC地址表中仍至少包含MAC1表项和MAC2表项;待同步链中因没有待同步任务,该待同步链表头为空。
本发明实施例,在确定并非所有的分布式交换机要求删除同一MAC地址时,所有分布式交换机上的MAC地址仍能够保持全局一致,从而避免因老化MAC地址而引发的报文泛洪,提高带宽资源的利用率。
实施例六
继续承接实施例四所示的例子,在发生实施例四所示的事件之后。以分布式交换机请求老化MAC1地址,得到主控设备的确认消息,而成功老化MAC1从而维持全局MAC1一致为例,对本发明实施例中的分布式交换机中MAC地址管理方法进行说明,如图13所示为本发明实施例中MAC地址管理方法的示例性流程图,该方法包括以下步骤:
步骤1301:分布式交换机3确定在一个老化周期内没有与MAC1的设备交互的数据流后,分布式交换机3的MAC芯片自动老化MAC1。
步骤1302:分布式交换机3在确定自身的MAC芯片自动老化MAC1后,重新将MAC1添加到MAC地址表中。
其中,分布式交换机3将MAC1重新添加到MAC地址表中,MAC芯片会产生一个学习消息要求分布式交换机3处理,此时分布式交换机3对于由于MAC芯片重新学习原本要老化的MAC1所产生的学习消息进行过滤,对该消息不做上报主控设备的处理。
步骤1303:分布式交换机3向主控设备发送请求删除MAC1的删除消息。
步骤1304:主控设备接收分布式交换机3发送来的删除MAC1的删除消息,并更新设备位图。
步骤1305:主控设备更新设备位图后,确定分布式交换机1和2未请求删除MAC1,则对分布式交换机3发送来的删除MAC1的删除消息不做回应。
步骤1306:分布式交换机1和2均向主控设备发送请求删除MAC1的删除消息。
步骤1307:主控设备接收分布式交换机1和2发送来的删除MAC1的删除消息,并更新设备位图。
其中,更新设备位图后,MAC1对应的分布式交换机1和2的指示信息项均置空。
步骤1308:主控设备更新设备位图后,确定下连的分布式交换机均请求删除MAC1,将MAC1添加到待同步链中,并标记MAC1为待删除MAC地址。
其中,将MAC1添加到待同步链之后,主控设备数据维护示意图如图14所示,其中,在图14中,MAC地址表中原本包含的MAC1表项已删除,但MAC地址表中,至少还包含MAC2表项;待同步链中表头中至少包括MAC1。
步骤1309:主控设备当到达定时同步时间时,从待同步链中获取MAC1,并根据标记确定MAC1为待删除MAC地址。
步骤1310:主控设备更向所有分布式交换机发送确定将该MAC地址删除的确认消息。
步骤1311:分布式交换机1、2、3接收到主控设备发送来的删除MAC3的确认消息后,从MAC地址表中删除MAC1。
本发明实施例,在确定所有的分布式交换要求删除同一MAC地址时,控制所有分布式交换机删除该MAC,保证该MAC地址全局一致,从而避免因MAC地址全局不一致而引发的报文泛洪,提高带宽资源的利用率。
实施例七
假设与分布式交换机1相连的终端设备PC的MAC地址为MAC1,与分布式交换机2相连的服务器的MAC地址为MAC2,各分布式交换机通过学习已经学习到MAC1和MAC2,PC通过分布式交换机1和2与服务器进行数据交互。后来,由于网络设备拓扑变化,PC从分布式交换机1的端口port1迁移至分布式交换机3的端口port3,当PC再次访问与分布式交换机2直接相连的服务器时,PC请求与服务器进行交互的数据先经过分布式交换机3,然后再经由分布式交换机2发送给服务器。下面,以PC端口迁移后,更新MAC地址表中的MAC地址和端口之间的对应关系为例,对本发明实施例中的分布式交换机中MAC地址管理方法进行说明,如图15所示,为本发明实施例中MAC地址管理方法的示例性流程图,该方法包括以下步骤:
步骤1501:MAC地址为MAC1的PC从分布式交换机1的端口1迁移至分布式交换机3的端口3。
步骤1502:PC通过端口3将请求与MAC地址为MAC2的服务器通信的请求报文发送给分布式交换机3,该请求报文中包含源MAC为MAC1、与MAC1对应的端口为分布式交换机的端口3、目的MAC为MAC2、与MAC2对应的端口为分布式交换机的端口2。
步骤1503:分布式交换机3根据请求报文源MAC为MAC1、以及与该MAC对应的端口为端口3,并在查询MAC地址表之后,确定MAC1由端口1迁移至端口3后,更新MAC地址表,并向主控设备发送迁移消息,该迁移消息中包括MAC1以及与MAC1对应的端口。
步骤1504:分布式交换机3根据请求报文中的目的MAC为MAC2,查询MAC地址表后,确定将请求报文转发给分布式交换机2。
步骤1505:分布式交换机2根据请求报文源MAC为MAC1、以及与该MAC对应的端口为端口3,并在查询MAC地址表之后,确定MAC1由端口1迁移至端口3后,更新MAC地址表,并向主控设备发送迁移消息,该迁移消息中包括MAC1以及与MAC1对应的端口。
步骤1506:主控设备接收到分布式交换机3和2发送来的迁移消息,并确定分布式交换机1未更新MAC地址表中MAC1对应的端口时,将MAC1添加到待同步链中,并标记MAC1为待更新MAC。
其中,在一个实施例中,主控设备根据迁移消息更新自身维护的MAC地址表,并将将MAC1添加到待同步链中之后,主控设备数据维护示意图如图16所示。在图16中,MAC地址表中包含修正后的MAC1表项,和原本已包含的MAC2表项;待同步链表头中至少包含MAC1。
步骤1507:主控设备当到达定时同步时间时,从待同步链中获取MAC1,并根据标记确定MAC1为待更新MAC地址。
步骤1508:主控设备向未更新MAC1的分布式交换机1发送更新MAC1的更新指示,该更新指示中包括MAC1以及与MAC1对应的端口为端口3。
步骤1509:分布式交换机1接收主控设备发送来的更新指示后,根据该更新指示更新MAC1表项,将MAC地址表中MAC1对应的端口由端口1修改为端口3。
其中,在一个实施例中,主控设备和分布式交换机更新MAC地址的操作和学习MAC地址的操作可以相同,即当发生端口迁移时,分布式交换机2和3向主控设备发送的迁移消息是学习MAC1的学习消息。主控设备收到学习消息后更新MAC1的设备位图,例如先将该设备位图的指示信息均置0,因为接收到交换机2和3的学习消息,因此更新后设备位图的指示信息为011,其中0表示分布式交换机1未学习到MAC1,则之后会向分布式交换机1发送学习MAC1的学习指示,即向分布式交换机1发送更新MAC1的更新指示。接到学习指示的分布式交换机1根据学习指示判断自身MAC地址表中,与学习指示中的MAC地址相同的MAC地址对应的端口不同,则更新自己的MAC地址表,修正发生端口迁移的MAC地址对应的端口。此时,待更新MAC的标记和待学习MAC的标记可以相同也可以不同,都能够实现对发送端口迁移的MAC地址的更新,本发明对此不做限定。
本发明实施例还提供一种分布式交换机中MAC地址管理设备,该管理设备可以集成在分布式交换机内部;也可以独立于分布式交换机,用于控制分布式交换机,如图17所示,为该设备的示意图,包括:
重添模块1701,用于分布式交换机在确定自身的MAC芯片自动老化MAC地址后,重新将该MAC地址添加到MAC地址表中;
删除消息发送模块1702,用于向主控设备发送请求删除该MAC地址的删除消息;
删除模块1703,用于当接收到主控设备返回的确定将该MAC地址删除的确认消息时,将该MAC地址从MAC地址表中删除。
其中,在一个实施例中,如图18所示,所述设备还包括:
学习来源标记模块1704,用于在所述重添模块用于分布式交换机确定自身的MAC芯片自动老化MAC地址后,重新将该MAC地址添加到MAC地址表中之前,学习到该MAC地址并将该MAC地址添加到MAC地址表中时,在MAC地址表中标注该MAC地址的学习来源,所述学习来源包括自身或主控设备;
学习消息发送模块1705,用于当该MAC地址的学习来源为自身时,向主控设备发送学习到新MAC地址的学习消息,指示主控设备控制该主控设备下连的未学习到该MAC地址的分布式交换机学习该MAC地址。
其中,在一个实施例中,如图18所示,所述设备还包括:
过滤模块1706,用于所述删除消息发送模块向主控设备发送请求删除该MAC地址的删除消息之后,且所述删除模块当接收到主控设备返回的确定将该MAC地址删除的确认消息时,将该MAC地址从MAC地址表中删除之前,过滤自身的MAC芯片因重新学习该MAC地址产生的学习消息。
其中,在一个实施例中,所述学习消息发送模块1705用于到达预设定时通告时间时,向主控设备发送所述学习消息。
其中,在一个实施例中,所述删除消息发送模块1702用于到达预设定时通告时间时,向主控设备发送所述删除消息。
本发明实施例还一种分布式交换机中MAC地址管理设备,该管理设备可以集成在主控设备内部;也可以独立于主控设备,用于控制主控设备,如图19所示,该设备包括:
删除消息接收模块1901,用于主控设备接收分布式交换机发送来的请求删除MAC地址的删除消息,该删除消息是分布式交换机在确定该分布式交换机的MAC芯片自动老化MAC地址后,重新将该MAC地址添加到MAC地址表中之后产生的;
确认消息发送模块1902,用于确定下连的所有分布式交换机都请求删除该MAC地址后,向所有分布式交换机发送确定将该MAC地址删除的确认消息,指示下连的所有分布式交换机将该MAC地址从MAC地址表中删除。
其中,在一个实施例中,如图20所示,所述确认消息发送模块1902包括:
添加单元1903,用于确定下连的所有分布式交换机都请求删除该MAC地址后,将该MAC地址添加到待同步链中,并标记该MAC地址为待删除MAC地址;
发送单元1904,用于当到达定时同步时间时,从待同步链中获取该MAC地址,并根据标记确定该MAC地址为待删除MAC地址后,向下连的所有分布式交换机发送确定将该MAC地址删除的确认消息。
其中,在一个实施例中,如图20所示,所述设备还包括:
学习消息接收模块1905,用于所述删除消息接收模块用于主控设备接收分布式交换机发送来的请求删除MAC地址的删除消息之前,接收分布式交换机发送来的学习到新MAC地址的学习消息,该学习消息中包括学习到的MAC地址;
添加模块1906,用于将该MAC地址添加到待同步链中,并标记该MAC地址为待学习MAC地址;
获取模块1907,用于当到达定时同步时间时,从待同步链中获取该MAC地址,并根据标记确定该MAC地址为待学习MAC地址;
学习指示发送模块1908,用于在确定下连的所有分布式交换机中仍有未学习到该MAC地址的分布式交换机时,向未学习到该MAC地址的分布式交换机发送学习该MAC地址的学习指示。
关于上述实施例中的设备,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (16)
1.一种分布式交换机中MAC地址管理方法,其特征在于,所述方法包括:
分布式交换机在确定自身的MAC芯片自动老化MAC地址后,重新将该MAC地址添加到MAC地址表中;并,
向主控设备发送请求删除该MAC地址的删除消息;
当接收到主控设备返回的确定将该MAC地址删除的确认消息时,将该MAC地址从MAC地址表中删除。
2.根据权利要求1所述的方法,其特征在于,所述分布式交换机在确定自身的MAC芯片自动老化MAC地址后,重新将该MAC地址添加到MAC地址表中之前,所述方法还包括:
学习到该MAC地址并将该MAC地址添加到MAC地址表中时,在MAC地址表中标注该MAC地址的学习来源,所述学习来源包括自身或主控设备;并,
当该MAC地址的学习来源为自身时,向主控设备发送学习到新MAC地址的学习消息,指示主控设备控制该主控设备下连的未学习到该MAC地址的分布式交换机学习该MAC地址。
3.根据权利要求1所述的方法,其特征在于,所述向主控设备发送请求删除该MAC地址的删除消息之后,且当接收到主控设备返回的确定将该MAC地址删除的确认消息时,将该MAC地址从MAC地址表中删除之前,所述方法还包括:
过滤自身的MAC芯片因重新学习该MAC地址产生的学习消息。
4.根据权利要求2所述的方法,其特征在于,所述向主控设备发送学习到新MAC地址的学习消息,包括:
到达预设定时通告时间时,向主控设备发送所述学习消息。
5.根据权利要求1所述的方法,其特征在于,所述向主控设备发送请求删除该MAC地址的删除消息,包括:
到达预设定时通告时间时,向主控设备发送所述删除消息。
6.一种分布式交换机中MAC地址管理方法,其特征在于,所述方法包括:
主控设备接收分布式交换机发送来的请求删除MAC地址的删除消息,该删除消息是分布式交换机在确定该分布式交换机的MAC芯片自动老化MAC地址后,重新将该MAC地址添加到MAC地址表中之后产生的;
确定下连的所有分布式交换机都请求删除该MAC地址后,向所有分布式交换机发送确定将该MAC地址删除的确认消息,指示下连的所有分布式交换机将该MAC地址从MAC地址表中删除。
7.根据权利要求6所述的方法,其特征在于,所述确定下连的所有分布式交换机都请求删除该MAC地址后,向所有分布式交换机发送确定将该MAC地址删除的确认消息,指示下连的所有分布式交换机将该MAC地址从MAC地址表中删除,包括:
确定下连的所有分布式交换机都请求删除该MAC地址后,将该MAC地址添加到待同步链中,并标记该MAC地址为待删除MAC地址;
当到达定时同步时间时,从待同步链中获取该MAC地址,并根据标记确定该MAC地址为待删除MAC地址后,向下连的所有分布式交换机发送确定将该MAC地址删除的确认消息。
8.根据权利要求6所述的方法,其特征在于,所述主控设备接收分布式交换机发送来的请求删除MAC地址的删除消息之前,所述方法还包括:
接收分布式交换机发送来的学习到新MAC地址的学习消息,该学习消息中包括学习到的MAC地址;
将该MAC地址添加到待同步链中,并标记该MAC地址为待学习MAC地址;
当到达定时同步时间时,从待同步链中获取该MAC地址,并根据标记确定该MAC地址为待学习MAC地址;
在确定下连的所有分布式交换机中仍有未学习到该MAC地址的分布式交换机时,向未学习到该MAC地址的分布式交换机发送学习该MAC地址的学习指示。
9.一种分布式交换机中MAC地址管理设备,其特征在于,所述设备包括:
重添模块,用于分布式交换机在确定自身的MAC芯片自动老化MAC地址后,重新将该MAC地址添加到MAC地址表中;
删除消息发送模块,用于向主控设备发送请求删除该MAC地址的删除消息;
删除模块,用于当接收到主控设备返回的确定将该MAC地址删除的确认消息时,将该MAC地址从MAC地址表中删除。
10.根据权利要求9所述的设备,其特征在于,所述设备还包括:
学习来源标记模块,用于在所述重添模块用于分布式交换机确定自身的MAC芯片自动老化MAC地址后,重新将该MAC地址添加到MAC地址表中之前,学习到该MAC地址并将该MAC地址添加到MAC地址表中时,在MAC地址表中标注该MAC地址的学习来源,所述学习来源包括自身或主控设备;
学习消息发送模块,用于当该MAC地址的学习来源为自身时,向主控设备发送学习到新MAC地址的学习消息,指示主控设备控制该主控设备下连的未学习到该MAC地址的分布式交换机学习该MAC地址。
11.根据权利要求9所述的设备,其特征在于,所述设备还包括:
过滤模块,用于所述删除消息发送模块向主控设备发送请求删除该MAC地址的删除消息之后,且所述删除模块当接收到主控设备返回的确定将该MAC地址删除的确认消息时,将该MAC地址从MAC地址表中删除之前,过滤自身的MAC芯片因重新学习该MAC地址产生的学习消息。
12.根据权利要求10所述的设备,其特征在于,所述学习消息发送模块用于到达预设定时通告时间时,向主控设备发送所述学习消息。
13.根据权利要求9所述的设备,其特征在于,所述删除消息发送模块用于到达预设定时通告时间时,向主控设备发送所述删除消息。
14.一种分布式交换机中MAC地址管理设备,其特征在于,所述设备包括:
删除消息接收模块,用于主控设备接收分布式交换机发送来的请求删除MAC地址的删除消息,该删除消息是分布式交换机在确定该分布式交换机的MAC芯片自动老化MAC地址后,重新将该MAC地址添加到MAC地址表中之后产生的;
确认消息发送模块,用于确定下连的所有分布式交换机都请求删除该MAC地址后,向所有分布式交换机发送确定将该MAC地址删除的确认消息,指示下连的所有分布式交换机将该MAC地址从MAC地址表中删除。
15.根据权利要求14所述的设备,其特征在于,所述确认消息发送模块包括:
添加单元,用于确定下连的所有分布式交换机都请求删除该MAC地址后,将该MAC地址添加到待同步链中,并标记该MAC地址为待删除MAC地址;
发送单元,用于当到达定时同步时间时,从待同步链中获取该MAC地址,并根据标记确定该MAC地址为待删除MAC地址后,向下连的所有分布式交换机发送确定将该MAC地址删除的确认消息。
16.根据权利要求14所述的设备,其特征在于,所述设备还包括:
学习消息接收模块,用于所述删除消息接收模块用于主控设备接收分布式交换机发送来的请求删除MAC地址的删除消息之前,接收分布式交换机发送来的学习到新MAC地址的学习消息,该学习消息中包括学习到的MAC地址;
添加模块,用于将该MAC地址添加到待同步链中,并标记该MAC地址为待学习MAC地址;
获取模块,用于当到达定时同步时间时,从待同步链中获取该MAC地址,并根据标记确定该MAC地址为待学习MAC地址;
学习指示发送模块,用于在确定下连的所有分布式交换机中仍有未学习到该MAC地址的分布式交换机时,向未学习到该MAC地址的分布式交换机发送学习该MAC地址的学习指示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410781745.6A CN104506462B (zh) | 2014-12-16 | 2014-12-16 | 一种分布式交换机中mac地址管理方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410781745.6A CN104506462B (zh) | 2014-12-16 | 2014-12-16 | 一种分布式交换机中mac地址管理方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104506462A CN104506462A (zh) | 2015-04-08 |
CN104506462B true CN104506462B (zh) | 2017-12-26 |
Family
ID=52948177
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410781745.6A Active CN104506462B (zh) | 2014-12-16 | 2014-12-16 | 一种分布式交换机中mac地址管理方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104506462B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106302837B (zh) * | 2015-05-12 | 2019-08-06 | 青岛海信宽带多媒体技术有限公司 | 一种光网络单元的mac地址表管理方法及装置 |
CN104967579B (zh) * | 2015-06-30 | 2018-04-06 | 上海斐讯数据通信技术有限公司 | 交换机mac 地址同步方法以及系统 |
CN108023974B (zh) * | 2017-11-30 | 2021-01-26 | 新华三技术有限公司 | 一种地址老化方法和装置 |
CN108134853A (zh) * | 2017-12-06 | 2018-06-08 | 杭州迪普科技股份有限公司 | 一种管理终端位置信息的方法和装置 |
CN108111637A (zh) * | 2017-12-25 | 2018-06-01 | 锐捷网络股份有限公司 | 一种老化mac地址的方法、线卡和交换设备 |
CN108616614B (zh) * | 2018-04-28 | 2021-04-06 | 深圳市风云实业有限公司 | Mac地址管理方法、装置及电子设备 |
CN108809837A (zh) * | 2018-06-11 | 2018-11-13 | 深圳市风云实业有限公司 | Arl表项集中管理优化系统 |
CN113794657B (zh) * | 2021-09-14 | 2023-10-31 | 迈普通信技术股份有限公司 | Mac地址迁移处理方法、装置及交换设备 |
CN116055455A (zh) * | 2023-02-14 | 2023-05-02 | 迈普通信技术股份有限公司 | Mac地址老化处理方法、装置、lpu卡及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1466320A (zh) * | 2002-06-12 | 2004-01-07 | 华为技术有限公司 | 网络设备中地址解析协议表的老化更新方法 |
CN101232447A (zh) * | 2008-02-28 | 2008-07-30 | 中兴通讯股份有限公司 | 一种控制学习的mac地址预老化的方法 |
CN103618672A (zh) * | 2013-11-29 | 2014-03-05 | 杭州华三通信技术有限公司 | 一种基于分布式数据中心的路由发布方法和设备 |
CN104038566A (zh) * | 2014-06-12 | 2014-09-10 | 福建星网锐捷网络有限公司 | 一种虚拟交换设备地址学习的方法、装置及系统 |
CN104158917A (zh) * | 2013-05-14 | 2014-11-19 | 杭州华三通信技术有限公司 | 回收动态主机配置协议客户端的ip地址的方法及设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4481147B2 (ja) * | 2004-10-28 | 2010-06-16 | 富士通株式会社 | Macアドレス学習装置 |
-
2014
- 2014-12-16 CN CN201410781745.6A patent/CN104506462B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1466320A (zh) * | 2002-06-12 | 2004-01-07 | 华为技术有限公司 | 网络设备中地址解析协议表的老化更新方法 |
CN101232447A (zh) * | 2008-02-28 | 2008-07-30 | 中兴通讯股份有限公司 | 一种控制学习的mac地址预老化的方法 |
CN104158917A (zh) * | 2013-05-14 | 2014-11-19 | 杭州华三通信技术有限公司 | 回收动态主机配置协议客户端的ip地址的方法及设备 |
CN103618672A (zh) * | 2013-11-29 | 2014-03-05 | 杭州华三通信技术有限公司 | 一种基于分布式数据中心的路由发布方法和设备 |
CN104038566A (zh) * | 2014-06-12 | 2014-09-10 | 福建星网锐捷网络有限公司 | 一种虚拟交换设备地址学习的方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104506462A (zh) | 2015-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104506462B (zh) | 一种分布式交换机中mac地址管理方法及设备 | |
CN104243265B (zh) | 一种基于虚拟机迁移的网关控制方法、装置及系统 | |
CN104871154B (zh) | 系统级查询优化 | |
CN105074702B (zh) | 提供单租户和多租户环境的数据库系统 | |
CN107819829A (zh) | 访问区块链的方法、系统、区块链节点设备及用户终端 | |
CN107003983A (zh) | 配置网络 | |
CN107580083A (zh) | 一种容器ip地址分配的方法和系统 | |
CN102473111A (zh) | 控制服务器、服务提供系统以及虚拟基础结构的提供方法 | |
CN104468397B (zh) | 一种虚拟机热迁移转发不丢包的方法和装置 | |
CN105407055B (zh) | 一种内容中心网络的能耗控制方法 | |
CN106034077A (zh) | 一种动态路由配置方法、装置及系统 | |
CN109155758A (zh) | 虚拟基础架构 | |
CN107241305A (zh) | 一种基于多核处理器的网络协议分析系统及其分析方法 | |
CN107784098A (zh) | 实时数据仓库平台 | |
CN108062243A (zh) | 执行计划的生成方法、任务执行方法及装置 | |
WO2017107788A1 (zh) | 一种机器学习工具中间件及机器学习训练方法 | |
CN104782087B (zh) | 交换设备、控制器、交换设备配置、报文处理方法及系统 | |
CN106899503A (zh) | 一种数据中心网络的路由选择方法及网络管理器 | |
CN108605017A (zh) | 查询计划和操作感知通信缓冲区管理 | |
CN109462508A (zh) | 节点部署方法、装置和存储介质 | |
CN108833610A (zh) | 一种信息更新方法、装置及系统 | |
CN109074287A (zh) | 基础设施资源状态 | |
CN109617805A (zh) | 链路动态属性的获取方法、装置及路径选择方法、装置 | |
CN110020046A (zh) | 一种数据抓取方法及装置 | |
CN105224541B (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 | ||
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: Cangshan District of Fuzhou City, Fujian province 350002 Jinshan Road No. 618 Garden State Industrial Park 19 floor Patentee after: RUIJIE NETWORKS Co.,Ltd. Address before: Cangshan District of Fuzhou City, Fujian province 350002 Jinshan Road No. 618 Garden State Industrial Park 19 floor Patentee before: Beijing Star-Net Ruijie Networks Co.,Ltd. |