UDP 协议

UDP协议

  • 1.UDP的基本特点
  • 2.UDP协议格式

1.UDP的基本特点

  1. 无连接:知道源端口号和目的端口号就可以进行传输,不需要进行连接
  2. 不可靠:没有任何的安全机制,发送端发送完数据后,接收端是否会因为网络故障等其原因而没有接收到数据,UDP协议不会返回任何信息给应用层.
  3. 面向数据报:应用层交给UDP多长的报文,UDP会原样返回,不会拆分和合并.
  4. 全双工:两个通信实体之间可以互相通信,可以同时发送和接收数据

2.UDP协议格式

UDP数据报分为报头和载荷,报头包含了数据传输的相关的控制信息和元数据,而载荷就是一个完整的应用层协议数据.
在这里插入图片描述
报头报头包含以下字段:1.源端口号2.目标端口号3.长度4.校验和.4个字段占用的8个字节.
在这里插入图片描述
源端口和目的端口:各有两个字节,也就是16个比特位,合法的端口也就是0-65535,端口是不会使用的,而1-1024这个范围的端口,系统赋予了特定的含义.
UDP报文长度:UDP报文的总长度,包括报头和UDP载荷的部分.占用2个字节,换算单位的能表示数据也就是64kb.
如果传输的数据大于64kb,该如何处理?

  1. 分片处理:将大文件分割成小块:将大文件分割成多个小块,每个小块大小不超过65535字节,并且需要重新组装数据.在中途很可能会出现某个小块传输数据失败的情况,容易导致bug.
  2. 使用TCP代替UDP,TCP没有要求报文长度,所以传输多长都可以,并且提供了可靠的数据传输机制.

校验和:检查数据是否在网络传输中是否出错,网络传输本质上是光信号/电磁波,如果有磁场等外界因素干扰就会导致数据传输失败.
校验和的方式就是在接收方接收到数据的时候,先确认一下,查看这个数据是否是一个错误的数据.

UDP校验和的实现(CRC校验算法)
1.将UDP头部和数据视为16位块.
2.对所有的16位块进行二进制求和,最终得到校验和
数据传输的时候,会把数据和校验和一起发过去,接收方在收到数据的时候,接收到了发送端发送的数据和校验(旧的校验和)和,接受方再按照相同的方式再算一遍,最终得到了一个新的校验和.
如果新的校验和与旧的校验和不相同,那么就视为传输出错,那么数据就会被丢弃(TCP传输),如果相同那么数据就正确的.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/265348.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux 文件权限

背景 因为在做一个任务的时候,调接口要到某个路径下的文件下记录log,但是调接口总是报一个错误: SEVERE: Local file cretaion error! I/O exception! File: /xxx/xxx/xxx/xx.log发现是一个创建文件的错误,根据提示,…

动能资讯 | 智慧汽车—城市NOA迎爆发

在特斯拉引领的 TransformerBev 架构驱动下,智驾算法趋近于端到端的智驾大模型,使得智能驾驶开始步入城市 NOA 新时代。 消费者认知增强,未来市场空间广阔。伴随城市 NOA 在 23-24 年的落地和普及、L3 法规在年内的落地,行业 0-1…

教师提高办公效率的方法有哪些?教师高效办公的待办事项软件

教师提高办公效率的方法有哪些?这是一个许多教育工作者都面临的问题。随着教育信息化的不断发展,教师们需要处理的日常事务越来越多,除了有基础教学任务之外,还需要管理好班级和学生,提交上级安排的各种报表等&#xf…

【每周AI简讯】谷歌推出王炸产品Gemini,马斯克AI大模型Grok正式上线

AI7号 - 最强人工智能Chat中文版https://ai7.pro 谷歌推出王炸产品Gemini 谷歌通过视频发布会推出其最新产品Gemini,号称地表最强大模型,碾压GPT-4,马上吸引科技圈关注。Gemini基于原生多模型构建,体积灵活适用不同设备&#xf…

软件开发安全指南

2.1.应用系统架构安全设计要求 2.2.应用系统软件功能安全设计要求 2.3.应用系统存储安全设计要求 2.4.应用系统通讯安全设计要求 2.5.应用系统数据库安全设计要求 2.6.应用系统数据安全设计要求 软件开发全资料获取:点我获取

可视化监管云平台EasyCVR宠物粮食食品厂智能视频监控方案

由于我国养宠物群体的不断膨胀,宠物市场也占据了经济的很大一部分,宠物做为人类的好朋友,可以给人们带来极高的精神抚慰,作为“毛孩子”家长,爱宠人士自然不会亏待自家宠物,都会选择最好的口粮以供宠物食用…

小机器人,电子锁,牙刷,表类开关,磁阀开关等一些安防直流驱动的选型介绍分析 5V,大电流,小封装

安防监控是一门被人们日益重视的新兴行业,就目前发展来看,应用普及程度越来越广,科技含量也越来越高,几乎所有高新科技都可促进其发展,尤其是信息时代的来临,更为该行业的发展提供契机。其中安防领域最为典…

用 PHP和html做一个简单的注册页面

用 PHP和html做一个简单的注册页面 index.html的设计 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title…

基于YOLOv8深度学习的西红柿成熟度检测系统【python源码+Pyqt5界面+数据集+训练代码】目标检测、深度学习实战

《博主简介》 小伙伴们好&#xff0c;我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源&#xff0c;可关注公-仲-hao:【阿旭算法与机器学习】&#xff0c;共同学习交流~ &#x1f44d;感谢小伙伴们点赞、关注&#xff01; 《------往期经典推…

【Java全栈学习路线】最全的Java学习路线及知识清单,Java自学方向指引

前言 自学Java怎么学&#xff0c;找对方向很关键&#xff01;在这里为大家分享最全的架构师级Java全栈学习路线及知识清单&#xff01; 包含JavaSE基础&#xff0c;JavaWeb&#xff0c;SSM框架&#xff0c;Linux运维&#xff0c;分布式与微服务&#xff0c;大数据开发~ 本人研究…

form表单的get请求和post请求学习心得

form表单在提交时&#xff0c;method一般有两种方式&#xff0c;即get请求和post请求&#xff0c;对应views中request.method的get和post&#xff0c;两种请求最直观的区别就是&#xff0c;get请求会在网页导航栏路由中显示提交的结果&#xff0c;而post请求则不会&#xff0c;…

LinuxBasicsForHackers笔记 -- 管理用户环境变量

查看和修改环境变量 env – 您可以通过从任何目录在终端中输入 env 来查看所有默认环境变量。环境变量的名称始终为大写&#xff0c;如 HOME、PATH、SHELL 等。 查看所有环境变量 set – 查看所有环境变量&#xff0c;包括 shell 变量、局部变量和 shell 函数&#xff08;例…