了解传输层UDP协议

news/2025/2/1 22:48:33 标签: udp, 网络协议, 网络

目录

一、UDP协议端格式

 二、UDP的特点

三、基于UDP的应用层协议


一、UDP协议端格式

UDP协议是一个传输层的一个重要的协议,要了解这个协议,其最主要的工作就是去理解协议报文格式。

  • 16位UDP长度,是表示整个数据报的最大长度(2^{16}-1=65535字节)(UDP首部(报头)+UDP数据); 
  •  UDP数据报包括了首部(源端口号,目的端口号,UDP长度,UDP检验和)和数据部分,其中首部8字节,剩余部分的数据部分为65527字节;
  • 校验和常用于校验检测,如果校验和出错,就会直接丢弃。        

如图UDP数据报:

 像源端口号,目的端口号以及UDP报文长度通俗易懂,很容易理解,而下面就介绍UDP校验和。

校验和:

网络传输中,由于一些外部干扰,就可能出现数据传输出错的情况,这时就需要有办法识别出有错的数据,而校验和就是这样的一种检查手段。

校验和其实本质上也是一个字符串,体积比原始的数据更小,又是通过原始的数据生成的。

原始数据相同,得到的校验和就一定相同,反之,校验和相同,原始数据大概率相同。

基于校验和来完成数据的校验过程:

  1. 发送方把要发送的数据整理好(data1),通过一定的算法,计算出校验checksum1;
  2. 发送方把data1和checksum1一起通过网络发送出去;
  3. 接收方收到数据,把收到的数据称为data2(数据可能和data1就不一样了),收到数据checksum1;
  4. 接收方再根据data2重新计算校验和(按照相同的算法),得到checksum2;
  5. 对比checksum1和checksum2是否相同,如果不同,则认为data2和data1一定不相同;如果checksum1和checksum2相同,则认为data1和data2大概率是相同的(理论上存在不同的可能性,概率比较低,工程上忽略不计)。

对于计算校验和,有很多种算法:

CRC算法(循环冗余算法),md5算法。

md5算法的特点

  1. 定长:无论原始数据有多长,计算得到的md5都是固定长度。
  2. 分散:给定两个原始数据,哪怕绝大部分内容都一样,只要其中一个字节不同,得到的md5值差异都会很大。
  3. 不可逆:给出一个原始数据,计算md5,非常容易,但给出md5,还原出原始数据却很难。

 二、UDP的特点

UDP传输的过程类似于寄信

特点:

  • 无连接:知道对端的IP和端口号直接进行传输,不需要建立连接。
  • 不可靠:没有任何安全机制,发送端发送数据报以后,如果因为网络故障该段无法发送到对方,UDP协议层也不会给应用层返回任何错误信息。
  • 面向数据报:应用层交给UDP多长的报文,UDP原样发送,既不会拆分,也不会合并。比如用UDP传输100个字节的数据:如果发送端一次发送100个字节,那么接收端也必须一次接收100个字节;而不能循环接收10次。每次接收10个字节。
  • 缓冲区:UDP只有接收缓冲区没有发送缓冲区,UDP没有真正意义的发送缓冲区,发送的数据会直接交给内核,由内核将数据传给网络层协议进行后续的传输动作;如果缓冲区满了,再达到的UDP数据就会丢弃。
  • 全双工:通过一个socket既可以send,又可以receive。

  • 大小受限:UDP协议首部中有一个16位的最大长度。也就是说一个UDP能传输的数据最大长度是64K(包含了首部0)。

三、基于UDP的应用层协议

  • NFS:网络文件系统
  • TFTP:简单文件传输协议
  • DHCP:动态主机配置协议
  • BOOTP:启动协议(用于无盘设备启动)
  • DNS:域名解析协议


http://www.niftyadmin.cn/n/5839618.html

相关文章

pytorch深度Q网络

人工智能例子汇总:AI常见的算法和例子-CSDN博客 DQN 引入了深度神经网络来近似Q函数,解决了传统Q-learning在处理高维状态空间时的瓶颈,尤其是在像 Atari 游戏这样的复杂环境中。DQN的核心思想是使用神经网络 Q(s,a;θ)Q(s, a; \theta)Q(s,…

2025数学建模美赛|赛题翻译|E题

2025数学建模美赛,E题赛题翻译 更多美赛内容持续更新中...

双写+灰度发布:高并发场景下的维度表拆分零事故迁移实践

目录 0 文章摘要 1业务场景描述 2 迁移及实施过程 2.1 拆分设计与数据探查 2.1 历史数据迁移(全量)

仿真设计|基于51单片机的温度与烟雾报警系统

目录 具体实现功能 设计介绍 51单片机简介 资料内容 仿真实现(protues8.7) 程序(Keil5) 全部内容 资料获取 具体实现功能 (1)LCD1602实时监测及显示温度值和烟雾浓度值; (2…

langgraph实现 handsoff between agents 模式 (1)

官网示例代码 from typing_extensions import Literal from langchain_core.messages import ToolMessage from langchain_core.tools import tool from langgraph.graph import MessagesState, StateGraph, START from langgraph.types import Command from langchain_openai…

【ubuntu】双系统ubuntu下一键切换到Windows

ubuntu下一键切换到Windows 1.4.1 重启脚本1.4.2 快捷方式1.4.3 移动快捷方式到系统目录 按前文所述文档,开机默认启动ubuntu。Windows切换到Ubuntu直接重启就行了,而Ubuntu切换到Windows稍微有点麻烦。可编辑切换重启到Windows的快捷方式。 1.4.1 重启…

吉首市城区地图政府附近1公里范围高清矢量pdf\cdr\ai内容测评

吉首市城区地图以市政府中心附近1公里范围高清矢量pdf\cdr\ai(2021年详细),可以用cdr,ai软件打开编辑文字内容,放大。

WordPress eventon-lite插件存在未授权信息泄露漏洞(CVE-2024-0235)

免责声明: 本文旨在提供有关特定漏洞的深入信息,帮助用户充分了解潜在的安全风险。发布此信息的目的在于提升网络安全意识和推动技术进步,未经授权访问系统、网络或应用程序,可能会导致法律责任或严重后果。因此,作者不对读者基于本文内容所采取的任何行为承担责任。读者在…