这篇具有很好参考价值的文章主要介绍了【好书精读】网络是怎样连接的 —— UDP 协议的收发操作。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。
( 该图由我使用 AI 绘制 )
目录
不需要重发的数据用 UDP 发送更高效
控制用的短数据
音频和视频数据
不需要重发的数据用 UDP 发送更高效
DNS
服务器查询
IP
地址的时候我们用的是
UDP
协议
简单的说就是,TCP之所以复杂,是因为他要确认的东西很多,比如发了10个包,7号包失败了,TCP可以知道哪个包失败,重发的时候只需要发这一个就好了
而UDP不知道,但是他也有他的好处,那就是,只发一个包的时候文章来源:https://www.toymoban.com/news/detail-501261.html
控制用的短数据
像
DNS
查询等交换控制信息的操作基本上都可以在一个包的大小范围内解决
,
这种场景中就可以用
UDP
来代替
TCP
UDP
没有
TCP
的接收确认
、
窗口等机制
,
因此在收发数据之前也不需要交换控制信息
,
也就是说不需要建立和断开连接的步骤
,
只要在从应
用程序获取的数据前面加上
UDP
头部
,
然后交给
IP
进行发送就可以了
(
表
)。
接收也很简单
,
只要根据
IP
头部中的接收方和发送方
IP
地址
,
以及
UDP
头部中的接收方和发送方端口号
,
找到相应的套接字并将数据交
给相应的应用程序就可以了
。
除此之外
,
UDP
协议没有其他功能了
,
遇到
错误或者丢包也一概不管
。
因为
UDP
只负责单纯地发送包而已
,
并不像
TCP
一样会对包的送达状态进行监控
,
所以协议栈也不知道有没有发生错
误
。
但这样并不会引发什么问题
,
因此出错时就收不到来自对方的回复
,
应用程序会注意到这个问题
,
并重新发送一遍数据
文章来源地址https://www.toymoban.com/news/detail-501261.html
音频和视频数据
还有另一个场景会使用
UDP
,
就是发送音频和视频数据的时候
。
音频和视频数据必须在规定的时间内送达
,
一旦送达晚了
,
就会错过播放时机
,
导致声音和图像卡顿
。
如果像
TCP
一样通过接收确认响应来检查错误并重
发
,
重发的过程需要消耗一定的时间
,
因此重发的数据很可能已经错过了
播放的时机
。
一旦错过播放时机
,
重发数据也是没有用的
,
因为声音和图
像已经卡顿了
,
这是无法挽回的
。
当然
,
我们可以用高速线路让重发的数
据能够在规定的时间内送达
,
但这样一来可能要增加几倍的带宽才行
。
此外
,
音频和视频数据中缺少了某些包并不会产生严重的问题
,
只是
会产生一些失真或者卡顿而已
,
一般都是可以接受的
。
在这些无需重发数据
,
或者是重发了也没什么意义的情况下
,
使用
UDP
发送数据的效率会更高
到了这里,关于【好书精读】网络是怎样连接的 —— UDP 协议的收发操作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!