轉載:TCP和UDP的區別詳解

一、連接性
TCP是面向連接(例如我們打電話之前需要通過撥號建立連接)的,UDP是不需要建立連接的

TCP是通過三次握手建立連接
UDP發送數據前是不需要建立連接的

二、可靠性
TCP可靠,UDP不可靠

TCP丟包會自動重傳,UDP不會
TCP提供可靠的服務,也就是說,通過TCP連接傳送的數據,無差錯,不丟失,不重複,而且是按序到達,UDP盡最大努力交付,即不保證可靠交付

三、有序性
TCO有序,UDP無序

消息在傳輸過程中可能會亂序,後發送的消息可能會先到達,TCP會對其進行排序,而UDP不會

四、有界性
TCP無界,UDP有界(換句話說就是TCP是面向字節流的,UDP是面向數據報的)

TCP通過字節流傳輸,UDP中每一個包都是獨立的,所以UDP不能夠靈活的控制讀寫數據的次數和數量

字節流和數據報的區別:

例如現在要發送100k的數據,字節流就是可以分10次發送,每次發送10k,接收時也可以分爲10次接收,每次接收10k,而數據報則是必須一次性發送100k,接收時也必須一次就接收完,數據在傳輸的時候,是不能拆分的

五、擁塞控制
TCP有擁塞控制,UDP沒有

UDP沒有擁塞控制,因此網絡出現擁塞不會使源主機的發送速率降低(對實時應用很有用,如ID電話,實時視頻會議)

六、傳輸速度
TCP傳輸速度慢,UDP傳輸快

因爲TCP傳輸數據前需要建立連接,還要保證可靠性和有序性,所以比較耗時,UDO傳輸速度快,所以UDP一般用於視頻流、廣播電視、在線多媒體遊戲等方面

七、量級
TCP是重量級的,UDP是輕量級的

TCP需要建立連接,保證可靠性和有序性,那麼就會傳輸更多的信息,如TCP的頭部就較大

八、頭部大小
TCP的頭部需要20字節,而UDP只需要8個字節
九、傳輸方式
每一條TCP連接只能是點到點的,UDP支持一對一,一對多,多對一和多對多的交互通信

小結:

1.TCP是面向連接的、可靠的、有序的、速度慢的協議,UDP是無連接的、不可靠的、無序的、速度快的協議
2.TCP開銷比UDP大,TCP頭部需要20個字節,UDP頭部需要8個字節
3.TCP是無界擁塞控制,UDP是有界無擁塞控制

基於TCP的協議有:HTTP、HTTPS、Telnet、FTP、SMTP
基於UDP的協議有:DHCP、DNS、SNMP、TFTP、BOOTP
 

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