成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

TCP中四種定時器的示例分析-創(chuàng)新互聯(lián)

這篇文章主要介紹TCP中四種定時器的示例分析,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!

創(chuàng)新互聯(lián)建站成立于2013年,我們提供高端成都網(wǎng)站建設(shè)、成都網(wǎng)站制作、成都網(wǎng)站設(shè)計、網(wǎng)站定制、成都全網(wǎng)營銷推廣、微信小程序、微信公眾號開發(fā)、seo優(yōu)化排名服務(wù),提供專業(yè)營銷思路、內(nèi)容策劃、視覺設(shè)計、程序開發(fā)來完成項目落地,為成都葡萄架企業(yè)提供源源不斷的流量和訂單咨詢。

詳解TCP的四種定時器

在TCP協(xié)議中有的時候需要定期或者按照某個算法對某個事件進行觸發(fā),那么這個時候,TCP協(xié)議是使用定時器進行實現(xiàn)的。在TCP中,會有四種定時器:


(1)重傳定時器
(2)堅持定時器
(3)保活定時器
(4) 時間等待計時器


這四個定時器都有各自的具體作用。


一:重傳定時器


重傳定時器:為了控制丟失的報文段或丟棄的報文段,也就是對報文段確認(rèn)的等待時間。當(dāng)TCP發(fā)送報文段時,就創(chuàng)建這個特定報文段的重傳計時器,可能發(fā)生兩種情況:若在計時器超時之前收到對報文段的確認(rèn),則撤銷計時器;若在收到對特定報文段的確認(rèn)之前計時器超時,則重傳該報文,并把計時器復(fù)位;
重傳時間=2*RTT;


RTT的值應(yīng)該動態(tài)計算。常用的公式是:RTT=previous RTT*i + (1-i)*current RTT。i的值通常取90%,即新的RTT是以前的RTT值的90%加上當(dāng)前RTT值的10%.

Karn算法:對重傳報文,在計算新的RTT時,不考慮重傳報文的RTT。因為無法推理出:發(fā)送端所收到的確認(rèn)是對上一次報文段的確認(rèn)還是對重傳報文段的確認(rèn)。干脆不計入。


二:堅持定時器


堅持定時器是使用在一方滑動窗口為0之后,另外一方停止傳輸數(shù)據(jù),進入堅持定時器的輪詢,直到滑動窗口不再為0了。
說說術(shù)語,首先是滑動窗口,可以簡單理解為緩沖區(qū)剩余空間大小。不管是寫緩沖還是讀緩沖,一旦一方通告了自己的滑動窗口大小,另外一方就會根據(jù)滑動窗口大小傳遞窗口大小的數(shù)據(jù)了。但是,當(dāng)被通告,一方的滑動窗口大小為0的時候,另外一方就會啟動堅持定時器,基本也是使用TCP指數(shù)退避方法,第一次1.5秒,第二次1.5x2秒,第三次1.5x4…
其次是糊涂窗口綜合癥。這個癥狀是滑動窗口引起的。病因是發(fā)送方和接收方在一個很小的滑動窗口的時候就開始數(shù)據(jù)傳輸,傳輸結(jié)束之后,讀寫的消費速度也并沒有那么快,導(dǎo)致下次傳輸?shù)臅r候,滑動窗口還是那么小。然后現(xiàn)象就是每次傳輸?shù)臄?shù)據(jù)都非常小。就好比每次開出去的火車載貨量只有一節(jié)車廂,其實我們是希望能攢夠n節(jié)車廂才開始傳輸。
糊涂窗口綜合癥有解決辦法,還不止一種,在接收方或者發(fā)送方都可以解決。大致就是如果接收方解決,那么接收方在接收窗口小于一定大小的時候,對所有的接收請求都返回窗口為0的包,來觸發(fā)另外一方的堅持定時器。同樣發(fā)送方也是,在可以發(fā)送的數(shù)據(jù)大于一定窗口的時候才發(fā)送。


三:?;疃〞r器


這個就是我們經(jīng)常說的tcp的keepalive了。實際使用場景是在應(yīng)用層沒有數(shù)據(jù)進行傳輸?shù)臅r候,一定時間(tcp_keepalive_time,默認(rèn)每2個小時)發(fā)送一次保持心跳的包,如果發(fā)送成功,則繼續(xù)保持端口活躍,如果沒有正常返回,則在指定次數(shù)內(nèi)(tcp_keepalive_probes,默認(rèn)是9次),指定間隔(tcp_keepalive_intvl,默認(rèn)是17s)發(fā)送心跳包。如果最后都沒有獲得正常的ACK,那么才算連接失敗。


當(dāng)然,tcp是否需要提供keepalive機制,是有爭議的,我們可以為每個tcp連接設(shè)置是否啟用keepalive和啟用keepalive的各個指標(biāo)設(shè)置。


四:時間等待定時器


在連接終止期使用,當(dāng)TCP關(guān)閉連接時,并不認(rèn)為這個連接就真正關(guān)閉了,在時間等待期間,連接還處于一種中間過度狀態(tài)。這樣就可以時重復(fù)的fin報文段在到達終點后被丟棄,這個計時器的值通常設(shè)置為一格報文段壽命期望值的兩倍。


補充:


2MSL定時器:MSL是報文段做大生存時間(Maximum Segment Lifetime),設(shè)置這個定時器有兩個目的:


其一是為了測量連接處于TIME_WAIT狀態(tài)的時間.這樣可以讓TCP再次發(fā)送最后的ACK以防止這個ACK丟失(如果丟失,另一端會重傳FIN)。


其二,為允許老的重復(fù)分節(jié)在網(wǎng)絡(luò)中消逝。具體可以解釋為,如果一個TCP連接在斷開之前有迷途分節(jié)尚未消逝,在斷開該TCP連接之后立刻重啟一個同樣的連接(雙方的IP地址和端口port相同),這時之前的迷途的老分節(jié)可能對新的新的TCP連接接收,從而造成未定義的錯誤。為了避免這種情況,TCP規(guī)定在TIME_WAIT狀態(tài),不能啟動一個連接的化身。既然TIME_WAIT狀態(tài)維持2MSL,這就保證了一個連接上的分組及其應(yīng)該在 2MSL內(nèi)都會消失。

以上是“TCP中四種定時器的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

網(wǎng)頁題目:TCP中四種定時器的示例分析-創(chuàng)新互聯(lián)
網(wǎng)頁鏈接:http://jinyejixie.com/article44/eigee.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設(shè)、關(guān)鍵詞優(yōu)化、網(wǎng)站設(shè)計公司、ChatGPT、外貿(mào)網(wǎng)站建設(shè)、建站公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護公司
新河县| 梧州市| 嘉兴市| 东港市| 恩平市| 阳江市| 泰和县| 黄浦区| 搜索| 新营市| 吴桥县| 贡山| 仁化县| 平潭县| 城步| 天台县| 南通市| 方城县| 霍城县| 明溪县| 定南县| 紫阳县| 阜城县| 东海县| 宁津县| 富民县| 科技| 牡丹江市| 乌苏市| 石嘴山市| 望都县| 交城县| 高阳县| 长春市| 巴里| 嵩明县| 晋州市| 西充县| 县级市| 绿春县| 汝南县|