第 2 课,共 4 课 · 7 分钟
数据包、路由器和你的数据走过的路径
你的数据在 Mac 和服务器之间实际经历了什么:被切成数据包,一跳一跳地传递,有时还会穿越海底。
上一课追踪了一次点击从你的 Mac 到网站的全过程。这一课会放慢“建立连接”这一步:什么是数据包、路由器如何决定把它发往何处,以及你自己该如何观察这条路径。
你的信息,被切成碎片
你通过互联网发送的任何信息都不会整块传输。正如 Cloudflare 学习中心所解释的,数据在离开你的设备之前会被拆分成叫作“数据包”的小片段,再由接收方重新拼接起来。这被称为“分组交换”:由于来自许多不同计算机的数据包可以共用同一批线路和设备,数十亿台设备才能在同一网络上同时交换数据,每个数据包都是独立转发的,抵达的顺序也未必和发出时一致。
路由器:每一跳都要做一次决定
数据包不会直接抵达目的地。它会从一个路由器传递到下一个路由器,每个路由器都会自行决定接下来该发往哪里。Cloudflare 把路由器的工作描述为读取数据包的“包头”——也就是标明目的地的那部分——然后与路由表进行比对,就像列车乘务员查看车票来判断乘客该去哪个站台一样。路由表可以手动设置(静态路由),也可以随情况变化自动更新(动态路由),就像地图应用会自动绕开拥堵路段一样。一台路由器每秒要为来自许多不同发送者的数百万个数据包,重复这一判断数百万次。
由于互联网是由许多独立运营的网络组成的,一次到网站的连接通常要跨越好几个网络:你的家庭或办公网络、你的 ISP、一个或多个中转网络,最后才是托管该网站的网络。没有任何一方拥有整条路径,也没有任何一家公司能看到全部过程。
自己观察这条路径:traceroute
macOS 自带一个能显示这一跳一跳旅程的工具。Cloudflare 学习中心解释说,traceroute 的原理是发送生存时间(TTL)逐渐递增的数据包,这样沿途的每个路由器都会依次回传一条简短的错误消息,暴露自己的身份。最终得到的结果,就是一份列出你的数据包经过了哪些路由器、每一跳花了多长时间的清单。
traceroute 1.1.1.1Cloudflare 自己的文档中展示的一次到 1.1.1.1 的真实追踪,大致会先经过你家里的路由器,再经过 ISP 内部的一两跳,然后是一个或多个你从未听说过的网络,最后才抵达目的地。有些跳数会显示三个星号(* * *)而不是时间:这通常只是说明某个路由器被配置为不响应 traceroute,而不是出了什么故障。
跨越海洋:你从未见过的电缆
对于跨洲连接,数据包很可能在途中经过一条海底光纤电缆。国际电缆保护委员会(ICPC)是一个由政府和电缆所有者组成的组织,成立于 1958 年,该委员会指出,这些电缆运送国际语音和数据流量的成本比卫星更低、也更可靠:一通原本需要往返数万公里、经卫星中转的通话,现在可以沿海床点对点直接传输。ICPC 表示,这类电缆中的一对光纤如今能承载相当于 1.5 亿路同时通话的数字化容量,而每条电缆通常会捆绑好几对这样的光纤。由于故障或船锚都可能切断电缆,该行业依靠在任意两个地区之间建立多条独立路线,而不是仅靠一条线路。
要点
- 数据被拆分成独立传输的数据包,即使目的地相同,它们也可能走不同的路径。
- 沿途的每个路由器都会根据路由表自行做出转发决定,而看不到整个旅程。
- 连接到一个网站通常要跨越好几个独立运营的网络,而不是一条由单一公司拥有的连续线路。
- macOS 的 `traceroute` 工具能揭示逐跳的路径,以及到每个路由器的往返时间。
- 跨洲连接通常会经过海底光纤电缆,该行业通过建立多条独立路线来保护这些电缆的可靠性。
自我检测
1. 为什么数十亿台设备能够同时共用互联网的线路和设备?
- 因为每台设备都拥有自己专属的线路
- 因为数据被拆分成数据包,不同设备的流量可以在同一条线路上交错传输 — 正确。
- 因为 ISP 会平均降低每个人的速度
- 因为 DNS 解析器会把所有人的数据合并在一起
分组交换让来自许多发送者的数据包能够共用同一套网络设备,每个数据包都被独立转发。
2. 路由器依据什么来决定接下来把数据包转发到哪里?
- 数据包的文件大小
- 将数据包的目的地与路由表进行比对 — 正确。
- 发送者的 Wi-Fi 密码
- 仅根据一天中的时间
路由器会读取数据包包头中的目的地,并与自己的路由表进行比对,从而选择下一跳。
3. `traceroute` 实际上会显示什么?
- 每个路由器使用的密码
- 你访问页面的内容
- 你的数据包经过的路由器顺序,以及到每一跳的时间 — 正确。
- 仅仅是你自己的 IP 地址
traceroute 通过让沿途的路由器依次回应,揭示每一跳的身份和往返时间。
4. 为什么海底电缆行业要在各地区之间建立多条独立的电缆路线?
- 为了故意让连接变慢
- 因为单条电缆可能会受损,冗余设计能保持网络可靠 — 正确。
- 因为卫星正在被淘汰
- 因为每条电缆只能服务一个国家
ICPC 指出,自然灾害、船只等事件都可能损坏电缆,因此多样化的路线能让整个网络免受单点故障的影响。
用 FireAI 动手做
在你自己的 Mac 上练习这节课的内容。
来源
- Cloudflare Learning Center: What is a packet?
- Cloudflare Learning Center: What is routing?
- Cloudflare Learning Center: What is My Traceroute (MTR)?
- International Cable Protection Committee: Frequently Asked Questions
在你的 Mac 上实践
免费试用全部功能 17 天,无需绑定银行卡。