CN107547349B - 一种虚拟机迁移的方法及装置 - Google Patents

一种虚拟机迁移的方法及装置 Download PDF

Info

Publication number
CN107547349B
CN107547349B CN201710639079.6A CN201710639079A CN107547349B CN 107547349 B CN107547349 B CN 107547349B CN 201710639079 A CN201710639079 A CN 201710639079A CN 107547349 B CN107547349 B CN 107547349B
Authority
CN
China
Prior art keywords
mac address
forwarding table
vsi
synchronous
port
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
CN201710639079.6A
Other languages
English (en)
Other versions
CN107547349A (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.)
Hangzhou H3C Technologies Co Ltd
Original Assignee
Hangzhou H3C 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 Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN201710639079.6A priority Critical patent/CN107547349B/zh
Publication of CN107547349A publication Critical patent/CN107547349A/zh
Application granted granted Critical
Publication of CN107547349B publication Critical patent/CN107547349B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本申请实施例提供了一种虚拟机迁移的方法及装置,属于互联网技术领域。所述方法包括:接收第一可扩展虚拟局域网络隧道端点VTEP设备发送的第一更新消息,所述第一更新消息中携带有第一同步媒体访问控制MAC地址以及所述第一同步MAC地址所属的第一虚拟交换实例VSI;查找到所述第一同步MAC地址匹配的第一转发表项且所述第一转发表项的出端口为以太网端口;通过所述第一VSI绑定VLAN的所有以太网端口发送所述ARP请求报文;确定预定时间内未接收到以所述第一同步MAC地址为发送端MAC地址的ARP响应报文,则将所述第一转发表项的出端口修改为连接所述第一VTEP设备的VxLAN隧道端口。采用本发明,可以降低传输数据的丢包率。

Description

一种虚拟机迁移的方法及装置
技术领域
本申请涉及互联网技术领域,特别是涉及一种虚拟机迁移的方法及装置。
背景技术
随着互联网技术的发展,EVPN(Ethernet Virtual Private Network,以太网虚拟专用网络)技术的应用越来越广泛。EVPN是一种基于Overlay技术的数据中心互连技术,通常应用于VxLAN(Virtual Extensible Lan,可扩展虚拟局域网络)中。EVPN网络中包含多个VTEP(VxLAN Tunnel End Point,VxLAN隧道端点)设备,该VTEP设备可以是传输设备(比如交换机)。VTEP设备可以与服务器连接,服务器中可以运行有一个或多个虚拟机。虚拟机则可以而通过VTEP设备与其他VTEP设备连接的虚拟机或服务器进行通信。
基于不同的业务需求,虚拟机在运行的过程中经常会发生迁移的情况,以虚拟机从接入VTEP1设备的服务器迁移到接入VTEP2设备的服务器为例,虚拟机迁移完毕后,会向VTEP2设备发送接入通知消息,VTEP2设备的交换芯片则可以存储该MAC地址与本地端口的对应关系。VTEP2设备的CPU(Central Processing Unit,中央处理器)可以按照轮询的方式,在该交换芯片中逐条查询缓存的MAC地址及对应的端口信息是否发生更新。当VTEP2设备查询到该虚拟机的MAC地址的端口信息由VTEP1设备的端口变为本地端口时,会向其他VTEP设备发送携带有该虚拟机的MAC地址的更新消息,其他VTEP设备接收到VTEP2设备发送的更新消息后,则会根据该更新消息,将该MAC地址对应的端口信息修改为VTEP2的端口。
然而,VTEP设备中存储的MAC地址通常较多,轮询查询的延迟性较大。这样,当虚拟机在不同的VTEP设备之间来回迁移,不同VTEP设备感知虚拟机迁移的快慢不一样,会使得更新过程出现错误。例如,虚拟机接入VTEP3设备的服务器迁移到接入VTEP1设备的服务器后,又迁移到接入VTEP2设备的服务器,如果VTEP2设备先感知到该虚拟机迁入本地的服务器,而VTEP1设备由于轮询查询的延迟性后感知到该虚拟机接入本地的服务器,则VTEP2设备会先将该虚拟机的MAC地址存储为本地MAC地址,然后接收到VTEP1设备发送的更新消息,将该MAC地址对应的端口信息修改为VTEP1设备的端口。这样,当其他设备发送给该虚拟机的网络数据到达VTEP2设备后,VTEP2设备会将该网络数据发送给VTEP1设备,而VTEP1设备在本地查找不到该虚拟机,该网络数据则无法发送给该虚拟机,导致传输数据的丢包率较高。
发明内容
本申请实施例的目的在于提供一种虚拟机迁移的方法和装置,以实现降低传输数据的丢包率。具体技术方案如下:
为实现上述目的,提供了一种虚拟机迁移的方法,该方法包括:
接收第一可扩展虚拟局域网络隧道端点VTEP设备发送的第一更新消息,第一更新消息中携带有第一同步媒体访问控制MAC地址以及第一同步MAC地址所属的第一虚拟交换实例VSI;
根据第一同步MAC地址在第一VSI关联的转发表执行查找;
查找到第一同步MAC地址匹配的第一转发表项且第一转发表项的出端口为以太网端口;
查找第一同步MAC地址匹配的ARP表项;
以查找到的ARP表项的IP地址作为目标端IP地址,生成ARP请求报文;
通过第一VSI绑定VLAN的所有以太网端口发送ARP请求报文;
确定预定时间内未接收到以第一同步MAC地址为发送端MAC地址的ARP响应报文,则将第一转发表项的出端口修改为连接第一VTEP设备的VxLAN隧道端口。
为实现上述目的,提供了一种虚拟机迁移的装置,该装置包括:
接收模块,用于接收第一可扩展虚拟局域网络隧道端点VTEP设备发送的第一更新消息,第一更新消息中携带有第一同步媒体访问控制MAC地址以及第一同步MAC地址所属的第一虚拟交换实例VSI;
查找模块,用于根据第一同步MAC地址在第一VSI关联的转发表执行查找;
查找模块,还用于查找到第一同步MAC地址匹配的第一转发表项且第一转发表项的出端口为以太网端口;
查找模块,还用于查找第一同步MAC地址匹配的ARP表项;
生成模块,还用于以查找到的ARP表项的IP地址作为目标端IP地址,生成ARP请求报文;
发送模块,用于通过第一VSI绑定VLAN的所有以太网端口发送ARP请求报文;
修改模块,用于确定预定时间内未接收到以第一同步MAC地址为发送端MAC地址的ARP响应报文,则将第一转发表项的出端口修改为连接第一VTEP设备的VxLAN隧道端口。
本发明提供的上述方案的有益效果在于,感知虚拟机迁移,更新迁移的虚拟机的转发表项,避免迁移的虚拟机的转发表项更新错误,降低了传输数据的丢包率。当然,实施本申请的任一产品或方法必不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的虚拟机迁移的方法流程图;
图2为本发明实施例提供的实现虚拟机迁移的以太网虚拟专用网络示意图;
图3为本发明实施例提供的一种虚拟机迁移的方法流程图;
图4为本发明实施例提供的一种VTEP设备感知虚拟机接入的方法流程图;
图5为本发明实施例提供的一种虚拟机迁移的装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本发明实施例提供了一种虚拟机迁移的方法,该方法可以应用于EVPN(EthernetVirtual Private Network,以太网虚拟专用网络)中的VTEP设备。
如图1所示,该方法的处理过程可以包括以下步骤:
步骤101,接收第一可扩展虚拟局域网络隧道端点VTEP设备发送的第一更新消息。
其中,第一更新消息中携带有第一同步媒体访问控制MAC地址以及第一同步MAC地址所属的第一虚拟交换实例VSI。
步骤102,根据第一同步MAC地址在第一VSI关联的转发表执行查找。
步骤103,查找到第一同步MAC地址匹配的第一转发表项且第一转发表项的出端口为以太网端口。
步骤104,查找第一同步MAC地址匹配的ARP表项。
步骤105,以查找到的ARP表项的IP地址作为目标端IP地址,生成ARP请求报文。
步骤106,通过第一VSI绑定VLAN的所有以太网端口发送ARP请求报文。
步骤107,确定预定时间内未接收到以第一同步MAC地址为发送端MAC地址的ARP响应报文,则将第一转发表项的出端口修改为连接第一VTEP设备的VxLAN隧道端口。
基于上述处理,确定第一同步MAC地址对应的虚拟机未迁入与本地连接的服务器中,再更新转发表项,能够避免更新转发表项出现错误,降低了传输数据的丢包率。
图2所示的EVPN(Ethernet Virtual Private Network,以太网虚拟专用网络)中,VTEP211-VTEP231之间建立VxLAN(Virtual Extensible LAN,可扩展虚拟局域网络)隧道。VTEP211通过以太网端口连接用于接入服务器213的交换机212。服务器213上承载了VM2131-VM m的多个虚拟机。VTEP221通过以太网端口连接用于接入服务器223的交换机222。服务器223上承载了VM2231-VM n的多个虚拟机。VTEP231通过以太网端口连接用于接入服务器233的交换机232。服务器233上承载了VM2331-VM x的多个虚拟机。
图3所示为图2中的设备执行该方法时的处理过程,具体可以包括以下步骤:
步骤301,接收VTEP211发送的第一更新消息。
其中,第一更新消息中可以携带有第一同步MAC地址以及第一同步MAC地址所属的第一VSI。
在实施中,当某虚拟机迁移到服务器213后,VTEP211可以感知到迁入到服务器213的虚拟机,该感知过程后续会进行详细说明。VTEP211可以向所属的第一VSI(VirtualSwitch Instance,虚拟交换实例)中的其他VTEP设备(即VTEP221和VTEP231)发送第一更新消息,该第一更新消息可以是BGP(Border Gateway Protocol,边界网关协议)update消息,第一更新消息中可以至少携带有该虚拟机的MAC地址(即第一同步MAC地址)以及第一同步MAC地址所属的第一VSI,该第一更新消息还可以携带有其他信息,比如该虚拟机的迁移序号等,本实施例不做限定。VTEP231接收到第一更新消息后,可以对该第一更新消息进行解析,获取第一同步MAC地址和第一虚拟交换实例VSI,并存储在本地的缓存内,以便进行后续处理。
步骤302,根据第一同步MAC地址在第一VSI关联的转发表执行查找。
在实施中,VTEP设备中可以存储有所属的VSI中的各虚拟机的转发表项,该转发表项可以存储在VTEP设备的CPU中,该转发表项可以包括虚拟机的MAC地址和该虚拟机的MAC地址对应的出端口,该出端口可以是该虚拟机所接入的VTEP设备的端口。如果虚拟机接入与本地连接的服务器,则出端口为以太网端口;如果虚拟机接入与其他VTEP设备连接的服务器,则该端口为其他VTEP设备的VxLAN隧道端口。VTEP设备可以根据该转发表项,将接收到的业务数据转发给相应的虚拟机。其中,出端口为VxLAN隧道端口的转发表项,与出端口为以太网端口的转发表项可以分为两个存储区域进行存储,也可以存储在同一存储区域中。
VTEP231获取到第一虚拟机的MAC地址后,可以在第一VSI关联的转发表中执行查找,确定是否存在该虚拟机的MAC地址,如果存在,则执行步骤303-308;如果不存在,则执行步骤309-步骤310。对于上述出端口为VxLAN隧道端口的转发表项,与出端口为以太网端口的转发表项分为两个存储区域进行存储的情况,VTEP231可以只在以太网端口对应的存储区域中进行查找。
步骤303,查找到第一同步MAC地址匹配的第一转发表项且第一转发表项的出端口为以太网端口。
在实施中,VTEP231查找到第一同步MAC地址匹配的第一转发表项,可以进一步获取第一转发表项中的出端口,确定该出端口为以太网端口或VxLAN隧道端口。如果VTEP231确定出端口为以太网端口,则执行步骤304-步骤308,如果VTEP231确定该出端口为VxLAN隧道端口,则将第一转发表项的出端口修改为连接VTEP211的VxLAN隧道端口。
步骤304,查找第一同步MAC地址匹配的ARP表项。
在实施中,VTEP设备中还可以存储各MAC地址对应的ARP表项,ARP表项中可以包括该MAC地址对应的IP地址。VTEP231可以根据第一同步MAC地址,在本地存储的各ARP表项中,查找第一同步MAC地址匹配的ARP表项,进而获取该ARP表项中的IP地址。
步骤305,以查找到的ARP表项的IP地址作为目标端IP地址,生成ARP请求报文。
步骤306,通过第一VSI绑定VLAN的所有以太网端口发送ARP请求报文。
其中,该ARP响应报文中可以是以第一同步MAC地址为发送端MAC地址的ARP响应报文。
在实施中,VTEP231生成以第一同步MAC地址对应的IP地址为目标端IP地址的ARP请求报文后,可以查找第一VSI绑定VLAN的所有以太网端口。该以太网端口是用于与接入本地的虚拟机进行通信的端口。VTEP231可以通过查找到的以太网端口发送该ARP请求报文,以使接入与本地连接的服务器且属于第一VSI的每个虚拟机都可以接收到该查询请求。虚拟机接收到该查询请求后,可以对该查询请求进行解析,获取其中的IP地址,判断该IP地址是否为自身的IP地址,如果是,则可以生成以第一同步MAC地址为发送端MAC地址的ARP响应报文,然后将该ARP响应报文通过以太网端口发送给VTEP231;如果不是,则可以不进行处理。
步骤307,确定预定时间内未接收到以第一同步MAC地址为发送端MAC地址的ARP响应报文,则将第一转发表项的出端口修改为连接VTEP211的VxLAN隧道端口。
在实施中,VTEP231接收到ARP响应报文后,可以对ARP响应报文进行解析,获取其中的发送端MAC地址,并确定该发送端MAC地址是否为第一同步MAC地址。VTEP231确定在预设时长内未接收到以第一同步MAC地址为发送端MAC地址的ARP响应报文,则说明该虚拟机已迁移出本地,可以将第一转发表项的出端口修改为连接VTEP211的VxLAN隧道端口。或者,VTEP231也可以删除查询到的第一转发表项;并在转发表中添加第二转发表项,该第二转发表项的出端口为连接VTEP211的VxLAN隧道端口。
步骤308,确定预定时间内接收到以第一同步MAC地址为发送端MAC地址的ARP响应报文,则丢弃通过第一更新消息获取的第一同步MAC地址以及第一VSI。
在实施中,VTEP231在预设时长内接收到以第一同步MAC地址为发送端MAC地址的ARP响应报文,则说明该虚拟机仍然位于本地以太网,丢弃通过第一更新消息获取的第一同步MAC地址以及第一VSI。
步骤309,在第一VSI关联的转发表中未查找到第一同步MAC地址匹配的转发表项。
步骤310,在第一VSI关联的转发表中记录第一同步MAC地址的第二转发表项。
在实施中,VTEP231在第一VSI关联的转发表中未查找到第一同步MAC地址匹配的转发表项,则可以在第一VSI关联的转发表中添加第一同步MAC地址的第二转发表项,该第二转发表项的出端口可以为连接VTEP211的VxLAN隧道端口。
基于图2所示的系统框架图,本发明实施例还提供了一种虚拟机迁移时,VTEP设备快速感知虚拟机接入的处理过程,以虚拟机从服务器222迁入服务器232,且VTEP231为执行主体为例,具体可以包括以下步骤:
步骤401,接收以太网数据报文。
在实施中,当虚拟机从服务器222迁入的服务器233,虚拟机发送以太网数据报文,VTEP232可以通过以太网端口,向VTEP231发送以太网数据报文。VTEP231的交换芯片接收到该以太网数据报文,根据太网数据报文源MAC地址、VLAN ID和该太网数据报文的接收端口学习MAC地址表项。交换芯片还可以拷贝一份该太网数据报文,将拷贝的太网数据报文和该太网数据报文的接收端口发送给CPU,以使该CPU获知该虚拟机接入到服务器233中。
步骤402,识别以太网数据报文所属VLAN绑定第一VSI。
在实施中,VTEP231的CPU可以根据该以太网数据报文中的VLAN ID识别绑定以太网数据报文所属VLAN绑定了第一VSI。
步骤403,根据以太网数据报文的源MAC地址在第一VSI关联的转发表执行查找。
在实施中,VTEP231的CPU可以根据以太网数据报文的源MAC地址,在第一VSI关联的转发表中执行查找。对于上述出端口为VxLAN隧道端口的转发表项,与出端口为以太网端口的转发表项分为两个存储区域进行存储的情况,VTEP231可以只在VxLAN隧道端口对应的存储区域中进行查找。
步骤404,查找到源MAC地址匹配的第三转发表项。
其中,第三转发表项的出端口为连接VTEP221的VxLAN隧道端口。
在实施中,VTEP231的CPU可以在上述确定出的转发表中,查找源MAC地址对应的第三转发表项,进而可以获取该第三转发表项中的出端口。由于该虚拟机从服务器223迁入服务器233,因此,第三转发表项记录的出端口为连接VTEP221的VxLAN隧道端口。CPU确定第三转发表项的出端口为连接VTEP221的VxLAN隧道端口,则执行步骤405;CPU未查找到源MAC地址匹配的发表项,则根据以太网数据报文学习源MAC地址。
步骤405,将第三转发表项的出端口修改为接收以太网数据报文的以太网端口。
在实施中,CPU获取到第三转发表项中的出端口,并确定第三转发表项的出端口为连接VTEP221的VxLAN隧道端口,则可以删除该连接VTEP221的VxLAN隧道端口,并将第三转发表项的出端口记录为接收该以太网数据报文的以太网端口。这样,VTEP设备可以快速的感知虚拟机的上线和迁移,提高了更新路由信息的效率。
步骤406,生成携带有源MAC地址和第一VSI的第二更新消息。
在实施中,生成第二更新消息的步骤可以由CPU来执行,第二更新消息中还可以携带有连接VTEP231的VxLAN隧道端口。
步骤407,向VTEP211和VTEP221发送第二更新消息。
在实施中,VTEP231可以向VTEP211和VTEP221发送更新消息,该更新消息可以是BGP(Border Gateway Protocol,边界网关协议)update消息,该更新消息中可以至少携带有源MAC地址(也可称为第二同步MAC地址)和第二同步MAC地址所属的第二VSI。VTEP211和VTEP221接收到该更新消息后,可以基于本方案更新转发表,以避免更新转发表出现错误,从而降低了传输数据的丢包率。VTEP231可以在执行步骤405之后,就向VTEP211和VTEP221发送更新消息;或者,也可以在执行步骤405之后,且达到预设周期(比如轮询周期)时,向VTEP211和VTEP221发送更新消息。
本发明提供的上述方案的有益效果在于,感知虚拟机迁移,更新迁移的虚拟机的转发表项,避免迁移的虚拟机的转发表项更新错误,降低了传输数据的丢包率。
本发明实施例还提供了一种VTEP设备,如图5所示,包括处理器510、交换芯片520、存储器530和通信总线540,其中,处理器510,交换芯片520和存储器530通过通信总线540完成相互间的通信。
存储器530,用于存储由处理器510执行的多个机器可读指令模块。这些机器可读指令模块包括查找模块531,生成模块532,修改模块533,丢弃模块534以及识别模块535。交换芯片520上具有接收模块521和发送模块522。
接收模块521,可以用于接收第一VTEP设备发送的第一更新消息,第一更新消息中携带有第一同步媒体访问控制MAC地址以及第一同步MAC地址所属的第一虚拟交换实例VSI。查找模块531,可以用于根据第一同步MAC地址在第一VSI关联的转发表执行查找;查找到第一同步MAC地址匹配的第一转发表项且第一转发表项的出端口为以太网端口;查找第一同步MAC地址匹配的ARP表项。生成模块532,还可以用于以查找到的ARP表项的IP地址作为目标端IP地址,生成ARP请求报文。发送模块522,可以用于通过第一VSI绑定VLAN的所有以太网端口发送ARP请求报文。修改模块533,可以用于确定预定时间内未接收到以第一同步MAC地址为发送端MAC地址的ARP响应报文,则将第一转发表项的出端口修改为连接第一VTEP设备的VxLAN隧道端口。
丢弃模块534,可以用于确定预定时间内接收到以第一同步MAC地址为发送端MAC地址的ARP响应报文,则丢弃通过第一更新消息获取的第一同步MAC地址以及第一VSI。
查找模块531,还可以用于在第一VSI关联的转发表中未查找到第一同步MAC地址匹配的转发表项。修改模块533,还可以用于在第一VSI关联的转发表中记录第一同步MAC地址的第二转发表项;其中,第二转发表项的出端口为连接第一VTEP设备的VxLAN隧道端口。
接收模块521,还可以用于接收以太网数据报文。识别模块535,可以用于识别以太网数据报文所属VLAN绑定第一VSI。查找模块531,还可以用于根据以太网数据报文的源MAC地址在第一VSI关联的转发表执行查找;查找到源MAC地址匹配的第三转发表项;其中,第三转发表项的出端口为连接第二VTEP设备的VxLAN隧道端口。修改模块533,还可以用于将第三转发表项的出端口修改为接收以太网数据报文的以太网端口。生成模块532,还可以用于生成携带有源MAC地址和第一VSI的第二更新消息。发送模块522,还可以用于向第一VTEP设备和第二VTEP设备发送第二更新消息。
机器可读存储介质可以包括RAM(Random Access Memory,随机存取存储器),也可以包括NVM(Non-Volatile Memory,非易失性存储器),例如至少一个磁盘存储器。另外,机器可读存储介质还可以是至少一个位于远离前述处理器的存储装置。
上述处理器可以是通用处理器,包括CPU(Central Processing Unit,中央处理器)、NP(Network Processor,网络处理器)等;还可以是DSP(Digital Signal Processing,数字信号处理器)、ASIC(Application Specific Integrated Circuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本发明提供的上述方案的有益效果在于,感知虚拟机迁移,更新迁移的虚拟机的转发表项,避免迁移的虚拟机的转发表项更新错误,降低了传输数据的丢包率。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。

Claims (8)

1.一种虚拟机迁移的方法,其特征在于,所述方法包括:
接收第一可扩展虚拟局域网络隧道端点VTEP设备发送的第一更新消息,所述第一更新消息中携带有第一同步媒体访问控制MAC地址以及所述第一同步MAC地址所属的第一虚拟交换实例VSI;
根据所述第一同步MAC地址在所述第一VSI关联的转发表执行查找;
查找到所述第一同步MAC地址匹配的第一转发表项且所述第一转发表项的出端口为以太网端口;
查找所述第一同步MAC地址匹配的ARP表项;
以查找到的ARP表项的IP地址作为目标端IP地址,生成ARP请求报文;
通过所述第一VSI绑定VLAN的所有以太网端口发送所述ARP请求报文;
确定预定时间内未接收到以所述第一同步MAC地址为发送端MAC地址的ARP响应报文,则将所述第一转发表项的出端口修改为连接所述第一VTEP设备的VxLAN隧道端口。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
确定预定时间内接收到以所述第一同步MAC地址为发送端MAC地址的ARP响应报文,则丢弃通过所述第一更新消息获取的所述第一同步MAC地址以及所述第一VSI。
3.根据权利要求1所述的方法,其特征在于,所述查找到所述第一同步MAC地址匹配的第一转发表项且所述第一转发表项的出端口为以太网端口步骤之前,所述方法还包括:
在所述第一VSI关联的转发表中未查找到所述第一同步MAC地址匹配的转发表项;
在所述第一VSI关联的转发表中记录所述第一同步MAC地址的第二转发表项;其中,所述第二转发表项的出端口为连接所述第一VTEP设备的VxLAN隧道端口。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收以太网数据报文;
识别所述以太网数据报文所属VLAN绑定所述第一VSI;
根据所述以太网数据报文的源MAC地址在所述第一VSI关联的转发表执行查找;
查找到所述源MAC地址匹配的第三转发表项;其中,所述第三转发表项的出端口为连接第二VTEP设备的VxLAN隧道端口;
将所述第三转发表项的出端口修改为接收所述以太网数据报文的以太网端口;
生成携带有所述源MAC地址和所述第一VSI的第二更新消息;
向所述第一VTEP设备和所述第二VTEP设备发送所述第二更新消息。
5.一种虚拟机迁移的装置,其特征在于,所述装置包括:
接收模块,用于接收第一可扩展虚拟局域网络隧道端点VTEP设备发送的第一更新消息,所述第一更新消息中携带有第一同步媒体访问控制MAC地址以及所述第一同步MAC地址所属的第一虚拟交换实例VSI;
查找模块,用于根据所述第一同步MAC地址在所述第一VSI关联的转发表执行查找,查找到所述第一同步MAC地址匹配的第一转发表项且所述第一转发表项的出端口为以太网端口;查找所述第一同步MAC地址匹配的ARP表项;
生成模块,用于以查找到的ARP表项的IP地址作为目标端IP地址,生成ARP请求报文;
发送模块,用于通过所述第一VSI绑定VLAN的所有以太网端口发送所述ARP请求报文;
修改模块,用于确定预定时间内未接收到以所述第一同步MAC地址为发送端MAC地址的ARP响应报文,则将所述第一转发表项的出端口修改为连接所述第一VTEP设备的VxLAN隧道端口。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括:
丢弃模块,用于确定预定时间内接收到以所述第一同步MAC地址为发送端MAC地址的ARP响应报文,则丢弃通过所述第一更新消息获取的所述第一同步MAC地址以及所述第一VSI。
7.根据权利要求5所述的装置,其特征在于,
所述查找模块,进一步用于确定在所述第一VSI关联的转发表中未查找到所述第一同步MAC地址匹配的转发表项,通知所述修改模块;
所述修改模块,进一步用于在所述第一VSI关联的转发表中记录所述第一同步MAC地址的第二转发表项;其中,所述第二转发表项的出端口为连接所述第一VTEP设备的VxLAN隧道端口。
8.根据权利要求5所述的装置,其特征在于,所述装置还包括识别模块;
所述接收模块,进一步用于接收以太网数据报文;
所述识别模块,用于识别所述以太网数据报文所属VLAN绑定所述第一VSI;
所述查找模块,进一步用于根据所述以太网数据报文的源MAC地址在所述第一VSI关联的转发表执行查找;查找到所述源MAC地址匹配的第三转发表项;其中,所述第三转发表项的出端口为连接第二VTEP设备的VxLAN隧道端口;
所述修改模块,进一步用于将所述第三转发表项的出端口修改为接收所述以太网数据报文的以太网端口;
所述生成模块,进一步用于生成携带有所述源MAC地址和所述第一VSI的第二更新消息;
所述发送模块,进一步用于向所述第一VTEP设备和所述第二VTEP设备发送所述第二更新消息。
CN201710639079.6A 2017-07-31 2017-07-31 一种虚拟机迁移的方法及装置 Active CN107547349B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710639079.6A CN107547349B (zh) 2017-07-31 2017-07-31 一种虚拟机迁移的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710639079.6A CN107547349B (zh) 2017-07-31 2017-07-31 一种虚拟机迁移的方法及装置

Publications (2)

Publication Number Publication Date
CN107547349A CN107547349A (zh) 2018-01-05
CN107547349B true CN107547349B (zh) 2021-02-05

Family

ID=60970398

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710639079.6A Active CN107547349B (zh) 2017-07-31 2017-07-31 一种虚拟机迁移的方法及装置

Country Status (1)

Country Link
CN (1) CN107547349B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108418740B (zh) * 2018-02-28 2020-09-08 新华三技术有限公司 报文处理方法及装置
CN108777663B (zh) * 2018-05-31 2021-02-09 新华三技术有限公司 一种路由信息的同步方法及装置
CN108418759B (zh) * 2018-05-31 2020-09-08 新华三技术有限公司 一种mac地址表项处理方法及装置
CN109412925B (zh) * 2018-09-30 2021-06-18 锐捷网络股份有限公司 基于vtep的转发表项更新方法及vtep
CN109450767B (zh) * 2018-10-26 2020-06-12 新华三技术有限公司 一种报文处理方法和装置
CN109639556B (zh) * 2019-01-07 2021-05-28 新华三技术有限公司 一种转发表项的上报方法及vtep设备
CN113296869B (zh) * 2020-02-24 2023-01-13 华为技术有限公司 一种虚拟机vm的迁移方法及装置
CN113574834B (zh) * 2020-02-28 2022-11-25 新华三技术有限公司 路由更新方法和装置
CN113872844B (zh) * 2020-06-30 2023-07-18 华为技术有限公司 建立vxlan隧道的方法及相关设备
CN113938354A (zh) * 2021-10-12 2022-01-14 中国联合网络通信集团有限公司 路由信息更新方法、装置、电子设备和计算机可读介质
CN114301994B (zh) * 2021-12-29 2023-09-19 迈普通信技术股份有限公司 一种双栈转换方法、装置、网络设备及存储介质
CN115297055B (zh) * 2022-07-25 2024-01-23 紫光云技术有限公司 一种公有云云主机迁移arp表项更新方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103647853A (zh) * 2013-12-04 2014-03-19 华为技术有限公司 一种在VxLAN中发送ARP报文发送方法、VTEP及VxLAN控制器
CN105704045A (zh) * 2014-11-26 2016-06-22 华为技术有限公司 数据中心网关间虚拟机位置信息同步的方法、网关及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9282033B2 (en) * 2013-08-06 2016-03-08 Cisco Technology, Inc. Intelligent handling of virtual machine mobility in large data center environments

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103647853A (zh) * 2013-12-04 2014-03-19 华为技术有限公司 一种在VxLAN中发送ARP报文发送方法、VTEP及VxLAN控制器
CN105704045A (zh) * 2014-11-26 2016-06-22 华为技术有限公司 数据中心网关间虚拟机位置信息同步的方法、网关及系统

Also Published As

Publication number Publication date
CN107547349A (zh) 2018-01-05

Similar Documents

Publication Publication Date Title
CN107547349B (zh) 一种虚拟机迁移的方法及装置
US10742529B2 (en) Hierarchichal sharding of flows from sensors to collectors
JP6934142B2 (ja) データ処理
CN107783815B (zh) 一种确定虚拟机迁移的方法和装置
US9281955B2 (en) Interoperability of data plane based overlays and control plane based overlays in a network environment
CN107070691B (zh) Docker容器的跨主机通信方法和系统
US10541913B2 (en) Table entry in software defined network
US10191758B2 (en) Directing data traffic between intra-server virtual machines
US10333845B2 (en) Forwarding data packets
US9825859B2 (en) Item aggregation in shortest path bridging mac-in-mac mode (SPBM) network
US20150172156A1 (en) Detecting end hosts in a distributed network environment
JP2019517168A (ja) 物理ネットワークと仮想ネットワークの間の相互接続
US10341223B2 (en) Multicast data packet forwarding
US10574570B2 (en) Communication processing method and apparatus
US10326712B2 (en) Multicast data packet forwarding
US10511547B2 (en) Multicast data packet forwarding
WO2013049989A1 (en) Layer two interconnection between data centers
CN107493222B (zh) 一种vxlan报文转发的方法及装置
RU2642833C2 (ru) Способ и устройство для обеспечения медиаресурса
WO2016115698A1 (zh) 数据报文的转发方法、装置及设备
WO2017152563A1 (zh) 一种sdn二层转发方法及系统
WO2018019270A1 (zh) 数据流的处理
US9985926B2 (en) Address acquiring method and network virtualization edge device
US20220174081A1 (en) Monitoring of abnormal host
CN109617817B (zh) 一种mlag组网的转发表项的生成方法及装置

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