itslabtime.com

信息 · 计算机 · 网络与安全

数据包传输与重传

如果将消息分割成数据包,每个数据包都可以单独传输,然后再重新组装。当因丢失而进行的重传来弥补丢失时,完成率和延迟都会发生变化。

相关实验:数据包传输与网络 →
数据包传输与网络
数据包传输与网络实验场景 →

意义与机制

数据包是用于分割数据和控制信息的传输单元。 即使消息的一部分先到达,如果缺少必要的剩余部分,则无法完成恢复。

如果传输过程中数据包丢失,可以通过使用确认响应或时间限制来重新发送。 重新发送确实有助于传输,但需要额外的时和资源。

关系与条件

计算在固定负载大小下,包的数量为 ceil(消息字节 / 负载字节)。实际传输的量包括报头和重传数据。

该实验利用独立的路径,简单的损失,以及有限的重试次数。它并不能准确模拟实际协议的拥塞控制、序列排序,以及带宽共享。

观察实验中需要注意的事物

重新传输可以完成一条信息,但会增加延迟。

这简化了实际协议:独立的并行路径,最多 40 次重试,无头部或带宽竞争。

关键关系与符号

packets = ceil(bytes / payload)

符号及公式中使用的单位
符号含义单位
payload包内携带的负载大小byte
延迟从信号开始传输到获得必要的结果,所花费的时间。时间

工作实例

什么会恢复乱序的包?

序号 · 重传可以完成一条消息,但会增加延迟。

常见误解

  • 并非情况是,如果一个数据包在一个通信方法中丢失,则在该方法中,消息不能永久恢复。

通过实验探索这个概念

参考文献

OpenStax ·《计算机科学导论》(英文)