据我了解,在传输层和数据链路层都采用了流控制和错误控制。如果数据链路保证了数据包的无差错传送,那么传输层会捕捉到什么样的错误呢?
另外,在 TCP 中处理的 UDP 中可能会发生什么样的错误?
据我了解,在传输层和数据链路层都采用了流控制和错误控制。如果数据链路保证了数据包的无差错传送,那么传输层会捕捉到什么样的错误呢?
另外,在 TCP 中处理的 UDP 中可能会发生什么样的错误?
当数据包从一台机器移动到另一台机器时,数据链路层会检查错误。机器是指路由器、分组交换机或终端主机(计算机、电话、平板电脑)本身。然而,传输层仅检查终端主机之间的错误。
在传输层提供错误检查主要是因为以下两个原因:
即使当段在链路上移动时没有引入错误,当段存储在路由器的内存中(用于排队)时也可能引入错误。在这种情况下,数据链路层的错误检查失败。
无法保证源和目标之间的所有链接都提供错误检查。其中一个链接可能正在使用不提供错误检查的链接层协议。
至于你的第二个问题,UDP 也会检查错误。不过,它通常不会对它们做任何事情。有时,它会将数据传递给应用层并通知它数据已损坏。其他时候它只是丢弃数据包。