TCP和UDP的区别
一、是否面向连接
- TCP面向连接,UDP是无连接的
- UDP发送数据前不需要连接,可随时发送数据
- TCP发送数据前需要三次握手建立连接,数据传输完毕之后需要四次分手释放连接
二、是否支持广播和多播
- TCP只能单播,也就是一对一通信
- UDP能进行单播、多播、广播,也就是说UDP可以一对一、一对多、多对多的交互通信
三、对应用报文的处理
- UDP对报文既不拆分,又不合并,也就是说UDP是面向报文的
- TCP是面向字节流的,会对应用报文进行拆分
四、是否提供可靠传输服务
- TCP提供面向连接的可靠服务,应用场景有:文件传输
- UDP提供无连接的不可靠的服务,一般用于即时通信,应用场景如:QQ电话,QQ视频等
五、报文段首部开销
- TCP报文的首部开销大
- UDP报文的首部开销小
六、性能
- TCP所需资源多,传输效率慢
- UDP所需资源少,传输效率快