【UDP】用户数据报协议

简介

udp(User Datagram Protocol),中文名为用户数据报协议,协议我们都知道是一个网络通信的参与方必须遵循的相同的规则,只有遵守这个约定,计算机之间才能相互通信交流。UDP协议则是一种无连接的传输层协议,与TCP协议一样,两者都处于传输层协议,通常用于媒体数据流的传输。

UDP的特点

UDP是一种无连接的传输层协议,它不保证数据传输的可靠性,但是具有传输速度快、开销小等特点。UDP协议主要用于需要快速传输数据且对数据的可靠性要求不高的场景,如ip电话,分布式系统信息的传输(短距离的传输 UDP 的传输的效率是很高的)

特点描述
无连接在传输数据之前不需要建立连接,也不需要维护连接状态,可以看作是一股脑地传输,因此传输速度快。
不具可靠性不保证数据传输的可靠性,因为它不提供重传机制、异常处理等功能,如果数据在传输过程中出现丢失或错误,UDP协议也不会进行任何处理。
全双工通信信允许数据在两个方向上同时传输,比如打电话,通话双方可以同时讲话。
面向数据报数据报是通过网络传输的数据的基本单元,包含一个报头(header)和数据本身,其中报头描述了数据的目的地以及和 “荷载” 数据之间的关系。UDP协议的头部只有8个字节,相比TCP协议的头部要小得多,开销也相对小。
支持广播和多播支持广播和多播,可以将数据同时发送给多个主机。

 TCP和UDP的主要区别是在于:

       TCP 是面向有连接,采用字节流传输,数据传输可靠的全双工通信协议。

        UDP 是面向无连接,采用数据报传输,数据传输不可靠的全双工通信协议。

UDP报文格式

UDP报文主体分为两个部分: UDP报头(占8个字节的数据) + UDP数据 / UDP载荷

  • 荷载:比较容易理解,里面存储的是应用层的数据报。
  • UDP报头源端口目的端口报文长度校验和,组成,每个部分占两个字节,可以描述的数据范围是 [0, 65535] 。

(源端口:表示数据从哪里来form;目的端口:表示数据到哪里去;报文长度:描述一条UDP数据所占字节大小,一条 UDP 数据报最大长度是 65536 个字节 = 64KB;校验和:网络传输环境不能保证百分百的稳定,受环境的影响,多多少少会出现数据的缺失或破损,所以校验和的目的就是为了判断一下当前数据是否出错,只能由接收端来判断,UDP协议是不提供重发机制的,只负责传输;荷载:也就是UDP中所包含的应用层数据报的信息,UDP 报文长度(最大值) - UDP 报头即可得荷载大小,整个报头是由四部分组成的,每部分占有2个字节,一共占有8个字节,所以荷载最大存储空间为64-8=56个字节。)

UDP传输策略

上面说到一条UDP数据最多只能传输56个字节,对于实际应用来说,太小了,当面对传输数据较为大的时候,UDP会将一个大的数据拆分成多个小数据,使用多个UDP来传输。只需约定好数据报的解析协议重组即可。

UDP协议的工作流程

  1. 应用程序将应用层数据报传输给UDP协议。
  2. UDP协议将数据封装成UDP数据报(直接在应用层数据报的基础上加上UDP 报文),包括源端口号、目的端口号、数据长度等信息。
  3. UDP协议将UDP数据报传输给IP协议。
  4. IP协议将UDP数据报封装成IP数据报,包括源IP地址、目的IP地址等信息。
  5. IP数据报通过网络传输到目的主机。
  6. 目的主机的IP协议将IP数据报解封装成UDP数据报。
  7. UDP协议将UDP数据报传输给应用程序

  • 24
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值