如果UDP不可靠,为什么在传输层使用它

Ano*_*non 4 networking udp osi tcp-ip

对不起,这是一个愚蠢的问题.

传输层的功能是可靠的消息传递.UDP本质上是不可靠的,为什么我们在传输层使用它呢?

谢谢

编辑:只是为了澄清,我已经阅读了Wiki和其他来源.我的问题是

UDP是不可靠的(我知道为什么以及它的优点和使用位置等),为什么不在其他层使用它(UDP),而不是意味着可靠性的传输层.

Mic*_*zyk 11

有时更重要的是,数据快速发送且没有暂停,而不是流可靠.DNS使用UDP,因为DNS服务器和客户端之间的事务每个只包含一个数据包.如果数据包丢失,将根据客户端的请求重新传输.

类似地,流式视频通常使用UDP作为传输协议,因为偶尔丢失数据包是可以接受的.优选的是,由于丢失分组而导致图像质量受损,而不是视频流由于TCP同步而遭受抖动或暂停(滞后).

游戏也经常使用UDP,牺牲引擎精度来提高速度/用户体验.

这些和更多示例可以在维基百科 文章的相关部分中找到.

编辑

UDP用于传输层,因为它是传输层协议.它提供"为应用程序提供端到端通信服务"(RFC1122).

可靠性服务对于传输层协议是可选的.

  • @Anon从技术上讲,这不是真的.术语"可靠"在计算机网络中用于描述能够通知发送方而不是数据已被传送的协议.UDP不可靠,校验和不是网络可靠性的一个因素. (2认同)