1.是否面向连接
TCP面向连接,传输数据之前必须先建立连接
UDP无连接
2.服务对象
TCP是点对点的两点间服务
UCP支持一对一,一对多,多对一,多对多服务
3.可靠性
TCP提供可靠交付,保证无差错,无丢失,无重复,按需到达
UDP提供尽最大可能交付,不保证可靠交付
4.拥塞控制,流量控制
TCP有流量控制和拥塞控制保证数据传输的安全性
UDP没有拥塞控制,网络拥塞不会影响源主机的发送速率
5.报文长度
TCP是动态报文长度,TCP报文长度是根据接收方的窗口大小和当前网络拥塞程度决定的
UDP面向报文,不合并,不拆分,保留上面传下来报文的边界
6.首部开销
TCP首部开销大,首部20个字节
UDP首部开销小,8字节(源端口、目的端口、数据长度、校验和)
8.工作效率
TCP传输复杂,开销大,工作效率相对较低,对系统资源要求相对较高
UDP传输简单,开销小,对系统资源要求相对较低
7.安全性
TCP传输机制多,易被利用,如DOS、DDOS攻击
UDP相对TCP较安全,但不是绝对安全
适用场景:
若数据完整性比数据实时性更重要,则用TCP,如文件传输,重要状态更新。
否则用UDP,如视频传输,实时通信。