UDP 协议

1.UDP的基本特点

  1. 无连接:知道源端口号和目的端口号就可以进行传输,不需要进行连接
  2. 不可靠:没有任何的安全机制,发送端发送完数据后,接收端是否会因为网络故障等其原因而没有接收到数据,UDP协议不会返回任何信息给应用层.
  3. 面向数据报:应用层交给UDP多长的报文,UDP会原样返回,不会拆分和合并.
  4. 全双工:两个通信实体之间可以互相通信,可以同时发送和接收数据

2.UDP协议格式

UDP数据报分为报头和载荷,报头包含了数据传输的相关的控制信息和元数据,而载荷就是一个完整的应用层协议数据.
在这里插入图片描述
报头报头包含以下字段:1.源端口号2.目标端口号3.长度4.校验和.4个字段占用的8个字节.
在这里插入图片描述
源端口和目的端口:各有两个字节,也就是16个比特位,合法的端口也就是0-65535,端口是不会使用的,而1-1024这个范围的端口,系统赋予了特定的含义.
UDP报文长度:UDP报文的总长度,包括报头和UDP载荷的部分.占用2个字节,换算单位的能表示数据也就是64kb.
如果传输的数据大于64kb,该如何处理?

  1. 分片处理:将大文件分割成小块:将大文件分割成多个小块,每个小块大小不超过65535字节,并且需要重新组装数据.在中途很可能会出现某个小块传输数据失败的情况,容易导致bug.
  2. 使用TCP代替UDP,TCP没有要求报文长度,所以传输多长都可以,并且提供了可靠的数据传输机制.

校验和:检查数据是否在网络传输中是否出错,网络传输本质上是光信号/电磁波,如果有磁场等外界因素干扰就会导致数据传输失败.
校验和的方式就是在接收方接收到数据的时候,先确认一下,查看这个数据是否是一个错误的数据.

UDP校验和的实现(CRC校验算法)
1.将UDP头部和数据视为16位块.
2.对所有的16位块进行二进制求和,最终得到校验和
数据传输的时候,会把数据和校验和一起发过去,接收方在收到数据的时候,接收到了发送端发送的数据和校验(旧的校验和)和,接受方再按照相同的方式再算一遍,最终得到了一个新的校验和.
如果新的校验和与旧的校验和不相同,那么就视为传输出错,那么数据就会被丢弃(TCP传输),如果相同那么数据就正确的.

相关推荐

  1. <span style='color:red;'>UDP</span><span style='color:red;'>协议</span>

    UDP协议

    2023-12-08 15:10:01      44 阅读
  2. <span style='color:red;'>UDP</span><span style='color:red;'>协议</span>

    UDP协议

    2023-12-08 15:10:01      32 阅读
  3. UDP协议

    2023-12-08 15:10:01       35 阅读
  4. <span style='color:red;'>UDP</span><span style='color:red;'>协议</span>

    UDP协议

    2023-12-08 15:10:01      31 阅读
  5. <span style='color:red;'>UDP</span><span style='color:red;'>协议</span>

    UDP协议

    2023-12-08 15:10:01      17 阅读
  6. <span style='color:red;'>UDP</span><span style='color:red;'>协议</span>

    UDP协议

    2023-12-08 15:10:01      19 阅读
  7. <span style='color:red;'>UDP</span><span style='color:red;'>协议</span>

    UDP协议

    2023-12-08 15:10:01      11 阅读
  8. <span style='color:red;'>UDP</span><span style='color:red;'>协议</span>

    UDP协议

    2023-12-08 15:10:01      11 阅读
  9. <span style='color:red;'>UDP</span><span style='color:red;'>协议</span>

    UDP协议

    2023-12-08 15:10:01      10 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-08 15:10:01       14 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-08 15:10:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-08 15:10:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-08 15:10:01       18 阅读

热门阅读

  1. 利用 Python 进行数据分析实验(三)

    2023-12-08 15:10:01       28 阅读
  2. 利用 Python 进行数据分析实验(五)

    2023-12-08 15:10:01       33 阅读
  3. docker网络

    2023-12-08 15:10:01       28 阅读
  4. VBA 数组写入ACCESS

    2023-12-08 15:10:01       37 阅读
  5. 数据结构的存储方式

    2023-12-08 15:10:01       34 阅读
  6. Kotlin(十三) 延迟初始化和密封类

    2023-12-08 15:10:01       34 阅读
  7. rpc服务、微服务架构、分布式应用是什么

    2023-12-08 15:10:01       36 阅读
  8. 人工智能助力医疗:科技护航健康未来

    2023-12-08 15:10:01       37 阅读
  9. MySQL报错:sql_mode=only_full_group_by 解决方法含举例

    2023-12-08 15:10:01       33 阅读
  10. 设计模式基础——工厂模式剖析(2/2)

    2023-12-08 15:10:01       27 阅读