成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

解讀TCP 四種定時(shí)器

網(wǎng)絡(luò) 網(wǎng)絡(luò)管理
TCP 通過(guò)在發(fā)送時(shí)設(shè)置一個(gè)定時(shí)器來(lái)解決數(shù)據(jù)傳輸問(wèn)題。如果當(dāng)定時(shí)器溢出時(shí)還沒(méi)收到確認(rèn),它就會(huì)重傳該數(shù)據(jù)。關(guān)鍵在于超時(shí)和重傳策略,即怎樣決定超時(shí)的時(shí)間間隔和如何確定重傳的頻率。

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

[[124115]]

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

為了解決上面這個(gè)問(wèn)題,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í)間的值,但若沒(méi)有收到來(lái)自接收端的響應(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í)器來(lái)計(jì)時(shí),并在定時(shí)器溢出的時(shí)向客戶端查詢窗口是否已經(jīng)增大,如果得到非零的窗口就重新開始發(fā)送數(shù)據(jù),如果得到零窗口就再開一個(gè)新的定時(shí)器準(zhǔn)備下一次查詢。

保活定時(shí)器

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

2MSL 定時(shí)器

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

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)閉方無(wú)法收到來(lái)自被動(dòng)關(guān)閉方重發(fā)的 FIN+ACK 報(bào)文段,也就不會(huì)再發(fā)送一次確認(rèn) ACK 報(bào)文段,因此被動(dòng)關(guān)閉方就無(wú)法正常進(jìn)入CLOSED 狀態(tài)。

有足夠的時(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)文段。

責(zé)任編輯:林琳 來(lái)源: CSDN
相關(guān)推薦

2013-07-29 10:10:40

TCP協(xié)議TCP定時(shí)器TCP

2015-10-15 09:38:48

TCP網(wǎng)絡(luò)協(xié)議定時(shí)器

2010-07-14 09:15:30

云計(jì)算模式

2023-08-02 09:26:03

軟件定時(shí)器鴻蒙

2025-03-12 09:54:02

2010-07-13 09:37:14

云計(jì)算模式

2018-12-03 12:20:52

Systemd定時(shí)器Linux

2009-06-15 15:02:48

Spring定時(shí)器

2018-09-10 09:52:07

無(wú)服務(wù)器

2019-02-01 09:06:46

超融合

2018-12-05 09:08:26

無(wú)服務(wù)器場(chǎng)景應(yīng)用

2021-10-24 08:37:18

網(wǎng)絡(luò)監(jiān)控網(wǎng)絡(luò)架構(gòu)網(wǎng)絡(luò)

2009-12-10 14:16:24

2009-11-11 10:14:10

linux定時(shí)器操作系統(tǒng)

2010-07-28 15:56:22

FlexTimer定時(shí)

2016-09-12 14:07:14

Android 定時(shí)器

2019-10-24 07:42:28

Java引用GC

2017-07-06 15:40:19

DevOps核心能力

2022-08-01 07:56:23

React Hook開發(fā)組件

2012-09-11 09:55:26

編程HTML5編程能力
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 激情小说综合网 | 日本精品视频在线 | 精品在线一区二区 | 岛国二区| 成人小视频在线观看 | 久久久久久免费毛片精品 | 日韩欧美一级精品久久 | 精品国产鲁一鲁一区二区张丽 | 精品国产免费一区二区三区五区 | 小川阿佐美pgd-606在线 | 国产ts人妖系列高潮 | 日韩不卡视频在线 | 羞羞视频在线观看 | 亚洲在线中文字幕 | 欧美va大片 | 色天堂影院 | 日韩精品一区二区三区在线播放 | 婷婷综合久久 | 男女激情网 | 欧美99 | 国产高清一区二区 | 亚洲国产精品一区二区第一页 | 台湾av在线| 日韩在线中文字幕 | 欧美激情网站 | 免费观看黄色一级片 | 午夜视频网站 | 日韩欧美电影在线 | 999久久久 | 成人一区二区在线 | 69堂永久69tangcom | 久久噜 | 91视频网| 亚洲人成人一区二区在线观看 | 精品国产18久久久久久二百 | 亚洲精品视频一区二区三区 | 久久一区二区三区电影 | 一区二区三区四区视频 | av网站在线看 | 农夫在线精品视频免费观看 | 国产欧美一区二区在线观看 |