CN111835643B - 管理mac表的方法、网络设备、存储介质和程序产品 - Google Patents

管理mac表的方法、网络设备、存储介质和程序产品 Download PDF

Info

Publication number
CN111835643B
CN111835643B CN201910323657.4A CN201910323657A CN111835643B CN 111835643 B CN111835643 B CN 111835643B CN 201910323657 A CN201910323657 A CN 201910323657A CN 111835643 B CN111835643 B CN 111835643B
Authority
CN
China
Prior art keywords
mac
entry
mac table
forwarding plane
plane
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
Application number
CN201910323657.4A
Other languages
English (en)
Other versions
CN111835643A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201910323657.4A priority Critical patent/CN111835643B/zh
Priority to PCT/CN2019/119930 priority patent/WO2020215713A1/zh
Priority to EP19926305.4A priority patent/EP3944567A4/en
Publication of CN111835643A publication Critical patent/CN111835643A/zh
Application granted granted Critical
Publication of CN111835643B publication Critical patent/CN111835643B/zh
Priority to US17/451,514 priority patent/US11943141B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/02Topology update or discovery
    • H04L45/04Interdomain routing, e.g. hierarchical routing
    • 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
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/021Ensuring consistency of routing table updates, e.g. by using epoch numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/622Layer-2 addresses, e.g. medium access control [MAC] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer

Abstract

本申请提供了一种管理MAC表的方法、网络设备、存储介质和程序产品,所述方法属于通信技术领域。所述方法包括:网络设备的控制面获取第一MAC表项,向网络设备的转发面发送第一MAC表项和第一标识,转发面在第一MAC表中保存第一MAC表项,第一MAC表项的状态被设置为有效状态,转发面在第一MAC表项被保存到转发面之后经过第一预设时长并且满足第一预设条件时被变更设置为无效状态,为第一MAC表项设置失效时长,第一预设条件是转发面从保存第一MAC表项之后的第一预设时长内,没有接收到与第一MAC地址对应的流量,第一MAC地址是第一MAC表项中保存的MAC地址。采用本申请,提供了一种更合理的MAC表管理方法。

Description

管理MAC表的方法、网络设备、存储介质和程序产品
技术领域
本申请涉及通信技术领域,特别涉及一种管理MAC表的方法、网络设备、存储介质和程序产品。
背景技术
以太虚拟私有网络(Ethernet Virtual Private Network,EVPN)技术是一种用于二层网络互连的虚拟私有网络(Virtual Private Network,VPN)技术,通过扩展边界网关协议(Border Gateway Protocol,BGP),使用扩展后的可达性信息,使不同站点的二层网络间的媒体介入控制(Media Access Control,MAC)表项学习和发布过程从数据面转移到控制面。
相关技术中,EVPN中学习MAC表项是基于BGP路由进行学习,并且学习全网络的MAC表项,所以对于EVPN中某个网络设备学习到的MAC表项会是整个EVPN内部所有主机的MAC表项,无论主机与该网络设备是否有业务关系。
网络设备学习到的MAC表项中包含的某些MAC表项所属的主机与网络设备之间不存在业务关系,也即这些MAC表项不会被使用到,所以需要提供一种管理MAC表的方法。
发明内容
为了解决相关技术的问题,本申请提供了一种管理MAC表的方法、网络设备、存储介质和程序产品。所述技术方案如下:
第一方面,提供了一种管理MAC表的方法,该方法包括:网络设备的转发面在第一MAC表中保存控制面发送的第一MAC表项,所述第一MAC表项的状态被设置为有效状态;所述转发面将所述第一MAC表项由所述有效状态变更设置为无效状态,并为所述第一MAC表项设置失效时长,其中,所述第一MAC表项在所述第一MAC表项被保存到所述转发面之后经过第一预设时长并且满足第一预设条件时被变更设置为所述无效状态,所述第一预设条件是所述转发面从保存所述第一MAC表项之后的所述第一预设时长内,没有接收到与第一MAC地址对应的流量,所述第一MAC地址是所述第一MAC表项中包括的MAC地址。
本申请实施例所示的方案,在EPVN中组网时,网络设备的控制面可以基于BGP邻居学习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表项的限制更加精准,从而可以提升EVPN的防攻击效果。
一种具体的设计中,所述方法还包括:所述转发面将所述第一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地址),则可以获取转发面的MAC表项当前的存储空间的占用率。如果该占用率超过第一预设数值,则可以在第一MAC表中确定当前失效时长最长的MAC表项中的MAC地址(即第三MAC地址),向控制面发送第二消息,在第二消息中携带第二MAC地址和第三MAC地址。
控制面接收到第二消息后,可以判断控制面的MAC表是否保存有第二MAC地址的MAC表项,如果保存有,则直接向转发面发送第三MAC表项。
如果未保存在控制面的MAC表中,但是控制面保存有第二MAC地址的第三MAC表项(这种情况一般是未保存至控制面的MAC表中,而保存在其它地方),则可以判断控制面是否部署了BGP MAC表项限制,如果部署了BGP 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表项是所述控制面基于边界网络协议BGP邻居学习到的;所述转发面在所述第一MAC表中保存所述第五MAC表项。
本申请实施例所示的方案,在网络设备与BGP邻居之间的BGP会话断开重建时,转发面可以接收控制面发送的第五MAC表项,第五MAC表项是控制面根据学习到的MAC表项和所述第三MAC表确定的,转发面可以在第一MAC表中保存第五MAC表项。这样,在网络设备与BGP邻居之间的BGP会话断开重建时,转发面还可以接收到MAC表项,指导流量转发。
一种具体的设计中,所述转发面接收所述控制面发送的第五MAC表项,包括:所述转发面接收所述控制面发送的第五MAC表项和第一标识,其中,所述第五MAC表项属于所述第三MAC表且属于所述学习到的MAC表项,所述第一标识用于指示所述转发面将所述第五表项设置为有效状态;所述方法还包括:所述转发面将所述第五MAC表项设置为有效状态。
本申请实施例所示的方案,在网络设备与BGP邻居之间的BGP会话断开重建时,转发面可以接收控制面发送的第五MAC表项和第一标识,第五MAC表项是控制面根据学习到的MAC表项和所述第三MAC表确定的,转发面可以在第一MAC表中保存第五MAC表项,并将第五MAC表项设置为有效状态。这样,在网络设备与BGP邻居之间的BGP会话断开重建时,转发面还可以接收到MAC表项,指导流量转发。
一种具体的设计中,所述转发面的MAC表项的存储空间的占用率未超过第二预设数值;所述方法还包括:所述转发面接收所述控制面发送的第六MAC表项和第二标识,其中,所述第六MAC表项仅属于所述第三MAC表,或仅属于所述学习到的MAC表项,所述第二标识用于指示所述转发面将所述第六表项设置为无效状态;所述转发面在所述第一MAC表中保存所述第六MAC表项,并将所述第六MAC表项设置为无效状态。
本申请实施例所示的方案,在网络设备与BGP邻居之间的BGP会话断开重建时,如果转发面的MAC表项的存储空间的占用率未超过第二预设数值,转发面可以接收控制面发送的第六MAC表项和第二标识,第六MAC表项仅属于第三MAC表,或仅属于学习到的MAC表项。转发面可以在第一MAC表中保存第六MAC表项,并将第六MAC表项设置为无效状态。这样,在转发面的存储空间充足时,控制面还可以指导转发面区分有效状态的MAC表项和无效状态的MAC表项,无效状态的MAC表项有可能会被尽早的删除,所以可以节约转发面的MAC表项的存储空间。而且下发的MAC表项较多,可以减少组播或广播的发生。
一种具体的设计中,所述方法还包括:所述转发面接收所述控制面发送的第二标识和所述第三MAC表中的MAC表项;所述转发面在所述第一MAC表中保存所述第三MAC表中的MAC表项,并根据所述第二标识,将所述第三MAC表中的MAC表项设置为无效状态。
本申请实施例所示的方案,在网络设备与网络设备对应的BGP邻居之间的BGP会话会断开重建时,控制面可以从控制管理设备获取第三MAC表,并且可以通过BGP协议从BGP邻居学习MAC表项。控制面接收到控制管理设备发送的第三MAC表后,可以将第三MAC表发送至转发面,转发面接收到后,可以在第一MAC表中保存第三MAC表中的MAC表项,并将这些MAC表项设置为无效状态。这样,由于获取第三MAC表的速度远小于从BGP邻居学习MAC表项,所以可以缩短流量中断时长。
第二方面,提供了一种管理媒体接入控制MAC表的方法,所述方法包括:
网络设备的控制面获取第一MAC表项;所述控制面向所述网络设备的转发面发送所述第一MAC表项和第一标识,所述第一标识用于指示所述转发面在第一MAC表中,将所述第一MAC表项设置为有效状态,所述第一MAC表项中包括第一MAC地址。
本申请实施例所示的方案,在EPVN中组网时,网络设备的控制面可以基于BGP协议,从其它网络设备学习其它网络设备连接的CE设备的MAC表项(学到的MAC表项中会包括第一MAC表项),其它网络设备可以称为是该网络设备的BGP邻居,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表中,且部署了边界网络协议BGP MAC表项限制,则在所述保存的MAC表中删除第四MAC表项之后,在所述保存的MAC表中添加所述第三MAC表项,并向所述转发面发送所述第三MAC表项;其中,所述第四MAC表项中包括所述第三MAC地址。
本申请实施例所示的方案,转发面在接收到流量时,可以使用该流量中的目的MAC地址,在第一MAC表中查找所在的MAC表项,如果不存在该目的MAC地址(后续可以称为是第二MAC地址),则转发面可以获取转发面的MAC表项的存储空间的占用率。如果该占用率超过第一预设数值,则可以向控制面发送第二消息,在第二消息中携带第二MAC地址和第三MAC地址。控制面接收到第二消息后,如果保存有第二MAC地址的MAC表项,则直接向转发面发送第三MAC表项。如果未保存在控制面的MAC表中,但是控制面保存有第二MAC地址的第三MAC表项(这种情况一般是未保存至控制面的MAC表中,而保存在其它地方),如果部署了BGPMAC表项限制,则可以在自身保存的MAC表中删除第四MAC表项(第四MAC表项中包括第三MAC地址),然后在自身保存的MAC表中保存第三MAC表项(第三MAC表项中包括第二MAC地址),并向转发面发送第三MAC表项。这样,可以使转发面和控制面的MAC表项同步。
一种具体的设计中,所述方法还包括:当所述网络设备与BGP邻居之间的BGP会话断开重建时,所述控制面向控制管理设备发送MAC表的获取请求;所述控制面接收所述控制管理设备发送的第三MAC表;所述控制面根据学习到的MAC表项和所述第三MAC表,确定第五MAC表项,所述学习到的MAC表项是所述控制面基于BGP邻居学习到的;所述控制面向所述转发面发送所述第五MAC表项。
本申请实施例所示的方案,网络设备与网络设备对应的BGP邻居之间的BGP会话断开重建时,控制面可以从控制管理设备获取第三MAC表,并基于BGP协议学习BGP邻居的MAC表项,然后可以使用学习到的MAC表项和第三MAC表,确定第五MAC表项,向转发面发送第五MAC表项。
一种具体的设计中,所述控制面根据学习到的MAC表项和所述第三MAC表,确定第五MAC表项,包括:所述控制面确定属于所述第三MAC表且属于从所述学习到的MAC表项,为第五MAC表项;所述控制面向所述转发面发送所述第五MAC表项,包括:所述控制面向所述转发面发送所述第五MAC表项和所述第一标识,所述第一标识用于指示所述转发面将所述第五MAC表项设置为有效状态。
本申请实施例所示的方案,控制面可以确定第三MAC表与从BGP邻居学习到的MAC表项中MAC表项的交集,将该交集中的MAC表项确定为第五MAC表项。控制面可以向转发面发送第五MAC表项和第一标识,使转发面将第五MAC表项设置为有效状态。这样,可以为转发面提供有效状态的MAC表项。
一种具体的设计中,所述转发面的MAC表项的存储空间的占用率未超过第二预设数值;所述方法还包括:所述控制面确定仅属于所述第三MAC表,或仅属于所述学习到的MAC表项,为第六MAC表项;所述控制面向所述转发面发送所述第六MAC表项和第二标识,所述第二标识用于指示所述转发面将所述第六MAC表项设置为无效状态。
本申请实施例所示的方案,控制面向转发面下发MAC表项之前,可以获取转发面当前MAC表项的占用率,如果该占用率未超过第二预设数值,则可以确定仅属于第三MAC表或仅属于从BGP邻居学习到的MAC表项中的MAC表项,为第六MAC表项,然后向转发面发送第六MAC表项和第二标识。转发面接收到第六MAC表项和第二标识后,可以在第一MAC表中保存第六MAC表项,并将第六MAC表项的状态设置为无效状态。这样,在转发面的存储空间充足时,控制面可以指导转发面区分有效状态的MAC表项和无效状态的MAC表项,无效状态的MAC表项有可能会被尽早的删除,所以可以节约转发面的MAC表项的存储空间。而且下发的MAC表项较多,可以减少组播或广播的发生。
一种具体的设计中,所述方法还包括:当所述网络设备与BGP邻居之间的BGP会话断开重建时,所述控制面向控制管理设备发送MAC表的获取请求;所述控制面接收所述控制管理设备发送的第三MAC表;所述控制面向所述转发面发送所述第三MAC表中的MAC表项和第二标识,所述第二标识用于指示所述转发面将所述第三MAC表中的MAC表项设置为无效状态。
本申请实施例所示的方案,当网络设备与BGP邻居之间的BGP会话断开重建时,控制面可以从控制管理设备获取第三MAC表,将第三MAC表发送至转发面,指导转发面的流量转发。这样,由于获取第三MAC表的速度远小于从BGP邻居学习MAC表项,所以可以缩短流量中断时长。
第三方面,提供了一种管理媒体接入控制MAC表的方法,所述方法包括:
所述控制管理设备接收网络设备的转发面每隔预设时长发送的第三MAC表,所述第三MAC表包括的所有MAC表项均设置为有效状态;所述控制管理设备使用所述第三MAC表替换当前存储的对应所述转发面的MAC表。
本申请实施例所示的方案,控制管理设备可以备份网络设备的转发面的有效状态的MAC表项,使转发面丢失MAC表项后,从控制管理设备获取。
一种具体的设计中,所述方法还包括:所述控制管理设备接收所述网络设备的控制面发送MAC表的获取请求;所述控制管理设备向所述控制面发送所述第三MAC表。
本申请实施例所示的方案,在网络设备与BGP邻居的BGP会话断开重建时,网络设备的控制面可以从控制管理设备获取第三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表项是所述控制面基于边界网络协议BGP邻居学习到的;
所述存储模块,还用于在所述第一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表中,且部署了边界网络协议BGP MAC表项限制,则在所述保存的MAC表中删除第四MAC表项之后,在所述保存的MAC表中添加所述第三MAC表项,并向所述转发面发送所述第三MAC表项;
其中,所述第四MAC表项中包括所述第三MAC地址。
一种具体的设计中,所述发送模块,还用于:
当所述网络设备与BGP邻居之间的BGP会话断开重建时,向控制管理设备发送MAC表的获取请求;
所述接收模块,还用于接收所述控制管理设备发送的第三MAC表;
所述处理模块,还用于根据学习到的MAC表项和所述第三MAC表,确定第五MAC表项,所述学习到的MAC表项是所述控制面基于BGP邻居学习到的;
所述发送模块,还用于:向所述转发面发送所述第五MAC表项。
一种具体的设计中,所述处理模块,还用于:确定属于所述第三MAC表且属于从所述学习到的MAC表项,为第五MAC表项;
所述发送模块,还用于:向所述转发面发送所述第五MAC表项和所述第一标识,所述第一标识用于指示所述转发面将所述第五MAC表项设置为有效状态。
一种具体的设计中,所述转发面的MAC表项的存储空间的占用率未超过第二预设数值;
所述处理模块,还用于确定仅属于所述第三MAC表,或仅属于所述学习到的MAC表项,为第六MAC表项;
所述发送模块820,还用于向所述转发面发送所述第六MAC表项和第二标识,所述第二标识用于指示所述转发面将所述第六MAC表项设置为无效状态。
一种具体的设计中,所述发送模块,还用于:
当所述网络设备与BGP邻居之间的BGP会话断开重建时,向控制管理设备发送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是本申请实施例提供的一种EVPN的示意图;
图2是本申请实施例提供的一种网络设备的结构示意图;
图3是本申请实施例提供的一种管理MAC表的方法的流程示意图;
图4是本申请实施例提供的一种管理MAC表的方法的流程示意图;
图5是本申请实施例提供的一种网络设备连接有控制管理设备的示意图;
图6是本申请实施例提供的一种管理MAC表的方法的流程示意图;
图7是本申请实施例提供的一种管理MAC表的网络设备的结构示意图;
图8是本申请实施例提供的一种管理MAC表的网络设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
为了便于对本申请实施例的理解,下面首先介绍本申请实施例涉及的系统架构、以及所涉及到名词的概念。
本申请实施例可以适用于EPVN网络,EPVN网络中包括多个网络设备,网络设备可以是服务提供商的边缘(Provider Edge,PE)设备。网络设备可以包括转发面和控制面,控制面可以用于通过BGP邻居学习MAC表项,并将学习到的MAC表项,下发至转发面,转发面基于接收到的MAC表项,以及从本地学习到的MAC表项,指导接收到的流量进行转发。
如图1所示,为EPVN的组网示意图,EPVN为了实现各个站点(site)之间的互通,运营商骨干网上的网络设备(即PE设备)上建立EPVN实例,并接入各个站点的用户边缘(Customer Edge,CE)设备,同时各个网络设备之间建立的邻居关系。由于各个站点内是二层网络,所以网络设备从各个CE设备学习到的是MAC表项,而不是路由,网络设备通过EPVN特有的路由类型(即BGP协议)将自己从CE设备学习到的MAC表项,转发到其他站点,这样,EPVN中各个网络设备就有了所有CE的MAC表项。
需要说明的是,此处对于某个网络设备,该网络设备可以学习自己连接的CE设备的MAC表项,这些MAC表项可以被称为是本地的MAC表项,该网络设备基于BGP协议从其它网络设备学习其它网络设备连接的CE设备的MAC表项,其它网络设备可以称为是该网络设备的BGP邻居。
本申请实施例提供了一种管理MAC表的方法,该方法的执行主体可以是网络设备,网络设备可以是EPVN中的PE设备。
图2示出了本申请实施例中网络设备的结构框图,该网络设备至少可以包括接收器201、处理器202、存储器203和发射器204。其中,接收器201可以用于实现数据的接收,发射器204可以用于数据的发送,存储器203可以用于存储软件程序以及模块,处理器202通过运行存储在存储器203中的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器203可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据网络设备的使用所创建的数据等。此外,存储器203可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器203还可以包括存储器控制器,以提供处理器202、接收器201和发射器204对存储器203的访问。处理器202是网络设备的控制中心,利用各种接口和线路连接整个网络设备的各个部分,通过运行或执行存储在存储器203内的软件程序和/或模块,以及调用存储在存储器203内的数据,执行网络设备的各种功能和处理数据,从而对网络设备进行整体监控。
一种具体的实施方式中,处理器202可包括一个或多个处理核心;优选的,处理器202可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器202中。
该网络设备可以包括转发面和控制面,控制面可以由中央处理器(CentralProcessing Unit,CPU)实现,也可以由有控制面功能的网络处理器(network processor,NP)实现。转发面可以是交换芯片。例如,转发面可以由专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD),NP,多核CPU中用于实现转发面的核心或其任意组合实现。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,缩写:FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。
下面将结合具体实施方式,对图3所示的处理流程进行详细的说明,内容可以如下:
步骤301,网络设备的控制面获取第一MAC表项。
在实施中,在EPVN中组网时,网络设备的控制面可以基于BGP协议,从其它网络设备学习其它网络设备连接的CE设备的MAC表项(学到的MAC表项中会包括第一MAC表项),其它网络设备可以称为是该网络设备的BGP邻居,MAC表项中包括MAC地址、MAC地址对应的出接口、广播域等。
步骤302,控制面向网络设备的转发面发送第一MAC表项和第一标识,第一标识用于指示转发面在第一MAC表中,将第一MAC表项设置为有效状态,第一MAC表项中包括第一MAC地址。
在实施中,控制面在获取到第一MAC表项后,可以向网络设备的转发面发送第一MAC表项和第一标识,第一标识用于指示转发面在保存的第一MAC表中,将第一MAC表项设置为有效状态,第一MAC表项中包括第一MAC地址。
步骤303,网络设备的转发面在第一MAC表中保存控制面发送的第一MAC表项,第一MAC表项的状态被设置为有效状态。
其中,第一MAC表为网络设备的转发面保存的MAC表。
在实施中,转发面在接收到控制面发送的第一MAC表项和第一标识后,可以将第一MAC表项保存在第一MAC表中,并且可以将第一MAC表项的状态设置为有效状态(如表一所示,此处可以是在第一MAC表中增加状态标识位,标识MAC表项的状态)。
表一
MAC地址 广播域 状态标识位
第一MAC地址 A 有效状态
在表一中,第一MAC地址为第一MAC表项的MAC地址,广播域为A,状态为有效状态,广播域与状态标识位之间的省略号表示MAC表项的其它属性。
一种具体的实施方式中,上述将第一MAC表项的状态设置为有效状态,可以将第一MAC表项的状态标识位设置为第一标识,如果某个MAC表项的状态标识位为第一标识,则说明该MAC表项的状态为有效状态。
另外,本申请实施例中,网络设备的转发面还可以从本地连接的CE设备学习MAC表项,从本地CE设备学习的MAC表项的状态也被设置为有效状态,为了防范本地有流量攻击,可以配置本地接口的MAC表项限制值,一般本地的MAC表项限制值与网络设备连接的CE的数目有关系,一般是MAC表项限制值等于网络设备连接的CE的数目。后续提到的MAC表项均为基于BGP协议从BGP邻居学习到的MAC表项。
步骤304,转发面将第一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表中添加失效时长的表格。例如,如表二所示,失效时长为5分钟,则可以在失效时长的表格中写入5分钟。
表二
MAC地址 广播域 状态标识位 失效时长
第一MAC地址 A 第二标识 5分钟
需要说明的是,失效时长可以是预先配置在转发面的,每个MAC表项的失效时长一般是相同的,上述第一标识可以为0,第二标识可以为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表项的失效时长为5分钟,在设置为无效状态的5分钟内,未接收到目的地址为第一MAC地址的流量,可以将第一MAC表项从第一MAC表中删除。
这样,由于识别有效状态的MAC表项和无效状态的MAC表项,优先过滤无效状态的MAC表项,使MAC表项的限制更加精准,从而可以提升EVPN的防攻击效果。
一种具体的实施方式中,为了使转发面更少的组播或广播,转发面可以将满足一定条件无效状态的MAC表项,恢复有有效状态,相应的处理可以如下:
转发面将第一MAC表项的状态由无效状态变更设置为有效状态,第一MAC表项在转发面在失效时长内接收到与第一MAC地址对应的流量后被变更为有效状态。
在实施中,转发面将第一MAC表项的状态设置为无效状态之后,可以判断是否在失效时长内接收到目的地址为第一MAC地址的流量(即第一MAC地址对应的流量),如果在失效时长内,接收到目的地址为第一MAC地址的流量,则可以将第一MAC表项的状态从无效状态更新为有效状态。
例如,第一MAC表项的失效时长为5分钟,在被设置为无效状态之后的第4分钟时,接收到目的地址为第一MAC地址的流量,可以将第一MAC表项的状态从无效状态变更为有效状态。
这样,通过上述过程可知,经常使用的MAC表项一般不会被删除,所以接收到该MAC表项对应的流量时,可以基于MAC表项进行转发,从而可以减少广播或组播的次数。
另外,在将第一MAC表项从无效状态变更为有效状态时,还可以通知控制面进行变更,相应的处理可以如下:
转发面可以向控制面发送第三消息,第三消息可以用于指示控制面将自身保存的第二MAC表中保存的第二MAC表项设置为有效状态。控制面接收到后,可以在第二MAC表项变更为有效状态,这样,可以尽可能的保证转发面与控制面的MAC表项的同步。
一种具体的实施方式中,如图4所示,本申请实施例还提供了,在转发面接收到的流量的目的地址不能命中第一MAC表中的MAC表项时,可以进行如下处理:
步骤401,转发面向控制面发送第二消息,其中,第二消息中携带有第二MAC地址,用于请求第三MAC表项,第三MAC表项中包括第二MAC地址。
在实施中,转发面在接收到流量时,可以使用该流量中的目的MAC地址,在第一MAC表中查找所在的MAC表项,如果不存在该目的MAC地址(后续可以称为是第二MAC地址),则转发面可以生成第二消息,并在第二消息中携带第二MAC地址,然后向控制面发送第二消息。
步骤402,控制面接收转发面发送的第二消息,第二消息中携带有第二MAC地址。
步骤403,控制面向转发面发送第三MAC表项,第三MAC表项中包括第二MAC地址。
在实施中,控制面接收到第二消息之后,可以从中解析出第二MAC地址,使用第二MAC地址在保存的MAC表中进行遍历,确定是否存在第二MAC地址所属的MAC表项。如果存在第二MAC地址所属的MAC表项(即第三MAC表项),则控制面可以向转发面发送第三MAC表项和第一标识,第一标识用于指示转发面将第三MAC表项设置为有效状态。
另外,如果控制面不存在第二MAC地址所属的MAC表项,则可以生成第四消息,向转发面发送第四消息,第四消息用于指示转发面删除本次第二MAC地址对应的流量。这样,可以防止攻击。
一种具体的实施方式中,在转发面的MAC表项的存储空间的占用率大于第一预设数值时,步骤403的处理可以如下:
在转发面的MAC表项的存储空间的占用率超过第一预设数值时,第二消息中还携带有第三MAC地址,第三MAC地址为转发面保存的当前失效时长最长的MAC地址,如果控制面存在第二MAC地址,且第二MAC地址存在于保存的MAC表中,则向转发面发送第三MAC表项;如果控制面存在第二MAC地址,且第二MAC地址未存在于保存的MAC表中,且部署了边界网络协议BGP MAC表项限制,则在保存的MAC表中删除第四MAC表项之后,在保存的MAC表中添加第三MAC表项,并向转发面发送第三MAC表项;其中,第四MAC表项中包括第三MAC地址。
其中,第一预设数值可以预设,并且存储在转发面,例如,可以是95%等。BGP MAC表项限制指为基于BGP邻居学习到的MAC表项设置的限制,例如,控制面的BGP MAC表项限制为5000,实际上基于BGP邻居学习到10000个MAC表项,但是仅在自身的MAC表中保存5000个MAC表项,该MAC表会下发至转发面,指导转发面对流量的转发,其余5000个MAC表项不保存在控制面的MAC表中,而保存在控制面的其它地方,这5000个MAC表项不下发至转发面。
在实施中,转发面在接收到流量时,可以使用该流量中的目的MAC地址,在第一MAC表中查找所在的MAC表项,如果不存在该目的MAC地址(后续可以称为是第二MAC地址),则可以获取转发面的MAC表项的存储空间的大小,并且获取转发面的MAC表项当前的存储量,将当前的存储量与MAC表项的存储空间的大小相比,得到当前MAC表项的存储空间的占用率。判断该占用率与第一预设数值的大小,如果该占用率超过第一预设数值,则可以在第一MAC表中确定当前失效时长最长的MAC表项中的MAC地址(即第三MAC地址),向控制面发送第二消息,在第二消息中携带第二MAC地址和第三MAC地址。
控制面接收到第二消息后,可以判断控制面的MAC表是否保存有第二MAC地址的MAC表项,如果保存有,则直接向转发面发送第三MAC表项。
如果未保存在控制面的MAC表中,但是控制面保存有第二MAC地址的第三MAC表项(这种情况一般是未保存至控制面的MAC表中,而保存在其它地方),则可以判断控制面是否部署了BGP MAC表项限制,如果部署了BGP MAC表项限制,则可以在自身保存的MAC表中删除第四MAC表项(第四MAC表项中包括第三MAC地址),然后在自身保存的MAC表中保存第三MAC表项(第三MAC表项中包括第二MAC地址),并向转发面发送第三MAC表项。
另外,一般控制面的MAC表项的存储空间比较充足,所以控制面存在第二MAC地址,且第二MAC地址的表项未存保存在控制面的MAC表中,且没有部署BGP MAC表项限制,这种情况一般不可能存在,所以此处不进行说明。
步骤404,转发面接收控制面发送的第三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表项,使占用的存储空间总量不变。
步骤405,转发面基于第三MAC表项转发第二MAC地址对应的流量。
在实施中,转发面可以基于第二MAC地址,对目标地址为第二MAC地址对应的流量进行转发。
另外,第四消息还可以用于指示转发面后续接收到目的地址为第二MAC地址的流量时,不再向控制面发送第三消息。转发面接收到第四消息时,可以在另一MAC表中记录第二MAC地址,这样,转发面如果在第一MAC表中查找不到第二MAC地址,可以在该另一MAC表中查找是否存在第二MAC地址,如果存在第二MAC地址,则不向控制面发送第三消息,如果不存在第二MAC地址,则可以向控制面发送第三消息。这样,可以节约处理资源。
另外,此处也可以是转发面在向控制面发送第二消息的同时,直接将目的地址为第二MAC地址的流量进行广播转发。这样,转发面在接收到控制面发送的第四消息时,仅可以记录后续接收到第二MAC地址对应的流量时,不再向控制面上报第二消息。
一种具体的实施方式中,本申请实施例,还提供了转发面向控制管理设备发送MAC表的过程,相应的处理可以如下:
转发面每隔预设时长向控制管理设备发送第三MAC表;其中,第三MAC表包括的所有MAC表项均设置为有效状态,第三MAC表是第一MAC表的子集。
其中,预设时长可以预设,并且存储在转发面。如图5所示,控制管理设备与网络设备建立有连接,控制管理设备可以是软件定义网络(Software Defined Network,SDN)服务器等。
在实施中,转发面在上线之后,可以每隔预设时长获取当前第一MAC表中被标记为有效状态的MAC表项,组成第三MAC表,然后向控制管理设备发送第三MAC表。
控制管理设备接收到转发面发送的第三MAC表之后,可以使用本次接收到的第三MAC表替换之前保存的MAC表。
这样,控制管理设备中备份有转发面的状态为有效状态的MAC表项。
一种具体的实施方式中,在网络设备与网络设备对应的BGP邻居之间的BGP会话断开重建,可以从控制管理设备中获取第三MAC表,指导转发面的转发,如图6所示,相应的处理步骤可以如下:
步骤601,当网络设备与BGP邻居之间的BGP会话断开重建时,控制面向控制管理设备发送MAC表的获取请求。
在实施中,在网络设备重启时,网络设备与网络设备对应的BGP邻居之间的BGP会话会断开重建,或者网络设备与网络设备对应的BGP邻居之前的BGP会话断开后,网络设备与网络设备对应的BGP邻居之间的BGP会话也会重建。这时,控制面可以向连接的控制管理设备发送MAC表的获取请求,并且可以通过BGP协议从BGP邻居学习MAC表项。
控制管理设备接收到网络设备的控制面发送的MAC表的获取请求,可以确定获取自身保存的最新接收自网络设备的转发面的MAC表(即第三MAC表),然后可以向控制面发送第三MAC表。
步骤602,控制面接收控制管理设备发送的第三MAC表。
步骤603,控制面根据学习到的MAC表项和第三MAC表,确定第五MAC表项,学习到的MAC表项是控制面基于BGP邻居学习到的。
在实施中,控制面在接收到控制管理设备发送的第三MAC表之后,可以使用学习到的MAC表项和第三MAC表,确定第五MAC表项。
一种具体的实施方式中,控制面可以按照如下方式确定第五MAC表项,相应的步骤603的处理可以如下:
控制面确定属于第三MAC表且属于从学习到的MAC表项,为第五MAC表项。
在实施中,控制面可以确定第三MAC表与从BGP邻居学习到的MAC表项中MAC表项的交集,将该交集中的MAC表项确定为第五MAC表项。
步骤604,控制面向转发面发送第五MAC表项。
一种具体的实施方式中,对应上述第五MAC表项属于第三MAC表且属于从学习到的MAC表项,步骤604的处理可以如下:
控制面向转发面发送第五MAC表项和第一标识,第一标识用于指示转发面将第五MAC表项设置为有效状态。
步骤605,转发面接收控制面发送的第五MAC表项,其中,第五MAC表项是控制面根据学习到的MAC表项和第三MAC表确定的,学习到的MAC表项是控制面基于边界网络协议BGP邻居学习到的。
一种具体的实施方式中,对于步骤604中发送第一标识,步骤605的处理可以如下:
转发面接收控制面发送的第五MAC表项和第一标识。
步骤606,转发面在第一MAC表中保存第五MAC表项。
在实施中,转发面接收到控制面发送的第五MAC表项之后,可以在第一MAC表中保存第五MAC表项。
一种具体的实施方式中,对步骤605中,转发面接收控制面发送的第五MAC表项和第一标识,步骤606之后,还可以进行如下处理:
转发面将第五MAC表项设置为有效状态。
需要说明的是,上述在转发面的MAC表项存储空间的占用率超过第二预设数值时,控制面可以仅向转发面发送第五MAC表项,并设置为有效状态,而不会发送后续的第六MAC表项,可以减少转发面MAC表项的存储空间的占用。
这样,不管转发面的MAC表项存储空间是否不足,向转发面发送转发面之前确定的有效状态的MAC表项与现在基于BGP邻居学习到的MAC表项的交集,并设置为有效状态,可以减少转发面MAC表项的存储空间的占用。
一种具体的实施方式中,在转发面的MAC表项的存储空间未超过第二预设数值时,转发面和控制面还可以进行如下处理:
控制面确定仅属于第三MAC表,或仅属于学习到的MAC表项,为第六MAC表项,控制面向转发面发送第六MAC表项和第二标识,第二标识用于指示转发面将第六MAC表项设置为无效状态。转发面接收控制面发送的第六MAC表项和第二标识,其中,第六MAC表项仅属于第三MAC表,或仅属于学习到的MAC表项,第二标识用于指示转发面将第六表项设置为无效状态;转发面在第一MAC表中保存第六MAC表项,并将第六MAC表项设置为无效状态。
其中,第二预设数值可以预设,并且存储至控制面,此处第二预设数值可以与上述第一预设数值相同。
在实施中,控制面向转发面下发MAC表项之前,可以向转发面发送获取请求,该获取请求用于请求获取MAC表项的存储空间的占用率。转发面接收到后,可以确定当前MAC表项的存储空间的占用量,以及存储空间的总量,将占用量与总量相比,得到当前MAC表项的占用率,向控制面发送该占用率。
控制面接收到之后,可以确定该占用率是否超过第二预设数值,如果未超过第二预设数值,则可以确定仅属于第三MAC表或仅属于从BGP邻居学习到的MAC表项中的MAC表项,为第六MAC表项,然后向转发面发送第六MAC表项和第二标识。
转发面接收到第六MAC表项和第二标识后,可以在第一MAC表中保存第六MAC表项,并将第六MAC表项的状态设置为无效状态。
这样,在转发面的存储空间充足时,控制面可以指导转发面区分有效状态的MAC表项和无效状态的MAC表项,无效状态的MAC表项有可能会被尽早的删除,所以可以节约转发面的MAC表项的存储空间。而且下发的MAC表项较多,可以减少组播或广播的发生。
另外,在转发面的MAC表项的存储空间全部被占用时,可以发出预设的警示信息。
一种具体的实施方式中,在网络设备重启与网络设备所在网络的BGP邻居之间的BGP会话断开重建时,为了缩短流量中断时长,可以进行如下处理:
当网络设备与BGP邻居之间的BGP会话断开重建时,控制面向控制管理设备发送MAC表的获取请求;控制面接收控制管理设备发送的第三MAC表;控制面向转发面发送第三MAC表中的MAC表项和第二标识,第二标识用于指示转发面将第三MAC表中的MAC表项设置为无效状态。转发面接收控制面发送的第二标识和第三MAC表中的MAC表项;转发面在第一MAC表中保存第三MAC表中的MAC表项,并根据第二标识,将第三MAC表中的MAC表项设置为无效状态。
在实施中,在网络设备重启时,网络设备与网络设备对应的BGP邻居之间的BGP会话会断开重建,或者网络设备与网络设备对应的BGP邻居之前的BGP会话断开后,网络设备与网络设备对应的BGP邻居之间的BGP会话也会重建。这时,控制面可以向连接的控制管理设备发送MAC表的获取请求,并且可以通过BGP协议从BGP邻居学习MAC表项。
控制管理设备接收到该获取请求之后,可以获取自身保存的MAC表,即第三MAC表,向控制面发送第三MAC表。
控制面接收到控制管理设备发送的第三MAC表后,可以将第三MAC表和第二标识发送至转发面,转发面接收到后,可以在第一MAC表中保存第三MAC表中的MAC表项,并将这些MAC表项设置为无效状态。这样,由于获取第三MAC表的速度远小于从BGP邻居学习MAC表项,所以可以缩短流量中断时长。
后续控制面从BGP邻居学习MAC表项后,可以确定从BGP邻居学习的MAC表项与第三MAC表中的MAC表项的交集,对应这些交集的MAC表项向转发面发送第一标识。转发面接收到后,可以将这些交集的MAC表项的状态从无效状态更新为有效状态。这样,可以防止这些MAC表项被删除,造成的大量广播。
这样,转发面将有效状态的MAC表项周期性发送至控制管理设备,在网络设备与BGP邻居之间的BGP会话恢复后,可以使有效状态的MAC表项尽早的下发至转发面,指导转发面的流量转发,从而可以降低大量流量被广播的风险。
本申请实施例中,网络设备的控制面可以获取第一MAC表项,向网络设备的转发面发送第一MAC表项和第一标识,网络设备的转发面在第一MAC表中保存控制面发送的第一MAC表项,第一MAC表项的状态被设置为有效状态,转发面在第一MAC表项被保存到转发面之后经过第一预设时长并且满足第一预设条件时被变更设置为无效状态,并为第一MAC表项设置失效时长,第一预设条件是转发面从保存第一MAC表项之后的第一预设时长内,没有接收到与第一MAC地址对应的流量,第一MAC地址是第一MAC表项中保存的MAC地址。这样,在某个MAC表项被保存至转发面之后,一段时长没有被流量命中,会被设置为无效状态,可以使MAC表项的管理更加合理。
还需要说明的是,虚拟专用局域网(Virtual Private Lan Service,VPLS)演进到EVPN后,由于两个技术MAC表项的学习方式的差异,会带来网络中网络设备对MAC表项的容量的更高要求。本申请基于上述处理正好解决了此问题,理由如下:本申请在保留EVPN原有优势的前提下,由于可识别有效状态的MAC表项,优先下发了有效状态的MAC表项,压缩了EVPN的MAC表项的容量需求,使其与VPLS的MAC表项的容量需求无差异,进而使的EVPN相对于VPLS对于网络设备的MAC表项的容量需求基本一致,使得VPLS向EVPN演进更加平滑。
图7是本申请实施例提供的管理MAC的网络设备的结构图。该网络设备可以通过软件、硬件或者两者的结合实现成为网络设备中的部分或者全部。本申请实施例提供的网络设备可以实现本申请实施例图3、图4和图6所述的流程,该网络设备的转发面包括:存储模块710、处理模块720、发送模块730和接收模块740,其中:
所述存储模块710,用于在第一MAC表中保存控制面发送的第一MAC表项,所述第一MAC表项的状态被设置为有效状态,具体可以实现上述步骤303中的存储功能,以及其它隐含步骤;
所述处理模块720,用于将所述第一MAC表项由所述有效状态变更设置为无效状态,并为所述第一MAC表项设置失效时长,具体可以实现上述步骤304中的存储功能,以及其它隐含步骤;
其中,所述第一MAC表项在所述第一MAC表项被保存到所述转发面之后经过第一预设时长并且满足第一预设条件时被变更设置为所述无效状态,所述第一预设条件是所述转发面从保存所述第一MAC表项之后的所述第一预设时长内,没有接收到与第一MAC地址对应的流量,所述第一MAC地址是所述第一MAC表项中包括的MAC地址。
一种具体的实施方式中,所述发送模块730,还用于;
向所述控制面发送第一消息,所述第一消息用于指示所述控制面将自身保存的第二MAC表中保存的第二MAC表项设置为无效状态,所述第二MAC表项中包括所述第一MAC地址。
一种具体的实施方式中,所述处理模块720,还用于:
从所述第一MAC表中删除所述第一MAC表项,其中,所述第一MAC表项在所述第一MAC表项被设置为所述无效状态之后经过所述失效时长并且满足第二预设条件时被删除,所述第二预设条件是所述转发面将所述第一MAC表项设置为所述无效状态之后,在所述失效时长内没有接收到与第一MAC地址对应的流量。
一种具体的实施方式中,所述处理模块720,还用于:
将所述第一MAC表项的状态由所述无效状态变更设置为有效状态,所述第一MAC表项在所述转发面在所述失效时长内接收到与所述第一MAC地址对应的流量后被变更为有效状态。
一种具体的实施方式中,所述发送模块730,还用于:
向所述控制面发送第二消息,其中,所述第二消息中携带有第二MAC地址,用于请求第三MAC表项,所述第三MAC表项中包括所述第二MAC地址;
所接收模块740,还用于:
接收所述控制面发送的所述第三MAC表项;
所述处理模块720,还用于:
所述第一MAC表中保存第三MAC表项,并将所述第三MAC表项设置为有效状态;
基于所述第三MAC表项转发所述第二MAC地址对应的流量。
一种具体的实施方式中,在所述转发面的MAC表项的存储空间的占用率超过第一预设数值时,所述第二消息中还携带有第三MAC地址,所述第三MAC地址为所述转发面保存的当前失效时长最长的MAC地址;
所述处理模块720,还用于在所述第一MAC表中删除第四MAC表项,所述第四MAC表项中保存有所述第三MAC地址。
一种具体的实施方式中,所述发送模块730,还用于:
每隔预设时长向控制管理设备发送第三MAC表;
其中,所述第三MAC表包括的所有MAC表项均设置为有效状态,所述第三MAC表是所述第一MAC表的子集。
一种具体的实施方式中,所述接收模块740,还用于:
接收所述控制面发送的第五MAC表项,其中,所述第五MAC表项是所述控制面根据学习到的MAC表项和所述第三MAC表确定的,所述学习到的MAC表项是所述控制面基于边界网络协议BGP邻居学习到的;
所述存储模块710,还用于在所述第一MAC表中保存所述第五MAC表项。
一种具体的实施方式中,所述接收模块740,还用于:
接收所述控制面发送的第五MAC表项和第一标识,其中,所述第五MAC表项属于所述第三MAC表且属于所述学习到的MAC表项,所述第一标识用于指示所述转发面将所述第五表项设置为有效状态;
所述处理模块720,还用于将所述第五MAC表项设置为有效状态。
一种具体的实施方式中,所述转发面的MAC表项的存储空间的占用率未超过第二预设数值;
所述接收模块740,还用于接收所述控制面发送的第六MAC表项和第二标识,其中,所述第六MAC表项仅属于所述第三MAC表,或仅属于所述学习到的MAC表项,所述第二标识用于指示所述转发面将所述第六表项设置为无效状态;
所述存储模块710,还用于在所述第一MAC表中保存所述第六MAC表项;
所述处理模块720,还用于将所述第六MAC表项设置为无效状态。
一种具体的实施方式中,所述接收模块740,还用于:
接收所述控制面发送的第二标识和所述第三MAC表中的MAC表项;
所述存储模块710,还用于在所述第一MAC表中保存所述第三MAC表中的MAC表项,并根据所述第二标识;
所述处理模块720,还用于将所述第三MAC表中的MAC表项设置为无效状态。
图8是本申请实施例提供的管理MAC的网络设备的结构图。该网络设备可以通过软件、硬件或者两者的结合实现成为网络设备中的部分或者全部。本申请实施例提供的网络设备可以实现本申请实施例图3、图4和图6所述的流程,该网络设备的控制面包括:处理模块810、发送模块820和接收模块840,其中:
所述处理模块810,用于获取第一MAC表项,具体可以实现上述步骤303中的存储功能,以及其它隐含步骤;
所述发送模块820,用于向所述网络设备的转发面发送所述第一MAC表项和第一标识,,具体可以实现上述步骤302中的存储功能,以及其它隐含步骤;所述第一标识用于指示所述转发面在第一MAC表中,将所述第一MAC表项设置为有效状态,所述第一MAC表项中包括第一MAC地址。
一种具体的实施方式中,所述接收模块830,还用于:
接收所述转发面发送的第一消息,其中,所述第一消息中携带有所述第一MAC地址,用于指示所述控制面将自身保存的第二MAC表中保存的第二MAC表项设置为无效状态,所述第二MAC表项中包括所述第一MAC地址;
所述处理模块810,还用于将自身保存的第二MAC表中保存的第二MAC表项设置为无效状态。
一种具体的实施方式中,所述接收模块830,还用于:
接收所述转发面发送的第二消息,所述第二消息中携带有第二MAC地址;
所述发送模块820,还用于向所述转发面发送第三MAC表项,所述第三MAC表项中包括所述第二MAC地址。
一种具体的实施方式中,在所述转发面的MAC表项的存储空间的占用率超过第一预设数值时,所述第二消息中还携带有第三MAC地址,所述第三MAC地址为所述转发面保存的当前失效时长最长的MAC地址;
所述发送模块820,还用于:
如果所述控制面存在所述第二MAC地址,且所述第二MAC地址存在于保存的MAC表中,则向所述转发面发送第三MAC表项;
如果所述控制面存在所述第二MAC地址,且所述第二MAC地址未存在于所述保存的MAC表中,且部署了边界网络协议BGP MAC表项限制,则在所述保存的MAC表中删除第四MAC表项之后,在所述保存的MAC表中添加所述第三MAC表项,并向所述转发面发送所述第三MAC表项;
其中,所述第四MAC表项中包括所述第三MAC地址。
一种具体的实施方式中,所述发送模块820,还用于:
当所述网络设备与BGP邻居之间的BGP会话断开重建时,向控制管理设备发送MAC表的获取请求;
所述接收模块830,还用于接收所述控制管理设备发送的第三MAC表;
所述处理模块810,还用于根据学习到的MAC表项和所述第三MAC表,确定第五MAC表项,所述学习到的MAC表项是所述控制面基于BGP邻居学习到的;
所述发送模块820,还用于:向所述转发面发送所述第五MAC表项。
一种具体的实施方式中,所述处理模块810,还用于:确定属于所述第三MAC表且属于从所述学习到的MAC表项,为第五MAC表项;
所述发送模块820,还用于:向所述转发面发送所述第五MAC表项和所述第一标识,所述第一标识用于指示所述转发面将所述第五MAC表项设置为有效状态。
一种具体的实施方式中,所述转发面的MAC表项的存储空间的占用率未超过第二预设数值;
所述处理模块810,还用于确定仅属于所述第三MAC表,或仅属于所述学习到的MAC表项,为第六MAC表项;
所述发送模块820,还用于向所述转发面发送所述第六MAC表项和第二标识,所述第二标识用于指示所述转发面将所述第六MAC表项设置为无效状态。
一种具体的实施方式中,所述发送模块820,还用于:
当所述网络设备与BGP邻居之间的BGP会话断开重建时,向控制管理设备发送MAC表的获取请求;
所述接收模块830,还用于接收所述控制管理设备发送的第三MAC表;
所述发送模块820,还用于向所述转发面发送所述第三MAC表中的MAC表项和第二标识,所述第二标识用于指示所述转发面将所述第三MAC表中的MAC表项设置为无效状态。
本申请实施例中,网络设备的控制面可以获取第一MAC表项,向网络设备的转发面发送第一MAC表项和第一标识,网络设备的转发面在第一MAC表中保存控制面发送的第一MAC表项,第一MAC表项的状态被设置为有效状态,转发面在第一MAC表项被保存到转发面之后经过第一预设时长并且满足第一预设条件时被变更设置为无效状态,并为第一MAC表项设置失效时长,第一预设条件是转发面从保存第一MAC表项之后的第一预设时长内,没有接收到与第一MAC地址对应的流量,第一MAC地址是第一MAC表项中保存的MAC地址。这样,在某个MAC表项被保存至转发面之后,一段时长没有被流量命中,会被设置为无效状态,可以使MAC表项的管理更加合理。
需要说明的是:上述实施例提供的管理MAC表的网络设备在管理MAC时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将网络设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的管理MAC表的网络设备与管理MAC的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
可选的,本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有指令,当计算机可读存储介质在网络设备上运行时,使得网络设备执行上述管理MAC表的方法。
可选的,本申请实施例还提供了一种包含指令的计算机程序产品,当其在网络设备上运行时,使得网络设备执行上述管理MAC表的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现,当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令,在服务器或终端上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴光缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是服务器或终端能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(如软盘、硬盘和磁带等),也可以是光介质(如数字视盘(Digital Video Disk,DVD)等),或者半导体介质(如固态硬盘等)。
以上所述仅为本申请的一个实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (20)

1.一种管理媒体接入控制MAC表的方法,其特征在于,所述方法包括:
网络设备的转发面在第一MAC表中保存控制面发送的第一MAC表项,所述第一MAC表项的状态被设置为有效状态,所述第一MAC表项是以太虚拟私有网络EVPN中基于边界网关协议BGP路由学习到的MAC表项;
所述转发面将所述第一MAC表项由所述有效状态变更设置为无效状态,并为所述第一MAC表项设置失效时长;
其中,所述第一MAC表项在所述第一MAC表项被保存到所述转发面之后经过第一预设时长并且满足第一预设条件时被变更设置为所述无效状态,所述第一预设条件是所述转发面从保存所述第一MAC表项之后的所述第一预设时长内,没有接收到与第一MAC地址对应的流量,所述第一MAC地址是所述第一MAC表项中包括的MAC地址。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述转发面向所述控制面发送第一消息,所述第一消息用于指示所述控制面将自身保存的第二MAC表中保存的第二MAC表项设置为无效状态,所述第二MAC表项中包括所述第一MAC地址。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
所述转发面从所述第一MAC表中删除所述第一MAC表项,其中,所述第一MAC表项在所述第一MAC表项被设置为所述无效状态之后经过所述失效时长并且满足第二预设条件时被删除,所述第二预设条件是所述转发面将所述第一MAC表项设置为所述无效状态之后,在所述失效时长内没有接收到与第一MAC地址对应的流量。
4.根据权利要求1或2所述的方法,所述方法还包括:
所述转发面将所述第一MAC表项的状态由所述无效状态变更设置为有效状态,所述第一MAC表项在所述转发面在所述失效时长内接收到与所述第一MAC地址对应的流量后被变更为有效状态。
5.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
所述转发面向所述控制面发送第二消息,其中,所述第二消息中携带有第二MAC地址,用于请求第三MAC表项,所述第三MAC表项中包括所述第二MAC地址;
所述转发面接收所述控制面发送的所述第三MAC表项;
所述转发面在所述第一MAC表中保存第三MAC表项,并将所述第三MAC表项设置为有效状态;
所述转发面基于所述第三MAC表项转发所述第二MAC地址对应的流量。
6.根据权利要求5所述的方法,其特征在于,在所述转发面的MAC表项的存储空间的占用率超过第一预设数值时,所述第二消息中还携带有第三MAC地址,所述第三MAC地址为所述转发面保存的当前失效时长最长的MAC地址;
所述方法还包括:
所述转发面在所述第一MAC表中删除第四MAC表项,所述第四MAC表项中保存有所述第三MAC地址。
7.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
所述转发面每隔预设时长向控制管理设备发送第三MAC表;
其中,所述第三MAC表包括的所有MAC表项均设置为有效状态,所述第三MAC表是所述第一MAC表的子集。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
所述转发面接收所述控制面发送的第五MAC表项,其中,所述第五MAC表项是所述控制面根据学习到的MAC表项和所述第三MAC表确定的,所述学习到的MAC表项是所述控制面基于边界网络协议BGP邻居学习到的;
所述转发面在所述第一MAC表中保存所述第五MAC表项。
9.根据权利要求8所述的方法,其特征在于,所述转发面接收所述控制面发送的第五MAC表项,包括:
所述转发面接收所述控制面发送的第五MAC表项和第一标识,其中,所述第五MAC表项属于所述第三MAC表且属于所述学习到的MAC表项,所述第一标识用于指示所述转发面将所述第五MAC表项设置为有效状态;
所述方法还包括:
所述转发面将所述第五MAC表项设置为有效状态。
10.根据权利要求9所述的方法,其特征在于,所述转发面的MAC表项的存储空间的占用率未超过第二预设数值;
所述方法还包括:
所述转发面接收所述控制面发送的第六MAC表项和第二标识,其中,所述第六MAC表项仅属于所述第三MAC表,或仅属于所述学习到的MAC表项,所述第二标识用于指示所述转发面将所述第六MAC表项设置为无效状态;
所述转发面在所述第一MAC表中保存所述第六MAC表项,并将所述第六MAC表项设置为无效状态。
11.根据权利要求7所述的方法,其特征在于,所述方法还包括:
所述转发面接收所述控制面发送的第二标识和所述第三MAC表中的MAC表项;
所述转发面在所述第一MAC表中保存所述第三MAC表中的MAC表项,并根据所述第二标识,将所述第三MAC表中的MAC表项设置为无效状态。
12.一种管理媒体接入控制MAC表的方法,其特征在于,所述方法包括:
网络设备的控制面获取第一MAC表项,所述第一MAC表项是以太虚拟私有网络EVPN中基于边界网关协议BGP路由学习到的MAC表项;
所述控制面向所述网络设备的转发面发送所述第一MAC表项和第一标识,所述第一标识用于指示所述转发面在第一MAC表中,将所述第一MAC表项设置为有效状态,所述第一MAC表项中包括第一MAC地址;
所述控制面接收所述转发面发送的第一消息,其中,所述第一消息中携带有所述第一MAC地址,用于指示所述控制面将自身保存的第二MAC表中保存的第二MAC表项设置为无效状态,所述第二MAC表项中包括所述第一MAC地址;
所述控制面将自身保存的第二MAC表中保存的第二MAC表项设置为无效状态。
13.根据权利要求12所述的方法,其特征在于,所述方法还包括:
所述控制面接收所述转发面发送的第二消息,所述第二消息中携带有第二MAC地址;
所述控制面向所述转发面发送第三MAC表项,所述第三MAC表项中包括所述第二MAC地址。
14.根据权利要求13所述的方法,其特征在于,在所述转发面的MAC表项的存储空间的占用率超过第一预设数值时,所述第二消息中还携带有第三MAC地址,所述第三MAC地址为所述转发面保存的当前失效时长最长的MAC地址;
所述控制面向所述转发面发送第三MAC表项,包括:
如果所述控制面存在所述第二MAC地址,且所述第二MAC地址存在于保存的MAC表中,则向所述转发面发送第三MAC表项;
如果所述控制面存在所述第二MAC地址,且所述第二MAC地址未存在于所述保存的MAC表中,且部署了边界网络协议BGP MAC表项限制,则在所述保存的MAC表中删除第四MAC表项之后,在所述保存的MAC表中添加所述第三MAC表项,并向所述转发面发送所述第三MAC表项;
其中,所述第四MAC表项中包括所述第三MAC地址。
15.根据权利要求12至14任一所述的方法,其特征在于,所述方法还包括:
当所述网络设备与BGP 邻居之间的BGP会话断开重建时,所述控制面向控制管理设备发送MAC表的获取请求;
所述控制面接收所述控制管理设备发送的第三MAC表;
所述控制面根据学习到的MAC表项和所述第三MAC表,确定第五MAC表项,所述学习到的MAC表项是所述控制面基于BGP邻居学习到的;
所述控制面向所述转发面发送所述第五MAC表项。
16.根据权利要求15所述的方法,其特征在于,所述控制面根据学习到的MAC表项和所述第三MAC表,确定第五MAC表项,包括:
所述控制面确定属于所述第三MAC表且属于从所述学习到的MAC表项,为第五MAC表项;
所述控制面向所述转发面发送所述第五MAC表项,包括:
所述控制面向所述转发面发送所述第五MAC表项和所述第一标识,所述第一标识用于指示所述转发面将所述第五MAC表项设置为有效状态。
17.根据权利要求16所述的方法,其特征在于,所述转发面的MAC表项的存储空间的占用率未超过第二预设数值;
所述方法还包括:
所述控制面确定仅属于所述第三MAC表,或仅属于所述学习到的MAC表项,为第六MAC表项;
所述控制面向所述转发面发送所述第六MAC表项和第二标识,所述第二标识用于指示所述转发面将所述第六MAC表项设置为无效状态。
18.根据权利要求12至14任一所述的方法,其特征在于,所述方法还包括:
当所述网络设备与BGP 邻居之间的BGP会话断开重建时,所述控制面向控制管理设备发送MAC表的获取请求;
所述控制面接收所述控制管理设备发送的第三MAC表;
所述控制面向所述转发面发送所述第三MAC表中的MAC表项和第二标识,所述第二标识用于指示所述转发面将所述第三MAC表中的MAC表项设置为无效状态。
19.一种管理媒体接入控制MAC表的网络设备,其特征在于,所述网络设备包括:
存储器,该存储器包括计算机可读指令;
与该存储器相连的处理器,所述处理器用于执行所述计算机可读指令,从而使得所述网络设备执行权利要求1至18任一所述的管理媒体接入控制 MAC表的方法。
20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有指令,当所述计算机可读存储介质在网络设备上运行时,使得所述网络设备执行所述权利要求1-18中任一权利要求所述的管理媒体接入控制MAC表的方法。
CN201910323657.4A 2019-04-22 2019-04-22 管理mac表的方法、网络设备、存储介质和程序产品 Active CN111835643B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201910323657.4A CN111835643B (zh) 2019-04-22 2019-04-22 管理mac表的方法、网络设备、存储介质和程序产品
PCT/CN2019/119930 WO2020215713A1 (zh) 2019-04-22 2019-11-21 管理mac表的方法、网络设备、存储介质和程序产品
EP19926305.4A EP3944567A4 (en) 2019-04-22 2019-11-21 METHOD OF ADMINISTRATION OF MAC TABLES, NETWORK DEVICE, STORAGE MEDIUM AND PROGRAM PRODUCT
US17/451,514 US11943141B2 (en) 2019-04-22 2021-10-20 Method and network device for managing MAC table, storage medium, and program product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910323657.4A CN111835643B (zh) 2019-04-22 2019-04-22 管理mac表的方法、网络设备、存储介质和程序产品

Publications (2)

Publication Number Publication Date
CN111835643A CN111835643A (zh) 2020-10-27
CN111835643B true CN111835643B (zh) 2021-10-19

Family

ID=72912379

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910323657.4A Active CN111835643B (zh) 2019-04-22 2019-04-22 管理mac表的方法、网络设备、存储介质和程序产品

Country Status (4)

Country Link
US (1) US11943141B2 (zh)
EP (1) EP3944567A4 (zh)
CN (1) CN111835643B (zh)
WO (1) WO2020215713A1 (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106470158A (zh) * 2016-09-13 2017-03-01 杭州迪普科技股份有限公司 报文转发方法及装置
CN107483329A (zh) * 2017-08-28 2017-12-15 迈普通信技术股份有限公司 邻居表项管理方法及装置
CN107547496A (zh) * 2017-05-08 2018-01-05 新华三技术有限公司 一种邻居表项的处理方法及装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102984062B (zh) * 2012-11-29 2016-06-15 中兴通讯股份有限公司 一种子网路由的处理方法及报文转发设备
CN105594185B (zh) * 2013-06-18 2019-05-28 瑞典爱立信有限公司 重复mac地址检测
CN105099961B (zh) * 2014-05-12 2020-01-17 中兴通讯股份有限公司 一种快速同步介质访问控制地址表的方法和装置
US9973469B2 (en) * 2015-09-30 2018-05-15 Juniper Networks, Inc. MAC (L2) level authentication, security and policy control
US10536370B2 (en) * 2017-08-08 2020-01-14 Dell Products Lp Method and system to avoid temporary traffic loss with BGP ethernet VPN multi-homing with data-plane MAC address learning
CN108833280B (zh) * 2018-03-19 2020-02-04 新华三信息安全技术有限公司 一种用户管理表项下发方法、装置及控制面设备
CN108512949B (zh) * 2018-03-23 2021-05-07 烽火通信科技股份有限公司 一种mac地址同步方法及系统
CN108418759B (zh) * 2018-05-31 2020-09-08 新华三技术有限公司 一种mac地址表项处理方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106470158A (zh) * 2016-09-13 2017-03-01 杭州迪普科技股份有限公司 报文转发方法及装置
CN107547496A (zh) * 2017-05-08 2018-01-05 新华三技术有限公司 一种邻居表项的处理方法及装置
CN107483329A (zh) * 2017-08-28 2017-12-15 迈普通信技术股份有限公司 邻居表项管理方法及装置

Also Published As

Publication number Publication date
US20220038373A1 (en) 2022-02-03
EP3944567A1 (en) 2022-01-26
WO2020215713A1 (zh) 2020-10-29
CN111835643A (zh) 2020-10-27
EP3944567A4 (en) 2022-05-11
US11943141B2 (en) 2024-03-26

Similar Documents

Publication Publication Date Title
US10191758B2 (en) Directing data traffic between intra-server virtual machines
US10263808B2 (en) Deployment of virtual extensible local area network
CN106412142B (zh) 一种资源设备地址获取方法及装置
US9001644B2 (en) Ethernet virtual private network system for providing fast protection for access rings
US20130308646A1 (en) Enabling media access control address mobility in an ethernet virtual private network
CN109561033B (zh) Overlay网络中组播复制的方法及装置
CN110798403B (zh) 通信方法、通信设备和通信系统
CN109218200B (zh) 一种报文处理方法及装置
US10855576B2 (en) Information transmission method and device
CA3104756C (en) Loop avoidance communications method, device, and system
US20150229523A1 (en) Virtual extensible local area network (vxlan) system of automatically configuring multicasting tunnel for segment of virtual extensible local area network according to life cycle of end system and operating method thereof
US20190215191A1 (en) Deployment Of Virtual Extensible Local Area Network
WO2017080440A1 (zh) 一种路由表更新方法、evpn控制设备及evpn系统
CN110430116A (zh) 数据转发方法及装置、边缘设备及可读存储介质
CN113098770A (zh) 报文发送方法、路由表项的生成方法、装置及存储介质
CN106911549B (zh) 一种数据报文处理方法及装置
US10298672B2 (en) Global contact-point registry for peer network devices
CN111835643B (zh) 管理mac表的方法、网络设备、存储介质和程序产品
CN109831378B (zh) 一种报文超时回应方法及装置
CN112994928B (zh) 一种虚拟机的管理方法、装置及系统
US11323279B1 (en) Internet group management protocol host mobility in ethernet virtual private network multicast networks
CN103546379A (zh) 一种vpls中mac地址表项更新的装置和方法
CN103414646B (zh) 一种组播服务协商方法及装置
CN115118544B (zh) 通信方法及设备、通信系统
US20220360521A1 (en) Tunnel Segmentation Method and Apparatus, and Data Transmission System

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant