中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

計算機網絡TCP與UDP兩者區別及原理是什么

發布時間:2021-11-04 13:34:39 來源:億速云 閱讀:186 作者:柒染 欄目:開發技術

這篇文章將為大家詳細講解有關計算機網絡TCP與UDP兩者區別及原理是什么,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

    1、概念

    UDP和TCP 在使用TCP/IP 體系結構的網絡通信中,這兩個協議的使用頻率僅次于網際層的IP協議。TCP/IP 體系結構應用層中的某些協議需要使用運輸層的TCP 提供的服務,而另一些協議需要使用運輸層的UDP 提供的服務,UDP 是用戶數據報協議的英文縮寫詞,TCP 是傳輸控制協議的英文縮寫詞。

    計算機網絡TCP與UDP兩者區別及原理是什么 

    2、從是否面向連接來看

    如下圖所示,兩個小電腦圖標代表英特網上的兩臺主機,縱坐標為時間。

    計算機網絡TCP與UDP兩者區別及原理是什么 

    2.1、UDP

    兩臺主機如果在運輸層使用UDP協議進行通信,雙方可以隨時發送數據,因此UDP是無連接的。

    2.2、TCP

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

    3、從連接對象個數來看

    3.1、UDP

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

    一臺主機向其他三臺主機發送廣播:

    計算機網絡TCP與UDP兩者區別及原理是什么

    向某個多播組發送多播:

    計算機網絡TCP與UDP兩者區別及原理是什么

    向某臺主機發送單播:

    計算機網絡TCP與UDP兩者區別及原理是什么

    3.2、TCP

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

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

    計算機網絡TCP與UDP兩者區別及原理是什么

    基于TCP連接的可靠信道:

    計算機網絡TCP與UDP兩者區別及原理是什么

    4、從對應用報文的處理來看

    4.1、UDP

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

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

    計算機網絡TCP與UDP兩者區別及原理是什么 

    4.2、TCP

    再來看使用TCP協議的情況。

    發送方:

    1、發送方的TCP把應用進程交付下來的數據塊僅僅看作是一連串的無結構的字節流,TCP并不知道這些帶傳送的字節流的含義。

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

    3、TCP根據發送策略,從發送緩存中提取一定數量的字節構建TCP報文段并發送。

    接收方:

    1、接收方的TCP一方面從所接收到的TCP報文段中取出數據載荷部分,并存儲在接收緩存中,一方面將接收緩存中的一些字節交付給應用進程。

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

    因此,TCP是面向字節流的,這正是TCP 實現可靠傳輸、流量控制以及控制的基礎。

    計算機網絡TCP與UDP兩者區別及原理是什么

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

    5、從向其上層提供傳輸服務來看

    5.1、UDP

    TCP/IP體系結構的網際層向其上層提供的是無連接不可靠的傳輸服務,當運輸層使用UDP協議時,向其上層提供的也是無連接不可靠的傳輸服務。

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

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

    因此,對于UDP用戶數據報出現的物碼和丟失等問題,UDP并不關心,基于UDP的這個特點,UDP適用于實時應用,例如IP電話、視頻會議等。

    計算機網絡TCP與UDP兩者區別及原理是什么 

    5.2、TCP

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

    我們可將其想象成使用TCP協議的收發,雙方基于TCP連接的可靠性到進行數據傳輸,不會出現誤碼丟失、亂序以及重復等傳輸差錯。因此,TCP適用于要求可靠傳輸的應用,例如文件傳輸。

    計算機網絡TCP與UDP兩者區別及原理是什么 

    6、從首部格式來看

    6.1、UDP

    一個UDP用戶數據報由首部和數據載荷兩部分構成,其首部格式如下圖所示:

    計算機網絡TCP與UDP兩者區別及原理是什么

    僅有4個字段,每個字段長度為2個字節,由于UDP不提供可靠傳輸服務,它僅僅在網際層的基礎上添加了用于區分應用進程的端口,因此他的首部非常簡單,僅有8個字節。

    6.2、TCP

    一個TCP報文段由手部和數據載荷兩部分構成,其首部格式如下圖所示:

    計算機網絡TCP與UDP兩者區別及原理是什么

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

    7、總結

    UDP和TCP對比表格:

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

    UDP和TCP對比圖:

    計算機網絡TCP與UDP兩者區別及原理是什么

    關于計算機網絡TCP與UDP兩者區別及原理是什么就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

    向AI問一下細節
    推薦閱讀:
    1. TCP與UDP協議
    2. TCP與UDP

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    商都县| 潞西市| 阳谷县| 龙里县| 惠水县| 宁津县| 盱眙县| 塔河县| 石景山区| 独山县| 新余市| 竹北市| 晋宁县| 上饶市| 客服| 浮梁县| 云浮市| 林周县| 平乡县| 星子县| 越西县| 微博| 邢台市| 浙江省| 龙山县| 防城港市| 西宁市| 邛崃市| 五指山市| 彰化县| 清水县| 察隅县| 咸丰县| 双流县| 福安市| 桐乡市| 大洼县| 都兰县| 崇明县| 邯郸县| 潼南县|