UDP面向无连接的,发送数据前不需要建立连接。
(2)是否提供可靠交付
TCP在传输数据之前,需要三次握手来建立连接,并且通过数据校验、拥塞控制、重传控制、滑动窗口和确认应答等机制来实现可靠交付。数据传输过程中,数据无丢失,无重复,无乱序。
UDP不提供可靠交付,只有通过检验和去丢弃那些不完整的报文,尽最大努力来保证交付的可靠性。
(3)工作效率
前面提到TCP传输数据的控制非常多,这也导致了TCP网络开销大,工作效率相对低下,对系统的资源要求也比较高。
UDP传输控制简单,因此工作效率相对高,对系统资源的要求偏低。
(4)安全性
TCP传输机制多,容易被利用,例如DOS、DDOS攻击,因此在安全性上,不如UDP。
UDP没有TCP这么多机制,被利用的机会就会少很多,但UDP不是绝对安全,也会被攻击
TCP与UDP的适用场景
对数据传输的质量有较高要求,但对实时性要求不高。比如HTTP,HTTPS,FTP等传输文件的协议以及POP,SMTP等邮件传输的协议,应选用TCP协议。
只对数据传输的实时性要求较高,但不对传输质量有要求。比如视频传输、实时通信等,应选用UDP协议