这是我参与2022首次更文挑战的第3天,活动详情查看:2022首次更文挑战
tcp协议是一种安全可靠的协议,那UDP协议又是什么呢?他的连接过程也很复杂吗?他有什么特点呢?
UDP
用户资料包协议(英语:User Datagram Protocol,缩写:UDP;又称用户资料包协议)是一个简单的面向资料包的通信协议,位于OSI模型的传输层。《维基百科》
UDP的特性
- 面向报文 发送方的UDP对应用程序交下来的报文,在添加首部后就向下交付IP层。UDP对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。因此,应用程序必须选择合适大小的报文。
- 无连接的 UDP在发送数据包之前不会与进程建立连接,因此减少了 数据传递的数据开销和时间延迟,因此UDP协议传输数据包时要比TCP相对快一点,但是也正是因为在发送数据包时候没有建立连接,也导致了UDP相对于tcp是一个不可靠的协议。
- 支持一对一、一对多、多对一和多对多的交互通信(单播,多播,广播)
- 不可靠性 UDP数据包一旦发出去,不会去检测数据包会不会到达,当然了UDP协议也最大程度的去确保数据包会安全到达,就算丢失也只是很少一部分,丢失的数据包不会被检测到,因此也不会重新发送。
- 头部开销小,传输数据时很高效
- 两个十六位的端口号,分别为源端口(可选字段)和目标端口
- 整个数据报文的长度
- 整个数据报文的检验和(IPv4 可选 字段),该字段用于发现头部信息和数据中的错误 只有8个字节,比TCP的20个字节的首部要短。
- 不能检测拥塞控制 在传输过程中就算遇到网络数据包拥塞,也不会减缓数据发送