互联网是怎么连起来的?从你家光猫到海底光缆
用通俗的方式讲清互联网的物理结构:数据怎么从你家光猫出发,经过运营商网络、国际出口和海底光缆到达海外服务器,以及为什么跨境访问会变慢、晚上会更卡。
我们每天打开网页、刷视频,很少想过数据是怎么「走」的。其实互联网并不是一张整体的大网,而是由无数个网络互相连接起来的。理解了它的结构,很多网络现象就好解释了。
一次访问要经过哪些地方
以在家里打开一个海外网站为例,数据大致会经过这样一条路:
| 环节 | 是什么 | 打个比方 |
|---|---|---|
| 你的设备和路由器 | 手机、电脑、家里的 Wi-Fi 路由器 | 家门口 |
| 光猫和入户光纤 | 把你家连到运营商网络 | 小区的路 |
| 运营商城域网 | 一个城市范围内的网络 | 城市道路 |
| 运营商骨干网 | 连接全国各城市的高速网络 | 高速公路 |
| 国际出口 | 连接境外网络的关口 | 海关口岸 |
| 海底光缆 | 跨越大洋的光纤 | 跨海大桥 |
| 境外运营商网络 | 对方国家的网络 | 对方的道路 |
| 目标服务器 | 网站所在的机器 | 目的地 |
数据在每一段都要经过路由器转发,每一次转发叫一「跳」。用 traceroute(Windows 上是 tracert)命令,可以看到数据经过了哪些跳。
运营商:你家网络的「上游」
你家的宽带是从电信、联通、移动这样的运营商买的。运营商负责把你接入互联网,并和其他运营商互相连接:
- 国内运营商之间:通过互联互通的节点交换数据,所以电信用户也能访问联通的服务器,只是跨运营商时可能会慢一些。
- 和境外运营商之间:通过国际出口和海底光缆,与其他国家的运营商对接。
不同运营商的国际线路质量不一样,有普通的国际出口,也有更贵、更不拥挤的「精品网」。这也是为什么同一个海外网站,用不同运营商的网络访问,速度可能差很多。
海底光缆:连接各大洲的「主动脉」
洲际之间的数据,绝大部分都是通过海底光缆传输的。一根海缆里有多对光纤,每对光纤能传输巨大的数据量,比卫星的带宽高得多、延迟也低得多。
海缆从沿海的「登陆站」上岸,再接入陆地上的网络。它们偶尔会因为地震、船锚等原因受损,这时相关地区的跨境访问就会明显变慢,直到维修完成或流量绕到其他海缆。
国际出口:为什么晚上更卡
国际出口的带宽是有限的。白天用的人少,大家都能跑得很快;到了晚上 8 点到 11 点,大量用户同时看视频、打游戏、下载,国际出口被挤满,就会出现:
- 延迟升高:数据在路由器里排队等待;
- 丢包增多:队列满了,部分数据被丢掉,需要重传;
- 速度下降:每个人分到的带宽变少。
这种现象叫「拥塞」。它和你家宽带有多快关系不大,瓶颈在更上游的国际出口。延迟、丢包这些指标的含义,见 延迟、带宽和丢包。
距离决定了延迟的下限
数据在光纤里的传播速度大约是每秒 20 万公里(比真空中的光速慢)。从中国到美国西海岸,直线距离约 1 万公里,加上光缆不是直线、还要经过很多跳,往返一次至少需要一百多毫秒。
所以访问美国的网站延迟一定比访问日本、新加坡高,这是物理距离决定的,不是网络设置能消除的。
总结
- 互联网由很多网络互相连接组成,一次跨境访问要经过运营商网络、国际出口和海底光缆。
- 跨境访问慢,一是物理距离长,二是国际出口在高峰期容易拥堵。
- 不同运营商的国际线路质量不同,这是同一网站速度差异的重要原因。
接下来可以看:一个网址是怎么找到对应服务器的,见 IP 地址、域名和 DNS;数据在路上是怎么被保护的,见 HTTPS 和 TLS 加密。
常见问题
跨洋的数据真的是走海底光缆吗?
是的。洲际之间的绝大部分数据都通过海底光缆传输,卫星只承担很小一部分,因为光缆的带宽更大、延迟更低。
什么是国际出口?
国际出口是一个国家或地区的网络连接到境外网络的接口,所有访问境外网站的流量都要经过它。它的带宽是有限的,访问的人越多越容易拥堵。
为什么访问国内网站快、国外网站慢?
国内网站的服务器离你近、走的是国内骨干网;国外网站要经过国际出口和海底光缆,物理距离长,而且国际出口在高峰期容易拥堵。