傳輸層中的 TCP 和 UDP


第 3 層或網路層使用 IP(網際網路協議),這是一種無連線協議,獨立處理每個資料包,導致傳輸可靠性不足。當資料從一個主機傳輸到另一個主機時,即使屬於同一會話,每個資料包也可能走不同的路徑。這意味著資料包可能不會按正確的順序到達。因此,IP 的可靠性依賴於更高級別的協議。

傳輸控制協議 (TCP)

TCP 是一種允許資料從一臺計算機發送到另一臺計算機的協議。TCP 是一種第 4 層協議,提供資料包確認,並且由於它會重新發送丟失的資料包,因此也是可靠的。它優於 UDP。但是,由於這些特性,它也存在一個缺點。

使用者資料報協議 (UDP)

使用者資料報協議也是一種第 4 層協議,但與傳輸控制協議不同,它不會確認已傳送的資料包。因此,它不可靠,並且依賴於更高級別的協議來發揮作用。但是,與 TCP 相比,它更簡單、更具可擴充套件性,並且開銷更低。它用於流式傳輸影片和音訊。

TCP 與 UDP

以下是區分 TCP 和 UDP 的主要因素:

會話多路複用

單個主機可以使用單個 IP 地址與多個伺服器互動。當使用 TCP 時,伺服器和接收方必須首先建立連線,然後在傳輸完成後必須終止連線。TCP 還在傳輸過程中確保傳輸的可靠性。

另一方面,UDP 不會確認資料包已接收。因此,它不可靠。

分段

快速乙太網的最大傳輸單元 (MTU) 為 1500 位元組,而 TCP 的理論限制為 65495 位元組。由於 UDP 不允許這樣做,因此資料分段必須依賴於更高級別的協議。

流量控制

如果傳送方比接收方處理資料的速度更快,則接收方將丟棄資料並請求重放,從而浪費時間和資源。TCP 透過使用滑動視窗提供端到端流量控制。滑動視窗從接收方端傳送確認,指示任何給定時間可以接收多少資料。

UDP 不支援流量控制,必須依賴於更高級別的協議來實現。

面向連線

TCP 是面向連線的,這意味著它為傳輸建立連線,然後在傳輸完成後關閉該連線。另一方面,UDP 是無連線的,就像 IP(網際網路協議)一樣。

TCP 在收到資料包時提供確認,從而確保其可靠性。如果資料包丟失,它會請求重新傳輸。為此,UDP 依賴於更高級別的協議。

更新於:2021-10-28

2K+ 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

立即開始
廣告