一,UDP的报文结构
UDP报文结构很简单,主要分为头部和数据,
1.头部
源端口号:
长度:十六位(2字节)
含义:发送方的端口号,用于标识发送数据的源应用程序。
目的端口:
长度:十六位(2字节)
含义:接收方的端口号,用于标识接受数据的目标应用程序
UDP长度:
长度:十六位(2字节)
含义:整个UDP报文的长度,暴扣头部和数据部分,单位为字节。
校验和:
长度:十六位(2字节)
含义:用于检测UDP报文在传输过程中是否发生错误,如果出错,接受方将丢弃该报文。
2.数据
数据部分的长度是可变的,取决于应用层交付给UDP的数据大小。
二,注意事项
UDP是一个无连接,不可靠的,面向数据报的一个协议,
无连接
知道对应端口就可以直接开始传输,不需要建立连接
不可靠
没有任何机制保证传输成功,也没有返回结果,也没有重传机制,就是一个字“快”。
面向数据报
不能灵活的控制读写数据的次数和数量
也就是应用层给一次给多少,他就愣愣的原样发送,不拆分,不合并。
注意事项
在头部那边注意到UDP只是一个64kb的数据传输最大长度,那就说明UDP在当前互联网环境下是一个非常小的数字,完全不够用,当我们传输数据超过64kb的时候,我们就要在应用层手动拆包,多次发送,并在接收端手动拼装。