UDP與TCP的比較

2021-06-26 09:51:17 字數 1319 閱讀 2659

趁週末有時間,看了會兒書,看到網路傳輸協議這塊,對udp與tcp這兩種資料傳輸協議有了一定的認識,因此記錄下來,下次有些遺忘的時候可以翻出來看看。

udp是tcp的替代品,有時將它和ip一起稱為udp/ip。和tcp一樣,udp也使用ip在計算機之間進行真正的資料報傳輸。然而,udp不提供將資訊分組,並在接收終端將其重組的功能。

udp與tcp之間最根本的區別在於它們實現資料傳輸的方式不同。tcp支援***的傳輸,因為收到乙個報文後,接收終端會自動做出確認。另外,如果接收終端沒有在規定的時間內做出回應,那麼傳送端將一直等待並重傳資料。tcp所具備的這種可靠性在執行過程中可能開銷太大。而udp卻並不實現***的報文傳輸,在傳輸過程中udp資料報可能丟失,並且協議不能檢測或報告這個錯誤。然後udp並不妨礙可靠的資料傳輸,只不過把這個任務交給tcp/ip參考模型中的更高層來完成而已。

在分組開銷這個關鍵的方面,udp比tcp有優勢。由於tcp是乙個可靠的協議,它必須確保資料玩好無損地到達目的地,這樣就在網路中交換了相對較多的分組。而udp沒有個開銷,所以速度比tcp快的多。udp在傳輸之前不需要建立連線的這一特性,進一步減少了報文傳輸有關的開銷。

tcp在開始資料傳輸之前,需要完成三次握手過程。而udp在開始傳輸資料前不需要任何正式的準備。tcp將與連線有關的計算機保持為連線狀態。這個連線狀態包括了滑動視窗金額接收端計算機的緩衝區大小、擁塞控制引數、序號和確認號等引數。而udp不需要維持這樣的連線狀態,也不需要跟蹤任何引數。某個特定應用專用的伺服器所支援的許多客戶端,使用udp時要比使用tcp時活躍的多。例如,使用udp的snmp管理系統可以支援多個snmp**。

tcp段中報頭的大小是20個位元組,而udp則只有8個位元組。tcp有乙個擁塞控制機制,用來在傳送和接收端之間的乙個或者多個鏈路出現過度擁塞時,減少來自傳送端的資料傳輸量。這個過程對實時應用來說可能有著不利的影響,因為它們可以容忍分組丟失,但卻需要乙個下限傳送速率。另一方面,udp傳送資料的速度受應用生成資料的速率、出路能力、源計算機時鐘速率和連線頻寬等因素的限制,而且接受主機不一定能夠收到所有的資料。當網路發生擁塞時,使用udp傳輸的資料可能由於路由器的緩衝區塞滿大量資料報而出現部分丟失的情況。對於udp來說,即使傳送速率沒受限制,接收速率也會收到網路擁塞的限制。

和tcp不同,udp不能確保資料報以正確的順序到達目的地。例如,如果客戶端以d1、d23、d3和d4的順序向伺服器傳送四個資料報,udp可能按照d3、d1、d4和d2的順序向伺服器傳送這些資料。

使用udp的應用必須確保整個報文以正確的順序到達,因為udp不會對到達的資料分組進行排序,不過,udp資料抵達目的地時不總是亂七八糟的,僅僅在網路通訊擁擠或者出現抖動(jitter)時才會發生亂序的情況。所謂抖動是指在源和目標計算機之間存在多條路徑且每條路徑都有不同的延遲值。

TCP與UDP的比較

1 協議段格式不同 1 udp的報頭有8位元組,tcp的報頭有20個位元組,udp比tcp更為簡單 2 udp有16位udp長度能確認報文長度,而tcp只有4位首部長度,無法確認報文長度,容易發生粘包問題 3 udp的報頭有源埠號 目的埠號 16位udp長度 16位校驗和 而tcp的報頭不僅有源埠號...

TCP與UDP協議的比較

1 udp的特點 udp提供不可靠的交付,但也有優點 1 傳送資料前不需要建立連線,減少開銷與傳送資料的延遲。2 udp不使用擁塞控制,不保證交付,減少了複雜的連線狀態表,網路的擁塞不會使源主機的傳送速率降低。3 資料報首部位元組比tcp少,節約開銷。所以udp適用於實時應用,網路擁塞時允許丟失一點...

TCP和UDP的比較

1,tcp是面向連線 connection oriented 的協議,udp是無連線 connection less 協議 2,tcp無界,udp有界 3,tcp可靠,udp不可靠 4,tcp有序,udp無序 5,tcp有流量控制 擁塞控制 udp沒有 6,tcp的頭部比udp大 1,tcp是面向連...