理解私有云平台,公有网络和VPC网络与虚拟机通信的过程

秋意零 2024-12-15 50 12/15

理解私有云ZStack云平台,公有网络和VPC网络与虚拟机通信的过程

date:2023/8/18

你好,我是秋意零。今天分析一篇在ZStack实习时,对ZStack云平台网络的分析理解。

其实这篇早在23年的时候就写了,只是现在突然看见这篇文章感觉对理解私有云中虚拟机通信挺有帮助的,所以即使你使用的私有云平台不是ZStack云平台也可参考阅读。那在这里就分析一下!

一、基础介绍

1.1、物理网络和虚拟网络

  • 物理网络也叫传统网络,是看得见摸得着的物理设备组成的网络;
  • 虚拟网络通过虚拟技术,虚拟出来的网络设备组成的网络,而它的逻辑是和物理网络设备一样的。

理解物理网络和虚拟网络,有助于理解云平台中的网络结构。

1.2、Linux bridge 网桥

  • 虚拟机没有硬件设备,与物理机和其它虚拟机进行通信,所以这个时候就需要一个媒介来传递这个通信,也就出现了虚拟网桥(虚拟设备),可以看作是交换机。

ZStack 云平台中的二层设备都是使用 Linux bridge 网桥实现(很重要)。

1.3、二层网络和三层网络

  • 二层网络 L2NoVlanNetwork、L2VlanNetwork、VxlanNetwork、HardwareVxlanNetwork;
  • 三层网络公有网络、扁平网络、VPC 网络。

网络概念可在ZStack官网查看,如下:

ZStack Cloud 产品手册:https://www.zstack.io/help/product_manuals/user_guide/v5/1.html

理解私有云平台,公有网络和VPC网络与虚拟机通信的过程

注意:该篇章,二层使用 L2NoVlanNetwork,三层使用公有网络、VPC 网络。其它二层网络或三层网络未涉及。

二、公有网络

公有网络:一般表示可直接访问互联网的网络,由于公有网络是一个逻辑概念,在无法连接互联网的环境中,用户也可以自定义该网络。

2.1、虚拟机使用公有网络,逻辑通信流程图

ZStack 云平台中,我们将网络分成物理网络和虚拟网络两个区域来理解。

注意:图中的物理网络是从 bondx 开始,因为它是物理网卡的链路聚合逻辑表现。

该逻辑图中,我们可以看到。物理主机中,存在 VM 出入的两种流量,以及虚拟网络中通过 br_bondx 实现(NoVlanNetwork 模式)VM 的二层链路通信。

注意:VM 的网卡使用的 Virtio 虚拟技术,通过 vNIC 表现在物理主机上。它与容器的 Veth pair(虚拟以太网对)类似,用于创建一对虚拟网络接口设备,并且它们之间的链路流量都是直通方式。

理解私有云平台,公有网络和VPC网络与虚拟机通信的过程

2.2、ZStack 云平台实际操作及验证流程

  1. 云平台中创建一台公有网络的云主机,如图查看网卡接口名称;
理解私有云平台,公有网络和VPC网络与虚拟机通信的过程
  1. 在云主机所运行的计算节点上,通过 virsh list -> virsh domiflist id/name -> brctl show 命令,查看并验证。
理解私有云平台,公有网络和VPC网络与虚拟机通信的过程

三、VPC网络

3.1、VPC网络

  • 云主机使用的私有网络,可通过VPC路由器访问互联网。

3.2、VPC路由器

  • 一个定制的云主机,用于提供多种网络服务;
  • 路由器通过路由表实现不同网段的相互转发;
  • ZStack 云平台路由器,需要绑定VPC网络和公有网络。

3.3、虚拟机使用VPC网络,逻辑通信流程图

ZStack 云平台的路由器是模拟的物理环境的路由器,通过 iptables 实现转发。它是以虚拟机的形式存在的,所以我们对路由器绑定网络就是与虚拟机绑定网卡一样。我们需要为路由器绑定VPC网络和公有网络。

其它注意事项参考:虚拟机使用公有网络,逻辑通信流程图处。

理解私有云平台,公有网络和VPC网络与虚拟机通信的过程

3.4、ZStack 云平台实际操作及验证流程

路由器
  1. 在云平台 UI上,查看路由器绑定的公有网络和VPC网络。

需要注意的是:路由器所绑定 VPC 网络的网卡分配 IP,会作为 VPC 网络虚拟机的网关,这里也就是 10.32.30.1。

理解私有云平台,公有网络和VPC网络与虚拟机通信的过程
理解私有云平台,公有网络和VPC网络与虚拟机通信的过程
  1. 进入路由器控制台,使用ip命令,查看路由器所绑定的公有网络和VPC网络的网卡ip地址。
理解私有云平台,公有网络和VPC网络与虚拟机通信的过程
  1. 在路由器所运行的计算节点上,使用 virsh console 1 -> iptables -nL 命令查看 FORWARD 转发规则。
理解私有云平台,公有网络和VPC网络与虚拟机通信的过程
  1. 在路由器所运行的计算节点上,通过 virsh list -> virsh domiflist 1(id) -> brctl show 命令,查看并验证。
理解私有云平台,公有网络和VPC网络与虚拟机通信的过程
云主机

使用VPC网络创建云主机,并在所运行的计算节点上,通过 virsh list -> virsh domiflist 2(id) -> brctl show 命令,查看并验证。

理解私有云平台,公有网络和VPC网络与虚拟机通信的过程

最后。如果开始“虚拟机逻辑通信流程图”看不太懂,就先走一遍“云平台实际操作及验证流程”步骤。相信再次回过头来看“虚拟机逻辑通信流程图”,你会恍然大悟。

End

这篇文章有用吗?

点击星号为它评分!

平均评分 5 / 5. 投票数: 1

到目前为止还没有投票!成为第一位评论此文章。

很抱歉,这篇文章对您没有用!

让我们改善这篇文章!

告诉我们我们如何改善这篇文章?

- THE END -

秋意零

12月15日17:57

最后修改:2024年12月15日
0

非特殊说明,本博所有文章均为博主原创。

共有 0 条评论