趣谈网络协议---云中网络:自己拿地成本高,购买公寓更灵活

版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/u012319493/article/details/82902330

从物理机到虚拟机

基于虚拟机,产生了云计算技术。

数据中心里,有类似于虚拟机的开源技术 qemu-kvm。软件模拟硬件,主要模拟 CPU、内存、网络、硬盘。

虚拟网卡的原理
在这里插入图片描述
虚拟机打开 Linux 上的 TUN/TAP,一种字符设备文件,在物理机可看到一张虚拟 TAP 网卡,虚拟机里的应用会将网络包往这里发。它将网络包转换为文件流,写入字符设备。

内核中的 TUN/TAP 字符设备驱动收到写入的文件流后,交给 TUN/TAP 虚拟网卡驱动。这个驱动将文件流再次转成网络包,交给 TCP/IP 协议族,最终从 TAP 网卡发出,成为标准的网络包。

虚拟网卡连接到云中

1、共享与互通问题

多张虚拟网卡如何互联?

使用虚拟交换机,Linux 上创建虚拟网桥:brctl addbr br0。两个虚拟机的虚拟网卡都连接到虚拟网桥:brctl addif br0 tap0,配置相同的子网网段,便可互相通信。
在这里插入图片描述
在这里插入图片描述
host-only,两个虚拟机连到一个 br0 虚拟网桥上,虚拟机之间能互相访问。

虚拟机如何连外网?

(1)桥接。物理机和虚拟机在同一个虚拟网桥上,大家都在同一个二层网络里。但规模较大时,需通过 VLAN 进行划分。

在这里插入图片描述
将网络打平:

在这里插入图片描述
(2)NAT。虚拟机网络和物理机网络不同,虚拟机访问物理机时,需将地址 NAT 成物理机的地址。还会在笔记本电脑里内置一个 DHCP 服务器,为笔记本上的虚拟机动态分配 IP 地址。
在这里插入图片描述
数据中心里:
在这里插入图片描述
也可自己登录到物理机上做个简单配置,简化一下。将虚拟机所在网络的网关地址直接配置到 br0 上,不用 DHCP Server,手动配置每台虚拟机的 IP 地址(iptables -t nat -A POSTROUTING -o ethX -j MASQUERADE),直接在物理网卡 ethX 上 NAT。开启物理机的转发功能(net.ipv4.ip_forward = 1),就不用路由器了。
在这里插入图片描述
2、隔离问题

如果一台机器上的两个虚拟机不属于同一个用户,怎么隔离?brctl 创建的网桥支持 VLAN,可设置两个虚拟机的 tag。

如何跨物理机互通,且实现 VLAN 的隔离?brctl 创建的网桥上的 tag 无法在网桥外起作用。可用命令 vconfig,基于物理网卡 eth0,为每个用户用 vconfig 创建一个带 VLAN 的网卡。不同的用户使用不同的虚拟网桥,带 VLAN 的虚拟网卡连接到虚拟网桥上。

不同的用户网桥不同,不互相通信,出了网桥,VLAN 不同,也不会将包转发到另一个网桥上。另外,出了物理机,也带着 VLAN ID,如果物理机交换机也支持 VLAN,跨物理机,不同的 VLAN 也不会互相通信。

但无法满足大规模云平台的隔离,因为 VLAN ID 只有4096个。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/u012319493/article/details/82902330