面试官关注点:VPC 和 SLB 谁都会用,但你能不能画出跨 Region、跨账号、混合云的完整网络拓扑,并解释每一段的数据路径?
一、VPC 基础架构
1.1 核心组件
- VPC:私有网络容器,CIDR 10.0.0.0/8、172.16.0.0/12、192.168.0.0/16 三段内选
- 交换机(VSwitch):子网,绑定单个可用区(跨 AZ 必须多 VSwitch)
- 路由表:系统路由表 + 自定义路由,决定出向流量走向
- 网关:NAT 网关、VPN 网关、边界路由器(VBR)、CEN
- 安全组:实例级虚拟防火墙,有状态(回包自动放行)
- 网络 ACL(NACL):子网级,无状态,需同时放行入向和出向
1.2 CIDR 规划最佳实践
主 VPC:10.0.0.0/16
├── 华东 1 可用区 H:10.0.1.0/24 (Web)
├── 华东 1 可用区 H:10.0.2.0/24 (App)
├── 华东 1 可用区 I:10.0.11.0/24 (Web)
├── 华东 1 可用区 I:10.0.12.0/24 (App)
├── 数据库专用:10.0.100.0/24
└── K8s Pod CIDR:10.1.0.0/16(与宿主 VPC 不能重叠!)
规划铁律:
- 不同 VPC / 跨云 CIDR 不重叠(CEN 或 VPN 互联必需)
- K8s Pod / Service CIDR 独立规划,避免与 VPC 主 CIDR 冲突
- 给未来留白,生产 VPC 至少 /16,避免子网扩展不够
- 按环境(prod/pre/test) 或 功能(web/app/db) 分 VSwitch
二、负载均衡产品矩阵
2.1 阿里云四大 LB 产品
| 产品 | 层次 | 典型 QPS | 说明 |
|---|---|---|---|
| CLB(经典) | 4/7 层 | 5 万 | 已弱化,新业务不推荐 |
| ALB(应用型) | 7 层 HTTP/HTTPS/QUIC | 百万级 | 支持 WebSocket、gRPC、内容路由、WAF 集成 |
| NLB(网络型) | 4 层 TCP/UDP/TCPSSL | 千万级 | 保持源 IP、超高性能、稳态延迟 |
| GWLB(网关型) | 3 层 | — | 流量透传到第三方设备(WAF、IDS) |
2.2 ALB vs NLB 怎么选
| 需求 | 选择 |
|---|---|
| HTTP/HTTPS、URL 路径路由、Header 改写 | ALB |
| 需要 QUIC/HTTP3 | ALB |
| 超高并发长连接(IoT、游戏、音视频) | NLB |
| 保留真实客户端 IP 到后端(无 XFF) | NLB(直接保源 IP) |
| 非 HTTP 协议(MySQL、Redis 代理等) | NLB |
| 跨账号、跨 VPC 访问 | ALB / NLB 都支持 PrivateLink |
2.3 健康检查踩坑点
- 检查路径:必须是廉价且准确的接口(
/healthz),不要用首页(容易被 DDoS) - 检查超时:默认 5s,慢服务要调大,否则误判
- 检查间隔:太短(1s)会产生大量健康检查流量
- 不健康阈值:生产建议 3 次连续失败才摘除,避免抖动误杀
- 预热:刚加入的实例,Java 应用需要 JIT 预热,ALB 支持 慢启动(slow start)权重渐增
三、入口架构分层
3.1 公网入口层级
用户 → DNS(阿里云解析)→ CDN/DCDN → WAF → Anti-DDoS
→ 公网 SLB (ALB/NLB) → 私网 SLB → 应用
3.2 关键组件
DNS(云解析 DNS):
- 智能解析:按运营商、按地域返回不同 IP(电信走电信 IP)
- GTM(全局流量管理):健康检查 + 多地多活解析切换
- PrivateZone:VPC 内私有域名
CDN / DCDN:
- CDN:静态加速(图片、视频、静态页)
- DCDN:全站加速,动静混合,动态内容回源加速
- EdgeScript / EdgeRoutine:边缘计算,在边缘节点执行逻辑
WAF:
- 规则集(OWASP Top10、CC 攻击、Bot)
- 可部署在 CDN 侧或作为独立反向代理
- 自定义规则 + 威胁情报联动
Anti-DDoS:
- 基础防护:ECS 默认 5Gbps 免费清洗
- DDoS 高防 IP:独立 IP,流量牵引清洗(百 G-T 级防御)
- DDoS 原生防护企业版:按带宽计费,集成到云产品
四、出网架构
4.1 NAT 网关
- SNAT:多个 ECS 共享少量 EIP 访问公网(省钱 + 集中审计)
- DNAT:端口转发,把公网请求转到内网实例
- 高可用:增强型 NAT 网关自带多可用区 HA
- 坑:NAT SNAT 端口复用有上限(单 EIP 对单目的 IP:Port 大约 5.5 万并发),海量短连接要挂多个 EIP
4.2 EIP 与公网 IP
- 固定公网 IP:随实例生成,不可迁移(已不推荐)
- EIP:独立资源,可绑定/解绑 ECS/SLB/NAT
- 共享带宽包:多个 EIP 共享带宽池,削峰填谷(省 30-50%)
- IPv6 网关:独立为 IPv6 出入向
五、跨网络互联
5.1 CEN(云企业网)
阿里云骨干网,实现:
- 跨 VPC:同 Region / 跨 Region 内网互通
- 跨账号:授权后接入
- 混合云:VBR(边界路由器)+ 物理专线接入线下 IDC
- 带宽包:购买 Region 间传输带宽
架构:
VPC-A (华东1) ─┐
VPC-B (华北2) ─┼─→ CEN 实例 ←─ 带宽包 ←─ VBR ←─ 物理专线 ←─ 线下 IDC
VPC-C (新加坡)─┘
5.2 VPC 对等连接(Peering)
- 同 Region 或跨 Region 两 VPC 直连,轻量级
- 不支持传递性(A↔B、B↔C 不代表 A↔C)
- 适合简单场景,复杂拓扑用 CEN
5.3 VPN 网关
- IPsec VPN:站点到站点(VPC ↔ IDC)
- SSL VPN:个人终端接入(远程办公)
- 备用通道 / 低成本场景,带宽有限(Gbps 级)
5.4 专线(物理接入)
- 独占专线:阿里云机房拉到客户机房,稳定、贵
- 共享专线:通过合作伙伴接入
- 双专线:不同运营商 + 不同物理路径,避免单点
5.5 PrivateLink(私网连接)
- 场景:SaaS 服务提供方暴露服务给多个消费方 VPC,不打通 CIDR
- 原理:消费方 VPC 内创建 Endpoint,通过服务端 NLB 访问
- 优势:CIDR 可重叠、单向访问、最小权限
六、容器网络(ACK CNI)
6.1 Terway(阿里原生 CNI)
- Pod 直接使用 VPC ENI(弹性网卡),Pod 就是 VPC 一等公民
- Pod IP 与 ECS 同网段,SLB 可直挂 Pod(高性能)
- 一个 ECS 绑多 ENI + 辅助 IP,支撑几十个 Pod
6.2 Flannel(VXLAN)
- Overlay 网络,Pod IP 是独立 CIDR
- SLB 需要经过 NodePort 或 Ingress,多一跳
- 性能略逊于 Terway,简单兼容好
6.3 Cilium / eBPF(新趋势)
- 基于 eBPF,绕过 iptables,延迟更低
- 支持 L7 策略(HTTP 方法、路径级)
- ACK 已支持 Cilium 模式
七、跨地域多活架构
7.1 异地多活(同城 + 异地)
┌─── 华东 1(主)────┐ ┌─── 华南 1(主)────┐
用户 → DNS GTM │──CEN──│ │← 用户
│ ├─ AZ-H │ │ ├─ AZ-B │
│ └─ AZ-I │ │ └─ AZ-C │
│ 单元化(RZone) │ │ 单元化(RZone) │
└────────────────────┘ └────────────────────┘
↓ 跨域异步同步(DTS)
┌── 冷备中心 华北 2 ──┐
7.2 数据层多活策略
| 策略 | 适用 | 挑战 |
|---|---|---|
| 主备(一写多读) | 读多写少 | 切换 RTO 分钟级 |
| 单元化(按用户 ID 分单元) | 电商、社交 | 改造成本高,数据一致性设计 |
| 多主(冲突解决) | 低冲突场景(CRDT) | 冲突难处理 |
| Geo 分片 | 按地区拆数据 | 跨区业务需要全局视图 |
7.3 流量调度
- DNS 级:GTM 切换,TTL 限制,分钟级
- 客户端 SDK:App 内置兜底 IP 列表和切换逻辑
- 接入层:ALB 跨 Region 后端池
- 全局加速 GA:BGP Anycast,秒级切换
八、高性能与优化
8.1 eRDMA / RDMA
- RDMA over Ethernet,微秒级延迟
- 适合 HPC、AI 训练、分布式存储
- 阿里云 ebmg7ex/ebmc7ex 支持
8.2 Jumbo Frame
- MTU 从 1500 提到 9000,大包传输减少开销
- 要端到端支持,VPC 内默认 1500,需要申请开通
8.3 BGP 多线 vs 单线
- BGP 多线:一个 IP 对多运营商智能路由(推荐)
- 单线:便宜,跨运营商访问有损
九、安全组与 ACL 实战
9.1 安全组设计原则
- 最小权限:默认拒绝,按需放行
- 分层:Web 组、App 组、DB 组分别授权
- 引用:规则中引用安全组 ID 而非 IP 段(组内成员变化自动适配)
- 命名规范:
sg-prod-web-frontend、sg-prod-db-mysql
9.2 示例:三层架构安全组
sg-web: 入向 0.0.0.0/0 → 80/443(来自公网)
出向 → sg-app 8080
sg-app: 入向 ← sg-web 8080
出向 → sg-db 3306, → sg-cache 6379, → 0.0.0.0/0 443(外部 API)
sg-db: 入向 ← sg-app 3306
出向 全开(或限定日志/监控地址)
9.3 与 NACL 的配合
- 安全组:实例级 + 有状态,主力
- NACL:子网级 + 无状态,用于粗粒度隔离(如"整个子网不能访问公网")
十、面试高频问答
Q1:ALB 和 CLB 的差异?为什么 ALB 是未来? A:
- CLB:基于 LVS + Tengine,7 层能力有限,QPS 5 万上限
- ALB:全新一代,7 层能力丰富(QUIC/HTTP3、gRPC、高级路由、慢启动),百万 QPS
- 计费:CLB 按规格固定,ALB 按 LCU(连接数 + 新建连接数 + 处理字节数 + 规则评估数)
- 迁移建议:新项目直接 ALB,存量 CLB 按生命周期迁
Q2:NLB 为什么能到千万 QPS? A:基于洛神 4.0 vSwitch + 自研转发芯片,数据面零拷贝,支持跨 AZ 容灾(单个 NLB 实例多 AZ),保留源 IP(TCP 透传)。
Q3:VPC 内访问 OSS/RDS 走公网还是内网?
A:同 Region 内走内网免费。OSS 有内网 Endpoint(oss-cn-hangzhou-internal.aliyuncs.com),RDS 也提供内网连接串。跨 Region 访问需要走公网或 CEN。
Q4:怎么排查 VPC 内两台 ECS 不通? A:分层排查:
- 路由表:两边 VSwitch 是否在同一 VPC、路由是否生效
- 安全组:双向入向规则是否放行(很多人只放一边)
- NACL:若启用了,检查子网级
- OS 防火墙:iptables/firewalld/nftables
- 应用监听:
ss -lntp看是否监听在 0.0.0.0 而非 127.0.0.1 - VPC 网络抓包(阿里云支持)或两端 tcpdump
Q5:SLB 后端服务拿不到真实客户端 IP 怎么办? A:
- ALB 7 层:
X-Forwarded-ForHeader 携带(注意取最后一个非代理 IP) - CLB 7 层同理
- NLB / CLB 4 层:开启 TOA(TCP Option Address)或 Proxy Protocol(v1/v2)
- Nginx 需配置
real_ip_header X-Forwarded-For+set_real_ip_from <SLB 内网段>
Q6:DNS 解析异常怎么排查? A:
dig @223.5.5.5 example.com直连权威/公共 DNS 确认dig +trace看完整解析链- 客户端
/etc/resolv.conf+systemd-resolved配置 - TTL 是否过长(变更不生效)
- 智能解析规则覆盖(某运营商返回错 IP)
- NS 记录、CNAME 循环
Q7:跨账号 VPC 互通有几种方案? A:
- CEN 跨账号授权(推荐,骨干网)
- VPC Peering 跨账号(同/跨 Region 轻量)
- PrivateLink(不打通 CIDR,服务级单向)
- VPN 网关(兜底)
Q8:什么是 BGP Anycast?GA 是如何实现秒级切换的? A:多个接入点宣告同一 IP,BGP 路由让用户就近接入;某个点故障时,BGP 收敛到次近节点,秒级感知。阿里云 全球加速 GA 基于此 + 自有骨干网。
十一、生产网络巡检清单
- VPC CIDR 规划文档是否存档、是否避免冲突
- 所有生产 SLB 是否跨 AZ 部署
- SLB 健康检查参数是否合理(超时、阈值)
- 公网入口是否有 WAF + Anti-DDoS
- 出网是否通过 NAT 网关统一审计(避免 ECS 直挂 EIP)
- 安全组是否最小权限、是否定期 Review 未使用规则
- 关键域名 TTL 是否合理(紧急切换用的 60s,稳定用的 300s+)
- 专线 / VPN 是否有双链路
- 跨 AZ / Region 的业务依赖是否识别并消除
- 带宽使用率告警是否到位(>80% 提前扩容)