TCP和UDP是網路使用者都應該具備的知識,兩者都屬於網路中的傳輸層協定,因為IP協定只確保封包交換設備之間的傳輸,並沒有確保數據的傳輸,所以傳輸層提供資料傳出更高階的控制,將會議層的資料拆封包之後,給每一個封包追蹤號碼,保證所有的資都是以正確的順序送達。
TCP傳輸資料前,會先將資料分割成較小封包,再將這些封包加上編號,然後送出。在接收端收到資料後,TCP會開始檢查資料是否已經全部收到?或是有錯誤或漏掉的?如果都沒有問題,才會將封包依序組合起來,還原成原本的資料。
而UDP對接收到的封包不會做任何回應,因此封包可能會在傳輸過程中遺失、重複、或不依照順序送收,抵達速度也可能比接收端的處理速度快。對於某些訊息量較大的傳輸,像是語音或影像,可容忍一些遺失的封包而感覺不出來。
總結:
TCP和UDP主要的差別在於是否提供可靠性傳輸,TCP 有錯誤檢查和壅塞控制,具有高度的可靠性;相較之下,UDP 著重效率,不在乎封包遺失,能在網路條件不好的情況下,不斷發送資料, 適用於即時性的服務,例如網路電話。而 TCP 適用於要求可靠傳輸的服務,例如 FTP 檔案傳輸。因此,這些應用會根據自身的資料特性來決定要使用TCP協定,或是UDP協定。
參考資料:
博碩文化《網路概論與實務應用》
https://nordvpn.com/zh-tw/blog/tcp-udp-bijiao/
https://www.wpgdadatong.com/tw/blog/detail/41703