美文网首页
UDP协议的收发操作(2.6)

UDP协议的收发操作(2.6)

作者: cdd48b9d36e0 | 来源:发表于2018-08-08 11:24 被阅读10次

2.6 UDP协议的收发操作

2.6.1 不需要重发的数据用UDP发送更高效

“为了实现高效的传输,我们要避免重发已经送达的包,而是只重发那些出错的或者未送达的包。TCP 之所以复杂,就是因为要实现这一点。”
“不过,在某种情况下,即便没有 TCP 这样复杂的机制,我们也能够高效地重发数据,这种情况就是数据很短,用一个包就能装得下。如果只有一个包,就不用考虑哪个包未送达了,因为全部重发也只不过是重发一个包而已,这种情况下我们就不需要 TCP 这样复杂的机制了。而且,如果不使用 TCP,也不需要发送那些用来建立和断开连接的控制包了。此外,我们发送了数据,对方一般都会给出回复,只要将回复的数据当作接收确认就行了,也不需要专门的接收确认包了。”

2.6.2 控制用的短数据

UDP 头部中的控制信息

“这种情况就适合使用 UDP。像 DNS 查询等交换控制信息的操作基本上都可以在一个包的大小范围内解决,这种场景中就可以用 UDP 来代替 TCP 。UDP 没有 TCP 的接收确认、窗口等机制,因此在收发数据之前也不需要交换控制信息,也就是说不需要建立和断开连接的步骤,只要在从应用程序获取的数据前面加上 UDP 头部,然后交给 IP 进行发送就可以了(表 2.5)。接收也很简单,只要根据 IP 头部中的接收方和发送方 IP 地址,以及 UDP 头部中的接收方和发送方端口号,找到相应的套接字并将数据交给相应的应用程序就可以了。”

2.6.3 音频和视频数据

“还有另一个场景会使用 UDP,就是发送音频和视频数据的时候。音频和视频数据必须在规定的时间内送达,一旦送达晚了,就会错过播放时机,导致声音和图像卡顿。如果像 TCP 一样通过接收确认响应来检查错误并重发,重发的过程需要消耗一定的时间,因此重发的数据很可能已经错过了播放的时机。一旦错过播放时机,重发数据也是没有用的,因为声音和图像已经卡顿了,这是无法挽回的。当然,我们可以用高速线路让重发的数据能够在规定的时间内送达,但这样一来可能要增加几倍的带宽才行 。”
“此外,音频和视频数据中缺少了某些包并不会产生严重的问题,只是会产生一些失真或者卡顿而已,一般都是可以接受的 。”

相关文章

  • UDP协议的收发操作(2.6)

    2.6 UDP协议的收发操作 2.6.1 不需要重发的数据用UDP发送更高效 “为了实现高效的传输,我们要避免重发...

  • 2.6 UDP协议的收发操作

    2.6.1 不需要重发的数据用UDP发送更高效 2.6.2 控制用的短数据 UDP没有TCP的接收确认、窗口等机制...

  • 【网络是怎样连接的】第2章 - 用电信号传输 TCP/IP 数据

    2.6 UDP协议的收发操作 不需要重发的数据用UDP发送更高效 如果漏掉了一个包就要全部重发一遍,怎么看都很低效...

  • UDP丢包原因总结

    丢包检查方法 给每个UDP包编号,对比收发端的接收到的包。对于UDP协议层上的包,例如RTP包,可以从RTP包中读...

  • Wireshark过滤规则

    以下截图是Wireshark的过滤操作截图,其他的过略规则操作相同,这里不再截图: UDP数据包过滤 UDP协议分...

  • TCP-IP详解卷1:协议读书笔记_11

    UDP:用户数据报协议 UDP是一个简单的面向数据报的传输层协议:进程的每个输出操作都正好产生一个UDP数据报,并...

  • 迅为4412开发板Qt网络编程-UDP实现服务器和客户端

    UDP 协议是开放式,无连接,不可靠的传输层通信协议,但它收发数据的速度相对于 TCP 快很多,常用在传输音视频等...

  • UDP协议详解

    相比于TCP协议(传输控制协议)来说,UDP协议(用户数据报协议)要简单很多。 UDP协议的首部格式 UDP协议的...

  • Linux下Socket编程(六)——udp

    简介 udp协议 udp通信流程 示例 udp协议 中文叫用户数据报协议,属于传输层。UDP是面向非连接的协议,它...

  • TCP和UDP的区别

    TCP和UDP的区别: TCP协议和UDP协议特性区别总结: TCP协议可靠;UDP协议不可靠 TCP协议是面向连...

网友评论

      本文标题:UDP协议的收发操作(2.6)

      本文链接:https://www.haomeiwen.com/subject/anjtbftx.html