【Network】之 UDP
  bPu1HFe3pDM2 2023年11月02日 83 0


文章目录

$ nslookup
> baidu.com
Server: 127.0.0.53
Address: 127.0.0.53#53

Non-authoritative answer:
Name: baidu.com
Address: 220.181.38.148
Name: baidu.com
Address: 39.156.69.79

​wirshark​​ 如图:

【Network】之 UDP_重传




一、特性


​UDP​​​设计简单。
在协议头中,只有端口号、包长度和校验码等少量信息,总共 8个字节。

如图:

【Network】之 UDP_UDP_02



(1)优点

  • ​UDP​​​携带的净数据较多。由于​​UDP​​​协议头长度还不到​​TCP​​头的一般。
  • 省去了建立连接的负担。由于​​UDP​​​没有​​Seq​​​号和​​Ack​​号等概念,无法维持一个连接。


(2)带来的问题

  1. 不在乎双发方​​MTU​​ 的大小

它拿到应用层的数据之后,直接打上 ​​UDP​​头就交给下一层了。

若超过 ​​MTU​​​ 怎么办?
发送方的网络层负责分片,接收方收到分片后再组装起来,这个过程会消耗资源。



  1. ​UDP​​没有重传机制

丢包需要由应用层来处理

【Network】之 UDP_重传_03


【Network】之 UDP_重传_04



  1. 分片机制存在弱点,会成为黑客的攻击目标

接收方根据每个包里的 ​​More fragments​​​ 的​​flag​​​,把分片组装起来。
​​​1​​​表示后续还有分片,​​0​​表示这是最后一个分片(可以组装了)

若黑客持续快速地发送 ​​flag​​​为​​1​​​的​​UDP​​包,接收方一直无法把这些包组装起来,就有可能耗尽内存。




二、应用场景


(1) 网页或者APP的访问

例如:​​QUIC​​(Quick UDP Internet Connections,快速 UDP 互联网连接)

QUIC:是一种基于 ​​UDP​​改进的通信协议,其目的是降低网络通信的延迟,提供更好的用户互动体验

QUIC 在应用层上,自己实现了:快速连接建立、减少重传时延、自适应拥塞控制



(2)流媒体的协议

直播,讲究实时,过时的包丢了就丢了。



(3)实时游戏

游戏对实时要求较为严格的情况下,采用自定义的可靠 UDP 协议,自定义重传策略,能够把丢包产生的延迟降到最低,尽量减少网络问题对游戏性造成的影响。



(4)​​IoT​​物联网

物联网领域终端资源少,很可能只是个内存非常小的嵌入式系统,维护​​TCP​​协议代价过大。



(5)移动通信领域

在 4G 网络里,移动流量上网的数据面对的协议​​GTP-U​​​是基于​​UDP​


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  PVcilKyJJTzb   2023年11月02日   65   0   0 传输层应用层网络层
bPu1HFe3pDM2
作者其他文章 更多