正在加载 3D 实验室…
正在加载课程…
← 互联网是如何工作的世界 1 · 第 2 节课,共 4 节全部课程 ↓

分块发送消息
正在教这个?打开投影模式
想象一下,你需要向朋友发送一张大照片。网络有两种基本方式可以做到这一点。
电路交换是旧电话网络的工作方式。当你打电话时,网络会为你和对方预留一条完整的线路,直到通话结束。即使是在没人说话的停顿期间,其他人也无法使用这条线路。
分组交换是互联网的工作方式。消息被切割成许多称为数据包的小块。每个数据包独立发送,网络在所有人的数据包之间共享其链路。来自许多不同对话的数据包在同一根线上轮流传输。
为什么把消息切块是个好主意?
这个想法是由美国的 Paul Baran 在 20 世纪 60 年代开发的,他在思考当网络部分故障时如何保持工作;同时,英国的 Donald Davies 独立地提出了数据包这个词。
一条消息需要多少个数据包? 用消息的大小除以每个数据包携带的数据量(即有效载荷),然后向上取整,因为最后一个数据包可能只装了一部分:
数据包数量 = ⌈ 消息字节数 ÷ 有效载荷字节数 ⌉
示例:
为什么是 1,460?你将在下一课中遇到这个数字。本课中的数字是为了教学方便而选取的整数。实际的延迟取决于具体的路由、设备以及网络的繁忙程度。
一条 10,000 字节的消息,每个数据包的有效载荷为 1,000 字节。需要多少个数据包?
一条 2,500 字节的消息,每个数据包为 1,000 字节。需要多少个数据包?
与预留整条线路相比,分组交换的一个优点是什么?
一条消息中的一个数据包丢失了。需要重新发送什么?