一、什么是TCP、UDP
TCP(Transmission Control Protocol 传输控制协议):是一种面向连接的、可靠的、基于字节流的传输层通信协议,使用三次握手协议建立连接、四次挥手断开连接。面向连接就是使用该协议的双方(客户端和服务端)在彼此进行交换数据之前,必须先建立一个TCP连接,建立好一条通信线路(虚拟的),其过程有建立连接、维护连接、释放(断开)连接三个过程。在一个TCP连接中,只有通信双方能进行数据交换。TCP协议保证了数据通信的完整性和可靠性,防止丢包。
UDP(User Datagram Protocol 用户数据报协议):是无连接的,基于报文的传输层协议,提供面向事务的简单不可靠信息传送服务,UDP协议的主要作用是将网络数据流量压缩成数据包的形式。
二、TCP和UDP的区别
1. TCP是面向连接的,可靠的,基于字节流的传输层协议;UDP是面向无连接的,不可靠的,基于报文的传输层协议。
2. TCP只支持一对一的数据通信;UDP支持一对一、一对多、多对一、多对多的数据通信。
3. TCP协议保证数据传输不丢失,不重复,无差错,有序到达;UDP无法保证。
4. TCP建立连接要经历三个阶段,第一阶段:建立连接,发出建立连接的请求;第二阶段:传输数据,连接建立成功后,进行数据传输;第三阶段,数据传输完成后释放连接;UDP直接进行数据传输。
5. UDP传输效率高,且具有实时性,适用于高速传输和实时通信。
6.TCP占用资源多于UDP,TCP首部占20个字节,UDP首部占8个字节。