小白之Socket编程--UDP(一)
一、概念
- User Datagram Protoclo,缩写为UDP
- 一种用户数据报协议,又称为用户数据报文协议
- 是一个简单的面向数据报的传输层协议,正式规范为RFC 768
- 用户数据协议、非连接协议
二、为什么在我们印象中UDP是不可靠的?
- 它一旦把应用程序发给网络层的数据发送出去,就不保留数据备份
- UDP在IP书报的头部仅仅加入了复用和数据校验(字段)
- 发送端生产数据,接收端从网络中抓取数据
- 结构简单、无检验、速度快、容易丢包、可广播
三、对比
FTP/TFTP--文件传输协议
TCP--可用于视频下载(也属于文件传输),TCP区分客户端和服务端
UDP--可用于直播,UDP不区分,自己既是客户端又是服务端
DNS--域名解析,比如访问百度浏览器第一步就是把网址https://www.baidu.com/解析为ip访问地址
--UDP可用于DNS解析
HTTP--
四、结构
- 16位(bit)是2个字节(byte),即一个短整型short。
- 端口号0-65535
- UDP包最大能存多大长度呢?字节长度length是16位,但可传输的最大长度却是 2的16次方减1=65535-8=65507byte。如下图: