国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

TCP使用的四種計(jì)時(shí)器

2019-11-06 06:41:39
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

本文將圍繞TCP中為什么有計(jì)時(shí)器,計(jì)時(shí)器的種類以及它們各自的特點(diǎn)來(lái)闡述。

TCP中為什么要設(shè)置計(jì)時(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í)間間隔和如何確定重傳的頻率) ,對(duì)于每個(gè)連接,TCP 管理著四個(gè)不同的定時(shí)器。

TCP使用的四種計(jì)時(shí)器

重傳計(jì)時(shí)器堅(jiān)持計(jì)時(shí)器保活計(jì)時(shí)器時(shí)間等待計(jì)時(shí)器   

四種計(jì)時(shí)器各自的特點(diǎn)

1.重傳計(jì)時(shí)器    當(dāng)TCP發(fā)送報(bào)文段時(shí),就創(chuàng)建該特定報(bào)文段的重傳計(jì)時(shí)器 ,可能發(fā)生兩種情況: 

若在計(jì)時(shí)器截止時(shí)間到( 通常是60秒 )之前收到了對(duì)此特定報(bào)文段的確認(rèn),則撤銷此計(jì)時(shí)器。 若在收到了對(duì)此特定報(bào)文段的確認(rèn)之前計(jì)時(shí)器截止期到,則重傳此報(bào)文段,并將計(jì)時(shí)器復(fù)位。 

2.堅(jiān)持計(jì)時(shí)器 

     為了對(duì)付零窗口大小通知,TCP需要另一個(gè)計(jì)時(shí)器。假定接收TCP宣布了窗口大小為零。發(fā)送TCP就停止傳送報(bào)文段,直到接

收TCP發(fā)送確認(rèn)并宣布一個(gè)非零的窗口大小,但這個(gè)確認(rèn)可能會(huì)丟失。我們知道在TCP中,對(duì)確認(rèn)是不需要發(fā)送確認(rèn)的。若確認(rèn)

丟失了,接收TCP并不知道,而是會(huì)認(rèn)為它已經(jīng)完成任務(wù)了,并等待著發(fā)送TCP接著會(huì)發(fā)送更多的報(bào)文段。但發(fā)送TCP由于沒(méi)有

收到確認(rèn),就等待對(duì)方發(fā)送確認(rèn)來(lái)通知窗口的大小。雙方的TCP都在永遠(yuǎn)地等待著對(duì)方。

      要打開(kāi)這種死鎖,TCP為每一個(gè)連接使用一個(gè)堅(jiān)持計(jì)時(shí)器。 當(dāng)發(fā)送TCP收到一個(gè)窗口大小為零的確認(rèn)時(shí),就啟動(dòng)堅(jiān)持器 。 當(dāng)

堅(jiān)持計(jì)時(shí)器期限到時(shí),發(fā)送TCP就發(fā)送一個(gè)特殊的報(bào)文段, 叫做 探測(cè)報(bào)文段 。這個(gè)報(bào)文段只有一個(gè)字節(jié)的數(shù)據(jù)。它有一個(gè)序號(hào),

但它的序號(hào)永遠(yuǎn)不需要確認(rèn);甚至在計(jì)算對(duì)其他部分的數(shù)據(jù)的確認(rèn)時(shí)該序號(hào)也被忽略。探測(cè)報(bào)文段提醒對(duì)端:確認(rèn)已丟失,必須

重傳。

     堅(jiān)持計(jì)時(shí)器的值設(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í)器設(shè)定的值加倍和復(fù)位,直到這個(gè)值增大到門限值( 通常是60秒 )為

止。在這以后,發(fā)送端每隔60秒就發(fā)送一個(gè)探測(cè)報(bào)文段,直到窗口重新打開(kāi)。

 3.保活計(jì)時(shí)器 

     保活計(jì)時(shí)器使用在某些實(shí)現(xiàn)中,用來(lái)防止在兩個(gè)TCP之間的連接出現(xiàn)長(zhǎng)時(shí)期的空閑。假定客戶打開(kāi)了到服務(wù)器的連接,傳送了

一些數(shù)據(jù),然后就保持靜默了。也許這個(gè)客戶出故障了。在這種情況下,這個(gè)連接將永遠(yuǎn)地處理為打開(kāi)狀態(tài)。

      要解決這種問(wèn)題,在大多數(shù)的實(shí)現(xiàn)中都是使服務(wù)器設(shè)置保活計(jì)時(shí)器。每當(dāng)服務(wù)器收到客戶的信息,就將計(jì)時(shí)器復(fù)位。保活計(jì)時(shí)

器 通常設(shè)置為2小時(shí) 。若服務(wù)器過(guò)了2小時(shí)還沒(méi)有收到客戶的信息,它就發(fā)送探測(cè)報(bào)文段。若發(fā)送了10個(gè)探測(cè)報(bào)文段(每一個(gè)相隔

75秒)還沒(méi)有響應(yīng),就假定客戶出了故障,因而就終止該連接。

 4.時(shí)間等待計(jì)時(shí)器 

    時(shí)間等待計(jì)時(shí)器是在連接終止期間使用的 。當(dāng)TCP關(guān)閉一個(gè)連接時(shí),它并不認(rèn)為這個(gè)連接馬上就真正地關(guān)閉了。在時(shí)間等待期

間中,連接還處于一種中間過(guò)渡狀態(tài)。這就可以使重復(fù)的FIN報(bào)文段(如果有的話)可以到達(dá)目的站因而可將其丟棄。這個(gè)計(jì)時(shí)器

的值 通常設(shè)置為一個(gè)報(bào)文段的壽命期待值的兩倍,也就是2倍的MSL

擴(kuò)展

        往返時(shí)延RTT只是對(duì)傳輸層的TCP協(xié)議才很重要,因?yàn)門CP要根據(jù)平均往返時(shí)延RTT的值來(lái)設(shè)置超時(shí)計(jì)時(shí)器的超時(shí)時(shí)間;

UDP沒(méi)有確認(rèn)和重傳機(jī)制,因此RTT對(duì)UDP沒(méi)有什么意義。因此,不能笼統(tǒng)的說(shuō):往返時(shí)延RTT對(duì)傳輸層來(lái)說(shuō)很重要,因?yàn)橹挥?/strong>

TCP才需要計(jì)算RTT,而UDP不需要計(jì)算RTT.


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 阳山县| 青阳县| 昌图县| 云霄县| 昌乐县| 文昌市| 富裕县| 洛隆县| 武定县| 巴里| 乌恰县| 巴林左旗| 邵东县| 深泽县| 乌拉特后旗| 吴川市| 石柱| 扶绥县| 馆陶县| 赫章县| 澄迈县| 徐水县| 镇巴县| 遵化市| 临沭县| 泰兴市| 郁南县| 固安县| 唐山市| 开封市| 新昌县| 兰考县| 霍林郭勒市| 湖北省| 科尔| 和林格尔县| 林周县| 洪洞县| 高州市| 隆昌县| 乌什县|