TCP的主要特點(diǎn)
(1)基于流的方式
(2)面向連接
(3)可靠的通信方式
(4)在網(wǎng)絡(luò)狀況不佳的時(shí)候盡量降低系統(tǒng)由于重傳帶來的帶寬開銷;
(5)通信連接維護(hù)是面向通信的兩個(gè)端點(diǎn)的,而不考慮中間網(wǎng)段和節(jié)點(diǎn)
為了滿足TCP協(xié)議的這些特點(diǎn),TCP協(xié)議還做了以下的規(guī)定:
①數(shù)據(jù)分片:在發(fā)送端對(duì)用戶數(shù)據(jù)進(jìn)行分片,在接收端進(jìn)行重組,由TCP確定分片的大小并控制分片和重組;
②到達(dá)確認(rèn):接收端接收到分片數(shù)據(jù)時(shí),根據(jù)分片數(shù)據(jù)序號(hào)向發(fā)送端發(fā)送一個(gè)確認(rèn);
③超時(shí)重發(fā):發(fā)送方在發(fā)送分片時(shí)啟動(dòng)超時(shí)定時(shí)器,如果在定時(shí)器超時(shí)之后沒有收到相應(yīng)的確認(rèn),重發(fā)分片;
④滑動(dòng)窗口:TCP連接每一方的接收緩沖空間大小都固定,接收端只允許另一端發(fā)送接收端緩沖區(qū)所能接納的數(shù)據(jù),TCP在滑動(dòng)窗口的基礎(chǔ)上提供流量控制,防止較快主機(jī)致使較慢主機(jī)的緩沖區(qū)溢出;
⑤失序處理:作為IP數(shù)據(jù)報(bào)來傳輸?shù)腡CP分片到達(dá)時(shí)可能會(huì)失序,TCP將對(duì)收到的數(shù)據(jù)進(jìn)行重新排序,將收到的數(shù)據(jù)以正確的順序交給應(yīng)用層;
⑥重復(fù)處理:作為IP數(shù)據(jù)報(bào)來傳輸?shù)腡CP分片會(huì)發(fā)生重復(fù),TCP的接收端必須丟棄重復(fù)的數(shù)據(jù);
⑦數(shù)據(jù)校驗(yàn):TCP將保持它首部和數(shù)據(jù)的檢驗(yàn)和,這是一個(gè)端到端的檢驗(yàn)和,目的是檢測(cè)數(shù)據(jù)在傳輸過程中的任何變化。如果收到分片的檢驗(yàn)和有差錯(cuò),TCP將丟棄這個(gè)分片,并不確認(rèn)收到此報(bào)文段導(dǎo)致對(duì)端超時(shí)并重發(fā)。