主机的虚拟网络架构的制作方法

文档序号:15979583发布日期:2018-11-17 00:10阅读:237来源:国知局
本发明涉及计算机,具体地涉及主机的虚拟网络架构。
背景技术
:云计算时代线下产品越来越丰富,需求与功能的需求也日益繁多,而这种变化往往导致iaas层虚拟化网络的大规模调整,网络的调整对应物理网络上的架构调整,因此通用性不强。如果后期需要新的网络需求,传统虚拟网络架构将不利于扩展,各种性能以及安全方面需求也会受到限制。传统虚拟网络的虚拟网络结构为网桥连接主机的网口,虚拟机连接网桥。该架构简单、易操作,维护人员不需要掌握复杂的虚拟化网络技术。其使用场景单一,功能简单,特别适用于小型企业内部及个人测试。但是这种架构存在以下问题:用户对内部网络的管理无能为力,依赖外部设备;虚拟机需要高带宽实现内部数据交互严重依赖服务器网卡和交换机,造成成本过高。技术实现要素:本发明实施例的目的是提供一种主机的虚拟网络架构,该主机的虚拟网络架构可以极大地节省设备成本,降低网络硬件的依赖。为了实现上述目的,本发明实施例提供一种主机的虚拟网络架构,该主机包括至少一个网口,该虚拟网络架构包括至少一个虚拟机,该虚拟网络架构还包括:虚拟交换机模块、至少一个vyos模块以及至少一个网桥,其中,所述虚拟交换机模块连接在所述至少一个网桥和所述至少一个vyos模块之间,用于进行流表检查以将数据包转发至对应的网桥或对应的vyos模块;所述至少一个vyos模块中的每个vyos模块与所述至少一个网口中的一者连接,用于对所述数据包进行过滤以及根据所述数据包的出口地址进行转发;所述至少一个网桥对应连接所述至少一个虚拟机,用于对所述数据包进行检查并转发至对应的虚拟机或所述虚拟交换机模块。优选地,所述虚拟交换机模块进行流表检查包括:基于所述流表中的至少一个流表项的优先级,将所述数据包与所述至少一个流表项依次进行匹配;当有流表项匹配时,执行所匹配的流表项设置的指令;在无流表项匹配时,根据所述流表的配置执行操作,其中,该操作包括丢弃所述数据包、转发所述数据包至其它流表以及转发所述数据包至远程控制器。优选地,所述至少一个vyos模块中的每个vyos模块包括:路由器,用于判断所述数据包的出口地址,在所述出口地址为所述vyos模块的其它网关接口地址时,将所述数据包转发至对应的网关接口以进入所述虚拟交换机模块;在所述数据包的出口地址为网口地址时,将所述数据包转发至对应的网口。优选地,所述至少一个vyos模块中的每个vyos模块还包括:防火墙,用于对从所述至少一个网口或所述路由器接收的所述数据包进行过滤。优选地,所述至少一个网桥为linux网桥。优选地,所述虚拟交换机模块包括:netflow模块,用于监控和统计所述虚拟交换机模块上的流量。优选地,所述至少一个vyos模块中的每个vyos模块还包括:ip地址分配模块,用于在接收到ip地址分配请求时,为所述至少一个虚拟机分配ip地址。优选地,其特征在于,所述至少一个vyos模块中的每个vyos模块还包括:域名模块,用于存储与所述至少一个虚拟机的ip地址映射的域名。优选地,其特征在于,所述至少一个vyos模块中的每个vyos模块还包括:ip地址转换模块,用于将所述至少一个虚拟机的ip地址转换为公用ip地址。通过上述技术方案,采用本发明提供的主机的虚拟网络架构,该主机包括至少一个网口,该虚拟网络架构包括至少一个虚拟机,该虚拟网络架构还包括:虚拟交换机模块、至少一个vyos模块以及至少一个网桥,其中,所述虚拟交换机模块连接在所述至少一个网桥和所述至少一个vyos模块之间;所述至少一个vyos模块中的每个vyos模块与所述至少一个网口中的一者连接;所述至少一个网桥对应连接所述至少一个虚拟机。将虚拟交换机和vyos等模块融入到虚拟网络环境当中,提供二至四层的整套虚拟网络功能,极大地方便虚拟环境内部的网络定制,可以极大地节省设备成本,降低网络硬件的依赖。本发明实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。附图说明附图是用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明实施例,但并不构成对本发明实施例的限制。在附图中:图1是本发明一实施例提供的主机的虚拟网络架构的示意图;图2是本发明一实施例提供的流表的示意图;图3是本发明另一实施例提供的主机的虚拟网络架构的示意图;图4是本发明一实施例提供的虚拟机入流量的流程图;图5是本发明一实施例提供的vyos模块的示意图;以及图6是本发明一实施例提供的主机的虚拟网络架构的应用示意图。附图标记说明1网口2虚拟机3虚拟交换机模块31openvswitch模块4vyos模块5网桥51linux网桥41路由器42防火墙43ip地址分配模块44域名模块45ip地址转换模块。具体实施方式以下结合附图对本发明实施例的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明实施例,并不用于限制本发明实施例。图1是本发明一实施例提供的主机的虚拟网络架构的示意图。如图1所示,该主机包括至少一个网口1,该虚拟网络架构包括至少一个虚拟机2,该虚拟网络架构还包括:虚拟交换机模块3、至少一个vyos模块4以及至少一个网桥5,其中,所述虚拟交换机模块3连接在所述至少一个网桥5和所述至少一个vyos模块4之间,用于进行流表检查以将数据包转发至对应的网桥5或对应的vyos模块4;所述至少一个vyos模块4中的每个vyos模块4与所述至少一个网口1中的一者连接,用于对所述数据包进行过滤以及根据所述数据包的出口地址进行转发;所述至少一个网桥5对应连接所述至少一个虚拟机2,用于对所述数据包进行检查并转发至对应的虚拟机2或所述虚拟交换机模块3。本发明中,为了应对新的网络需求,云计算网络部署在前期规划好底层网络之后,采用软件定义网络或者nfv的概念去实现虚拟化网络,将虚拟交换机3、路由器41、防火墙42等设备融入到虚拟网络环境当中,提供二至四层的整套虚拟网络功能,极大地方便虚拟环境内部的网络定制,配合软件定义路由器41、防火墙42和虚拟交换机3可以极大地节省设备成本、降低网络硬件的依赖。本发明的虚拟网络架构主要包括:至少一个网桥5、虚拟交换机模块3以及至少一个vyos模块4等,其中为了便于说明图1只展示了两个网桥5、两个网口1和一个vyos模块4。vyos模块4可以关联某些主机的网口1,提供网络中需要的路由、防火墙42、nat、vpn和高可用等;虚拟交换机模块3可以关联另一些主机的网口1、vyos模块4以及网桥5,提供vlan、openflow和netflow等功能;主机上生产的虚拟机2连接到自己对应的网桥5。主机的网口1和虚拟交换机之间可以连接vyos模块4也可不连接,如连接vyos模块4可以使用vyos模块4提供的功能。图2是本发明一实施例提供的流表的示意图。如图2所示,虚拟交换机具有至少一个流表,每个流表包括至少一个流表项,每个流表项包括匹配域、优先级、计数器、指令集、失效时间以及指示值(cookie)等。其中匹配域匹配以太网类型、vlanid、优先级、源ip地址、目的ip地址、源mac、目的mac、源端口和目的端口或者协议等,计数器统计与该流表项成功匹配的数据包数量,指令集应用到与该流表项成功匹配的数据包,包括可执行的动作指令,指示值被远程控制器用来筛选流统计、流修改或者流删除行为。所述虚拟交换机模块3进行流表检查包括:基于所述流表中的至少一个流表项的优先级,将所述数据包与所述至少一个流表项依次进行匹配;当有流表项匹配时,执行所匹配的流表项设置的指令;在无流表项匹配时,根据所述流表的配置执行操作,其中,该操作包括丢弃所述数据包、转发所述数据包至其它流表以及转发所述数据包至远程控制器。当有多个流表时,这些流表是按照数字顺序排列的,起始索引号从0开始,任何进入的数据包都会从第一个流表,即table0开始处理,后续的流表可能会被使用到,而这依赖于table0中匹配成功的流表项的输出结果。当一个数据包被一个流表处理时,数据包会被逐次地依据优先级与该流里的所有流表项进行匹配,当发现匹配成功的流表项时,该流表项相关联的指令集将会被执行,这些指令可能会将该数据包显示地直接转发到后续的其他流表里(通过goto指令)继续处理,在那里继续采取同样的方式来处理数据包。流表项只会将数据包继续往前(往索引号比当前大的流表)转发,而不会倒序转发,因此,如果最后一个流表中某个匹配成功的流表项不能将数据包继续转发到后续的流表,那么整个过程将在此终止,此时执行流表动作指令,通常是数据包被转发走。假若一个数据包在一个流表里没有发现能够匹配成功的流表项,那么根据流表的配置执行:1)直接丢弃,2)继续转发给后续的流表,3)发送给远程控制器。图3是本发明另一实施例提供的主机的虚拟网络架构的示意图。如图3所示,所述至少一个vyos模块4中的每个vyos模块4包括:路由器41,用于判断所述数据包的出口地址,在所述出口地址为所述vyos模块4的其它网关接口地址时,将所述数据包转发至对应的网关接口以进入所述虚拟交换机模块3;在所述数据包的出口地址为网口1地址时,将所述数据包转发至对应的网口1;防火墙42,用于对从所述至少一个网口1或所述路由器41接收的所述数据包进行过滤。本发明优选主机为linux主机,则至少一个网桥5为linux网桥51,虚拟交换机模块3优选为openvswitch模块31。图4是本发明一实施例提供的虚拟机入流量的流程图。如图4所示,使用本发明实施例的结构的虚拟机2入流量的步骤为:步骤1:网口1获取流量,首先经过vyos模块4的防火墙42部分进行过滤;如果策略通过则进入路由器41转发,否则丢弃数据包;步骤2:数据包经过路由器41进行转发,到相应网段的接口;步骤3:数据包进入openvswitch模块31,流表检查,检查匹配则输出到指定端口,如需流转换则进行流转换,指定端口连接linux网桥51;步骤4:linux网桥51寻址,流量被转发至虚拟机2。对于流转换,如果要实现一个vlan汇聚功能,将vlan101和vlan102都转变成vlan10,则当有一个数据包进入交换机流表中,进行流表检查,如果tag为vlan101和vlan102的地址,将会被修改为vlan10以完成流转换。另外,使用本发明实施例的结构的虚拟机2出流量的步骤为:步骤1:虚拟机2流量发出,linux网桥51获取流量;步骤2:openvswitch模块31获取到流量之后进行流表检查,直接输出到指定端口,指定端口连接vyos模块4;步骤3:路由器41如果获取到流量,查路由表转发至出口,出口若是其它网关接口地址时,则执行入流量步骤3和4,否则转发至防火墙42;步骤4:防火墙42规则检查,放行则转发至网口1,拒绝则丢弃;步骤5:流量已出主机。另外,本发明还使用虚拟交换机模块3具有的netflow模块来监控和统计虚拟交换机模块3上的流量。一个netflow系统包括三个主要部分:探测器,采集器,报告系统。探测器用来监听网络数据的,采集器用来收集探测器传来的数据,报告系统用来从采集器收集到的数据产生易读的报告。图5是本发明一实施例提供的vyos模块的示意图。如图5所示,所述至少一个vyos模块4中的每个vyos模块4还包括:ip地址分配模块43,即提供dhcp服务,用于在接收到ip地址分配请求时,为所述至少一个虚拟机2分配ip地址;域名模块44,用于存储与所述至少一个虚拟机2的ip地址映射的域名。例如dns模块,因特网上作为域名和ip地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的ip数串。ip地址转换模块45,用于将所述至少一个虚拟机2的ip地址转换为公用ip地址。如nat模块,当虚拟机2本来已经分配到了本地ip地址(即仅在本专用网内使用的专用地址),但现在又想和因特网上的主机通信时,可使用nat模块进行地址转换。图6是本发明一实施例提供的主机的虚拟网络架构的应用示意图。如图6所示,虚拟机2对外提供服务,处于不同的网段,内部之间需要通讯,但是如果没有物理三层设备(路由设备),用户无法跨网段访问虚拟机2。这种场景在传统架构下面需要物理三层设备的支持,而且网络结构以及硬件控制结构需要调整。在本发明实施例中,使用vyos模块4提供物理三层设备的功能。以下为实现步骤:步骤1:用户1和用户2具有正常的ip地址,通过物理交换机和网口1连接;步骤2:物理交换机传递用户1和用户2以及网口1的数据流;步骤3:vyos模块4中,防火墙42设置过滤规则,对源地址和目标地址以及端口访问进行限制;丢弃用户跨网段访问虚拟机2的数据流;步骤4:vyos模块4中,路由器41将数据流转发到相应网关接口上;步骤5:数据流到达openvswitch模块31,流表检查,数据流转发至linux网桥51。通过netflow协议将内部网络流量统计转发到图形ui展示;步骤6:linux网桥51对数据包进行检查,转发至虚拟机2;步骤7:数据流进入虚拟机2。综上,本发明提供的主机的虚拟网络架构可以提供以下功能:网络交换(802.1qvlan、stp、端口镜像等)、网络路由(bgp、ospfv2、ospfv3、rip、ripng、policy-basedrouting等)、防火墙42和nat(状态防火墙42、基于策略、基于区域、nat地址转换等)、网络服务(dhcp、dns缓存服务、web代理、url过滤、qos等)、vpn服务(ipsec、vti、openvpn、l2tp等)、高可用(vrrp、wan故障转移和负载均衡等)以及监控和维护(snmp、远程系统日志、netflow)。基于上面的主要功能,云计算领域下大部分线下产品的简单的、复杂的虚拟网络场景均可实现。它能做三层网络的安全互通,也能做到二层网络的安全隔离,还能对经过的流进行匹配修改。虚拟与物理网络的融合也简单,更利于产品节点的横向升缩。通过上述技术方案,本发明实施例提供一种主机的虚拟网络架构,该主机包括至少一个网口,该虚拟网络架构包括至少一个虚拟机,该虚拟网络架构还包括:虚拟交换机模块、至少一个vyos模块以及至少一个网桥,其中,所述虚拟交换机模块连接在所述至少一个网桥和所述至少一个vyos模块之间;所述至少一个vyos模块中的每个vyos模块与所述至少一个网口中的一者连接;所述至少一个网桥对应连接所述至少一个虚拟机。将虚拟交换机和vyos等模块融入到虚拟网络环境当中,提供二至四层的整套虚拟网络功能,极大地方便虚拟环境内部的网络定制,可以极大地节省设备成本,降低网络硬件的依赖。以上结合附图详细描述了本发明实施例的可选实施方式,但是,本发明实施例并不限于上述实施方式中的具体细节,在本发明实施例的技术构思范围内,可以对本发明实施例的技术方案进行多种简单变型,这些简单变型均属于本发明实施例的保护范围。另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本发明实施例对各种可能的组合方式不再另行说明。本领域技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得单片机、芯片或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。此外,本发明实施例的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明实施例的思想,其同样应当视为本发明实施例所公开的内容。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1