【计算机网络】UDP协议

本文涉及的产品
数据传输服务 DTS,数据同步 small 3个月
推荐场景:
数据库上云
数据传输服务 DTS,数据迁移 small 3个月
推荐场景:
MySQL数据库上云
数据传输服务 DTS,数据同步 1个月
简介: 【计算机网络】UDP协议

1. UDP简介

UDP和TCP都是传输层协议,用于在计算机网络中发送和接收数据。数据可以是视频,可以是图片,可以是文字等.与TCP相比,UDP不提供数据传输的可靠性和流控制功能,但它具有较低的延迟和较高的传输速度。


2. TCP和UDP的区别

TCP

UDP

有连接

无连接

可靠传输

不可靠传输

面向字节流

面向数据报

全双工

全双工

是否连接: 可以想象成打电话,比如A给B打电话,只有建立好连接才能通信(交换数据),这种是有连接.而是用微信发消息,不需要建立连接则是无连接.UDP是无连接的协议,它在进行数据传输之前不需要先建立连接,也没有各种重传机制、拥塞控制和流量控制,所以传输速度很快,消耗很低,延迟小,数据传输效率高,适合对可靠性要求不高的应用程序,或者可以保障可靠性的应用程序.

是否可靠传输: 这里的可靠,并不是指A给B的数据一定完全能让B收到,只能确保B是不是收到了

字节流和数据报: TCP和文件IO一样基于 “流”,UDP则是以"数据报"为基本单位.对于应用层交下来的报文段不进行拆分合并,直接保留原有报文段的边界然后添加UDP的首部就交付给网络层。不论报文的长短,UDP都不会进行处理。因此为了避免报文段过短降低传输效率以及报文段过长导致网络层对IP数据进行分片操作,应用层应该选择合适长度的报文交付给运输层的UDP。

全双工: 一个通道,双向通信

3. UDP的报文格式

574f81def98245c6b4fed5b137ae88b9.png


转换一下:

ec53e2e863ab47d599219613df54da2f.png


1.源端口:表示发送方的端口号。

2.目标端口:表示接收方的端口号。

3.长度:表示UDP数据报的总长度(包括报头和数据部分),也是065535,也就是064KB。

4.校验和:用于检测UDP数据报的完整性。

常用的端口是0~65535,是两个字节能表示的数据范围.

校验和的常见检测算法,CRC算法(循环冗余校验)

UDP数据报的长度是有限的,对于互联网不断发展的今天,需要传输的数据越来越大,64KB太小了.

为了解决这个问题,有两种方案:


1.在应用层针对数据拆成多个UDP数据报,分别传输,但开发比较复杂,测试起来也比较复杂,风险较高

2.直接使用TCP,TCP是字节流,没有长度的限制

4. UDP的应用场景

UDP协议广泛应用于对数据传输时延要求较高、可靠性要求相对较低的应用场景,如音视频传输、实时游戏、DNS查询等。它适用于那些能够容忍数据丢失或乱序的应用,或者具有自己的错误处理和重传机制的应用。


UDP协议的数据报格式相对简单,包含源端口号、目标端口号、数据长度和校验和等字段。由于通讯不需要连接,所以可以实现广播发送。由于UDP协议没有拥塞控制机制,因此在网络拥塞时可能会导致丢包率较高。为了提高可靠性,应用程序可以自行实现重传机制或使用其他协议如TCP来保证数据的可靠传输.


使用UDP协议包括:TFTP(简单文件传输协议)、SNMP(简单网络管理协议)、DNS(域名解析协议)、NFS、BOOTP。

e6ee7a9e899144999683b44e6244d1fe.gif


相关实践学习
部署高可用架构
本场景主要介绍如何使用云服务器ECS、负载均衡SLB、云数据库RDS和数据传输服务产品来部署多可用区高可用架构。
Sqoop 企业级大数据迁移方案实战
Sqoop是一个用于在Hadoop和关系数据库服务器之间传输数据的工具。它用于从关系数据库(如MySQL,Oracle)导入数据到Hadoop HDFS,并从Hadoop文件系统导出到关系数据库。 本课程主要讲解了Sqoop的设计思想及原理、部署安装及配置、详细具体的使用方法技巧与实操案例、企业级任务管理等。结合日常工作实践,培养解决实际问题的能力。本课程由黑马程序员提供。
相关文章
|
25天前
|
缓存 网络协议
Jmeter如何对UDP协议进行测试?
`jmeter-plugins`是JMeter的插件管理器,用于管理和组织所有插件。访问[官网](https://jmeter-plugins.org/install/Install/)下载并放置于`lib/ext`目录下,重启JMeter后可在“选项”中看到插件管理器。
27 1
Jmeter如何对UDP协议进行测试?
|
2月前
|
XML JSON 算法
【JavaEE】——自定义协议方案、UDP协议
自定义协议,序列化,xml方案,json方案,protobuffer方案,UDP协议,校验和,比特翻转,CRC算法,md5算法
|
2月前
|
存储 网络协议 安全
用于 syslog 收集的协议:TCP、UDP、RELP
系统日志是从Linux/Unix设备及网络设备生成的日志,可通过syslog服务器集中管理。日志传输支持UDP、TCP和RELP协议。UDP无连接且不可靠,不推荐使用;TCP可靠,常用于rsyslog和syslog-ng;RELP提供可靠传输和反向确认。集中管理日志有助于故障排除和安全审计,EventLog Analyzer等工具可自动收集、解析和分析日志。
175 2
|
3月前
|
监控 网络协议 网络性能优化
网络通信的核心选择:TCP与UDP协议深度解析
在网络通信领域,TCP(传输控制协议)和UDP(用户数据报协议)是两种基础且截然不同的传输层协议。它们各自的特点和适用场景对于网络工程师和开发者来说至关重要。本文将深入探讨TCP和UDP的核心区别,并分析它们在实际应用中的选择依据。
105 3
|
3月前
|
安全 搜索推荐 网络安全
HTTPS协议是**一种通过计算机网络进行安全通信的传输协议
HTTPS协议是**一种通过计算机网络进行安全通信的传输协议
95 11
|
3月前
|
网络协议 SEO
TCP连接管理与UDP协议IP协议与ethernet协议
TCP、UDP、IP和Ethernet协议是网络通信的基石,各自负责不同的功能和层次。TCP通过三次握手和四次挥手实现可靠的连接管理,适用于需要数据完整性的场景;UDP提供不可靠的传输服务,适用于低延迟要求的实时通信;IP协议负责数据包的寻址和路由,是网络层的重要协议;Ethernet协议定义了局域网的数据帧传输方式,广泛应用于局域网设备之间的通信。理解这些协议的工作原理和应用场景,有助于设计和维护高效可靠的网络系统。
75 4
|
3月前
|
存储 缓存 网络协议
计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点,GET、POST的区别,Cookie与Session
计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点、状态码、报文格式,GET、POST的区别,DNS的解析过程、数字证书、Cookie与Session,对称加密和非对称加密
|
3月前
|
网络协议 算法 网络性能优化
计算机网络常见面试题(一):TCP/IP五层模型、TCP三次握手、四次挥手,TCP传输可靠性保障、ARQ协议
计算机网络常见面试题(一):TCP/IP五层模型、应用层常见的协议、TCP与UDP的区别,TCP三次握手、四次挥手,TCP传输可靠性保障、ARQ协议、ARP协议
|
4月前
|
Web App开发 缓存 网络协议
不为人知的网络编程(十八):UDP比TCP高效?还真不一定!
熟悉网络编程的(尤其搞实时音视频聊天技术的)同学们都有个约定俗成的主观论调,一提起UDP和TCP,马上想到的是UDP没有TCP可靠,但UDP肯定比TCP高效。说到UDP比TCP高效,理由是什么呢?事实真是这样吗?跟着本文咱们一探究竟!
123 10
|
4月前
|
网络协议 网络性能优化 C#
C# 一分钟浅谈:UDP 与 TCP 协议区别
【10月更文挑战第8天】在网络编程中,传输层协议的选择对应用程序的性能和可靠性至关重要。本文介绍了 TCP 和 UDP 两种常用协议的基础概念、区别及应用场景,并通过 C# 代码示例详细说明了如何处理常见的问题和易错点。TCP 适用于需要可靠传输和顺序保证的场景,而 UDP 适用于对延迟敏感且可以容忍一定数据丢失的实时应用。
86 1

热门文章

最新文章