亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

使用多個傳輸控制協(xié)議確認的傳輸控制協(xié)議擁塞控制的制作方法

文檔序號:7952365閱讀:123來源:國知局
專利名稱:使用多個傳輸控制協(xié)議確認的傳輸控制協(xié)議擁塞控制的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及使用多個傳輸控制協(xié)議(TCP)確認(Ack)的TCP擁塞控制。更具體地,在其中移動節(jié)點經(jīng)由TCP連接執(zhí)行與有線網(wǎng)絡(luò)服務(wù)器的通信的有線-無線綜合網(wǎng)絡(luò)中,本發(fā)明涉及通過使用多個TCP確認來解決伴隨傳統(tǒng)TCP擁塞控制發(fā)生的問題,以便避免由于移動節(jié)點的運動引起的分組丟失所導(dǎo)致的TCP終端節(jié)點之間的性能降低。
背景技術(shù)
在無線-有線綜合環(huán)境中,經(jīng)由與有線對應(yīng)節(jié)點(CN)或服務(wù)器的傳輸控制協(xié)議(TCP)連接,移動節(jié)點(MN)具有例如網(wǎng)絡(luò)和電子郵件服務(wù)的因特網(wǎng)服務(wù)。移動IP協(xié)議用于避免TCP連接流由于MN的運動而導(dǎo)致中斷。
隨著當前MN的普及性增加,用戶在任意位置經(jīng)由MN要求因特網(wǎng)服務(wù)同樣也增加。然而,只考慮了具有相對較低分組丟失率的有線網(wǎng)絡(luò)或靜止節(jié)點,來設(shè)計廣泛地用于MN和CN之間的數(shù)據(jù)傳輸?shù)腡CP協(xié)議。因此,當用于性能較差的無線網(wǎng)絡(luò)或有線-無線綜合網(wǎng)絡(luò)時,端到端等待時間很長,以及在切換期間,由于高分組丟失率而導(dǎo)致經(jīng)常發(fā)生分組丟失,TCP協(xié)議包含多個問題,例如節(jié)點之間的性能降低。
考慮了有線或固定網(wǎng)絡(luò)來設(shè)計傳統(tǒng)的TCP協(xié)議。在現(xiàn)有有線網(wǎng)絡(luò)中,分組丟失率較低并且不經(jīng)常發(fā)生中斷。因此,主要由由于例如網(wǎng)絡(luò)的中間節(jié)點中的緩沖溢出而導(dǎo)致的擁塞引起有線網(wǎng)絡(luò)中的分組丟失。因此,TCP協(xié)議執(zhí)行擁塞控制算法,例如慢啟動(slow start)和擁塞避免,來減少進入網(wǎng)絡(luò)的數(shù)據(jù)量,從而避免進一步擁塞。
擁塞控制是一種用于解決由于輸入流量超出網(wǎng)絡(luò)設(shè)備容量或者集中在網(wǎng)絡(luò)設(shè)備持續(xù)過載的特定端口而導(dǎo)致的擁塞的技術(shù)。
已經(jīng)在例如1990年的TCP Reno的各種版本中實現(xiàn)了從1988年的TCP Tahoe到1995年的TCP Vegas的TCP擁塞控制機制。TCP擁塞控制機制具有基本算法,包括慢啟動、擁塞避免和快速重發(fā)。
TCP擁塞控制的主要目的是直接控制發(fā)送節(jié)點的發(fā)送率,以便重發(fā)由于擁塞而毀壞的數(shù)據(jù)。TCP是一種屬于OSI參考模型第四層的協(xié)議,并且在終端節(jié)點之間產(chǎn)生作用,而與發(fā)送和接收節(jié)點之間的節(jié)點數(shù)目無關(guān)。TCP形成具有發(fā)送和接收節(jié)點作為兩端的環(huán),并且通過對該環(huán)采用發(fā)送自發(fā)送側(cè)的確認信息、窗口和超時功能,實現(xiàn)擁塞控制機制。
TCP Tahoe之前的TCP版本通過發(fā)送與接收節(jié)點所建議的窗口尺寸相對應(yīng)的段,建立連接和開始發(fā)送。即,如果接收節(jié)點告知的窗口尺寸大于一個段的尺寸,可能發(fā)送多個段。然而,如果在兩個終端節(jié)點之間發(fā)生擁塞或存在慢鏈路,中間節(jié)點或路由器必須緩存分組。然而,如果任何路由器具有不足的緩沖容量,在緩存期間發(fā)生分組丟失。因此,由于檢測分組丟失的延遲和重發(fā)的延遲,分組丟失急劇地降低了TCP處理率。這被稱為擁塞崩潰。
為了解決擁塞崩潰,引入“保留分組”的原則。該原則表示當前設(shè)置的連接處于平衡中,例如其中在完全發(fā)送一個分組之前不發(fā)送新的分組。盡管根據(jù)該陳述理論上不可能具有擁塞,實際上在因特網(wǎng)中發(fā)生擁塞。存在一些原因例如,當前設(shè)置的連接沒有達到平衡,在完全發(fā)送一個分組之前發(fā)送節(jié)點發(fā)送了新的分組,或者在當前路徑中由于有限的網(wǎng)絡(luò)源而不可能達到平衡。
“慢啟動”是一種算法,設(shè)計用于當前設(shè)置的連接沒有達到平衡的情況。按照字面意義,這表示以低速率開始發(fā)送,以便當前設(shè)置的連接達到平衡。沒有從接收節(jié)點接收“Ack”消息,則發(fā)送節(jié)點不能夠發(fā)送新的段,并且在從發(fā)送節(jié)點接收到段之前,接收節(jié)點同樣不能夠發(fā)送“Ack”消息。因此,發(fā)送自接收節(jié)點的“Ack”消息用作為一種計時器。
在發(fā)送相等數(shù)據(jù)尺寸的段的情況下,當通過慢發(fā)送速率的鏈路時發(fā)送延遲很嚴重,并且在根據(jù)延遲的間隔處發(fā)生“Ack”。因此,即使發(fā)送節(jié)點可以以較快速率發(fā)送段,沒有接收到“Ack”則不能夠發(fā)送新的段。
慢啟動給傳統(tǒng)TCP添加了擁塞窗口(cwnd)。當由于擁塞或在初始連接設(shè)置處發(fā)生段丟失時,將cwnd初始化為1。發(fā)送節(jié)點根據(jù)接收節(jié)點和cwnd值所建議的較小一個窗口來確定發(fā)送窗口尺寸。
當接收節(jié)點發(fā)送“Ack”時,cwnd值增加一。即,當發(fā)送節(jié)點建立新的連接、發(fā)送一個段并接收到該段的“Ack”時,發(fā)送節(jié)點可以發(fā)送兩個段。當接收到兩個段的“Ack”時,發(fā)送節(jié)點可以發(fā)送4個段。段按照8、16等指數(shù)地增加,直到達到擁塞避免開始工作的慢啟動閾值(Wt)。
在發(fā)送和接收節(jié)點之間發(fā)生的分組丟失是由物理錯誤或在由于擁塞引起的緩存期間緩存空間不足導(dǎo)致的。發(fā)送技術(shù)和媒體的近期發(fā)展顯著地減少了物理丟失的部分。因此,多數(shù)分組丟失是由于擁塞引起的。當然,在具有相對較高發(fā)送錯誤概率的無線鏈路中,該假設(shè)無效。
擁塞避免進行告知擁塞的過程和減少在擁塞情況下使用的當前網(wǎng)絡(luò)的過程。即使是不同的算法,慢啟動和擁塞避免共同工作。
當設(shè)置新的連接時,初始擁塞窗口值被設(shè)置為1段。在擁塞的情況下,當前cwnd尺寸的1/2被設(shè)置為Wt值。如果由于超時導(dǎo)致?lián)砣?,cwnd值再次變?yōu)?,即,慢啟動模式。如果沒有擁塞,cwnd值根據(jù)可以是慢啟動cwnd或擁塞避免cwnd的當前狀態(tài),以不同模式繼續(xù)增加。在慢啟動模式中,當接收到“Ack”時,如上所述,cwnd值增加一,直到cwnd值等于當前設(shè)置的Wt值。如果cwnd值等于當前設(shè)置的Wt值,其后,進入擁塞避免模式。
在擁塞避免模式中,當接收到“Ack”時,cwnd值增加‘1/cwnd’。相比于慢啟動模式值的指數(shù)cwnd增加,這被稱為線性增加。
在以最小重發(fā)閾值接收復(fù)制的Ack時,TCP重發(fā)相應(yīng)的段,而與重發(fā)定時器無關(guān)。這被稱為快速重發(fā)。在這種情況下,例如,在超時之前Ack沒有到達的情況下,由傳輸TCP產(chǎn)生復(fù)制Ack。
重發(fā)定時器是一種包含在TCP中以便處理由于丟失或毀壞而丟棄的段的定時器。重發(fā)定時器被定義為在已經(jīng)發(fā)送段之后等待Ack的時間周期。當發(fā)送段時,TCP操作相應(yīng)段的重發(fā)定時器。當在定時器過期之前接收到相應(yīng)段的Ack時,定時器終止。當在接收到Ack之前定時器的時間周期已經(jīng)過期時,重發(fā)相應(yīng)段,并且初始化定時器。
例如,如果重發(fā)閾值是3,當接收到三個復(fù)制Ack時,發(fā)送節(jié)點認為相應(yīng)段丟失,并且重發(fā)相應(yīng)段。
與上述有線網(wǎng)絡(luò)中的擁塞控制不同,在無線鏈路中,相比于有線鏈路,發(fā)現(xiàn)相對較高的誤碼率(BER)。此外,帶寬是有限的,并且在無線鏈路中經(jīng)常發(fā)生切換。因此,盡管有線網(wǎng)絡(luò)中的分組丟失是中間路由器中的擁塞所導(dǎo)致的,在包括無線鏈路的環(huán)境中的分組丟失的發(fā)生歸因于高的BER或切換。
因此,當在無線鏈路中發(fā)生分組丟失時,發(fā)送側(cè)必須以更快的速率發(fā)送分組。然而,當前的TCP發(fā)送側(cè)認為無線鏈路中的分組丟失同樣是由網(wǎng)絡(luò)擁塞導(dǎo)致的,并且執(zhí)行擁塞控制算法來減慢TCP發(fā)送速率。這明顯地降低TCP性能并降低了網(wǎng)絡(luò)效率。
對于有線-無線綜合網(wǎng)絡(luò),當應(yīng)用在TCP協(xié)議中使用的擁塞控制算法時發(fā)生性能降低的原因如下。首先,從CN將數(shù)據(jù)發(fā)送到MN。響應(yīng)來自CN的數(shù)據(jù),MN發(fā)送相應(yīng)的數(shù)據(jù)。然而,當無線鏈路中發(fā)生分組崩潰時,在超時時間段期間CN沒有接收到“Ack”分組。則,CN誤認為網(wǎng)絡(luò)擁塞,并因此運行擁塞控制算法,以慢速率啟動,并且調(diào)用擁塞避免算法將擁塞窗口的尺寸重新設(shè)置為1。
如上所述,擁塞窗口值是在TCP中不需要來自對應(yīng)節(jié)點的任意響應(yīng)而可以發(fā)送分組的最大數(shù)目。因此,當擁塞窗口值變小時,TCP發(fā)送速率同樣減小,并且TCP性能與擁塞窗口值成比例地降低。在CN中,在無線鏈路期間,對發(fā)送數(shù)據(jù)的響應(yīng)同樣崩潰。如果在超時時間段內(nèi)沒有接收到“Ack”分組,擁塞控制算法進行操作,同樣降低了MN的TCP性能。
因此,當現(xiàn)有技術(shù)共有的TCP擁塞控制算法被應(yīng)用于有線-無線綜合網(wǎng)絡(luò)時,即使實際網(wǎng)絡(luò)沒有擁塞,由于無線網(wǎng)絡(luò)的高分組丟失率,TCP性能變差。這使得在包括無線鏈路的網(wǎng)絡(luò)中必須改進TCP擁塞控制算法。

發(fā)明內(nèi)容
因此,本發(fā)明的目的是提供一種使用多個TCP確認的TCP擁塞控制系統(tǒng)和方法,按照該系統(tǒng)和方法,修改TCP擁塞控制機制,從而當接收到毀壞的分組時,MN產(chǎn)生多個TCP確認并將其發(fā)送到發(fā)送節(jié)點,發(fā)送節(jié)點相應(yīng)地執(zhí)行TCP發(fā)送,以便迅速地減少TCP性能降低。
根據(jù)本發(fā)明用于實現(xiàn)上述目的的一個方案,提供了一種在包括無線鏈路的綜合網(wǎng)絡(luò)中使用多個傳輸控制協(xié)議(TCP)ACK的TCP擁塞控制方法,該方法包括當移動節(jié)點在接收到的分組中具有分組丟失時,接收從對應(yīng)節(jié)點重發(fā)的分組;計算移動節(jié)點要發(fā)送的確認消息的數(shù)目;根據(jù)計算的數(shù)目產(chǎn)生多個確認消息,并且將多個確認消息發(fā)送到發(fā)送節(jié)點;以及增加與發(fā)送節(jié)點接收到的多個確認消息相對應(yīng)的擁塞窗口值,并執(zhí)行TCP發(fā)送。
優(yōu)選地,實現(xiàn)接收、計算、發(fā)送、增加和執(zhí)行,與網(wǎng)絡(luò)層協(xié)議無關(guān)。
優(yōu)選地,網(wǎng)絡(luò)層協(xié)議包括從由以下協(xié)議組成的組中選出的至少一個協(xié)議因特網(wǎng)協(xié)議(IP)、因特網(wǎng)協(xié)議版本6(IPv6)、無線IP和移動IPv6(MIPv6)。
產(chǎn)生多個確認消息包括將包含在當前接收到的分組的TCP報頭中的序號與當前最大序號進行比較,當前最大序號是已經(jīng)接收到的分組的序號中的最大號碼;以及當當前接收到的分組的序號大于當前最大序號時,更新當前接收到的分組的序號作為新的最大序號,以及當當前接收到的分組的序號等于或小于當前最大序號時,產(chǎn)生多個確認分組。
產(chǎn)生多個確認分組包括計算期望的序號,期望的序號是移動節(jié)點期望的下一個分組的序號;計算確認數(shù)據(jù)長度,確認數(shù)據(jù)長度是移動節(jié)點要發(fā)送的多個確認分組的整個長度;確定移動節(jié)點要產(chǎn)生并發(fā)送的確認分組的數(shù)目;將從最后的確認序列到期望序號的分組范圍平均地劃分為與確認分組數(shù)目相對應(yīng)的分組部分,并且根據(jù)劃分的確認分組部分來計算各個確認號碼字段值;以及根據(jù)計算的各個確認號碼字段值來產(chǎn)生各個確認分組,并且將各個確認分組發(fā)送到發(fā)送節(jié)點。
優(yōu)選地,通過從期望序號中減去最后的確認序列,來確定確認數(shù)據(jù)長度。
優(yōu)選地,使用接收到的TCP分組的序號、數(shù)據(jù)長度和TCP控制塊的接收緩存信息,來計算期望的序號。
優(yōu)選地,通過將廣告窗口值除以最大段尺寸,來確定確認分組的數(shù)目,廣告窗口值是移動節(jié)點當前可用的接收緩存尺寸,以及最大段尺寸是移動節(jié)點可以接收的最大數(shù)據(jù)尺寸。
優(yōu)選地,各個確認號碼字段值將最后的序號作為初始值,并且優(yōu)選地,在增加預(yù)定尺寸的同時變化,直到確認號碼字段值等于期望的序號。
優(yōu)選地,通過將確認數(shù)據(jù)長度除以確認分組的數(shù)目,來確定所述預(yù)定尺寸。
根據(jù)本發(fā)明用于實現(xiàn)上述目的的另一方案,提供了一種在包括無線鏈路的綜合網(wǎng)絡(luò)中使用多個傳輸控制協(xié)議(TCP)ACK的TCP擁塞控制方法,該方法包括在移動節(jié)點,將包含在當前接收到的分組的TCP報頭中的序號與已經(jīng)接收到的當前最大序號進行比較,來確定在網(wǎng)絡(luò)中是否存在TCP分組丟失,最大序號是分組的最大序號;以及當確定存在TCP分組丟失時,計算期望的序號,期望的序號是移動節(jié)點期望的下一個分組的序號;計算確認數(shù)據(jù)長度,確認數(shù)據(jù)長度是移動節(jié)點要發(fā)送的多個確認分組的整個長度;確定移動節(jié)點要產(chǎn)生和發(fā)送的確認分組的數(shù)目;將從最后的確認序列到期望序號的分組范圍平均地劃分為與確認分組數(shù)目相對應(yīng)的分組部分,并且根據(jù)劃分的確認分組部分來計算各個確認號碼字段值;以及根據(jù)計算的各個確認號碼字段值來產(chǎn)生各個確認分組,并且將各個確認分組發(fā)送到發(fā)送節(jié)點。
優(yōu)選地,實現(xiàn)該方法,與網(wǎng)絡(luò)層協(xié)議無關(guān)。
優(yōu)選地,網(wǎng)絡(luò)層協(xié)議包括從由以下協(xié)議組成的組中選出的至少一個協(xié)議因特網(wǎng)協(xié)議(IP)、因特網(wǎng)協(xié)議版本6(IPv6)、無線IP和移動IPv6(MIPv6)。
根據(jù)本發(fā)明用于實現(xiàn)上述目的的另一方案,提供了一種移動節(jié)點,位于包括無線鏈路并使用傳輸控制協(xié)議(TCP)實現(xiàn)通信的綜合網(wǎng)絡(luò)中,所述移動節(jié)點適合于執(zhí)行TCP擁塞控制方法,該方法包括將包含在當前接收到的分組的TCP報頭中的序號與已經(jīng)接收到的當前最大序號進行比較,來確定在網(wǎng)絡(luò)中是否存在TCP分組丟失,最大序號是分組的最大序號;當確定存在TCP分組丟失時,計算期望的序號,期望的序號是移動節(jié)點期望的下一個分組的序號,以及確認數(shù)據(jù)長度,確認數(shù)據(jù)長度是移動節(jié)點要發(fā)送的多個確認分組的整個長度和移動節(jié)點要產(chǎn)生和發(fā)送的確認分組的數(shù)目;將從最后的確認序列到期望序號的分組范圍平均地劃分為與確認分組數(shù)目相對應(yīng)的分組部分,并且根據(jù)劃分的確認分組部分來計算各個確認號碼字段值;以及根據(jù)計算的各個確認號碼字段值來產(chǎn)生各個確認分組,并且將各個確認分組發(fā)送到發(fā)送節(jié)點。
優(yōu)選地,通過從期望序號中減去最后的確認序列,來確定確認數(shù)據(jù)長度。
優(yōu)選地,通過將廣告窗口值除以最大段尺寸,來確定確認分組的數(shù)目,廣告窗口值是移動節(jié)點當前可用的接收緩存尺寸,以及最大段尺寸是移動節(jié)點可以接收的最大數(shù)據(jù)尺寸。
優(yōu)選地,各個確認號碼字段值將最后的序號作為初始值,并且優(yōu)選地,在增加預(yù)定尺寸的同時變化,直到確認號碼字段值等于期望的序號。
優(yōu)選地,通過將確認數(shù)據(jù)長度除以確認分組的數(shù)目,來確定所述預(yù)定尺寸。
根據(jù)本發(fā)明用于實現(xiàn)上述目的的另一方案,提供了一種移動節(jié)點,位于包括無線鏈路并使用傳輸控制協(xié)議(TCP)實現(xiàn)通信的綜合網(wǎng)絡(luò)中,所述移動節(jié)點適合于執(zhí)行TCP擁塞控制方法,該方法包括從響應(yīng)分組丟失而產(chǎn)生并發(fā)送多個確認消息的相應(yīng)移動節(jié)點接收多個確認消息;增加與移動節(jié)點接收到的多個確認消息相對應(yīng)的擁塞窗口值;以及實現(xiàn)TCP發(fā)送。
根據(jù)本發(fā)明用于實現(xiàn)上述目的的另一方案,提供了一種系統(tǒng),位于包括無線鏈路并且執(zhí)行傳輸控制協(xié)議(TCP)擁塞控制的綜合網(wǎng)絡(luò)中,該系統(tǒng)包括接收節(jié)點,適用于當移動節(jié)點在接收到的分組中具有分組丟失時,接收從對應(yīng)節(jié)點重發(fā)的分組,計算要發(fā)送的確認消息的數(shù)目,根據(jù)計算的數(shù)目產(chǎn)生多個確認消息,以及將多個確認消息發(fā)送到對應(yīng)節(jié)點;以及發(fā)送節(jié)點,適用于從接收節(jié)點接收多個確認消息,增加與接收到的多個確認消息相對應(yīng)的擁塞窗口值,以及實現(xiàn)TCP發(fā)送。
根據(jù)本發(fā)明的多個TCP ACK產(chǎn)生方法可以簡單、有效地補償由于切換而導(dǎo)致的TCP性能降低,并且可以容易地被應(yīng)用于移動節(jié)點。


結(jié)合附圖,通過參考下面詳細的說明,可以更好地理解本發(fā)明,并且顯而易見其伴隨的多個優(yōu)點,附圖中類似的參考符號表示相同或類似的組件,其中圖1是將普通TCP擁塞控制算法應(yīng)用于有線-無線綜合網(wǎng)絡(luò)的分組丟失過程的視圖;圖2是應(yīng)用本發(fā)明的有線-無線綜合網(wǎng)絡(luò)的通用結(jié)構(gòu)的視圖;圖3是根據(jù)本發(fā)明實施例的多個TCP確認方法中的操作協(xié)議棧的視圖;圖4是根據(jù)本發(fā)明實施例的多媒體服務(wù)控制流的視圖;圖5是根據(jù)本發(fā)明實施例的MN的MTAG模塊中的詳細處理流的視圖;以及圖6是根據(jù)本發(fā)明實施例的MTAG模塊處理的視圖。
具體實施例方式
圖1是將普通TCP擁塞控制算法應(yīng)用于有線-無線綜合網(wǎng)絡(luò)的分組丟失過程的視圖。
即,圖1是對于有線-無線綜合網(wǎng)絡(luò),應(yīng)用TCP協(xié)議中使用的擁塞控制算法時發(fā)生性能降低的原因的視圖。首先,從CN將數(shù)據(jù)發(fā)送到MN。響應(yīng)來自CN的數(shù)據(jù),MN發(fā)送相應(yīng)的數(shù)據(jù)。然而,當無線鏈路中發(fā)生分組崩潰(毀壞1)時,在超時時間段期間CN沒有接收到“Ack”分組。則,CN誤認為網(wǎng)絡(luò)擁塞,并且調(diào)用擁塞控制算法,以慢速率啟動,并調(diào)用擁塞避免算法將擁塞窗口的尺寸重新設(shè)置為1。
如上所述,擁塞窗口值是在TCP中不需要來自對應(yīng)節(jié)點的任意響應(yīng)而可以發(fā)送分組的最大數(shù)目。因此,當擁塞窗口值變小時,TCP發(fā)送速率同樣減小,并且TCP性能與擁塞窗口值成比例地降低。在CN中,在無線鏈路期間,對發(fā)送數(shù)據(jù)的響應(yīng)同樣崩潰(毀壞2)。如果在超時時間段內(nèi)沒有接收到“Ack”分組,擁塞控制算法進行操作,同樣降低了MN的TCP性能。
下面結(jié)合附圖來詳細說明本發(fā)明的優(yōu)選實施例。
圖2是應(yīng)用本發(fā)明的有線-無線綜合網(wǎng)絡(luò)的通用結(jié)構(gòu)的視圖。
如圖2所示,有線-無線綜合網(wǎng)絡(luò)在左側(cè)經(jīng)由因特網(wǎng)與有線鏈路相連,在右側(cè)與移動通信網(wǎng)絡(luò)所代表的無線鏈路相連。
MN 200代表位于圖2的有線-無線綜合網(wǎng)絡(luò)的無線網(wǎng)絡(luò)中的移動節(jié)點,并且其范例包括圖2所示的移動主機或移動筆記本計算機。MN200經(jīng)由基站120與因特網(wǎng)相連。
對應(yīng)節(jié)點(CN)100表示對應(yīng)的TCP對等節(jié)點。盡管CN 100可以是MN或固定節(jié)點,在圖2網(wǎng)絡(luò)中只由固定節(jié)點表示。圖2中的CN可以是從由以下設(shè)備組成的組中選出的任何單元與有線鏈路相連的電子郵件服務(wù)器、網(wǎng)絡(luò)服務(wù)器和固定主機。
假設(shè)應(yīng)用本發(fā)明的圖2網(wǎng)絡(luò)的MN 200和CN 100被用于執(zhí)行TCP通信,并且后面將說明的本發(fā)明典型實施例假設(shè)CN 100作為發(fā)送側(cè)將TCP分組發(fā)送到作為接收側(cè)的MN 200。
圖3是根據(jù)本發(fā)明實施例的多個TCP確認方法中的操作協(xié)議棧的視圖。
換句話說,圖3是用于提供根據(jù)本發(fā)明實施例的多個確認方法的多個TCP ACK產(chǎn)生(MTAG)模塊210在TCP/IP層模型中的位置的視圖。
TCP/IP層模型具有在最低層物理地發(fā)送數(shù)據(jù)的硬件,和位于比硬件更高的層中的網(wǎng)絡(luò)接口(數(shù)據(jù)鏈路)層。網(wǎng)絡(luò)接口層用作通過例如以太網(wǎng)等數(shù)據(jù)鏈路進行通信的接口。
在高于網(wǎng)絡(luò)接口層的層中,網(wǎng)絡(luò)層(因特網(wǎng)層)使用IP協(xié)議。IP協(xié)議根據(jù)IP地址來發(fā)送分組。因為假設(shè)CN 100與固定網(wǎng)絡(luò)相連,在CN 100中可以使用IP、IPv6等。MN 200可以使用IP/IPv6以及針對無線環(huán)境的移動IP(MIP)/MIPv6。
傳輸層存在于高于網(wǎng)絡(luò)層的層中。傳輸層最重要的功能是能夠在應(yīng)用程序之間進行通信。MTAG模塊210位于傳輸層中。因為在本發(fā)明典型實施例中假設(shè)MN 200作為接收側(cè),在MN 200的傳輸層中存在MTAG模塊210。在CN 100和MN 200中,應(yīng)用層存在于高于傳輸層的層中。
如圖3所示,在MN 200的TCP層中,多個TCP ACK產(chǎn)生方法被應(yīng)用于處理接收分組。MN 200包括用于實施多個TCP ACK產(chǎn)生方法的MTAG模塊210。MTAG模塊210修正并補充TCP擁塞控制協(xié)議,以便可以快速恢復(fù)由于切換導(dǎo)致的TCP性能下降。
從圖3中可見,多個TCP ACK產(chǎn)生方法可以應(yīng)用于所有的IPv4/IPv6環(huán)境,即,網(wǎng)絡(luò)層中使用的協(xié)議。換句話說,根據(jù)本發(fā)明實施例的多個TCP ACK產(chǎn)生方法工作在MN的TCP層中,并因此獨立于網(wǎng)絡(luò)層協(xié)議。
圖4是根據(jù)多個TCP ACK產(chǎn)生方法的MN的接收分組處理的視圖。
為了存儲迄今已經(jīng)接收到的最大的分組序號,在MN 200的TCP層中設(shè)置最大序號變量(max_seq_no)。當在S401中MN 200從CN 100接收到TCP分組時,在S402中,MN 200將接收分組的TCP報頭的序號字段(seq_no)值與最大序號進行比較。如果接收分組的序號大于最大序號,MN 200認為已經(jīng)接收到正常分組,并在S403中將當前接收到的分組的序號重新設(shè)置為最大序號。即,MN 200將最大序號更新為正常接收到的分組的序號,并且在S405中將正常接收到的分組提供給接收數(shù)據(jù)處理步驟。
在此,TCP段序號表示分配給包含在相應(yīng)TCP段中的數(shù)據(jù)的第一字節(jié)的序號。為了確保可靠連接,TCP給每一個轉(zhuǎn)發(fā)字節(jié)分配序號,序號告知目的TCP段第一字節(jié)與該序號相對應(yīng)。
如果接收分組的序號等于或小于最大序號,這表示接收到重發(fā)分組。因為無線鏈路錯誤導(dǎo)致分組丟失,并因此發(fā)送TCP中的重發(fā)定時器超時,發(fā)生分組重發(fā)。在CN的TCP層中進行重發(fā)的情況下,擁塞窗口值減為1或1/2,以及TCP發(fā)送速率同樣減小。在S404中,由MN側(cè)中的TCP層的MTAG處理模塊來處理來自CN的分組重發(fā)。
在S405中,MTAG模塊產(chǎn)生并將多個ACK分組發(fā)送到CN,并隨后將接收分組提供給接收數(shù)據(jù)處理步驟。即,MTAG模塊產(chǎn)生多個TCP ACK分組,來響應(yīng)作為將由MN的TCP層發(fā)送的ACK分組的新數(shù)據(jù)。并將TCP ACK分組發(fā)送到CN,以便CN的擁塞窗口值迅速恢復(fù)到切換前的值。
圖5是根據(jù)本發(fā)明實施例的MN的MTAG模塊中詳細的處理流的視圖。
因為上面已經(jīng)詳細說明了MTAG模塊210的基本操作,下面結(jié)合圖5進一步說明MTAG模塊210的詳細和具體的操作。
首先,MTAG模塊使用如下的變量期望序號(ack_seq_no)MN期望的下一個分組的序號;最后確認序列(last_ack_seq)MN最后發(fā)送的TCP ACK分組的確認號碼字段值;確認數(shù)據(jù)長度(ack_data_len)要由MN發(fā)送到CN的ACK分組的整個長度;多確認序列(multi_ack_seq)要由MN發(fā)送到CN的ACK分組的確認號碼字段值;N要由MN產(chǎn)生并發(fā)送的ACK分組的數(shù)目。
通過使用上面的變量,MTAG模塊210如圖5所示進行操作。
為了產(chǎn)生多個有效ACK分組來代替發(fā)送ACK分組,在S501中,使用優(yōu)先接收到的TCP分組的序號以及TCP控制塊的數(shù)據(jù)長度和接收緩存信息,來計算下一個期望的序號。在此,根據(jù)傳統(tǒng)TCP方法執(zhí)行期望序號計算。然而,本發(fā)明沒有提出具體的計算方法。
當產(chǎn)生ack_seq_no時,在S502中,可以通過從ack_seq_no中減去last_ack_seq產(chǎn)生ack_data_len。即,可以表達為“ack_data_len=ack_seq_no-last_ack_seq。”確定ack_data_len,即要由接收TCP發(fā)送的ACK分組的整個數(shù)據(jù)長度,是確定為了發(fā)送要將ACK分組劃分為的組數(shù)目。N是該過程所必需的。如上所定義,N表示要由MN 200產(chǎn)生并發(fā)送的ACK分組的數(shù)目。
不是隨機地確定N,而是在S503中,通過將廣告窗口(awnd)除以最大段尺寸(MSS)來確定N。即,根據(jù)MN 200可用的接收緩存尺寸,確定N,因為如果隨機地發(fā)送和接收,多個ACK分組會引起網(wǎng)絡(luò)擁塞。
作為由接收TCP轉(zhuǎn)發(fā)到發(fā)送TCP的值,awnd指定MN 200當前可用的接收緩存尺寸。MMS是定義目的地可以接收的數(shù)據(jù)最大尺寸的TCP報頭選項。在發(fā)送和接收側(cè)之間建立連接期間確定MMS。由接收側(cè)而不是發(fā)送側(cè)確定最大數(shù)據(jù)尺寸。
當確定了要由MN 200發(fā)送的ACK分組的數(shù)目N時,必須確定要包含在所發(fā)送的每一個ACK分組中的字段內(nèi)容。
首先,將從last_ack_seq到ack_data_len的范圍[last_ack_seq,ack_data_len]劃分為總共N個部分。然后,在S504中,將multi_ack_seq設(shè)置為last_ack_seq,并且在S505中,將變量n設(shè)置為“1”,作為初始化。在這種情況下,在下面的過程中,將multi_ack_seq插入到確認數(shù)目字段中,并且通過使用last_ack_seq和變量n和N來產(chǎn)生。
在multi_ack_seq和變量n的初始化之后,在S506中,在n等于或小于N(n=N)以及multi_ack_seq等于或小于ack_seq_no(multi_ack_seq=ack_seq_no)的條件下,通過使用multi_ack_seq,來計算要發(fā)送的各個ACK分組的確認號碼,并相應(yīng)地發(fā)送ACK分組。
在S507中,可以由下面的方程1來表達該過程中所需的multi_ack_seq值。
multi_ack_seq=last_ack_seq+n×ack_data_len/N…方程(1)在此,如上所述,n具有初始值“1”,以及N是要由MN 200發(fā)送的ACK分組的數(shù)目。
當產(chǎn)生multi_ack_seq時,在S508中,用multi_ack_seq代替ACK分組的確認號碼字段,并且將相應(yīng)的ACK分組發(fā)送到TCP發(fā)送CN。在已經(jīng)發(fā)送一個ACK分組之后,在S509中,將n增加1,并且重復(fù)上面的S506到S509的步驟。
即,在使multi_ack_seq增加ack_data_len/N,直到multi_ack_seq等于ack_data_no的同時,MN 200將從last_ack_seq到ack_data_len的范圍劃分為N個部分,將multi_ack_seq設(shè)置為ACK分組的確認號碼,并隨后產(chǎn)生總共N個ACK分組,并將其發(fā)送到CN 100。
當MN 200已經(jīng)發(fā)送所有要發(fā)送的ACK分組時,在S506中,不滿足n=N和multi_ack_seq=ack_seq_no的條件。則,在S510中,將last_ack_seq更新為ack_seq_no,并且在S511中,開始接收分組處理例程。
在此,確認號碼定義了TCP段的發(fā)送節(jié)點將要從對應(yīng)節(jié)點接收的字節(jié)號碼。當接收段時,如果接收節(jié)點成功地接收字節(jié)號碼x,接收器定義確認號碼為x+1。
圖6是根據(jù)本發(fā)明的MTAG模塊處理的典型實施例的視圖。
在圖6中,假設(shè)由于切換或無線鏈路特性而導(dǎo)致發(fā)生分組丟失,并且CN 100的TCP重復(fù)定時器過期,從而CN 100重發(fā)分組來應(yīng)對分組丟失。
假設(shè)盡管CN 100將TCP分組發(fā)送到MN 200,由于無線鏈路部分中從基站120到MN 200的切換,丟失了序號1000之后的分組。由于重發(fā)定時器過期,CN 100再次將擁塞窗口重新設(shè)置為1,并且從序號1000開始重發(fā)分組。MN 200從CN 100接收到重發(fā)分組,并分析接收分組的序號。因為已經(jīng)接收到序號1500和2000的分組,ack_seq_no為2500,以及l(fā)ast_ack_seq為1000。
在圖6的實施例中,如果awnd是5000字節(jié),以及MSS是定義目的地可以接收的最大數(shù)據(jù)尺寸是500的TCP報頭選項,如下來計算要發(fā)送的確認分組的數(shù)目NN=awnd/MSS=5000/50=10因此,MN 200利用N來劃分序號[1000,2500]中的分組,并且將具有ACK號碼為1150、1300、1450、…和2500的分組發(fā)送到CN100。當CN 100接收到新的ACK,在早期階段,根據(jù)慢啟動,cwnd值增加一。當cwnd值超出慢啟動閾值時,應(yīng)用擁塞避免算法來增加cwnd值。
如上所述,本發(fā)明允許接收側(cè)MN發(fā)送多個確認分組,以便迅速地恢復(fù)由于無線環(huán)境中的TCP分組丟失而導(dǎo)致的TCP發(fā)送降低,不需要必須改變固定節(jié)點的TCP層,也與節(jié)點的網(wǎng)絡(luò)層無關(guān)。
盡管結(jié)合典型實施例示出并說明了本發(fā)明,對于本領(lǐng)域的技術(shù)人員顯而易見的是,可以做出修改和變化,而不脫離所附權(quán)利要求所定義的本發(fā)明的精神和范圍。
權(quán)利要求
1.一種在包括無線鏈路的綜合網(wǎng)絡(luò)中使用多個傳輸控制協(xié)議(TCP)ACK的TCP擁塞控制方法,該方法包括當移動節(jié)點在接收到的分組中具有分組丟失時,接收從對應(yīng)節(jié)點重發(fā)的分組;計算移動節(jié)點要發(fā)送的確認消息的數(shù)目;根據(jù)計算的數(shù)目產(chǎn)生多個確認消息,并且將多個確認消息發(fā)送到發(fā)送節(jié)點;以及增加與發(fā)送節(jié)點接收到的多個確認消息相對應(yīng)的擁塞窗口值,并執(zhí)行TCP發(fā)送。
2.根據(jù)權(quán)利要求1所述的方法,其中,實現(xiàn)接收、計算、發(fā)送、增加和執(zhí)行,與網(wǎng)絡(luò)層協(xié)議無關(guān)。
3.根據(jù)權(quán)利要求2所述的方法,其中,網(wǎng)絡(luò)層協(xié)議包括從由以下協(xié)議組成的組中選出的至少一個協(xié)議因特網(wǎng)協(xié)議(IP)、因特網(wǎng)協(xié)議版本6(IPv6)、無線IP和移動IPv6(MIPv6)。
4.根據(jù)權(quán)利要求1所述的方法,其中,產(chǎn)生多個確認消息包括將包含在當前接收到的分組的TCP報頭中的序號與當前最大序號進行比較,當前最大序號是已經(jīng)接收到的分組的序號中的最大號碼;以及當當前接收到的分組的序號大于當前最大序號時,更新當前接收到的分組的序號作為新的最大序號;以及當當前接收到的分組的序號等于或小于當前最大序號時,產(chǎn)生多個確認分組。
5.根據(jù)權(quán)利要求4所述的方法,其中,產(chǎn)生多個確認分組包括計算期望的序號,期望的序號是移動節(jié)點期望的下一個分組的序號;計算確認數(shù)據(jù)長度,確認數(shù)據(jù)長度是移動節(jié)點要發(fā)送的多個確認分組的整個長度;確定移動節(jié)點要產(chǎn)生并發(fā)送的確認分組的數(shù)目;將從最后的確認序列到期望序號的分組范圍平均地劃分為與確認分組數(shù)目相對應(yīng)的分組部分,并且根據(jù)劃分的確認分組部分來計算各個確認號碼字段值;以及根據(jù)計算的各個確認號碼字段值來產(chǎn)生各個確認分組,并且將各個確認分組發(fā)送到發(fā)送節(jié)點。
6.根據(jù)權(quán)利要求5所述的方法,其中,通過從期望序號中減去最后的確認序列,來確定確認數(shù)據(jù)長度。
7.根據(jù)權(quán)利要求6所述的方法,其中,使用接收到的TCP分組的序號、數(shù)據(jù)長度和TCP控制塊的接收緩存信息,來計算期望的序號。
8.根據(jù)權(quán)利要求5所述的方法,其中,通過將廣告窗口值除以最大段尺寸,來確定確認分組的數(shù)目,廣告窗口值是移動節(jié)點當前可用的接收緩存尺寸,以及最大段尺寸是移動節(jié)點可以接收的最大數(shù)據(jù)尺寸。
9.根據(jù)權(quán)利要求5所述的方法,其中,各個確認號碼字段值將最后的序號作為初始值,并且在增加預(yù)定尺寸的同時變化,直到確認號碼字段值等于期望的序號。
10.根據(jù)權(quán)利要求9所述的方法,其中,通過將確認數(shù)據(jù)長度除以確認分組的數(shù)目,來確定所述預(yù)定尺寸。
11.一種在包括無線鏈路的綜合網(wǎng)絡(luò)中使用多個傳輸控制協(xié)議(TCP)ACK的TCP擁塞控制方法,該方法包括在移動節(jié)點,將包含在當前接收到的分組的TCP報頭中的序號與已經(jīng)接收到的當前最大序號進行比較,來確定在網(wǎng)絡(luò)中是否存在TCP分組丟失,最大序號是分組的最大序號;以及當確定存在TCP分組丟失時,計算期望的序號,期望的序號是移動節(jié)點期望的下一個分組的序號;計算確認數(shù)據(jù)長度,確認數(shù)據(jù)長度是移動節(jié)點要發(fā)送的多個確認分組的整個長度;確定移動節(jié)點要產(chǎn)生和發(fā)送的確認分組的數(shù)目;將從最后的確認序列到期望序號的分組范圍平均地劃分為與確認分組數(shù)目相對應(yīng)的分組部分,并且根據(jù)劃分的確認分組部分來計算各個確認號碼字段值;以及根據(jù)計算的各個確認號碼字段值來產(chǎn)生各個確認分組,并且將各個確認分組發(fā)送到發(fā)送節(jié)點。
12.根據(jù)權(quán)利要求11所述的方法,其中,實現(xiàn)該方法,與網(wǎng)絡(luò)層協(xié)議無關(guān)。
13.根據(jù)權(quán)利要求11所述的方法,其中,網(wǎng)絡(luò)層協(xié)議包括從由以下協(xié)議組成的組中選出的至少一個協(xié)議因特網(wǎng)協(xié)議(IP)、因特網(wǎng)協(xié)議版本6(IPv6)、無線IP和移動IPv6(MIPv6)。
14.一種移動節(jié)點,位于包括無線鏈路并使用傳輸控制協(xié)議(TCP)實現(xiàn)通信的綜合網(wǎng)絡(luò)中,所述移動節(jié)點適合于執(zhí)行TCP擁塞控制方法,該方法包括將包含在當前接收到的分組的TCP報頭中的序號與已經(jīng)接收到的當前最大序號進行比較,來確定在網(wǎng)絡(luò)中是否存在TCP分組丟失,最大序號是分組的最大序號;當確定存在TCP分組丟失時,計算期望的序號,期望的序號是移動節(jié)點期望的下一個分組的序號;確認數(shù)據(jù)長度,確認數(shù)據(jù)長度是移動節(jié)點要發(fā)送的多個確認分組的整個長度和移動節(jié)點要產(chǎn)生和發(fā)送的確認分組的數(shù)目;將從最后的確認序列到期望序號的分組范圍平均地劃分為與確認分組數(shù)目相對應(yīng)的分組部分,并且根據(jù)劃分的確認分組部分來計算各個確認號碼字段值;以及根據(jù)計算的各個確認號碼字段值來產(chǎn)生各個確認分組,并且將各個確認分組發(fā)送到發(fā)送節(jié)點。
15.根據(jù)權(quán)利要求14所述的方法,其中,通過從期望序號中減去最后的確認序列,來確定確認數(shù)據(jù)長度。
16.根據(jù)權(quán)利要求14所述的方法,其中,通過將廣告窗口值除以最大段尺寸,來確定確認分組的數(shù)目,廣告窗口值是移動節(jié)點當前可用的接收緩存尺寸,以及最大段尺寸是移動節(jié)點可以接收的最大數(shù)據(jù)尺寸。
17.根據(jù)權(quán)利要求14所述的方法,其中,各個確認號碼字段值將最后的序號作為初始值,并且在增加預(yù)定尺寸的同時變化,直到確認號碼字段值等于期望的序號。
18.根據(jù)權(quán)利要求17所述的方法,其中,通過將確認數(shù)據(jù)長度除以確認分組的數(shù)目,來確定所述預(yù)定尺寸。
19.一種移動節(jié)點,位于包括無線鏈路并使用傳輸控制協(xié)議(TCP)實現(xiàn)通信的綜合網(wǎng)絡(luò)中,所述移動節(jié)點適合于執(zhí)行TCP擁塞控制方法,該方法包括從響應(yīng)分組丟失而產(chǎn)生并發(fā)送多個確認消息的相應(yīng)移動節(jié)點接收多個確認消息;增加與移動節(jié)點接收到的多個確認消息相對應(yīng)的擁塞窗口值;以及實現(xiàn)TCP發(fā)送。
20.一種系統(tǒng),位于包括無線鏈路并且執(zhí)行傳輸控制協(xié)議(TCP)擁塞控制的綜合網(wǎng)絡(luò)中,所述系統(tǒng)包括接收節(jié)點,適用于當移動節(jié)點在接收到的分組中具有分組丟失時,接收從對應(yīng)節(jié)點重發(fā)的分組,計算要發(fā)送的確認消息的數(shù)目,根據(jù)計算的數(shù)目產(chǎn)生多個確認消息,以及將多個確認消息發(fā)送到對應(yīng)節(jié)點;以及發(fā)送節(jié)點,適用于從接收節(jié)點接收多個確認消息,增加與接收到的多個確認消息相對應(yīng)的擁塞窗口值,以及實現(xiàn)TCP發(fā)送。
全文摘要
一種在包括無線鏈路的綜合網(wǎng)絡(luò)中使用多個TCP ACK的傳輸控制協(xié)議(TCP)擁塞控制方法,該方法包括當移動節(jié)點在接收到的分組中具有分組丟失時,接收從對應(yīng)節(jié)點重發(fā)的分組;計算移動節(jié)點要發(fā)送的確認消息的數(shù)目;根據(jù)計算的數(shù)目產(chǎn)生多個確認消息,并且將多個確認消息發(fā)送到發(fā)送節(jié)點;以及增加與發(fā)送節(jié)點接收到的多個確認消息相對應(yīng)的擁塞窗口值,并執(zhí)行TCP發(fā)送。
文檔編號H04L1/16GK1819553SQ200610005010
公開日2006年8月16日 申請日期2006年1月18日 優(yōu)先權(quán)日2005年2月11日
發(fā)明者金吉蓮, 姜秉昌 申請人:三星電子株式會社
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1