博客專欄

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

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

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

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

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

TCP

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

UDP

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

ICMP

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

 

4.jpg 

 

TCP與UDP的異同

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

2. 服務(wù)對(duì)象:TCP點(diǎn)對(duì)點(diǎn)兩點(diǎn)間服務(wù),即一條TCP鏈接只能有兩個(gè)端點(diǎn)。UDP支持一對(duì)一,一對(duì)多,多對(duì)一,多對(duì)多的相互通信。

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

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

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


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

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

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

TCP缺點(diǎn):效率低下,容易被攻擊

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


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

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

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

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


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



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

相關(guān)推薦

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

關(guān)閉