傳輸層中的 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 依賴於更高級別的協議。
資料結構
網路
關係型資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP