跳到正文
IGCSE·Tuition
计算机科学 · 课程

在简化网络中追踪数据包

关于数据包的题目总觉得模糊,直到你一步步跟着一个数据包走,看清每个设备做了什么。

本页内容
  1. 数据包里有什么?
  2. 路由器如何决定怎么做?
  3. 例题详解
  4. 学生常犯什么错误?
  5. 自我检测
  6. 下一步

通过网络发送的信息会被拆成数据包(packet)。每个数据包带有含地址和编号的头部(header)、一段数据负载(payload),路由器(router)一跳一跳地转发,直到抵达目的地。考试会要求你描述这个过程或填表。

这一课是数据传输与校验的开头。知道发送的是什么之后,后面的校验才更好理解。

数据包里有什么?

在 IGCSE 层面,可以把数据包想成三部分:

  • **头部:**目的地址、发送者地址、数据包编号、数据包总数和跳数。
  • **负载:**所携带的那一段信息。
  • **尾部或校验数据:**接收方用来测试错误的额外信息。

下面的地址是虚构的例子,来自专门保留给文档用的地址范围,不属于任何真实设备。

路由器如何决定怎么做?

  1. 路由器读取头部里的目的地址。
  2. 在路由表里查找最合适的下一跳。
  3. 把跳数减 1。
  4. 如果跳数现在是 0,就丢弃数据包,否则转发出去。

路由器不会读你的信息内容,只使用头部。

例题详解

一台笔记本电脑(198.51.100.7)向服务器(203.0.113.20)发送 2,400 个字符的信息。每个数据包的负载是 800 个字符。跳数从 5 开始。

路径是路由器 A、路由器 B、路由器 C。

**第 1 步,拆分。**2,400 ÷ 800 = 3,所以有 3 个数据包,编号为 3 个中的第 1、第 2、第 3 个。

**第 2 步,头部。**每个头部写明目的地 203.0.113.20、来源 198.51.100.7、自己的编号、总数(3)和跳数 5。

**第 3 步,数据包 1 的跳数。**到路由器 A 变为 4,到 B 变为 3,到 C 变为 2。它以跳数 2 抵达服务器,没有被丢弃。

**第 4 步,数据包 2 走不同路线。**路由器 A 发现通往 B 的链路很拥挤,就把数据包 2 改经路由器 D,再到 C。跳数依次为 4、3、2,它也抵达了。

**第 5 步,到达顺序。**数据包 3 走了短路线,先到。服务器收到的顺序是 3、1、2。

**第 6 步,重组。**服务器根据编号重新排成 1、2、3,把负载接起来,还原成 2,400 个字符。如果数据包 2 没到,服务器只会要求重发数据包 2。

学生常犯什么错误?

常见答案是:“路由器把整条信息沿最快的路径发送,数据包按顺序到达。”

这里有两处错。信息一开始就被拆开了,而且每个数据包可以走自己的路线。

数据包可能以任何顺序到达,这正是头部要有编号的原因。更正的写法是:接收设备根据编号重新排列数据包。

自我检测

1. 一条 1,500 个字符的信息以每包 500 个字符发送。需要多少个数据包?

查看答案

1,500 ÷ 500 = 3。3 个数据包。

2. 一个数据包的跳数从 3 开始,必须经过 4 个路由器。会发生什么,在哪里发生?

查看答案

路由器 1 把它变成 2,路由器 2 变成 1,路由器 3 变成 0。路由器 3 丢弃它。它在第三个路由器被丢弃,到不了第四个。

3. 头部里的哪一项让接收方能按正确顺序重建信息?

查看答案

数据包编号(连同数据包总数)。

下一步

接着看比特实际如何发送:串行与并行传输。然后试试练习题。受限伪代码追踪训练器很适合用来练习追踪计算跳数的循环。

如果你能说出步骤,但写出来的答案不够清晰,我们的老师可以在一对一线上计算机科学补习里帮你组织答案。

常见问题

为什么数据要拆成数据包?

小数据包可以走不同的路线,所以一条繁忙或损坏的链路不会堵住整条信息。如果某个数据包损坏或丢失,只需重发那一个,而不是整个文件。来自不同用户的数据包也能有效地共用同样的链路。

所有数据包都走同一条路线吗?

不一定。每个路由器会为每个数据包决定下一跳,所以同一条信息的数据包可能走不同路径,并以不同顺序到达。头部里的数据包编号让接收设备能把它们按正确顺序重新排好。

跳数减到零会怎样?

路由器会丢弃这个数据包,不再转发。这样可以防止陷入循环的数据包永远传下去。请核对你的大纲使用的确切术语,因为有的资料叫生存时间(time to live),有的叫跳数(hop count)。

更新于:

下一步

如果课堂上看得懂网络图,写出来的答案却很混乱,一对一的老师可以用你自己的例子,一步步帮你重建答案。

一小时付费试听课,按所安排老师确认的收费,RM80 起。 其他费用、时间安排及后续课程,在试听课后由家长与老师直接确认。

补习由家长或监护人安排。用 WhatsApp 把这页发给他们,他们就可以替你咨询。

是家长或监护人?在这里咨询

已通过我们的服务帮助 9,000+ 名学生