大二层网络中虚拟机热迁移后的路由配置方法和网关与流程

文档序号:12039622阅读:261来源:国知局
大二层网络中虚拟机热迁移后的路由配置方法和网关与流程
本发明实施例涉及计算机网络领域,并且更具体地,涉及一种大二层网络中虚拟机热迁移后的路由配置方法和网关。

背景技术:
云计算和虚拟化技术使人们对数据中心的部署和管理提出了新的需求,包括多租户(Multi-tenant)管理、多个虚拟网络实现信息隔离以及跨数据中心、实现虚拟局域网(VirtualLAN,VLAN)全球部署等等。大二层网络技术通过利用互联网协议(InternetProtocol,IP)隧道技术,使VLAN之间可以互联互通,形成一个IP网络之上的一个重叠覆盖网络(Overlaynetwork)。但是,在虚拟机(VirtualMachine,VM)热迁移(livemigration)后,与VM通信的对端节点(CorrespondingNode,CN)并不知道VM的迁移动作,仍会与VM迁移之前的网络保持连接,从对端节点CN发出的数据抵达源网络后,再经由大二层网络的内部路由,抵达VM迁移后的网络,由此产生一个通信路径上的一个大的绕弯,导致VM与CN通信的延迟增加,该现象称之为traffictrombone现象。

技术实现要素:
本发明实施例提供一种大二层网络中虚拟机热迁移后的路由配置方法和网关,能够一定程度上减少大二层网络VM热迁移后的通信延迟。第一方面,提供了一种大二层网络中虚拟机热迁移后的路由配置方法,该方法包括:网关获取迁入第一子网的虚拟机VM的地址信息及与该VM通信的对端节点CN的地址信息,其中,该网关为该第一子网中用于与该第一子网的外部网络交互数据的网关,该VM从第二子网热迁移至该第一子网;该网关根据该CN的地址信息向该CN发送通道建立请求消息,其中,该通 道建立请求消息用于请求建立该网关与该CN之间的通道并将该通道配置到该CN至该VM的路由上,该通道用于传输该CN与该VM之间的数据包。结合第一方面,在第一种可能的实现方式中,该方法还包括:该网关接收该CN根据该通道建立请求消息发送的通道建立确认消息;该网关根据该通道建立确认消息配置该通道在该网关的端口;该网关将该通道配置到该VM至该CN的路由上。结合第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,该网关获取迁入第一子网的虚拟机VM的地址信息包括具体实现为:该网关获取来自该第二子网的地址解析协议ARP请求包,在该第一子网广播发送该ARP请求包,该ARP请求包携带有该VM的IP地址信息;该网关获取该VM根据该ARP请求包所返回的ARP响应包,该ARP响应包携带该VM的MAC地址信息;该网关根据该ARP请求包及该ARP响应包获取该VM的地址信息,该VM的地址信息包括该VM的IP地址和该VM的MAC地址。结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,该网关获取与该VM通信的对端节点CN的地址信息具体实现为:该网关获取经过该网关到达该VM的数据包,该数据包携带该CN的IP地址信息;该网关根据该数据包获取该CN的地址信息,该CN的地址信息包括该CN的IP地址信息。结合第一方面或第一方面的第一种可能的实现方式至第一方面的第三种可能的实现方式中任一种可能的实现方式,在第四种可能的实现方式中,具体实现为:该通道建立请求消息携带该通道的类型、该网关的IP地址信息和端口信息。第二方面,提供了一种网关,该网关包括:获取单元,用于获取迁入第一子网的虚拟机VM的地址信息及与该VM通信的对端节点CN的地址信息,其中,该网关为该第一子网中用于与该第一子网的外部网络交互数据的网关,该VM从第二子网热迁移至该第一子网;输出单元,用于根据该CN的地址信息向该CN发送通道建立请求消息,其中,该通道建立请求消息用于请求建立该网关与该CN之间的通道并将该通道更新到该CN至该VM的路由上,该通道用于传输该CN与该VM之间的数据包。结合第二方面,在第一种可能的实现方式中,该网关还包括:输入单元, 用于接收该CN根据该通道建立请求消息发送的通道建立确认消息;配置单元,用于根据该通道建立确认消息配置该通道在该网关的端口;该配置单元还用于将该通道配置到该VM至该CN的路由上。结合第二方面或第二方面的第一种可能的实现方式,在第二种可能的实现方式中,在获取迁入第一子网的虚拟机VM的地址信息,该获取单元具体实现为:获取来自该第二子网的地址解析协议ARP请求包,并通过输出单元在该第一子网广播发送该ARP请求包,该ARP请求包携带有该VM的IP地址信息;获取该VM根据该ARP请求包所返回的ARP响应包,该ARP响应包携带有该VM的MAC地址信息;根据该ARP请求包及该ARP响应包获取该VM的地址信息,该VM的地址信息包括该VM的IP地址和该VM的MAC地址;相应地,该输出单元还用于在该第一子网广播发送该ARP请求包。结合第二方面的第二种可能的实现方式,在第三种可能的实现方式中,在获取与该VM通信的对端节点CN的地址信息,该获取单元具体实现为:获取经过该网关到达该VM的数据包,该数据包携带有该CN的IP地址信息;根据该数据包获取该CN的地址信息,该CN的地址信息包括该CN的IP地址信息。结合第二方面或第二方面的第一种可能的实现方式至第二方面的第三种可能的实现方式中任一种可能的实现方式,在第四种可能的实现方式中,具体实现为:该通道建立请求消息携带该通道的类型、该网关的IP地址信息和端口信息。基于以上技术方案,大二层网络中虚拟机热迁移后的路由配置方法和网关,通过获取热迁移至网关所在子网的VM的地址信息及与VM通信的CN的地址信息,并向CN发送通道建立请求消息以建立网关到CN的通道并将通道配置到CN至VM之间的路由,缩短了CN至VM之间的路由路径,能够一定程度上减少大二层网络VM热迁移后的通信延迟。附图说明为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造 性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本发明实施例虚拟机热迁移前的应用场景示意图。图2是本发明实施例虚拟机热迁移后的应用场景示意图。图3是本发明实施例大二层网络虚拟机热迁移后的路由配置方法的一种流程示意图。图4是本发明实施例大二层网络虚拟机热迁移后的路由配置方法的另一种流程示意图。图5是本发明实施例大二层网络虚拟机热迁移后请求建立通道的应用场景示意图。图6是本发明实施例大二层网络虚拟机热迁移后的路由配置效果示意图。图7是本发明实施例大二层网络虚拟机热迁移后的通信方法的交互流程图。图8是本发明实施例网关的结构示意图。图9是本发明实施例另一网关的结构示意图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。为了方便理解本发明实施例,首先在此介绍本发明实施例描述中会引入的几个要素。为了方便理解本发明实施例,首先在此介绍本发明实施例描述中会引入的几个要素:虚拟机VM,指通过虚拟机软件可以在一台物理计算机上模拟出一台或者多台虚拟的计算机,而这些虚拟机就像真正的计算机那样进行工作,虚拟机上可以安装操作系统和应用程序,虚拟机还可访问网络资源。对于在虚拟机中运行的应用程序而言,虚拟机就像是在真正的计算机中进行工作。大二层网络技术,是指利用隧道等技术,使VLAN可以跨越互联网协议(InternetProtocol,IP)网络,实现二层网络互联互通的技术。另外,本发 明中提到的大二层网络技术,指使用IP网络互联技术,实现跨越三层网络的二层扩展网络技术,包括但不限于虚拟扩展局域网(VirtualeXtensibleLocalAreaNetwork,VxLAN)技术、通用路由封装网络虚拟化(NetworkVirtualizationusingGenericRoutingEncapsulation,NVGRE)技术、覆盖网络传输虚拟化(OverlayTransportVirtualization,OTV)等。热迁移(livemigration),指VM在不同的物理主机之间迁移的过程。迁移过程中VM不掉电,迁移后VM的媒体接入控制((MediaAccessControl,MAC)地址和IP地址保持不变。traffictrombone现象,是指网络内部的信息往返流动。在云计算环境里VM热迁移后,与其通信的CN会将数据先发到VM原网络,再经过大二层网络内部路由到VM,形成通信路径上一个大的绕弯,导致通信延迟增加等问题。网关(Gateway,GW),是一个网络连接到另一个网络的“关口”,又称网间连接器、协议转换器。网关在传输层上以实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连。网关既可以用于广域网互连,也可以用于局域网互连。网关是一种充当转换重任的计算机系统或设备。在使用不同的通信协议、数据格式或语言,甚至体系结构完全不同的两种系统之间,网关是一个翻译器。与网桥只是简单地传达信息不同,网关对收到的信息要重新打包,以适应目的系统的需求。同时,网关也可以提供过滤和安全功能。图1是本发明实施例虚拟机热迁移前的应用场景示意图。图1中,虚拟机(VirtualMachine,VM)108处于第二子网中,通过GW103经路由器102与对端节点(CorrespondingNode,CN)101通信。图1中,路由器102是一个泛指的概念,指代网络的路由器。GW103为第二子网中用于与第二子网的外部网络交互数据的网关。第二子网的外部网络,在图1中可以是第一子网或CN101所在的子网。VM108准备从第二子网迁移至第一子网。这里的第二子网可以理解为源子网,第一子网可以理解为目标子网。图2是本发明实施例虚拟机热迁移后的应用场景示意图。如图2所示,VM108从第二子网热迁移至第一子网后,与VM108通信的CN101向VM发送的数据包会仍然先抵达第二子网,经过大二层网络的内部的ARP和路由机制,抵达VM108所在的第一子网。如图2所示,CN101发送的数据包 可经过路由器102、GW103、第二子网VxLAN代理节点(VxLANTunnelEndPoint,VTEP)104、路由器105、VTEP106、GW107,到达VM108。图2中,路由器102和路由器105是一个泛指的概念,指代网络上的路由器。GW103为第二子网中用于与第二子网的外部网络交互数据的网关;GW107为第一子网中用于与第一子网的外部网络交互数据的网关。第二子网的外部网络在图2中可以是第一子网或CN101所在的子网。第一子网的外部网络在图2中可以是第二子网或CN101所在的子网。VM108从第二子网迁移至第一子网后,第二子网可通过VTEP104与VTEP106的隧道建立与VM108的连接。当然,本发明中,图1和图2所示的场景仅仅是一个示意图,并不表示本发明的实施例应用的场景中仅限于图中所示的网络节点,也可以对图中所示的节点作一定的添加、删除或替换,只要不影响本发明实施例方法的运行,本发明实施例在此并不作限制。另外,本发明任何地方提到的第二子网均指VM热迁移前所在的子网;本发明任何地方提到的第一子网均指VM热迁移后所在的子网。另外,本发明中,与VM通信的CN的具体形态,可以是PC机、虚拟机或其它形态,本发明实施例在此不作限制。图3是本发明实施例大二层网络虚拟机热迁移后的路由配置方法的一种流程示意图。图3的方法由网关执行。301,网关获取迁入第一子网的VM的地址信息及与该VM通信的对端节点CN的地址信息。其中,该网关为第一子网中用于与第一子网的外部网络交互数据的网关,该VM从第二子网热迁移至第一子网。当VM热迁移至第一子网时,IP地址和MAC地址不变。以图2为例,第二子网可通过第二子网的VTEP104与第一子网的VTEP106的隧道建立与VM108的连接。第一子网的GW107可检查VTEP104与VTEP106的隧道承载的数据包,发现迁入第一子网的虚拟机VM108,并获取与VM108通信的CN101的地址信息。302,该网关根据该CN的地址信息向该CN发送通道建立请求消息。其中,该通道建立请求消息用于请求建立该VM与该CN的通道,并将通道配置到该CN至该VM的路由上,该通道用于传输CN与VM之间的数 据包。网关根据该CN的地址信息向该CN发送通道建立请求消息的场景可如图5所示。图5是本发明实施例虚拟机热迁移后请求建立通道的场景示意图。图5中,GW107经由路由器105向CN101发送通道建立请求,以请求建立GW107与CN101之间的通道并将该通道配置到GW107与CN101之间的路由上。图5中,虽然VTEP104与VTEP106的隧道也经过路由器105,但并不表示VTEP104与VTEP106的隧道、GW107与CN101之间的通道二者之间必然包含相同的路由器。可见,本发明实施例中,网关通过获取热迁移至网关所在子网的VM的地址信息及与VM通信的CN的地址信息,并向CN发送通道建立请求消息以建立网关到CN的通道并将通道配置到CN至VM之间的路由,缩短了CN至VM之间的路由路径,能够一定程度上减少大二层网络VM热迁移后的通信延迟。图4是本发明实施例大二层网络虚拟机热迁移后的路由配置方法的另一种流程示意图。可选地,如图4所示,在该网关根据该CN的地址信息向该CN发送通道建立请求消息之后,该方法还可包括:303,该网关接收该CN根据该通道建立请求消息发送的通道建立确认消息。CN接收到通道建立请求消息后,如果同意建立通道,则配置通道在CN侧的端口,并向网关发送通道建立确认消息,指示网关配置通道在网关侧的端口。304,该网关根据该通道建立确认消息配置该通道在该网关的端口。网关根据通道建立确认消息,完成通道在网关侧的配置。305,该网关将该通道配置到该VM至该CN的路由上。网关建立通道后,可将该通道配置到VM至CN之间的路由上。此时,CN与VM通信的效果可如图6所示。图6是本发明实施例大二层网络虚拟机热迁移后的路由配置效果示意图。图6中,CN101与VM108之间的数据包通过CN101与GW107的通道进行传输,不再经过第二子网。可见,本发明实施例中,网关根据通道确认消息配置通道在网关侧的端口,并将该通道配置到该VM至该CN的路由上,缩短了VM至CN之间的 路由路径,能够一定程度上减少大二层网络VM热迁移后的通信延迟。可选地,步骤301中,该网关获取迁入第一子网的VM的地址信息可包括:该网关获取来自该第二子网的地址解析协议(AddressResolutionProtocol,ARP)请求包并在该第一子网广播发送该ARP请求包,该网关获取该VM根据该ARP请求包所返回的ARP响应包,该网关根据该ARP请求包和该ARP响应包获取该VM的地址信息。其中,该ARP请求包可携带有该VM的IP地址信息,该ARP响应包可携带有该VM的MAC地址信息,该VM的地址信息可包括该VM的IP地址信息和该VM的MAC地址信息。网关在获取VM对ARP请求包的ARP响应包后,可确认该VM为新迁入第一子网的VM,并获取该VM的地址信息(包括IP地址和MAC地址)。同时,第二子网通过ARP流程,可建立第二子网与VM通信的路由。进一步地,该网关获取与该VM通信的CN的地址信息可包括:该网关获取经过该网关到达该VM的数据包,该网关根据该数据包获取该CN的地址信息。其中,该数据包可携带有该CN的IP地址信息,该CN的地址信息可包括该CN的IP地址信息。当然,该数据包中还可携带该VM的IP地址信息和/或该VM的MAC地址信息。可选地,该通道建立请求可携带该通道的类型、该网关的IP地址信息和端口信息。可见,本发明实施例中,网关通过获取热迁移至网关所在子网的VM的地址信息及与VM通信的CN的地址信息,建立与CN之间的通道并将该通道配置到VM与CN之间的路由上,缩短了VM与CN之间的路由路径,能够一定程度上减少大二层网络VM热迁移后的通信延迟。下面将结合具体实施例,对本发明实施例的方法作进一步的说明。图7是本发明实施例通信方法具体流程示意图,应用于如图1、图2、图5或图6所述的应用场景中。其中,第一子网GW为第一子网中用于与第一子网外部网络交互数据的网关,第二子网GW为第二子网中用于与第二子网外部网络交互数据的网关。701,VM在第二子网上与CN通信。702,VM从第二子网热迁移至第一子网。其中,VM的IP地址和MAC地址保持不变。703,第二子网GW向第一子网GW发送ARP请求包。VM从第二子网热迁移至第一网关后,第二子网可通过第二子网GW向第一子网GW发起ARP流程,以获取第二子网GW至VM的路由的下一跳地址。具体地,第二子网GW可向第一子网GW发送ARP请求包,该ARP请求包中携带VM的IP地址信息。以图2为例,GW103可通过VTEP104与VTEP106之间的隧道向GW107发送ARP请求包。此时,ARP请求包中目标IP地址和目标MAC地址为VM的IP地址和全0的MAC地址。704,第一子网GW在第一子网内广播发送ARP请求包。第一子网GW可截获来自第二子网的ARP请求包后,并在第一子网内广播该ARP请求包。705,VM返回ARP请求包的ARP响应包至第一子网GW。VM接收到第一子网GW广播的ARP请求包后,提取ARP请求包中携带的目标主机的IP地址。如果VM发现该IP地址与自身的IP地址一致,则确认该ARP请求包是发给该VM的。此时,VM可向第一子网GW返回该ARP请求包的ARP响应包,该ARP响应包中携带VM的MAC地址信息。此时,第一子网GW可根据ARP请求包及ARP请求包的ARP响应包判断新迁入第一子网的VM,并获取该VM的IP地址信息及MAC地址信息。其中,第一子网GW根据ARP请求包及ARP请求包的ARP响应包获取VM的IP地址信息及MAC地址信息的方法可以参考现有技术来实现,本发明实施例在此不再赘述。706,第一子网GW向第二子网GW转发VM的ARP响应包。第一子网GW向第二子网GW转发VM的ARP响应包,第二子网GW可根据ARP请求包的ARP响应包,建立第二子网至VM的路由。707,第二子网GW建立第二子网至VM的路由。第二子网GW接收到VM发送的ARP响应包后,可根据该ARP响应包建立第二子网至VM的路由。708,CN发送给VM的数据包通过第二子网GW发送。其中,该数据包可携带CN的IP地址信息。当然,该数据包指向的目标IP地址为VM的IP地址,该数据包指向的MAC地址为VM的MAC地址,第一子网GW可根据数据包的目标IP地址或目的MAC地址判断数据包是否为VM的数据包。709,CN发送给VM的数据包通过第一子网GW发送。710,第一子网GW获取CN的地址信息。第一子网GW根据CN发送给VM的数据包,可获取CN的地址信息。该CN的地址信息可包括CN的IP地址信息。第一子网GW根据CN发送给VM的数据包获取CN的地址信息的方法可以参考现有技术来实现,本发明实施例在此不再赘述。当然,第一子网GW可向VM转发该数据包,本发明实施例在此不再赘述。711,第一子网GW向CN发送通道建立请求。以图5为例,GW107可根据已提取的CN101的地址信息,向CN101发起通道建立请求。第一子网GW根据CN的IP地址,可向CN发送通道建立请求。其中,该通道建立请求中可携带以下信息:该通道的类型、该网关的IP地址信息和端口信息。通道的类型,包括但不限于IP隧道、UDP隧道、MAC隧道,应用层网关(ApplicationLayerGateway,ALG)以及附带协议翻译的网络地址转换器(NetworkAddressTranslation-Protocol,NAT-PT)等类型。可选地,该通道建立请求还可携带该VM的IP地址信息。712,CN根据通道建立请求配置通道在CN的端口,并将通道配置到CN至VM的路由。CN在接收到通道建立请求后,可根据CN的当前状态判断是否同意建立通道。如果CN拒绝建立通道,则CN与VM的通信路由保持不变,本发明实施例在此不再赘述。如果CN同意建立通道,则建立该通道,配置通道在CN的端口,并将通道加入CN的路由表项,并将通道的路由表项配置到CN至VM的路由中。713,CN向第一子网GW发送通道建立确认消息。CN完成通道在CN侧的配置后,可向第一子网GW发送通道建立请求的通道建立确认消息,该通道建立确认消息指示第一子网GW完成通道在第一子网GW侧的配置。714,第一子网GW配置通道在第一子网GW的端口,并将通道配置到VM至CN的路由。第一子网GW根据通道建立确认消息配置通道在第一子网GW侧的端口,并将通道加入第一子网GW的路由表项,并将通道的路由表项配置到VM至CN的路由中。715,CN通过通道与VM通信。以图6为例,CN101与VM108之间的数据包通过CN101与GW107的通道进行传输,不再经过第二子网。可见,本发明实施例中,第一子网GW通过建立第一子网GW与CN之间的通道并将该通道配置到VM与CN之间的路由上,缩短了VM与CN之间的路由路径,能够一定程度上减少大二层网络VM热迁移后的通信延迟。图8是本发明实施例网关800的结构示意图。网关800可包括:获取单元801和输出单元802。获取单元801,用于获取迁入第一子网的虚拟机VM的地址信息及与该VM通信的对端节点CN的地址信息。其中,网关800该第一子网中用于与该第一子网外部网络交互数据的网关,该VM从该第二子网热迁移至该第一子网。输出单元802,用于根据该CN的地址信息向该CN发送通道建立请求消息。其中,该通道建立请求消息可请求建立网关800与该CN之间的通道,并将该通道更新到该CN至该VM的路由上,该通道用于传输该CN与该VM之间的数据包。本发明实施例中,网关800通过获取热迁移至网关800所在子网的VM的地址信息及与VM通信的CN的地址信息,并向CN发送通道建立请求消息以建立网关800到CN的通道,并将该通道配置到CN至VM之间的路由,缩短了CN至VM之间的路由路径,一定程度上减少了大二层网络VM热迁移后的通信延迟。可选地,网关800还可包括输入单元803,配置单元804。输入单元803,用于接收该CN根据该通道建立请求消息发送的通道建立确认消息。配置单元804,用于根据该通道建立确认消息配置该通道在网关800的端口。配置单元804还用于将该通道配置到该VM至该CN的路由上。可见,本发明实施例中,网关800根据通道确认消息配置通道在网关侧 的端口,并将该通道配置到该VM至该CN的路由上,缩短了VM至CN之间的路由路径,能够一定程度上减少大二层网络VM热迁移后的通信延迟。可选地,在获取迁入第一子网的VM的地址信息,获取单元801具体用于获取来自该第二子网的ARP请求包并通过输出单元802在该第一子网广播发送该ARP请求包,获取该VM根据该ARP请求包所返回的ARP响应包,并根据该ARP请求包和该ARP响应包获取该VM的地址信息。其中,该ARP请求包可携带有该VM的IP地址信息,该ARP响应包可携带有该VM的MAC地址信息,该VM的地址信息可包括该VM的IP地址信息和该VM的MAC地址信息;相应地,输出单元802还用于在该第一子网广播发送该ARP请求包。可选地,在获取与该VM通信的CN的地址信息,获取单元801具体用于获取经过网关800到达该VM的数据包,并根据该数据包获取该CN的地址信息。其中,该数据包可携带有该CN的IP地址信息,该CN的地址信息可包括该CN的IP地址信息。可选地,该通道建立请求消息携带该通道的类型、网关800的IP地址信息和端口信息。可见,本发明实施例中,网关800通过获取热迁移至网关800所在子网的VM的地址信息及与VM通信的CN的地址信息,建立与CN之间的通道并将该通道配置到VM与CN之间的路由上,缩短了VM与CN之间的路由路径,能够一定程度上减少大二层网络VM热迁移后的通信延迟。图9是本发明实施例网关900的结构示意图。网关900可包括输入设备901、输出设备904、处理器902和存储器903。存储器903可以包括只读存储器和随机存取存储器,并向处理器902提供指令和数据。存储器903的一部分还可以包括非易失性随机存取存储器(NVRAM)。存储器903存储了如下的元素,可执行模块或者数据结构,或者它们的子集,或者它们的扩展集:操作指令:包括各种操作指令,用于实现各种操作。操作系统:包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。在本发明实施例中,处理器902通过调用存储器903存储的操作指令(该 操作指令可存储在操作系统中),执行如下操作:通过输入设备901获取迁入第一子网的虚拟机VM的地址信息及与该VM通信的对端节点CN的地址信息;根据该CN的地址信息通过输出设备904向该CN发送通道建立请求消息。其中,网关900为第一子网中用于与第一子网的外部网络交互数据的网关,该VM从该第二子网热迁移至该第一子网,该通道建立请求消息可请求建立网关900与该CN的通道,并将该通道更新到该CN至该VM的路由上,该通道用于传输该CN与该VM之间的数据包。可见,本发明实施例中,网关900通过获取热迁移至网关900所在子网的VM的地址信息及与VM通信的CN的地址信息,并向CN发送通道建立请求消息以建立网关900到CN的通道,并将该通道配置到CN至VM之间的路由,缩短了CN至VM之间的路由路径,一定程度上减少了大二层网络VM热迁移后的通信延迟。处理器902控制网关900的操作,处理器902还可以称为CPU(CentralProcessingUnit,中央处理单元)。存储器903可以包括只读存储器和随机存取存储器,并向处理器902提供指令和数据。存储器903的一部分还可以包括非易失性随机存取存储器(NVRAM)。具体的应用中,用户设备900的各个组件通过总线系统905耦合在一起,其中总线系统905除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统905。上述本发明实施例揭示的方法可以应用于处理器902中,或者由处理器902实现。处理器902可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器902中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器902可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、 寄存器等本领域成熟的存储介质中。该存储介质位于存储器903,处理器902读取存储器903中的信息,结合其硬件完成上述方法的步骤。可选地,输入设备901还可接收该CN根据该通道建立请求消息发送的通道建立确认消息;处理器902还可根据该通道建立确认消息配置该通道在网关900的端口,并可将该通道配置到该VM至该CN的路由上。本发明实施例中,网关900根据通道确认消息配置通道在网关侧的端口,并将该通道配置到该VM至该CN的路由上,缩短了VM至CN之间的路由路径,能够一定程度上减少大二层网络VM热迁移后的通信延迟。可选地,在获取迁入第一子网的VM的地址信息,处理器902具体可用于获取来自该第二子网的ARP请求包,并通过输出设备904在该第一子网广播发送该ARP请求包,通过输入设备901获取该VM根据该ARP请求包所返回的ARP响应包,并根据该ARP请求包和该ARP响应包获取该VM的地址信息。其中,该ARP请求包可携带有该VM的IP地址信息,该ARP响应包可携带有该VM的MAC地址信息,该VM的地址信息可包括该VM的IP地址信息和该VM的MAC地址信息。可选地,在获取该CN的地址信息,处理器902具体可用于通过输入设备901获取经过网关900到达该VM的数据包,并根据该数据包获取该CN的地址信息。其中,该数据包可携带有该CN的IP地址信息,该CN的地址信息可包括该CN的IP地址信息。可选地,该通道建立请求消息携带该通道的类型、网关900的IP地址信息和端口信息。本发明实施例中,网关900通过获取热迁移至网关900所在子网的VM的地址信息及与VM通信的CN的地址信息,建立与CN之间的通道并将该通道配置到VM与CN之间的路由上,缩短了VM与CN之间的路由路径,能够一定程度上减少大二层网络VM热迁移后的通信延迟。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描 述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1