TCP最主要的特點(diǎn)
TCP是面向連接的運(yùn)輸層協(xié)議,在無(wú)連接的、不可靠的IP網(wǎng)絡(luò)服務(wù)基礎(chǔ)之上提供可靠交付的服務(wù)。為此,在IP的數(shù)據(jù)報(bào)服務(wù)基礎(chǔ)之上,增加了保證可靠性的一系列措施。
TCP最主要的特點(diǎn):
- TCP是面向連接的輸出層協(xié)議
? ? ? ? ? ? 每一條TCP連接只能有兩個(gè)端點(diǎn),每條TCP連接只能是點(diǎn)對(duì)點(diǎn)的(一對(duì)一)
2.TCP提供可靠交付的服務(wù)
3.TCP提供全雙工通信(TCP協(xié)議會(huì)維護(hù)兩個(gè)緩沖區(qū),分別是接收緩沖區(qū)和發(fā)送緩沖區(qū))
4.面向字節(jié)流
- TCP中的“流”指的是流入或流出進(jìn)程的字節(jié)序列。
- 面向字節(jié)流:雖然應(yīng)用程序和TCP的交互是一次一個(gè)數(shù)據(jù)塊,但TCP把應(yīng)用程序交下來(lái)的數(shù)據(jù)看成僅僅是一連串無(wú)結(jié)構(gòu)的字節(jié)流。
?TCP如何實(shí)現(xiàn)可靠傳輸
- TCP每次發(fā)送完一個(gè)分組就停止發(fā)送,等待對(duì)方的確認(rèn)。在收到確認(rèn)后再發(fā)送下一個(gè)分組。
- 全雙工通信的雙方既是發(fā)送方也是接收方。
- 假設(shè)僅考慮A發(fā)送數(shù)據(jù),而B接收數(shù)據(jù)并發(fā)送確認(rèn)。因此A叫做發(fā)送方,而B叫做接收方。
發(fā)送端如何知道接收端是否正確收到了M1呢?
解決方法:超時(shí)重傳
發(fā)送端為每一個(gè)已發(fā)送的分組設(shè)置一個(gè)超時(shí)計(jì)時(shí)器。
發(fā)送端只要在超時(shí)計(jì)時(shí)器到期之前收到了相應(yīng)的確認(rèn),就撤銷該超市計(jì)時(shí)器,繼續(xù)發(fā)送下一個(gè)分組M2
若發(fā)送端在超時(shí)計(jì)時(shí)器規(guī)定時(shí)間內(nèi)沒有收到B的確認(rèn),就認(rèn)為分組錯(cuò)誤或丟失,就重發(fā)該分組。?
?
?
?
提高傳輸效率:流水線傳輸
?
流水線傳輸:在收到確認(rèn)之前,發(fā)送方連續(xù)發(fā)出多個(gè)分組。
? ? ? ? ? ? ? ? ? ? ? ? 由于在信道上一直有數(shù)據(jù)不間斷地傳送,流水線傳輸可獲得很高的信道利用率
連續(xù)ARQ協(xié)議和滑動(dòng)窗口協(xié)議采用流水線傳輸方式。
連續(xù)ARQ協(xié)議
發(fā)送窗口:發(fā)送方維持一個(gè)發(fā)送窗口,位于發(fā)送端扣內(nèi)的分組都可被連續(xù)發(fā)送出去,而不需要等待對(duì)方的確認(rèn)。
發(fā)送窗口滑動(dòng):發(fā)送方每收到一個(gè)確認(rèn),就把發(fā)送窗口向前滑動(dòng)一個(gè)分組的位置。
累計(jì)確認(rèn):接收方對(duì)按序到達(dá)的最后一個(gè)分組發(fā)送確認(rèn),表示:到這個(gè)分組位置的所有分組都已正確收到了?
TCP包
?文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-613702.html
?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-613702.html
到了這里,關(guān)于TCP協(xié)議如何實(shí)現(xiàn)可靠傳輸?shù)奈恼戮徒榻B完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!