UDP详细总结

UDP协议特点

  • UDP是无连接的传输层协议;

  • UDP使用尽最大努力交付,不保证可靠交付;

  • UDP是面向报文的,对应用层交下来的报文,不合并,不拆分,保留原报文的边界;

  • UDP没有拥塞控制,因此即使网络出现拥塞也不会降低发送速率;

  • UDP支持一对一 一对多 多对多的交互通信;

  • UDP的首部开销小,只有8字节

TCP和UDP的区别

  • TCP是可靠传输,UDP是不可靠传输;

  • TCP面向连接,UDP无连接;

  • TCP传输数据有序,UDP不保证数据的有序性;

  • TCP不保存数据边界,UDP保留数据边界;

  • TCP传输速度相对UDP较慢;

  • TCP有流量控制和拥塞控制,UDP没有;

  • TCP是重量级协议,UDP是轻量级协议;

  • TCP首部较长20字节,UDP首部较短8字节;

基于TCP和UDP的常用协议

HTTP、HTTPS、FTP、TELNET、SMTP(简单邮件传输协议)协议基于可靠的TCP协议。

TFTP、DNS、DHCP、TFTP、SNMP(简单网络管理协议)、RIP基于不可靠的UDP协议

报文段

UDP的报文段共有2个字段:数据字段 + 首部字段

UDP报文中每个字段的含义如下:

  • 源端口:这个字段占据 UDP 报文头的前 16 位,通常包含发送数据报的应用程序所使用的 UDP 端口,接收端的应用程序利用这个字段的值作为发送响应的目的地址,这个字段是可选的,所以发送端的应用程序不一定会把自己的端口号写入该字段中,如果不写入端口号,则把这个字段设置为 0,这样,接收端的应用程序就不能发送响应了。
  • 目的端口:接收端计算机上 UDP 软件使用的端口,占据 16 位。
  • 长度:该字段占据 16 位,表示 UDP 数据报长度,包含 UDP 报文头和 UDP 数据长度,因为 UDP 报文头长度是 8 个字节,所以这个值最小为 8。
  • 校验值:该字段占据 16 位,可以检验数据在传输过程中是否被损坏。
相关推荐
可乐加.糖15 小时前
一篇关于Netty相关的梳理总结
java·后端·网络协议·netty·信息与通信
大丈夫立于天地间15 小时前
ISIS协议中的数据库同步
运维·网络·信息与通信
Dream Algorithm15 小时前
路由器的 WAN(广域网)口 和 LAN(局域网)口
网络·智能路由器
IT猿手16 小时前
基于CNN-LSTM的深度Q网络(Deep Q-Network,DQN)求解移动机器人路径规划,MATLAB代码
网络·cnn·lstm
吴盐煮_16 小时前
使用UDP建立连接,会存在什么问题?
网络·网络协议·udp
hyshhhh16 小时前
【算法岗面试题】深度学习中如何防止过拟合?
网络·人工智能·深度学习·神经网络·算法·计算机视觉
Hellc00717 小时前
轮询、WebSocket 和 SSE:实时通信技术全面指南(含C#实现)
网络
xujiangyan_17 小时前
nginx的反向代理和负载均衡
服务器·网络·nginx
GalaxyPokemon18 小时前
Muduo网络库实现 [十] - EventLoopThreadPool模块
linux·服务器·网络·c++