logo好方法网

一种虚拟机网络双栈的实现方法、装置及系统


技术摘要:
本发明公开了一种虚拟机网络双栈的实现方法、装置及系统,其中方法包括:接收虚拟机发送的绑定网络请求;根据虚拟机发送的绑定网络请求,判断请求绑定的网络类型;如果请求绑定的网络类型为IPv4网络,则创建第一网卡,自动获取IPv4地址,并将所述IPv4地址返回给所述虚  全部
背景技术:
随着IP(InternetProtocol,网际协议)v6网络技术的逐渐发展成熟,要求云计算 网络中的虚拟机必须要同时支持IPv4、IPv6双协议栈。 目前,虚拟机中的网卡实现双协议栈功能的实现方式一般是一张网卡具有两个IP 地址,一个IPv4地址,一个IPv6地址。但是,一张网卡只能属于同一个网络,即双栈所用的 IPv4和IPv6子网必须属于同一个网络。而在实际使用中,很多场景需要同时绑定两个网络, 一个IPv4,一个IPv6。现有技术中无法支持这一需求。
技术实现要素:
本发明提供了一种虚拟机网络双栈的实现方法、装置及系统,以解决现有技术中 存在的一张网卡只能绑定同一个网络下的子网来实现网络双栈的问题。 一种虚拟机网络双栈的实现方法,包括: 接收虚拟机发送的绑定网络请求; 根据虚拟机发送的绑定网络请求,判断请求绑定的网络类型; 如果请求绑定的网络类型为IPv4网络,则创建第一网卡,自动获取IPv4地址,并将 所述IPv4地址返回给所述虚拟机; 如果请求绑定的网络类型为IPv6网络,则根据IPv6网络关联的路由器,创建第二 网卡,并通过所述路由器配置IPv6地址,将所述IPv6地址返回给所述虚拟机。 进一步地,根据接收到的所述绑定网络请求中的请求参数判断请求绑定的网络类 型。 进一步地,根据所述请求参数创建所述第一网卡或者所述第二网卡。 进一步地,所述路由器通过DHCPv6配置所述IPv6地址。 进一步地,如果所述请求绑定的网络类型为IPv6网络,且未关联路由器时,则结束 流程。 进一步地,将获取到的相应网络类型的IP地址返回给所述虚拟机后,还包括: 为所述第一网卡或第二网卡绑定防火墙;且对于IPv6网络,确认防火墙已放通 IPv6规则; 防火墙绑定成功后,将所述第一网卡或第二网卡与所述虚拟机进行关联。 一种虚拟机网络双栈的实现装置,所述装置包括: 通讯模块,用于接收虚拟机发送的绑定网络请求; 网络类型判断模块,用于根据虚拟机发送的绑定网络请求,判断请求绑定的网络 类型; 3 CN 111586196 A 说 明 书 2/5 页 地址分配模块,用于当请求绑定的网络类型为IPv4网络时,创建第一网卡,自动获 取IPv4地址,并将所述IPv4地址返回给所述虚拟机;当请求绑定的网络类型为IPv6网络时, 根据IPv6网络关联的路由器,创建第二网卡,并通过所述路由器配置IPv6地址,将所述IPv6 地址返回给所述虚拟机。 进一步地,所述网络判断模块用于根据接收到的所述绑定网络请求中的请求参数 判断请求绑定的网络类型; 所述地址分配模块用于根据所述请求参数创建所述第一网卡或者所述第二网卡。 进一步地,所述装置还包括关联模块,用于获取到的相应网络类型的IP地址返回 给所述虚拟机后,为所述第一网卡或第二网卡绑定防火墙;且对于IPv6网络,确认防火墙已 放通IPv6规则;防火墙绑定成功后,将所述第一网卡或第二网卡与所述虚拟机进行关联。 一种虚拟机虚拟机网络双栈系统,包括上述的虚拟机网络双栈的实现装置,还包 括虚拟机和路由器。 本发明提供的虚拟机网络双栈的实现方法、装置及系统,至少包括如下有益效果: (1)通过虚拟机中多网卡的方式可以实现同时绑定不同网络下多个子网的应用场 景,更加灵活,也更符合底层的网络部署环境。采用本发明技术方案,在虚拟机绑定网络时 候可以选择属于不同网络下的子网,从而实现虚拟机网络双栈; (2)更好地控制IPv6地址的分配,DHCPv6方式不仅可以记录为IPv6主机分配的地 址,还可以为特定的IPv6主机分配特定的地址,以便于网络管理,DHCPv6支持为网络设备分 配IPv6前缀,便于全网络的自动配置和网络层次性管理,除了为IPv6主机分配IPv6地址/前 缀外,还可以分配DNS服务器IPv6地址等网络配置参数。 附图说明 图1为本发明提供的虚拟机网络双栈的实现方法一种实施例的流程图。 图2为本发明提供的虚拟机网络双栈的实现方法另一种实施例的流程图。 图3为DHCPv6四步交互地址分配过程示意图。 图4为本发明提供的虚拟机网络双栈的实现装置一种实施例的结构示意图。 图5为本发明提供的虚拟机网络双栈系统一种实施例的结构示意图。 具体实施方案 为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上 述技术方案做详细的说明。 参考图1,本实施例提供一种虚拟机网络双栈的实现方法,包括: 步骤S101,接收虚拟机发送的绑定网络请求; 步骤S102,根据虚拟机发送的绑定网络请求,判断请求绑定的网络类型; 步骤S103如果请求绑定的网络类型为IPv4网络,则创建第一网卡,自动获取IPv4 地址,并将所述IPv4地址返回给所述虚拟机; 步骤S104,如果请求绑定的网络类型为IPv6网络,则根据IPv6网络关联的路由器, 创建第二网卡,并通过所述路由器配置IPv6地址,将所述IPv6地址返回给所述虚拟机。 需要说明的是,本文中的第一网卡、第二网卡只是为了区分不同的网卡,并无具体 4 CN 111586196 A 说 明 书 3/5 页 顺序指代含义。 具体地,执行步骤S101,虚拟机作为资源调用方向资源服务器发起请求,请求绑定 网络,资源服务器接收该绑定网络请求,该绑定网络请求包含了请求参数。 进一步地,执行步骤S102,资源服务器根据绑定网络请求中的请求参数判断请求 绑定的网络类型。该网络类型包括IPv4网络和IPv6网络。 步骤S103中,如果请求绑定的网络类型为IPv4网络,则创建第一网卡,自动获取 IPv4地址,并将所述IPv4地址返回给所述虚拟机。由于IPv4网络在绑定时可以自动获取IP 地址,不需要路由器参与。 步骤S104中,如果请求绑定的网络类型为IPv6网络,则需要进一步判断网络是否 关联路由器,如果没有关联路由器,则结束流程,如果关联了路由器,则根据IPv6网络关联 的路由器,创建第二网卡,并通过所述路由器配置IPv6地址,将所述IPv6地址返回给所述虚 拟机。IPv6网络需要通过路由器来获取IP地址/前缀。 IPv6协议具有地址空间巨大的特点,但同时长达128比特的IPv6地址又要求高效 合理的地址自动分配和管理策略。IPv6无状态地址配置方式是目前广泛采用的IPv6地址自 动配置方式。配置了该协议的主机只需相邻设备开启IPv6路由通告功能,即可以根据通告 报文包含的前缀信息自动配置本机地址。 但是,无状态地址配置方案中设备并不记录所连接的IPv6主机的具体地址信息, 可管理性差。而且无状态地址配置方式不能使IPv6主机获取域名系统(DomainNameSystem, 简称DNS)服务器的IPv6地址等配置信息,在可用性上有一定缺陷。对于互联网服务提供商 (InternetServiceProvider,简称IPS)来说,也没有相关的规范指明如何向设备自动分配 IPv6前缀,因此,目前在部署IPv6网络时,只能采用手动配置的方法为设备配置IPv6地址。 下 面 首 先 介 绍 一 下 I P v 6 动 态 主 机 配 置 协 议 ( D y n a m i c H o s t  ConfigurationProtocolforIPv6,简称DHCPv6),DHCPv6属于一种有状态地址自动配置协 议,是针对IPv6编址方案设计,为主机分配IPv6地址/前缀和其他网络配置参数。 步骤S104中,所述路由器通过DHCPv6配置所述IPv6地址。 DHCPv6具体地址分配过程如下: 客户端在发送的Solicit报文中携带RapidCommit选项,标识客户端希望服务器能 够快速为其分配地址和网络配置参数; 路由器接收到Solicit报文后,如果DHCPv6服务器支持快速分配地址,则直接返回 Reply报文,为客户端分配IPv6地址和其他网络配置参数,Replay报文中也携带 RapidCommit选项;如果DHCPv6服务器不支持快速分配过程,则采用四步交互方式为客户端 分配IPv6地址/前缀和其他网络配置参数。通过路由器在绑定IPv6网络时分配IP地址/前 缀。 四步交互地址分配常用于网络中有多个DHCPv6服务器的情况。DHCPv6客户端首先 通过组播发送Solicit报文来定位可以为其提供服务的DHCPv6服务器,在收到多个DHCPv6 服务器的Advertise报文后,根据DHCPv6服务器的优先级选择一个为其分配地址和配置信 息的服务器,接着通过Request/Reply报文交互完成地址申请和分配过程。 如图2所示,DHCPv6四步交互方式地址分配过程如下: DHCPv6客户端发送Solicit报文,请求DHCPv6服务器为其分配IPv6地址和网络配 5 CN 111586196 A 说 明 书 4/5 页 置参数; 如果Solicit报文中没有携带RapidCommit选项,或Solicit报文中携带 RapidCommit选项但服务器不支持快速分配过程,则DHCPv6服务器回复Advertise报文,通 知客户端可以为其分配的地址和网络配置参数;如果DHCPv6客户端接收到多个服务器回复 的Advertise报文,则根据Advertise报文中的服务器优先级等参数,选择优先级最高的一 台服务器,并向所有的服务器发送Request组播报文,该报文中携带已选择的DHCPv6服务器 的DHCP设备唯一标识符(DHCPv6UniqueIdentifier,简称DUID); DHCPv6服务器回复Reply报文,确认将地址和网络配置参数分配给客户端使用。 与其他的IPv6地址分配方式相比,DHCPv6具有以下优点: 1、更好地控制IPv6地址的分配,DHCPv6方式不仅可以记录为IPv6主机分配的地 址,还可以为特定的IPv6主机分配特定的地址,以便于网络管理。 2、DHCPv6支持为网络设备分配IPv6前缀,便于全网络的自动配置和网络层次性管 理。 3、除了为IPv6主机分配IPv6地址/前缀外,还可以分配DNS服务器IPv6地址等网络 配置参数。 进一步地,参考图3,将获取到的相应网络类型的IP地址返回给所述虚拟机后,还 包括: 为所述第一网卡或第二网卡绑定防火墙;且对于IPv6网络,确认防火墙已放通 IPv6规则; 防火墙绑定成功后,将所述第一网卡或第二网卡与所述虚拟机进行关联。 本实施例提供的虚拟机网络双栈的实现方法,通过虚拟机中多网卡的方式可以实 现同时绑定不同网络下多个子网的应用场景,更加灵活,也更符合底层的网络部署环境,在 虚拟机绑定网络时候可以选择属于不同网络下的子网,从而实现虚拟机网络双栈。 参考图4,本发明实施例中还提供一种虚拟机网络双栈的实现装置,应用于资源服 务器,所述装置包括: 通讯模块201,用于接收虚拟机发送的绑定网络请求; 网络类型判断模块202,用于根据虚拟机发送的绑定网络请求,判断请求绑定的网 络类型; 地址分配模块203,用于当请求绑定的网络类型为IPv4网络时,创建第一网卡,自 动获取IPv4地址,并将所述IPv4地址返回给所述虚拟机;当请求绑定的网络类型为IPv6网 络时,根据IPv6网络关联的路由器,创建第二网卡,并通过所述路由器配置IPv6地址,将所 述IPv6地址返回给所述虚拟机。 其中,通讯模块201接收的绑定网络请求包含了请求参数。 网络判断模块202用于根据接收到的所述绑定网络请求中的请求参数判断请求绑 定的网络类型; 地址分配模块203用于根据所述请求参数创建所述第一网卡或者所述第二网卡。 具体地,所述路由器通过DHCPv6配置所述IPv6地址。 进一步地,本实施例提供的装置还包括关联模块204,用于获取到的相应网络类型 的IP地址返回给所述虚拟机后,为所述第一网卡或第二网卡绑定防火墙;且对于IPv6网络, 6 CN 111586196 A 说 明 书 5/5 页 确认防火墙已放通IPv6规则;防火墙绑定成功后,将所述第一网卡或第二网卡与所述虚拟 机进行关联。 参考图5,本发明的另一种实施例,还提供一种虚拟机网络双栈系统,包括上述的 虚拟机网络双栈的实现装置301,还包括虚拟机302和路由器303。 本实施例提供的虚拟机网络双栈系统,通过虚拟机中多网卡的方式可以实现同时 绑定不同网络下多个子网的应用场景,更加灵活,也更符合底层的网络部署环境,在虚拟机 绑定网络时候可以选择属于不同网络下的子网,从而实现虚拟机网络双栈。 尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造 性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优 选实施例以及落入本发明范围的所有变更和修改。显然,本领域的技术人员可以对本发明 进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型 属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在 内。 7 CN 111586196 A 说 明 书 附 图 1/3 页 图1 8 CN 111586196 A 说 明 书 附 图 2/3 页 图2 图3 9 CN 111586196 A 说 明 书 附 图 3/3 页 图4 图5 10
分享到:
收藏