CDN 与边缘 L4-L7
「CDN 与边缘」这一组共 3 家厂商 / 机构,每一家都按 L1~L7 分层整理:那一层它卖什么、哪一层是它的主场。
Cloudflare
主场:L3 / L7
L1 物理层
这一层刻意做薄,因为这个域在物理层几乎不拥有任何东西——这不是资料不足,而是它的商业模式决定的:它没有末端接入、没有频谱、没有海缆、也没有自己的数据中心。它拥有的是服务器与位置密度:把设备部署在全球数量级为三百余个城市的机房里(这些机房属于别人,包括 Equinix 这类托管商,所以在这一层它是前面几个域的客户而不是供给方)。这一层真正需要掌握的只有三件事。PoP 布局与「所有服务跑在所有服务器上」:与传统 CDN 用专用节点做特定功能不同,它的每台服务器都能跑全栈服务,这让边缘容量可以被任何一种业务共享,也是后面几层许多能力的物理基础。
L2 数据链路层
该层为空,没有产品或服务。这个域不做交换机、不管理 VLAN——它的服务器部署在别人的机房里(见 L1),二层网络由机房方或它接入的运营商负责,它自己没有独立于 L1 物理接入之外的二层产品。
L3 网络层
这一层是这个域真正的起点,也是它与所有前面域最不一样的地方。 核心机制是 anycast:同一个地址从数百个位置同时宣告,流量落到互联网路由认为最近的那个位置。这一个设计选择带来了三个连锁结果:就近落地(不需要为每个地区单独部署与解析)、攻击流量天然被分散到全网(而不是全部涌向一条管道),以及故障时流量自动漂移到下一个位置(代价是时延变化而不是中断)。基于它的三层产品有三条线。Magic Transit:你把自己的前缀交给它宣告,流量先到它的网络被清洗,再经隧道或私网互联回到你的机房——这是与 AT&T 域 L3 上游清洗的直接对照,两者思路不同但目标相同。
L4 传输层
从这一层开始这个域明显变厚,而且有一件事值得先说:本站反复出现的「无 ADC」空白线,在第十三个域第一次被一个非云厂商填补了——它确实提供负载均衡与健康检查(见本层第五项),只是填的是全局负载均衡这一块,不是数据中心内部的 ADC。这一层要掌握五件事。四层代理(Spectrum):把任意 TCP 或 UDP 服务放到边缘后面,而不只是 HTTP——这是它从「网站防护」扩展到「任意服务防护」的关键产品,顺带隐藏源站地址。网络层防火墙(Magic Firewall):对经过它的流量做包过滤,策略集中在云端、可用 API 管理,与 AT&T 域 L4 的网内防火墙是同一个思路的两个版本(一个在运营商网内,一个在边缘网内)。
L5 会话层
这一层比前面几个基础设施域厚得多,而且它填补了本站反复出现的一处空白:Megaport 域 L5、Equinix 域 L5、AT&T 域 L5 都明确写了「不提供远程接入与零信任访问」,而这个域有真正的身份感知接入产品(见本层第一项)——它连的不再只是站点与服务,而是人与设备。这一层要掌握四件事。零信任接入的会话:用户先通过身份提供方认证,边缘按每次请求做授权判断,会话时长、重新验证与设备状态都是可配置的策略,这与传统 VPN「一次登录、长期通行」是两种模型。反向隧道:源站主动向外建立持久连接,不需要开放任何入向端口,也不需要公网地址——这正是 AT&T 域 L4 讲运营商级地址转换时给出的那条建议(「把连接方向反过来」)的产品化形态。
L6 表示层
这是全站最厚的一个 L6,原因很直接:这个域的工作方式就是在中间终结加密、看懂内容、再重新编码转发。 于是前面十二个域在 L6 反复说的两句话在这里都被打破了。第一句是「不做压缩与格式转换」——这个域真的做(见本层第三项:压缩、图片格式转换、内容协商)。第二句是「密钥始终在你手里」——这个域默认相反:它必须能看到明文才能提供七层能力,所以密钥托管给平台是这套模型的内在前提而不是可选项(见本层第二项),这是它与前面所有域最本质的一处差别。这一层还有本站最重要的一处安全提醒:浏览器上有小锁不等于全程加密——如果回源加密模式配成了只加密「用户到边缘」那一段,边缘到你源站的那一段仍是明文,而用户看到的是完好的加密标志。
L7 应用层
这是这个域最厚的一层,也是它的起点——它最早就是一个反向代理加 CDN,后来的一切都是在「流量已经经过它」这个位置上不断加能力。倒置的结构在这里达到顶点:前面十二个域的 L7 大多是空白说明,而这一层有七项能力。要按四组来读。内容分发与缓存:这是最原始也最直接的价值,缓存命中率是这一层的核心指标,而动态内容不可缓存这一现实决定了它的上限。应用层防护:WAF 与规则引擎、机器人与滥用治理、接口防护,三者共用同一个位置;这一层最重要的运维方法是「日志—模拟—拦截」三阶段上线,因为误杀在应用层比在四层更常见也更难发现。DNS:它提供权威 DNS 托管,这正好填补了 AT&T 域 L7 指出的那个空白(递归解析不等于权威托管);
跨层 · 管控与运营
这个域的运维命题与前面十二个都不同,可以用四句话概括。第一,接入等于改 DNS:这是全站唯一一个「开通即全站级变更」的域——把解析交给它,全部流量的路径就变了;所以切换前先降低记录生存时间是这个域最重要的一条操作纪律,它决定了万一要回退需要等多久。第二,变更是全球同时生效的:改一条规则、调一个开关,几秒内在数百个位置生效,没有「先在一个地区试」的天然边界——这与运营商域(工单驱动、有施工缓冲)和机房域(物理变更有周期)完全相反,所以「日志—模拟—拦截」这样的分阶段方法在这里不是最佳实践而是必需品。第三,可观测性是半开的:它给你边缘侧的丰富数据,但源站内部与真实用户端体验要你自己补,而且错误码的区分(是边缘的问题还是源站的问题)是排障的第一道分岔。
Akamai
主场:L3 / L7
L1 物理层
跟本站 Cloudflare 域一样,这个域在物理层不拥有末端接入、频谱、海缆或自己的数据中心,但它在这一层的立足点跟 Cloudflare 完全不同,值得单独讲清楚:它把大量小型部署嵌进别人的网络内部——主要是运营商与 ISP 的机房,也包括互联设施——数量级远超 Cloudflare 数百城市的 PoP 规模,最后一跳往往就在用户自己所在的 ISP 内部。这带来的是极致的物理就近,代价是运营复杂度更高、单点容量更小,而且能不能进某个网络、能扩多大完全取决于跟宿主网络的合作关系(见 partners)——这正是本站 L3 讨论的映射系统之所以存在的物理基础:既然部署点数以万计且分散在别人的网络里,就需要一套持续重算的系统来决定每次查询该指向哪一个。
L2 数据链路层
该层为空,没有产品或服务。这个域不建交换机、不管理 VLAN——它的嵌入式节点部署在宿主网络内部(见 L1),二层网络由宿主网络自己负责,它没有独立于此之外的二层产品。
L3 网络层
这一层是这个域的真正起点,而它的核心是一样别的域都没有的东西:映射系统。 前面讲过(见 L1、L2)这个域从三层开始才有产品,而三层的第一件事就是「怎么把用户送到某个边缘点」——它的答案是用 DNS:由一套持续重算的映射系统来决定给每个查询返回哪个边缘地址,而另一个边缘域的答案是 anycast(见 Cloudflare 域 L3)。这两种机制的取舍是这一对产品所有其他差别的根源,所以本层专门用一节做正面对照。 除映射之外,三层还有三块内容。BGP 引流式清洗:把你的前缀引到清洗中心处理再回源,这是嵌入式架构下抗大流量攻击的主要手段——注意它与 anycast「天然把攻击分散到全网」是两种完全不同的思路。
L4 传输层
四层这一层里有一件在整个边缘平台类产品中很不寻常的事:这个域有一块产品是跑在你自己的数据中心与云里的。 先说常规的两块。四层攻击缓解机制:连接类攻击、状态耗尽与反射放大在边缘怎么被识别与丢弃,以及误判风险(与 L3 的引流清洗是同一体系的两端)。传输优化:嵌入式模型在这里有一个天然优势——最后一跳短,握手与重传的代价就低(见 L1、L3);再加上分层取回与协议层优化。第三块是微分段:一套装在你的工作负载上、管你内部东西向流量的产品。
L5 会话层
这一层是这个域除微分段之外第二块「不像边缘平台」的产品,而且它比微分段更成体系。 核心是零信任应用接入:在你的应用前面放一层身份感知的代理,用户先证明身份、再拿到某一个应用的访问权,而不是先拿到网络、再去找应用——这与传统的远程接入方式是两种模型,本层第一节会把差别拆开讲。它有一个很关键的机制细节:连接器从你的网络向外建立连接,所以你不必为此开放任何入站端口(见本层第一节),这是这类产品最大的安全收益,也是它与 IPsec 型远程接入最实际的差别。第二块是接入方式:有客户端模式也有浏览器直接访问的模式,后者对外部人员与不受管设备特别实用——而这一点与另一个边缘域的做法不同(那边以客户端为主,见 Cloudflare 域 L5)。
L6 表示层
这一层在本站有个明确的分界:绝大多数域都写着「对数据内容透明、不做转换」,而真正在中间处理内容的域只有两个——另一个边缘域和这个域。 所以这一层不薄。三块内容。证书与加密:边缘为你的域名终结 TLS,证书的签发、轮换与吊销由平台代管(也可以带自己的证书),并可对回源做双向认证。明文出现在哪里,这个域有一个别的域没有的具体问题:边缘终结意味着内容在边缘是明文的(与另一个边缘域相同),但这个域的边缘有很大一部分是部署在别人网络的设施里(见 L1)——服务器是它自己的、安全责任也是它的,但这确实让「明文出现在什么物理位置」这个问题比集中式架构更需要认真回答,本层第二节把该问的几个问题列清。
L7 应用层
这是这家公司的起点业务,也是它至今最成熟的一层。 五块内容。内容分发与缓存:这一层的核心不是「有没有 CDN」,而是缓存键怎么组成、缓存判据由谁决定、以及命中率怎么提上去——绝大多数 CDN 效果不佳的案例,原因都在缓存键里多了不该有的维度,而不在节点数量。Web 与 API 防护:托管规则集加自定义规则,而这一层真正的工作量在误判治理而不是开启防护。Bot 与账号防护:这是它相对多数同类产品更强的一块,而必须同时说清它的性质——这是一场持续对抗,不是一次性配置,并且误判会直接挡住真实用户。边缘计算:把逻辑放到边缘执行,它的价值在省掉一次回源往返,边界在执行时间与可用资源。
夸层 运维与治理
这一层有一条这个域独有的约束,它会直接影响你的发布流程:配置发布是有生效时间的。 这个平台的配置是一棵规则树,改完之后要经过一次「激活」才在全网生效,而激活需要时间(数量级为分钟到数十分钟,以最新文档为准)——这意味着「紧急改一下」这件事有一个下限,你的应急预案必须把这个时间算进去,而不能假设配置改动是即时的(缓存清除是另一条路径,通常快得多,两者不要混为一谈)。四块内容。配置与发布:规则树模型、预发与生产两个环境、版本与回滚。可观测与多方定界:这一层要正面回应 L3 那条结论——这个域的路径可见性比集中式架构更低,所以自建探测在这里比在别处更必要。
Fastly
主场:L7 / OPS
L1 物理层
跟本站 Cloudflare、Akamai 域一样,这个域在物理层几乎不拥有任何东西——没有末端接入、没有海缆、没有自己的数据中心,它是各地机房与交换点的客户而不是供给方。但它在节点分布策略上做了一个跟另外两个域都不同的选择:不追求城市数量最大化,而是刻意做「更少但更大、连接质量更好」的节点——数量级通常在几十个,远少于本站 Cloudflare 域数百城市的规模,也远少于本站 Akamai 域数千个嵌入式节点的规模,但每个节点部署在对等互联最密集的主要交换点,单节点容量与出口带宽通常更大。这个取舍的实质是用「城市级就近」换「连接质量与单点容量」——如果目标场景对时延极度敏感且用户高度分散,节点数量少可能意味着某些地区的就近程度不如另外两个域;
L2 数据链路层
该层为空,没有产品或服务。这个域不做交换机、不管理 VLAN,也没有针对二层网络的独立产品——跟本站 Cloudflare、Akamai 域一致,边缘网络厂商在这一层普遍没有实质产品,这是行业共性而不是这个域独有的缺口。
L3 网络层
这一层是这个域跟本站另外两个边缘域「怎么把用户送到某个边缘点」这个反复出现的问题的第三个答案:跟本站 Cloudflare 域一样用 Anycast——同一个 IP 地址从所有节点同时对外宣告,由互联网路由本身决定用户实际落到哪个节点,而不是像本站 Akamai 域那样用持续重算的 DNS 映射系统。但因为这个域的节点数量远少于 Cloudflare(见 L1),Anycast 在这里的实际效果会打一定折扣:Anycast 天生的优点之一是把流量(包括攻击流量)自动分散到「最近」的节点,节点越多,分散得越细;节点数量少意味着单个节点承担的用户与流量规模通常更大,这既是 L1 讨论的「单节点容量更大」这个设计选择的自然结果,也意味着极端流量事件下单个节点的压力会比节点更多的架构更集中。
L4 传输层
这一层的内容相对薄,因为这个域没有像本站 Cloudflare 域 Spectrum 那样面向任意 TCP/UDP 协议的通用代理产品——它的核心业务是 HTTP/HTTPS 流量,四层的实际能力主要体现在两处:依托 L3 的 Anycast 网络吸收连接级的流量高峰(机制跟 L3 一致,容量上限也受节点数量少这一事实约束),以及在边缘做连接与请求速率限制,防止单一来源的异常流量压垮后端。需要如实说明这个边界:如果业务需要代理非 HTTP 协议(比如游戏服务器的自定义 TCP/UDP 协议),这个域没有对应产品,需要看本站 Cloudflare 域的 Spectrum。
L5 会话层
这一层要先如实划清一个边界:跟本站 Cloudflare 域的零信任接入(Access)、本站 Akamai 域的企业应用访问产品不同,这个域没有面向企业远程接入/零信任访问的产品线——它的核心业务是内容分发与边缘计算,不是替代 VPN 或做身份感知的内网应用访问。这一层真正有产品的地方是长连接与流式场景的边缘代理:WebSocket 连接的边缘转发、以及大规模实时流媒体分发(这是这个域除了做通用网站加速外的一个重点行业场景)对长连接稳定性与边缘节点承载能力要求更高,跟一般的短连接 HTTP 请求代理有不同的运维考量。
L6 表示层
这一层的内容是标准的边缘 TLS 终结与证书管理:在边缘节点终结客户端到边缘这一段的 TLS,源站到边缘这一段可以单独配置加密强度(这跟本站 Cloudflare 域反复强调的「回源加密模式必须严格校验,否则边缘到源站这一段可能是明文或自签名」是同一条必须核查的规则,不因为换了厂商就不适用)。证书管理支持免费的托管证书自动续期,也支持上传自定义证书用于特定合规或品牌要求的场景。
L7 应用层
这是这个域的重心所在,也是它最初立身的地方,有两块内容分别对应本站头部提到的两个核心差异化点。一是基于 Varnish 深度改造的缓存内核与 VCL(Varnish Configuration Language)配置语言:跟很多 CDN 用固定规则集或图形化界面配置缓存策略不同,这里可以用一种接近编程语言的方式精确控制缓存键、缓存时长与边缘逻辑,这个域最初的立身之本是近乎实时的缓存清除——一次缓存失效操作可以在全网数百毫秒级别生效,在它刚进入市场时这个速度明显快于当时的主流竞争对手(当时的行业普遍水平是数分钟)。
跨层 · 管控与运营
这一层要正面回应 L7 提前预告的那条风险:让缓存清除近乎实时全网生效的同一套机制,也会让一次错误的配置变更以同样的速度在全网同时出错。 2021 年 6 月 8 日,一名客户的一次本身合法的配置变更触发了这个域软件里的一个缺陷,这个缺陷在几分钟内被同时推送到了全网大部分节点,直接导致包括 Reddit、Amazon、多家主流媒体与政府网站在内的大量互联网服务下线约一小时——这不是攻击,而是这套「即时、全局生效」架构在正常操作流程下暴露出的真实风险。这条经验对运维实践的直接启示是:变更管理必须假设「一次变更即全网变更」,分阶段发布(先小流量验证再全量)在这个域不是可选的最佳实践,而是应对这个架构特性的必需环节。