博客專欄

EEPW首頁 > 博客 > 淺談TCP、UDP、ICMP三種常見協(xié)議

淺談TCP、UDP、ICMP三種常見協(xié)議

發(fā)布人:天翼云開發(fā)者 時間:2023-05-15 來源:工程師 發(fā)布文章

本文分享自天翼云開發(fā)者社區(qū)《淺談TCP、UDP、ICMP三種常見協(xié)議》,作者:楊****豪

https://www.ctyun.cn/developer/article/411709986725957

TCP

TCP是位于傳輸層的協(xié)議,它是面向鏈接的,提供全雙工的服務,數(shù)據(jù)流可以雙向傳輸。TCP是一種可靠的傳輸,它擁有三次握手機制保證數(shù)據(jù)傳輸?shù)目煽啃裕绻麑Ψ經(jīng)]有接收到數(shù)據(jù)則會一直嘗試重新傳輸。像FTP文件傳輸,遠程登陸,HTTP,SMTP,HTTPS等等需要保證傳輸完整性的都是基于TCP協(xié)議。 

UDP

UDP也是位于傳輸層的協(xié)議,它是無連接的,面向報文的協(xié)議。UDP只能使用盡最大努力交付,并不能保證數(shù)據(jù)100%的可靠傳輸,即便有丟包依然會繼續(xù)傳輸。因此,UDP更加注重實時性,像語音,電話,視頻都是通過UDP傳輸?shù)模驗榕紶杹G幾個包并不影響通信。

ICMP

ICMP是網(wǎng)絡層協(xié)議。它是TCP/IP協(xié)議簇的一個子協(xié)議,并不承載數(shù)據(jù),也不是用來傳輸數(shù)據(jù)的。ICMP是用來傳遞控制消息的,也就是我們經(jīng)常說的:網(wǎng)絡通不通,主機是否可達。常用的ping命令就是基于ICMP。

 

4.jpg 

 

TCP與UDP的異同

1. 鏈接:TCP是面向連接的傳輸層協(xié)議,即傳輸數(shù)據(jù)之前必須建立好鏈接。UDP無連接

2. 服務對象:TCP點對點兩點間服務,即一條TCP鏈接只能有兩個端點。UDP支持一對一,一對多,多對一,多對多的相互通信。

3. 可靠性:TCP可靠交付。UDP盡最大努力交付。

4. 擁塞控制/流量控制:TCP擁有擁塞控制和流量控制來保證數(shù)據(jù)傳輸?shù)陌踩浴DP則沒有。

5. 適用場景:TCP適用于數(shù)據(jù)完整性優(yōu)先于通信實時性的場景。如果要求通信實時性則使用UDP。


TCP與UDP的優(yōu)缺點

TCP優(yōu)點:可靠,穩(wěn)定

因為TCP有三次握手來建立連接,而且再數(shù)據(jù)傳輸?shù)倪^程中擁有確認,窗口,重傳,擁塞控制等機制,再數(shù)據(jù)傳輸完成之后還會斷開連接來節(jié)約資源。

TCP缺點:效率低下,容易被攻擊

每一次傳輸都需要先建立連接,而且傳輸過程中的各種機制都會消耗大量的時間。又因為TCP是面向鏈接的協(xié)議,擁有三次握手機制,確認機制,這些也導致TCP容易被利用,實現(xiàn)DOS,DDOS,CC等攻擊。


UDP優(yōu)點:效率高,較為安全

由于UDP是無狀態(tài),無連接的傳輸協(xié)議,所以它的傳輸速度非常快,而且UDP沒有各種控制機制,所以被攻擊利用的機會就少一些。但并不意味著能避免被攻擊。

UDP點:不可靠,不穩(wěn)定

由于UDP是無連接的協(xié)議,而且沒有TCP擁有的那些機制,所以在網(wǎng)絡質(zhì)量不好的情況下,UDP很容易造成丟包導致數(shù)據(jù)的缺失。


*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。



關(guān)鍵詞: TCP UDP ICMP

相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉