我们本篇文章要讲的是UDP的报头结构以及注意事项。
下面呢,我先说一下UDP是什么?
1.UDP是什么?
UDP是一种网络协议。网络协议是计算机网络中,为了使不同设备之间能够准确、高效地进行数据交换和通信,而预先制定的一系列规则、标准和约定。这些规则涵盖了数据的格式、传输方式、错误处理、连接建立与断开等多个方面。就好比人们交流需要遵循一定的语言语法和交流礼仪,计算机之间通信也需要遵循网络协议。
在JAVA里面和UDP相对应的还有一个协议是TCP。
2.TCP和UDP协议的特点:
1.TCP:有连接,可靠数据,面向字节流,全双工。
面向连接 :在发送数据前需要先建立连接,传输完成后需要断开连接,确保数据传输的可靠性
可靠传输 :通过序列号、确认应答、重传机制等保证数据能准确无误、按序到达接收端。
面向字节流 :数据以字节流的形式传输,接收方需要自己处理字节流的边界问题。
2.UDP:无连接,不可靠数据,面向数据报,全双工。
无连接 :发送数据前不需要建立连接,直接发送数据报,因此传输速度快。
不可靠 :不保证数据能准确无误、按序到达接收端,可能会出现数据丢失、重复或乱序的情况。
面向数据报 :数据以独立的数据报形式传输,每个数据报都包含完整的源地址和目的地址等信息。
下面呢我们谈论的UDP协议是在网络传输信息的传输层。
3.UD协议端格式分为什么。
UDP协议端格式主要分为一下五种:
1.UDP报头里面:源端口,目的端口,UDP长度和校验和
2.UDP载荷:就是数据,如果有的话。
下面呢,小编用图片给大家说一下:
注意事项:
1. 在上述UDP报头中我们每一个结构都是两个字节,就是16个比特位。
2.UDP长度:表示整个数据报(UDP首部+UDP数据)。
3.校验和:用于检测 UDP 数据在传输过程中是否发生错误的字段。就是我们在传输数据的时候,发送前我们对数据的长度进行一个遍历相加,之后等我们发送过去之后我们还会再次进行数据长度的计算,之后比较前后两次的长度和是否一样,要是一样的话,我们就判断没有发生错误;要是不一样的话,我们的接收方就会选择丢弃这个数据报。
4.源端口和目的端口就相当于我们快递里面的发件人和收件人。谁发的要发到哪里去。
5.UDP传输的醉倒长度是64k(包含UDP首部)。