<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》

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

相关推荐
醇醛酸醚酮酯5 分钟前
std::promise和std::future的使用示例——单线程多链接、多线程单链接
网络·c++·算法
Net_Walke13 分钟前
【网络协议】WebSocket简介
网络·websocket·网络协议
2501_916013741 小时前
用Fiddler中文版抓包工具掌控微服务架构中的接口调试:联合Postman与Charles的高效实践
websocket·网络协议·tcp/ip·http·网络安全·https·udp
xkroy2 小时前
网络协议概念与应用层
网络
筏.k2 小时前
C++ 网络编程(14) asio多线程模型IOThreadPool
网络·c++·架构
00后程序员张3 小时前
调试 WebView 接口时间戳签名问题:一次精细化排查和修复过程
websocket·网络协议·tcp/ip·http·网络安全·https·udp
门思科技3 小时前
设计可靠 LoRaWAN 设备时需要考虑的关键能力
运维·服务器·网络·嵌入式硬件·物联网
小高不会迪斯科3 小时前
MIT 6.824学习心得(2) 浅谈多线程和RPC
网络·网络协议·rpc
清醒的兰3 小时前
Qt 基于TCP套接字编程
网络·qt·tcp
程序猿追4 小时前
免费版安全性缩水?ToDesk、TeamViewer、向日葵、网易UU远程访问&隐私防护测评
服务器·网络·科技·teamviewer