传输层的流和差错控制

Sri*_*ath 2 networking data-link-layer flow-control

据我了解,在传输层和数据链路层都采用了流量控制和错误控制。如果数据链路保证了数据包的无错传递,那么传输层会捕获什么样的错误?

另外,在 TCP 中处理的 UDP 中可能会发生什么样的错误?

Dod*_*odu 5

当数据包从一台机器移动到另一台机器时,数据链路层会检查错误。我所说的机器是指路由器、数据包交换机或终端主机(计算机、手机、平板电脑)本身。而传输层只检查终端主机之间的错误。

在传输层提供错误检查主要是因为以下两个原因:

  1. 即使段在链路上移动时没有引入错误,当段存储在路由器的内存中(用于排队)时,也可能引入错误。在这种情况下,数据链路层的错误检查失败。

  2. 不能保证源和目标之间的所有链接都提供错误检查。其中一个链接可能正在使用不提供错误检查的链接层协议。

至于你的第二个问题,UDP 也会检查错误。不过,它通常不会对它们做任何事情。有时,它会将数据传送到应用层并通知它数据已损坏。其他时候它只是丢弃数据包。