TCPTCP是位于傳輸層的協(xié)議,它是面向鏈接的,提供全雙工的服務,數據流可以雙向傳輸。TCP是一種可靠的傳輸,它擁有三次握手機制保證數據傳輸的可靠性,如果對方沒有接收到數據則會一直嘗試重新傳輸。像FTP文件傳輸,遠程登陸,HTTP,SMTP,HTTPS等等需要保證傳輸完整性的都是基于TCP協(xié)議。 UDPUDP也是位于傳輸層的協(xié)議,它是無連接的,面向報文的協(xié)議。UDP只能使用盡最大努力交付,并不能保證數據100%的可靠傳輸,即便有丟包依然會繼續(xù)傳輸。因此,UDP更加注重實時性,像語音,電話,視頻都是通過UDP傳輸的,因為偶爾丟幾個包并不影響通信。 ICMPICMP是網絡層協(xié)議。它是TCP/IP協(xié)議簇的一個子協(xié)議,并不承載數據,也不是用來傳輸數據的。ICMP是用來傳遞控制消息的,也就是我們經常說的:網絡通不通,主機是否可達。常用的ping命令就是基于ICMP。 ![]() TCP與UDP的異同
TCP與UDP的優(yōu)缺點TCP優(yōu)點:可靠,穩(wěn)定 因為TCP有三次握手來建立連接,而且再數據傳輸的過程中擁有確認,窗口,重傳,擁塞控制等機制,再數據傳輸完成之后還會斷開連接來節(jié)約資源。 TCP缺點:效率低下,容易被攻擊 每一次傳輸都需要先建立連接,而且傳輸過程中的各種機制都會消耗大量的時間。又因為TCP是面向鏈接的協(xié)議,擁有三次握手機制,確認機制,這些也導致TCP容易被利用,實現(xiàn)DOS,DDOS,CC等攻擊。 UDP優(yōu)點:效率高,較為安全 由于UDP是無狀態(tài),無連接的傳輸協(xié)議,所以它的傳輸速度非常快,而且UDP沒有各種控制機制,所以被攻擊利用的機會就少一些。但并不意味著能避免被攻擊。 UDP優(yōu)點:不可靠,不穩(wěn)定 由于UDP是無連接的協(xié)議,而且沒有TCP擁有的那些機制,所以在網絡質量不好的情況下,UDP很容易造成丟包導致數據的缺失。 |
|