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

目录

一、UDP协议格式长啥样?

二、端口号和IP地址

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

2)有没有包含IP地址?

三、UDP报文长度

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

2)UDP报文的组成?

四、校验和

1)什么是校验和?

2)为什么使用校验和?

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

[4)更合理的算法:md5算法 简介](#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》

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

相关推荐
衍生星球2 小时前
【网络安全】对称密码体制
网络·安全·网络安全·密码学·对称密码
掘根2 小时前
【网络】高级IO——poll版本TCP服务器
网络·数据库·sql·网络协议·tcp/ip·mysql·网络安全
友友马3 小时前
『 Linux 』HTTP(一)
linux·运维·服务器·网络·c++·tcp/ip·http
2401_872514973 小时前
深入探究HTTP网络协议栈:互联网通信的基石
网络·网络协议·http
chenjingming6664 小时前
windows使用tcpdump.exe工具进行抓包教程
网络·测试工具·tcpdump
初黑子zzz4 小时前
rsync
网络
JOJO___5 小时前
Spring IoC 配置类 总结
java·后端·spring·java-ee
蜗牛学苑_武汉5 小时前
设计模式之代理模式
java·网络·java-ee·代理模式
weixin_632077635 小时前
udp聊天室
udp·网络编程·嵌入式·编程·聊天室