计算机网络-UDP协议

【计算机网络】UDP协议与TCP协议 本文介绍了UDP协议:1.UDP协议端格式2.UDP的特点3.面向数据报4.UDP的缓冲区,5.UDP使用注意事项6.基于UDP的应用层协议 TCP协议:1.TCP协议段格式2.确认应答(ACK)机制3.超时重传机制4.连接管理机制5.理解TIME_WAIT状态6.理解CLOSE_WAIT状态7.流量控制8.滑动窗口9.拥塞控制10.延迟应答11.捎带应答12.面向字节流13.粘包问题14.TCP异常情况15.基于TCP应用层协议以及理解listen的第二个参数 阅读详情

1 概述

用户数据报协议(UDP,User Datagram Protocol),UDP作为传输层的一个重要的协议,它的主要的功能是在IP端到端的服务之上,增加了有限的两个功能:

  1. 复用和分用的功能
  2. 差错检测的功能

另外,虽然UDP协议只提供不可靠的交付,看起来似乎非常不完美,但是UDP协议在某些方面具有特殊的优点:

  1. 比如我们在看在线视频的时候我们要求数据是最新的最快的,如果这个时候要求数据的准确性,那么会带来较大的延迟,就像我们在看直播球赛的时候,我们希望看到准备直播画面,而不是有延迟半分钟或一分钟的画面
  2. 另外一个典型的例子,比如在网络管理过程中我们希望采集到网络的实时数据,这个时候网络管理会使用某种基于UDP协议的方式,采集到最新最快的数据,若是采集过来的数据有延迟,那么这个数据已经不是实时数据了,不能表示此时网络的状况了

所以在有些情况下,UDP协议简单快速的特点,比TCP协议更有优势

2 UDP的主要特点

  1. UDP 是无连接的:发送数据之前不需要建立连接,因此减少了开销和发送数据之前的时延,这个特点是UDP协议的首要特点,可以这么说,UDP其他的特点,都是或多或少源自于这个特点
  2. UDP 使用尽最大努力交付:即不保证可靠交付,因此主机不需要维持复杂的连接状态表,发送端只需要把数据打包成UDP数据报,交给IP协议传输,中间经过了哪些路由器,最后有没有到达目的主机,数据有没有出错,需不需要重传,这些主机问题都不知道
  3. UDP 是面向报文的:所谓报文就是应用层交下来的报文,应用层有各种各样的报文,比如HTTP报文,FTP报文等,根据不同的应用层协议封装成不同的报文,UDP 对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。UDP 一次交付一个完整的报文,在网络层,IP协议可能会进行拆分工作

应用程序必须选择合适大小的报文

  • 若报文太长,UDP 把它交给 IP 层后,IP 层在传送时可能要进行分片,这会降低 IP 层的效率
  • 若报文太短,UDP 把它交给 IP 层后,会使 IP 数据报的首部的相对长度太大,这也降低了 IP 层的效率
  1. UDP 没有拥塞控制:因此网络出现的拥塞不会使源主机的发送速率降低。这对某些实时应用是很重要的。很适合多媒体通信的要求,也就是说使用UDP协议的发送端,完全不会感知当前网路的状态是拥塞还是通畅,UDP协议还是会发送出去
  2. UDP 支持一对一、一对多、多对一和多对多的交互通信:这时目的主机不一定是单个主机,有可能是多个主机同时接收到发送端发送的UDP报文
  3. UDP 的首部开销小:只有 8 个字节,比 TCP 的 20 个字节的首部要短,这样也就意味着把数据组成UDP报文时所要做的工作更少,消耗资源小,发送速度也更快

3 UDP的首部格式

3.1 传输关系

UDP协议作为传输层的一个经典协议,它和上下层的传输关系如下:

  1. 应用层会把应用层报文交付给运输层
  2. 运输层的UDP协议,直接把上层交付下来的所有数据当作UDP数据报的数据部分,再加上UDP首部交付给下层IP层
  3. IP层把运输层交付下来的整个UDP数据报当作IP数据报的数据部分,再加上IP首部,继续交给下一层
    在这里插入图片描述
    在这里插入图片描述

3.2 首部格式

  • 除去两个端口号字段,还有一个长度字段,它用来标明整个UDP报文的长度是多少,最后一个字段是校验和字段,它实现了对整个UDP报文的校验功能
    在这里插入图片描述

3.3 UDP 基于端口的分用和复用

  1. 在UDP首部前两个字段当中,是源端口和目的端口,从接收端来讲,当接收端从 UDP报文中拆解出两个端口号之后,会根据端口号标识的内容,发送给上一层的应用程序,从而实现了端口的分用
  2. 复用是分用的相反过程,应用程序把数据交付下来之后,其中的端口号就标明了这是哪一个应用进程,
    在这里插入图片描述

3.4 UDP校验

  • 在计算检验和时,临时把“伪首部”和 UDP 用户数据报连接在一起。伪首部仅仅是为了计算检验和
    在这里插入图片描述
  • 所谓伪首部,可以理解它就是一个假的,它并没有一个实际的地址空间,在进行UDP报文封装的时候并没有这部分内容,要不然UDP协议的首部是20 (8+12) 个字节,而不是我们所说的8个字节,实际传输过程中,也并没有这样的字段
  • 设置这个伪首部,只是为了计算 校验和,这个伪首部包含的内容,如上图所示,这就有所疑问了,对于运输层来讲,本身没有IP地址这一概念,因为IP地址是在网络层中路由器转发所用的地址,为了计算校验和而强制引入的伪首部,包含IP地址信息,实际上会破坏网络分层,引入伪首部的目的,就是为了让UDP两次检查数据是不是正确的到达了目的地,其中一次是对UDP端口号和其他数据的校验,另一次是对IP地址的再校验,因为IP地址再路由器转发过程中,有可能会发现IP地址错误,所以UDP协议觉得IP地址校验是很有必要的
  • 如下就是校验的例子,简单来说就是把首部部分,每2个字节写成一行,然后按列排下来,每一列对应的每一位进行求和,得出来的结果再求反码,再将其放入校验和的位置中
    在这里插入图片描述
【PHP面试题26】计算机网络七层协议以及TCP和UDP 计算机网络是我们日常生活中不可或缺的一部分,它使得全球范围内的设备能够相互通信和交流。在计算机网络中,通信协议起到了非常重要的作用,它规定了数据的传输方式和规则。而七层协议模型是一种经典的网络协议体系结构,本文将介绍七层协议模型,以及其中的两个重要的传输协议TCP和UDP。计算机网络七层协议模型提供了一种分层的方式来理解和实现网络通信。其中的传输层是非常重要的一层,负责将数据可靠地传输到目的地。 阅读详情

相关推荐

RYU+Mininet的SDN架构-设计校园网络(一)

现有一个中学,需要设计一个中小型网络满足学校的网络需求。学校有教学区,实验室区域和服务器区域。教学区为了满足接入的灵活性和信号强度要求,需要满足设计WIFI满足日常教室和同学需求,接入上限为200人。实验室区域需要有一台教师主机方便管理实验室其余电脑,并且教师主机可以访问学校服务器,方便为同学们实验室授课。学校服务器区域设有学校相关重要文件和学校网页相关内容。最后学校还会接入互联网。

weixin_53284122的博客 8034

UDP协议详解

一、UDP报头结构UDP是无连接的,不可靠的运输协议。8个字节首部 数据 总长度 8-65535个字节首部结构:源端口号 16位 目的端口 16位 总长度 16位 检验和 16位 源(目的)端口号:源(目的)主机是客户端,UDP随机选择一个临时的端口号。源(目的)主机是服务器的,大多是是一个熟知的端口号,即:提供什么样的协议服务,就用什么样的端口号。比如:DNS:53,SNMP:161。总...

新雪兰 8370

Python自然语言处理 NLTK 库用法入门教程【经典】

@本文来源于公众号:csdn2299,喜欢可以关注公众号 程序员学府 本文实例讲述了Python自然语言处理 NLTK 库用法。分享给大家供大家参考,具体如下: 在这篇文章中,我们将基于 Python 讨论自然语言处理(NLP)。本教程将会使用 Python NLTK 库。NLTK 是一个当下流行的,用于自然语言处理的 Python 库。 那么 NLP 到底是什么?学习 NLP 能带来什么好处? ...

python函数基础教程 1万+

计算机网络之传输层

文章目录传输层复用和分用复用和分用的理解多路分用无连接多路分用面向连接的分用UDP协议UDP的首部格式TCP协议TCP报文段的首部格式TCP三次握手四次握手TCP四次挥手TCP数据可靠数据传输原理状态Rdt2.0协议确认机制(ACK机制)ARQ机制Rdt3.0流水线机制GBN,SRSR协议TCP流量控制拥塞控制慢开始**拥塞控制算法**快重传算法快恢复算法总结 传输层 传输层:提供应用进程之间的逻辑通信机制,这里“逻辑通信”的意思是:从应用层来看,只要把应用层报文交给下面的运输层,运输层就可以把这报文传送

zly03的博客 1375

基于FPGA的心电信号实时处理与智能诊断系统实现【附源码解析】

本文详细介绍了基于FPGA的心电信号实时处理与智能诊断系统的设计与实现。系统通过高精度采集电路和FPGA数字滤波技术处理微弱心电信号,采用自适应算法准确检测QRS波群,实现心率计算和心律异常诊断。附源码解析展示了FIR滤波器、中值滤波器和诊断逻辑的Verilog实现,为心电监护系统开发提供实用参考。

g8f9d0s1a2的博客 770

Halcon 色彩标定:RGB空间下实现白平衡与CCM矩阵合成静态HDR图像

摘要 本文介绍了一种基于Halcon的色彩校正方法,结合白平衡与灰轴约束最小二乘法实现精准颜色还原。方法分为三步:1)自动定位色卡区域并提取灰阶块计算白平衡增益;2)通过前三列色块建立测量值与标准值的映射关系;3)引入灰轴约束条件求解色彩校正矩阵(CCM),确保中性灰区域不偏色。算法采用中位数计算白平衡增益以提高鲁棒性,并通过旋转校正处理色卡倾斜问题。实验表明,该方法能有效消除相机采集的系统色偏,适用于颜色测量、表面检测等机器视觉场景。文末提供了完整代码实现。

LIN943168247的博客 405

计算机网络(1):运输层(TCP/UDP)

运输层功能 1复用与分用 TCP和UDP的区别 TCP三次握手详解 1 三次握手 2 三次握手流程 3 三次握手原因 4 其他资料 TCP四次挥手 TCP连接后传输过程中的流量控制拥塞控制等 1 流量控制 2 拥塞控制 慢开始和拥塞避免 快恢复与快重传结合使用1. 运输层功能1、复用与分用: 运输层一个很重要的功能就是复用和分用。应用层不同进程的报文通过不同的端口向下交到运输层,再往下就共用网络层提

王小禾 2012

YOLOv11【第三章:高阶应用与落地篇·第7节】多任务联合训练(Multi-Task Learning):检测+分割+关键点三头并进!

🏆 本文收录于专栏 《YOLOv11实战:从入门到深度优化》。本专栏围绕 YOLOv11 的改进、训练、部署与工程优化 展开,系统梳理并复现当前主流的 YOLOv11 实战案例与优化方案,内容目前已覆盖 分类、检测、分割、追踪、关键点、OBB 检测 等多个方向。

**My Coding Family** 727

计算机网络探索(六)多路复用/分用与UDP协议

书中打了邮政服务和代收发信件的兄弟姐妹之间的比方,非常贴切 这是传输层和网络层的作用区别,也就是说,传输层管的是主机内部的文件传输 tcp协议很复杂 书中按照一般环境可靠传输->tcp可靠传输->一般环境拥塞控制->tcp拥塞控制顺序介绍 我也按这个顺序 前置知识 多路复用与多路分解 就是讨论主机内部进程到进程间的交付服务问题的解决方案 我们来看tcp和udp的详细区别 ...

小松与蘑菇 8383

2026实战:YOLOv11融合Swin Transformer,小目标检测精度暴涨47%

本文针对工业零件微小缺陷检测难题,提出了一种CNN与Transformer的最优融合方案。作者发现直接替换YOLOv11骨干网络为Swin Transformer会导致速度骤降69%而精度仅提升2.1%。通过大量实验,总结出三项核心设计原则:1)CNN为主、Transformer为辅;2)高层插入、浅层保留;3)模块化融合。最终提出三种渐进式融合方案,其中骨干部分替换方案(方案二)实现了小目标检测精度提升47%,推理速度仅下降8%的优异表现。文章详细解析了Swin Transformer的核心原理,提供了完

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 514

详解大模型微调数据集构建方法(持续更新)

本文详细介绍了大模型微调数据集构建方法,希望能对学习大模型的同学们有所帮助。 文章目录 1. 前言 2. 微调数据集构建方法 2.1 方法一 2.2 方法二 2.3 方法三 2.4 方法四 2.5 方法五

herosunly的博客 28万+

【计算机网络】传输层UDP协议

UDP协议详解:轻量高效的传输层解决方案 UDP是一种无连接的传输层协议,具有低延迟、高效率的特点,适用于实时性要求高的场景。文章详细解析了UDP协议的端格式(8字节定长报头+不定长数据)、核心特性(无连接、不可靠、面向数据报)以及缓冲区机制(无发送缓冲区,有接收缓冲区)。通过对比TCP,突出了UDP"有边界"的特点,每个报文独立处理。文章还剖析了Linux内核中sk_buff结构体的运作原理,解释数据封装和解包过程,并列举了DNS、DHCP等基于UDP的典型应用层协议。最后简要说明了U

GGDxianv的博客 1292

Unity之ASE如何实现UV扰动闪电效果

UV扰动,顾名思义,就是通过干扰原贴图的UV,使UV发生变化,导致贴图出现会动的效果,如果我们贴图和扰动的速度调整的刚好合适的话,会出现一些非常棒的效果,比如下图所示的闪电效果:好了,一个简单的UV扰动就讲完了,同学们可以发挥想象力,我们是否可以利用UV扰动的原理,做一点别的炫酷的效果出来,比如,交错流动,流光效果等等。很期待你的留言,这篇文章就到这里,希望对你有所帮助。

TxNet 1790

计算机网络之传输层协议UDP

计算机网络之传输层协议UDP, 感兴趣的宝子们千万不要错过~~

wer24_25的博客 1555

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

【计算机网络】传输层协议TCP与UDP

传输层的作用以及对应协议的特点(TCP与UDP)

qq_64751004的博客 3667

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

计算机网络基础知识之HTTP、TCP、UDP协议详解,看这篇就够了

TCP、UDP、HTTP协议详解

只为code醉的博客 2358

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

《计算机网络》--TCP/UDP协议

推荐大家去看这本谢仁希老师的计算机网络,内容讲的很清楚很好,细细的看可以收获很多。 文章目录1. 传输层1. 传输层作用2. TCP和UDP协议3. UDP协议的特点4. UDP协议的首部格式5. TCP协议的特点6. TCP可靠传输的原理6.1 停止等待协议6.2 连续ARQ协议7. TCP报文段的首部格式8. TCP可靠传输的实现9. 流量控制10. TCP的拥塞控制11. TCP连接建立12. TCP连接的释放2. 应用层1. 超文本传输协议HTTP2. HTTP的报文结构 1. 传输层 1. 传输层

你今天真好看呀 1013

【计算机网络】UDP/TCP协议

本文讲解计算机网络中传输层的UDP/TCP协议相关知识!!!提示:以下是本篇文章正文内容,下面案例可供参考希望本篇文章能给各位带来帮助,如有不足还请指正!!!!!三连走一波!!!

wzd547191555的博客 1604

计算机网络(7) --- UDP协议和TCP协议

UDP协议和TCP协议

竹杖芒鞋轻声马 1779

【计算机网络】传输层协议UDP

端口号标识一个主机上进行通信的不同的应用程序。IP+端口号就能确定互联网中的唯一进程。可以,一个进程可以有多个服务,比如tcp、udp,两个分别有各自的端口号,可以找到对应的客户端。不能,因为端口号是用来确定一个主机上的唯一一个进程,如果可以被多个进程绑定,就不具有唯一性。有些服务器是非常常用的,为了使用方便,人们约定一些常用的服务器,都是用以下这些固定的端口号。:应用层给多少,UDP发送多少,既不会拆分,也不会合并。一个进程是否可以 bind 多个端口号?一个端口号是否可以被多个进程 bind?

2301_77459845的博客 1380

【计算机网络_传输层】UDP和TCP协议

udp协议,tcp协议

weixin_63249832的博客 1292

计算机网络中TCP协议与UDP协议的比较

在计算机网络层次结构的运输层中,TCP协议、UDP协议解决了端到端的通信问题。 在这里的协议即为软件,用以解决计算机网络的通信互联问题。 计算机网络层次结构概述 现代计算机网络基本层次结构由5个层次组成,自顶向下为:应用层、运输层、网络层、数据链路层、物理层。 应用层:面向应用程序。其中主要的协议有HTTP、FTP、SMTP、DNS、 ...

静、的博客 1279

一些重要的计算机网络协议(IP、TCP、UDP、HTTP、HTTPS、WebSocket)

一些重要的计算机网络协议(IP、TCP、UDP、HTTP、HTTPS、WebSocket)

weixin_41649106的博客 929

【计算机网络】TCP协议与UDP协议详解

TCP的面向字节流是指它将数据视为连续的字节流,而不是将数据划分为离散的消息或数据包。这意味着在TCP连接中,数据被视为一系列无结构的字节,发送方和接收方之间没有明确的消息边界。这与UDP不同,因为UDP是面向数据报的,每个数据包都是独立的单元,有明确的边界。数据连续性TCP:数据在TCP连接中被视为一个无间断的字节流。发送的数据可以被拆分成多个小块,然后在接收端重新组装,但这一切都在传输层进行,上层应用程序不需要关心数据的分段和重组。

weixin_67596609的博客 5950
上一篇: 计算机网络-OSPF协议
下一篇: 计算机网络-TCP协议
syzdev
博客等级 码龄9年 852粉丝 149原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值