TCP和UDP的區別有哪些
傳輸層協議主要有TCP與UDP。
UDP:提供無連接的通信,不能保證數據包被髮送到目的地址,典型的即時傳輸少量數據的應用程序使用UDP
TCP:面向連接的。可靠地。基於字節流的通信協議,它爲傳輸大量數據或爲需要接受數據許可的應用程序提供定向可靠地通信,
TCP連接就像打電話,用戶撥特定的號碼,對方在線並拿起電話,然後雙方進行通話,通話完畢之後再掛斷。
而UDP就像是發短信,用戶短信發送給對方,對方有沒有收到信息,發送者根本不知道,而且對方是否回答也不知道,對方對信息發送者發送消息也是一樣。
TCP與UDP都是一種常用的通信方式,在特定的條件下發揮不同的作用。具體而言,TCP和UDP的區別主要表現在以下幾個方面:
(1)TCP是面向連結的傳輸控制協議,UDP提供的是無連接的數據包服務。
(2)TCP具有高可靠性,確保傳輸數據的正確性,不出現丟失或亂序;
(3)UDP在傳輸數據前不建立連結,不對數據報進行檢查和修改,無需等待對方的應答,所以會出現分組丟失,重複,亂序,應用程序需要負責傳輸可靠性方面的所有工作。
(4)TCP對系統資源要求多,UDP對系統資源要求少。
(5)UDP具有較好的實時性,工作效率較TCP高
(6)UDP的段結構比TCP簡單,因此網絡開銷小
引申:UDP比TCP效率高,爲什麼TCP能夠保留呢?
其實TCP和UDP各有所長,各有所短,適用於不同的通信環境,有的環境用UDP確實高效,有些環境需要可靠的連接,此時採用TCP則更好。在提及TCP的時候,一般也提及IP。
IP協議是一種網絡層協議,它規定每個互聯網上的計算機都有一個唯一的IP地址,這樣數據包就可以通過路由器轉發到達指定的計算機,但IP並不保證數據傳輸的可靠性。