UDP
面向数据报的通信协议
UDP
报头包括4个字段,标题短,开销小
- 利用IP提供面向无连接的通信服务
- 传输中出现丢包,不重发
- 包的到达顺序出现乱序时,没有纠正功能
- 收到数据就发出,无法进行流量控制避免网络拥塞
TCP
面向字节流的通信协议
TCP
报文首部20个字节,额外开销大
- 实现了数据传输时的各种控制功能,可以进行丢包的重发控制,乱序的分包进行控制
- 面向有连接的协议,只有确认通信对端存在时才会发生数据,从而控制通信流量浪费
- 也能在IP这种无连接的网络上实现高可靠性的通信
区别
TCP | UDP | |
---|---|---|
可靠性 | 可靠 | 不可靠 |
连接性 | 面向连接 | 无连接 |
报文 | 面向字节流 | 面向报文 |
效率 | 传输效率低 | 传输效率高 |
双共性 | 全双工 | 一对一、一对多、多对一、多对多 |
流量控制 | 滑动窗口 | 无 |
拥塞控制 | 慢开始、拥塞避免、快重传、快恢复 | 无 |
传输效率 | 慢 | 快 |
- 都位于传输层
- TCP适用于对效率要求低,对准确性要求高,有连接的场景
- UDP适用于对效率要求高,准确性要求低的场景