1. 程式人生 > >TCP、UDP 協議的區別

TCP、UDP 協議的區別

在這裡插入圖片描述

UDP 在傳送資料之前不需要先建立連線,遠地主機在收到 UDP 報文後,不需要給出任何確認。雖然 UDP 不提供可靠交付,但在某些情況下 UDP 確是一種最有效的工作方式(一般用於即時通訊),比如: QQ 語音、 QQ 視訊 、直播等等 TCP 提供面向連線的服務。在傳送資料之前必須先建立連線,資料傳送結束後要釋放連線。 TCP 不提供廣播或多播服務。由於 TCP 要提供可靠的,面向連線的運輸服務(TCP的可靠體現在TCP在傳遞資料之前,會有三次握手來建立連線,而且在資料傳遞時,有確認、視窗、重傳、擁塞控制機制,在資料傳完後,還會斷開連線用來節約系統資源),這一難以避免增加了許多開銷,如確認,流量控制,計時器以及連線管理等。這不僅使協議資料單元的首部增大很多,還要佔用許多處理機資源。TCP 一般用於檔案傳輸、傳送和接收郵件、遠端登入等場景。

這就解決了我多年來一個疑問: 還是一個初中生什麼都不懂的時候,有一天我的電腦不能上網,打不開網頁,其他跟網路有關的應用全部404,唯獨QQ還能上,正常登陸聊天。那時就大惑不解,後來不知怎麼重灌系統,還原系統就突然好了。直到今天學到一點網路協議才明白: 當時我的電腦應該是TCP協議出錯,所以才上不到網路,但是QQ是基於UDP協議的,所以能正常通訊,