亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

圖文分析詳解計算機(jī)網(wǎng)絡(luò)TCP與UDP兩者區(qū)別及原理

 更新時間:2021年11月04日 11:55:12   作者:林深時不見鹿  
TCP和UDP都位于計算機(jī)網(wǎng)絡(luò)模型中的運輸層,它們負(fù)責(zé)傳輸應(yīng)用層產(chǎn)生的數(shù)據(jù)。在面試中也經(jīng)常會問TCP和UDP的區(qū)別,下面我們將從幾個方面來聊一聊TCP和UDP兩者的區(qū)別

1、概念

UDP和TCP 在使用TCP/IP 體系結(jié)構(gòu)的網(wǎng)絡(luò)通信中,這兩個協(xié)議的使用頻率僅次于網(wǎng)際層的IP協(xié)議。TCP/IP 體系結(jié)構(gòu)應(yīng)用層中的某些協(xié)議需要使用運輸層的TCP 提供的服務(wù),而另一些協(xié)議需要使用運輸層的UDP 提供的服務(wù),UDP 是用戶數(shù)據(jù)報協(xié)議的英文縮寫詞,TCP 是傳輸控制協(xié)議的英文縮寫詞。

 

2、從是否面向連接來看

如下圖所示,兩個小電腦圖標(biāo)代表英特網(wǎng)上的兩臺主機(jī),縱坐標(biāo)為時間。

 

2.1、UDP

兩臺主機(jī)如果在運輸層使用UDP協(xié)議進(jìn)行通信,雙方可以隨時發(fā)送數(shù)據(jù),因此UDP是無連接的。

2.2、TCP

再來看使用TCP 協(xié)議的情況,使用TCP協(xié)議的通信,雙方在進(jìn)行數(shù)據(jù)傳輸之前必須使用三報文握手來建立TCP 連接。TCP 連接建立成功后才能進(jìn)行數(shù)據(jù)傳輸,數(shù)據(jù)傳輸結(jié)束后必須使用四報文揮手來釋放TCP連接。需要注意的是這里所謂的連接是指邏輯連接關(guān)系,而不是物理連接,綜上所述UDP是無連接的,而TCP是面向連接的。

3、從連接對象個數(shù)來看

3.1、UDP

下圖是某個局域網(wǎng)上的使用UDP協(xié)議進(jìn)行通信的四臺主機(jī),其中任何一臺主機(jī)都可向其他三臺主機(jī)發(fā)送廣播,也可以向某個多播組發(fā)送多播,還可以向某臺主機(jī)發(fā)送單播。也就是說UDP支持單播多播以及廣播,換句話說UDP支持一對一,一對多以及一對全的通信。

一臺主機(jī)向其他三臺主機(jī)發(fā)送廣播:

向某個多播組發(fā)送多播:

向某臺主機(jī)發(fā)送單播:

3.2、TCP

再來看使用TCP協(xié)議的情況。使用TCP協(xié)議的通信,雙方在進(jìn)行數(shù)據(jù)傳輸之前必須使用三報文握手來建立TCP連接。TCP連接建立成功后,通信雙方之間就好像有一條可靠的通信信道,通信雙方使用這條基于TCP連接的可靠信道進(jìn)行通信。很顯然,TCP僅支持單播,也就是一對一的通信。

三報文握手”建立TCP連接:

基于TCP連接的可靠信道:

4、從對應(yīng)用報文的處理來看

4.1、UDP

先來看使用UDP協(xié)議的情況。發(fā)送方的應(yīng)用進(jìn)程將應(yīng)用層報文交付給運輸層的UDP,UDP直接給應(yīng)用層報文添加一個UDP首部,使之成為UDP用戶數(shù)據(jù)報,然后進(jìn)行發(fā)送。需要說明的是,為了簡單起見,我們忽略運輸層下面的各層處理。

接收方的UDP收到該UDP用戶數(shù)據(jù)報后,去掉UDP首部,將應(yīng)用層報文交付給應(yīng)用進(jìn)程。也就是說,UDP對應(yīng)用進(jìn)程交下來的報文既不合并也不拆分,而是保留這些報文的邊界。換句話說,UDP是面向應(yīng)用報文的。

 

4.2、TCP

再來看使用TCP協(xié)議的情況。

發(fā)送方:

1、發(fā)送方的TCP把應(yīng)用進(jìn)程交付下來的數(shù)據(jù)塊僅僅看作是一連串的無結(jié)構(gòu)的字節(jié)流,TCP并不知道這些帶傳送的字節(jié)流的含義。

2、發(fā)送方將他們編號并存儲在自己的發(fā)送緩存中。

3、TCP根據(jù)發(fā)送策略,從發(fā)送緩存中提取一定數(shù)量的字節(jié)構(gòu)建TCP報文段并發(fā)送。

接收方:

1、接收方的TCP一方面從所接收到的TCP報文段中取出數(shù)據(jù)載荷部分,并存儲在接收緩存中,一方面將接收緩存中的一些字節(jié)交付給應(yīng)用進(jìn)程。

2、TCP不保證接收方應(yīng)用進(jìn)程所收到的數(shù)據(jù)塊與發(fā)送方應(yīng)用進(jìn)程所發(fā)出的數(shù)據(jù)塊具有對應(yīng)大小的關(guān)系(例如,發(fā)送方應(yīng)用進(jìn)程交給發(fā)送方的TCP共10個數(shù)據(jù)塊,但接收方的TCP可能只用了4個數(shù)據(jù)塊,就把收到的字節(jié)流交付給了上層的應(yīng)用進(jìn)程,但接收方收到的字節(jié)流必須和發(fā)送方應(yīng)用進(jìn)程發(fā)出的字節(jié)流完全一樣。)當(dāng)然,接收方的應(yīng)用進(jìn)程必須有能力識別收到的字節(jié)流,并把它還原成有意義的應(yīng)用層數(shù)據(jù)。

因此,TCP是面向字節(jié)流的,這正是TCP 實現(xiàn)可靠傳輸、流量控制以及控制的基礎(chǔ)。

需要說明的是,為了突出示意圖的要點,我們只畫出了一個方向的數(shù)據(jù)流。在實際網(wǎng)絡(luò)中,基于TCP連接的兩端,可以同時進(jìn)行TCP 報文段的發(fā)送和接收,也就是全雙工通信。另外,圖中的數(shù)據(jù)部分只包含了幾個字節(jié),實際當(dāng)中一個TCP報文段包含上千個字節(jié)是很常見的。

5、從向其上層提供傳輸服務(wù)來看

5.1、UDP

TCP/IP體系結(jié)構(gòu)的網(wǎng)際層向其上層提供的是無連接不可靠的傳輸服務(wù),當(dāng)運輸層使用UDP協(xié)議時,向其上層提供的也是無連接不可靠的傳輸服務(wù)。

發(fā)送方給接收方發(fā)送UDP用戶數(shù)據(jù)報,若傳輸過程中用戶數(shù)據(jù)報受到干擾而產(chǎn)生誤碼,接收方UDP可以通過該數(shù)據(jù)報首部中的校驗和字段的值檢查出產(chǎn)生物碼的情況,但僅僅丟棄該數(shù)據(jù)報其他什么也不做。

發(fā)送方給接收方發(fā)送UDP用戶數(shù)據(jù)報,如果該數(shù)據(jù)報被英特網(wǎng)中的某個路由器丟棄了,發(fā)送方UDP不做任何處理,因為UDP向上層提供的是無連接不可靠的傳輸服務(wù)。

因此,對于UDP用戶數(shù)據(jù)報出現(xiàn)的物碼和丟失等問題,UDP并不關(guān)心,基于UDP的這個特點,UDP適用于實時應(yīng)用,例如IP電話、視頻會議等。

 

5.2、TCP

再來看使用TCP協(xié)議的情況,盡管網(wǎng)際層中的IP協(xié)議向上層提供的是無連接不可靠的傳輸服務(wù),也就是說,IP數(shù)據(jù)報可能在傳輸過程中出現(xiàn)丟失,誤碼,但只要運輸層使用TCP協(xié)議,就可向其上層提供面向連接的可靠傳輸服務(wù)。

我們可將其想象成使用TCP協(xié)議的收發(fā),雙方基于TCP連接的可靠性到進(jìn)行數(shù)據(jù)傳輸,不會出現(xiàn)誤碼丟失、亂序以及重復(fù)等傳輸差錯。因此,TCP適用于要求可靠傳輸?shù)膽?yīng)用,例如文件傳輸。

 

6、從首部格式來看

6.1、UDP

一個UDP用戶數(shù)據(jù)報由首部和數(shù)據(jù)載荷兩部分構(gòu)成,其首部格式如下圖所示:

僅有4個字段,每個字段長度為2個字節(jié),由于UDP不提供可靠傳輸服務(wù),它僅僅在網(wǎng)際層的基礎(chǔ)上添加了用于區(qū)分應(yīng)用進(jìn)程的端口,因此他的首部非常簡單,僅有8個字節(jié)。

6.2、TCP

一個TCP報文段由手部和數(shù)據(jù)載荷兩部分構(gòu)成,其首部格式如下圖所示:

這比UDP用戶數(shù)據(jù)報的首部復(fù)雜的多,其最小長度為20字節(jié),最大長度為60字節(jié),這是因為TCP要實現(xiàn)可靠傳輸、流量控制控制等服務(wù),其首部自然會比較復(fù)雜,首部中的字段比較多,首部長度也比較長。

7、總結(jié)

UDP和TCP對比表格:

類型 是否面向連接 傳輸可靠性 傳輸形式 傳輸效率 所需資源 應(yīng)用場景 首部字節(jié)
TCP 可靠 字節(jié)流 文件傳輸、郵件傳輸 20~60個字節(jié)
UDP 不可靠 數(shù)據(jù)報文段 即時通訊、域名轉(zhuǎn)換 8個字節(jié)

UDP和TCP對比圖:

在這里插入圖片描述

以上就是圖文分析詳解TCP與UDP兩者區(qū)別的詳細(xì)內(nèi)容,更多關(guān)于TCP與UDP區(qū)別分析的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評論