一、TCP和UDP是什么?
TCP:
傳輸控制協(xié)議(TCP,Transmission Control Protocol)是一種面向連接的、可靠的、基于字節(jié)流的傳輸層通信協(xié)議,由IETF的RFC 793 定義。
UDP:
Internet 協(xié)議集支持一個無連接的傳輸協(xié)議,該協(xié)議稱為用戶數(shù)據報協(xié)議(UDP,User Datagram Protocol)。UDP 為應用程序提供了一種無需建立連接就可以發(fā)送封裝的 IP 數(shù)據包的方法。RFC 768 描述了 UDP。
二、TCP和UDP有什么區(qū)別?
TCP:
1. TCP面向連接,通過三次握手建立連接,四次揮手斷開連接(可靠性傳輸)
2. TCP是可靠的通信方式。通過TCP連接傳送的數(shù)據,TCP通過超時重傳、 數(shù)據校驗等方式來確保數(shù)據無差錯,不丟失,不重復,且按序到達
3. TCP面向字節(jié)流,實際上是TCP把數(shù)據看成一連串無結構的字節(jié)流,由于連接的問題,當網絡出現(xiàn)波動時,連接可能出現(xiàn)響應問題
4. 只支持點對點通信:需要雙方建立連接
5. TCP 的首部較大為 20 字節(jié)
6.TCP的邏輯通信信道是全雙工的可靠信道
UDP:
1. UDP是無連接的,即發(fā)送數(shù)據之前不需要建立連接,這種方式為UDP帶來了高效的傳輸效率,但也導致無法確保數(shù)據的發(fā)送成功
2. 而UDP由于無需連接的原因,將會以最大速度進行傳輸,但不保證可靠交付,也就是會出現(xiàn)丟失、重復等等問題
3. UDP是面向報文的,UDP沒有擁塞控制,因此網絡出現(xiàn)擁塞不會使源主機的發(fā)送速率降低
4. UDP不建立連接,所以可以支持一對一,一對多,多對一和多對多的交互通信,也就是可以同時接受多個人的包
5. UDP 只有 8 字節(jié)
6. UDP是不可靠信道
浙公網安備 33010602011771號