<JavaEE> 协议格式 -- 传输层协议 UDP

news/2024/5/18 13:17:01 标签: udp, 网络, java-ee

目录

一、UDP协议格式长啥样?

二、端口号和IP地址

1)UDP协议中包含哪两个端口号?

2)有没有包含IP地址?

三、UDP报文长度

1)UDP报文长度最长多长?

2)UDP报文的组成?

四、校验和

1)什么是校验和?

2)为什么使用校验和?

3)UDP的校验和是如何计算的?

4)更合理的算法:md5算法 简介

五、UDP协议通讯的特点


一、UDP协议格式长啥样?


二、端口号和IP地址

1)UDP协议中包含哪两个端口号?

UDP协议中包含源端口号和目的端口号,各占2个字节。

2)有没有包含IP地址?

不包含IP地址,IP地址在网络层中载入。

三、UDP报文长度

1)UDP报文长度最长多长?

“UDP报文长度”这个属性,占用2个字节,即16位比特位,可以表示的范围在0~65535之间
与“UDP报文长度”这个属性的表示范围相同,UDP数据报最长只能放下64kb的数据

2)UDP报文的组成?

数据报长度=报头+荷载

四、校验和

1)什么是校验和?

校验和是计算机中非常广泛使用的概念。
校验和本质上是一个字符串,字符串根据原始数据通过某种算法计算生成。
相同的原始数据的校验和一定是一致的,不同的原始数据的校验和通常是不一致的。
也存在不同数据的校验和相同的可能,但是概率极小,可以忽略不计。

2)为什么使用校验和?

网络传输中存在大量外部干扰,可能导致数据传输出错,如发生高低电平变化的“比特翻转”等情况。
这种情况下,接收方就需要验证收到的数据与发出的数据是否在传输过程中发生了变化
这种验证就是通过校验和进行验证。

如果校验和出错,数据会被直接丢弃。

3)UDP的校验和是如何计算的?

UDP使用CRC算法,又称为循环冗余算法。
“校验和”这个属性的大小也是2个字节。
算法将当前要计算的数据的每个字节进行累加,即使溢出也会继续计算,最后将结果保存到“校验和”中。
CRC算法存在缺陷,使用这种算法,两个不同数据得到相同校验和的概率比较大。

4)更合理的算法:md5算法 简介

md5算法通过一系列复杂公式计算校验和。
md5算法存在以下特点:
<1>计算结果,长度固定
<2>结果分散。即使两个原始数据内容只有一点差异,计算得到的校验和差异都会非常大。这个特点也使得md5算法非常适合作为hash算法。
<3>不可逆。在现有计算机算力下,md5算法无法通过结果逆向计算得出原始数据。

五、UDP协议通讯的特点

1> 无连接
UDP协议通信时不会存储对端信息,需要在发送时显式指定传输对象。
2> 不可靠
没有确认机制,没有重传机制;发送数据后不关心数据是否正确送达。
3> 面向数据报
不能灵活的控制读写数据的次数和数量。
4> 全双工
通过一个套接字(socket),既可以发送(send),又可以接收(receive)。

阅读指针 -> 《协议格式 -- 传输层协议 TCP》

链接生成中.........


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

相关文章

【Angular】Angular中的最差实践

自我介绍 做一个简单介绍&#xff0c;酒架年近48 &#xff0c;有20多年IT工作经历&#xff0c;目前在一家500强做企业架构&#xff0e;因为工作需要&#xff0c;另外也因为兴趣涉猎比较广&#xff0c;为了自己学习建立了三个博客&#xff0c;分别是【全球IT瞭望】&#xff0c;【…

14.Unity中序列化

非字符串类型转字节数组 //关键类&#xff1a;BitConverter//所在命名空间&#xff1a;System//主要作用&#xff1a;除字符串的其他常用类型和字节数组相互转换byte[] byte1 BitConverter.GetBytes(100); 字符串类型转字节数组 //关键类&#xff1a;Encoding//所在命名空间&…

50 个具有挑战性的概率问题 [第 5 部分]:方形硬币

一、说明 你好&#xff0c;我最近对与概率相关的问题产生了兴趣。我偶然发现了 Frederick Mosteller 所著的《五十个具有挑战性的概率问题及其解决方案》这本书。我认为创建一个系列来讨论这些可能作为面试问题出现的迷人问题会很有趣。每篇文章仅包含 1 个问题&#xff0c;使其…

Java八股文面试全套真题【含答案】- RabbitMQ篇

RabbitMQ 是什么&#xff1f;它解决了哪些问题&#xff1f; 答&#xff1a;RabbitMQ 是一个开源的消息代理中间件&#xff0c;用于在应用程序之间进行可靠的异步消息传递。它解决了应用程序间解耦、消息传递、负载均衡、故障恢复等问题。RabbitMQ 的核心概念是什么&#xff1f;…

了解spark计算模型

简介 在集群背后&#xff0c;有一个非常重要的分布式数据架构&#xff0c;即弹性分布式数据集&#xff08;resilient distributed dataset&#xff0c;RDD&#xff09;&#xff0c;它是逻辑集中的实体&#xff0c;在集群中的多台机器上进行了数据分区。通过对多台机器上不同RDD…

积分球水质检测与分析

水质污染对人类健康和生态环境都会造成严重影响。特殊的地质条件使某种化学元素大量富集、天然植物在腐烂时产生某些有害物质、雨水降到地面后挟带各种物质流入水体等造成的水体污染&#xff0c;都属于自然污染。而人为的污染则主要来自工业废水、生活污水、农药和化肥的不合理…

八股文打卡day9——计算机网络(9)

面试题&#xff1a;HTTP1.0和HTTP1.1的区别&#xff1f; 我的回答&#xff1a; 1.长连接&#xff1a;HTTP1.1引入了长连接的机制&#xff0c;connection&#xff1a;keep-alive。一个TCP连接可以进行多次请求和响应。而HTTP1.0每次请求响应一次都得建立连接、断开连接。 引入…

docker给容器分配固定ip

1.为 Docker 容器设置一个固定的 IP 地址 要为 Docker 容器设置一个固定的 IP 地址&#xff0c;有几种常见的方法&#xff1a; 使用自定义网络和静态 IP 地址&#xff1a; 你可以创建一个自定义的 Docker 网络&#xff0c;并在这个网络上为容器分配静态 IP 地址。首先&#x…