计算与网络

互联网数据包如何传输

互联网传递消息,就像一个专送小信封的邮政系统。

一幅大画剪成带编号的小块后更容易寄送:把每块装进写好地址的信封,再到目的地重新拼起来。

  1. 一条大消息被分成三个带编号的TCP分段。一条大消息你好,远方的电脑便于处理的小块第1分段第2分段第3分段

    步骤 1

    消息变成小块

    对于TCP连接,数据会被分成便于处理的小块。TCP会标记各个分段,让接收方能跟踪字节流。

  2. 写好地址的信封与带有源地址和目的地址的IP数据包对比。写好地址的信封=IP数据包头

    步骤 2

    每个包都有地址

    IP会给每个小块包上含有源地址和目的地址的包头,就像在信封上写地址。

  3. 数据从笔记本电脑经过家用路由器,流向更广阔的互联网。本地链路下一跳你的设备本地路由器其他网络

    步骤 3

    你的路由器转发

    你的设备先通过本地网络把数据包发给能连接其他网络的路由器。

  4. 三台路由器把数据包逐跳转发到目的地。转发转发路由器A路由器B目标网络

    步骤 4

    路由器选择下一跳

    每台路由器都会读取目的地址,再把数据包转发给另一台合适的路由器或目标网络。

  5. 三个数据包沿两条不同路线前进,最后汇合到同一目的地。数据包1路由器A路由器B目的地数据包2路由器A路由器C目的地

    步骤 5

    数据包各自传输

    IP会分别处理每个数据包。同一条消息的数据包可能走不同路线,或在不同时间到达。

  6. 带编号的分段到达并接受检查,最后重新组成原始消息。小块到达TCP检查缺失数据返回消息准备就绪

    步骤 6

    接收方重组消息

    对于TCP流量,接收方会整理数据顺序。若有字节缺失,TCP会让发送方重新传输。

常见误区

每个数据包都走同一条固定路线。

IP会独立转发每个数据包。相关的数据包可能经由不同的可用路径,最后到达目的地。

快速检查

路由器查看什么来选择数据包的下一跳?

  1. 目的IP地址
  2. 数据包的颜色
  3. 发送方的屏幕尺寸
查看答案

目的IP地址会告诉路由器,数据包正试图到达哪个网络。

资料来源

  1. Internet Protocol — RFC 791RFC Editor
  2. Requirements for Internet Hosts — RFC 1122RFC Editor
  3. Transmission Control Protocol — RFC 9293RFC Editor