TCP协议:
传输控制协议 TCP(Transmission Control Protocol)是面向连接、可靠的传输层协议,具备“可靠性传输”、“流量控制”、“拥塞控制”等功能;
TCP是面向连接的服务。在传输数据之前必须先建立连接,数据传送介绍后需要释放连接;
TCP的可靠性提现在TCP在进行传递数据之前,会有三次握手来建立可靠的连接,而且在数据传递时,有确认、窗口、重传、拥塞控制等机制,在数据传递完后,还会端口连接用来节约系统资源;
TCP一般用于文件传输、发送和接收邮件、远程登录等场景。
UDP协议:
用户数据包协议UDP是一种无连接的传输协议,提供面向事务的不可靠的信息传送服务;UDP 面向报文传输,不保证可靠交付,同时也不使用拥塞控制,适合多媒体通信的要求;UDP 支持一对一、一对多、多对一和多对多的交互通信;UDP 的首部开销小,只有 8 个字节。
TCP和UDP的区别总结
-
连接:TCP是面向连接的传输层协议,传输数据之前必须先建立好连接;UDP无连接。
-
可靠性:TCP可靠交付:无差错,不丢失,不重复,按序到达;UDP尽最大努力交付,不保证可靠交付。
-
传输形式:TCP以字节流传输(效率慢),UDP以数据报文段传输(效率快)
-
服务对象:TCP点对点的两点间服务,即一条TCP连接只能有两个端点;UDP支持一对一,一对多,多对一,多对多的交互通信。
-
拥塞控制/流量控制:TCP有拥塞控制和流量控制保证数据传输的安全性;UDP没有拥塞控制。
-
首部字节:TCP首部开销大,首部20~60个字节;UDP首部开销小,8字节。
-
适用场景(由特性决定):为确保数据完整和通信实时性,应该选用TCP 协议(如文件传输、邮件收发等);反之,则使用 UDP 协议(如视频传输、实时通信等)。
类型 |
特点 |
性能 |
应用场景 |
首部字节 | |||
是否面向连接 |
传输可靠性 |
传输形式 |
传输效率 |
所需资源 | |||
TCP |
面向连接 |
可靠 |
字节流 |
慢 |
多 |
要求通信数据可靠 |
20个字节-60个字节 |
UDP |
无连接 |
不可靠 |
数据报文段 |
快 |
少 |
要求通信速度快 |
8个字节 |