2018-5-31 TCP、UDP协议对比

1.可靠性:
(1)UDP协议:不可靠,没有确认机制,没有重传机制,如果因为网络故障该段无法发送到对方,UDP协议层也不会给应用层返回任何错误信息;

(2)TCP协议:通过校验和、序列号(按序到达)、确认应答、超时重传、连接管理、流量控制、拥塞控制保证可靠性;TCP协议通过滑动窗口、快重传、延迟应答、捎带应答等机制来提高性能。

2.面向对象:
(1)UDP协议:UDP是无连接的,知道对端的IP和端口号就直接进行传输,不需建立连接;UDP是面向数据报的,应用层交给UDP多长的报文,UDP原样发送,既不会拆分,也不会合并。

(2)TCP协议:TCP面向连接,知道对端的IP和端口号并建立连接后才可通信,保证可靠性;面向字节流,可以一次性将对端发送的消息接收完毕,也可以分几次进行接收。

3.TCP与UDP优缺点:
(1)UDP协议:
a.优点: 快,比TCP稍安全 UDP没有TCP的握手、确认、窗口、重传、拥塞控制等机制,UDP是一个无状态的传输协议,所以它在传递数据时非常快。没有TCP的这些机制,UDP较TCP被攻击者利用的漏洞就要少一些。

b.缺点: 不可靠,不稳定 因为UDP没有TCP那些可靠的机制,在数据传递时,如果网络质量不好,就会很容易丢包。

c.应用场景:当对网络通讯质量要求不高的时候,要求网络通讯速度能尽量的快,这时就可以使用UDP。 比如,日常生活中,常见使用UDP协议的应用如下: QQ语音 QQ视频 TFTP ……

(2)TCP协议:
a.优点: 可靠,稳定 TCP的可靠体现在TCP在传递数据之前,会有三次握手来建立连接,而且在数据传递时,有确认、窗口、重传、拥塞控制机制,在数据传完后,还会断开连接用来节约系统资源。

b.缺点:慢,效率低,占用系统资源高,易被攻击 TCP在传递数据之前,要先建连接,这会消耗时间,而且在数据传递时,确认机制、重传机制、拥塞控制机制等都会消耗大量的时间,而且要在每台设备上维护所有的传输连接,事实上,每个连接都会占用系统的CPU、内存等硬件资源。 而且,因为TCP有确认机制、三次握手机制,这些也导致TCP容易被人利用,实现DOS、DDOS、CC等攻击。

c.应用场景:当对网络通讯质量有要求的时候,比如:整个数据要准确无误的传递给对方,这往往用于一些要求可靠的应用,比如HTTP、HTTPS、FTP等传输文件的协议,POP、SMTP等邮件传输的协议。 在日常生活中,常见使用TCP协议的应用如下: 浏览器,用的HTTP FlashFXP,用的FTP Outlook,用的POP、SMTP Putty,用的Telnet、SSH QQ文件传输 。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章