當前位置:趣味科普網>經驗>

udp和tcp的區別

經驗 閱讀(1.3W)

udp和tcp的區別

Udp接收到應用協議的某個訊息(已編碼為二進位制)後,不會分包,但是要記錄當前資料包的大小(訊息大小加上8個位元組頭部),然後交給IP層。而TCP接收到應用層協議的訊息(已編碼為二進位制)後,然後參考該計算機連線的網路資料鏈路層MTU(最大傳輸單元)確定是否要分包,然後交給IP層。

UDP是非面向連線的,即傳送資料之前不需要建立連線,而TCP則是面向連線的,也就是說,通過TCP連線傳送的資料,無差錯,不丟失,不重複,且按序到達。也就是說UDP管發不管到,而TCP管發管到。因此,在安全性方面來說,TCP更具有優越性。

Udp適用場合:如果需要做實時性很高且訊息小(比如小於乙太網的MTU1500Byte)的通訊程式,UDP就很適合。關鍵訊息重複發,不用等確認都可以,當然最終還是需要確認。如果是內網環境,網路非常穩定,UDP幾乎不會出問題,如果極度要求效能,可以考慮。如果你公網網路資源有限,而使用者之間需要傳遞大量資料,可以考慮用UDP做NAT穿透。