TCP是面向连接的、可靠的、基于字节流的传输层协议
UDP是一个面向无连接的、不可靠的、基于报文的传输层协议
详细的区别
1、TCP 是基于连接的,通信前需要进行三次握手,;UDP 是基于无连接的,通信前不需要进行三次握手。
2、在TCP协议中使用了接收确认和重传机制,使得每一个信息都能保证到达,是可靠的。并且当网络出现拥塞的时候,TCP能够减小向网络注入数据的速率和数量,缓解拥塞。而UDP是尽力传送,没有应答和重传机制,UDP只是将信息发送出去,对方收不收到也不进行应答。所以UDP协议是不可靠的。 3、每条 TCP 连接只能是点到点的;UDP 支持一对一、一对多、多对一、多对多的交互通信。
4、TCP基于字节流的传输表示TCP不认为消息是一条一条的,是无保护消息边界的。UDP面向报文,是有保护消息边界 的,接收方一次只能接受一条独立的消息
5、在传输相同大小的数据时,TCP 首部开销 20 字节;UDP 首部开销只有 8个字节,TCP 报头比 UDP**复杂,故实际包含的用户数据较少。**TCP 无丢包,而 UDP 有丢包,故 TCP 开销大,UDP 开销较小;
总结