CN108199962A - 地址迁移方法、装置、网络设备及可读存储介质 - Google Patents
地址迁移方法、装置、网络设备及可读存储介质 Download PDFInfo
- Publication number
- CN108199962A CN108199962A CN201711400838.XA CN201711400838A CN108199962A CN 108199962 A CN108199962 A CN 108199962A CN 201711400838 A CN201711400838 A CN 201711400838A CN 108199962 A CN108199962 A CN 108199962A
- Authority
- CN
- China
- Prior art keywords
- mac address
- list item
- mac
- chips
- address list
- 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
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Small-Scale Networks (AREA)
Abstract
在本申请实施例提供一种地址转移方法、装置、网络设备及可读存储介质,所述方法在接收到MAC地址迁移请求后,在NP芯片中将连接在源端口的待迁移虚拟机的第一MAC地址表项备份到所述目的端口对应的MAC地址表项中。整个MAC地址迁移过程不会重新学习MAC地址,即不会将迁移后虚拟机发送的报文镜像到中央处理器中进行源MAC地址的学习,不会占用NP芯片的硬件资源,从而确保NP芯片的转发性能不会受到影响,以确保其它业务不会因为转发性能受限而被中断。
Description
技术领域
本申请涉及网络技术领域,具体而言,涉及一种地址迁移方法、装置、网络设备及可读存储介质。
背景技术
在VXLAN网络中,分散各地的物理站点比较多,可能存在虚拟机(VirtualMachine,简称VM)在不同物理站点间迁移的情况。而同一VXLAN隧道端点(VXLAN TunnelingEnd Point,简称VTEP)下所述连接的不同站点间,如果有虚拟机迁移,就会涉及本地MAC地址重新学习的过程(即站点间本地MAC地址迁移的过程)。
在现有技术中,实现本地MAC地址重新学习时,需要VTEP中的NP芯片将迁移后虚拟机发送的报文镜像到CPU中进行源MAC地址的学习,镜像过程会消耗NP芯片的硬件资源,当迁移的虚拟机数量较多时,消耗NP芯片的硬件资源也会越多,进而会影响NP芯片的转发性能,整个MAC地址迁移的过程会收敛也会变慢,可能会导致NP芯片在对其他端口的业务进行处理时出现丢包,而造成业务中断。
发明内容
本申请的实施例描述一种地址迁移方法、装置、网络设备及可读存储介质。
第一方面,本申请实施例提供一种地址迁移方法,应用于网络设备,所述网络设备包括NP芯片及多个用于连接不同虚拟机的端口,所述方法包括:
所述NP芯片接收MAC地址迁移请求,其中,所述MAC地址迁移请求包括待迁移虚拟机连接的源端口及所述待迁移虚拟机被迁移到的目的端口;
所述NP芯片在所述NP芯片中将连接在源端口的待迁移虚拟机的第一MAC地址表项备份到所述目的端口对应的MAC地址表项中,得到第二MAC地址表项。
可选地,在得到第二MAC地址表项之后,所述方法还包括:
所述NP芯片检测所述目的端口是否被打开;
在检测到所述目的端口被打开时,所述NP芯片将备份到所述目的端口对应的第二MAC地址表项中的第一MAC地址表项生效,并置为临时状态。
可选地,上述方法还包括:
所述NP芯片在所述目的端口接收到报文时,获取该报文的源MAC地址;
所述NP芯片查询所述源MAC地址在所述第二MAC地址表项中的状态;
当所述源MAC地址的状态为临时状态时,所述NP芯片将所述源MAC地址的状态置为活跃状态,并根据所述报文中的目的地址将所述报文进行转发。
可选地,所述网络设备还包括中央处理器,上述方法还包括:
当所述第二MAC地址表项中不存在所述源MAC地址时,所述NP芯片将所述源MAC地址发送给所述中央处理器进行MAC地址学习,并在完成对所述源MAC地址的学习后将所述源MAC添加到所述第二MAC地址表项中;
所述NP芯片根据所述报文中的目的地址将所述报文进行转发。
可选地,上述方法还包括:
所述NP芯片对所述第二MAC地址表项中各MAC地址的状态或收发的流量进行监测;
当监测到任意MAC地址在预设时间内没有收发流量或在预设时间内未变成活跃状态时,所述NP芯片将该MAC地址从所述第二MAC地址表项中删除。
可选地,在接收MAC地址迁移请求之前,上述方法还包括:
接收输入的源端口及目的端口并生成所述MAC地址迁移请求;或
检测所述网络设备每个端口的状态,在检测到任意端口的状态为故障状态时,生成所述MAC地址迁移请求,其中,生成的所述MAC地址迁移请求中的源端口为所述故障端口,目的端口为预先为所述故障端口配置的备用端口。
第二方面,本申请实施例还提供一种地址迁移装置,应用于网络设备的网络处理器NP芯片,所述网络设备还包括多个用于连接不同虚拟机的端口,所述装置包括:
接收模块,用于接收MAC地址迁移请求,其中,所述MAC地址迁移请求包括待迁移虚拟机连接的源端口及所述待迁移虚拟机被迁移到的目的端口;
备份模块,用于将连接在源端口的待迁移虚拟机的第一MAC地址表项备份到所述目的端口对应的MAC地址表项中,得到第二MAC地址表项。
可选地,上述装置还包括:
检测模块,用于检测所述目的端口是否被打开;
生效模块,用于在检测到所述目的端口被打开时,将备份到所述目的端口对应的第二MAC地址表项中的第一MAC地址表项生效,并置为临时状态。
可选地,上述装置还包括:
获取模块,用于在所述目的端口接收到报文时,获取该报文的源MAC地址;
查询模块,用于查询所述源MAC地址在所述第二MAC地址表项中的状态;
转发模块,用于当所述源MAC地址的状态为临时状态时,将所述源MAC地址的状态置为活跃状态,并根据所述报文中的目的地址将所述报文进行转发。
可选地,所述网络设备还包括中央处理器,上述装置还包括:
发送模块,用于当所述第二MAC地址表项中不存在所述源MAC地址时,将所述源MAC地址发送给所述中央处理器进行MAC地址学习,并在完成对所述源MAC地址的学习后将所述源MAC添加到所述第二MAC地址表项中;
所述转发模块,还用于根据所述报文中的目的地址将所述报文进行转发。
可选地,上述装置还包括:
监测模块,用于对所述第二MAC地址表项中各MAC地址的状态或收发的流量进行监测;
删除模块,用于当监测到任意MAC地址在预设时间内没有收发流量或在预设时间内未变成活跃状态时,将该MAC地址从所述第二MAC地址表项中删除。
第三方面,本申请实施例还提供一种网络设备,所述网络设备包括:
NP芯片;
机器可读存储介质,所述机器可读存储介质存储有能够被所述NP芯片执行的机器可执行指令,所述NP芯片被所述机器可执行指令促使:实现第一方面所述的地址迁移方法。
第四方面,本申请实施例还提供一种可读存储介质,所述可读存储介质包括计算机程序,所述计算机程序运行时控制所述可读存储介质所在网络设备执行上述的地址迁移方法。
相对于现有技术而言,本申请具有以下有益效果:
本申请实施例提供的地址迁移方法、装置、网络设备及可读存储介质,所述方法在接收到MAC地址迁移请求后,在NP芯片中将连接在源端口的待迁移虚拟机的第一MAC地址表项备份到所述目的端口对应的MAC地址表项中。整个MAC地址迁移过程不会重新学习MAC地址,即不会将迁移后虚拟机发送的报文镜像到中央处理器中进行源MAC地址的学习,不会占用NP芯片的硬件资源,从而确保NP芯片的转发性能不会受到影响,避免其它业务不会因为转发性能受限而被中断。同时,在NP芯片中对待迁移虚拟机的第一MAC地址表项进行备份,还可以降低将需要迁移的MAC地址镜像一份上传给CPU进行MAC地址学习时占用CPU的资源,影响CPU的处理能力,从而导致CPU对某些协议报文处理不及时的技术问题。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的网络设备的结构示意框图;
图2为本申请实施例提供的地址转移方法的步骤流程示意图之一;
图3为本申请实施例提供的地址转移方法的步骤流程示意图之二;
图4为本申请实施例提供的地址转移方法的步骤流程示意图之三;
图5为本申请实施例提供的地址迁移装置的功能方框示意图之一;
图6为本申请实施例提供的地址迁移装置的功能方框示意图之二。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
目前,在进行本地MAC地址重新学习时,需要VTEP中的NP芯片将迁移后虚拟机发送的报文镜像到CPU中进行源MAC地址的学习,一方面将报文镜像到CPU的这个过程会耗费NP芯片的硬件资源,从而影响NP芯片的转发性能,会导致NP芯片对其他端口的业务处的理能力下降,存在NP芯片硬件资源无法支撑其他端口业务而导致端口业务中断事件的发生。另一方面,镜像上传到CPU上的MAC地址需要CPU耗费资源进行学习,会占用CPU的资源,影响CPU的处理能力,可能会导致CPU对某些协议报文处理不及时的问题。
为了克服上述现有技术中存在的缺陷,发明人通过研究提供下面的实施例给出了解决方案。
请参照图1,图1为本申请实施例提供的一种网络设备10,所述网络设备10在本实施例中用作VXLAN隧道端点(VXLAN Tunneling End Point,简称VTEP),所述网络设备10包括至少一个板卡11,所述板卡11上包括有NP芯片110、端口111及中央处理器120。
可以理解地,在本实施例中,一个网络设备10可以包括多个板卡11,不同的板卡11之间可以通过板卡11之间的通信通道进行数据通信。
所述NP芯片110包括有处理器1101、存储器1102及地址迁移装置200,所述NP芯片110分别与端口111及中央处理器120连接。所述地址迁移装置200包括的软件功能模块及计算机程序控制所述网络设备10实现本实施例提供的地址迁移方法。所述地址迁移装置200可以是存储于NP芯片110的存储器1102中,并由该NP芯片110的处理器1101执行的软件功能模块。
请参照图2,图2为应用于图1所示的网络设备10的地址转移方法的流程图,以下对所述方法包括的各个步骤进行详尽阐述。
步骤S110,NP芯片110接收MAC地址迁移请求。
在本实施例中,所述MAC地址迁移请求中可以包括待迁移虚拟机连接的源端口及所述待迁移虚拟机被迁移到的目的端口。
在步骤S110之前,所述方法还可以包括生成MAC地址迁移请求。
在本实施例的一种实施方式中,MAC地址迁移请求可以通过用户需求生成,即所述网络设备10可以根据用户需求生成对应的MAC地址迁移请求。
可选地,网络设备10接收用户输入的源端口与目的端口,生成对应的MAC地址迁移请求。用户可以直接在所述网络设备10上直接输入源端口与目的端口,或通过在其他设备上输入源端口与目的端口后由其他设备将输入信息发送给所述网络设备10。在本实施方式中,网络设备10可以根据用户需求确定将源端口所连接的虚拟机全部进行迁移还是部分进行迁移。
在本实施例的另一种实施方式中,MAC地址迁移请求可以是在所述网络设备10的端口出现故障时被动生成的。在该种生成方式中,首先对所述网络设备10的各个端口的状态进行检测,在检测到存在有端口的状态为故障状态时,生成所述MAC地址迁移请求。这里的故障状态包括所述端口自身的故障(比如,端口无法使能)还包括人为因素引起的故障(比如,对端口进行插拔操作)。在这种方式中,需要为所述网络设备10的各个端口预先配置备用端口,可选地,为了确保整个系统能稳定工作,可以对每一个端口预先配置多个备用端口,同时配置各个端口对应多个备用端口的备用优先级。可以理解地,所述网络设备10的各个端口相互之间均可以存在备用关系。在这种方式下生成的MAC地址迁移请求中的源端口为所述故障端口,目的端口为预先为所述故障端口配置的备用端口。在本实施方式中,在进行MAC地址迁移时,是将连接于源端口的全部虚拟机进行迁移。
步骤S120,所述NP芯片110将连接在源端口的待迁移虚拟机的第一MAC地址表项备份到所述目的端口对应的MAC地址表项中,得到第二MAC地址表项。
MAC地址表项包括虚拟机连接端口111的端口号、端口111对应的NP芯片110、端口111所在的板卡11、虚拟机的MAC地址及MAC地址对应的状态等。在本实施例中,每一个板卡11中存储有该板卡11上所有端口111的MAC地址表项,每个板卡11上所有端口111的MAC地址表项可以存储在一个地址表中。一个端口111的MAC地址表项为连接于该端口111的所有虚拟机对应MAC地址表项的集合。
在本实施例中,网络设备10中的NP芯片110会将第一MAC地址表项备份到所述目的端口对应的MAC地址表项以得到第二MAC地址表项。其中,第二MAC地址表项包括源端口对应的MAC地址表项及目的端口对应的MAC地址表项。
在步骤中,至少存在以下几种进行MAC地址表项备份的实施方式:
第一种实施方式,目的端口和源端口均属于同一NP芯片110管理。假设源端口号为port1,源端口号下连接的虚拟机的MAC地址包括MAC地址1、MAC地址2及MAC地址3。目的端口号为port2,目的端口下连接的虚拟机的MAC地址包括MAC地址4及MAC地址5。由于目的端口与源端口同属于一NP芯片110管理,目的端口与源端口的MAC地址表项存在于同一数据表内,且均保存在存储器1102中,在将第一MAC地址表项备份到所述目的端口对应的MAC地址表项中得到第二MAC地址表项过程中,只需将该数据表中,MAC地址1、MAC地址2及MAC地址3对应的端口信息由port1修改为port2即完成MAC地址表项备份。
第二种实施方式,目的端口和源端口不属于同一NP芯片110管理,但目的端口和源端口属于同一板卡11,假设源端口号为port1,源端口号下连接的虚拟机的MAC地址包括MAC地址1、MAC地址2及MAC地址3,源端口对应第一NP芯片。目的端口号为port2,目的端口下连接的虚拟机的MAC地址包括MAC地址4及MAC地址5,目的端口对应第二NP芯片。在同一板卡中,所述MAC地址保存于同一数据表内,且保存在存储器1102中,在将第一MAC地址表项备份到所述目的端口对应的MAC地址表项中得到第二MAC地址表项过程中,需要在该数据表中,将MAC地址1、MAC地址2及MAC地址3对应的端口信息由port1修改为port2,且将MAC地址1、MAC地址2及MAC地址3对应的芯片信息由第一NP芯片修改为第二NP芯片,如此即完成MAC地址表项备份。
第三种实施方法,目的端口和源端口属于不同的板卡11,假设源端口号为port1,port1在第一板卡上由第一NP芯片管理,目的端口号为port2,port2在第二板卡上由第二NP芯片管理。源端口号下连接的虚拟机的MAC地址包括MAC地址1、MAC地址2及MAC地址3,目的端口下连接的虚拟机的MAC地址包括MAC地址4及MAC地址5。不同板卡11中,所述MAC地址表项保存在不同的数据表中,在将第一MAC地址表项备份到所述目的端口对应的MAC地址表项中得到第二MAC地址表项过程中。第一板卡通过与第二板卡之间的通道将所述port1端口下的待迁移MAC地址表项发送到第二板卡中,第一板卡的数据表中将port1端口下迁出的MAC地址表项进行删除。在第二板卡的数据表中的port2端口下增加迁入MAC地址的表项,并将新增MAC地址表项对应的NP芯片信息调整为第二NP芯片。
请参照图3,在步骤S120之后,所述方法还包括:
步骤S130,NP芯片110检测所述目标端口是否被打开。
在本实施例中,可以通过命令行检测所述目标端口的开启状态UP,可以理解的是,可以根据网络设备10厂商采用不同的命令行进行检测。
步骤S140,在检测到所述目的端口被打开时,NP芯片110将备份到所述目的端口对应的第二MAC地址表项中的第一MAC地址表项生效,并置为临时状态Temp。
将第一MAC地址表项生效并置为临时状态,可以根据后续第一MAC地址表项中各个MAC地址对应虚拟机收发的数据流量对各个MAC地址进行选择,根据对应虚拟机接收的数据流量将第一MAC地址表项中的MAC地址进行老化处理或进行保留,将长时间没有收发数据流量的虚拟机对应的MAC地址淘汰,可以减小网络设备10存储MAC地址表项的规模,提高后续对报文中源MAC地址查找的效率。
请参照图4,在本实施例中,所述方法还包括:
步骤S150,NP芯片110在所述目的端口接收到报文时,获取该报文的源MAC地址。
在接收到报文时,从报文的五元组信息中获取该报文的源MAC地址。
步骤S160,在所述第二MAC地址表项中查找是否存在所述源MAC地址。
在查找到所述第二MAC地址表项中存在所述源MAC地址时,进入步骤S170。在查找到所述第二MAC地址表项中不存在所述源MAC地址时,进入步骤S200。
步骤S170,查询所述源MAC地址在所述第二MAC地址表项中的状态。
在本实施例中,源MAC地址在所述第二MAC地址表项中的状态包括临时状态Temp和活跃状态Dynamic。其中,活跃状态代表该MAC地址对应的虚拟机在预设时间内有收发流量。
在所述源MAC地址的状态为临时状态时进入步骤S180,在所述源MAC地址的状态为活跃状态时进入步骤S190。
步骤S180,将所述源MAC地址的状态置为活跃状态,并根据所述报文中的目的地址将所述报文进行转发。
在进行报文转发时,从所述报文的五元组中获得报文的目的地址,然后根据获得的目的地址将所述报文进行转发。
步骤S190,直接根据所述报文中的目的地址将所述报文进行转发。
步骤S200,将所述源MAC地址发送给所述网络设备10的中央处理器120进行MAC地址学习,并在完成对所述源MAC地址的学习后将所述源MAC添加到所述第二MAC地址表项中,然后根据所述报文中的目的地址将所述报文进行转发。
在本实施例,在所述第二MAC地址表项中不存在所述源MAC地址时,需要对所述源MAC地址进行学习,将所述MAC地址发送给中央处理器120进行MAC地址学习后,将学习后的所述源MAC添加到所述目的端口的所述第二MAC地址表项中,同时将学习后的所述源MAC的状态置为活跃状态,最后再根据所述报文中的目的地址将所述报文转发。
在本实施例中,所述方法还包括对第二MAC地址表项中的MAC地址进行老化处理的步骤,具体如下。
首先,对所述第二MAC地址表项中各MAC地址的状态或收发的流量进行监测。
接着,当监测到任意MAC地址在预设时间内没有收发流量或在预设时间内未变成活跃状态时,将该MAC地址从所述第二MAC地址表项中删除,以完成对所述第二MAC地址表项中不活跃MAC地址的老化处理。将长时间没有收发数据流量的虚拟机对应的MAC地址淘汰,可以减小网络设备10存储MAC地址表项的规模,提高对报文中源MAC地址查找的效率。
请参照图5,本申请实施例还提供一种图1中所述地址迁移装置200的结构框图。所述地址迁移装置200包括接收模块201和备份模块202。
所述接收模块201,用于接收MAC地址迁移请求。
在本实施例中,所述MAC地址迁移请求包括待迁移虚拟机连接的源端口及所述待迁移虚拟机被迁移到的目的端口。
本实施例中,所述接收模块201可用于执行图2所示的步骤S110,关于该接收模块201的具体实现方式或进一步的详细描述,可以参对步骤S110的相关描述。
所述备份模块202,用于在所述NP芯片110中将连接在源端口的待迁移虚拟机的第一MAC地址表项备份到所述目的端口对应的MAC地址表项中得到第二MAC地址表项。
本实施例中,所述备份模块202可用于执行图2所示的步骤S120,关于该备份模块202的具体实现方式或进一步的详细描述,可以参对步骤S120的相关描述。
请参照图6,在本实施例中,所述地址迁移装置200还包括:检测模203及生效模块204。
所述检测模块203,用于检测所述目的端口是否被打开。
所述生效模块204,用于在检测到所述目的端口被打开时,将备份到所述目的端口对应的第二MAC地址表项中的第一MAC地址表项生效,并置为临时状态。
请再次参照图6,在本实施例中,所述地址迁移装置200还包括:获取模块205、查询模块206及转发模块207。
所述获取模块205用于在所述目的端口接收到报文时,获取该报文的源MAC地址。
所述查询模块206用于查询所述源MAC地址在所述第二MAC地址表项中的状态。
所述转发模块207用于当所述源MAC地址的状态为临时状态时,将所述源MAC地址的状态置为活跃状态,并根据所述报文中的目的地址将所述报文进行转发。
请再次参照图6,在本实施例中,所述地址迁移装置200还包括:发送模块208。
发送模块208用于当所述第二MAC地址表项中不存在所述源MAC地址时,将所述源MAC地址发送给所述中央处理器120进行MAC地址学习,并在完成对所述源MAC地址的学习后将所述源MAC添加到所述第二MAC地址表项中。
所述转发模块207还用于根据所述报文中的目的地址将所述报文进行转发。
请再次参照图6,在本实施例中,所述地址迁移装置200还包括:监测模块209及删除模块210。
所述监测模块209用于对所述第二MAC地址表项中各MAC地址的状态或收发的流量进行监测。
所述删除模块210用于当监测到任意MAC地址在预设时间内没有收发流量或在预设时间内未变成活跃状态时,将该MAC地址从所述第二MAC地址表项中删除。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得网络设备10执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
综上所述,在本实施例提供的地址转移方法、装置、网络设备及可读存储介质中,所述方法在接收到MAC地址迁移请求后,在NP芯片中将连接在源端口的待迁移虚拟机的第一MAC地址表项备份到所述目的端口对应的MAC地址表项中。整个MAC地址迁移过程不会重新学习MAC地址,即不会将迁移后虚拟机发送的报文镜像到CPU中进行源MAC地址的学习,不会占用NP芯片的硬件资源,从而确保NP芯片的转发性能不会受到影响,以确保其它业务不会因为转发性能受限而被中断。同时,在NP芯片中对待迁移虚拟机的第一MAC地址表项进行备份,还可以解决将需要迁移的MAC地址镜像一份上传给CPU进行MAC地址学习时占用CPU的资源,影响CPU的处理能力,从而导致CPU对某些协议报文处理不及时的技术问题。
在本申请所提供的具体实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
Claims (13)
1.一种地址迁移方法,其特征在于,应用于网络设备,所述网络设备包括网络处理器NP芯片及多个用于连接不同虚拟机的端口,所述方法包括:
所述NP芯片接收MAC地址迁移请求,其中,所述MAC地址迁移请求包括待迁移虚拟机连接的源端口及所述待迁移虚拟机被迁移到的目的端口;
所述NP芯片将连接在源端口的待迁移虚拟机的第一MAC地址表项备份到所述目的端口对应的MAC地址表项中,得到第二MAC地址表项。
2.如权利要求1所述的方法,其特征在于,在得到第二MAC地址表项之后,所述方法还包括:
所述NP芯片检测所述目的端口是否被打开;
在检测到所述目的端口被打开时,所述NP芯片将备份到所述目的端口对应的第二MAC地址表项中的第一MAC地址表项生效,并置为临时状态。
3.如权利要求2所述的方法,其特征在于,所述方法还包括:
所述NP芯片在所述目的端口接收到报文时,获取该报文的源MAC地址;
所述NP芯片查询所述源MAC地址在所述第二MAC地址表项中的状态;
当所述源MAC地址的状态为临时状态时,所述NP芯片将所述源MAC地址的状态置为活跃状态,并根据所述报文中的目的地址将所述报文进行转发。
4.如权利要求3所述的方法,其特征在于,所述网络设备还包括中央处理器,所述方法还包括:
当所述第二MAC地址表项中不存在所述源MAC地址时,所述NP芯片将所述源MAC地址发送给所述中央处理器进行MAC地址学习,并在完成对所述源MAC地址的学习后将所述源MAC添加到所述第二MAC地址表项中;
所述NP芯片根据所述报文中的目的地址将所述报文进行转发。
5.如权利要求1-4中任意一项所述的方法,其特征在于,所述方法还包括:
所述NP芯片对所述第二MAC地址表项中各MAC地址的状态或收发的流量进行监测;
当监测到任意MAC地址在预设时间内没有收发流量或在预设时间内未变成活跃状态时,所述NP芯片将该MAC地址从所述第二MAC地址表项中删除。
6.如权利要求1-4中任意一项所述的方法,其特征在于,在接收MAC地址迁移请求之前,所述方法还包括:
接收输入的源端口及目的端口并生成所述MAC地址迁移请求;或
检测所述网络设备每个端口的状态,在检测到任意端口的状态为故障状态时,生成所述MAC地址迁移请求,其中,生成的所述MAC地址迁移请求中的源端口为故障端口,目的端口为预先为所述故障端口配置的备用端口。
7.一种地址迁移装置,其特征在于,应用于网络设备的网络处理器NP芯片,所述网络设备还包括多个用于连接不同虚拟机的端口,所述装置包括:
接收模块,用于接收MAC地址迁移请求,其中,所述MAC地址迁移请求包括待迁移虚拟机连接的源端口及所述待迁移虚拟机被迁移到的目的端口;
备份模块,用于将连接在源端口的待迁移虚拟机的第一MAC地址表项备份到所述目的端口对应的MAC地址表项中,得到第二MAC地址表项。
8.如权利要求7所述的装置,其特征在于,所述装置还包括:
检测模块,用于检测所述目的端口是否被打开;
生效模块,用于在检测到所述目的端口被打开时,将备份到所述目的端口对应的第二MAC地址表项中的第一MAC地址表项生效,并置为临时状态。
9.如权利要求8所述的装置,其特征在于,所述装置还包括:
获取模块,用于在所述目的端口接收到报文时,获取该报文的源MAC地址;
查询模块,用于查询所述源MAC地址在所述第二MAC地址表项中的状态;
转发模块,用于当所述源MAC地址的状态为临时状态时,将所述源MAC地址的状态置为活跃状态,并根据所述报文中的目的地址将所述报文进行转发。
10.如权利要求9所述的装置,其特征在于,所述网络设备还包括中央处理器,所述装置还包括:
发送模块,用于当所述第二MAC地址表项中不存在所述源MAC地址时,将所述源MAC地址发送给所述中央处理器进行MAC地址学习,并在完成对所述源MAC地址的学习后将所述源MAC添加到所述第二MAC地址表项中;
所述转发模块,还用于根据所述报文中的目的地址将所述报文进行转发。
11.如权利要求7-10中任意一项所述的装置,其特征在于,所述装置还包括:
监测模块,用于对所述第二MAC地址表项中各MAC地址的状态或收发的流量进行监测;
删除模块,用于当监测到任意MAC地址在预设时间内没有收发流量或在预设时间内未变成活跃状态时,将该MAC地址从所述第二MAC地址表项中删除。
12.一种网络设备,其特征在于,所述网络设备包括:
NP芯片;
机器可读存储介质,所述机器可读存储介质存储有能够被所述NP芯片执行的机器可执行指令,所述NP芯片被所述机器可执行指令促使:实现权利要求1-6任一所述的方法。
13.一种可读存储介质,所述可读存储介质包括计算机程序,其特征在于:
所述计算机程序运行时控制所述可读存储介质所在网络设备执行权利要求1-6中任意一项所述的地址迁移方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711400838.XA CN108199962B (zh) | 2017-12-22 | 2017-12-22 | 地址迁移方法、装置、网络设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711400838.XA CN108199962B (zh) | 2017-12-22 | 2017-12-22 | 地址迁移方法、装置、网络设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108199962A true CN108199962A (zh) | 2018-06-22 |
CN108199962B CN108199962B (zh) | 2021-09-07 |
Family
ID=62583685
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711400838.XA Active CN108199962B (zh) | 2017-12-22 | 2017-12-22 | 地址迁移方法、装置、网络设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108199962B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109302460A (zh) * | 2018-09-14 | 2019-02-01 | 中通国脉物联科技南京有限公司 | 一种动态扩展通信连接数的管理方法 |
CN110572487A (zh) * | 2019-08-21 | 2019-12-13 | 烽火通信科技股份有限公司 | 一种交换机任意端口虚拟化的方法及系统 |
CN111224812A (zh) * | 2019-11-06 | 2020-06-02 | 杭州迪普科技股份有限公司 | 网络流量转发方法、装置、电子设备及机器可读存储介质 |
CN113709273A (zh) * | 2021-08-31 | 2021-11-26 | 迈普通信技术股份有限公司 | 地址迁移方法、通信设备及双活系统 |
CN115334046A (zh) * | 2022-07-04 | 2022-11-11 | 超聚变数字技术有限公司 | 一种mac地址删除方法及装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101127709A (zh) * | 2007-09-26 | 2008-02-20 | 杭州华三通信技术有限公司 | 一种更新地址解析协议表中端口地址的方法和设备 |
CN101582834A (zh) * | 2008-05-16 | 2009-11-18 | 华为技术有限公司 | 以太网业务传送中转发表的更新方法、设备和系统 |
CN101651627A (zh) * | 2009-09-23 | 2010-02-17 | 杭州华三通信技术有限公司 | 一种媒体访问控制mac地址表项学习方法和装置 |
US20100115080A1 (en) * | 2008-11-06 | 2010-05-06 | Kageyama Soshi | Method of controlling the communication between a machine using private addresses and a communication device connected to a global network |
CN102457583A (zh) * | 2010-10-19 | 2012-05-16 | 中兴通讯股份有限公司 | 一种虚拟机移动性的实现方法及系统 |
WO2013097067A1 (zh) * | 2011-12-26 | 2013-07-04 | 华为技术有限公司 | 一种虚拟机迁移后实现通信的方法、设备和系统 |
CN103207801A (zh) * | 2012-01-11 | 2013-07-17 | 华为技术有限公司 | 虚拟机迁移的方法、装置和系统及光纤通道交换机 |
CN106059810A (zh) * | 2016-05-31 | 2016-10-26 | 杭州华三通信技术有限公司 | 一种消息通知方法及系统 |
-
2017
- 2017-12-22 CN CN201711400838.XA patent/CN108199962B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101127709A (zh) * | 2007-09-26 | 2008-02-20 | 杭州华三通信技术有限公司 | 一种更新地址解析协议表中端口地址的方法和设备 |
CN101582834A (zh) * | 2008-05-16 | 2009-11-18 | 华为技术有限公司 | 以太网业务传送中转发表的更新方法、设备和系统 |
US20100115080A1 (en) * | 2008-11-06 | 2010-05-06 | Kageyama Soshi | Method of controlling the communication between a machine using private addresses and a communication device connected to a global network |
CN101651627A (zh) * | 2009-09-23 | 2010-02-17 | 杭州华三通信技术有限公司 | 一种媒体访问控制mac地址表项学习方法和装置 |
CN102457583A (zh) * | 2010-10-19 | 2012-05-16 | 中兴通讯股份有限公司 | 一种虚拟机移动性的实现方法及系统 |
WO2013097067A1 (zh) * | 2011-12-26 | 2013-07-04 | 华为技术有限公司 | 一种虚拟机迁移后实现通信的方法、设备和系统 |
CN103534994A (zh) * | 2011-12-26 | 2014-01-22 | 华为技术有限公司 | 一种虚拟机迁移后实现通信的方法、设备和系统 |
CN103207801A (zh) * | 2012-01-11 | 2013-07-17 | 华为技术有限公司 | 虚拟机迁移的方法、装置和系统及光纤通道交换机 |
CN106059810A (zh) * | 2016-05-31 | 2016-10-26 | 杭州华三通信技术有限公司 | 一种消息通知方法及系统 |
Non-Patent Citations (1)
Title |
---|
魏晓辉等: "跨域虚拟网络环境下虚拟机Live的迁移机制", 《吉林大学学报(理学版)》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109302460A (zh) * | 2018-09-14 | 2019-02-01 | 中通国脉物联科技南京有限公司 | 一种动态扩展通信连接数的管理方法 |
CN110572487A (zh) * | 2019-08-21 | 2019-12-13 | 烽火通信科技股份有限公司 | 一种交换机任意端口虚拟化的方法及系统 |
CN111224812A (zh) * | 2019-11-06 | 2020-06-02 | 杭州迪普科技股份有限公司 | 网络流量转发方法、装置、电子设备及机器可读存储介质 |
CN113709273A (zh) * | 2021-08-31 | 2021-11-26 | 迈普通信技术股份有限公司 | 地址迁移方法、通信设备及双活系统 |
CN113709273B (zh) * | 2021-08-31 | 2023-10-24 | 迈普通信技术股份有限公司 | 地址迁移方法、通信设备及双活系统 |
CN115334046A (zh) * | 2022-07-04 | 2022-11-11 | 超聚变数字技术有限公司 | 一种mac地址删除方法及装置 |
CN115334046B (zh) * | 2022-07-04 | 2023-09-01 | 超聚变数字技术有限公司 | 一种mac地址删除方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108199962B (zh) | 2021-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108199962A (zh) | 地址迁移方法、装置、网络设备及可读存储介质 | |
CN110417569B (zh) | 一种网络链路故障处理方法和隧道端点设备 | |
EP3442319A1 (en) | Multi-node system-fan-control switch | |
US10671139B2 (en) | Operable server system when standby power of PSU fails | |
US20170322898A1 (en) | Systems and methods for flexible hdd/ssd storage support | |
US10345877B2 (en) | Method and system for boosting power supply | |
CN101980490B (zh) | 虚拟交换机和物理交换机的链路建立方法及其装置 | |
CN104243265A (zh) | 一种基于虚拟机迁移的网关控制方法、装置及系统 | |
CN102316043B (zh) | 端口虚拟化方法、交换机及通信系统 | |
EP3598301B1 (en) | Cloud management platform, virtual machine management method, system thereof | |
JP2017199367A (ja) | ポストパッケージリペアにおける記録及び使用を分析するための方法及びシステム | |
CN106031116A (zh) | 一种ns与vnf的关联方法、装置及系统 | |
US10031685B2 (en) | Power management of storage subsystem | |
KR20130060273A (ko) | 네트워크 저장 시스템의 셋업 및 구성 | |
EP3352047A1 (en) | Power supply unit (psu) management | |
JP5768651B2 (ja) | 通信装置、通信方法、および、通信プログラム | |
CN107659677A (zh) | 一种基于bmc的ip地址自动配置的装置和方法 | |
CN108123826B (zh) | 一种跨区数据的交互系统及方法 | |
CN104077187A (zh) | 用于调度应用程序的执行的方法和系统 | |
CN108334421A (zh) | 使用wol的系统恢复 | |
CN108650337B (zh) | 一种服务器探测方法、系统及存储介质 | |
CN104219061B (zh) | 请求功耗状态变化的方法及装置 | |
CN104219159A (zh) | 基于虚拟局域网的虚拟接口进行链路聚合方法和装置 | |
CN111654559B (zh) | 一种容器数据传输方法及装置 | |
CN105700823A (zh) | 一种ip硬盘之间传输数据的方法和装置 |
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 |