一種提高傳輸控制協(xié)議性能的方法及設(shè)備的制作方法
【專利摘要】本發(fā)明實(shí)施例提供一種提高傳輸控制協(xié)議性能的方法及設(shè)備,當(dāng)所述解碼REA接收到用于代替重復(fù)數(shù)據(jù)的標(biāo)簽后,解碼REA的TCP協(xié)議棧會(huì)針對(duì)所述數(shù)據(jù)產(chǎn)生第一TCPACK,但不會(huì)立即將所述第一TCPACK發(fā)送出去,而是等待所述DRE解碼器的解碼結(jié)果。如果正確編碼,則將所述DREACK和所述第一TCPACK—起發(fā)送到所述編碼REA;如果不能正確解碼,則將所述DRENACK和所述第一TCPACK—起發(fā)送到所述編碼REA。通過(guò)這種方法能減少網(wǎng)絡(luò)上的TCPACK,能明顯減輕TCP協(xié)議棧的負(fù)擔(dān),提高TCP協(xié)議棧的性能。
【專利說(shuō)明】一種提高傳輸控制協(xié)議性能的方法及設(shè)備
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及通信領(lǐng)域,尤其涉及一種提高傳輸控制協(xié)議性能的方法及設(shè)備。
【背景技術(shù)】
[0002] 數(shù)據(jù)冗余消除(Data Redundancy Elimination,DRE)的基本原理是從流量中找到 重復(fù)的數(shù)據(jù)模式,用標(biāo)簽來(lái)代替重復(fù)數(shù)據(jù),在接收端再把重復(fù)數(shù)據(jù)恢復(fù)出來(lái)。由于標(biāo)簽的長(zhǎng) 度遠(yuǎn)小于重復(fù)數(shù)據(jù)的長(zhǎng)度,這樣就可以節(jié)省流量。
[0003] 通常的現(xiàn)有技術(shù)中,DRE用于廣域網(wǎng)中,數(shù)據(jù)中心(Data Center,DC)與分支機(jī) 構(gòu)(Branch,BR)通過(guò)廣域網(wǎng)(Wide Area Network,WAN)連接,冗余消除設(shè)備(Redundancy Eliminate Appliance,REA)在DC/BR與WAN之間。從DC發(fā)出的數(shù)據(jù)在REA編碼,用標(biāo)簽 代替重復(fù)數(shù)據(jù),經(jīng)過(guò)WAN傳輸,在近BR的REA中解碼,重建數(shù)據(jù),最后發(fā)給BR。
[0004] 為了確保能正確的解碼,一般需要引入確認(rèn)機(jī)制。在現(xiàn)有的確認(rèn)機(jī)制中,DRE編碼 器將數(shù)據(jù)壓縮后,產(chǎn)生消息(Message,Msg),一般各個(gè)廠商各自設(shè)置該消息的私有格式,僅 各廠商的解碼器才能正確解碼該消息。編碼REA的傳輸控制協(xié)議(Transmission Control Protocol,TCP)協(xié)議棧將該Msg發(fā)送出去。
[0005] 當(dāng)DRE解碼器的TCP協(xié)議棧接收上述Msg后,會(huì)回復(fù)TCP確認(rèn)(Acknowledge,ACK) 給DRE編碼器的TCP協(xié)議棧。并且,解碼REA的TCP協(xié)議棧會(huì)將Msg交給DRE解碼器。
[0006] 如DRE解碼器能正確解碼,則向DRE編碼器返回DRE ACK,DRE編碼器的TCP協(xié)議 棧收到DRE ACK后,會(huì)發(fā)出TCP ACK來(lái)對(duì)該DRE ACK確認(rèn)。如DRE解碼器不能正確解碼,向 DRE編碼器返回DRE否認(rèn)(Negative Acknowledge,NACK)。DRE編碼器的TCP協(xié)議棧收到 DRE NACK后,也會(huì)發(fā)出TCP ACK來(lái)對(duì)該DRE NACK確認(rèn)。
[0007] 在現(xiàn)有方法中,無(wú)論是DRE編碼器還是DRE解碼器,接收到DRE Msg、DRE ACK或者 DRE NACK后,TCP協(xié)議棧都會(huì)產(chǎn)生TCP ACK發(fā)送給對(duì)端,這樣會(huì)大大影響了 TCP協(xié)議棧的性 能。
【發(fā)明內(nèi)容】
[0008] 本發(fā)明實(shí)施例提供了一種提高傳輸控制協(xié)議性能的方法及設(shè)備,旨在解決如何減 少TCP ACK的問(wèn)題。
[0009] 第一方面,一種提高傳輸控制協(xié)議性能的方法,所述方法包括:
[0010] 解碼冗余消除設(shè)備REA接收編碼REA發(fā)送的標(biāo)簽信息;
[0011] 解碼REA的傳輸控制協(xié)議TCP協(xié)議棧針對(duì)所述標(biāo)簽信息生成第一 TCP確認(rèn)ACK ;
[0012] 解碼REA的數(shù)據(jù)冗余消除DRE解碼器對(duì)所述標(biāo)簽信息進(jìn)行解碼;
[0013] 當(dāng)解碼REA的DRE解碼器正確解碼所述標(biāo)簽信息時(shí),生成DRE ACK ;解碼REA的TCP 協(xié)議棧將所述第一 TCP ACK和所述DRE ACK發(fā)送到所述編碼REA ;
[0014] 當(dāng)解碼REA的DRE解碼器不能正確解碼所述標(biāo)簽信息時(shí),生成DRE否認(rèn)NACK ;解 碼REA的TCP協(xié)議棧將所述第一 TCP ACK和所述DRE NACK發(fā)送到所述編碼REA。
[0015] 結(jié)合第一方面,在第一方面的第一種可能的實(shí)現(xiàn)方式中,在解碼REA接收編碼REA 發(fā)送的標(biāo)簽信息之前,還包括:
[0016] 編碼REA的DRE編碼器從待發(fā)送的流量中找到重復(fù)的數(shù)據(jù),用所述標(biāo)簽信息來(lái)代 替所述重復(fù)的數(shù)據(jù),在所述DRE編碼器的發(fā)送窗口存儲(chǔ)所述標(biāo)簽信息;
[0017] 所述編碼REA的TCP協(xié)議棧從所述DRE編碼器的發(fā)送窗口獲取存儲(chǔ)的標(biāo)簽信息;
[0018] 所述編碼REA的TCP協(xié)議棧將所述標(biāo)簽信息發(fā)送到編碼REA。
[0019] 結(jié)合第一方面或者第一方面的第一種可能的實(shí)現(xiàn)方式,在第一方面的第二種可能 的實(shí)現(xiàn)方式中,在解碼REA的TCP協(xié)議棧將所述第一 TCP ACK和所述DRE ACK發(fā)送到所述 編碼REA之后,還包括:
[0020] 所述編碼REA的TCP協(xié)議棧針對(duì)所述第一 TCP ACK和所述DRE ACK生成第二TCP ACK ;
[0021] 預(yù)設(shè)一個(gè)定時(shí)器,在所述定時(shí)器超時(shí)之前,當(dāng)所述編碼REA需要發(fā)送其他數(shù)據(jù)到 所述解碼REA,則所述編碼REA將所述第二TCP ACK和所述其他數(shù)據(jù)發(fā)送到所述解碼REA。
[0022] 第二方面,一種提高傳輸控制協(xié)議性能的方法,所述方法包括:
[0023] 編碼冗余消除設(shè)備REA的數(shù)據(jù)冗余消除DRE編碼器從待發(fā)送的流量中找到重復(fù)的 數(shù)據(jù),用標(biāo)簽信息來(lái)代替所述重復(fù)的數(shù)據(jù),在所述DRE編碼器的發(fā)送窗口存儲(chǔ)所述標(biāo)簽信 息;
[0024] 所述編碼REA的傳輸控制協(xié)議TCP協(xié)議棧從所述DRE編碼器的發(fā)送窗口獲取存儲(chǔ) 的標(biāo)簽信息;
[0025] 所述編碼REA的TCP協(xié)議棧將所述標(biāo)簽信息發(fā)送到解碼REA。
[0026] 第三方面,一種解碼REA,所述解碼REA包括:
[0027] 傳輸控制協(xié)議TCP協(xié)議棧,用于接收編碼REA發(fā)送的標(biāo)簽信息,并針對(duì)所述標(biāo)簽信 息生成第一 TCP確認(rèn)ACK ;
[0028] 數(shù)據(jù)冗余消除DRE解碼器,用于對(duì)所述標(biāo)簽信息進(jìn)行解碼;當(dāng)正確解碼所述標(biāo)簽 信息時(shí),生成DRE ACK ;當(dāng)不能正確解碼所述標(biāo)簽信息時(shí),生成DRE否認(rèn)NACK ;
[0029] 所述TCP協(xié)議棧,還用于將所述第一 TCP ACK和所述DRE ACK發(fā)送到所述編碼REA ; 或者,用于將所述第一 TCP ACK和所述DRE NACK發(fā)送到所述編碼REA。
[0030] 第四方面,一種編碼REA,包括:
[0031] 數(shù)據(jù)冗余消除DRE編碼器,用于在發(fā)送窗口中存儲(chǔ)標(biāo)簽信息,其中,所述標(biāo)簽信息 用于代替從待發(fā)送的流量中找到的重復(fù)的數(shù)據(jù);
[0032] 傳輸控制協(xié)議TCP協(xié)議棧,用于從所述DRE編碼器獲取存儲(chǔ)的標(biāo)簽信息,將所述標(biāo) 簽信息發(fā)送到解碼REA。
[0033] 結(jié)合第四方面,在第四方面的第一種可能的實(shí)現(xiàn)方式中,還包括:
[0034] 所述TCP協(xié)議棧還用于針對(duì)解碼REA發(fā)送的第一 TCP確認(rèn)ACK和DRE ACK生成第 二TCP ACK ;其中,第一 TCP ACK是解碼REA針對(duì)所述標(biāo)簽信息生成的,DRE ACK是解碼REA 正確解碼所述標(biāo)簽信息時(shí)生成的。
[0035] 結(jié)合第四方面的第一種可能性,所述編碼REA還可以包括一個(gè)預(yù)設(shè)的定時(shí)器,在 所述定時(shí)器超時(shí)之前,當(dāng)所述編碼REA需要發(fā)送其他數(shù)據(jù)到所述解碼REA,則所述TCP協(xié)議 棧還用于將所述第二TCP ACK和所述其他數(shù)據(jù)發(fā)送到所述解碼REA。
[0036] 第五方面,一種提高傳輸控制協(xié)議性能的系統(tǒng),包括:
[0037] 解碼冗余消除設(shè)備REA和編碼REA ;
[0038] 所述解碼REA包括數(shù)據(jù)冗余消除DRE解碼器和解碼REA的傳輸控制協(xié)議TCP協(xié)議 棧;
[0039] 所述編碼REA包括DRE編碼器和編碼REA的TCP協(xié)議棧;
[0040] 所述解碼REA,用于解碼REA接收編碼REA發(fā)送的標(biāo)簽信息;解碼REA的TCP協(xié)議 棧針對(duì)所述標(biāo)簽信息生成第一 TCP確認(rèn)ACK ;解碼REA的DRE解碼器對(duì)所述標(biāo)簽信息進(jìn)行解 碼;當(dāng)解碼REA的DRE解碼器正確解碼所述標(biāo)簽信息時(shí),生成DRE ACK ;解碼REA的TCP協(xié) 議棧將所述第一 TCP ACK和所述DRE ACK發(fā)送到所述編碼REA ;當(dāng)解碼REA的DRE解碼器 不能正確解碼所述標(biāo)簽信息時(shí),生成DRE否認(rèn)NACK ;解碼REA的TCP協(xié)議棧將所述第一 TCP ACK和所述DRE NACK發(fā)送到所述編碼REA ;
[0041] 所述編碼REA,用于編碼REA的DRE編碼器從待發(fā)送的流量中找到重復(fù)的數(shù)據(jù),用 標(biāo)簽信息來(lái)代替所述重復(fù)的數(shù)據(jù),在所述DRE編碼器的發(fā)送窗口存儲(chǔ)所述標(biāo)簽信息;所述 編碼REA的TCP協(xié)議棧從所述DRE編碼器的發(fā)送窗口獲取存儲(chǔ)的標(biāo)簽信息;所述編碼REA 的TCP協(xié)議棧將所述標(biāo)簽信息發(fā)送到解碼REA。
[0042] 與現(xiàn)有技術(shù)相比,本發(fā)明實(shí)施例中,當(dāng)所述解碼REA接收到用于代替重復(fù)數(shù)據(jù)的 標(biāo)簽后,解碼REA的TCP協(xié)議棧會(huì)針對(duì)所述數(shù)據(jù)產(chǎn)生第一 TCP ACK,但不會(huì)立即將所述第一 TCP ACK發(fā)送出去,而是等待所述DRE解碼器的解碼結(jié)果。如果正確編碼,則將所述DRE ACK 和所述第一 TCP ACK -起發(fā)送到所述編碼REA ;如果不能正確解碼,則將所述DRE NACK和 所述第一 TCP ACK-起發(fā)送到所述編碼REA。通過(guò)這種方法能減少網(wǎng)絡(luò)上的TCP ACK,能明 顯減輕TCP協(xié)議棧的負(fù)擔(dān),提高TCP協(xié)議棧的性能。
【專利附圖】
【附圖說(shuō)明】
[0043] 為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本 發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以 根據(jù)這些附圖獲得其他的附圖。
[0044] 圖la是本發(fā)明實(shí)施例提供的一種提高傳輸控制協(xié)議性能的方法流程圖;
[0045] 圖lb是本發(fā)明實(shí)施例提供的一種提高傳輸控制協(xié)議性能的方法流程圖;
[0046] 圖2是本發(fā)明實(shí)施例提供的一種提高傳輸控制協(xié)議性能的方法示意圖;
[0047] 圖3是本發(fā)明實(shí)施例提供的一種提高傳輸控制協(xié)議性能的方法示意圖;
[0048] 圖4a是本發(fā)明實(shí)施例提供的一種解碼REA的結(jié)構(gòu)圖;
[0049] 圖4b是本發(fā)明實(shí)施例提供的一種編碼REA的結(jié)構(gòu)圖;
[0050] 圖5是本發(fā)明實(shí)施例提供的一種提高傳輸控制協(xié)議性能的系統(tǒng)結(jié)構(gòu)圖;
[0051] 圖6是本發(fā)明實(shí)施例提供的一種解碼REA的結(jié)構(gòu)圖;
[0052] 圖7是本發(fā)明實(shí)施例提供的一種編碼REA的結(jié)構(gòu)圖。
【具體實(shí)施方式】
[0053] 下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完 整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于 本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他 實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0054] 參考圖la,圖la是本發(fā)明實(shí)施例提供的一種提高傳輸控制協(xié)議性能的方法流程 圖,所述方法包括:
[0055] 101,解碼冗余消除設(shè)備REA接收編碼REA發(fā)送的標(biāo)簽信息;
[0056] 可選的,在本發(fā)明的實(shí)施例中,編碼REA是指編碼端的REA設(shè)備;解碼REA是指解 碼端的REA設(shè)備。編碼REA可以包括DRE編碼器和TCP協(xié)議棧,解碼REA可以包括DRE解 碼器和TCP協(xié)議棧。
[0057] 102,解碼REA的傳輸控制協(xié)議TCP協(xié)議棧針對(duì)所述標(biāo)簽信息生成第一 TCP確認(rèn) ACK ;
[0058] 103,解碼REA的數(shù)據(jù)冗余消除DRE解碼器對(duì)所述標(biāo)簽信息進(jìn)行解碼;當(dāng)解碼REA 的DRE解碼器正確解碼所述標(biāo)簽信息時(shí),生成DRE ACK,轉(zhuǎn)至104 ;當(dāng)解碼REA的DRE解碼器 不能正確解碼所述標(biāo)簽信息時(shí),生成DRE否認(rèn)NACK,轉(zhuǎn)至105 ;
[0059] 104,解碼REA的TCP協(xié)議棧將上述第一 TCP ACK和所述DRE ACK發(fā)送到所述編碼 REA。
[0060] 105,解碼REA的TCP協(xié)議棧將上述第一 TCP ACK和所述DRE NACK發(fā)送到所述編 碼 REA。
[0061] 在本發(fā)明的實(shí)施例中,當(dāng)所述解碼REA接收到用于代替重復(fù)數(shù)據(jù)的標(biāo)簽后,解碼 REA的TCP協(xié)議棧會(huì)針對(duì)所述數(shù)據(jù)產(chǎn)生第一 TCP ACK,但不會(huì)立即將所述第一 TCP ACK發(fā)送 出去,而是等待所述DRE解碼器的解碼結(jié)果。如果正確編碼,則將所述DRE ACK和所述第一 TCP ACK-起發(fā)送到所述編碼REA ;如果不能正確解碼,則將所述DRE NACK和所述第一 TCP ACK-起發(fā)送到所述編碼REA。通過(guò)這種方法能減少網(wǎng)絡(luò)上的TCP ACK,能明顯減輕TCP協(xié) 議棧的負(fù)擔(dān),提高TCP協(xié)議的性能。
[0062] 參考圖lb,圖lb是本發(fā)明實(shí)施例提供的又一種提高傳輸控制協(xié)議性能的方法流 程圖,所述方法包括:
[0063] 106,編碼冗余消除設(shè)備REA的數(shù)據(jù)冗余消除DRE編碼器從待發(fā)送的流量中找到重 復(fù)的數(shù)據(jù),用標(biāo)簽信息來(lái)代替所述重復(fù)的數(shù)據(jù),在所述DRE編碼器的發(fā)送窗口存儲(chǔ)所述標(biāo) 簽信息;
[0064] 107,所述編碼REA的傳輸控制協(xié)議TCP協(xié)議棧從所述DRE編碼器的發(fā)送窗口獲取 存儲(chǔ)的標(biāo)簽信息;
[0065] 108,所述編碼REA的TCP協(xié)議棧將所述標(biāo)簽信息發(fā)送到解碼REA。
[0066] 在本發(fā)明的實(shí)施例中,由于將DRE編碼器的發(fā)送窗口和編碼REA的TCP協(xié)議棧的 發(fā)送窗口進(jìn)行合并,因此,編碼REA能節(jié)約一半的存儲(chǔ)資源,提高TCP協(xié)議的性能。
[0067] 參考圖2,圖2是本發(fā)明實(shí)施例提供的一種提高傳輸控制協(xié)議性能的方法示意圖, 所述方法包括:
[0068] 201,編碼REA的DRE編碼器從流量中找到重復(fù)的數(shù)據(jù),用標(biāo)簽來(lái)代替所述重復(fù)的 數(shù)據(jù),在所述DRE編碼器的發(fā)送窗口存儲(chǔ)所述標(biāo)簽信息;
[0069] 202,所述編碼REA的TCP協(xié)議棧從所述DRE編碼器的發(fā)送窗口獲取存儲(chǔ)的標(biāo)簽信 息;
[0070] 203,所述編碼REA的TCP協(xié)議棧將所述標(biāo)簽信息發(fā)送到解碼REA端TCP協(xié)議棧;
[0071] 204、解碼REA的TCP協(xié)議棧針對(duì)所述標(biāo)簽信息生成第一 TCP ACK,并將接收到的標(biāo) 簽信息發(fā)給解碼REA的DRE解碼器;
[0072] 205,解碼REA的DRE解碼器對(duì)所述標(biāo)簽信息進(jìn)行解碼;當(dāng)所述DRE解碼器能正確 解碼所述標(biāo)簽時(shí),生成DRE ACK,并將所述DRE ACK發(fā)送到所述解碼REA的TCP協(xié)議棧;
[0073] 206,所述解碼REA的TCP協(xié)議棧將所述DRE ACK和所述第一 TCP ACK發(fā)送到編碼 REA的TCP協(xié)議棧;
[0074] 207,所述編碼REA的TCP協(xié)議棧針對(duì)所述第一 TCP ACK和所述DRE ACK生成第二 TCP ACK ;所述編碼REA的TCP協(xié)議棧將所述DRE ACK發(fā)送到所述編碼REA的DRE編碼器;
[0075] 208,預(yù)設(shè)一個(gè)定時(shí)器,在所述定時(shí)器超時(shí)之前,如果所述編碼REA需要發(fā)送其他 數(shù)據(jù)給所述解碼REA,則所述編碼REA將所述第二TCP ACK和所述其他數(shù)據(jù)一并發(fā)送到所述 解碼REA的TCP協(xié)議棧。
[0076] 本發(fā)明實(shí)施例提供一種提高傳輸控制協(xié)議性能的方法,所述方法通過(guò)將解碼REA 的TCP協(xié)議棧針對(duì)標(biāo)簽信息生成的TCP ACK和DRE解碼器解碼成功生成的DRE ACK -起發(fā) 送到編碼REA,通過(guò)這種方法能減少網(wǎng)絡(luò)上的TCPACK,能明顯減輕TCP協(xié)議棧的負(fù)擔(dān),提高 解碼REA的TCP協(xié)議的性能;并且,由于將DRE編碼器的發(fā)送窗口和編碼REA的TCP協(xié)議棧 的發(fā)送窗口進(jìn)行合并,因此,編碼REA能節(jié)約一半的存儲(chǔ)資源,提高編碼REA的TCP協(xié)議的 性能。
[0077] 參考圖3,圖3是本發(fā)明實(shí)施例提供的一種提高傳輸控制協(xié)議性能的方法示意圖, 所述方法包括:
[0078] 301,編碼REA的DRE編碼器從流量中找到重復(fù)的數(shù)據(jù),用標(biāo)簽來(lái)代替所述重復(fù)的 數(shù)據(jù),在所述DRE編碼器的發(fā)送窗口存儲(chǔ)所述標(biāo)簽信息;
[0079] 302,所述編碼REA的TCP協(xié)議棧從所述DRE編碼器的發(fā)送窗口獲取存儲(chǔ)的標(biāo)簽信 息;
[0080] 303,所述編碼REA的TCP協(xié)議棧將所述標(biāo)簽信息發(fā)送到解碼REA的TCP協(xié)議棧;
[0081] 304,解碼REA的TCP協(xié)議棧針對(duì)所述標(biāo)簽信息生成第一 TCP ACK,并將接收到的標(biāo) 簽信息發(fā)給解碼REA的DRE解碼器;
[0082] 305,解碼REA的DRE解碼器對(duì)所述標(biāo)簽信息進(jìn)行解碼;當(dāng)所述DRE編碼器無(wú)法正 確解碼所述標(biāo)簽時(shí),生成DRE NACK,所述解碼REA的DRE解碼器將所述DRE NACK發(fā)送到解 碼REA的TCP協(xié)議棧;
[0083] 306,所述解碼REA的TCP協(xié)議棧將所述DRE NACK和所述第一 TCP ACK發(fā)送到編 碼 REA ;
[0084] 307,所述編碼REA的TCP協(xié)議棧將所述DRE NACK發(fā)送到所述DRE編碼器;
[0085] 308,所述DRE編碼器根據(jù)所述DRE NACK,確定需要重新向所述解碼REA發(fā)送的標(biāo) 簽信息;
[0086] 309,所述編碼REA的TCP協(xié)議棧針對(duì)所述第一 TCP ACK和所述DRENACK生成第三 TCP ACK ;所述編碼REA的TCP協(xié)議棧發(fā)送308中確定的標(biāo)簽信息以及第三TCP ACK到所述 解碼REA的TCP協(xié)議棧;
[0087] 310,所述解碼REA的TCP協(xié)議棧針對(duì)308中確定的標(biāo)簽信息以及309中生成的第 三TCP ACKD生成第四TCP ACK,并將接收到的標(biāo)簽信息發(fā)給解碼REA的DRE解碼器;
[0088] 311,所述DRE編碼器對(duì)308中確定的標(biāo)簽信息進(jìn)行解碼,當(dāng)所述DRE編碼器正確 解碼所述標(biāo)簽時(shí),生成DRE ACK ;
[0089] 312,所述解碼REA的TCP協(xié)議棧將所述DRE ACK和第四TCP ACK發(fā)送到編碼REA 的TCP協(xié)議棧;
[0090] 313,所述編碼REA的TCP協(xié)議棧將DRE ACK發(fā)送到所述DRE編碼器。
[0091] 本發(fā)明實(shí)施例提供一種提高傳輸控制協(xié)議性能的方法,所述方法通過(guò)將解碼REA 的TCP協(xié)議棧針對(duì)標(biāo)簽信息生成的TCP ACK和DRE解碼器解碼成功生成的DRE NACK -起 發(fā)送到編碼REA,通過(guò)這種方法能減少網(wǎng)絡(luò)上的TCPACK,能明顯減輕TCP協(xié)議棧的負(fù)擔(dān),提 高解碼REA的TCP協(xié)議的性能;并且,由于將DRE編碼器的發(fā)送窗口和編碼REA的TCP協(xié)議 棧的發(fā)送窗口進(jìn)行合并,因此,編碼REA能節(jié)約一半的存儲(chǔ)資源,提高編碼REA的TCP協(xié)議 的性能。
[0092] 參考圖4a,圖4a是本發(fā)明實(shí)施例提供的一種解碼REA的結(jié)構(gòu)圖,所述解碼REA包 括:
[0093] TCP協(xié)議棧401,用于接收編碼REA發(fā)送的標(biāo)簽信息,并針對(duì)所述標(biāo)簽信息生成第 -TCP ACK ;
[0094] DRE解碼器403,用于對(duì)所述標(biāo)簽信息進(jìn)行解碼;當(dāng)正確解碼所述標(biāo)簽信息時(shí),生 成DRE ACK ;當(dāng)不能正確解碼所述標(biāo)簽信息時(shí),生成DRE NACK ;
[0095] 所述TCP協(xié)議棧401,還用于將所述第一 TCP ACK和所述DRE ACK發(fā)送到所述編碼 REA ;或者,用于將所述第一 TCP ACK和所述DRE NACK發(fā)送到所述編碼REA。
[0096] 在本發(fā)明的實(shí)施例中,解碼REA接收到用于代替重復(fù)數(shù)據(jù)的標(biāo)簽后,解碼REA的 TCP協(xié)議棧會(huì)針對(duì)所述數(shù)據(jù)產(chǎn)生第一 TCP ACK,但不會(huì)立即將所述第一 TCP ACK發(fā)送出去, 而是等待所述DRE解碼器的解碼結(jié)果。如果正確編碼,則將所述DRE ACK和所述第一 TCP ACK-起發(fā)送到所述編碼REA ;如果不能正確解碼,則將所述DRE NACK和所述第一 TCP ACK 一起發(fā)送到所述編碼REA,這樣能減少網(wǎng)絡(luò)上的TCP ACK,能明顯減輕TCP協(xié)議棧的負(fù)擔(dān),提 高TCP協(xié)議的性能。
[0097] 參考圖4b,圖4b是本發(fā)明實(shí)施例提供的一種編碼REA的結(jié)構(gòu)圖,所述編碼REA包 括:
[0098] DRE編碼器406,用于在發(fā)送窗口中存儲(chǔ)標(biāo)簽信息,其中,所述標(biāo)簽信息用于代替 從待發(fā)送的流量中找到的重復(fù)的數(shù)據(jù);
[0099] TCP協(xié)議棧407,用于從所述DRE編碼器406獲取存儲(chǔ)的標(biāo)簽信息,將所述標(biāo)簽信 息發(fā)送到解碼REA。
[0100] 在本發(fā)明的實(shí)施例中,由于將DRE編碼器的發(fā)送窗口和編碼REA的TCP協(xié)議棧的 發(fā)送窗口進(jìn)行合并,因此,編碼REA能節(jié)約一半的存儲(chǔ)資源,提高TCP協(xié)議的性能。
[0101] 可選的,所述TCP協(xié)議棧407還用于針對(duì)解碼REA發(fā)送的第一 TCP ACK和DRE ACK 生成第二TCP ACK;其中,第一 TCP ACK是解碼REA針對(duì)所述標(biāo)簽信息生成的,DRE ACK是解 碼REA正確解碼所述標(biāo)簽信息時(shí)生成的;
[0102] 可選的,所述編碼REA還可以包括一個(gè)預(yù)設(shè)的定時(shí)器,在所述定時(shí)器超時(shí)之前,當(dāng) 所述編碼REA需要發(fā)送其他數(shù)據(jù)到所述解碼REA,則所述TCP協(xié)議棧407還用于將所述第二 TCP ACK和所述其他數(shù)據(jù)發(fā)送到所述解碼REA。
[0103] 本發(fā)明實(shí)施例中,編碼REA由于將DRE編碼器的發(fā)送窗口和編碼REA的TCP協(xié)議 棧的發(fā)送窗口進(jìn)行合并,因此,編碼REA能節(jié)約一半的存儲(chǔ)資源。
[0104] 參考圖5,圖5是本發(fā)明實(shí)施例提供的一種提高傳輸控制協(xié)議性能的系統(tǒng)結(jié)構(gòu)圖。 如圖5所示,所述系統(tǒng)包括:
[0105] 解碼冗余消除設(shè)備REA和編碼REA ;所述解碼REA包括數(shù)據(jù)冗余消除DRE解碼器 和解碼REA的傳輸控制協(xié)議TCP協(xié)議棧;所述編碼REA包括DRE編碼器和編碼REA的TCP 協(xié)議棧;其中,
[0106] 所述解碼REA,用于解碼REA接收編碼REA發(fā)送的標(biāo)簽信息;解碼REA的TCP協(xié)議 棧針對(duì)所述標(biāo)簽信息生成第一 TCP確認(rèn)ACK ;解碼REA的DRE解碼器對(duì)所述標(biāo)簽信息進(jìn)行解 碼;當(dāng)解碼REA的DRE解碼器正確解碼所述標(biāo)簽信息時(shí),生成DRE ACK ;解碼REA的TCP協(xié) 議棧將所述第一 TCP ACK和所述DRE ACK發(fā)送到所述編碼REA ;當(dāng)解碼REA的DRE解碼器 不能正確解碼所述標(biāo)簽信息時(shí),生成DRE否認(rèn)NACK ;解碼REA的TCP協(xié)議棧將所述第一 TCP ACK和所述DRE NACK發(fā)送到所述編碼REA ;
[0107] 所述編碼REA,用于編碼REA的DRE編碼器從待發(fā)送的流量中找到重復(fù)的數(shù)據(jù),用 標(biāo)簽信息來(lái)代替所述重復(fù)的數(shù)據(jù),在所述DRE編碼器的發(fā)送窗口存儲(chǔ)所述標(biāo)簽信息;所述 編碼REA的TCP協(xié)議棧從所述DRE編碼器的發(fā)送窗口獲取存儲(chǔ)的標(biāo)簽信息;所述編碼REA 的TCP協(xié)議棧將所述標(biāo)簽信息發(fā)送到解碼REA。
[0108] 在本發(fā)明的實(shí)施例中,解碼REA接收到用于代替重復(fù)數(shù)據(jù)的標(biāo)簽后,會(huì)針對(duì)所述 數(shù)據(jù)產(chǎn)生第一 TCP ACK,但不會(huì)立即將所述第一 TCP ACK發(fā)送出去,而是等待所述DRE解碼 器的解碼結(jié)果。如果正確編碼,則將所述DRE ACK和所述第一 TCP ACK-起發(fā)送到所述編 碼REA ;如果不能正確解碼,則將所述DRE NACK和所述第一 TCP ACK -起發(fā)送到所述編碼 REA,這樣能減少網(wǎng)絡(luò)上的TCP ACK,能明顯減輕TCP協(xié)議棧的負(fù)擔(dān)。
[0109] 本發(fā)明實(shí)施例中,編碼REA由于將DRE編碼器的發(fā)送窗口和編碼REA的TCP協(xié)議 棧的發(fā)送窗口進(jìn)行合并,因此,編碼REA能節(jié)約一半的存儲(chǔ)資源。
[0110] 參考圖6,圖6是本發(fā)明實(shí)施例提供的一種解碼REA的結(jié)構(gòu)圖,所述解碼REA包括:
[0111] 處理器(processor)601,通信接口(Communications Interface)602,存儲(chǔ)器 (memory) 603,總線 604。
[0112] 處理器601,通信接口 602,存儲(chǔ)器603通過(guò)總線604完成相互間的通信。
[0113] 通信接口 602,用于與編碼REA進(jìn)行通信;
[0114] 處理器601,用于執(zhí)行程序。
[0115] 具體地,程序可以包括程序代碼,所述程序代碼包括計(jì)算機(jī)操作指令。
[0116] 處理器601可能是一個(gè)中央處理器CPU,或者是特定集成電路(Application Specific Integrated Circuit, ASIC),或者是被配置成實(shí)施本發(fā)明實(shí)施例的一個(gè)或多個(gè) 集成電路。
[0117] 存儲(chǔ)器603,用于存放程序。存儲(chǔ)器603可能包含高速RAM存儲(chǔ)器,也可能還包括 非易失性存儲(chǔ)器(non-volatile memory)。程序具體可以包括:
[0118] 接收編碼REA發(fā)送的標(biāo)簽信息;
[0119] 針對(duì)所述標(biāo)簽信息生成第一 TCP ACK ;
[0120] 對(duì)所述標(biāo)簽信息進(jìn)行解碼,當(dāng)正確解碼所述標(biāo)簽信息時(shí),生成DRE ACK ;當(dāng)不能正 確解碼所述標(biāo)簽信息時(shí),生成DRE NACK ;
[0121] 將所述第一 TCP ACK和所述DRE ACK發(fā)送到所述編碼REA ;或者,用于將所述第一 TCP ACK和所述DRE否認(rèn)NACK發(fā)送到所述編碼REA。
[0122] 參考圖7,圖7是本發(fā)明實(shí)施例提供的一種編碼REA的結(jié)構(gòu)圖,所述編碼REA包括:
[0123] 處理器(processor) 701,通信接口(Communications Interface) 702,存儲(chǔ)器 (memory) 703,總線 704。
[0124] 處理器701,通信接口 702,存儲(chǔ)器703通過(guò)總線704完成相互間的通信。
[0125] 通信接口 702,用于與解碼REA進(jìn)行通信;
[0126] 處理器701,用于執(zhí)行程序。
[0127] 具體地,程序可以包括程序代碼,所述程序代碼包括計(jì)算機(jī)操作指令。
[0128] 處理器701可能是一個(gè)中央處理器CPU,或者是特定集成電路(Application Specific Integrated Circuit, ASIC),或者是被配置成實(shí)施本發(fā)明實(shí)施例的一個(gè)或多個(gè) 集成電路。
[0129] 存儲(chǔ)器703,用于存放程序。存儲(chǔ)器703可能包含高速RAM存儲(chǔ)器,也可能還包括 非易失性存儲(chǔ)器(non-volatile memory)。程序具體可以包括:
[0130] 存儲(chǔ)標(biāo)簽信息,其中,所述標(biāo)簽信息用于代替從待發(fā)送的流量中找到的重復(fù)的數(shù) 據(jù);
[0131] 從所述存儲(chǔ)單元中獲取存儲(chǔ)的標(biāo)簽信息;
[0132] 將所述標(biāo)簽信息發(fā)送到解碼REA。
[0133] 本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程,是可以 通過(guò)計(jì)算機(jī)程序來(lái)指令相關(guān)的硬件來(lái)完成,所述的程序可存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì) 中,該程序在執(zhí)行時(shí),可包括如上述各方法的實(shí)施例的流程。其中,所述的存儲(chǔ)介質(zhì)可為磁 碟、光盤、只讀存儲(chǔ)記憶體(Read-Only Memory, ROM)或隨機(jī)存取存儲(chǔ)器(Random Access Memory,簡(jiǎn)稱 RAM)等。
[0134] 以上所揭露的僅為本發(fā)明較佳實(shí)施例而已,當(dāng)然不能以此來(lái)限定本發(fā)明之權(quán)利范 圍,因此依本發(fā)明權(quán)利要求所作的等同變化,仍屬本發(fā)明所涵蓋的范圍。
【權(quán)利要求】
1. 一種提高傳輸控制協(xié)議性能的方法,其特征在于,所述方法包括: 解碼冗余消除設(shè)備REA接收編碼REA發(fā)送的標(biāo)簽信息; 解碼REA的傳輸控制協(xié)議TCP協(xié)議棧針對(duì)所述標(biāo)簽信息生成第一 TCP確認(rèn)ACK ; 解碼REA的數(shù)據(jù)冗余消除DRE解碼器對(duì)所述標(biāo)簽信息進(jìn)行解碼; 當(dāng)解碼REA的DRE解碼器正確解碼所述標(biāo)簽信息時(shí),生成DRE ACK ;解碼REA的TCP協(xié) 議棧將所述第一 TCP ACK和所述DRE ACK發(fā)送到所述編碼REA ; 當(dāng)解碼REA的DRE解碼器不能正確解碼所述標(biāo)簽信息時(shí),生成DRE否認(rèn)NACK ;解碼REA 的TCP協(xié)議棧將所述第一 TCP ACK和所述DRE NACK發(fā)送到所述編碼REA。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,在解碼REA接收編碼REA發(fā)送的標(biāo)簽信息 之前,還包括: 編碼REA的DRE編碼器從待發(fā)送的流量中找到重復(fù)的數(shù)據(jù),用所述標(biāo)簽信息來(lái)代替所 述重復(fù)的數(shù)據(jù),在所述DRE編碼器的發(fā)送窗口存儲(chǔ)所述標(biāo)簽信息; 所述編碼REA的TCP協(xié)議棧從所述DRE編碼器的發(fā)送窗口獲取存儲(chǔ)的標(biāo)簽信息; 所述編碼REA的TCP協(xié)議棧將所述標(biāo)簽信息發(fā)送到編碼REA。
3. 根據(jù)權(quán)利要求1或2所述的方法,其特征在于,在解碼REA的TCP協(xié)議棧將所述第一 TCP ACK和所述DRE ACK發(fā)送到所述編碼REA之后,還包括: 所述編碼REA的TCP協(xié)議棧針對(duì)所述第一 TCP ACK和所述DRE ACK生成第二TCP ACK ; 預(yù)設(shè)一個(gè)定時(shí)器,在所述定時(shí)器超時(shí)之前,當(dāng)所述編碼REA需要發(fā)送其他數(shù)據(jù)到所述 解碼REA,則所述編碼REA將所述第二TCP ACK和所述其他數(shù)據(jù)發(fā)送到所述解碼REA。
4. 一種提高傳輸控制協(xié)議性能的方法,其特征在于,所述方法包括: 編碼冗余消除設(shè)備REA的數(shù)據(jù)冗余消除DRE編碼器從待發(fā)送的流量中找到重復(fù)的數(shù) 據(jù),用標(biāo)簽信息來(lái)代替所述重復(fù)的數(shù)據(jù),在所述DRE編碼器的發(fā)送窗口存儲(chǔ)所述標(biāo)簽信息; 所述編碼REA的傳輸控制協(xié)議TCP協(xié)議棧從所述DRE編碼器的發(fā)送窗口獲取存儲(chǔ)的標(biāo) 簽信息; 所述編碼REA的TCP協(xié)議棧將所述標(biāo)簽信息發(fā)送到解碼REA。
5. -種解碼冗余消除設(shè)備REA,其特征在于,包括: 傳輸控制協(xié)議TCP協(xié)議棧,用于接收編碼REA發(fā)送的標(biāo)簽信息,并針對(duì)所述標(biāo)簽信息生 成第一 TCP確認(rèn)ACK ; 數(shù)據(jù)冗余消除DRE解碼器,用于對(duì)所述標(biāo)簽信息進(jìn)行解碼;當(dāng)正確解碼所述標(biāo)簽信息 時(shí),生成DRE ACK ;當(dāng)不能正確解碼所述標(biāo)簽信息時(shí),生成DRE否認(rèn)NACK ; 所述TCP協(xié)議棧,還用于將所述第一 TCP ACK和所述DRE ACK發(fā)送到所述編碼REA;或 者,用于將所述第一 TCP ACK和所述DRE NACK發(fā)送到所述編碼REA。
6. -種編碼冗余消除設(shè)備REA,其特征在于,包括: 數(shù)據(jù)冗余消除DRE編碼器,用于在發(fā)送窗口中存儲(chǔ)標(biāo)簽信息,其中,所述標(biāo)簽信息用于 代替從待發(fā)送的流量中找到的重復(fù)的數(shù)據(jù); 傳輸控制協(xié)議TCP協(xié)議棧,用于從所述DRE編碼器獲取存儲(chǔ)的標(biāo)簽信息,將所述標(biāo)簽信 息發(fā)送到解碼REA。
7. 根據(jù)權(quán)利要求6所述的編碼REA,其特征在于,所述TCP協(xié)議棧還用于針對(duì)解碼REA 發(fā)送的第一 TCP確認(rèn)ACK和DRE ACK生成第二TCP ACK ;其中,第一 TCP ACK是解碼REA針 對(duì)所述標(biāo)簽?目息生成的,DRE ACK是解碼REA正確解碼所述標(biāo)簽/[目息時(shí)生成的。
8. 根據(jù)權(quán)利要求7所述的編碼REA,其特征在于,還可以包括一個(gè)預(yù)設(shè)的定時(shí)器,在所 述定時(shí)器超時(shí)之前,當(dāng)所述編碼REA需要發(fā)送其他數(shù)據(jù)到所述解碼REA,則所述TCP協(xié)議棧 還用于將所述第二TCP ACK和所述其他數(shù)據(jù)發(fā)送到所述解碼REA。
9. 一種提高傳輸控制協(xié)議性能的系統(tǒng),其特征在于,包括: 解碼冗余消除設(shè)備REA和編碼REA ;所述解碼REA包括數(shù)據(jù)冗余消除DRE解碼器和解 碼REA的傳輸控制協(xié)議TCP協(xié)議棧;所述編碼REA包括DRE編碼器和編碼REA的TCP協(xié)議 棧;其中, 所述解碼REA,用于解碼REA接收編碼REA發(fā)送的標(biāo)簽信息;解碼REA的TCP協(xié)議棧針 對(duì)所述標(biāo)簽信息生成第一 TCP確認(rèn)ACK ;解碼REA的DRE解碼器對(duì)所述標(biāo)簽信息進(jìn)行解碼; 當(dāng)解碼REA的DRE解碼器正確解碼所述標(biāo)簽信息時(shí),生成DRE ACK ;解碼REA的TCP協(xié)議棧 將所述第一 TCP ACK和所述DRE ACK發(fā)送到所述編碼REA ;當(dāng)解碼REA的DRE解碼器不能 正確解碼所述標(biāo)簽信息時(shí),生成DRE否認(rèn)NACK ;解碼REA的TCP協(xié)議棧將所述第一 TCP ACK 和所述DRE NACK發(fā)送到所述編碼REA ; 所述編碼REA,用于編碼REA的DRE編碼器從待發(fā)送的流量中找到重復(fù)的數(shù)據(jù),用標(biāo)簽 信息來(lái)代替所述重復(fù)的數(shù)據(jù),在所述DRE編碼器的發(fā)送窗口存儲(chǔ)所述標(biāo)簽信息;所述編碼 REA的TCP協(xié)議棧從所述DRE編碼器的發(fā)送窗口獲取存儲(chǔ)的標(biāo)簽信息;所述編碼REA的TCP 協(xié)議棧將所述標(biāo)簽信息發(fā)送到解碼REA。
【文檔編號(hào)】H04L29/06GK104219028SQ201310210051
【公開日】2014年12月17日 申請(qǐng)日期:2013年5月30日 優(yōu)先權(quán)日:2013年5月30日
【發(fā)明者】張亮, 馬克思, 瑞米, 丹尼爾 申請(qǐng)人:華為技術(shù)有限公司