做微網(wǎng)站的第三方登錄界面百度推廣費(fèi)用可以退嗎
一、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)
1.TCP 是面向連接的運(yùn)輸層協(xié)議。
????????每一條 TCP 連接只能有兩個(gè)端點(diǎn) (endpoint),每一條 TCP 連接只能是點(diǎn)對(duì)點(diǎn)的(一對(duì)一)
2.TCP 提供可靠交付的服務(wù)。
3.TCP 提供全雙工通信。
4.面向字節(jié)流
????????TCP 中的“流”(stream) 指的是流入或流出進(jìn)程的字節(jié)序列。
????????面向字節(jié)流:雖然應(yīng)用程序和 TCP 的交互是一次一個(gè)數(shù)據(jù)塊,但 TCP 把應(yīng)用程序交下來(lái)的數(shù)據(jù)看成僅僅是一連串無(wú)結(jié)構(gòu)的字節(jié)流。
面向流的概念
?
Socket 有多種不同的意思
????????應(yīng)用編程接口? API? 稱為 socket API, 簡(jiǎn)稱為 socket。
????????socket API 中使用的一個(gè)函數(shù)名也叫作 socket。
????????調(diào)用 socket 函數(shù)的端點(diǎn)稱為 socket。
????????調(diào)用 socket 函數(shù)時(shí)其返回值稱為 socket 描述符,可簡(jiǎn)稱為 socket。
二、TCP是如何實(shí)現(xiàn)可靠傳輸?shù)?/h1>
如何實(shí)現(xiàn)可靠傳輸?
????????每發(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 叫做接收方。
A 如何知道 B 是否正確收到了 M1 呢?
解決方法:超時(shí)重傳
????????A 為每一個(gè)已發(fā)送的分組設(shè)置一個(gè)超時(shí)計(jì)時(shí)器。
????????A 只要在超時(shí)計(jì)時(shí)器到期之前收到了相應(yīng)的確認(rèn),就撤銷該超時(shí)計(jì)時(shí)器,繼續(xù)發(fā)送下一個(gè)分組 M2 。
????????若 A 在超時(shí)計(jì)時(shí)器規(guī)定時(shí)間內(nèi)沒(méi)有收到 B 的確認(rèn),就認(rèn)為分組錯(cuò)誤或丟失,就重發(fā)該分組。
?
確認(rèn)丟失?
????????若 B 所發(fā)送的對(duì) M1 的確認(rèn)丟失了,那么 A 在設(shè)定的超時(shí)重傳時(shí)間內(nèi)將不會(huì)收到確認(rèn),因此 A 在超時(shí)計(jì)時(shí)器到期后重傳 M1。
????????假定 B 正確收到了 A 重傳的分組 M1。這時(shí) B 應(yīng)采取兩個(gè)行動(dòng):
????????????????(1) 丟棄這個(gè)重復(fù)的分組 M1,不向上層交付。
????????????????(2) 向 A 發(fā)送確認(rèn)。
確認(rèn)遲到
B 對(duì)分組 M1 的確認(rèn)遲到了,因此 A 在超時(shí)計(jì)時(shí)器到期后重傳 M1。
B 會(huì)收到重復(fù)的 M1,丟棄重復(fù)的 M1,并重傳確認(rèn)分組。
A 會(huì)收到重復(fù)的確認(rèn)。對(duì)重復(fù)的確認(rèn)的處理:丟棄。
提高傳輸效率:流水線傳輸
連續(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è)分組的位置。
累積確認(rèn):接收方對(duì)按序到達(dá)的最后一個(gè)分組發(fā)送確認(rèn),表示:到這個(gè)分組為止的所有分組都已正確收到了。
?