首页 运维 linux运维 UDP协议的特点以及它的首部格式

UDP协议的特点以及它的首部格式

Dec 18, 2020 pm 08:35 PM
udp

UDP的特点

UDP协议非常的简单,它几乎没在IP层上增加什么功能。下面来看看UDP协议的一些特点:

  • UDP是无连接的,尽最大努力的交付。发送数据之前不会提前通知,它只管发,你能不能接受到它是不管的。

  • UDP是面向报文的,应用程序给它什么内容,它在内容前封装一个首部就转发给下面的IP层。它是不管内容的多或少的,你给我什么,我就发什么。对于,它的无脑操作,那么应用进程就需要选择好合适的大小了。以免过大的数据包,在IP层被拆分,营销效率。

  • UDP支持一对一、一对多和多对多的通信,对于TCP仅支持点对点的通信这点来看,UDP这点好像还算干的不错。

  • UDP首部简单,是固定的8字节。

基于UDP的上述特点,可以猜想出它的一些应用场景:

  • 适用于网络比较好的环境,对丢包不敏感。

  • 需要进行广播的场景,比如DHCP协议就需要使用广播,所以它使用的UDP协议。

  • 传输效率高、速度快的场景,比如视频直播,一般视频直播丢失了几帧是无关痛痒的。

UDP首部格式

上述已经说过,UDP首部时固定的8字节。相对于TCP,它的首部开销是非常小的。

QQ截图20201215103220.jpg

  • 源端口号,占2字节

  • 目的端口号,占2字节

  • 首部长度,占2字节

  • 校验和,占2字节

目的主机如果接受到了非法端口号的UDP数据包,就会丢弃该数据包,然后向源主机发送ICMP的差错报文“端口不可达”。traceroute命令就是利用该特点来获取两个主机之间的路径信息的。

UDP的校验方式有些特殊,它在校验时,需要零时在首部添加12字节的伪首部。伪首部是在只校验时用到,校验完成后就丢弃。另外,它和IP数据报只校验首部不同,它会校验首部以及数据部分。

相关推荐:《linux视频教程

以上是UDP协议的特点以及它的首部格式的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它们
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

如何使用PHP和UDP协议实现异步通信 如何使用PHP和UDP协议实现异步通信 Jul 30, 2023 pm 07:31 PM

如何使用PHP和UDP协议实现异步通信在现代的互联网应用中,异步通信已成为了一种非常重要的方式。通过使用异步通信,可以在不阻塞主线程的情况下,实现并发处理用户请求,提高系统的性能和响应速度。而PHP作为一种流行的后端编程语言,如何使用UDP协议实现异步通信呢?本文将介绍如何在PHP中使用UDP协议实现简单的异步通信,并附上具体的代码示例。一、UDP协议简介U

udp端口号有哪些 udp端口号有哪些 Feb 23, 2023 pm 02:00 PM

UDP常用端口号有53、69、161、2049、68、520。UDP使用端口号为不同应用保留各自数据传输通道:1、网络文件系统(NFS),端口号为2049;2、简单网络管理协义(SNMP),端口号为161;3、域名系统(DNS),端口号为53;4、简单文件传输系统(TFTP),端口号为69;5、动态主机配置协议(DHCP),端口号为68;6、路由信息协议,端口号为520等。

Java网络编程如何使用UDP进行无连接通信? Java网络编程如何使用UDP进行无连接通信? Apr 15, 2024 pm 12:51 PM

UDP(用户数据报协议)是一种轻量级的无连接网络协议,常用于时间敏感的应用程序。它允许应用程序在无需建立TCP连接的情况下发送和接收数据。示例Java代码可用于创建UDP服务器和客户端,服务器监听传入数据报并响应,客户端发送消息并接收响应。该代码可用于构建聊天应用程序或数据收集系统等实战案例。

如何分析UDP协议 如何分析UDP协议 May 12, 2023 pm 02:49 PM

一、套接字(socket)套接字socket:ip地址 port端口号。在TCP/IP协议中,它唯一标识网络通讯中的一个进程。套接字用来描述网络连接的一对一关系。TCP/IP协议规定,网络数据流应采用大端字节序,即(内存)低地址高字节(数据)。二、UDP_SOCKET相关UDP协议----用户数据报协议(面向非连接)---SOCK_DGRAMh表示host,n表示network,l表示32位长整数,s表示16位短整数。IPv4地址格式定义在netinet/in.h中,IPv4地址:sockadd

udp提供面向什么的传输服务 udp提供面向什么的传输服务 Feb 27, 2023 am 10:20 AM

udp提供面向“无连接”的传输服务。UDP中文名是用户数据报协议,是OSI参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务;UDP为应用程序提供了一种无需建立连接就可以发送封装的IP数据包的方法。

Java怎么实现基于UDP协议的网络通信UDP编程 Java怎么实现基于UDP协议的网络通信UDP编程 May 17, 2023 pm 01:13 PM

UDP编程通信基本介绍类DatagramSocket和DatagramPacket【数据包/数据报】实现了基于UDP协议网络程序。UDP数据报通过数据报套接字DatagramSocket发送和接收,系统不保证UDP数据报一定能安全送到目的地,也不确信什么时候可以抵达。DatagramPacket对象封装了UDP数据报,在数据报中包含了发送端的IP地址和端口号以及接收端的IP地址和端口号。UDP协议中每个数据报都给出了完整的地址信息,因此无须建立发送方和接收方的连接。基本流程核心的两个类/对象Da

UDP协议是什么意思 UDP协议是什么意思 Aug 08, 2023 pm 03:43 PM

UDP是一种无连接的传输层协议,提供了一种将数据包发送到网络上的方式,但并不保证数据包的可靠性、顺序性和完整性,也不提供拥塞控制和流量控制等功能。UDP的特点:1、无连接性,不需要在发送数据之前建立连接,数据包可以直接发送到目标主机;2、高效性,头部开销较小,只有8字节;3、不可靠性,不提供数据包的可靠性,数据包发送后,即使丢失也不会重新发送,也不保证数据包的顺序等等。

为什么DNS使用UDP而不是TCP详解! 为什么DNS使用UDP而不是TCP详解! Mar 01, 2024 pm 08:16 PM

DNS(DomainNameSystem)使用UDP(UserDatagramProtocol)而不是TCP(TransmissionControlProtocol)的主要原因是出于性能和效率的考虑。下面详细解释为什么DNS选择使用UDP协议:小型请求和快速响应:DNS查询通常是小型请求,仅需要几个字节的数据传输。UDP是无连接的协议,它不需要在通信之前建立连接,而是将数据包发送到目标地址并等待响应。这使得UDP比TCP更适合快速响应的场景。低延迟:DNS查询通常需要低延迟来提供快速的域名解析服

See all articles