VPC(Virtual Private Cloud,虚拟私有云) 是云计算中最核心的网络概念之一。结合你的关注点,我从“是什么”和“系统架构如何组成”两个维度来梳理。
一、什么是 VPC?
一句话定义:
VPC 是在公共云(如阿里云、AWS、腾讯云)上,为你创建一个逻辑隔离的、私有的、可自定义配置的虚拟网络环境。
通俗比喻:
- 公共云就像一栋巨大的写字楼。
- 没有 VPC 时,大家(不同用户)的服务器就像在大开间里办公,虽然能隔开,但网络是通的,存在干扰和安全隐患。
- VPC 就是你在写字楼里租下的一个完全独立的套间**。你可以自己设计套间的格局(规划 IP 地址)、决定哪里开门(端口)、谁可以进来(访问控制),套间里的东西(云服务器、数据库)默认与套间外完全隔离。
核心价值:
- 隔离性:你的云资源和别人的云资源在网络层面彻底隔开。
- 可控性:你可以像管理传统数据中心一样,自定义 IP 段、路由表和防火墙规则。
- 可扩展性:可以无缝连接你的本地数据中心(通过专线/VPN),形成混合云。
二、VPC 的系统架构
VPC 并不是一个物理存在的盒子,而是一套由软件定义的、虚拟化的网络系统。它的系统架构主要由以下四部分组成:
1. 控制平面:SDN 控制器
- 角色:VPC 的大脑。
- 功能:
- 负责处理你通过控制台或 API 发出的所有配置指令(如创建 VPC、修改路由表)。
- 维护全网虚拟设备的配置信息。
- 将配置指令下发给数据平面的虚拟交换机。
2. 数据平面:虚拟化网络设备
这是 VPC 中真正处理数据包转发的部分,全部由软件(NFV,即网络功能虚拟化)实现:
- 虚拟交换机:
- 部署在每一台物理服务器上。
- 负责连接同一物理服务器上的不同云服务器,并通过Overlay隧道与其它服务器上的虚拟交换机通信。
- 虚拟路由器:
- 负责 VPC 内部子网之间的路由,以及 VPC 与外部网络(如互联网、其它 VPC)的流量转发。
- 核心是路由表,定义了流量的下一跳去哪。
- 虚拟防火墙:
- 安全组:状态化的包过滤,类似虚拟服务器的“虚拟机墙”。
- 网络 ACL:无状态的子网级访问控制列表,类似子网的“大门门禁”。
3. 隧道封装层:Overlay 网络
- 角色:VPC 隔离性的技术核心。
- 技术:主要采用 VXLAN 等隧道协议。
- 原理:
- 每个 VPC 被分配一个唯一的 VXLAN ID。
- 当数据包在物理网络中传输时,会被封装上这个 ID。
- 效果:不同 ID 的数据包在同一根网线上跑,但彼此完全隔离。这就实现了在同一个物理基础设施上,创建出成千上万个逻辑隔离的 VPC。
4. 网关层:连接内外
- NAT 网关:让 VPC 内没有公网 IP 的服务器可以主动访问互联网。
- VPN 网关/专线连接:用于将你的 VPC 与你的本地数据中心加密连接,构建混合云。
- 公网网关/负载均衡器:将 VPC 内的服务安全地发布到互联网上。
三、系统架构示意图(逻辑描述)
[ 你的控制台 / API ]
|
v
[ SDN 控制器(大脑) ] <-- 集中控制,下放指令
|
|----------> 配置虚拟路由器、更新路由表
|----------> 配置安全组规则
|----------> 分配 VXLAN ID
|
v
[ 物理服务器集群(数据平面) ]
------------------------------------------------------------
| 物理服务器 1 | 物理服务器 2 | 物理服务器 3
| [ 虚拟机A ] [ 虚拟机B ] | [ 虚拟机C ] [ 虚拟机D ] | [ 虚拟机E ]
| | | | | | | | | |
| +----+----+----+--------+----+----+----+--------+
| 虚拟交换机(带VXLAN隧道封装) | 虚拟交换机 |
------------------------------------------------------------
| |
+-------------[ VXLAN 隧道 ]-----+ <-- 数据包带着VPC隔离标识在物理网络流动
|
[ 虚拟路由器(跨子网/外网) ] <-- 由NFV软件实现
|
[ 网关(NAT/VPN/公网) ]
总结
- VPC 是什么:云上的逻辑隔离网络空间。
- VPC 的架构:由 SDN 控制器集中管控,通过 Overlay 隧道封装实现隔离,由 NFV 虚拟化网络设备(虚拟交换机、虚拟路由器)执行转发,最后通过网关连接外部世界。
发表回复