TCP協(xié)議是什么,TCP協(xié)議適用場景
TCP中文名:傳輸控制協(xié)議(Transmission Control Protocol),是一種面向連接的、可靠的、基于字節(jié)流的傳輸層通訊協(xié)議,由IETF的RFC 793定義。應(yīng)用程序在使用TCP之前必須先建立TCP連接。TCP通過校驗、序列號、確認(rèn)應(yīng)答、重發(fā)控制、連接管理以及窗口控制等機(jī)制實現(xiàn)可靠性傳輸。
TCP協(xié)議的特點:
1.TCP協(xié)議是一種面向連接的,可靠的字節(jié)流服務(wù)。在進(jìn)行數(shù)據(jù)傳輸之前必須建立連接,就比如打電話,只有在對方接通后才能開始對話。建立連接的方法是“三次握手”。
2.可靠性高。在TCP的傳輸中,當(dāng)數(shù)據(jù)到達(dá)接受主機(jī)時,接受段主機(jī)返回一個已收到的通知,這就叫確認(rèn)應(yīng)答。但若在一定時間內(nèi)沒有收到確認(rèn)應(yīng)答,發(fā)送段會認(rèn)為數(shù)據(jù)丟失,重新發(fā)送數(shù)據(jù)。
3.流量控制。數(shù)據(jù)通信雙方的發(fā)送能力和接受能力不一定完全匹配,如果發(fā)送方發(fā)送速率過快,會導(dǎo)致接收方處理不過來,這時候接收方只能吧處理不過來的數(shù)據(jù)存在緩存區(qū)里。TCP使用滑動窗口機(jī)制來實現(xiàn)流量控制,通過動態(tài)改變窗口大小控制擁堵。
4.TCP是只支持一對一,僅有兩方之間通信,不像UDP那樣支持一對多或多對多,所以TCP提供不了廣播和多播的功能。
5.面向字節(jié)流。TCP不像UDP那樣一個個報文獨立的傳輸,而是在不保留報文邊界的情況下以字節(jié)流方式進(jìn)行傳輸。
6.首部最小20字節(jié),最大60字節(jié)。
TCP協(xié)議適用于要求可靠傳輸?shù)膽?yīng)用,例如文件傳輸,網(wǎng)絡(luò)數(shù)據(jù)庫,分布式高精度計算系統(tǒng)的數(shù)據(jù)傳輸。