TCP和UDP的主要區別有哪些?

UDP協議和TCP協議都是傳輸層協議。

TCP(傳輸控制協議)提供的是面向連接,可靠的字節流服務。客戶和服務器交換數據前,必須現在雙方之間建立一個TCP連接,之後才能傳輸數據。並且提供超時重發,丟棄重複數據,檢驗數據,流量控制等功能,保證數據能從一端傳到另一端。

UDP(用戶數據報協議)是一個簡單的面向數據報的運輸層協議。它不提供可靠性,只是把應用程序傳給IP層的數據報發送出去,但是不能保證它們能到達目的地。由於UDP在傳輸數據報前不用再客戶和服務器之間建立一個連接,且沒有超時重發等機制,所以傳輸速度很快。

主要區別如下

1、TCP面向連接(如打電話要先撥號建立連接);UDP是無連接的,即發送數據之前不需要建立連接
2、TCP提供可靠的服務。也就是說,通過TCP連接傳送的數據,無差錯,不丟失,不重複,且按序到達;UDP盡最大努力交付,即不保   證可靠交付
3、TCP面向字節流,實際上是TCP把數據看成一連串無結構的字節流;UDP是面向報文的
  UDP沒有擁塞控制,因此網絡出現擁塞不會使源主機的發送速率降低(對實時應用很有用,如IP電話,實時視頻會議等)
4、每一條TCP連接只能是點到點的;UDP支持一對一,一對多,多對一和多對多的交互通信
5、TCP首部開銷20字節;UDP的首部開銷小,只有8個字節
6、TCP的邏輯通信信道是全雙工的可靠信道,UDP則是不可靠信道

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章