專利名稱:探測tcp丟包的方法、裝置及tcp協(xié)議棧的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)應(yīng)用領(lǐng)域,更具體地,涉及一種探測TCP丟包的方法、裝置及TCP協(xié)議棧。
背景技術(shù):
隨著互聯(lián)網(wǎng)技術(shù)的日益普及,互聯(lián)網(wǎng)在人們生活和工作中所起的作用越來越重要??梢院敛豢鋸埖恼f,互聯(lián)網(wǎng)已經(jīng)與人們的生活和工作息息相關(guān),甚至密不可分。眾所周知,承載互聯(lián)網(wǎng)數(shù)據(jù)包的載體是各式各樣的協(xié)議棧,例如TCP (TransmissionControl Protocol,傳輸控制協(xié)議)、UDP (User Datagram Protocol,用戶數(shù)據(jù)包協(xié)議)、ICMP (Internet Control Message Protocol,互聯(lián)網(wǎng)控制報(bào)文協(xié)議)、STCP (Scalable Transmission Control Protocol,可擴(kuò)展的傳輸控制協(xié)議)等等。其中,TCP以穩(wěn)定可靠的 傳輸方式,占據(jù)了巨頭地位,大約超過90%的業(yè)務(wù)選擇了 TCP。越來越多的業(yè)務(wù)搬上了互聯(lián)網(wǎng),而且在未來相當(dāng)長的一段時(shí)間將會(huì)有更多的業(yè)務(wù)通過互聯(lián)網(wǎng)完成,數(shù)據(jù)的劇增必然會(huì)導(dǎo)致數(shù)據(jù)包的丟失?;ヂ?lián)網(wǎng)的新型領(lǐng)域——移動(dòng)互聯(lián)網(wǎng)的投入,更是以指數(shù)級(jí)的數(shù)量遞增,但是無線網(wǎng)絡(luò)傳輸本身錯(cuò)誤率遠(yuǎn)遠(yuǎn)高于有線傳輸,從而進(jìn)一步加劇了數(shù)據(jù)包的丟失概率。這時(shí),對數(shù)據(jù)包是否丟失做出準(zhǔn)確判斷顯得至關(guān)重要?,F(xiàn)有技術(shù)中,TCP協(xié)議棧對丟包的處理過程包括①通過三次重復(fù)ACK (Acknowledgementcharacter,確認(rèn)字符)判斷丟包,然后快速重傳;②通過TCP特性SACK (Selective Acknowledgment,選擇性重傳反饋標(biāo)識(shí))判斷丟包;③重復(fù)ACK和SACK均無法判斷的情況通過超時(shí)重傳定時(shí)器超時(shí)判斷。其中第①、②步是可以很快發(fā)現(xiàn)丟包的。在第③步,超時(shí)重傳定時(shí)器是根據(jù)之前統(tǒng)計(jì)的RTT (Round-Trip Time,往返時(shí)延)重傳的,但在丟包期間,RTT是無法估算的,其次RTT會(huì)指數(shù)遞增,因此將直接導(dǎo)致數(shù)據(jù)長時(shí)間得不到傳輸,帶寬得不到利用,表現(xiàn)在傳輸速度明顯下降,帶寬利用率明顯不足。
發(fā)明內(nèi)容
本發(fā)明的主要目的在于提供一種探測TCP丟包的方法和裝置,旨在解決現(xiàn)有技術(shù)中數(shù)據(jù)長時(shí)間得不到傳輸,帶寬得不到利用的技術(shù)問題。為了實(shí)現(xiàn)發(fā)明目的,本發(fā)明提供一種探測TCP丟包的方法,包括以下步驟在向普通協(xié)議棧發(fā)送數(shù)據(jù)包之后且數(shù)據(jù)被普通協(xié)議棧確認(rèn)前,從已經(jīng)發(fā)送的數(shù)據(jù)包中提取部分?jǐn)?shù)據(jù)生成探測小包并向普通協(xié)議棧發(fā)送;根據(jù)普通協(xié)議棧反饋的ACK或SACK應(yīng)答判斷已發(fā)送數(shù)據(jù)包的丟包情況。優(yōu)選地,所述在向普通協(xié)議棧發(fā)送數(shù)據(jù)包之后且數(shù)據(jù)被普通協(xié)議棧確認(rèn)前,向普通協(xié)議棧發(fā)送探測小包包括在數(shù)據(jù)發(fā)送完畢后,啟用探測定時(shí)器;在探測定時(shí)器超時(shí)時(shí)從已經(jīng)發(fā)送的數(shù)據(jù)包中提取部分?jǐn)?shù)據(jù)生成探測小包; 將探測小包發(fā)送給對端普通協(xié)議棧。
優(yōu)選地,所述根據(jù)普通協(xié)議棧反饋的ACK或SACK應(yīng)答判斷已發(fā)送數(shù)據(jù)包的丟包情況包括判斷所述ACK或SACK應(yīng)答是否為對探測小包的應(yīng)答;當(dāng)所述ACK或SACK應(yīng)答為對探測小包的應(yīng)答時(shí),判定重傳數(shù)據(jù)包丟失;對重傳隊(duì)列重新進(jìn)行標(biāo)識(shí)。優(yōu)選地,在啟用探測定時(shí)器之后還包括設(shè)置探測定時(shí)器的定時(shí)周期小于往返時(shí)延RTT。優(yōu)選地,所述在探測定時(shí)器超時(shí)時(shí)從已經(jīng)發(fā)送的數(shù)據(jù)包中提取部分?jǐn)?shù)據(jù)生成探測小包包括 提取已發(fā)送數(shù)據(jù)包中的一位數(shù)據(jù)作為探測小包。本發(fā)明還提供一種探測TCP丟包的裝置,包括探測小包處理模塊,用于在向普通協(xié)議棧發(fā)送數(shù)據(jù)包之后且數(shù)據(jù)被普通協(xié)議棧確認(rèn)前,從已經(jīng)發(fā)送的數(shù)據(jù)包中提取部分?jǐn)?shù)據(jù)生成探測小包并向普通協(xié)議棧發(fā)送;丟包判斷模塊,用于根據(jù)普通協(xié)議棧反饋的ACK或SACK應(yīng)答判斷已發(fā)送數(shù)據(jù)包的丟包情況。優(yōu)選地,所述探測小包處理模塊包括探測定時(shí)器啟動(dòng)單元,用于在數(shù)據(jù)發(fā)送完畢后,啟用探測定時(shí)器;探測小包生成單元,用于在探測定時(shí)器超時(shí)時(shí)從已經(jīng)發(fā)送的數(shù)據(jù)包中提取部分?jǐn)?shù)據(jù)生成探測小包;探測小包發(fā)送單元,用于將探測小包發(fā)送給對端普通協(xié)議棧。優(yōu)選地,所述丟包判斷模塊具體用于判斷所述ACK或SACK應(yīng)答是否為對探測小包的應(yīng)答;當(dāng)所述ACK或SACK應(yīng)答為對探測小包的應(yīng)答時(shí),判定重傳數(shù)據(jù)包丟失;對重傳隊(duì)列重新進(jìn)行標(biāo)識(shí)。優(yōu)選地,所述探測定時(shí)器啟動(dòng)單元還用于在啟用探測定時(shí)器之后,設(shè)置探測定時(shí)器的定時(shí)周期小于往返時(shí)延RTT。優(yōu)選地,所述探測小包生成單元具體用于提取已發(fā)送數(shù)據(jù)包中的一位數(shù)據(jù)作為探測小包。本發(fā)明還提供一種TCP協(xié)議棧,其包括探測TCP丟包的裝置,該探測TCP丟包的裝置包括探測小包處理模塊,用于在向普通協(xié)議棧發(fā)送數(shù)據(jù)包之后且數(shù)據(jù)被普通協(xié)議棧確認(rèn)前,從已經(jīng)發(fā)送的數(shù)據(jù)包中提取部分?jǐn)?shù)據(jù)生成探測小包并向普通協(xié)議棧發(fā)送;丟包判斷模塊,用于根據(jù)普通協(xié)議棧反饋的ACK或SACK應(yīng)答判斷已發(fā)送數(shù)據(jù)包的丟包情況。本發(fā)明在通過從已發(fā)送數(shù)據(jù)包中提取部分?jǐn)?shù)據(jù)作為探測包發(fā)送至普通協(xié)議棧,以探測獲取二次重傳的丟包情況,既解決了在RTT發(fā)生變化的情況下應(yīng)答包不及時(shí)反饋導(dǎo)致的不必要重傳;同時(shí)也解決了重傳包必須通過超時(shí)重傳定時(shí)器超時(shí)驅(qū)動(dòng)的缺陷,可以精確發(fā)現(xiàn)丟包,立即重傳。
圖I為本發(fā)明一實(shí)施方式中探測TCP丟包的裝置的結(jié)構(gòu)示意圖;圖2為本發(fā)明一實(shí)施例中探測小包處理模塊的結(jié)構(gòu)示意圖;圖3為本發(fā)明一實(shí)施方式中探測TCP丟包的方法的流程圖;圖4為本發(fā)明一實(shí)施例中提取部分?jǐn)?shù)據(jù)生成探測小包并向普通協(xié)議棧發(fā)送的流程圖;圖5為本發(fā)明一實(shí)施例中根據(jù)普通協(xié)議棧反饋的ACK或SACK應(yīng)答判斷丟包情況的流程圖。本發(fā)明目的的實(shí)現(xiàn)、功能特點(diǎn)及優(yōu)點(diǎn)將結(jié)合實(shí)施例,參照附圖做進(jìn)一步說明。
具體實(shí)施例方式應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。本發(fā)明實(shí)施方式提供一種探測TCP丟包的裝置,參照圖I,該裝置包括探測小包處理模塊10,用于在向普通協(xié)議棧發(fā)送數(shù)據(jù)包之后且數(shù)據(jù)被普通協(xié)議棧確認(rèn)前,從已經(jīng)發(fā)送的數(shù)據(jù)包中提取部分?jǐn)?shù)據(jù)生成探測小包并向普通協(xié)議棧發(fā)送;丟包判斷模塊20,用于根據(jù)普通協(xié)議棧反饋的ACK或SACK應(yīng)答判斷已發(fā)送數(shù)據(jù)包的丟包情況。
本發(fā)明實(shí)施方式中,探測TCP丟包的裝置設(shè)置在探測端的協(xié)議棧,該協(xié)議棧與普通協(xié)議棧進(jìn)行數(shù)據(jù)交互,與普通協(xié)議棧一樣,探測端的協(xié)議棧也是TCP協(xié)議棧。在探測端的協(xié)議棧發(fā)送數(shù)據(jù)后,但是還未被對端確認(rèn)的中間某時(shí)刻,探測小包處理模塊10從普通數(shù)據(jù)包中選擇少量字節(jié)(例如一個(gè)字節(jié)或者兩個(gè)字節(jié))探測包發(fā)送出去,因?yàn)樘綔y包極小,基本不會(huì)因?yàn)橹虚g路由器的緩存不夠而丟棄;接著可能會(huì)收到普通協(xié)議棧的ACK應(yīng)答或者與探測包對應(yīng)的特殊SACK應(yīng)答,因?yàn)樘綔y包比數(shù)據(jù)包延遲發(fā)送,所以ACK應(yīng)答、特殊的SACK應(yīng)答必然可以反映出已發(fā)送數(shù)據(jù)包的丟失情況,而且可以確定重傳數(shù)據(jù)包的丟失情況;最后丟包判斷模塊20再根據(jù)應(yīng)答反饋快速做出后續(xù)處理。本發(fā)明實(shí)施方式在通過探測TCP丟包的裝置從已發(fā)送數(shù)據(jù)包中提取部分?jǐn)?shù)據(jù)作為探測包發(fā)送至普通協(xié)議棧,以探測獲取二次重傳的丟包情況,既解決了在RTT發(fā)生變化的情況下應(yīng)答包不及時(shí)反饋導(dǎo)致的不必要重傳;同時(shí)也解決了重傳包必須通過超時(shí)重傳定時(shí)器超時(shí)驅(qū)動(dòng)的缺陷,可以精確發(fā)現(xiàn)丟包,立即重傳。參照圖2所示,在本發(fā)明的一個(gè)較佳實(shí)施例中,探測小包處理模塊10包括探測定時(shí)器啟動(dòng)單元11,用于在數(shù)據(jù)發(fā)送完畢后,啟用探測定時(shí)器;本發(fā)明實(shí)施例中,在探測端的協(xié)議棧設(shè)置探測定時(shí)器,在協(xié)議棧發(fā)送數(shù)據(jù)至普通協(xié)議棧之后,尚未被普通協(xié)議棧確認(rèn)之前,探測定時(shí)器啟動(dòng)單元11即啟用該探測定時(shí)器。本發(fā)明實(shí)施例中,探測定時(shí)器啟動(dòng)單元11還用于在啟用探測定時(shí)器之后,設(shè)置探測定時(shí)器的定時(shí)周期小于往返時(shí)延RTT,以保證探測小包的有效性。探測小包生成單元12,用于在探測定時(shí)器超時(shí)時(shí)從已經(jīng)發(fā)送的數(shù)據(jù)包中提取部分?jǐn)?shù)據(jù)生成探測小包;本發(fā)明實(shí)施例中,如果探測定時(shí)器沒有超時(shí),則繼續(xù)原始協(xié)議棧流程,即發(fā)送接收業(yè)務(wù)包,如果探測定時(shí)器超時(shí)則探測小包生成單元12通知探測小包發(fā)送單元13。在本發(fā)明實(shí)施例中,探測小包生成單元12可具體用于提取已發(fā)送數(shù)據(jù)包中的一位數(shù)據(jù)作為探測小包。當(dāng)然探測小包也可以為兩位(字節(jié))數(shù)據(jù),能保證數(shù)據(jù)順利傳送即可。探測小包發(fā)送單元13,用于將探測小包發(fā)送給對端普通協(xié)議棧。本發(fā)明實(shí)施例中,丟包判斷模塊20可具體用于判斷所述ACK或SACK應(yīng)答是否為對探測小包的應(yīng)答;當(dāng)所述ACK或SACK應(yīng)答為對探測小包的應(yīng)答時(shí),判定重傳數(shù)據(jù)包丟失;對重傳隊(duì)列重新進(jìn)行標(biāo)識(shí)。由于探測小包是從已發(fā)送數(shù)據(jù)包中提取的,如果ACK或SACK應(yīng)答為對探測小包的應(yīng)答,則說明普通協(xié)議棧未接收到重傳數(shù)據(jù),數(shù)據(jù)已經(jīng)丟失,此時(shí)丟包判斷模塊20對重傳隊(duì)列重新進(jìn)行標(biāo)識(shí),例如對丟失的數(shù)據(jù)重新進(jìn)行標(biāo)識(shí),以發(fā)送丟失的數(shù)據(jù)。 本發(fā)明還提供一種探測TCP丟包的方法,該方法基于上述探測TCP丟包的裝置實(shí)現(xiàn)。如圖3所示,在一實(shí)施方式中,該方法包括以下步驟步驟S10,在向普通協(xié)議棧發(fā)送數(shù)據(jù)包之后且數(shù)據(jù)被普通協(xié)議棧確認(rèn)前,從已經(jīng)發(fā)送的數(shù)據(jù)包中提取部分?jǐn)?shù)據(jù)生成探測小包并向普通協(xié)議棧發(fā)送;例如,在探測端的協(xié)議棧發(fā)送數(shù)據(jù)后,但是還未被對端確認(rèn)的中間某時(shí)刻,探測TCP丟包的裝置中的探測小包處理模塊10從普通數(shù)據(jù)包中選擇少量字節(jié)(例如一個(gè)字節(jié)或者兩個(gè)字節(jié))探測包發(fā)送出去,因?yàn)樘綔y包極小,基本不會(huì)因?yàn)橹虚g路由器的緩存不夠而丟棄;接著可能會(huì)收到普通協(xié)議棧的ACK應(yīng)答或者與探測包對應(yīng)的特殊SACK應(yīng)答,因?yàn)樘綔y包比數(shù)據(jù)包延遲發(fā)送,所以ACK應(yīng)答、特殊的SACK應(yīng)答必然可以反映出已發(fā)送數(shù)據(jù)包的丟失情況,而且可以確定重傳數(shù)據(jù)包的丟失情況。步驟S20,根據(jù)普通協(xié)議棧反饋的ACK或SACK應(yīng)答判斷已發(fā)送數(shù)據(jù)包的丟包情況。例如,探測TCP丟包的裝置中的丟包判斷模塊20根據(jù)應(yīng)答反饋快速做出后續(xù)處理。具體的,參照圖4所示,本發(fā)明的一個(gè)較佳實(shí)施例中,上述步驟SlO可包括步驟S11,在數(shù)據(jù)發(fā)送完畢后,啟用探測定時(shí)器;例如,本發(fā)明實(shí)施例中,在探測端的協(xié)議棧設(shè)置探測定時(shí)器,在協(xié)議棧發(fā)送數(shù)據(jù)至普通協(xié)議棧之后,尚未被普通協(xié)議棧確認(rèn)之前,探測定時(shí)器啟動(dòng)單元11即啟用該探測定時(shí)器。本發(fā)明實(shí)施例中,探測定時(shí)器啟動(dòng)單元11還用于在啟用探測定時(shí)器之后,設(shè)置探測定時(shí)器的定時(shí)周期小于往返時(shí)延RTT,以保證探測小包的有效性。步驟S12,在探測定時(shí)器超時(shí)時(shí)從已經(jīng)發(fā)送的數(shù)據(jù)包中提取部分?jǐn)?shù)據(jù)生成探測小包;例如,如果探測定時(shí)器超時(shí)則探測小包生成單元12通知探測小包發(fā)送單元13。在本發(fā)明實(shí)施例中,探測小包生成單元12可具體用于提取已發(fā)送數(shù)據(jù)包中的一位數(shù)據(jù)作為探測小包。當(dāng)然探測小包也可以為兩位(字節(jié))數(shù)據(jù),能保證數(shù)據(jù)順利傳送即可。步驟S13,將探測小包發(fā)送給對端普通協(xié)議棧。參照圖5所示,本發(fā)明上述實(shí)施例中,步驟S20可包括步驟S21,判斷所述ACK或SACK應(yīng)答是否為對探測小包的應(yīng)答;步驟S22,當(dāng)所述ACK或SACK應(yīng)答為對探測小包的應(yīng)答時(shí),判定重傳數(shù)據(jù)包丟失;由于探測小包是從已發(fā)送數(shù)據(jù)包中提取的,如果ACK或SACK應(yīng)答為對探測小包的應(yīng)答,則說明普通協(xié)議棧未接收到重傳數(shù)據(jù),數(shù)據(jù)已經(jīng)丟失。步驟S23,對重傳隊(duì)列重新進(jìn)行標(biāo)識(shí)。例如丟包判斷模塊20對重傳隊(duì)列重新進(jìn)行標(biāo)識(shí),以發(fā)送丟失的數(shù)據(jù)。本發(fā)明還提供一種TCP協(xié)議棧,其包含探測TCP丟包的裝置,該探測TCP丟包的裝置的功能及工作原理請參見前述圖I至圖5所對應(yīng)的實(shí)施例,包含了前述實(shí)施例中的所有技術(shù)方案。由于具有上述探測TCP丟包的裝置,本發(fā)明TCP協(xié)議棧可以解決在RTT發(fā)生變化的情況下應(yīng)答包不及時(shí)反饋導(dǎo)致的不必要重傳;同時(shí)也解決了重傳包必須通過超時(shí)重傳定時(shí)器超時(shí)驅(qū)動(dòng)的缺陷,可以精確發(fā)現(xiàn)丟包,立即重傳。
以上僅為本發(fā)明的優(yōu)選實(shí)施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。
權(quán)利要求
1.一種探測TCP丟包的方法,其特征在于,包括以下步驟 在向普通協(xié)議棧發(fā)送數(shù)據(jù)包之后且數(shù)據(jù)被普通協(xié)議棧確認(rèn)前,從已經(jīng)發(fā)送的數(shù)據(jù)包中提取部分?jǐn)?shù)據(jù)生成探測小包并向普通協(xié)議棧發(fā)送; 根據(jù)普通協(xié)議棧反饋的ACK或SACK應(yīng)答判斷已發(fā)送數(shù)據(jù)包的丟包情況。
2.如權(quán)利要求I所述的方法,其特征在于,所述在向普通協(xié)議棧發(fā)送數(shù)據(jù)包之后且數(shù)據(jù)被普通協(xié)議棧確認(rèn)前,向普通協(xié)議棧發(fā)送探測小包包括 在數(shù)據(jù)發(fā)送完畢后,啟用探測定時(shí)器; 在探測定時(shí)器超時(shí)時(shí)從已經(jīng)發(fā)送的數(shù)據(jù)包中提取部分?jǐn)?shù)據(jù)生成探測小包; 將探測小包發(fā)送給對端普通協(xié)議棧。
3.如權(quán)利要求I或2所述的方法,其特征在于,所述根據(jù)普通協(xié)議棧反饋的ACK或SACK應(yīng)答判斷已發(fā)送數(shù)據(jù)包的丟包情況包括 判斷所述ACK或SACK應(yīng)答是否為對探測小包的應(yīng)答; 當(dāng)所述ACK或SACK應(yīng)答為對探測小包的應(yīng)答時(shí),判定重傳數(shù)據(jù)包丟失; 對重傳隊(duì)列重新進(jìn)行標(biāo)識(shí)。
4.如權(quán)利要求3所述的方法,其特征在于,在啟用探測定時(shí)器之后還包括 設(shè)置探測定時(shí)器的定時(shí)周期小于往返時(shí)延RTT。
5.如權(quán)利要求4所述的方法,其特征在于,所述在探測定時(shí)器超時(shí)時(shí)從已經(jīng)發(fā)送的數(shù)據(jù)包中提取部分?jǐn)?shù)據(jù)生成探測小包包括 提取已發(fā)送數(shù)據(jù)包中的一位數(shù)據(jù)作為探測小包。
6.一種探測TCP丟包的裝置,其特征在于,包括 探測小包處理模塊,用于在向普通協(xié)議棧發(fā)送數(shù)據(jù)包之后且數(shù)據(jù)被普通協(xié)議棧確認(rèn)前,從已經(jīng)發(fā)送的數(shù)據(jù)包中提取部分?jǐn)?shù)據(jù)生成探測小包并向普通協(xié)議棧發(fā)送; 丟包判斷模塊,用于根據(jù)普通協(xié)議棧反饋的ACK或SACK應(yīng)答判斷已發(fā)送數(shù)據(jù)包的丟包情況。
7.如權(quán)利要求6所述的裝置,其特征在于,所述探測小包處理模塊包括 探測定時(shí)器啟動(dòng)單元,用于在數(shù)據(jù)發(fā)送完畢后,啟用探測定時(shí)器; 探測小包生成單元,用于在探測定時(shí)器超時(shí)時(shí)從已經(jīng)發(fā)送的數(shù)據(jù)包中提取部分?jǐn)?shù)據(jù)生成探測小包; 探測小包發(fā)送單元,用于將探測小包發(fā)送給對端普通協(xié)議棧。
8.如權(quán)利要求6或7所述的裝置,其特征在于,所述丟包判斷模塊具體用于 判斷所述ACK或SACK應(yīng)答是否為對探測小包的應(yīng)答; 當(dāng)所述ACK或SACK應(yīng)答為對探測小包的應(yīng)答時(shí),判定重傳數(shù)據(jù)包丟失; 對重傳隊(duì)列重新進(jìn)行標(biāo)識(shí)。
9.如權(quán)利要求8所述的裝置,其特征在于,所述探測定時(shí)器啟動(dòng)單元還用于在啟用探測定時(shí)器之后,設(shè)置探測定時(shí)器的定時(shí)周期小于往返時(shí)延RTT。
10.如權(quán)利要求9所述的裝置,其特征在于,所述探測小包生成單元具體用于 提取已發(fā)送數(shù)據(jù)包中的一位數(shù)據(jù)作為探測小包。
11.一種TCP協(xié)議棧,其特征在于,包括如權(quán)利要求6、中任一項(xiàng)所述的探測TCP丟包的裝置。
全文摘要
本發(fā)明公開一種探測TCP丟包的裝置,包括探測小包處理模塊,用于在向普通協(xié)議棧發(fā)送數(shù)據(jù)包之后且數(shù)據(jù)被普通協(xié)議棧確認(rèn)前,從已經(jīng)發(fā)送的數(shù)據(jù)包中提取部分?jǐn)?shù)據(jù)生成探測小包并向普通協(xié)議棧發(fā)送;丟包判斷模塊,用于根據(jù)普通協(xié)議棧反饋的ACK或SACK應(yīng)答判斷已發(fā)送數(shù)據(jù)包的丟包情況。本發(fā)明還提供一種探測TCP丟包的方法和TCP協(xié)議棧。本發(fā)明可解決在RTT發(fā)生變化的情況下應(yīng)答包不及時(shí)反饋導(dǎo)致的不必要重傳;同時(shí)也可解決重傳包必須通過超時(shí)重傳定時(shí)器超時(shí)驅(qū)動(dòng)的缺陷,可以精確發(fā)現(xiàn)丟包,立即重傳。
文檔編號(hào)H04L1/18GK102761403SQ201210218630
公開日2012年10月31日 申請日期2012年6月28日 優(yōu)先權(quán)日2012年6月28日
發(fā)明者辛智敏 申請人:深信服網(wǎng)絡(luò)科技(深圳)有限公司