国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
《網(wǎng)絡(luò)協(xié)議》TCP 四種定時(shí)器

http://blog.csdn.net/chenhanzhun/article/details/41823931

2014

    TCP 是提供可靠的傳輸層,它使用的方法之一就是確認(rèn)從另一端收到的數(shù)據(jù)。但是數(shù)據(jù)和確認(rèn)都可能會(huì)丟失。TCP 通過在發(fā)送時(shí)設(shè)置一個(gè)定時(shí)器來解決這個(gè)問題。如果當(dāng)定時(shí)器溢出時(shí)還沒收到確認(rèn),它就會(huì)重傳該數(shù)據(jù)。關(guān)鍵在于超時(shí)和重傳策略,即怎樣決定超時(shí)的時(shí)間間隔和如何確定重傳的頻率。

        對(duì)于每個(gè)連接,TCP 管理著四個(gè)不同的定時(shí)器:重傳定時(shí)器、堅(jiān)持定時(shí)器、保活定時(shí)器 以及  2MSL 定時(shí)器。


重傳定時(shí)器

        為了防止丟失數(shù)據(jù)報(bào)文段或確認(rèn)報(bào)文段,當(dāng) TCP 發(fā)送報(bào)文段時(shí),啟動(dòng)了特定報(bào)文段的重傳計(jì)時(shí)器,若在計(jì)時(shí)器超時(shí)之前收到對(duì)報(bào)文段的確認(rèn),則撤銷計(jì)時(shí)器。若收到特定報(bào)文段的確認(rèn)之前計(jì)時(shí)器已經(jīng)超時(shí),則重傳該報(bào)文,并把計(jì)時(shí)器復(fù)位。這里最重要的是超時(shí)的時(shí)間計(jì)算,有關(guān)該時(shí)間的請(qǐng)查閱具體的算法,這里不再進(jìn)行記錄。


堅(jiān)持定時(shí)器

        堅(jiān)持定時(shí)器主要是解決零窗口大小通知可能導(dǎo)致的死鎖問題。剛開始接收端向發(fā)送端發(fā)送了一個(gè)零窗口報(bào)文段。在不久之后,如果接收端的緩存區(qū)有一定的空間可以接收數(shù)據(jù),此時(shí)接收端就會(huì)向發(fā)送端發(fā)送了一個(gè)非零窗口大小的報(bào)文段(即窗口更新),但是這個(gè)非零窗口大小的報(bào)文段在傳輸過程中丟失,導(dǎo)致發(fā)送端無法接收到該非零窗口大小的報(bào)文段。因此,發(fā)送端就會(huì)一直處于等待非零窗口大小的報(bào)文端通知,由于接收端已經(jīng)發(fā)送了非零窗口大小的報(bào)文段,而且并不知道該報(bào)文段在傳輸過程中丟失,則接收端會(huì)一直處于等待接收數(shù)據(jù)狀態(tài),如果沒有任何措施的話,這個(gè)死鎖的局面會(huì)一直延續(xù)下去。

        為了解決上面這個(gè)問題,TCP 為每一個(gè)連接設(shè)有一個(gè)堅(jiān)持定時(shí)器(也叫持續(xù)計(jì)數(shù)器)。當(dāng)發(fā)送端收到零窗口的確認(rèn)時(shí),就啟動(dòng)堅(jiān)持計(jì)時(shí)器,當(dāng)堅(jiān)持計(jì)時(shí)器截止期到時(shí),發(fā)送端就發(fā)送一個(gè)特殊的報(bào)文段,叫探測(cè)報(bào)文段,這個(gè)報(bào)文段只有一個(gè)字節(jié)的數(shù)據(jù)。探測(cè)報(bào)文段有序號(hào),但序號(hào)永遠(yuǎn)不需要確認(rèn),甚至在計(jì)算對(duì)其他部分?jǐn)?shù)據(jù)的確認(rèn)時(shí)這個(gè)序號(hào)也被忽略。探測(cè)報(bào)文段提醒接收端,確認(rèn)已丟失,必須重傳。

        堅(jiān)持計(jì)時(shí)器的截止期設(shè)置為重傳時(shí)間的值,但若沒有收到來自接收端的響應(yīng),則發(fā)送另一個(gè)探測(cè)報(bào)文段,并將堅(jiān)持計(jì)時(shí)器的值加倍和并復(fù)位,發(fā)送端繼續(xù)發(fā)送探測(cè)報(bào)文段,將堅(jiān)持計(jì)時(shí)器的值加倍和復(fù)位,直到這個(gè)值增大到閾值為止(通常為 60 秒)。在此之后,發(fā)送端每隔 60s 就發(fā)送一個(gè)報(bào)文段,直到窗口重新打開為止。

        堅(jiān)持定時(shí)器的原理:當(dāng) TCP 服務(wù)器收到了客戶端的 0 滑動(dòng)窗口報(bào)文時(shí),啟動(dòng)一個(gè)定時(shí)器來計(jì)時(shí),并在定時(shí)器溢出的時(shí)向客戶端查詢窗口是否已經(jīng)增大,如果得到非零的窗口就重新開始發(fā)送數(shù)據(jù),如果得到零窗口就再開一個(gè)新的定時(shí)器準(zhǔn)備下一次查詢。


?;疃〞r(shí)器

        保活定時(shí)器是為了應(yīng)對(duì) TCP 連接雙方出現(xiàn)長時(shí)間的沒有數(shù)據(jù)傳輸?shù)那闆r。如果客戶端與服務(wù)器建立了 TCP 連接之后,客戶端由于某種原因?qū)е轮鳈C(jī)故障,則服務(wù)器就不能收到來自客戶端的數(shù)據(jù),而服務(wù)器不可能一直處于等待狀態(tài),?;疃〞r(shí)器就是用來解決這個(gè)問題的。服務(wù)器每收到一次客戶端的數(shù)據(jù),就重新設(shè)置?;疃〞r(shí)器,通常為 2 小時(shí),如果 2 小時(shí)沒有收到客戶端的數(shù)據(jù),服務(wù)端就發(fā)送一個(gè)探測(cè)報(bào)文,以后每隔75秒發(fā)送一次,如果連續(xù)發(fā)送10次探測(cè)報(bào)文段后仍沒有收到客戶端的響應(yīng),服務(wù)器就認(rèn)為客戶端出現(xiàn)了故障,就可以終止這個(gè)連接。


2MSL 定時(shí)器

        2MSL 定時(shí)器主要是解決以下兩種情況:

  1. TIME_WAIT 確保有足夠的時(shí)間讓對(duì)端收到了ACK,如果被動(dòng)關(guān)閉的那方?jīng)]有收到 ACK,就會(huì)觸發(fā)被動(dòng)端重發(fā) FIN。因?yàn)樽詈笠淮未_認(rèn)應(yīng)答 ACK 報(bào)文段很有可能丟失,因而使被動(dòng)關(guān)閉方處于在LIST_ACK 狀態(tài)的,此時(shí)被動(dòng)關(guān)閉方會(huì)重發(fā)這個(gè) FIN+ACK 報(bào)文段,在這等待的 2MSL 時(shí)間內(nèi)主動(dòng)關(guān)閉方重新收到這個(gè)被動(dòng)關(guān)閉方重發(fā)的 FIN+ACK 報(bào)文段,因此,主動(dòng)關(guān)閉方會(huì)重新發(fā)送確認(rèn)應(yīng)答信息,從而重新啟動(dòng) 2MSL 計(jì)時(shí)器,直到通信雙方都進(jìn)入 CLOSED 狀態(tài)。如果主動(dòng)關(guān)閉方在 TIME_WAIT 狀態(tài)不等待一段時(shí)間就直接釋放連接并進(jìn)入 CLOSED 狀態(tài),那么主動(dòng)關(guān)閉方無法收到來自被動(dòng)關(guān)閉方重發(fā)的 FIN+ACK 報(bào)文段,也就不會(huì)再發(fā)送一次確認(rèn) ACK 報(bào)文段,因此被動(dòng)關(guān)閉方就無法正常進(jìn)入CLOSED 狀態(tài)。
  2. 有足夠的時(shí)間讓這個(gè)連接不會(huì)跟后面的連接混在一起。防止已失效的請(qǐng)求連接出現(xiàn)在本連接中。在連接處于 2MSL 等待時(shí),任何遲到的報(bào)文段將被丟棄,因?yàn)樘幱?2MSL等待的、由該插口(插口是IP和端口對(duì)的意思,socket)定義的連接在這段時(shí)間內(nèi)將不能被再用,這樣就可以使下一個(gè)新的連接中不會(huì)出現(xiàn)這種舊的連接之前延遲的報(bào)文段。

參考資料:
《TCP/IP 詳解》

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
TCP協(xié)議解析
TCP定時(shí)器
TCP協(xié)議詳解
TCP/IP詳解學(xué)習(xí)筆記(12)-TCP的超時(shí)與重傳
UC頭條:TCP為什么安全
短視頻APP源碼,靠TCP計(jì)時(shí)器能達(dá)到節(jié)省資源的目的嗎
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服