首页 > 其他分享 >用户数据报协议 UDP

用户数据报协议 UDP

时间:2023-03-18 20:33:48浏览次数:49  
标签:协议 UDP 首部 报文 端口 用户 数据

用户数据报协议 UDP

UDP 概述

用户数据报协议 UDP 只在 IP 的数据报服务之上增加了很少一点的功能,这就是复用和分用的功能以及查错检测的功能

UDP 的主要特点

  1. UDP 是无连接的,即发送数据之前不需要建立连接(发送数据结束时也没有连接可释放),减少了开销和发送数据之前的时延
  2. UDP 使用尽最大努力交付,即不保证可靠交付,主机不需要维持复杂的连接状态表
  3. UDP 是面向报文的,发送方的 UDP 对应用程序交下来的报文,在添加首部后就向下交付 IP 层。UDP 对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界

  1. UDP 没有拥塞控制,网络出现的拥塞不会使源主机的发送速率降低。这对某些实时应用是很重要的
  2. UDP 支持一对一、一对多、多对一和多对多的交互通信
  3. UDP 的首部开销小,只有8个字节,比 TCP 的20个字节的首部要短

存在问题

  1. 某些实时应用需要使用没有拥塞控制的 UDP,但很多的源主机同时都向网络发送高速率的实时视频流时,网络就有可能发生拥塞,导致大家都无法正常接收。
  2. 还有一些使用 UDP 的实时应用,需要对 UDP 的不可靠传输进行适当的改进,以减少数据的丢失。应用进程可以在不影响应用的实时性的前提下,增加一些提高可靠性的措施,如采用前向纠错或重传已丢失的报文

UDP 的首部格式

用户数据报 UDP 有两个字段:数据字段首部字段。首部字段很简单,只有8个字节,由四个字段组成,每个字段都是两个字节

首部字段

  • 源端口 源端口号。在需要对方回信时。不需要时可用全0
  • 目的端口 目的端口号。这在终点交付报文时必须使用
  • 长度 UDP 用户数据报的长度,其最小值是8(仅有首部)
  • 检验和 检测 UDP 用户数据报在传输中是否有错。有错就丢弃

端口分用

当运输层从 IP 层收到 UDP 数据报时,就根据首部中的目的端口,把 UDP 数据报通过相应的端口,上交最后的终点——应用进程

如果接受方 UDP 发现收到的报文中的目的端口号不正确(即不存在对应于该端口号的应用程序),就丢弃该报文,并由网际控制报文协议 ICMP 发送“端口不可达”差错报文给发送方

伪首部

UDP 用户数据报首部中检验和的计算方法有些特殊。在计算检验和时,要在 UDP 用户数据报之前增加 12 个字节的伪首部。所谓“伪首部”是因为这种伪首部并不是 UDP 用户数据报真正的首部。只是在计算检验和时,临时添加在 UDP 用户数据报前面,得到一个临时的 UDP 用户数据报。检验和就是按照这个临时用户数据报来计算的。伪首部既不向下传也不向上递交,而仅仅是为了计算检验和

标签:协议,UDP,首部,报文,端口,用户,数据
From: https://www.cnblogs.com/xiaobingch/p/17231675.html

相关文章

  • 力扣262(MySQL)-行程和用户(困难)
    题目:表:Trips 表:Users取消率的计算方式如下:(被司机或乘客取消的非禁止用户生成的订单数量)/(非禁止用户生成的订单总数)。写一段SQL语句查出 "2013-10-01" 至......
  • SSL/TLS协议运行机制的概述
    互联网的通信安全,建立在SSL/TLS协议之上。本文简要介绍SSL/TLS协议的运行机制。文章的重点是设计思想和运行过程,不涉及具体的实现细节。如果想了解这方面的内容,请参阅RFC......
  • 动态路由协议
    1动态路由的概述​虽然静态路由在有些时候很有用,但是是必须是手动操作每条路由条目,对于大型网络来说经常改变的情况,配置静态路由工作量非常繁重,因此使用动态路由是必要的。......
  • Windows本地用户提权(二)
    BypassUAC提权MSF模块UAC:用户控制机制windows7:useexploit/windows/local/bypassuagetsystemwindows10:方法一:useexploit/windows/local/ask\钓鱼攻击,需要......
  • 最新修理Edge浏览器不听话的办法(B按钮侧栏+用户资料按钮小红点)
    经过多方研究学习,第一步去除B按钮侧栏比较简单:WindowsRegistryEditorVersion5.00[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Edge]"HubsSidebarEnabled"=d......
  • Windows本地用户提权(一)
    本地用户提权AT命令提权(适用于sever2003及win7以前)普通用户在cmd中输入at时间/interactivecmd到时间后会弹出新的cmd窗口,该窗口的用户权限是systemSC命令提权(......
  • MySQL8设置用户权限报错You have an error in your SQL syntax;right syntax to use ne
    mysql8设置用户权限命令和之前不一样之前:grantallprivilegeson*.*to'myuser'@'%'identifiedby'mypassword'withgrantoption;报错:Youhaveanerrorinyou......
  • #yyds干货盘点#【愚公系列】2023年03月 .NET CORE工具案例-使用MailKit使用SMTP协议进
    (文章目录)前言1.MailKit简介MailKit是最流行且最强大的.NET邮件处理框架之一,下面为大家简单介绍MailKit的使用方式(IMAP为例)2.MailKit功能安全SASL身份验证支......
  • 分布式协议与算法实战 - 分布式算法 paxos raft
    paxos算法用于分布式共识,分成2部分BasicPaxos算法,描述多节点间如何就某个值达成共识Multi-Paxos算法,执行多个BasicPaxos实例,就一系列值达成共识BasicPaxos三种角......
  • Tcp/ip协议
    Tcp/ip协议Tcp:1.传输控制协议2.可靠的,面向连接的协议3.传输效率低because每次发送的请求报文都需要回应,So安全且低效TCP支持的应用协议主要有:Telnet,FTP,SMTP等UDP:1.......