UDP 协议

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传输),如果相同那么数据就正确的.

相关推荐
QH139292318809 分钟前
Anritsu MT8821C MT8000A无线电通信分析仪
网络·科技·集成测试·模块测试
晚风吹人醒.11 分钟前
iptables防火墙规则(一):iptables语法结构,netfilter功能详解及案例演示
linux·服务器·网络·iptables·防火墙··netfilter
bdzbongbang33 分钟前
剖析发电机中性点接地电阻柜的构成
网络·经验分享
✧˖‹gσσ∂ иιghт›✧1 小时前
esp32 s3 修改本地ip和服务器IP
服务器·网络协议·tcp/ip
Ares-Wang1 小时前
网络》》防火墙
运维·服务器·网络
可爱又迷人的反派角色“yang”1 小时前
k8s(四)
linux·网络·云原生·容器·kubernetes·云计算
qq_411262421 小时前
优化wifi的性能,LWIP_TCP_WND是不是指的是DYNAMIC_RX_BUFFER动态接受缓冲区的缓冲区大小
网络·网络协议·tcp/ip
funnycoffee1231 小时前
华为路由器或3层设备接口下的arp broadcast enable作用是啥?
网络·华为
阿杰 AJie1 小时前
如何将公司公网ip绑定到服务器和域名
服务器·网络·tcp/ip
sublime881 小时前
JNPF快速开发平台存在任意文件读取漏洞 附PO
网络·安全·web安全·网络安全