虚拟网络交换机系统及其建立方法与流程

文档序号:14409866阅读:344来源:国知局
虚拟网络交换机系统及其建立方法与流程

本发明涉及通信网络领域,尤其涉及一种虚拟网络交换机系统及其建立方法。



背景技术:

ieee802.3接口标准包括10gbe、40gbe、100gbe等等,进而使得在网络应用环境中交换机需要具有多种不同连接规范的网络接口,而目前大多数交换机只支持一种或二种连接规范的网络接口,如要三种以上连接规范的网络接口则需要购置核心交换机,而其费用昂贵,这将使得企业因业务需求的扩增而必须升级网络设备的成本变得更高。



技术实现要素:

鉴于以上内容,有必要提供一种虚拟网络交换机系统,其可支持三种以上连接规范的网络接口,且成本低廉。

本发明一实施方式提供一种虚拟网络交换机系统,包括:

建立模块,用于接收一请求指令并根据所述请求指令在一服务器中建立一虚拟交换机、多个虚拟服务器及多个虚拟网卡;

映射模块,用于根据所述虚拟服务器的网络需求信息将所述虚拟服务器与至少一个虚拟网卡建立映射连接,并将所述虚拟网卡的映射请求通过所述虚拟交换机转发至与所述服务器通信连接且与所述虚拟网卡相匹配的一网络接口卡;

判断模块,用于判断所述网络接口卡的可用资源是否低于一警戒值;

其中,所述映射模块还用于在所述网络接口卡的可用资源不低于所述警戒值时,控制所述网络接口卡接受所述虚拟网卡的映射请求,以使得所述虚拟网卡与所述网络接口卡建立映射连接。

优选地,所述多个网络接口卡为一种速率或多种不同速率的网络接口卡。

优选地,所述建立模块还用于接收并解析所述请求指令所包含的网络服务需求,并根据所解析的网络服务需求在所述服务器中建立所述虚拟交换机、所述多个虚拟服务器及所述多个虚拟网卡。

优选地,所述映射模块还用于根据所述虚拟服务器的网络需求信息计算其网络速率,并根据计算得出的网络速率将所述虚拟服务器与至少一个虚拟网卡建立映射连接,所述映射模块还用于根据计算得出的网络速率确定与所述虚拟网卡相匹配的网络接口卡,所述虚拟交换机用于接收并将所述虚拟网卡的映射请求转发至所述网络接口卡。

优选地,所述映射模块还用于在所述网络接口卡的可用资源低于所述警戒值时,控制所述网络接口卡拒绝接受所述虚拟网卡的映射请求,并输出一警示信息。

本发明一实施方式还提供一种虚拟网络交换机系统的建立方法,其特征在于,包括以下步骤:

接收一请求指令并根据所述请求指令在一服务器中建立一虚拟交换机、多个虚拟服务器及多个虚拟网卡;

根据所述虚拟服务器的网络需求信息将所述虚拟服务器与至少一个虚拟网卡建立映射连接,并将所述虚拟网卡的映射请求通过所述虚拟交换机转发至与所述服务器通信连接且与所述虚拟网卡相匹配的一网络接口卡;

判断所述网络接口卡的可用资源是否低于一警戒值;及

若所述网络接口卡的可用资源不低于所述警戒值时,所述网络接口卡接受所述虚拟网卡的映射请求,以与其建立映射连接。

优选地,所述多个网络接口卡为一种速率或多种不同速率的网络接口卡。

优选地,所述接收一请求指令并根据所述请求指令在所述服务器中建立一虚拟交换机、多个虚拟服务器及多个虚拟网卡的步骤包括:

接收一请求指令并解析所述请求指令所包含的网络服务需求;及

根据所解析的网络服务需求在所述服务器中建立一虚拟交换机、多个虚拟服务器及多个虚拟网卡。

优选地,所述根据所述虚拟服务器的网络需求信息将所述虚拟服务器与至少一个虚拟网卡建立映射连接,并将所述虚拟网卡的映射请求通过所述虚拟交换机转发至与所述服务器通信连接且与所述虚拟网卡相匹配的一网络接口卡的步骤包括:

根据所述虚拟服务器的网络需求信息计算其网络速率;

根据所述虚拟服务器的网络速率将所述虚拟服务器与至少一个虚拟网卡建立映射连接;

根据所述虚拟服务器的网络速率确定与所述虚拟网卡相匹配的一网络接口卡;及

所述虚拟交换机接收并将所述虚拟网卡发送的映射请求转发至所述网络接口卡。

优选地,所述判断所述网络接口卡的可用资源是否低于一警戒值的步骤之后还包括:

若所述网络接口卡的可用资源低于所述警戒值时,所述网络接口卡拒绝接受所述虚拟网卡的映射请求,并输出一警示信息。

与现有技术相比,上述虚拟网络交换机系统及其建立方法,利用kvm技术在服务器上建立虚拟交换机及多个虚拟服务器,并与多个网络接口卡进行配合来实现网络交换机功能,可降低因网络业务需求的扩增而必须升级网络设备的成本,亦可同时支持多种接口标准的网络接口卡及交换机协议,使用范围广泛。

附图说明

图1是一种虚拟网络交换机系统的一应用环境图。

图2是一种虚拟网络交换机系统的一功能环境图。

图3是一种虚拟网络交换机系统的一功能方框图。

图4是一种虚拟网络交换机系统的建立方法的一流程图。

主要元件符号说明

如下具体实施方式将结合上述附图进一步说明本发明。

具体实施方式

请参阅图1-3,一种虚拟网络交换机系统100包括建立模块10、映射模块20及判断模块30。建立模块10用于接收一请求指令,并根据该请求指令在服务器1中建立一虚拟交换机40、多个虚拟服务器50a、50b、50c、50d及多个虚拟网卡60a、60b、60c、60d。多个虚拟网卡60a、60b、60c、60d用于通过虚拟交换机40与多个网络接口卡2a、2b、2c、2d进行通信。

在一实施方式中,以4个网络接口卡为例,即网络接口卡2a、2b、2c、2d,当然,所述网络接口卡是可以多于四个或少于四个,在此不对网络接口卡的数量作限制,另外,网络接口卡2a、2b、2c、2d的接口标准及最大传输速度可以相同,也可以不相同。同样,以4个虚拟服务器50a、50b、50c、50d为例,虚拟服务器是可以多于四个或少于四个,在此不对虚拟服务器的数量作限制。同样,以4个虚拟网卡60a、60b、60c、60d为例,虚拟网卡是可以多于四个或少于四个,在此不对虚拟网卡的数量作限制。虚拟网卡的数量可以与虚拟服务器的数量相同,也可以不相同,

当虚拟网络交换机系统100连接有多个网络设备3a、3b、3c、3d时,虚拟网络交换机系统100可以充当现有技术的网络交换机,其可支持多种不同接口规格的网络接口卡2a、2b、2c、2d,并可与多个网络设备3a、3b、3c、3d进行通信。

在一实施方式中,网络设备3a、3b、3c、3d可以是交换机、电脑等设备。网络接口卡2a可以设置在网络设备3a中,网络接口卡2b可以设置在网络设备3b中,网络接口卡2c可以设置在网络设备3c中,网络接口卡2d可以设置在网络设备3d中。网络设备3a、3b、3c、3d分别通过网络接口卡2a、2b、2c、2d与服务器1进行通信。每一网络设备3a、3b、3c、3d也可以包括一个以上的网络接口卡。网络接口卡2a、2b、2c、2d也可以独立于网络设备3a、3b、3c、3d之外。网络接口卡2a、2b、2c、2d的最大传输速度可以相同,也可以不相同,在实际使用过程中,网络接口卡2a、2b、2c、2d的最大传输速度可以根据实际需求进行选择。

举例而言,网络接口卡2a的最大传输速度可以是1gb,网络接口卡2b的最大传输速度可以是10gb,网络接口卡2c的最大传输速度可以是40gb,网络接口卡2d的最大传输速度可以是100gb。当然,网络接口卡2a、2b的最大传输速度也可以均是1gb等等。

建立模块10可以通过kvm(kvirtualmachine、基于内核的虚拟机)技术或其他合适的方式或技术来实现虚拟交换机及虚拟服务器的建立。

服务器1需要分配其内部的cpu资源、存储器资源等给每一虚拟服务器50a、50b、50c、50d使用,可以依据开放虚拟交换标准来建立虚拟交换机40,并定义虚拟交换机所涉及的命令行工具,例如ovs-ofctl命令、ovs-vsctl命令、ovs-appctl命令、ovs-dpctl命令等等。

在虚拟网络交换机系统100中,每一网络接口卡2a、2b、2c、2d与虚拟网卡60a、60b、60c、60d建立映射的过程基本相同,以下将以网络接口卡2a、2b为例进行说明:

映射模块20用于根据每一虚拟服务器50a、50b、50c、50d的网络需求信息来将每一虚拟服务器50a、50b、50c、50d与至少一个虚拟网卡60a、60b、60c、60d建立映射连接,并将与虚拟服务器50a建立映射连接的虚拟网卡60a、60b的映射请求通过虚拟交换机40转发至与服务器1通信连接且与虚拟网卡60a、60b相匹配的网络接口卡2a、2b。例如,虚拟网卡60a的映射请求通过虚拟交换机40转发至与其相匹配的网络接口卡2a。

举例而言,根据虚拟服务器50a的网络需求信息可以得出其需要与两个网络接口卡2a、2b建立映射连接。第一步,虚拟服务器50a需要先与两个虚拟网卡映射连接,虚拟服务器50a可以选择与虚拟网卡60a、60b建立映射连接。第二步,将两个虚拟网卡60a、60b与两个网络接口卡2a、2b建立映射连接;可以将虚拟网卡60a的映射请求通过虚拟交换机40转发至网络接口卡2a,以请求与网络接口卡2a建立映射连接;将虚拟网卡60b的映射请求通过虚拟交换机40转发至网络接口卡2b,以请求与网络接口卡2b建立映射连接。

举例而言,根据虚拟服务器50a的网络需求信息可以得出其只需要与一个网络接口卡2a建立映射连接。第一步,虚拟服务器50a需要先与一个虚拟网卡映射连接,虚拟服务器50a可以选择与虚拟网卡60a建立映射连接。第二步,将虚拟网卡60与网络接口卡2a建立映射连接;可以将虚拟网卡60a的映射请求通过虚拟交换机40转发至网络接口卡2a,以请求与网络接口卡2a建立映射连接。

需要说明的是,服务器1在建立虚拟网卡60a、60b、60c、60d时,可以建立比虚拟服务器数量更多的虚拟网卡来满足虚拟服务器的需求。

在一实施方式中,映射模块20用于根据虚拟服务器2a的网络需求信息计算其需求的网络速率,并根据所计算得到的网络速率来确定与其相匹配的网络接口卡。比如,映射模块20根据虚拟服务器50a的网络需求信息计算其需求的网络速率小于1gb,而网络接口卡2a的最大传输速度为1gb,其可以满足虚拟服务器50a的网络需求。虚拟交换机40接收并将与虚拟服务器50a映射连接的虚拟网卡60a所发送的映射请求转发至网络接口卡2a,以请求与网络接口卡2a建立映射。再比如,映射模块20根据虚拟服务器50a的网络需求信息计算其需求的网络速率大于10gb且小于40gb,网络接口卡2c可以满足虚拟服务器50a的网络需求。虚拟交换机40接收并将与虚拟服务器50a映射连接的虚拟网卡60a所发送的映射请求转发至网络接口卡2c,以请求与网络接口卡2c建立映射。同样地,若映射模块20根据虚拟服务器50b的网络需求信息计算其需求的网络速率需要两个网络接口卡2c、2d,虚拟服务器50b先与虚拟网卡60a、60b建立映射连接,虚拟交换机40再接收并将虚拟网卡60a、60b发送的映射请求分别转发至网络接口卡2c、2d,以请求与网络接口卡2c、2d建立映射。通过以上方式可以避免造成网络资源的大量闲置,同时也能满足网络传输需求。

判断模块30用于判断被请求建立映射连接的网络接口卡2a的可用资源是否低于一警戒值。当网络接口卡2a的可用资源不低于该警戒值时,表明网络接口卡2a的空闲资源充足,此时,映射模块20控制网络接口卡2a接受虚拟网卡60a的映射请求,从而使得虚拟网卡60a与网络接口卡2a建立映射连接,进而可以相互进行通信。警戒值可以依情况进行设置,比如,可以设定为网络接口卡2a总资源的20%,当网络接口卡2a的资源被使用超过80%,即表明网络接口卡2a处于拥堵工作状态,此时不适合再与其他虚拟服务器建立映射连接。虚拟网卡可以利用现有的sr-iov技术或其他合适的技术与网络接口卡建立映射连接。

当网络接口卡2a的可用资源低于该警戒值时,表明网络接口卡2a处于拥堵工作状态,映射模块20控制网络接口卡2a拒绝接受虚拟网卡60a的映射请求,并输出一警示信息。根据该警示信息,可以选择增加新的网络接口卡2a至虚拟网络交换机系统100,以满足网络使用需求。

需要说明的是,每个网络接口卡2a、2b、2c、2d可以同时接受一个以上的虚拟网卡的映射请求。即,如果虚拟网卡60a、60b匹配的网络接口卡均为网络接口卡2a并且网络接口卡2a有足够多的空闲资源时,网络接口卡2a可以同时接受两个虚拟网卡60a、60b的映射连接。同时,虚拟服务器50a、50b、50c、50d在工作状态中,由于其网络需求信息发生变化,与其匹配的网络接口卡也将随时发生变化。

举例而言,虚拟服务器50a在第一工作状态下,其网络需求信息可能只需要1gb的网络接口卡2a与其匹配。在第二工作状态下,其网络需求信息可能需要40gb的网络接口卡2c与其匹配。在第三工作状态下,其网络需求信息可能同时需要40gb的网络接口卡2c与100gb的网络接口卡2d与其匹配。每一虚拟服务器50a、50b、50c、50d与网络接口卡2a、2b、2c、2d的映射连接是可以实时动态调整的。

在一实施方式中,建立模块10用于接收并解析使用者发出的请求指令所包含的网络服务需求,并根据所解析的网络服务需求来建立虚拟交换机40、多个虚拟服务器50a、50b、50c、50d及多个虚拟网卡60a、60b、60c、60d。举例而言,建立模块10解析使用者发出的请求指令所包含的网络服务需求涉及到ftp(filetransferprotocol、文件传输协议)服务器、pxe(pre-bootexecuteenvironment,预启动执行环境)服务器、文件服务器及dns(domainnameserver、域名服务)服务器,此时建立模块10需要在服务器1内部建立ftp虚拟服务器50a、pxe虚拟服务器50b、文件虚拟服务器50c及dns虚拟服务器50d。在本发明的其他实施方式中,建立模块10也可以根据请求指令所包含的网络服务需求建立其他功能的虚拟服务器,在此不再赘述。

图4为一种虚拟网络交换机系统的建立方法的流程图。所述建立方法包括以下步骤:

步骤s400,建立模块10接收并根据一请求指令在服务器1中建立一虚拟交换机40、多个虚拟服务器50a、50b、50c、50d及多个虚拟网卡60a、60b、60c、60d;

步骤s402,映射模块20根据虚拟服务器50a的网络需求信息将虚拟服务器50a与至少一个虚拟网卡60a建立映射连接,并将虚拟网卡60a的映射请求通过虚拟交换机40转发至与服务器1通信连接且与虚拟网卡60a相匹配的一网络接口卡2a;

步骤s404,判断模块30用于判断该匹配的网络接口卡2a的可用资源是否低于一警戒值;

步骤s406,映射模块20在网络接口卡2a的可用资源不低于警戒值时,控制网络接口卡2a接受虚拟网卡60a的映射请求,以使得虚拟网卡60a与网络接口卡2a建立映射连接。

同理,对虚拟服务器50b、50c、50d的操作与上面步骤基本相同。在此不再赘述。

在一实施方式中,步骤s400可以被详细地描述为:建立模块10接收一请求指令并解析所述请求指令所包含的网络服务需求;建立模块10再根据所解析的网络服务需求在服务器1中建立一虚拟交换机、多个虚拟服务器及多个虚拟网卡。

举例而言,建立模块10解析使用者发出的请求指令所包含的网络服务需求涉及到ftp服务器、pxe服务器、文件服务器及dns服务器,进而建立模块10在服务器1内部建立ftp虚拟服务器50a、pxe虚拟服务器50b、文件虚拟服务器50c及dns虚拟服务器50d来满足使用者的网络服务需求。

在一实施方式中,步骤s402可以被详细地描述为:映射模块20根据虚拟服务器50a的网络需求信息计算其网络速率,并根据所计算得出的网络速率来将虚拟服务器50a与至少一个虚拟网卡60a建立映射连接,映射模块20还根据计算得出的网络速率确定与虚拟网卡60a相匹配的网络接口卡2a;虚拟交换机40接收并将虚拟网卡60a发送的的映射请求转发至其相匹配的网络接口卡2a。

举例而言,映射模块20根据虚拟服务器50a的网络需求信息计算其需求的网络速率小于1gb,而网络接口卡2a的最大传输速度为1gb,其可以满足虚拟服务器50a的网络需求。虚拟交换机40接收并将与虚拟服务器50a映射连接的虚拟网卡60a所发送的映射请求转发至网络接口卡2a,以请求与网络接口卡2a建立映射。再比如,映射模块20根据虚拟服务器50a的网络需求信息计算其需求的网络速率大于10gb且小于40gb,网络接口卡2c可以满足虚拟服务器50a的网络需求。虚拟交换机40接收并将与虚拟服务器50a映射连接的虚拟网卡60a所发送的映射请求转发至网络接口卡2c,以请求与网络接口卡2c建立映射。同样地,若映射模块20根据虚拟服务器50b的网络需求信息计算其需求的网络速率需要两个网络接口卡2c、2d,虚拟服务器50b先与虚拟网卡60a、60b建立映射连接,虚拟交换机40再接收并将虚拟网卡60a、60b发送的映射请求分别转发至网络接口卡2c、2d,以请求与网络接口卡2c、2d建立映射。

在一实施方式中,所述虚拟网络交换机系统的建立方法在执行完步骤s404之后还可以选择进入步骤s408。在步骤s408中,映射模块20在网络接口卡2a的可用资源低于警戒值时,控制网络接口卡2a拒绝接受虚拟网卡60a的映射请求,并输出一警示信息。根据该警示信息选择增加网络接口卡2a的数量,以满足网络使用需求。

上述虚拟网络交换机系统及其建立方法,利用kvm技术在服务器上建立虚拟交换机及多个虚拟服务器,并与多个网络接口卡进行配合来实现网络交换机功能,可降低因网络业务需求的扩增而必须升级网络设备的成本,亦可同时支持多种接口标准的网络接口卡及交换机协议,使用范围广泛。

对本领域的技术人员来说,可以根据本发明的发明方案和发明构思结合生产的实际需要做出其他相应的改变或调整,而这些改变和调整都应属于本发明所公开的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1