TCP -- 傳輸控制協議,提供的是面向連接,可靠的字節流服務。即客戶和服務器交換數據前,必須現在雙方之間建立一個TCP連接,之后才能傳輸數據。並且提供超時重發,丟棄重復數據,檢驗數據,流量控制等功能,保證數據能從一端傳到另一端。
UDP -- 用戶數據報協議,是一個簡單的面向數據報的運輸層協議。它不提供可靠性,只是把應用程序傳給IP層的數據報發送出去,但是不能保證它們能到達目的地。由於UDP在傳輸數據報前不用再客戶和服務器之間建立一個連接,且沒有超時重發等機制,所以傳輸速度很快。
TCP (Transmission Control Protocol, 傳輸控制協議)基於連接的協議,所以在正式收發數據前,必須和對方建立可靠的連接。一個TCP連接必須要經過三次“對話”或者“握手”,才能建立起來。三次“對話”過程如下:
1.主機A向主機B發出連接請求數據包;
2.主機B向主機A發送同意連接和要求同步的數據包;(同步就是兩台主機一個在發送,一個在接收,協調工作)
3.主機A再發出一個數據包確認主機B的要求同步。
三次“對話”的目的是使數據包的發送和接收同步,經過三次“對話”后,主機A才向主機B正式發送數據。
UDP(User Data Protocol,用戶數據報協議)是與TCP相對應的協議。是面向非連接的協議,它不與對方建立連接,而是直接把數據包發送過去。UDP適用於一次只傳送少量數據,對可靠性要求不高的應用環境。
TCP與UDP差別小結:
1.是否連接面向連接面向非連接;
2.傳輸可靠性不可靠性;
3.應用場合傳輸大量數據少量數據。