03 网络与负载均衡

0 阅读9分钟

面试官关注点: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 可用区 I10.0.11.0/24 (Web)
├── 华东 1 可用区 I10.0.12.0/24 (App)
├── 数据库专用:10.0.100.0/24
└── K8s Pod CIDR:10.1.0.0/16(与宿主 VPC 不能重叠!)

规划铁律

  1. 不同 VPC / 跨云 CIDR 不重叠(CEN 或 VPN 互联必需)
  2. K8s Pod / Service CIDR 独立规划,避免与 VPC 主 CIDR 冲突
  3. 给未来留白,生产 VPC 至少 /16,避免子网扩展不够
  4. 环境(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/HTTP3ALB
超高并发长连接(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-frontendsg-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:分层排查:

  1. 路由表:两边 VSwitch 是否在同一 VPC、路由是否生效
  2. 安全组:双向入向规则是否放行(很多人只放一边)
  3. NACL:若启用了,检查子网级
  4. OS 防火墙:iptables/firewalld/nftables
  5. 应用监听ss -lntp 看是否监听在 0.0.0.0 而非 127.0.0.1
  6. VPC 网络抓包(阿里云支持)或两端 tcpdump

Q5:SLB 后端服务拿不到真实客户端 IP 怎么办? A:

  • ALB 7 层X-Forwarded-For Header 携带(注意取最后一个非代理 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:

  1. dig @223.5.5.5 example.com 直连权威/公共 DNS 确认
  2. dig +trace 看完整解析链
  3. 客户端 /etc/resolv.conf + systemd-resolved 配置
  4. TTL 是否过长(变更不生效)
  5. 智能解析规则覆盖(某运营商返回错 IP)
  6. NS 记录、CNAME 循环

Q7:跨账号 VPC 互通有几种方案? A:

  1. CEN 跨账号授权(推荐,骨干网)
  2. VPC Peering 跨账号(同/跨 Region 轻量)
  3. PrivateLink(不打通 CIDR,服务级单向)
  4. 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% 提前扩容)