The invention provides a device and a method for network virtualization, the network configuration of mirror physical machine to the virtual machine, to simulate physical machine network environment, on the one hand, resulting in the direct operation of the physical network on the application process at the same time because of the illusion, the independence of the virtual machine and the physical machine operating system kernel nature to meet the requirements of lightweight network isolation, on the other hand, for virtual machines and physical machine operating system kernel, after the isolation of the network configuration and the conventional case almost no difference, does not need any modification of the global network configuration, so the protocol stack is also no complex modification, maintenance of the whole system the cost is very low.
【技术实现步骤摘要】
网络虚拟化方法及设备
本申请涉及计算机领域,尤其涉及一种网络虚拟化方法及设备。
技术介绍
一般来说,虚拟机与物理机在生产环境下处于完全的网络隔离状态,要么在2层(以太网级协议或TCP协议)隔离开,要么在3层(IP协议)上隔离开。这使得虚拟化环境下的生产系统网络配置极为复杂。其实对于一般应用来说,网络隔离性的要求性并不高。例如典型场景是在虚拟机内运行“要求物理机网络环境”的第三方应用程序,对于这种应用,有时甚至没有源代码。这种情况下,网络子系统的隔离性更多指的是物理机网络资源在命名空间上的隔离,称这种隔离性为“轻量级网络隔离”。在虚拟化环境下,虚拟机与物理机运行的是各自独立的操作系统,它们的协议栈是完全独立运行的。两套协议栈在资源的命名上完全没有交互,这导致了两者完全无法实现网络地址资源的良性共享,也就无法在虚拟机内安全运行“要求物理机网络环境”下的应用程序了。现有技术中,有如下三种常规的网络虚拟化技术方案:1.NAT技术,即在物理机上通过NAT地址变换将流量导入导出到虚拟网络上;2.桥接技术,即在物理机上通过2层转发技术将流量导入导出到虚拟网络上;3.将虚拟机的网络在3层以上彻底虚拟化,由虚拟网络中的某个网关把流量转发到物理网络环境中。以上三种现有方案都可以做到完全隔离的目的,但对于轻量级网络隔离场景过于笨重,甚至还有功能限制:1.NAT技术,物理机操作系统必须维护复杂的地址转换状态机,在网络转发的核心路径上还需要执行昂贵的地址转换操作,这种方法也难于实现在虚拟机中提供接受被动连接请求的网络服务;2.桥接技术,物理机操作系统必须维护复杂的地址转换状态机和执 ...
【技术保护点】
一种网络虚拟化方法,其中,该方法包括:将物理机的网络配置镜像到虚拟机上;对虚拟机上的网络协议栈加以端口使用限制;由所述物理机为所述虚拟机分配仅供其使用的端口;其中,所述端口使用限制包括禁止传输层通信协议连接的目标地址使用物理机上的传输层通信协议端口,以及禁用原始套接字接口。
【技术特征摘要】
1.一种网络虚拟化方法,其中,该方法包括:将物理机的网络配置镜像到虚拟机上;对虚拟机上的网络协议栈加以端口使用限制;由所述物理机为所述虚拟机分配仅供其使用的端口;其中,所述端口使用限制包括禁止传输层通信协议连接的目标地址使用物理机上的传输层通信协议端口,以及禁用原始套接字接口。2.如权利要求1所述的方法,其中,将物理机的网络配置镜像到虚拟机上包括:将所述物理机上的网卡的配置镜像到虚拟机上;关闭所述虚拟机上的网卡的地址解析协议;将所述物理机上的网卡的网际互连的协议地址镜像到所述虚拟机上,但将所述虚拟机上的网络掩码设置为32;将所述物理机上的默认路由器设为所述虚拟机的默认路由器,并将虚拟机的默认路由器的物理地址设置成虚构的地址;将所述物理机上的地址解析协议信息包过滤系统的规则镜像到对应的虚拟机。3.如权利要求2所述的方法,其中,将物理机的网络配置镜像到虚拟机上,还包括:将所述物理机上的多队列和中断配置镜像到虚拟机上。4.如权利要求2或3所述的方法,其中,将物理机的网络配置镜像到虚拟机上,还包括:将所述物理机上的域名系统配置镜像到虚拟机上。5.如权利要求1至4任一项所述的方法,其中,所述端口使用限制还包括:除了传输层通信协议,只允许预设协议的流量进出所述虚拟机,所述预设协议的流量包括地址解析协议请求和响应的流量及预设类型的网际控制报文协议的流量。6.如权利要求1至5任一项所述的方法,其中,由所述物理机为所述虚拟机分配仅供其使用的端口,包括:所述物理机根据所述虚拟机的镜像端口的分配请求,建立一个传输控制协议套接字;所述物理机检查所述虚拟机的镜像端口的分配请求的类型,若是绑定系统调用,则执行绑定系统调用,在传输控制协议绑定哈希表中占据一个镜像端口,若是连接系统调用,则执行连接系统调用,在传输控制协议已经建立的哈希表中占据一个镜像端口,若占据成功,则在所述传输控制协议套接字中保存对应的虚拟机标识,并标识该传输控制协议套接字为镜像套接字,所述镜像套接字中包括所述占据的镜像端口,并向虚拟机返回分配功能的响应;若占据不成功,则关闭所述传输控制协议套接字,并向虚拟机返回分配失败的响应。7.如权利要求1至6任一项所述的方法,其中,由所述物理机为所述虚拟机分配仅供其使用的端口之后,还包括:虚拟机将经过其传输控制协议套接字层、传输控制协议栈和网络之间互连的协议层后,输出的传输控制协议及网络之间互连的协议的报文不通过其网卡,直接传递到所述物理机的操作系统中,其中,所述报文为依次封装好目标4、3、2层地址的报文;所述物理机上的地址解析协议层替换掉所述报文中目标2层地址后,将该报文通过其网卡发送出去。8.如权利要求6或7所述的方法,其中,由所述物理机为所述虚拟机分配仅供其使用的端口之后,还包括:物理机判断接收到的报文是否为传输控制协议及网络之间互连的协议的报文,若是,在所述传输控制协议已经建立的哈希表中查找是否有对应于该报文的传输控制协议套接字,若查找到,判断该传输控制协议套接字是否为镜像套接字,若是镜像套接字,则物理机将进行其内核的报文进行4层之前的除类型接收装卸、填充套接字和网络轮循接口操作之外的所有操作后,将所述报文送入虚拟机的传输控制协议层,若不是镜像套接字,则将所述报文转到常规协议栈进行处理;若未查找到,则将所述报文转到常...
【专利技术属性】
技术研发人员:李雨,张军伟,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛,KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。