第一个比特发送到第一个比特接收和最后一个比特发送到最后一个比特接收传输之间的疑问

网络工程 网络
2022-03-05 03:57:09

所以,在帕特森的数据通信教科书中,我解决了一些与传输延迟相关的数字和类似的东西。我知道传输延迟是一个站点将其数据“放置”在链路上所花费的时间(我假设是有线)。但是我们是否也会在目标站点遇到传输延迟,即是否需要时间将数据从线路“卸载”回目标站。

与此相关的是,对于站 A 和 B 之间的链路,发送到第一个接收到的第一个比特的总延迟不应该等于(1 个传输时间)+(1 个传播时间)。因此,从第一个比特发送到收到的最后一位应该是=(2传输时间)+(1传播时间)在目标站点上花费额外的传输时间?

它是正确的还是我在概念化它时犯了一些错误,因为无论在教科书中提出关于第一位和最后一位发送的问题,本书的官方解决方案手册对每个问题都使用了一个单一的传输时间公式。请帮忙。

2个回答

将数据从线路“卸载”回目标站需要时间吗?

不,我认为您误解了传输延迟的概念。位不会在接收器处“等待”,直到在处理之前接收到所有位。一旦接收者“拥有”所有比特,它就“接收”了消息(我们忽略了接收者可能对消息做的任何事情)。

考虑一个没有延迟的系统 -Tprop是零。当我发送一点时,它会立即被接收者接收。

如果第一个比特在 T0 发送,接收者在 T0 接收它。第二位在 T1 发送(和接收)。在 Tn 发送和接收位 N。所以总时间是Tn-T0。传输延迟。

因此,从发送的第一位到接收到的最后一位的总延迟应该是=(2传输时间)+(1传播时间)在目标站点上花费额外的传输时间?

这是一个普遍的误解。那本教科书使用传输延迟来表示序列化延迟,但我觉得这很模棱两可。尝试可视化单个位:

一个比特立即开始(几乎),并在要接收的通道上产生传播延迟。最后一位在稍后开始串行化延迟,也在接收它的通道上产生传播延迟。因此,第一位输出到最后一位输入的总和是传播延迟+序列化延迟(加上处理延迟,直到数据实际上可以用于任何事情)。