两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

更快速檢測和重傳丟失的傳輸控制協(xié)議段的方法和系統(tǒng)的制作方法

文檔序號:7971297閱讀:181來源:國知局
專利名稱:更快速檢測和重傳丟失的傳輸控制協(xié)議段的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明一般涉及網(wǎng)絡(luò)通信,并且特別涉及通過傳輸控制協(xié)議(TCP)的網(wǎng)絡(luò)通信。更特別地,本發(fā)明涉及用于在TCP包傳輸期間改進(jìn)的重傳機(jī)制的方法和系統(tǒng)。
背景技術(shù)
傳輸控制協(xié)議(TCP)是用于在連接到因特網(wǎng)的節(jié)點之間傳輸數(shù)據(jù)的協(xié)議。相對于在網(wǎng)絡(luò)層運(yùn)作的網(wǎng)際協(xié)議(IP),TCP作為傳輸層協(xié)議在上層運(yùn)作,并且通常被稱為“TCP/IP”。使用被發(fā)送以確認(rèn)數(shù)據(jù)包的接收的確認(rèn)(ACK)信息,TCP實現(xiàn)了擁塞控制機(jī)制。
在TCP通信中,數(shù)據(jù)段作為具有唯一序列號(或包ID)的包被從發(fā)送/始發(fā)終端發(fā)送至接收/目的終端。當(dāng)接收終端接收到數(shù)據(jù)段時,該接收終端發(fā)送具有與接收到的數(shù)據(jù)段序列號相同的序列號的ACK。術(shù)語“數(shù)據(jù)段”指利用TCP發(fā)送的數(shù)據(jù)塊單元,其被稱為協(xié)議數(shù)據(jù)單元(PDU)。在TCP通信中,即使發(fā)送終端可能沒有從接收終端接收到ACK,發(fā)送終端也在一段時間內(nèi)同時發(fā)送盡可能多的數(shù)據(jù)段,這段時間被稱為擁塞窗口(CWND)。
如果發(fā)送終端接收到多個具有相同序列號的ACK(重復(fù)ACK),則該發(fā)送終端重傳具有相應(yīng)的序列號的數(shù)據(jù)段。即使發(fā)送終端沒有接收到重復(fù)ACK,如果發(fā)送終端在向接收終端發(fā)送數(shù)據(jù)段之后、在預(yù)先確定的超時期間內(nèi)接收不到ACK,該發(fā)送終端就重傳此數(shù)據(jù)段。
TCP接收器通常在失序段(out-of-order segment)到達(dá)的時候發(fā)送立即的重復(fù)ACK。該ACK的目的是通知發(fā)送方接收到失序段以及預(yù)期的序列號。相當(dāng)一部分的重復(fù)ACK是在通過網(wǎng)絡(luò)傳輸期間包/段的丟失和/或數(shù)據(jù)段的重排序的結(jié)果。
TCP利用稱為“快速重傳”的機(jī)制/算法(在http://rfc.net/rfc2581.html上提供的IETF rfc2581中描述)快速檢測和修復(fù)由接收到的傳入的重復(fù)ACK的所標(biāo)識的包的丟失。在該算法中,重復(fù)ACK的接收被當(dāng)作是包丟失的指示。快速重傳算法采用3次重復(fù)ACK(沒有任何其它介于其間的包達(dá)到的4次同樣的ACK)的到達(dá)作為段已經(jīng)丟失(或被重排序)的指示。當(dāng)接收到三次這樣的重復(fù)ACK時,TCP執(zhí)行看來可能是遺失的數(shù)據(jù)段的重傳,而不需要等待重傳計時器期滿。
然而,如果在重傳超時期間內(nèi)沒有接收到足夠的重復(fù)ACK(即3次),快速重傳算法便不會被觸發(fā)。因而,存在特殊的問題場景,其中,即使包已經(jīng)丟失,快速重傳算法也得不到適當(dāng)?shù)赜|發(fā)。圖1說明了快速重傳算法的錯誤操作的示例代碼。
圖1示出了具有連接到網(wǎng)絡(luò)115例如因特網(wǎng)的發(fā)送終端110和接收終端120的基本IP網(wǎng)絡(luò)100。被示出的還有一系列的數(shù)據(jù)段通過網(wǎng)絡(luò)115從發(fā)送器110到接收器120的傳輸,以及ACK響應(yīng)從接收器120到發(fā)送器110的傳輸。所述傳輸?shù)挠嫊r由垂直時間線130跟蹤,其中時間沿該時間線的下行線增加(0到T)。箭頭指示來自或去往發(fā)送器和/或接收器的每次傳輸?shù)姆较?,并且每次ACK傳輸被標(biāo)記和描述為在整個過程中的步驟(例如步驟140、145…160)。
如數(shù)據(jù)段的初始傳輸之后的ACK響應(yīng)序列所示,因為接收器120的窗口信息隨最后的重復(fù)ACK(步驟155)已經(jīng)改變(從32000到32500),數(shù)據(jù)的發(fā)送器110不能確定重復(fù)ACK是否由失序包的接收導(dǎo)致。發(fā)送器接收到ACK,但卻不把該ACK視為重復(fù)ACK。在許多常規(guī)實現(xiàn)中,計時器(計數(shù)器)被復(fù)位至零(即CNT=0,而不是CNT=2)。隨著這種復(fù)位,重復(fù)ACK跟蹤過程必須重新開始。因而,對于將計數(shù)復(fù)位至零的實現(xiàn),隨后需要三次附加的重復(fù)ACK以啟動丟失包的快速重傳。即使對于保持計數(shù)(在以上例子中CNT=2)的實現(xiàn),也需要至少一次附加的重復(fù)ACK在重傳算法被觸發(fā)以重傳數(shù)據(jù)段之前被接收。如果發(fā)送器不能夠發(fā)送所需要數(shù)目的新的包(例如(a)如果不再有來自當(dāng)前正在等待對其請求的響應(yīng)的應(yīng)用的寫入,或(b)如果TCP被擁塞窗口限制),那么將不再產(chǎn)生重復(fù)ACK,并且不會發(fā)生快速重傳。
一些解決方案已經(jīng)被提出以解決上述關(guān)于快速重傳算法的問題。然而,在這些解決方案中的“限制傳輸”(Limited Transmit)算法(在http://rfc.net/rfc3042.html處描述)并不是被特別地設(shè)計以解決上述關(guān)于快速重傳算法的問題。但是,如果窗口信息在后續(xù)的重復(fù)ACK中再次改變(例如32000到32500),如通常發(fā)生的那樣(見圖1),則即是限制傳輸算法也不工作。特別地,限制傳輸算法和其它提出的解決方案全部專注于在過程的發(fā)送器端執(zhí)行修改。在http://info.iet.unipi.it/-luigi/sack.html處討論了一些其它的發(fā)送端的解決方案。每個這樣的解決方案都受到與快速重傳和限制傳輸算法之一或二者相同的限制。

發(fā)明內(nèi)容
公開了一種在TCP包/段丟失或以非順序的次序被接收時使能夠進(jìn)行快速重傳機(jī)制的接收器端觸發(fā)的方法、網(wǎng)絡(luò)接收器和TCP網(wǎng)絡(luò)。利用快速重傳支持(FRS)實用工具(utility),增強(qiáng)了接收器,所述快速重傳支持實用工具監(jiān)視何時下一個接收到的包失序,并且通過發(fā)送其中包含與先前的ACK相同窗口值的重復(fù)確認(rèn)(ACK)響應(yīng)來應(yīng)答。通過包含先前的時鐘時間,即使在當(dāng)前窗口值已經(jīng)前進(jìn)的時候,在發(fā)送器的快速重傳算法也會在超時期間之前觸發(fā)。
因此,每次數(shù)據(jù)接收器接收到失序包,該數(shù)據(jù)接收器發(fā)送確認(rèn)到該時所接收到的完整數(shù)據(jù)的重復(fù)ACK響應(yīng)。在一個實施例中,數(shù)據(jù)接收器存儲具有與先前的ACK相同窗口值的第一重復(fù)ACK的副本。接下來,即使接收窗口擴(kuò)展(例如當(dāng)應(yīng)用在接收窗口中讀取下一失序的包數(shù)據(jù)時),數(shù)據(jù)接收器在向數(shù)據(jù)發(fā)送器發(fā)出ACK時也不使用更新的窗口值。相反地,數(shù)據(jù)接收器發(fā)送存儲的重復(fù)ACK,其通告先前的/存儲的窗口值(即與先前的ACK內(nèi)的相同)。發(fā)送器因此讀取該重復(fù)ACK作為真正的復(fù)本(duplicate),并且使其計數(shù)器加1。
一旦在發(fā)送器處接收到閾值數(shù)目的重復(fù)ACK(例如3),該發(fā)送器就啟用快速重傳算法,其使得丟失的包(由重復(fù)ACK標(biāo)識)被重傳。發(fā)送器然后將計數(shù)器復(fù)位至零以開始重復(fù)ACK的新的計數(shù)。在該包被數(shù)據(jù)接收器接收時,數(shù)據(jù)接收器產(chǎn)生具有更新的窗口值的新的ACK,并且在網(wǎng)絡(luò)上發(fā)送所述新的ACK。當(dāng)新的窗口值在計數(shù)器達(dá)到預(yù)置閾值之前在ACK內(nèi)被接收時,用于快速重傳算法的計數(shù)器在數(shù)據(jù)發(fā)送器內(nèi)被復(fù)位。
上述以及本發(fā)明另外的目標(biāo)、特征和優(yōu)點在下面詳細(xì)書面描述中將變得顯而易見。


通過參照下面說明性實施例的詳細(xì)描述并結(jié)合閱讀附圖,本發(fā)明自身、以及優(yōu)選的使用模式、進(jìn)一步的目標(biāo)及其優(yōu)點將最好地被理解,附圖中圖1示出了數(shù)據(jù)段和ACK在發(fā)送器和常規(guī)接收器之間的現(xiàn)有技術(shù)的交換;圖2示出了可以在其中有利地實現(xiàn)本發(fā)明的特征的數(shù)據(jù)網(wǎng)絡(luò)的例子;圖3是被用作根據(jù)本發(fā)明一個實施例的數(shù)據(jù)接收器的示例性計算機(jī)系統(tǒng)的框圖;圖4是示出根據(jù)本發(fā)明的一個實施例,數(shù)據(jù)包/段和響應(yīng)ACK在數(shù)據(jù)發(fā)送器和增強(qiáng)的數(shù)據(jù)接收器之間的傳輸?shù)臅r序圖;圖5是示出根據(jù)本發(fā)明的一個實施例,增強(qiáng)的數(shù)據(jù)接收器在觸發(fā)丟失的數(shù)據(jù)包的早期快速重傳中采取的過程的流程圖;以及圖6A和圖6B分別是代表如本發(fā)明實施例中描述的數(shù)據(jù)包和ACK響應(yīng)包的框圖。
具體實施例方式
本發(fā)明提供了在TCP包/段丟失或以非順序的次序被接收時使得能夠進(jìn)行快速重傳機(jī)制的接收器端觸發(fā)的方法、網(wǎng)絡(luò)接收器和TCP網(wǎng)絡(luò)。利用快速重傳支持(FRS)實用工具,增強(qiáng)了接收器,所述快速重傳支持實用工具監(jiān)視何時下一個接收到的包失序,并且通過發(fā)送其中包含與先前的確認(rèn)(ACK)相同窗口值的重復(fù)ACK響應(yīng)來應(yīng)答。通過包含先前的時鐘時間,甚至在當(dāng)前窗口值已經(jīng)前進(jìn)時,在發(fā)送器的快速重傳算法也會在超時期間之前被觸發(fā)。
現(xiàn)在參照附圖,特別地,參照圖2,其說明了示例性網(wǎng)絡(luò),本發(fā)明的特征可以在該網(wǎng)絡(luò)內(nèi)被有利地實現(xiàn)。網(wǎng)絡(luò)200包括被示出為網(wǎng)絡(luò)云(network cloud)的網(wǎng)絡(luò)主干210。根據(jù)描述的實施例,網(wǎng)絡(luò)200使用傳輸控制協(xié)議(TCP)傳輸數(shù)據(jù)包(或段),并且網(wǎng)絡(luò)200是TCP/IP(網(wǎng)際協(xié)議)網(wǎng)絡(luò),例如因特網(wǎng)。連接到網(wǎng)絡(luò)主干210(例如經(jīng)由路由器或網(wǎng)關(guān)216)的是從中產(chǎn)生并發(fā)送數(shù)據(jù)包220的數(shù)據(jù)發(fā)送器215,以及接收并處理接收到的數(shù)據(jù)包220的數(shù)據(jù)接收器225。數(shù)據(jù)發(fā)送器215在此還可以被稱為始發(fā)終端/節(jié)點,而數(shù)據(jù)接收器225可以被稱為接收終端。在接收到數(shù)據(jù)包220時,數(shù)據(jù)接收器225產(chǎn)生被發(fā)送至數(shù)據(jù)發(fā)送器215的ACK響應(yīng)包(在此被稱為ACK)。根據(jù)公開的實施例,數(shù)據(jù)發(fā)送器215包括快速重傳算法并且用以下描述的幾種方式之一應(yīng)答ACK的接收,特別地,應(yīng)答預(yù)置數(shù)目的重復(fù)ACK的接收。
圖6A說明了數(shù)據(jù)包的例子,而圖6B說明了ACK的例子。數(shù)據(jù)包600包括若干節(jié)組成,包括(1)具有始發(fā)地址604、目的地址606、類型608和序號(或包ID)610的標(biāo)題節(jié);以及(2)數(shù)據(jù)有效負(fù)荷612。ACK620至少包括窗口值622和序號624,該序號對應(yīng)于用于在接收器處按順序接收到的最后的包的序號。數(shù)據(jù)包600和ACK 620二者僅被提供用于說明,并不意欲在本發(fā)明上強(qiáng)加任何限制。
與常規(guī)實現(xiàn)不同,數(shù)據(jù)接收器225被設(shè)計具有使數(shù)據(jù)接收器225能夠產(chǎn)生重復(fù)ACK而不改變先前的窗口值的附加功能,從而避免了在數(shù)據(jù)發(fā)送器215的重復(fù)ACK計數(shù)器的誤復(fù)位。圖3說明了在本發(fā)明的描述中被用作數(shù)據(jù)接收器225的計算機(jī)系統(tǒng)的主要部件。如示出的,數(shù)據(jù)接收器225包括處理器310,其經(jīng)由系統(tǒng)互連305被耦合到存儲器320和網(wǎng)絡(luò)接口設(shè)備(NID)330。NID330提供通過網(wǎng)關(guān)或路由器等到外部網(wǎng)絡(luò)的互連性。例如依賴于數(shù)據(jù)接收器225被連接到的網(wǎng)絡(luò)的類型,NID330可以是以太網(wǎng)卡或調(diào)制解調(diào)器。其它部件(未特別地示出)可以被設(shè)置在數(shù)據(jù)接收器內(nèi),例如輸入/輸出設(shè)備和其它外圍設(shè)備。因而,該圖示并不意欲暗示關(guān)于數(shù)據(jù)接收器225的任何結(jié)構(gòu)的或其它功能的限制,并且在此僅被提供用于說明和描述。
除了以上描述的數(shù)據(jù)接收器225的硬件部件,一些軟件和固件部件也被設(shè)置在數(shù)據(jù)接收器225內(nèi),以便使硬件設(shè)備能夠提供與數(shù)據(jù)接收器關(guān)聯(lián)的基本功能,以及如文中所述的,產(chǎn)生相同的重復(fù)ACK以觸發(fā)更快速的重傳的附加的功能。在這些軟件/固件部件中,有操作系統(tǒng)(OS)340、NID驅(qū)動器345和快速重傳支持(FRS)算法/實用工具350。由于與FRS實用工具350關(guān)聯(lián)的功能與經(jīng)由NID330的網(wǎng)絡(luò)傳輸直接相關(guān),因此FRS實用工具350被示出為與NID驅(qū)動器345連接(或關(guān)聯(lián))。當(dāng)其在數(shù)據(jù)包的接收期間被處理器310執(zhí)行的時候,F(xiàn)RS實用工具350實現(xiàn)提供以下參照圖4和圖5所描述的各種功能的算法(在數(shù)據(jù)接收器處)。
在數(shù)據(jù)接收器225內(nèi)(經(jīng)由在其中執(zhí)行的FRS算法/實用工具)進(jìn)行了使能實現(xiàn)本發(fā)明的功能的一些關(guān)鍵的增強(qiáng)。每次數(shù)據(jù)接收器225接收到失序包,數(shù)據(jù)接收器225發(fā)出確認(rèn)直到該時所接收到的完整數(shù)據(jù)的重復(fù)ACK。該數(shù)據(jù)接收器然后存儲包含當(dāng)前窗口值的ACK的副本。在一個實施例中,所述數(shù)據(jù)接收器存儲具有與先前的ACK相同窗口值的第一重復(fù)ACK的副本。接下來,即使接收窗口擴(kuò)展(例如當(dāng)應(yīng)用在接收窗口中讀取下一失序的包數(shù)據(jù)時),所述數(shù)據(jù)接收器在向數(shù)據(jù)發(fā)送器發(fā)出(通告)ACK時也不會使用更新的窗口值。相反地,所述數(shù)據(jù)接收器發(fā)送存儲的重復(fù)ACK,其通告先前的/存儲的窗口值(即與先前的ACK內(nèi)的相同)。所述發(fā)送器因此讀取重復(fù)ACK作為真正的復(fù)本,并且使其計數(shù)器加1。
一旦在發(fā)送器215接收到閾值數(shù)目的重復(fù)ACK(例如3),則該發(fā)送器215就啟動快速重傳算法,其使得丟失的包(被重復(fù)ACK標(biāo)識)被重傳。發(fā)送器215然后將計數(shù)器復(fù)位至零以重新開始重復(fù)ACK的計數(shù)。在該包被數(shù)據(jù)接收器接收時,數(shù)據(jù)接收器225產(chǎn)生具有更新的窗口值的新的ACK,并且在網(wǎng)絡(luò)上發(fā)送所述新的ACK。當(dāng)新的窗口值在計數(shù)器達(dá)到預(yù)置閾值之前在ACK內(nèi)被接收時,用于快速重傳算法的計數(shù)器在數(shù)據(jù)發(fā)送器225內(nèi)被復(fù)位。
從網(wǎng)絡(luò)的觀點看,所述FRS實用工具臨時凍結(jié)了接收器窗口的前進(jìn),即使當(dāng)無序包在接收器被讀取的時候窗口實際上前進(jìn)了。所述接收器然后僅更新一旦“丟失的”或“缺失的”包到達(dá)所述接收器就被發(fā)出的ACK內(nèi)的窗口值。所述FRS實用工具的處理功能防止了所述接收器在這樣的重復(fù)ACK內(nèi)發(fā)送窗口更新,該重復(fù)ACK被產(chǎn)生并被發(fā)送以信號通知接收到相對于先前的有序包的失序包。這于是使得所述快速重傳算法能被在發(fā)送端觸發(fā)。
圖4示出了數(shù)據(jù)段和ACK在數(shù)據(jù)發(fā)送器215和數(shù)據(jù)接收器225之間交換的示例性過程?;綢P網(wǎng)絡(luò)200包括連接到網(wǎng)絡(luò)主干210例如因特網(wǎng)的數(shù)據(jù)發(fā)送器215和數(shù)據(jù)接收器225。被示出的還有一系列通過網(wǎng)絡(luò)主干210從數(shù)據(jù)發(fā)送器215發(fā)送到數(shù)據(jù)接收器225的數(shù)據(jù)包/段,以及從數(shù)據(jù)接收器225發(fā)送到數(shù)據(jù)發(fā)送器215的ACK響應(yīng)。傳輸?shù)挠嫊r被垂直時間線跟蹤,其中時間沿該時間線的下行線增加(0到T)。箭頭指示來自或去往數(shù)據(jù)發(fā)送器215和/或數(shù)據(jù)接收器225的每次傳輸?shù)姆较?,并且每次ACK傳輸被標(biāo)記和描述為在重復(fù)ACK傳輸過程中的下一步驟(例如步驟440、445……460)。
各包包含序號,并且各ACK既包含對應(yīng)于所述包序號之一的序號,又包含窗口值。包長度(例如500)參照包的序號。此外,如所示的,在每個重復(fù)ACK內(nèi)的窗口值(32000)保持相同,直到已經(jīng)發(fā)出了三次重復(fù)ACK。即使實際的窗口值可能在第二和/或第三次重復(fù)ACK被發(fā)出之前已經(jīng)增加到32500,這樣的情況也會發(fā)生。
圖5是描述發(fā)生在傳輸?shù)臄?shù)據(jù)接收端的處理的流程圖。置于圓括號內(nèi)的每個塊號指示當(dāng)發(fā)生包的失序接收(例如對于丟失的包)時,由FRS實用工具在管理正確的窗口編號中所采取的過程步驟之一。當(dāng)數(shù)據(jù)接收器接收到傳輸中的第一數(shù)據(jù)段時(塊502),所述過程開始。數(shù)據(jù)接收器讀取數(shù)據(jù)并且使用當(dāng)前值設(shè)置窗口值,所述當(dāng)前值被示出為“W=32000”(塊504)。數(shù)據(jù)接收器然后產(chǎn)生ACK,將當(dāng)前窗口值(W=32000)置于所述ACK內(nèi),并且發(fā)送所述ACK至數(shù)據(jù)段的標(biāo)題部分內(nèi)被標(biāo)識的數(shù)據(jù)發(fā)送器(塊506)。數(shù)據(jù)接收器還將當(dāng)前窗口值存儲到存儲器(塊508)。
當(dāng)數(shù)據(jù)接收器接收到下一數(shù)據(jù)包時(塊510),數(shù)據(jù)接收器在塊512檢查數(shù)據(jù)段是否相對于先前接收到的數(shù)據(jù)段(由數(shù)據(jù)標(biāo)題內(nèi)相繼次序的標(biāo)記所標(biāo)識)被順序地接收。在產(chǎn)生新的ACK之前,數(shù)據(jù)接收器檢查窗口被存儲的值,并且如果該值是空值或“啟動/初始”值,而且接收到的包是失序的,數(shù)據(jù)接收器就使用被存儲的值。如果數(shù)據(jù)段以正確的順序次序被接收,數(shù)據(jù)接收器就處理數(shù)據(jù)并且更新當(dāng)前窗口值(例如W-32,500)(塊514)。然后,數(shù)據(jù)接收器產(chǎn)生標(biāo)記有新產(chǎn)生的窗口值W=32500的ACK(塊516)。這有效地復(fù)位了發(fā)送器內(nèi)的超時計數(shù)器。
然而,如果接收到的數(shù)據(jù)段是失序的,數(shù)據(jù)接收器(a)復(fù)制先前存儲的具有先前窗口值的ACK,或者產(chǎn)生具有先前窗口值的新的ACK(塊514)。數(shù)據(jù)接收器然后發(fā)送所述ACK至數(shù)據(jù)發(fā)送器(塊516)。就是說,數(shù)據(jù)接收器發(fā)送重復(fù)ACK,即具有相同窗口值和包ID的ACK。發(fā)送重復(fù)ACK的過程持續(xù)到數(shù)據(jù)發(fā)送器重傳/重發(fā)丟失的數(shù)據(jù)包的另一副本并且重傳的數(shù)據(jù)包在接收器處被接收。數(shù)據(jù)接收器225維持存儲的窗口值的副本(或最后的重復(fù)ACK),直到正確的包被接收或者所述數(shù)據(jù)接收器被復(fù)位(塊518)。一旦正確的包被接收,所述數(shù)據(jù)接收器恢復(fù)產(chǎn)生具有當(dāng)前窗口值的新的ACK。在一個實施例中,所述數(shù)據(jù)接收器也可包括檢錯機(jī)制,該檢錯機(jī)制跟蹤發(fā)出的重復(fù)ACK的數(shù)目,并且當(dāng)預(yù)置閾值的重復(fù)ACK在超時期間內(nèi)被接收(例如6次重復(fù)ACK)的時候,在向發(fā)送器的傳輸消息/信號中發(fā)出錯誤。
最后,重要的是,雖然本發(fā)明的說明性實施例已經(jīng)并且將繼續(xù)在已安裝管理軟件的、全功能的計算機(jī)系統(tǒng)的情境中被描述,但是本領(lǐng)域的技術(shù)人員將認(rèn)識到,本發(fā)明的說明性實施例的軟件方面能夠作為各種形式的程序產(chǎn)品被分發(fā),并且不論用于實際執(zhí)行分發(fā)的信號承載介質(zhì)的特定類型,本發(fā)明的說明性實施例都同樣適用。信號承載介質(zhì)的例子包括諸如軟盤、硬磁盤驅(qū)動器和光盤只讀存儲器(CD ROM)的可刻錄類型的介質(zhì),以及諸如數(shù)字和模擬通信鏈路的傳輸類型的介質(zhì)。
雖然本發(fā)明已經(jīng)被參照優(yōu)選實施例特別地示出和描述,本領(lǐng)域的技術(shù)人員將理解到,可以在不背離本發(fā)明的精神和范圍的情況下做出形式和細(xì)節(jié)上的各種變化。
權(quán)利要求
1.一種在網(wǎng)絡(luò)通信設(shè)備中的方法,包括接收來自始發(fā)設(shè)備的第二數(shù)據(jù)段;確定所述第二數(shù)據(jù)段是否以相對于先前接收到的第一數(shù)據(jù)段正確的序列次序被接收;當(dāng)所述第二數(shù)據(jù)段沒有以相對于先前接收到的第一數(shù)據(jù)段正確的序列次序被接收的時候提供確認(rèn)響應(yīng),所述確認(rèn)響應(yīng)包括對應(yīng)于在所述第一數(shù)據(jù)段的接收時間記錄的時鐘值的重復(fù)窗口值;以及向網(wǎng)絡(luò)發(fā)出具有所述重復(fù)窗口值的所述確認(rèn)響應(yīng),其中,使所述始發(fā)設(shè)備意識到在所述第一數(shù)據(jù)段之后順序發(fā)出的數(shù)據(jù)段沒有被所述網(wǎng)絡(luò)通信設(shè)備接收到,并且所述始發(fā)設(shè)備被觸發(fā)以啟動和/或更新快速重傳協(xié)議。
2.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括當(dāng)所述第二數(shù)據(jù)段以相對于先前接收到的第一數(shù)據(jù)段正確的序列次序被接收的時候,更新窗口值為當(dāng)前時鐘時間;產(chǎn)生具有當(dāng)前窗口值的確認(rèn)響應(yīng)以指示所述第二數(shù)據(jù)段以正確的順序次序被接收,所述當(dāng)前窗口值對應(yīng)于在所述第二數(shù)據(jù)段的當(dāng)前接收時間記錄的時鐘值;以及向所述網(wǎng)絡(luò)發(fā)出所述確認(rèn)響應(yīng)。
3.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括將在所述第一數(shù)據(jù)段的接收時間記錄的第一時鐘值存儲在所述網(wǎng)絡(luò)通信設(shè)備的存儲設(shè)施內(nèi);當(dāng)所述第二數(shù)據(jù)段以正確的序列次序被接收的時候,以更近的第二時鐘值更新存儲的第一時鐘值,其中,所述接收設(shè)備的所述第一時鐘值被更新至所述更近的第二時鐘值;以及當(dāng)所述第二數(shù)據(jù)段沒有以正確的序列次序被接收的時候,維持所述存儲設(shè)施內(nèi)存儲的所述第一時鐘值。
4.根據(jù)權(quán)利要求3所述的方法,其中,所述提供步驟包括通過使用所述存儲的時鐘值作為包含在響應(yīng)內(nèi)的窗口值來產(chǎn)生所述確認(rèn)響應(yīng)。
5.根據(jù)權(quán)利要求3所述的方法,其中,即使在所述接收設(shè)備的當(dāng)前的時鐘值被更新以說明所述第二數(shù)據(jù)段的接收的時候,仍完成所述維持步驟。
6.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括將具有在所述第一數(shù)據(jù)段的接收時間記錄的第一時鐘值的第一確認(rèn)響應(yīng)存儲在所述網(wǎng)絡(luò)通信設(shè)備的存儲設(shè)施內(nèi);產(chǎn)生包括第二時鐘值的新的確認(rèn)響應(yīng),所述第二時鐘值對應(yīng)于當(dāng)所述第二數(shù)據(jù)段以正確的序列次序被接收的時間;以及其中所述發(fā)出步驟包括在所述第二數(shù)據(jù)段的接收順序次序相對于所述第一數(shù)據(jù)段失序之后重新發(fā)出所述第一確認(rèn)響應(yīng)。
7.根據(jù)權(quán)利要求6所述的方法,其中,在所述產(chǎn)生新的確認(rèn)響應(yīng)之后,所述方法進(jìn)一步包括將所述新的確認(rèn)響應(yīng)存儲在所述網(wǎng)絡(luò)通信設(shè)備的存儲設(shè)施內(nèi);以及基于后續(xù)接收的數(shù)據(jù)段是否以相對于以正確的順序次序接收到的最后的數(shù)據(jù)段正確的順序次序被接收,確定何時重新發(fā)出所述新的確認(rèn)響應(yīng)或產(chǎn)生后續(xù)的確認(rèn)響應(yīng)。
8.一種網(wǎng)絡(luò)通信系統(tǒng),包括網(wǎng)絡(luò)接口;耦合到所述網(wǎng)絡(luò)接口的第一通信設(shè)備,并且其包括發(fā)送數(shù)據(jù)段的數(shù)據(jù)發(fā)送器和用于基于在超時期間內(nèi)接收到預(yù)置數(shù)目的連續(xù)重復(fù)確認(rèn)響應(yīng)而使能數(shù)據(jù)段的快速重傳的快速重傳機(jī)制;耦合到所述網(wǎng)絡(luò)接口的第二通信設(shè)備,并且其包括接收和處理數(shù)據(jù)段的數(shù)據(jù)接收器,所述數(shù)據(jù)接收器包括用于接收來自所述第一通信設(shè)備的第二數(shù)據(jù)段的裝置;用于確定所述第二數(shù)據(jù)段是否以相對于先前接收到的第一數(shù)據(jù)段正確的序列次序被接收的裝置;用于當(dāng)所述第二數(shù)據(jù)段沒有以相對于先前接收到的第一數(shù)據(jù)段正確的序列次序被接收的時候,提供確認(rèn)響應(yīng)的裝置,所述確認(rèn)響應(yīng)包括對應(yīng)于在所述第一數(shù)據(jù)段的接收時間記錄的時鐘值的重復(fù)的窗口值;以及用于向所述網(wǎng)絡(luò)接口發(fā)出具有所述重復(fù)的窗口值的所述確認(rèn)響應(yīng)的裝置,其中,使所述第一通信設(shè)備意識到在所述第一數(shù)據(jù)段之后順序發(fā)出的數(shù)據(jù)段沒有被所述第二通信設(shè)備接收,并且所述第一通信設(shè)備被觸發(fā)以啟動和/或更新所述快速重傳機(jī)制。
9.根據(jù)權(quán)利要求8所述的網(wǎng)絡(luò)通信系統(tǒng),所述數(shù)據(jù)接收器進(jìn)一步包括用于在所述第二數(shù)據(jù)段以相對于先前接收到的第一數(shù)據(jù)段正確的序列次序被接收的時候,將窗口值更新為當(dāng)前時鐘值的裝置;用于生成具有當(dāng)前窗口值的確認(rèn)響應(yīng)以指示所述第二數(shù)據(jù)段以正確的順序次序被接收的裝置,所述當(dāng)前窗口值對應(yīng)于在所述第二數(shù)據(jù)段當(dāng)前的接收時間記錄的時鐘值;以及用于向所述網(wǎng)絡(luò)接口發(fā)出所述確認(rèn)響應(yīng)的裝置。
10.根據(jù)權(quán)利要求8所述的網(wǎng)絡(luò)通信系統(tǒng),所述數(shù)據(jù)接收器進(jìn)一步包括用于將在所述第一數(shù)據(jù)段的接收時間記錄的第一時鐘值存儲在所述接收設(shè)備的存儲設(shè)施內(nèi)的裝置;用于當(dāng)所述第二數(shù)據(jù)段以正確的序列次序被接收的時候,利用更近的第二時鐘值更新存儲的第一時鐘值的裝置,其中,所述接收設(shè)備的所述第一時鐘值被更新至所述更近的第二時鐘值;以及用于當(dāng)所述第二數(shù)據(jù)段沒有以正確的序列次序被接收的時候,維持所述存儲設(shè)施內(nèi)存儲的所述第一時鐘值的裝置。
11.根據(jù)權(quán)利要求10所述的網(wǎng)絡(luò)通信系統(tǒng),其中,所述用于提供的裝置包括用于通過利用所述存儲的時鐘值作為包含在響應(yīng)內(nèi)的窗口值產(chǎn)生所述確認(rèn)響應(yīng)的裝置。
12.根據(jù)權(quán)利要求10所述的網(wǎng)絡(luò)通信系統(tǒng),其中,所述用于維持的裝置即使在所述接收設(shè)備的當(dāng)前的時鐘值被更新以說明所述第二數(shù)據(jù)段的接收的時候仍保留所述存儲設(shè)施內(nèi)存儲的時鐘值。
13.根據(jù)權(quán)利要求8所述的網(wǎng)絡(luò)通信系統(tǒng),所述數(shù)據(jù)接收器進(jìn)一步包括用于將具有在所述第一數(shù)據(jù)段的接收時間記錄的第一時鐘值的第一確認(rèn)響應(yīng)存儲在所述接收設(shè)備的存儲設(shè)施內(nèi)的裝置;用于產(chǎn)生包括這樣的第二時鐘值的新的確認(rèn)響應(yīng)的裝置,所述第二時鐘值對應(yīng)于當(dāng)所述第二數(shù)據(jù)段以正確的序列次序被接收的時間;以及其中所述用于發(fā)出的裝置包括用于在所述第二數(shù)據(jù)段的接收順序次序相對于所述第一數(shù)據(jù)段失序之后重新發(fā)出所述第一確認(rèn)響應(yīng)的裝置。
14.根據(jù)權(quán)利要求13所述的網(wǎng)絡(luò)通信系統(tǒng),其中,在實現(xiàn)所述用于產(chǎn)生新的確認(rèn)響應(yīng)的裝置之后,所述數(shù)據(jù)接收器提供用于將所述新的確認(rèn)響應(yīng)存儲在所述接收設(shè)備的存儲設(shè)施內(nèi)的裝置;以及用于基于后續(xù)接收到的數(shù)據(jù)段是否以相對于以正確的順序次序接收到的最后的數(shù)據(jù)段正確的順序次序被接收,確定何時重新發(fā)出所述新的確認(rèn)響應(yīng)或產(chǎn)生后續(xù)的確認(rèn)響應(yīng)的裝置。
全文摘要
一種在TCP包/段丟失或以非順序的次序被接收時使能進(jìn)行快速重傳機(jī)制的接收器端觸發(fā)的方法、網(wǎng)絡(luò)接收器和TCP網(wǎng)絡(luò)。利用快速重傳支持(FRS)實用工具,增強(qiáng)了所述接收器,所述快速重傳支持實用工具監(jiān)視何時隨后接收到的包失序,并且通過發(fā)送其中包含與先前的確認(rèn)相同的窗口值的重復(fù)確認(rèn)響應(yīng)來應(yīng)答。通過包含先前的時鐘時間,即使在當(dāng)前窗口值已經(jīng)前進(jìn)的時候,在發(fā)送器處的快速重傳算法也會在超時期間之前被觸發(fā)。
文檔編號H04L29/06GK1983911SQ20061014659
公開日2007年6月20日 申請日期2006年11月15日 優(yōu)先權(quán)日2005年12月12日
發(fā)明者V·文卡塔蘇布拉, S·克里希納, U·克里希南, K·拉馬林伽姆 申請人:國際商業(yè)機(jī)器公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
长沙县| 武义县| 新蔡县| 朝阳市| 旬邑县| 潜山县| 兴国县| 绥中县| 西昌市| 海丰县| 昆明市| 五华县| 巫山县| 邹平县| 凤山市| 会泽县| 晋州市| 明水县| 宜昌市| 新郑市| 河源市| 栾城县| 四子王旗| 东兰县| 灌阳县| 内黄县| 绵竹市| 阜南县| 清河县| 恭城| 昌黎县| 疏附县| 太保市| 玉溪市| 台南县| 呼伦贝尔市| 延安市| 开江县| 晋城| 弥渡县| 绥宁县|