C语言 网络编程(三)UDP 协议

简介: UDP(用户数据报协议)是一种无需建立连接的通信协议,适用于高效率的数据传输,但不保证数据的可靠性。其特点是无连接、尽力交付且面向报文,具备较高的实时性。UDP广泛应用于视频会议、实时多媒体通信、直播及DNS查询等场景,并被许多即时通讯软件和服务(如MSN/QQ/Skype、流媒体、VoIP等)采用进行实时数据传输。UDP报文由首部和数据部分组成,首部包含源端口、目的端口、长度和校验和字段。相比TCP,UDP具有更高的传输效率和更低的资源消耗。

UDP

介绍

UDP(User Datagram Protocol) : ⽤户数据报协议,是不可靠的⽆连接的协议。在数据发送前,因为不
需要进⾏连接,所以可⽤于进⾏⾼效率的传输。但不保证数据的可靠性。

特点

  • UDP 是⽆连接的协议。
  • UDP 使⽤尽最⼤努⼒交付,不保证数据可靠。
  • UDP 是⾯向报⽂的。
  • UDP 通信的实时性较⾼。

应用场景

  • 视频会议
  • 实时多媒体通信
  • 直播
  • 发送⼩尺⼨数据(如对 DNS 服务器进⾏ IP 地址查询时)
  • 在接收到数据,给出应答较困难的⽹络中使⽤ UDP。(如:⽆线⽹络)
  • MSN/QQ/Skype 等即时通讯软件的点对点⽂本通讯以及⾳视频通讯通常采⽤ UDP 协
  • 流媒体、VOD、VoIP、IPTV 等⽹络多媒体服务中通常采⽤ UDP ⽅式进⾏实时数据传

UDP传输

img_78.png

UDP报文格式

⽤户数据报 UDP 由两个部分组成:⾸部 + 数据部分。⾸部部分很简单,只有 8 个字节,由四个字段组成,每个字段的⻓度都是两个字节。
img_79.png

字段涵义:

  • 源端口号:需要对⽅回信时选⽤,不需要时全部置 0.
  • 目的端口号:接收⽅的端口号。在终点交付报⽂的时候需要⽤到。
  • ⻓度:UDP 的数据报的⻓度(包括⾸部和数据)其最⼩值为 8(只有⾸部)
  • 校验和:检测 UDP 数据报在传输中是否有错,有错则丢弃。

特点:

tcp 协议是⾯向连接、可靠、字节流

udp 协议是⽆连接、不可靠、数据报⽂字段

性能:

tcp 协议传输效率慢,所需要资源多

udp 协议传输效率快,所需要资源少

应⽤常⽤:

tcp 协议常⽤于⽂件,邮件传输

udp 协议常⽤于语⾳,视频,直播等实时性要求较⾼的场所

相关文章
|
1月前
|
负载均衡 网络协议 算法
|
7天前
|
存储 网络协议 安全
用于 syslog 收集的协议:TCP、UDP、RELP
系统日志是从Linux/Unix设备及网络设备生成的日志,可通过syslog服务器集中管理。日志传输支持UDP、TCP和RELP协议。UDP无连接且不可靠,不推荐使用;TCP可靠,常用于rsyslog和syslog-ng;RELP提供可靠传输和反向确认。集中管理日志有助于故障排除和安全审计,EventLog Analyzer等工具可自动收集、解析和分析日志。
|
23天前
|
安全 搜索推荐 网络安全
HTTPS协议是**一种通过计算机网络进行安全通信的传输协议
HTTPS协议是**一种通过计算机网络进行安全通信的传输协议
51 11
|
22天前
|
监控 网络协议 网络性能优化
网络通信的核心选择:TCP与UDP协议深度解析
在网络通信领域,TCP(传输控制协议)和UDP(用户数据报协议)是两种基础且截然不同的传输层协议。它们各自的特点和适用场景对于网络工程师和开发者来说至关重要。本文将深入探讨TCP和UDP的核心区别,并分析它们在实际应用中的选择依据。
51 3
|
1月前
|
网络协议 网络安全 网络虚拟化
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算。通过这些术语的详细解释,帮助读者更好地理解和应用网络技术,应对数字化时代的挑战和机遇。
84 3
|
1月前
|
网络虚拟化
生成树协议(STP)及其演进版本RSTP和MSTP,旨在解决网络中的环路问题,提高网络的可靠性和稳定性
生成树协议(STP)及其演进版本RSTP和MSTP,旨在解决网络中的环路问题,提高网络的可靠性和稳定性。本文介绍了这三种协议的原理、特点及区别,并提供了思科和华为设备的命令示例,帮助读者更好地理解和应用这些协议。
52 4
|
1月前
|
网络协议 安全 Go
Go语言进行网络编程可以通过**使用TCP/IP协议栈、并发模型、HTTP协议等**方式
【10月更文挑战第28天】Go语言进行网络编程可以通过**使用TCP/IP协议栈、并发模型、HTTP协议等**方式
51 13
|
1月前
|
网络协议 SEO
TCP连接管理与UDP协议IP协议与ethernet协议
TCP、UDP、IP和Ethernet协议是网络通信的基石,各自负责不同的功能和层次。TCP通过三次握手和四次挥手实现可靠的连接管理,适用于需要数据完整性的场景;UDP提供不可靠的传输服务,适用于低延迟要求的实时通信;IP协议负责数据包的寻址和路由,是网络层的重要协议;Ethernet协议定义了局域网的数据帧传输方式,广泛应用于局域网设备之间的通信。理解这些协议的工作原理和应用场景,有助于设计和维护高效可靠的网络系统。
39 4
|
1月前
|
存储 缓存 网络协议
计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点,GET、POST的区别,Cookie与Session
计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点、状态码、报文格式,GET、POST的区别,DNS的解析过程、数字证书、Cookie与Session,对称加密和非对称加密
|
2月前
|
Web App开发 缓存 网络协议
不为人知的网络编程(十八):UDP比TCP高效?还真不一定!
熟悉网络编程的(尤其搞实时音视频聊天技术的)同学们都有个约定俗成的主观论调,一提起UDP和TCP,马上想到的是UDP没有TCP可靠,但UDP肯定比TCP高效。说到UDP比TCP高效,理由是什么呢?事实真是这样吗?跟着本文咱们一探究竟!
66 10
下一篇
DataWorks