跳转至

后记:云网络的下一个根本性约束

回头看这条线

写完三十二章,回头看,整本书其实只在讲一件事:约束催生方案,方案引入新约束

第 1 章的约束是"两台机器怎么通信"。答案是交换机和路由器。但交换机引入了广播域的约束——机器一多,广播就炸。第 2 章的约束是"十万台机器的广播域怎么办"。答案是 Fat Tree + ECMP。但数据中心要卖给多个租户,隔离成了新约束。第 3 章到第 7 章,从 VLAN 的 4096 上限到 VxLAN 的 1600 万 VNI,从 VTEP 的落点选择到 VPC 的产品化——每一步都是上一步的约束逼出来的。

VPC 建好了,内部通信又是一串约束链:ARP 不能广播(第 8 章)、跨子网不能走集中网关(第 9 章)、访问控制不能事后补丁(第 10 章)、VM 启动需要自动获取身份(第 11 章)、容器要融入 VPC(第 12 章)。每一个"不能",都逼出了一个新的机制。

然后是连接公网(NAT、EIP、负载均衡)、VPC 互联(Peering、云联网、PrivateLink)、混合云(VPN、专线、统一纳管)、全球加速(DNS、Anycast、CDN)、安全防护(DDoS、WAF)、可观测与治理(Flow Log、主动探测、容灾、服务网格)。每一卷解决上一卷遗留的问题,每一卷又暴露新的问题。

到了卷十,连"流量是请求-响应"这个从未被质疑过的基本假设都被打破了。GPU 训练的全对全同步逼出了 RDMA 和专用拓扑,AI 推理的有状态调度逼出了 AI 网关。网络的角色从"被动的管道"变成了"主动的参与者"。

如果把这条线画出来,它不是一条直线,而是一条螺旋。每一圈都在更高的抽象层次上重复同样的模式:隔离 → 连接 → 控制 → 理解

物理网络层面:隔离(VLAN)→ 连接(路由)→ 控制(ACL)→ 理解(Flow Log)。 虚拟网络层面:隔离(VPC)→ 连接(Peering/云联网)→ 控制(安全组)→ 理解(服务网格)。 AI 网络层面:隔离(RDMA 网络与传统网络物理隔离)→ 连接(Rail 拓扑)→ 控制(无损网络 PFC/ECN)→ 理解(AI 网关理解模型状态)。

每一层的"理解",都是下一层"隔离"的起点。当你理解了物理网络的流量模式,你就知道该怎么隔离虚拟网络;当你理解了虚拟网络的服务调用模式,你就知道该怎么隔离和调度 AI 流量。

三十年的抽象跃迁

1990 年代,网络理解的是电信号和 MAC 地址。交换机看到一个帧,查 MAC 表,从对应端口转发出去。它不知道这个帧里装的是什么,也不需要知道。

2000 年代,网络开始理解 IP 地址和端口。路由器看到一个包,查路由表,决定下一跳。防火墙看到五元组,决定放行还是拒绝。网络开始有了"判断"的能力,但判断的依据仍然是包头里的固定字段。

2010 年代,网络开始理解应用协议。七层负载均衡解析 HTTP,根据 URL 路径做路由。WAF 打开请求体,分析参数是否包含攻击特征。CDN 理解 Cache-Control 头,决定内容是否可以缓存。网络的"智能"从四层上升到了七层。

2020 年代,网络开始需要理解应用状态。AI 网关需要知道推理实例的 KV Cache 占用率、请求队列深度、Prefill/Decode 比例。服务网格需要理解服务之间的调用关系和健康状态。网络要做出正确的决策,必须看到比协议字段更深的东西。

每一次跃迁,网络需要"理解"的层次都在上升:

电信号 → MAC 地址 → IP/端口 → HTTP 协议 → 应用状态 → ???

这条线的方向很清楚:网络正在从"理解格式"走向"理解含义"。格式是有限的、标准化的——以太网帧头永远是 14 字节,IP 头永远是 20 字节起。但含义是无限的、动态的——不同的应用有不同的状态结构,同一个应用在不同时刻的状态也不同。

当网络需要理解的东西从"有限的格式"变成"无限的含义"时,网络本身的架构也必须发生根本性的变化。这就是下一个约束的来源。

下一个根本性约束

如果让我猜,云网络在未来五到十年面临的根本性约束,不是带宽不够、不是延迟太高、不是协议不好——这些都是量的问题,可以通过工程优化逐步解决。真正的根本性约束是两个:

第一个约束:网络与计算的边界正在消失。

第 31 章已经展示了这个趋势的早期形态——GPU 集群的网络拓扑参与了计算调度,计算任务的分配要考虑网络距离。第 32 章进一步展示了 AI 网关需要理解模型的运行状态才能做出正确的路由决策。

这两个例子指向同一个方向:网络不再是计算的"外部基础设施",而是计算系统的"内部组成部分"。当网络需要理解计算才能正确工作,当计算需要感知网络才能高效运行,两者就不再是独立的系统,而是一个统一系统的两个侧面。

运营商和云厂商正在探索的"算力网络",本质上是在问:能不能让网络层参与计算调度的决策,而不只是被动转发?能不能让一个请求在网络中流动的过程中,网络本身就能判断"这个请求应该被送到哪里处理"?

如果这个方向成立,我们今天熟悉的"网络团队"和"计算团队"的组织边界、"网络产品"和"计算产品"的产品边界、"网络协议栈"和"应用运行时"的技术边界,都会被重新划定。这不是优化,是重构。

第二个约束:以太网的基本假设正在被挑战。

以太网的设计假设是"尽力而为"(best-effort)——网络不保证不丢包,丢了由上层协议(TCP)负责重传。这个假设在过去四十年里运转良好,因为 TCP 的重传机制足够成熟,丢包对应用的影响可以被控制在可接受的范围内。

但第 31 章展示了,RDMA 不能容忍丢包。RoCE 需要用 PFC 和 ECN 在以太网上"逼"出无损传输的效果,代价是巨大的运维复杂度和 PFC 风暴的风险。这本质上是在用软件配置和参数调优来对抗以太网的基本设计假设。

Ultra Ethernet Consortium(UEC)正在尝试从协议层面解决这个矛盾——不再依赖 PFC 构建无损网络,而是在以太网协议本身中内置对大规模 AI 通信的支持。如果 UEC 成功,以太网的"尽力而为"假设将被修改为"在特定场景下保证不丢包"。这是以太网诞生四十年来最根本性的假设变更。

但新的权衡条件又会出现。保证不丢包意味着网络必须做更多的事情——流量控制、拥塞管理、优先级调度——这些都需要交换机有更大的缓冲区、更复杂的调度逻辑、更精细的配置。以太网之所以能统治数据中心四十年,很大程度上是因为它足够简单。当它变得不再简单时,它的优势还能保持多久?

没有终点

这两个约束有一个共同的特征:它们不是通过优化现有方案能解决的,而是要求重新思考基础假设。

网络与计算的融合,要求重新思考"网络是独立的基础设施"这个假设。以太网的演进,要求重新思考"尽力而为"这个假设。两者都不是渐进式的改良,而是范式级的变化。

但这正是云网络最迷人的地方。

回顾这本书的三十二章,每一代的"正确答案"都是下一代问题的起点。VLAN 是正确答案,直到租户数量超过 4096。TCP 是正确答案,直到 GPU 需要全对全同步。负载均衡是正确答案,直到推理实例有了状态。没有任何一个方案是永恒的——它们都是在特定约束条件下的最优解,约束一变,方案就要跟着变。

如果你读完这本书,记住的不是三十二章的具体技术细节,而是这个模式本身——约束催生方案,方案引入新约束,新约束催生新方案——那这本书的目的就达到了。

因为下一次你遇到一个不熟悉的云网络产品或技术时,你不会问"它是什么",而会问"它解决的是什么约束,它引入了什么新的代价"。这个问法,比任何具体的技术知识都更持久。

技术会过时,但约束与权衡的思维方式不会。

云网络的演进没有终点,只有不断被新约束逼出来的新均衡。而每一次新均衡的建立,都是下一次失衡的开始。