Java中的UDP协议(如果想知道Java中有关UDP协议的知识,那么只看这一篇就足够了!)

        前言:UDP是一种简单且快速的网络通信协议,它的特点是传输速度快,但不保证数据一定会到达或按顺序到达,UDP常用于对速度要求高但对丢包不太敏感的场景,比如视频通话和在线游戏,本文将讲解有关UDP协议的知识,并讲解一些常见的应用场景。


✨✨✨这里是秋刀鱼不做梦的BLOG

✨✨✨想要了解更多内容可以访问我的主页秋刀鱼不做梦-CSDN博客

在正式开始讲解之前,先让我们看一下本文大致的讲解内容:

目录

1.UDP协议端格式

        (1)源端口:

        (2)目标端口

        (3)长度

        (4)校验和

2.UDP 的特点

UDP 的限制:

3.UDP的应用场景

        (1)DNS(域名解析服务)

        (2)DHCP(动态主机配置协议)

        (3)TFTP(简单文件传输协议)


1.UDP协议端格式

        在学习一个东西的时候,我们无疑要了解其构成,那么Java中的UDP是如何构成的呢?(如图)

        Java中的UDP的组成结构就是如上图所示的模样,不过光看上图的简单介绍读者可能不能很好的理解其构造,那么接下来让我们进行详细的描述一下(我们会对每个部分的功能和作用进行讲解):

        ——从上图可知,UDP头部格式比较简洁,只有四个字段,每个字段的长度固定为16位,其中:

        (1)源端口:

  • 功能:用于表示发送方的端口号。

  • 作用:当目标端口响应数据时,它会将源端口作为目的端口发送回去.

        (2)目标端口

  • 功能:用于表示接收方的端口号。

  • 作用:当UDP包到达目标主机时,目标端口帮助操作系统将数据传递给相应的应用程序。

        (3)长度

  • 功能:用于表示UDP报文头部和数据部分的总长度。

  • 作用:该字段告诉接收方整个UDP数据报的长度,其长度是头部和数据部分,注意,这个长度对于解析数据包非常重要,因为接收方需要知道在哪里结束头部并开始读取数据部分。

        (4)校验和

  • 功能:用于检测数据包是否错误。

  • 作用:UDP校验和包含整个UDP数据报文的内容,求包括UDP头部和数据部分,在发送方计算校验和时,发送方会将数据报的内容与校验和一起发送,接收方会根据校验和计算的结果判断数据是否正确,如果校验和不匹配,接收方就会丢弃该数据包。

        注意:UDP的校验和是可选的,但是在IPv6中是必须使用的,在IPv4中,它可以选择关闭,但通常建议启用。

        通过上述的讲解,我们相信读者对UDP协议的格式应该有了一定的了解了!

2.UDP 的特点

        在了解完了UDP协议的格式之后,在让我们学习一下UDP协议的特点。

特点如下:

  1. 无连接:发送数据前不需要建立连接

  2. 不可靠:不提供确认应答、不保证数据到达

  3. 面向数据报:应用程序发送的数据不会被拆分或合并,接收方会按照发送方的数据报接收

  4. UDP 的限制
    1. 其最大数据长度 64KB,超过该大小需要手动分片

    2. 不保证数据顺序,可能会发生丢包

        以上就是UDP协议的特点了,非常easy。

3.UDP的应用场景

        通过上面文章的描述,读者对Java中的UDP协议应该有了自己的理解了!那么最后,让我们了解一下UDP有哪些应用场景吧。

        (1)DNS(域名解析服务)

简介:

        DNS(Domain Name System)是将域名转换为IP地址的服务,用户在访问网站时,输入的是域名,计算机通过DNS将域名解析为IP地址,从而就能够找到目标服务器。

那为什么我们会使用UDP呢?:

        ——由于DNS请求和响应的数据量较小,而且对于实时性要求较高,因为DNS查询的响应通常是短小的,且请求不需要维护连接状态,使用UDP可以减少协议开销,确保快速的查询响应。

场景示例:

        ——当用户通过浏览器访问一个网站时,浏览器首先会向DNS服务器发送UDP请求,查询该网站的IP地址,如果UDP数据包丢失,客户端会重新发送请求。

        (2)DHCP(动态主机配置协议)

简介:

        DHCP(Dynamic Host Configuration Protocol)用于动态分配IP地址和其他配置信息给网络中的计算机设备。在网络上,设备通过DHCP自动获取IP地址、网关、DNS等信息,而无需手动配置。

那为什么我们会使用UDP呢?:

        ——DHCP通信在设备加入网络时进行,通常设备没有IP地址,无法通过传统的TCP连接。UDP允许设备发送广播请求并接收响应。

场景示例:

        ——当一个新设备连接到网络时,它会通过UDP发送一个DHCP请求,网络中的DHCP服务器通过UDP响应,提供配置选项(如IP地址、子网掩码等)。

        (3)TFTP(简单文件传输协议)

简介:

        TFTP(Trivial File Transfer Protocol)是一个简单的文件传输协议,通常用于在局域网中传输配置文件或启动镜像等小文件。

那为什么我们会使用UDP呢?:

        ——TFTP设计上要求简单,且在很多情况下传输的文件较小、速度要求较高,而UDP提供了较低的协议开销。

场景示例:

        ——在一个局域网内的设备需要从网络服务器下载文件时,TFTP通过UDP协议快速传输文件。

        以上就是UDP的部分应用场景,读者只需要了解即可,在之后的应用中能想起来就可以了。


以上就是本篇文章的全部内容了~~~

猜你喜欢

转载自blog.csdn.net/2302_80198073/article/details/146448600
今日推荐