【Network】之 UDP

$ 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 如图:
在这里插入图片描述



一、特性


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

如图:
在这里插入图片描述


(1)优点

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

(2)带来的问题

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

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

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


  1. UDP没有重传机制

丢包需要由应用层来处理

在这里插入图片描述
在这里插入图片描述


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

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

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



二、应用场景


(1) 网页或者APP的访问

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

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

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


(2)流媒体的协议

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


(3)实时游戏

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


(4)IoT物联网

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


(5)移动通信领域

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

发布了404 篇原创文章 · 获赞 270 · 访问量 42万+

猜你喜欢

转载自blog.csdn.net/fanfan4569/article/details/104063927
UDP