連接
- TCP面向連接,且連接時(shí)全雙工通信;傳輸數(shù)據(jù)前需要通過(guò)三次握手建立連接,數(shù)據(jù)傳輸完需要關(guān)閉連接時(shí)通過(guò)四次揮手?jǐn)嚅_連接;每條連接僅支持一對(duì)一。
- UTP無(wú)連接,傳輸數(shù)據(jù)時(shí)無(wú)需建立連接;支持一對(duì)一、一對(duì)多、多對(duì)一、多對(duì)多通信。
可靠性
- TCP保證可靠傳輸,即數(shù)據(jù)無(wú)差錯(cuò)、不丟失、不重復(fù)、且有序;通過(guò)校驗(yàn)和、包有序、ACK、超時(shí)重試、滑動(dòng)窗口以及擁塞控制,來(lái)確保可靠以及傳輸效率。
- UDP盡最大努力交付,不確保傳輸可靠。
傳輸速度
- TCP由于有各種機(jī)制,來(lái)確保數(shù)據(jù)傳輸?shù)目煽啃裕詡鬏斔俣壬舷鄬?duì)低。
- UDP沒有其他機(jī)制,所以傳輸速度上相對(duì)高。
資源占用
- TCP有連接,所以需要占用的資源相對(duì)多;每個(gè)連接大約占3K左右的內(nèi)存,如果作為客戶端還需要占用一個(gè)端口。
- UDP無(wú)連接,所以需要占用的資源相對(duì)少。
數(shù)據(jù)
- TCP報(bào)文段的首部占用20字節(jié)。
- UDP報(bào)文段的首部占用8字節(jié)。