UDP协议 ゝ一世哀愁。 2024-04-23 21:19 183阅读 0赞 > ⭐ 作者:小胡\_不糊涂 > ? 作者主页:[小胡\_不糊涂的个人主页][Link 1] > ? 收录专栏:[JavaEE][] > ? 持续更文,关注博主少走弯路,谢谢大家支持 ? #### UDP #### * 1. 报文结构 * 2. 特点 ## 1. 报文结构 ## ![在这里插入图片描述][b64634c5416a466ca09c6d3fdaea479a.png] * 16位UDP长度, 表示整个数据报(UDP⾸部+UDP数据)的最大长度; * 如果校验和出错,就会直接丢弃。 **什么是检验和?** 网络传输中,由于一些外部干扰,就可能会出现数据传输出错的情况。因此,就需要有办法,能够识别出出错的数据。校验和,就是这样的一种检查手段。 > 校验和本质上是一个字符串,体积比原始的数据更小又是通过原始的数据生成的。 > 原始数据相同,得到的校验和就一定相同。反之校验和相同,原始数据大概率相同(理论上会存在不同的情况,实际的概率非常低可以忽略不计) **校验和的计算:在UDP中使用的是CRC算法(循环冗余算法)。** 把当前要计算校验和的数据,每个字节都进行累加,把结果保存到这个两个字节的变量中。 如果中间某个数据,出现传输错误,第二次计算的校验和就会和第一次不同。 但是CRC这个算法可能会导致两个不同的数据,得到相同的crc校验和的概率比较大。 为了避免上述问题,还有一种方法也可以计算校验和:**md5算法** md5三个特点: * 定长:无论原始数据有多长,计算得到的md5都是固定长度 * 分散:对于大部分内容都一样的原始数据,只要其中一个字节不同,得到的md5值差异就会很大 * 不可逆:由原始数据计算md5是很容易的;但是由md5还原出原始数据是很难的 ## 2. 特点 ## UDP传输的过程类似于寄信; * ⽆连接:UDP协议本身不会存储对端的信息,所以要在发送数据的时候显式指定要传输给谁。也就是知道对端的IP和端⼝号就直接进⾏传输,不需要建⽴连接; * 不可靠:没有确认机制,没有重传机制;如果因为⽹络故障该段⽆法发到对⽅,UDP协议层也不会给应⽤层返回任何错误信息; * ⾯向数据报: 不能够灵活的控制读写数据的次数和数量。应⽤层交给UDP多⻓的报⽂,UDP原样发送,既不会拆分,也不会合并; * 全双工:通过一个Socket,既可以send,也可以receive。 > UDP协议⾸部中有⼀个16位的最大长度,也就是说⼀个UDP能传输的数据最⼤⻓度是64K(包含UDP⾸部),然⽽64K在当今的互联⽹环境下,是⼀个⾮常⼩的数字。 > 如果我们需要传输的数据超过64K,就需要在应⽤层⼿动的分包,多次发送,并在接收端**手动**拼装。 **基于UDP的应⽤层协议:** * NFS: ⽹络⽂件系统 * TFTP: 简单⽂件传输协议 * DHCP: 动态主机配置协议 * BOOTP: 启动协议(⽤于⽆盘设备启动) * DNS: 域名解析协议 * 也包括自己写UDP程序时⾃定义的应⽤层协议 [Link 1]: https://blog.csdn.net/iLoyo_ [JavaEE]: http://t.csdnimg.cn/p0IQF [b64634c5416a466ca09c6d3fdaea479a.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/23/5a6ad82a238347588e4d009e04d75c11.png
相关 UDP协议 (User Datagram Protocol 即用户数据报协议)是传输层的重要协议之一(还有一个重要协议是TCP) 落日映苍穹つ/ 2024年04月25日 08:44/ 0 赞/ 183 阅读
相关 UDP协议 网络传输中,由于一些外部干扰,就可能会出现数据传输出错的情况。因此,就需要有办法,能够识别出出错的数据。校验和,就是这样的一种检查手段。校验和本质上是一个字符串,体积比原... ゝ一世哀愁。/ 2024年04月23日 21:19/ 0 赞/ 184 阅读
相关 UDP协议 UDP协议 文章目录 UDP协议 一、UDP协议 二、UDP的首部格式 1.首部字段 三、UDP协议的特点 1.无连 悠悠/ 2024年02月23日 02:45/ 0 赞/ 73 阅读
相关 UDP协议 ![在这里插入图片描述][54b363736e2148a3a82cb2451df1fb8e.gif_pic_center] 文章目录 一、前沿知识 应 太过爱你忘了你带给我的痛/ 2023年09月27日 14:24/ 0 赞/ 216 阅读
相关 UDP协议 UDP (User Datagram Protocol)用户数据报协议,在数据传输时彼此之间不需要建立连接,传输前需要把数据定义成数据报,并且传输效率高,但是不安全。 Dat 野性酷女/ 2023年08月17日 16:10/ 0 赞/ 197 阅读
相关 UDP协议 前面我们介绍了了TCP协议,深入浅出TCP协议,为什么需要TCP协议?知道TCP是面向连接的提供可靠性服务的传输层协议,今天讲下同属于传输层的另一个协议——UDP。 正文 素颜马尾好姑娘i/ 2023年02月26日 10:25/ 0 赞/ 124 阅读
相关 UDP协议 一、通信协议。 -- UDP协议 TCP -> Tranmission Control Protocol UDP -> User Data Protocol IP 水深无声/ 2022年12月13日 14:02/ 0 赞/ 323 阅读
相关 UDP协议 UDP 是面向数据报的传输层协议(TCP是面向字节流的协议)。面向报文的传输方式是指应用层交给UDP多长的报文,UDP就照样发送,即一次发送一个报文。 UDP不提供错误 以你之姓@/ 2022年08月21日 01:29/ 0 赞/ 426 阅读
相关 《网络协议》UDP 协议 概述 UDP 是无连接、不可靠的数据报传输层协议,为应用程序发送和接收数据报,只是将数据报的分组从一台主机发送到另一台主机,但并不保证数据报能够到达另一端,任何 清疚/ 2022年08月14日 03:51/ 0 赞/ 426 阅读
相关 UDP协议 1)UDP协议概述 ![20190807084647592.png][] 2)UDP服务器与客户端程序 服务器端: String 谁践踏了优雅/ 2021年11月05日 13:26/ 0 赞/ 549 阅读
还没有评论,来说两句吧...