一种实现虚拟机报文转发的方法和交换机的制作方法

文档序号:10615925阅读:266来源:国知局
一种实现虚拟机报文转发的方法和交换机的制作方法
【专利摘要】本发明实施例提供一种实现虚拟机报文转发的方法,包括:接收第一服务器上第一虚拟机发出的包含第一虚拟机标识以及第一虚拟机所属虚拟网络标识的第一报文;根据所述第一报文中的所述第一虚拟机标识以及第一虚拟机所属虚拟网络标识建立第一通道,将与网关服务器连接的端口以及与所述第一服务器连接的端口加入所述第一通道中,在所述与所述第一服务器连接的端口学习所述第一虚拟机标识;通过所述第一通道中的与网关服务器连接的端口发送所述第一虚拟机发送的数据报文。同时,本发明实施例还提供一种实现虚拟机报文转发的交换机,通过本发明降低数据中心网络运维的复杂度,提高网络的灵活性,实现了物理网络与虚拟网络的自动对接。
【专利说明】
一种实现虚拟机报文转发的方法和交换机
技术领域
[0001]本发明涉及网络通信领域,尤其是涉及一种实现虚拟机报文转发的方法和交换机。
【背景技术】
[0002]系统虚拟化的目的是通过使用虚拟化管理器(Virtual Machine Monitor,简称VMM)在一台物理机上虚拟和运行一台或多台虚拟机(Virtual Machine,简称VM),虚拟机是指使用系统虚拟化技术,运行在一个隔离环境中、具有完整硬件功能的逻辑计算机系统,包括客户操作系统和其中的应用程序。
[0003]虚拟网络指在虚拟化服务器里面,在Hypervi sor层运行的虚拟交换机、虚拟路由器等虚拟网络设备组成的虚拟网络通路。与虚拟网络对应的物理网络即由交换机硬件设备、路由器硬件设备等物理网络设备组成的物理网络通路。
[0004]虚拟交换机包含一定数量的虚拟端口,虚拟机通过这些虚拟端口连接到虚拟网络。计算中心管理员可以配置虚拟交换机上的VLAN(虚拟局域网,Virtual Local AreaNetwork),以及加入VLAN的虚拟端口,这样当虚拟机连接虚拟端口时,就有对应归属的VLAN0
[0005]为了让虚拟网络和物理网络之间可以正常通信,在物理网络边缘的接入交换机上必须配置和虚拟网络对应的VLAN。
[0006]虚拟机迀移指将正在运行的虚拟机从一台物理服务器移动到另一台物理服务器,而无需中断服务。虚拟机的迀移技术为服务器的虚拟化提供简便的方法。为了保证虚拟机迀移后正常可用,虚拟机对网络的要求是,虚拟机迀移前后的网络必须是同一个二层网络(即VLAN相同)。
[0007]为了让物理网络和虚拟网络可以对接,需要在物理网络边缘连接服务器的接入交换机上配置和服务器上的虚拟网络对应的网络通道(VLAN).尤其是考虑到虚拟机迀移的需要,在连接虚拟机迀入和迀出的服务器的接入交换机上需要提供配置相同的VLAN通道。当前的做法有这几种:
[0008]I)管理员在所有接入交换机上预先配置好所有涉及相同的VLAN。这种做法的问题是:任何一个二层报文会在所有接入交换机上进行转发,二层广播域扩大到整个数据中心网络。后期如果发生业务变动,需要在所有接入交换机上全部配置一遍。
[0009]2)当虚拟机需要迀移的时候,由管理员为目标网络增加对应的网络配置(如VLAN),这种人工配置的方法容易出现疏漏而且工作量也繁杂,另外由于网络基础设施和计算基础设施一般归属不同的部门运营,这还涉及到两个部门的默契配合,因此很难保证迀移时业务不会中断。
[0010]3)网管服务器和虚拟化服务器进行编程对接,网管服务器根据虚拟化服务器通告的网络通道(VLAN)配置信息及虚拟化服务器和接入交换机的拓扑连接关系,在对应的接入交换机上配置对应网络通道。为了对接,需要网管服务器软件厂商和服务器虚拟化软件厂商进行接口对接,依赖于服务器虚拟化软件厂商的开放程度,而很多商用的服务器虚拟化软件,开放的接口有限,或限于特定版本,或需要授权才能对接,或仅对特定对象开放。

【发明内容】

[0011]为解决上述技术问题,本发明实施例的一方面在于,提供一种实现虚拟机报文转发的方法,包括:
[0012]接收第一服务器上第一虚拟机发出的包含第一虚拟机标识以及第一虚拟机所属虚拟网络标识的第一报文;
[0013]根据所述第一报文中的所述第一虚拟机标识以及第一虚拟机所属虚拟网络标识建立第一通道,将与网关服务器连接的端口以及与所述第一服务器连接的端口加入所述第一通道中,在所述与所述第一服务器连接的端口学习所述第一虚拟机标识;
[0014]通过所述第一通道中的与网关服务器连接的端口发送所述第一虚拟机发送的数据报文。
[0015]还包括:
[0016]接收第一服务器上第二虚拟机发出的包含第二虚拟机标识以及第二虚拟机所属虚拟网络标识的第三报文;所述第二虚拟机所属虚拟网络标识等于所述第一虚拟机所属虚拟网络标识;
[0017]在所述与所述第一服务器连接的端口学习所述第二虚拟机标识;
[0018]将所述第三报文从所述第一通道中的与网关服务器连接的端口发送出去。
[0019]还包括:
[0020]接收第一服务器上第一虚拟机发出的包含第一虚拟机标识以及第一虚拟机所属虚拟网络标识的第四报文,当所述网关服务器的下行端口所属的虚拟网络标识等于所述第一虚拟机所属虚拟网络标识时,将所述第四报文从与所述网关服务器的下行端口连接的端口发送出去。
[0021]还包括:
[0022]当所述第一虚拟机从所述第一服务器迀移到第二服务器上,分别与所述第二服务器与所述网关服务器相连的迀入交换机接收所述第一虚拟机发出的包含第一虚拟机标识以及第一虚拟机所属虚拟网络标识的第二报文,根据所述第二报文中的所述第一虚拟机标识以及第一虚拟机所属虚拟网络标识建立第二通道,将与网关服务器连接的端口以及与所述第二服务器连接的端口加入所述第二通道中,在所述与所述第二服务器连接的端口学习所述第一虚拟机标识后,接收所述第二报文;
[0023]根据所述第二报文中的所述第一虚拟机标识删除与所述第一服务器连接的端口学习的所述第一虚拟机标识,在与所述网关服务器连接的端口上学习所述第一虚拟机标识。
[0024]还包括:
[0025]在所述第一虚拟机标识对应的所述第一通道中,查询与所述第一服务器连接的端口中是否存在除了所述第一虚拟机标识以外的其他虚拟机标识,当不存在其他虚拟机标识时,从所述第一通道中删除与所述第一服务器连接的端口。
[0026]还包括:
[0027]查询所述第一通道中是否存在除了与所述网关服务器连接的端口以外的与其他服务器连接的端口,当不存在与其他服务器连接的端口时,从所述通道中删除所述与所述网关服务器连接的端口后,删除所述第一通道。
[0028]本发明实施例的另一方面在于,提供一种实现虚拟机报文转发的交换机,包括:
[0029]第一接收模块,用于接收第一服务器上第一虚拟机发出的包含第一虚拟机标识以及第一虚拟机所属虚拟网络标识的第一报文;
[0030]通道管理模块,用于根据所述第一报文中的所述第一虚拟机标识以及第一虚拟机所属虚拟网络标识建立第一通道,将与网关服务器连接的端口以及与所述第一服务器连接的端口加入所述第一通道中,在所述与所述第一服务器连接的端口学习所述第一虚拟机标识;
[0031 ]第一发送模块,用于通过所述第一通道中的与网关服务器连接的端口发送所述第一虚拟机发送的数据报文。
[0032]所述第一接收模块,还用于接收第一服务器上第二虚拟机发出的包含第二虚拟机标识以及第二虚拟机所属虚拟网络标识的第三报文;所述第二虚拟机所属虚拟网络标识等于所述第一虚拟机所属虚拟网络标识;
[0033]所述通道管理模块,还用于在所述与所述第一服务器连接的端口学习所述第二虚拟机标识;
[0034]所述第一发送模块,还用于将所述第三报文从所述第一通道中的与网关服务器连接的端口发送出去。
[0035]所述第一接收模块,还用于接收第一服务器上第一虚拟机发出的包含第一虚拟机标识以及第一虚拟机所属虚拟网络标识的第四报文,
[0036]所述第一发送模块,具体用于当所述网关服务器的下行端口所属的虚拟网络标识等于所述第一虚拟机所属虚拟网络标识时,将所述第四报文从与所述网关服务器的下行端口连接的端口发送出去。
[0037]还包括:
[0038]第二接收模块,用于当所述第一虚拟机从所述第一服务器迀移到第二服务器上,分别与所述第二服务器与所述网关服务器相连的迀入交换机接收所述第一虚拟机发出的包含第一虚拟机标识以及第一虚拟机所属虚拟网络标识的第二报文,根据所述第二报文中的所述第一虚拟机标识以及第一虚拟机所属虚拟网络标识建立第二通道,将与网关服务器连接的端口以及与所述第二服务器连接的端口加入所述第二通道中,在所述与所述第二服务器连接的端口学习所述第一虚拟机标识后,接收所述第二报文;
[0039]所述通道管理模块,还用于根据所述第二报文中的所述第一虚拟机标识删除与所述第一服务器连接的端口学习的所述第一虚拟机标识,在与所述网关服务器连接的端口上学习所述第一虚拟机标识。
[0040]所述通道管理模块,还用于在所述第一虚拟机标识对应的所述第一通道中,查询与所述第一服务器连接的端口中是否存在除了所述第一虚拟机标识以外的其他虚拟机标识,当不存在其他虚拟机标识时,从所述第一通道中删除与所述第一服务器连接的端口。
[0041]所述通道管理模块,还用于查询所述第一通道中是否存在除了与所述网关服务器连接的端口以外的与其他服务器连接的端口,当不存在与其他服务器连接的端口时,从所述通道中删除所述与所述网关服务器连接的端口后,删除所述第一通道。
[0042]本发明实施例的有益效果在于,降低数据中心网络运维的复杂度,提高网络的灵活性,实现了物理网络与虚拟网络的自动对接。
【附图说明】
[0043]为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0044]图1为本发明第一实施例的方法流程图;
[0045]图2为本发明第二实施例的方法流程图;
[0046]图3为本发明第三实施例的方法流程图;
[0047]图4为本发明第四实施例的方法流程图;
[0048]图5为本发明第五实施例的方法流程图;
[0049]图6为本发明第六实施例的方法流程图;
[0050]图7为本发明实施例应用场景的系统示意图;
[0051 ]图8为本发明第七实施例的装置结构图;
[0052]图9为本发明第十实施例的装置结构图。
【具体实施方式】
[0053]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0054]本发明第一实施例提供一种实现虚拟机报文转发的方法,如图1所示,包括以下步骤:
[0055]SlOl,接收第一服务器上第一虚拟机发出的包含第一虚拟机标识以及第一虚拟机所属虚拟网络标识的第一报文;
[0056]S103,根据所述第一报文中的所述第一虚拟机标识以及第一虚拟机所属虚拟网络标识建立第一通道,将与网关服务器连接的端口以及与所述第一服务器连接的端口加入所述第一通道中,在所述与所述第一服务器连接的端口学习所述第一虚拟机标识;
[0057]S105,通过所述第一通道中的与网关服务器连接的端口发送所述第一虚拟机发送的数据报文。
[0058]本发明实施例的有益效果在于,降低数据中心网络运维的复杂度,提高网络的灵活性,实现了物理网络与虚拟网络的自动对接。
[0059]可选的,在第一实施例的基础上,如图2所示,本发明第二实施例还包括步骤:
[0060]S107,接收第一服务器上第二虚拟机发出的包含第二虚拟机标识以及第二虚拟机所属虚拟网络标识的第三报文;所述第二虚拟机所属虚拟网络标识等于所述第一虚拟机所属虚拟网络标识;
[0061]S109,在所述与所述第一服务器连接的端口学习所述第二虚拟机标识;
[0062]Slll,将所述第三报文从所述第一通道中的与网关服务器连接的端口发送出去。
[0063]可选的,在第一实施例的基础上,如图3所示,本发明第三实施例还包括步骤:
[0064]S113,接收第一服务器上第一虚拟机发出的包含第一虚拟机标识以及第一虚拟机所属虚拟网络标识的第四报文,
[0065]S115,当所述网关服务器的下行端口所属的虚拟网络标识等于所述第一虚拟机所属虚拟网络标识时,将所述第四报文从与所述网关服务器的下行端口连接的端口发送出去。
[0066]可选的,在第一实施例的基础上,如图4所示,本发明第四实施例还包括步骤:
[0067]S117,当所述第一虚拟机从所述第一服务器迀移到第二服务器上,分别与所述第二服务器与所述网关服务器相连的迀入交换机接收所述第一虚拟机发出的包含第一虚拟机标识以及第一虚拟机所属虚拟网络标识的第二报文,根据所述第二报文中的所述第一虚拟机标识以及第一虚拟机所属虚拟网络标识建立第二通道,将与网关服务器连接的端口以及与所述第二服务器连接的端口加入所述第二通道中,在所述与所述第二服务器连接的端口学习所述第一虚拟机标识后,接收所述第二报文;
[0068]S119,根据所述第二报文中的所述第一虚拟机标识删除与所述第一服务器连接的端口学习的所述第一虚拟机标识,在与所述网关服务器连接的端口上学习所述第一虚拟机标识O
[0069]本发明实施例的有益效果在于,降低数据中心网络运维的复杂度,提高网络的灵活性。
[0070]同时,虚拟机迀移时数据中心物理网络边缘的接入层交换机自动提供对应的网络通道,满足虚拟机业务通信需要。这个方法可以减少网络运维人员的工作量和人工错误。
[0071]可选的,在第四实施例的基础上,如图5所示,本发明第五实施例还包括步骤:
[0072]S121,在所述第一虚拟机标识对应的所述第一通道中,查询与所述第一服务器连接的端口中是否存在除了所述第一虚拟机标识以外的其他虚拟机标识,当不存在其他虚拟机标识时,从所述第一通道中删除与所述第一服务器连接的端口。
[0073]可选的,在第五实施例的基础上,如图6所示,本发明第六实施例还包括步骤:
[0074]S123,查询所述第一通道中是否存在除了与所述网关服务器连接的端口以外的与其他服务器连接的端口,当不存在与其他服务器连接的端口时,从所述通道中删除所述与所述网关服务器连接的端口后,删除所述第一通道。
[0075]接下来,结合具体的应用场景对本发明上述实施例进行更为详细的说明,如图7所示,初始状态下,接入交换机(如图7中的SI和S2)不配置任何业务虚拟局域网VLAN,当然在其他实施例中VLAN可以替换为VXLAN(虚拟可扩展局域网Virtual extensible Local AreaNetwork)。接入交换机连接服务器的端口简称服务器端口,未加入到VLAN100中。接入交换机连接上行网关服务器S3的上行端口未加入到VLAN100中。网关服务器S3上配置VLAN100,其连接SI和S2的下行端口上都已经加入VLAN100中。第一虚拟机VMl和第二虚拟机VM2都属于VLAN100,这是通过将VMl和VM2的虚拟机标识添加入VLAN100中实现的,这里虚拟机标识可以为MAC地址或其他能唯一标识虚拟机的标识。
[0076]虚拟机VMl启动后会向接入交换机SI发送第一报文,该第一报文可以为网络控制报文,如ARP(Address Resolut1n Protocol,地址解析协议)/RARP(反向ARP)/DHCP(Dynamic Host Configurat1n Protocol,动态主机配置协议)等报文,比如当VMl通过静态方式获取IP地址后,该第一报文可以为请求网关服务器地址的ARP报文,当VMl通过动态方式获取IP地址时,该第一报文可以为对外发送请求DHCP服务器分配IP地址的DHCP请求报文,当接入交换机SI在其服务器端口收到ARP报文或者DHCP请求报文时,由于接入交换机SI上没有配置VMl所属的VLAN,所以ARP报文或者DHCP请求报文不能够通过SI得到转发。这时,SI分析ARP报文或者DHCP请求报文,从报文中提取虚拟机标识MAC地址和VLAN标签VLAN100,SI使用这两个信息为VMl创建第一通道,即动态的VLAN通道,具体为:首先SI根据VLAN标签,在本机上创建对应的VLAN100,并标记为动态VLAN,然后SI把收到的VM的ARP报文或者DHCP请求报文的端口加入到VLAN100中,把与所述网关服务器S3连接的上行端口也加入到VLAN100中,再次SI的服务器端口学习到VMl的MAC地址,最后SI在VLAN通道创建完成后将ARP报文或者DHCP报文从除了服务器端口外的属于VLAN100的与网关服务器S3相连的端口发送出去,同理,VMl发送的数据报文也从该通道中的与网关服务器S3相连的端口发送出去。
[0077]当有和VMl属于相同VLAN的其他虚拟机(如VM2)启动时,由于此时SI上已经建立VLAN100的通道,VM2发送的报文可以被SI正常转发,SI上按照常规逻辑学习到VM2的MAC地址,并将VM2的报文从该通道中的与网关服务器S3相连的端口发送出去。
[0078]当发生虚拟机VMl迀移的时候,现有的技术方案中,虚拟机迀入的目的服务器即第二服务器的Hypervis1r(也叫VMM,virtual machine monitor)会指示虚拟机发送RARP(反向ARP)报文。该报文主要目的用于通告网关服务器虚拟机的位置发生了变化。如果此时目的服务器接入的交换机上没有配置对应的VLAN通道,那么RARP报文将不会通过接入交换机的转发达到网关服务器。在本发明实施例中,对于RARP报文的处理和ARP报文、DHCP报文类似:当S2在服务器端口收到VLAN未配置的RARP报文时,需要提取RARP报文中虚拟机的标识MAC地址和VLAN标签。使用这两个信息为在第二服务器上的VMl创建第二通道,即动态VLAN通道。S2将RARP报文从与网关服务器S3相连的上行端口发送出去。由于RARP报文会在二层VLAN中广播,VMl迀出的第一服务器连接的接入交换机SI也会收到该广播报文,此时SI上触发MAC地址更新,与S3相连的上行端口添加VMl的MAC地址,同时连接第一服务器的服务器端口删除该MAC地址。根据VMl的MAC地址所属的VLAN100,检查与第一服务器连接的服务器端口上是否还有其他属于此VLAN100的虚拟机MAC地址,比如VM2的MAC地址,如果有则不做任何操作。如果与第一服务器连接的服务器端口上找不到任何属于此VLAN100的虚拟机MAC地址,则将与第一服务器连接的服务器端口从VLAN100中删除。并检查此VLAN100下是否还有其他除了与S3连接的上行端口外的服务器端口,如果有则不做任何处理;如果没有则将与S3连接的上行端口从VLAN100中删除,然后删除VLAN100,即删除第一通道。
[0079]可选的,当虚拟机跨三层网络迀移时,由于RARP报文不能跨越三层网络进行转发,因此原来的VLAN通道的删除操作不能被MAC地址更新这一条件所触发,这种条件下会通过MAC地址老化机制触发。如果MAC地址老化机制不能满足快速删除网络通道的要求,则可以在两个接入交换机之间配置二层隧道,使RARP报文可以通过该二层隧道进行转发,达到删除通道的目的。
[0080]同时,本发明第七实施例还提供一种实现虚拟机报文转发的交换机,如图8所示,包括:
[0081]第一接收模块201,用于接收第一服务器上第一虚拟机发出的包含第一虚拟机标识以及第一虚拟机所属虚拟网络标识的第一报文;
[0082]通道管理模块203,用于根据所述第一报文中的所述第一虚拟机标识以及第一虚拟机所属虚拟网络标识建立第一通道,将与网关服务器连接的端口以及与所述第一服务器连接的端口加入所述第一通道中,在所述与所述第一服务器连接的端口学习所述第一虚拟机标识;
[0083]第一发送模块205,用于通过所述第一通道中的与网关服务器连接的端口发送所述第一虚拟机发送的数据报文。
[0084]本发明实施例的有益效果在于,降低数据中心网络运维的复杂度,提高网络的灵活性。
[0085]可选的,在第七实施例的基础上,本发明第八实施例中,
[0086]第一接收模块201,还用于接收第一服务器上第二虚拟机发出的包含第二虚拟机标识以及第二虚拟机所属虚拟网络标识的第三报文;所述第二虚拟机所属虚拟网络标识等于所述第一虚拟机所属虚拟网络标识;
[0087]通道管理模块203,还用于在所述与所述第一服务器连接的端口学习所述第二虚拟机标识;
[0088]第一发送模块205,还用于将所述第三报文从所述第一通道中的与网关服务器连接的端口发送出去。
[0089]可选的,在第七实施例的基础上,本发明第九实施例中,
[0090]第一接收模块201,还用于接收第一服务器上第一虚拟机发出的包含第一虚拟机标识以及第一虚拟机所属虚拟网络标识的第四报文,
[0091]第一发送模块205,具体用于当所述网关服务器的下行端口所属的虚拟网络标识等于所述第一虚拟机所属虚拟网络标识时,将所述第四报文从与所述网关服务器的下行端口连接的端口发送出去。
[0092]可选的,在第七实施例的基础上,如图9所示,本发明第十实施例中,还包括:
[0093]第二接收模块207,用于当所述第一虚拟机从所述第一服务器迀移到第二服务器上,分别与所述第二服务器与所述网关服务器相连的迀入交换机接收所述第一虚拟机发出的包含第一虚拟机标识以及第一虚拟机所属虚拟网络标识的第二报文,根据所述第二报文中的所述第一虚拟机标识以及第一虚拟机所属虚拟网络标识建立第二通道,将与网关服务器连接的端口以及与所述第二服务器连接的端口加入所述第二通道中,在所述与所述第二服务器连接的端口学习所述第一虚拟机标识后,接收所述第二报文;
[0094]通道管理模块203,还用于根据所述第二报文中的所述第一虚拟机标识删除与所述第一服务器连接的端口学习的所述第一虚拟机标识,在与所述网关服务器连接的端口上学习所述第一虚拟机标识。
[0095]本发明实施例的有益效果在于,降低数据中心网络运维的复杂度,提高网络的灵活性,实现了物理网络与虚拟网络的自动对接。
[0096]同时,虚拟机迀移时数据中心物理网络边缘的接入层交换机自动提供对应的网络通道,满足虚拟机业务通信需要。这个方法可以减少网络运维人员的工作量和人工错误。
[0097]可选的,在第七实施例的基础上,本发明第十一实施例中,
[0098]通道管理模块203,还用于在所述第一虚拟机标识对应的所述第一通道中,查询与所述第一服务器连接的端口中是否存在除了所述第一虚拟机标识以外的其他虚拟机标识,当不存在其他虚拟机标识时,从所述第一通道中删除与所述第一服务器连接的端口。
[0099]可选的,在第七实施例的基础上,本发明第十二实施例中,
[0100]通道管理模块203,还用于查询所述第一通道中是否存在除了与所述网关服务器连接的端口以外的与其他服务器连接的端口,当不存在与其他服务器连接的端口时,从所述通道中删除所述与所述网关服务器连接的端口后,删除所述第一通道。
[0101]最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
【主权项】
1.一种实现虚拟机报文转发的方法,其特征在于,包括: 接收第一服务器上第一虚拟机发出的包含第一虚拟机标识以及第一虚拟机所属虚拟网络标识的第一报文; 根据所述第一报文中的所述第一虚拟机标识以及第一虚拟机所属虚拟网络标识建立第一通道,将与网关服务器连接的端口以及与所述第一服务器连接的端口加入所述第一通道中,在所述与所述第一服务器连接的端口学习所述第一虚拟机标识; 通过所述第一通道中的与网关服务器连接的端口发送所述第一虚拟机发送的数据报文。2.根据权利要求1所述的方法,其特征在于,还包括: 接收第一服务器上第二虚拟机发出的包含第二虚拟机标识以及第二虚拟机所属虚拟网络标识的第三报文;所述第二虚拟机所属虚拟网络标识等于所述第一虚拟机所属虚拟网络标识; 在所述与所述第一服务器连接的端口学习所述第二虚拟机标识; 将所述第三报文从所述第一通道中的与网关服务器连接的端口发送出去。3.根据权利要求1所述的方法,其特征在于,还包括: 接收第一服务器上第一虚拟机发出的包含第一虚拟机标识以及第一虚拟机所属虚拟网络标识的第四报文,当所述网关服务器的下行端口所属的虚拟网络标识等于所述第一虚拟机所属虚拟网络标识时,将所述第四报文从与所述网关服务器的下行端口连接的端口发送出去。4.根据权利要求1所述的方法,其特征在于,还包括: 当所述第一虚拟机从所述第一服务器迀移到第二服务器上,分别与所述第二服务器与所述网关服务器相连的迀入交换机接收所述第一虚拟机发出的包含第一虚拟机标识以及第一虚拟机所属虚拟网络标识的第二报文,根据所述第二报文中的所述第一虚拟机标识以及第一虚拟机所属虚拟网络标识建立第二通道,将与网关服务器连接的端口以及与所述第二服务器连接的端口加入所述第二通道中,在所述与所述第二服务器连接的端口学习所述第一虚拟机标识后,接收所述第二报文; 根据所述第二报文中的所述第一虚拟机标识删除与所述第一服务器连接的端口学习的所述第一虚拟机标识,在与所述网关服务器连接的端口上学习所述第一虚拟机标识。5.根据权利要求4所述的方法,其特征在于,还包括: 在所述第一虚拟机标识对应的所述第一通道中,查询与所述第一服务器连接的端口中是否存在除了所述第一虚拟机标识以外的其他虚拟机标识,当不存在其他虚拟机标识时,从所述第一通道中删除与所述第一服务器连接的端口。6.根据权利要求5所述的方法,其特征在于,还包括: 查询所述第一通道中是否存在除了与所述网关服务器连接的端口以外的与其他服务器连接的端口,当不存在与其他服务器连接的端口时,从所述通道中删除所述与所述网关服务器连接的端口后,删除所述第一通道。7.一种实现虚拟机报文转发的交换机,其特征在于,包括: 第一接收模块,用于接收第一服务器上第一虚拟机发出的包含第一虚拟机标识以及第一虚拟机所属虚拟网络标识的第一报文; 通道管理模块,用于根据所述第一报文中的所述第一虚拟机标识以及第一虚拟机所属虚拟网络标识建立第一通道,将与网关服务器连接的端口以及与所述第一服务器连接的端口加入所述第一通道中,在所述与所述第一服务器连接的端口学习所述第一虚拟机标识; 第一发送模块,用于通过所述第一通道中的与网关服务器连接的端口发送所述第一虚拟机发送的数据报文。8.根据权利要求7所述的交换机,其特征在于, 所述第一接收模块,还用于接收第一服务器上第二虚拟机发出的包含第二虚拟机标识以及第二虚拟机所属虚拟网络标识的第三报文;所述第二虚拟机所属虚拟网络标识等于所述第一虚拟机所属虚拟网络标识; 所述通道管理模块,还用于在所述与所述第一服务器连接的端口学习所述第二虚拟机标识; 所述第一发送模块,还用于将所述第三报文从所述第一通道中的与网关服务器连接的端口发送出去。9.根据权利要求7所述的交换机,其特征在于, 所述第一接收模块,还用于接收第一服务器上第一虚拟机发出的包含第一虚拟机标识以及第一虚拟机所属虚拟网络标识的第四报文, 所述第一发送模块,具体用于当所述网关服务器的下行端口所属的虚拟网络标识等于所述第一虚拟机所属虚拟网络标识时,将所述第四报文从与所述网关服务器的下行端口连接的端口发送出去。10.根据权利要求7所述的交换机,其特征在于,还包括: 第二接收模块,用于当所述第一虚拟机从所述第一服务器迀移到第二服务器上,分别与所述第二服务器与所述网关服务器相连的迀入交换机接收所述第一虚拟机发出的包含第一虚拟机标识以及第一虚拟机所属虚拟网络标识的第二报文,根据所述第二报文中的所述第一虚拟机标识以及第一虚拟机所属虚拟网络标识建立第二通道,将与网关服务器连接的端口以及与所述第二服务器连接的端口加入所述第二通道中,在所述与所述第二服务器连接的端口学习所述第一虚拟机标识后,接收所述第二报文; 所述通道管理模块,还用于根据所述第二报文中的所述第一虚拟机标识删除与所述第一服务器连接的端口学习的所述第一虚拟机标识,在与所述网关服务器连接的端口上学习所述第一虚拟机标识。11.根据权利要求10所述的交换机,其特征在于, 所述通道管理模块,还用于在所述第一虚拟机标识对应的所述第一通道中,查询与所述第一服务器连接的端口中是否存在除了所述第一虚拟机标识以外的其他虚拟机标识,当不存在其他虚拟机标识时,从所述第一通道中删除与所述第一服务器连接的端口。12.根据权利要求11所述的交换机,其特征在于, 所述通道管理模块,还用于查询所述第一通道中是否存在除了与所述网关服务器连接的端口以外的与其他服务器连接的端口,当不存在与其他服务器连接的端口时,从所述通道中删除所述与所述网关服务器连接的端口后,删除所述第一通道。
【文档编号】H04L12/46GK105978828SQ201610325546
【公开日】2016年9月28日
【申请日】2016年5月16日
【发明人】刘熙
【申请人】锐捷网络股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1