March 5, 2026
消息应用如何处理流量和路由
了解像WhatsApp、Telegram和Signal这样的消息应用如何在毫秒内通过服务器、加密层和全球网络路由消息。
照片: freepik.com - DilokaStudio
在WhatsApp上发送文本感觉是瞬间的。轻触,嗖,完成。但是在你的拇指离开屏幕和消息在其他人的手机上弹出之间,你的数据会经过一个中继服务器,进行加密,通过路由表反弹,并落在离接收者更近的第二个服务器上。所有这些大约需要200毫秒。
整个链条比人们想象的更重要。
你的消息会绕路
没有一个主要的消息应用是直接从设备到设备发送数据的。它们都使用中继服务器,但组织这些服务器的方式截然不同。
Telegram在世界不同地区运行五个数据中心集群。当你第一次注册时,会根据你的地理位置分配到其中一个。新加坡的用户和法兰克福的用户正在与完全不同的服务器组进行对话,即使他们在聊天。服务器在中间处理交接。
WhatsApp几乎所有内容都通过Meta的基础设施传输,这更为集中。Signal采取了相反的方法,运行较小的服务器占用,并故意避免收集元数据。每种设计对速度、可靠性以及谁可以窥探什么都有影响。
当政府关闭开关时会发生什么
伊朗在2018年封锁了Telegram。俄罗斯尝试过,但大多失败。中国几乎封锁了所有不是微信的东西。这部分是实际的,而不是理论的。
标准的操作手册很简单:找出消息应用连接的IP地址,然后在ISP级别阻止这些IP。它有效,至少在最初是这样。但应用开发者变得很有创意。
Telegram构建了一种叫做MTProto代理协议的东西。它将消息流量包装起来,使其看起来像普通的HTTPS网页浏览。对于受限国家的用户,设置telegram代理创建了一个中介连接,可以绕过政府的过滤。
Signal采用了不同的方式,使用域前置。其想法是让Signal流量看起来像是要去Google。聪明,但Google最终在其基础设施上终止了该技术,亚马逊也跟随。因此Signal不得不再次适应。
加密开销问题
人们谈论端到端加密时,似乎是免费的。其实不是。
加密的数据包比未加密的要大。每次对话还需要在任何内容可以移动之前进行加密握手。Signal的协议,自2016年以来WhatsApp也使用过,给每条消息增加了大约15-20%的数据。通过 IEEE发布的研究记录了这种加密负担如何迫使移动运营商重新考虑他们优先处理应用流量的方式。
而群聊则是另一个麻烦。如果你向一个有200名成员的群组发送一条消息,应用必须生成200个单独的加密副本。这在处理和带宽方面是昂贵的。Telegram的解决方法是仅对“秘密聊天”使用端到端加密,而对正常对话使用服务器端加密。这是一个权衡:隐私减少,但群组交付速度更快。
让你脑袋痛的规模
WhatsApp每天处理超过1000亿条消息。让这个数字停留一秒。如果其中1%的消息失败,十亿条消息将消失。
这些应用使用地理负载均衡(将你路由到最近的有容量的服务器)和连接复用(将多个聊天流压缩到一个连接中,而不是打开新的连接)。没有什么特别的,但在这个规模上做到这一点确实是困难的工程。
Telegram的MTProto协议在这里也值得一提。它的构建旨在减少建立连接所需的来回往返。标准HTTPS仅为了握手需要几次往返。MTProto缩短了这一过程,这也是Telegram在网络不稳定的地区感觉更快的部分原因。该平台的技术基础设施将这一工作负载分配到前面提到的五个全球集群中。
那么你实际上应该关心什么
每个你的消息接触到的服务器都是元数据泄漏的地方。你在和谁发消息,何时,频率如何。加密保护内容,但路由路径本身讲述了一个故事。
如果这让你感到不安,检查你的应用是否支持代理路由或替代连接路径。并不是所有应用都支持。那些让用户控制其流量路径的应用在审查工具变得更智能和网络监控变得更便宜时会表现得更好。
路由层正变得和加密层一样重要。大多数人还没有意识到这一点。