TCP 与 UDP 错误检查

TCP 与 UDP 错误检查

我读到过两篇深入描述 TCP 和 UDP 连接工作原理的文章。但是,它们之间存在某种不一致。一篇文章告诉我 UDP 根本不进行错误检查,而另一篇文章提到 UDP 会进行某种错误检查,但没有恢复或更正。我想知道这两篇文章中哪一篇最正确?

提前致谢!

答案1

是的,第二篇文章是对的。UDP 协议也有错误检查,但没有任何错误恢复。

  • 错误检测:检测帧上发生的错误(FCS 负责)
  • 错误恢复:使用字节序列来检测是否发生错误,如果发生则重新发送。

答案2

UDP 确实有一个 16 字节的校验和。正如 Gnouc 提到的,它具有一些错误检测属性,但不能进行恢复(通过像 TCP 那样重新发送数据包)。这篇文章可能指的是 UDP 没有任何关于数据包已收到的积极确认。(即,如果数据包丢失,则无法检测。)

http://en.wikipedia.org/wiki/User_Datagram_Protocol

相关内容