[计算机网络]TCP与UDP的区别及适用场景

                                  TCP与UDP的区别及适用场景 TCP(Transmission Control Protocol,传输控制协议)与UDP(User Datagram Protocol,用户数据报协议)都是OSI七层模型中的传输层协议,他们的区别主要体现在以下这几个方面

 

(1)是否面向连接

[1]TCP是面向连接的,即发送数据前需要与目标主机建立连接。

[2]UDP面向无连接的,发送数据前不需要建立连接。


(2)是否提供可靠交付

[1]TCP在传输数据之前,需要三次握手来建立连接,并且通过数据校验、拥塞控制、重传控制、滑动窗口和确认应答等机制来实现可靠交付。数据传输过程中,数据无丢失,无重复,无乱序。

[2]UDP不提供可靠交付,只有通过检验和去丢弃那些不完整的报文,尽最大努力来保证交付的可靠性。


(3)工作效率

[1]前面提到TCP传输数据的控制非常多,这也导致了TCP网络开销大,工作效率相对低下,对系统的资源要求也比较高。

[2]UDP传输控制简单,因此工作效率相对高,对系统资源的要求偏低。


(4)实时性

[1]TCP传输数据的控制程序较多,大幅度降低了数据传输的实时性。

[2]UDP协议简单,数据实时性较高。


(5)安全性

[1]TCP传输机制多,容易被利用,例如DOS、DDOS攻击,因此在安全性上,不如UDP。

[2]UDP没有TCP这么多机制,被利用的机会就会少很多,但UDP不是绝对安全,也会被攻击。

 

 

TCP与UDP的适用场景

TCP:

对数据传输的质量有较高要求,但对实时性要求不高。比如HTTP,HTTPS,FTP等传输文件的协议以及POP,SMTP等邮件传输的协议,应选用TCP协议。


UDP:

只对数据传输的实时性要求较高,但不对传输质量有要求。比如视频传输、实时通信等,应选用UDP协议。

 

最新回复(0)
/jishuplFsRvJxo0tVM9TzpRFMPVOa_2BrNne1i2p4i9sBvxZ6g_3D4858779
8 简首页