CN104113609A - 一种mac地址发布的方法和设备 - Google Patents
一种mac地址发布的方法和设备 Download PDFInfo
- Publication number
- CN104113609A CN104113609A CN201310138188.1A CN201310138188A CN104113609A CN 104113609 A CN104113609 A CN 104113609A CN 201310138188 A CN201310138188 A CN 201310138188A CN 104113609 A CN104113609 A CN 104113609A
- Authority
- CN
- China
- Prior art keywords
- burst
- mac address
- far
- local
- reserved
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
- H04L45/7453—Address table lookup; Address filtering using hashing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/618—Details of network addresses
- H04L2101/622—Layer-2 addresses, e.g. medium access control [MAC] addresses
Abstract
本发明公开了一种MAC地址发布方法和设备,应用于EVI网络中,所述方法包括:ED根据当前学习到的MAC地址,从本地分片集中确定该MAC地址对应的第一分片,其中,针对同一MAC地址,所述ED每次确定的该MAC地址对应的分片均相同;所述ED将该MAC地址存储在第一分片中;所述ED将所述第一分片发布给远端ED。相对于现有技术中按照分片号的顺序进行MAC地址保存的方法,能够使ED设备每次都能将同一MAC地址保存在同一分片中。这样,ED设备将分片发送到远端ED后,对于远端ED,同一MAC地址在接收到的分片集中所处分片的分片与该MAC地址在已保存的分片集中所处分片的分片相同,从而避免了远端ED对同一MAC地址先删除后添加的操作,避免了流量的丢失。
Description
技术领域
本发明涉及通信技术领域,特别是涉及一种MAC地址发布方法和设备。
背景技术
EVI(Ethernet Virtual Interconnection,以太网连接虚拟化)是一种先进的“MAC(Media Access Control,媒体介入控制层)in IP”技术,用于实现基于IP核心网的L2VPN(Layer2Virtual Private Network,二层虚拟专用网络)技术。EVI只是在站点的ED(Edge Device,边缘设备)上维护路由和转发信息,而无需改变站点内部和核心网络。EVI整体网络由核心网络、站点网络、交叠网络组成。站点网络是通过一台或者多台ED连接到核心网络的具有独立业务功能的二层网络,通常由单个组织管理控制,主要由主机和交换设备组成,ED提供站点之间的二层交换功能;交叠网络是站点ED之间建立的虚拟网络,提供站点网络之间的二层互联。ED之间相互通告连接到自身的所有主机和路由器的MAC地址,将多个站点网络互联形成更大的二层转发域;核心网络是主要由IP路由设备承载的提供站点网络之间互联的网络。
现有的EVI网络中,站点之间的MAC信息是通过ISIS(Inter System toInter System,内部网络到内部网络)进程发布的,发布过程如下:
步骤一:站点网络1的ED在用户VLAN(虚拟局域网)的内部接口学习到新的MAC地址后,ISIS进程将该MAC地址存储在MAC地址分片集中(如系统维护的分片集可以包括256个分片,每个分片可以包含256个地址),将这些分片信息封装成LSP(Link State Packet,链路状态包),发送LSP更新消息。
步骤二:LSP更新消息通过头端复制或者核心复制到达交叠网络的其他ED。
步骤三:其他ED解封装报文并交由控制平面ISIS进程处理。
步骤四:ISIS进程解析LSP中的分片信息,若本地之前没有存储来自于站点网络1的分片信息,则学习该分片集中的所有MAC地址,若之前本地已经存储了站点网络1的分片集,则依次比较解析出的分片和本地存储的对应分片中的MAC地址,若存在新增加的MAC地址则学习该新增加的MAC地址;若本地存储的分片中的MAC地址在解析出的分片中不存在,则删除该不存在的MAC地址。
ED向外发布的MAC信息由主控板上的ISIS进程来控制,ISIS进程根据MAC地址学习的顺序将这些MAC地址按照分片号的顺序依次存储到分片中(比如,当分片1中的存储的MAC地址的数量达到最大值时,将MAC地址存储到分片2中,同理,分片2中存储的数量达到最大值时,开始在分片3中存储),并启动发送任务将这些分片信息封装成EVI MAC LSP向各个其他站点网络发送。
在实现本发明的过程中,发明人发现现有技术中进行MAC地址发布的方法至少存在以下问题:
在发生批量删除事件(如删除某个端口的所有MAC地址、删除某个VLAN的所有MAC地址、删除系统内所有MAC地址)时,系统会将先前学习到的MAC地址删除,同时在用户流量持续存在的情况下再次进行源MAC地址学习,此时用户MAC信息被重新学习到。由于该事件时间很短,ISIS MAC信息不会马上通知其他站点进行MAC删除,而是待更新时间超时才会通知其他ED进行MAC更新。由于新学习MAC地址的顺序发生改变,按照目前进行存储的方式,可能导致每个MAC所处的分片与本次学习前所处的分片不同,当这些新的分片被发送到远端站点网络的ED时,按照目前远端站点网络的ED根据分片进行MAC地址更新的方式,必然会触发先删除后添加的操作而导致流量丢失。比如,假设各个分片仅能存储一个MAC地址,MAC1初始在分片1中,MAC2初始在分片2中,现在新消息中MAC2在分片1,MAC1在分片2中,因此对分片1的消息在处理时,会删除分片1中的MAC1(由于之前MAC1对应的分片就是分片1,所以删除分片1中的地址MAC1后整个硬件地址空间中都不存在MAC1,会在硬件中造成对应于MAC地址1的流量丢失),之后将MAC2加入到分片1中,此时MAC2地址对应的分片号为1;对分片2的消息在处理时,发现本地分片2的MAC为MAC2,而新消息中分片2的MAC为MAC1,此时在分片2中删除MAC2(由于在对分片1的消息在处理时,已经将MAC2地址添加到分片1中,因此硬件中始终存在MAC2,并不会造成MAC2对应的流量的丢失),将MAC1添加到本地的分片2中,并将MAC1地址对应分片号设置成分片2,由此完成一个LSP更新。可见,MAC在不同分片中传输时会导致流量丢失。
另外,对于存在主备环境的系统,如果主用板和备用板通过分布式MAC地址学习的方式进行MAC学习,则可能导致备用板和主用板学习MAC地址的顺序不相同,进而导致主用板和备用板上的分片信息不一致。在发生主备切换后,备用板升级为主用板,会将自身的MAC分片信息发送到远端各个ED设备,按照上述远端站点网络的ED根据分片进行MAC地址更新的方式,远端ED发现分片中的MAC地址与本地存储的分片中的MAC地址不一致时也会执行先删除后添加的操作导致流量丢失。
发明内容
本发明提供了一种MAC地址发布的方法和设备,能够使ED在多次MAC地址学习中将同一MAC地址保存在同一分片中。当这些分片被发送到远端ED后,能够避免远端ED设备对同一MAC地址的先删除后添加的操作,避免由此引起的流量丢失。
为了达到上述目的,本发明实施例提供一种MAC地址发布方法,应用于以太网连接虚拟化EVI网络中的边缘设备ED,所述ED设置有一用于保存本地学习到的MAC地址的本地分片集,所述本地分片集包括多个分片,所述方法包括:
ED根据当前学习到的MAC地址,从所述本地分片集中确定所述MAC地址对应的第一分片,其中,针对同一MAC地址,所述ED每次确定的该MAC地址对应的分片均相同;
所述ED将所述MAC地址存储在所述第一分片中;
所述ED将所述第一分片发布给远端ED,以使远端ED根据接收到的所述ED发布的第一分片,更新相同分片中的MAC地址的信息。
优选的,所述确定唯一一个对应于所述MAC地址对应的第一分片,包括:
对所述MAC地址进行HASH运算,得到HASH计算结果,其中,所述HASH计算结果的范围,与所述分片集的地址空间范围相同;
根据预先设定的本地分片集中的各个分片在所述地址空间范围内的映射关系,确定所述HASH计算结果所在的分片,作为所述MAC地址对应的第一分片。
优选的,在确定所述MAC地址对应的第一分片之后,所述方法还包括:所述ED进一步判断所述第一分片中的MAC地址是否已存满;
若否,则执行所述将所述MAC地址存储在所述第一分片中以及将所述第一分片发布给远端ED的步骤;
若是,则将所述MAC地址以及所述MAC地址对应的第一分片信息存储在第一预留分片中,所述第一预留分片用于保存由于本地分片集中对应分片已存满而溢出的MAC地址以及该MAC地址对应的分片信息;并将所述第一预留分片,连同所述第一分片一起发布给远端ED,以使远端ED根据接收到的第一分片中的MAC地址、以及所述第一预留分片中对应分片信息为第一分片的MAC地址,更新本地相同分片中的MAC地址的信息。
优选的,所述方法还包括:
所述ED设备接收远端ED发送的第二分片;
所述ED设备根据接收到的所述第二分片中的MAC地址,更新本地保存的所述远端ED的第二分片中的MAC地址。
优选的,所述方法还包括:
所述ED设备进一步接收所述远端ED连同所述第二分片一起发送的第二预留分片,所述第二预留分片用于保存由于所述远端ED的本地分片集中对应分片已存满而溢出的MAC地址以及该MAC地址对应的分片信息;
所述ED设备根据接收到的第二分片中的MAC地址、以及所述第二预留分片中对应分片信息为第二分片的MAC地址,更新本地相同分片中的MAC地址的信息。
本发明还提供了一种MAC地址发布设备,作为边缘设备ED应用于以太网连接虚拟化EVI网络中,所述ED设置有一用于保存本地学习到的MAC地址的本地分片集,所述本地分片集包括多个分片,所述设备包括:
确定模块,用于根据当前学习到的MAC地址,从所述本地分片集中确定所述MAC地址对应的第一分片,其中,针对同一MAC地址,所述ED每次确定的该MAC地址对应的分片均相同;
存储模块,用于将所述MAC地址存储在所述第一分片中;
发布模块,用于将所述第一分片发布给远端ED,以使远端ED根据接收到的所述ED发布的第一分片,更新相同分片中的MAC地址的信息。
优选的,所述确定模块具体用于,对所述MAC地址进行HASH运算,得到HASH计算结果,其中,所述HASH计算结果的范围,与所述分片集的地址空间范围相同,并根据预先设定的本地分片集中的各个分片在所述地址空间范围内的映射关系,确定所述HASH计算结果所在的分片,作为所述MAC地址对应的第一分片。
优选的,所述设备还包括:
判断模块,用于在确定模块确定所述MAC地址对应的第一分片之后,进一步判断所述第一分片中的MAC地址是否已存满;
所述存储模块具体用于,在所述判断模块的判断结果为否时,将所述MAC地址存储在所述第一分片中;在所述判断模块的判断结果为是时,将所述MAC地址以及所述MAC地址对应的第一分片信息存储在第一预留分片中,所述第一预留分片用于保存由于本地分片集中对应分片已存满而溢出的MAC地址以及该MAC地址对应的分片信息;
所述发布模块,具体用于当所述判断模块的判断结果为否时,且所述存储模块将所述MAC地址存储在所述第一分片中后,将所述第一分片发布给远端ED,以使远端ED根据接收到的所述ED发布的第一分片,更新相同分片中的MAC地址的信息;当所述判断模块的判断结果为是时,且所述存储模块将所述MAC地址以及所述MAC地址对应的第一分片信息存储在第一预留分片后,将所述第一预留分片,连同所述第一分片一起发布给远端ED,以使远端ED根据接收到的第一分片中的MAC地址、以及所述第一预留分片中对应分片信息为第一分片的MAC地址,更新本地相同分片中的MAC地址的信息。
优选的,所述设备还包括:
更新模块,用于在所述ED设备接收远端ED发送的第二分片后,根据接收到的所述第二分片中的MAC地址,更新本地保存的所述远端ED的第二分片中的MAC地址。
优选的,所述更新模块还用于,当所述ED设备接收所述远端ED连同所述第二分片一起发送的第二预留分片后,根据接收到的第二分片中的MAC地址、以及所述第二预留分片中对应分片信息为第二分片的MAC地址,更新本地相同分片中的MAC地址的信息;其中,所述第二预留分片用于保存由于所述远端ED的本地分片集中对应分片已存满而溢出的MAC地址以及该MAC地址对应的分片信息。
与现有技术相比,本发明实施例至少具有以下优点:本发明实施例中,通过使ED设备每次都将同一MAC地址存储在同一分片中并发送给远端。则对于远端ED,每次接收到的同一MAC地址都在的分片集中的同一分片中,能够避免了远端ED对同一MAC地址先删除后添加的操作,保证了流量的连续性。
附图说明
图1是本发明实施例一提供的一种MAC地址发布方法的方法流程图;
图2是本发明实施例二提供的一种MAC地址发布方法的方法流程图;
图3是本发明实施例三提供的一种MAC地址发布方法的方法流程图;
图4是本发明实施例四提供的一种MAC地址发布方法的方法流程图;
图5是本发明实施例五提供的一种MAC地址发布设备的结构示意图。
具体实施方式
现有技术中,EVI网络中MAC地址更新的主要问题在于:
在发生批量删除事件后,或者在主备用板MAC地址分片信息不同的情况下备用板升级为主用板时,ED会将先前学习到的MAC地址删除,然后根据当前的流量重新学习MAC地址,并将新学习到的MAC地址依次存储在各个分片中。由于新学习MAC地址的顺序发生改变,按照分片号的顺序进行存储的方式,可能会将MAC地址存储在与该MAC地址之前所处的分片(删除前所处的分片)不同的分片中。当这些分片被发送到远端ED时,按照目前远端ED按照分片更新MAC地址的方式,可能会导致远端ED先删除该MAC地址,并在后续更新的分片中添加删除的MAC地址,从而造成流量的丢失。
针对现有技术中存在的问题,本发明实施例提供了一种MAC地址发布的方法,通过使ED设备每次学习到同一MAC地址时,都将同一MAC地址存储在相同的分片中,避免相应的分片被发送到远端ED后造成远端ED对同一MAC地址先删除后添加的操作,从而避免流量的丢失。
下面结合附图对本发明实施例进行详细描述。
本发明实施例一提供了一种MAC地址发布方法,应用于以太网连接虚拟化EVI网络中的边缘设备ED,该ED设置有一用于保存本地学习到的MAC地址的本地分片集,该本地分片集包括多个分片,如图1所示,为本发明实施例一提供的MAC地址发布方法的流程示意图,包括以下步骤:
步骤101,ED根据当前学习到的MAC地址,从本地分片集中确定该MAC地址对应的第一分片,其中,针对同一MAC地址,ED每次确定的该MAC地址对应的分片均相同。
优选的,ED具体通过以下方式确定该MAC地址对应的第一分片:
对该MAC地址进行HASH运算,得到HASH计算结果,其中,该HASH计算结果的范围,与该分片集的地址空间范围相同;
根据预先设定的本地分片集中的各个分片在该地址空间范围内的映射关系,确定该HASH计算结果所在的分片,作为该MAC地址对应的第一分片。
本领域技术人员可以根据需要选择多种哈希算法,所选用的哈希算法可以和系统的硬件HASH算法相同,也可以不相同。
当然,本领域技术人员也可以采用其他方式根据确定MAC地址对应的第一分片,在能够保证每次为同一MAC地址确定的分片都是分片集中的同一分片的前提下(比如第一次确定的一个MAC地址对应于该分片集中的分片1,则在以后的学习或更新过程中,为该MAC地址确定的分片都应该为分片1),具体采用哪种技术方案,并不会影响本发明的保护范围。
步骤102,ED将所述MAC地址存储在第一分片中。
本步骤中,将MAC地址存储在分片中的过程与现有技术中一致,在此不再赘述。
步骤103,ED将各个分片封装成LSP信息,并将LSP信息发送给远端ED。
该过程与现有技术中ED封装LSP信息并发送给远端ED的过程相同,在此不再赘述。
步骤104,远端ED接收到该LSP信息后,解封装该LSP消息得到各个分片,并根据分片中存储的MAC地址对所存储的相同分片中的MAC地址进行更新。
需要指出的是,远端ED所存储的相同分片是指远端ED存储的对应于本端ED的分片集中的相同分片。如,假设远端ED为ED3,ED3可能会接收到ED1发送的分片(假设该分片的序号为1),ED3还可能接收到ED2发送的分片(假设该分片的序号也为1)。ED3在根据接收到的ED1发送的分片1进行更新操作时,首先需要在本地保存的各个分片集中查找ED1对应的分片集,并在根据接收到的分片信息更新查找到的分片集时,根据分片1中的MAC地址更新查找到的分片集中的分片1中存储的MAC地址;类似的,ED3在根据接收到的ED2发送的分片1进行更新操作时,是针对本地已保存的该ED2的分片1进行更新操作。其中,远端ED根据接收到的分片信息确定对应的分片集,并根据分片集中的某个分片确定在该分片集中对应的分片的过程与现有技术一致,在此不再赘述。
本发明实施例一中,使ED设备每次都将同一MAC地址存储在同一分片中并发送给远端。则对于远端ED,每次接收到的同一MAC地址都在的分片集中的同一分片中,能够避免了远端ED对同一MAC地址先删除后添加的操作,保证了流量的连续性。
基于本发明实施例一,本发明还提供了另外一种MAC地址发布的方法实施例二,本发明实施例中,还设置了预留分片,在将MAC地址存储在确定的第一分片中之前,ED设备还会判断该第一分片中存储的MAC地址数量是否达到该分片所允许的最大容量,若否,则按照步骤102-104的流程进行处理,若是,则将该MAC地址存储在预留分片中,如图2所示,当ED设备判断获取到的第一分片中存储的MAC地址数量达到该第一分片允许存储的最大值时,本发明实施例二提供的MAC地址发布的方法可包括如下步骤:
步骤201,ED将该MAC地址以及该MAC地址对应的第一分片信息存储在预留分片中。
实际应用中,ED可以根据需要从分片集中选择任意一个或者几个分片作为预留分片。
步骤202,ED将包括预留分片在内的各个分片封装成LSP信息,并将LSP信息发送给远端ED。
步骤203,远端ED接收到该LSP信息后,解封装该LSP消息得到各个分片,根据解析得到的分片和预留分片中存储的MAC地址更新自身存储的相同分片中的MAC地址。
本步骤中的相同分片不仅包括存储该MAC地址的第一分片对应的分片,还应包括预留分片所对应的分片。
具体的,远端ED得到各个分片后对本地存储的任一分片进行更新时,都需要查找该任一分片在接收到的各个分片中对应的分片,并且根据该对应的分片信息在接收到的预留分片中查找对应于该分片的MAC地址,之后,远端ED根据对应的分片中的MAC地址以及接收到的预留分片中对应于该分片的MAC地址,对该任一分片中和所存储的预留分片中对应于该任一分片的MAC地址进行更新。对除预留分片以外的各个分片的更新都完成后,预留分片中的MAC地址也同时完成了更新,无需对预留分片再进行单独的更新。
实际应用中,可能由于MAC地址的值分布不均匀或者根据MAC地址值获取分片号时选择的算法或方式不够合理,导致对应于同一分片号的MAC地址的数量超过对应分片能够存储的MAC地址的数量。本发明实施例二中,ED在判断对应于同一分片的MAC地址超出该分片的存储容量时,将超出部分的MAC地址存储在预留分片中并发送给远端ED,并使远端ED根据该分片中的MAC地址和预留分片中对应于该分片的MAC地址对远端所存储的对应分片中以及预留分片中对应于该分片的MAC地址进行更新。通过本发明实施例二提供的技术方案,当对应于同一分片的MAC地址的数量超过对应分片能够存储的MAC地址的数量时,仍能避免远端ED对同一MAC地址先删除后添加的操作,避免流量的丢失。
下面结合具体应用场景,对本发明实施例提供的MAC地址发布的方法做进一步的说明。
为了方便说明,假设各个站点的ED设备支持64K的MAC地址空间。按照硬件地址空间映射到分片集,将64K的硬件地址空间进行均匀划分,如64K地址空间为0x0000—0xFFFF,则分片1对应的硬件地址值为0x0000—0x00FF,分片2对应的硬件地址值为0x0100—0x01FF,以此类推,分片FF对应的硬件地址值为0xFF00—0xFFFF,每一个硬件地址值都唯一对应一个分片号,比如0xFEFE对应的分片号为分片255,0xFFFE对应的分片号为256,如表1所示为64K空间地址的分片情况,给出了各个分片在地址空间范围内的映射关系的一个示例。。
表1
实际应用中,需要对当前获取到的MAC地址值进行哈希运算,并且对该MAC地址值运算的结果应该在0x0000—0xFFFF之间,这可以通过选择合适的HASH算法,将48位(二进制)的MAC地址值,转换成16位(二进制)的地址空间中的地址值;再根据各个分片在地址空间范围内的映射关系,确定该地址值所处的分片,得到该MAC地址对应的唯一一个分片。可以看出,本实施例针对同一MAC地址,按照上述确定分片的过程所确定的分片,始终是相同的。
作为可选方式,本实施例可以采用其他方式来确定对应于上述MAC地址的唯一分片。例如,将运算得到的硬件地址空间值0xXXXX中的第3-4位数字,作为该MAC地址对应的分片。如果站点1网络对应的分片集就是如表1所示的分片集,一种简单的获取MAC地址对应的分片的方式是:直接获取MAC地址值最后6位16进制数字(第23-47比特位)之间的任意4个(比如后4位)16进制数字作为该硬件地址空间值的后4位(即0xXXXX),则该MAC地址值的倒数第3-4位16进制数字就是该MAC地址对应的分片。比如,05-16-DC-FE-C2-34,对应的分片就应该为C2(分片195)。
但是实际应用中,站点网络中的设备远达不到64K个,因此仅需选择部分分片作为该站点网络的分片集即可。本发明实施例三中,假设站点1的网络中有1500台设备,即站点1的网络中存在1500个MAC地址。ED1在进行MAC地址存储时,选取分片1到分片8共8个分片(每个分片最多能够存储256个MAC地址)作为站点1对应的分片集,此时需要重新选择哈希算法,使MAC地址的值进行哈希运算后能够映射到分片1到分片8的硬件地址空间值的范围内(0x0000-0x07FF之间),为了方便说明,本发明实施例三中假设采用的哈希算法为:获取MAC地址的第43-47比特位(MAC地址的最后1位16进制数字)对应的数值X,若该数值X为0-7之中的任一数值,对该MAC地址值的哈希运算结果的第3位数字和第4位数字分别为0和X,即0x0X**,即认为该MAC地址对应的分片号为X+1,若该数值X为8-F之中的任一数值,则对该MAC地址值的哈希运算结果的第3位数字和第4位数字分别为0和X-8,即0x0X**,即认为该MAC地址对应的分片号为X-8+1,其中第5位数字和第6位数字可以为任意值,比如MAC地址的第31-39比特位数字,由于本发明实施例三种,实际是为了获取该MAC地址值对应的分片,因此,只要能够使运算得到的硬件地址空间值的第3位为0,第4为对应的数字在0-7之间,且多次运算的结果相同即可,下面描述仅详细描述为当前学习到的MAC地址05-16-DC-FE-C2-34确定分片的过程,本发明实施例三提供的MAC地址发布方法的流程示意图,包括以下步骤:
步骤301,ED1根据当前学习到的MAC地址05-16-DC-FE-C2-34获取MAC地址的第43-47比特位对应的数值4。
对于该MAC地址05-16-DC-FE-C2-34,其第43-47比特位(MAC地址的最后1位16进制数字)对应的数值为4。
步骤302,ED1判断数值4在0-7之间,则认为该MAC地址运算的结果为0x04C2,对应的分片号为5。
根据上述算法,当ED1判断MAC地址第43-47比特位对应的数值在0-7之间,认为该MAC地址对应的分片号为X+1,则05-16-DC-FE-C2-34对应的分片号为4+1=5。
步骤303,ED1将该MAC地址存储在分片5中。
步骤304,ED1在被触发发送本站点内的MAC地址信息后,将包括分片5在内的各个分片封装成LSP消息,并发送给ED2。
步骤305,ED2解封装接收到的LSP消息,得到各个分片,并根据解析出的包括分片5在内的各个分片更新自身存储的包括分片5'在内的各个对应分片中的MAC地址。
ED2根据解析出的各个分片更新自身存储的各个对应分片的过程与现有技术一致,在此不再赘述。
需要指出的是,在本申请步骤305之后,如果在ED1设备再次发生批量删除事件,或者发生在主备用板MAC地址分片信息不同的情况下备用板升级为主用板的事件后,ED1设备会再次执行本发明实施例三中的各个步骤。
本发明实施例三中,ED1每次进行MAC地址学习时,都能将所有第43-47比特位的数值为4或者C的MAC地址存储在分片5(根据上述算法,4和C对应的分片号均为5)中。ED2根据解析出的分片5更新本地存储的分片5'时,由于存储的分片5'中的各个MAC地址都存在于解析出的分片5中,因此,ED2不会删除分片5'中的任何MAC地址。同样的,由于ED1在存储时将所有第43-47比特位的数值为4或者C的MAC地址均存储在分片5中,其他分片中不可能存在第43-47比特位的数值为4或者C的MAC地址,ED2在根据解析出的分片6、7、8分别更新本地存储的分片6'、7'、8'时也不会再次学习到第43-47比特位的数值为4或者C的任何MAC地址。这样就能避免ED2在根据ED1发送的各个分片更新自身存储的各个对应分片时对同一MAC地址先删除后添加的操作,进而避免相应的流量的丢失。
优选的,本发明实施例三中,ED1设备也可以选择分片1到分片9共9个分片作为站点1对应的分片集,其中分片9作为预留分片,对任何一个MAC地址值运算的结果都不应该是其映射到的分片9中。在ED1判断当前学习到的MAC地址05-16-DC-FE-C2-34对应的分片5中的MAC地址数量已经达到256个时,则将该MAC地址05-16-DC-FE-C2-34以及该MAC地址对应的分片号5存储在分片9中。如图4所示,在ED1判断当前学习到的MAC地址05-16-DC-FE-C2-34对应的分片5中的MAC地址数量已经达到256个时,本发明实施例四提供的MAC地址发布的方法可包括如图4所示的各个步骤:
步骤401,ED1将MAC地址05-16-DC-FE-C2-34以及该MAC地址对应的分片号5存储在预留分片9中。
步骤402,ED1在被触发发送本站点内的MAC地址信息后,将包括预留分片9在内的各个分片封装成LSP消息,并发送给ED2。
步骤403,ED2根据接收到的分片5的MAC地址以及分片9中对应于分片号5的MAC地址更新自身所存储的分片5'和分片9'中所有对应于分片号5的MAC地址。
本步骤中,如果ED2上一次学习时将MAC地址05-16-DC-FE-C2-34存储在分片5'中。则当ED2根据当前接收到的分片5以及预留分片9对分片5'和预留分片9'中对应于分片号5的MAC地址进行更新时,虽然当前的分片5中没有存储MAC地址05-16-DC-FE-C2-34,但是预留分片9中存储了该MAC地址,则ED2仍然不会删除分片5'中存储的该MAC地址,避免该MAC地址对应的流量的丢失。
如果ED2上一次学习时将MAC地址05-16-DC-FE-C2-34也存储在了分片9'中。当ED2根据当前接收到的分片5以及分片9对分片5'和分片9'中对应于分片号5的MAC地址进行更新时,由于预留分片9中存储的分片号5对应的MAC地址包括该MAC地址,ED2不会删除分片9'中存储的该MAC地址。
同时,如果ED1上一次学习时,将另一MAC地址05-16-DC-FE-C2-3C存储在了分片9中,而本次学习时,将其存储在分片5中。则ED2在根据当前的分片5和分片9对本地存储的分片5'和分片9'进行更新时(假设在ED2保存的分片集中,05-16-DC-FE-C2-3C也存储在分片9'中),虽然分片5'中没有存储MAC地址05-16-DC-FE-C2-3C,但是分片9'中存储了该MAC地址,因此ED2也不会在分片5'中添加该MAC地址。这样,就能避免因添加该MAC地址导致分片5'的容量不足而删除其他MAC地址的操作,能够避免所述其他MAC地址对应的流量的丢失。
如果ED2接收到的分片5或分片9中对应于分片号5的某个MAC地址在所存储的分片5'和分片9'中都不存在,则说明该MAC地址对应的设备新加入到了站点网络1中,则ED2将其存储在分片5'中,若分片5'中的存储的MAC地址数量已经达到256个,则将该MAC地址以及该MAC地址对应的分片号5存储在分片9'中。
如果ED2存储的分片5'或分片9'中存储的分片号5对应的某个MAC地址(分片5'中的所有MAC地址对应的分片号都是5)在当前接收到的分片5和分片9中都不存在,则说明该MAC地址对应的设备退出了站点网络1,ED2删除该MAC地址。
需要指出的是,本步骤401中,如果ED1全部学习并存储了站点1网络的1500个MAC地址后,分片9中没有存储任何MAC地址,则说明对应于分片号1-8的MAC地址的数量均不超过256个,此时,ED1向ED2通告当前存储有MAC地址的分片的数量为8,并按照步骤303-305执行MAC地址的发布。
本发明实施例四中,ED1设置预留分片,并在对应于同一分片号的MAC地址超出该分片的存储容量时,将超出部分的MAC地址存储在预留分片中并发送给远端ED2,并使远端ED2根据该分片号对应的分片中的MAC地址和预留分片中对应于该分片号的MAC地址对ED2所存储的对应分片中以及预留分片中对应于所述分片号的MAC地址进行更新。通过本发明实施例四提供的技术方案,当对应于同一分片号的MAC地址的数量超过对应分片能够存储的MAC地址的数量时,仍能避免远端ED2对同一MAC地址先删除后添加的操作,避免流量的丢失。
基于相同的构思,本发明实施例五还提供了一种用于实现上述MAC地址发布方法的设备,作为ED应用于以太网连接虚拟化EVI网络中,该ED中设置有一用于保存本地学习到的MAC地址的本地分片集,该本地分片集包括多个分片,如图5所示,该设备包括:
确定模块501,用于根据当前学习到的MAC地址,从该本地分片集中确定该MAC地址对应的第一分片,其中,针对同一MAC地址,该ED每次确定的该MAC地址对应的分片均相同;
存储模块502,用于将该MAC地址存储在该第一分片中;
发布模块503,用于将该第一分片发布给远端ED,以使远端ED根据接收到的该ED发布的第一分片,更新相同分片中的MAC地址的信息。
优选的,确定模块501具体用于,对该MAC地址进行HASH运算,得到HASH计算结果,其中,该HASH计算结果的范围,与该分片集的地址空间范围相同,并根据预先设定的本地分片集中的各个分片在该地址空间范围内的映射关系,确定该HASH计算结果所在的分片,作为该MAC地址对应的第一分片。
优选的,该设备还包括:
判断模块504,用于在确定模块501确定该MAC地址对应的第一分片之后,进一步判断该第一分片中的MAC地址是否已存满;
存储模块502具体用于,在判断模块504的判断结果为否时,将该MAC地址存储在该第一分片中;在判断模块504的判断结果为是时,将该MAC地址以及该MAC地址对应的第一分片信息存储在第一预留分片中,该第一预留分片用于保存由于本地分片集中对应分片已存满而溢出的MAC地址以及该MAC地址对应的分片信息;
发布模块503,具体用于当判断模块504的判断结果为否时,且存储模块502将该MAC地址存储在该第一分片中后,将该第一分片发布给远端ED,以使远端ED根据接收到的该ED发布的第一分片,更新相同分片中的MAC地址的信息;当判断模块504的判断结果为是时,且存储模块502将该MAC地址以及该MAC地址对应的第一分片信息存储在第一预留分片后,将该第一预留分片,连同该第一分片一起发布给远端ED,以使远端ED根据接收到的第一分片中的MAC地址、以及该第一预留分片中对应分片信息为第一分片的MAC地址,更新本地相同分片中的MAC地址的信息。
优先的,该设备还包括:
更新模块505,用于在该ED设备接收远端ED发送的第二分片后,根据接收到的该第二分片中的MAC地址,更新本地保存的该远端ED的第二分片中的MAC地址。
优选的,更新模块505还用于,当该ED设备接收远端ED连同该第二分片一起发送的第二预留分片后,根据接收到的第二分片中的MAC地址、以及该第二预留分片中对应分片信息为第二分片的MAC地址,更新本地相同分片中的MAC地址的信息;其中,该第二预留分片用于保存由于该远端ED的本地分片集中对应分片已存满而溢出的MAC地址以及该MAC地址对应的分片信息。
其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
Claims (10)
1.一种MAC地址发布方法,应用于以太网连接虚拟化EVI网络中的边缘设备ED,所述ED设置有一用于保存本地学习到的MAC地址的本地分片集,所述本地分片集包括多个分片,其特征在于,所述方法包括:
ED根据当前学习到的MAC地址,从所述本地分片集中确定所述MAC地址对应的第一分片,其中,针对同一MAC地址,所述ED每次确定的该MAC地址对应的分片均相同;
所述ED将所述MAC地址存储在所述第一分片中;
所述ED将所述第一分片发布给远端ED,以使远端ED根据接收到的所述ED发布的第一分片,更新相同分片中的MAC地址的信息。
2.如权利要求1所述的方法,其特征在于,所述确定唯一一个对应于所述MAC地址对应的第一分片,包括:
对所述MAC地址进行HASH运算,得到HASH计算结果,其中,所述HASH计算结果的范围,与所述分片集的地址空间范围相同;
根据预先设定的本地分片集中的各个分片在所述地址空间范围内的映射关系,确定所述HASH计算结果所在的分片,作为所述MAC地址对应的第一分片。
3.如权利要求1所述的方法,其特征在于,在确定所述MAC地址对应的第一分片之后,所述方法还包括:所述ED进一步判断所述第一分片中的MAC地址是否已存满;
若否,则执行所述将所述MAC地址存储在所述第一分片中以及将所述第一分片发布给远端ED的步骤;
若是,则将所述MAC地址以及所述MAC地址对应的第一分片信息存储在第一预留分片中,所述第一预留分片用于保存由于本地分片集中对应分片已存满而溢出的MAC地址以及该MAC地址对应的分片信息;并将所述第一预留分片,连同所述第一分片一起发布给远端ED,以使远端ED根据接收到的第一分片中的MAC地址、以及所述第一预留分片中对应分片信息为第一分片的MAC地址,更新本地相同分片中的MAC地址的信息。
4.如权利要求1所述的方法,其特征在于,还包括:
所述ED设备接收远端ED发送的第二分片;
所述ED设备根据接收到的所述第二分片中的MAC地址,更新本地保存的所述远端ED的第二分片中的MAC地址。
5.权利要求4所述的方法,其特征在于,还包括:
所述ED设备进一步接收所述远端ED连同所述第二分片一起发送的第二预留分片,所述第二预留分片用于保存由于所述远端ED的本地分片集中对应分片已存满而溢出的MAC地址以及该MAC地址对应的分片信息;
所述ED设备根据接收到的第二分片中的MAC地址、以及所述第二预留分片中对应分片信息为第二分片的MAC地址,更新本地相同分片中的MAC地址的信息。
6.一种MAC地址发布设备,作为边缘设备ED应用于以太网连接虚拟化EVI网络中,所述ED设置有一用于保存本地学习到的MAC地址的本地分片集,所述本地分片集包括多个分片,其特征在于,包括:
确定模块,用于根据当前学习到的MAC地址,从所述本地分片集中确定所述MAC地址对应的第一分片,其中,针对同一MAC地址,所述ED每次确定的该MAC地址对应的分片均相同;
存储模块,用于将所述MAC地址存储在所述第一分片中;
发布模块,用于将所述第一分片发布给远端ED,以使远端ED根据接收到的所述ED发布的第一分片,更新相同分片中的MAC地址的信息。
7.如权利要求6所述的设备,其特征在于,
所述确定模块具体用于,对所述MAC地址进行HASH运算,得到HASH计算结果,其中,所述HASH计算结果的范围,与所述分片集的地址空间范围相同,并根据预先设定的本地分片集中的各个分片在所述地址空间范围内的映射关系,确定所述HASH计算结果所在的分片,作为所述MAC地址对应的第一分片。
8.如权利要求6所述的设备,其特征在于,还包括:
判断模块,用于在确定模块确定所述MAC地址对应的第一分片之后,进一步判断所述第一分片中的MAC地址是否已存满;
所述存储模块具体用于,在所述判断模块的判断结果为否时,将所述MAC地址存储在所述第一分片中;在所述判断模块的判断结果为是时,将所述MAC地址以及所述MAC地址对应的第一分片信息存储在第一预留分片中,所述第一预留分片用于保存由于本地分片集中对应分片已存满而溢出的MAC地址以及该MAC地址对应的分片信息;
所述发布模块,具体用于当所述判断模块的判断结果为否时,且所述存储模块将所述MAC地址存储在所述第一分片中后,将所述第一分片发布给远端ED,以使远端ED根据接收到的所述ED发布的第一分片,更新相同分片中的MAC地址的信息;当所述判断模块的判断结果为是时,且所述存储模块将所述MAC地址以及所述MAC地址对应的第一分片信息存储在第一预留分片后,将所述第一预留分片,连同所述第一分片一起发布给远端ED,以使远端ED根据接收到的第一分片中的MAC地址、以及所述第一预留分片中对应分片信息为第一分片的MAC地址,更新本地相同分片中的MAC地址的信息。
9.如权利要求6所述的设备,其特征在于,还包括:
更新模块,用于在所述ED设备接收远端ED发送的第二分片后,根据接收到的所述第二分片中的MAC地址,更新本地保存的所述远端ED的第二分片中的MAC地址。
10.权利要求9所述的设备,其特征在于,所述更新模块还用于,当所述ED设备接收所述远端ED连同所述第二分片一起发送的第二预留分片后,根据接收到的第二分片中的MAC地址、以及所述第二预留分片中对应分片信息为第二分片的MAC地址,更新本地相同分片中的MAC地址的信息;其中,所述第二预留分片用于保存由于所述远端ED的本地分片集中对应分片已存满而溢出的MAC地址以及该MAC地址对应的分片信息。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310138188.1A CN104113609B (zh) | 2013-04-19 | 2013-04-19 | 一种mac地址发布的方法和设备 |
US14/199,629 US9197598B2 (en) | 2013-04-19 | 2014-03-06 | MAC address distribution |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310138188.1A CN104113609B (zh) | 2013-04-19 | 2013-04-19 | 一种mac地址发布的方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104113609A true CN104113609A (zh) | 2014-10-22 |
CN104113609B CN104113609B (zh) | 2017-11-28 |
Family
ID=51710240
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310138188.1A Active CN104113609B (zh) | 2013-04-19 | 2013-04-19 | 一种mac地址发布的方法和设备 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9197598B2 (zh) |
CN (1) | CN104113609B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108243106A (zh) * | 2016-12-23 | 2018-07-03 | 华为技术有限公司 | 控制网络切片的方法、转发设备、控制设备和通信系统 |
CN115495479A (zh) * | 2022-10-20 | 2022-12-20 | 深圳市雁联计算系统有限公司 | 字段可变的数据查询方法和装置 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109644089B (zh) | 2016-06-15 | 2022-04-26 | 康维达无线有限责任公司 | 用于新无线电的无许可上行链路传输 |
US10932276B2 (en) | 2016-11-03 | 2021-02-23 | Convida Wireless, Llc | Frame structure in NR |
EP3858023A1 (en) | 2018-09-27 | 2021-08-04 | Convida Wireless, Llc | Sub-band operations in unlicensed spectrums of new radio |
CN109347841B (zh) * | 2018-10-26 | 2021-08-10 | 深圳市元征科技股份有限公司 | Mac地址认证方法、装置、终端、服务器及存储介质 |
US11812518B2 (en) * | 2020-11-17 | 2023-11-07 | Microsoft Technology Licensing, Llc | Virtualized radio access network (vRAN) decoding as a service |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101699800A (zh) * | 2009-11-04 | 2010-04-28 | 杭州华三通信技术有限公司 | 一种邻居信息存储方法和设备 |
US20120131216A1 (en) * | 2010-11-23 | 2012-05-24 | Cisco Technology, Inc. | Active-Active Multi-Homing Support for Overlay Transport Protocol |
CN102801820A (zh) * | 2012-08-10 | 2012-11-28 | 杭州华三通信技术有限公司 | 一种evi网络中mac地址发布方法和装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009013582A1 (en) | 2007-07-20 | 2009-01-29 | Telefonaktiebolaget L M Ericsson (Publ) | System and method for ethernet label distribution |
US9401861B2 (en) | 2011-06-28 | 2016-07-26 | Brocade Communications Systems, Inc. | Scalable MAC address distribution in an Ethernet fabric switch |
US8717934B2 (en) | 2011-10-25 | 2014-05-06 | Cisco Technology, Inc. | Multicast source move detection for layer-2 interconnect solutions |
EP2777219B1 (en) * | 2011-11-09 | 2016-08-17 | Nec Corporation | Method and system for supporting transport of data packets in a network |
US8854973B2 (en) * | 2012-08-29 | 2014-10-07 | International Business Machines Corporation | Sliced routing table management with replication |
US8817796B2 (en) * | 2012-08-29 | 2014-08-26 | International Business Machines Corporation | Cached routing table management |
US9124527B2 (en) * | 2012-08-29 | 2015-09-01 | International Business Machines Corporation | Sliced routing table management |
-
2013
- 2013-04-19 CN CN201310138188.1A patent/CN104113609B/zh active Active
-
2014
- 2014-03-06 US US14/199,629 patent/US9197598B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101699800A (zh) * | 2009-11-04 | 2010-04-28 | 杭州华三通信技术有限公司 | 一种邻居信息存储方法和设备 |
US20120131216A1 (en) * | 2010-11-23 | 2012-05-24 | Cisco Technology, Inc. | Active-Active Multi-Homing Support for Overlay Transport Protocol |
CN102801820A (zh) * | 2012-08-10 | 2012-11-28 | 杭州华三通信技术有限公司 | 一种evi网络中mac地址发布方法和装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108243106A (zh) * | 2016-12-23 | 2018-07-03 | 华为技术有限公司 | 控制网络切片的方法、转发设备、控制设备和通信系统 |
CN108243106B (zh) * | 2016-12-23 | 2020-09-04 | 华为技术有限公司 | 控制网络切片的方法、转发设备、控制设备和通信系统 |
US10798760B2 (en) | 2016-12-23 | 2020-10-06 | Huawei Technologies Co., Ltd. | Method for controlling network slice, forwarding device, control device, and communications system |
CN115495479A (zh) * | 2022-10-20 | 2022-12-20 | 深圳市雁联计算系统有限公司 | 字段可变的数据查询方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
US9197598B2 (en) | 2015-11-24 |
CN104113609B (zh) | 2017-11-28 |
US20140314100A1 (en) | 2014-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104113609A (zh) | 一种mac地址发布的方法和设备 | |
CN105706400B (zh) | 在网络上转发分组的方法和装置 | |
CN107733793B (zh) | 一种转发表项维护方法及装置 | |
US20170237655A1 (en) | Forwarding Data Packets In Software Defined Networks | |
CN103259725B (zh) | 报文发送方法和网络设备 | |
EP3490197B1 (en) | Message forwarding | |
JP2019033534A (ja) | データパケット転送 | |
CN104601432A (zh) | 一种报文传输方法和设备 | |
KR20160099473A (ko) | 모듈식 포워딩 테이블 확장성을 위한 기술 | |
WO2014032598A1 (en) | Forward packet with edge device | |
KR20170010835A (ko) | 플로우 테이블 관리 방법, 및 관련 디바이스 및 시스템 | |
CN107547242B (zh) | Vm配置信息的获取方法及装置 | |
JP6928076B2 (ja) | パケット監視 | |
CN103401782B (zh) | 一种mac地址同步方法及设备 | |
US8989189B2 (en) | Scaling IPv4 in data center networks employing ECMP to reach hosts in a directly connected subnet | |
CN103441932A (zh) | 一种主机路由表项生成方法及设备 | |
CN104734955A (zh) | 网络功能虚拟化的实现方法、宽带网络网关以及控制装置 | |
US20170180311A1 (en) | Systems and methods for managing network address information | |
CN107147580A (zh) | 一种隧道建立的方法及通信系统 | |
CN108540386B (zh) | 一种防止业务流中断方法及装置 | |
CN108259218A (zh) | 一种ip地址分配方法和装置 | |
WO2017080440A1 (zh) | 一种路由表更新方法、evpn控制设备及evpn系统 | |
EP3086512B1 (en) | Implementation method and apparatus for vlan to access vf network and fcf | |
CN104780201A (zh) | 一种ipvs集群中的数据包处理方法及装置 | |
CN109818869B (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 | ||
CB02 | Change of applicant information |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Applicant after: Xinhua three Technology Co., Ltd. Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base Applicant before: Huasan Communication Technology Co., Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |