專利名稱:一種無線IPv6互連網(wǎng)中TCP信頭壓縮方法
技術(shù)領(lǐng)域:
本發(fā)明屬于提高無線鏈路的壓縮率和魯棒性的技術(shù)領(lǐng)域,特別涉及一種無線IPv6互連網(wǎng)中TCP信頭壓縮方法。
背景技術(shù):
通過研究表明,這些低速鏈路上壓縮IP/UDP/RTP信頭的協(xié)議在無線鏈路上的性能比較差。信頭壓縮的下一步目標(biāo)是在高誤碼率、低帶寬的無線鏈路增加魯棒性和壓縮效率。使用變化的哈夫曼編碼來提供一系列的壓縮信頭方案。為了能在無線鏈路獲得較高的壓縮率和較好的抗差錯(cuò)魯棒性,需要開發(fā)一種可行的魯棒性信頭壓縮方案。IETF工作組于2001年提出的魯棒性信頭壓縮(ROHC,RobustHeader Compression),能在無線鏈路上獲得較好的性能,在2007年2月又進(jìn)行了修正和補(bǔ)充。ROHC適用于誤碼率高,往返時(shí)間較長的無線鏈路,可對RTP/UDP/IP、UDP/IP、TCP/IP等多種信頭進(jìn)行壓縮。作為魯棒性和可擴(kuò)展的方案,ROHC代表了當(dāng)前信頭壓縮的技術(shù)水平。但是ROHC無法高效壓縮TCP流的信頭,ROHC+在ROHC的基礎(chǔ)上提出了一種能有效壓縮TCP流信頭的簡檔和算法。為了減少差錯(cuò)傳播,ROHC采用W-LSB編碼,并結(jié)合使用三種不同的修復(fù)機(jī)制處理受損的壓縮分組。ROHA還針對ROHC-TCP壓縮,提出了上下文復(fù)制機(jī)制。RFC4995在RFC3095的基礎(chǔ)上進(jìn)一步定義了 ROHC框架的相關(guān)內(nèi)容,包括符RFC4163需求的TCP簡檔。RFC4996提出了一個(gè)TCP信頭壓縮方案,增強(qiáng)了魯棒性和兼容性,尤其是針對含有TCP選項(xiàng)信頭域的壓縮。其中使用了 RFC4995中提出的ROHC協(xié)議框架,支持RFC4164中定義的上 下文復(fù)制策略,對于RFC4413明中的短暫TCP。數(shù)據(jù)流,上下文復(fù)制是非常有用的。2008年4月,IETF工作組正式推出了 ROHC壓縮的改進(jìn)版本R0HCv2。在同樣的操作條件下,RFC5225和RFC3095可以獲得相同的壓縮率和魯棒性,它們最小壓縮信頭的大小和比特布局是一致的。R0HCv2簡化了規(guī)則和算法,增強(qiáng)了分組丟失或重排的魯棒性機(jī)制,而且可以處理任意數(shù)量的m信頭。
發(fā)明內(nèi)容
本發(fā)明的目的是提出一種無線IPv6互連網(wǎng)中TCP信頭壓縮方法,其特征在于,該方法包括(I)按照ROHC簡檔規(guī)范,采用W-LSB編碼方法,編寫了 TCP/IP分組的壓縮簡檔;(2)為了方便ROHC簡檔的編寫和調(diào)試,在ROHC壓縮器端增加處理函數(shù),可以產(chǎn)生適用于任何類型的測試分組,隨時(shí)校驗(yàn)簡檔的壓縮和解壓縮功能;(3)采用靈活的可調(diào)節(jié)滑動(dòng)窗口寬度機(jī)制,特別適用于連接在無線鏈路中的TCP/IP架構(gòu),由于信道質(zhì)量的快速變化,找到適合各種情況的優(yōu)化的滑動(dòng)窗口寬度值,改變壓縮和解壓狀態(tài)變遷邏輯,引入附加的控制信息,兼顧強(qiáng)魯棒性和低系統(tǒng)開銷;
(4)在RHOC簡檔的編寫中,經(jīng)常需要測試簡檔的編寫或修改是否有效,這時(shí)特別需要有靈活的測試信源,隨時(shí)檢驗(yàn)簡檔的壓縮和解壓縮功能,進(jìn)行下一步的修改;針對面向連接的TCP流測試,在不需要事先建立連接和回送確認(rèn)分組的情況下,TCP/IP流的RHOC壓縮/解壓縮測試可以持續(xù)進(jìn)行。所述TCP的壓縮簡檔,TCP/IP是面向連接的流,在收、發(fā)兩端間采用雙向可靠的連接模式,依據(jù)三次握手規(guī)則,意味著數(shù)據(jù)交換前必須建立協(xié)議連接,之后TCP才能保證分發(fā)無錯(cuò)的分組到客戶端;TCP將應(yīng)用服務(wù)產(chǎn)生的數(shù)據(jù)流進(jìn)行分組,在發(fā)送的分組中,IP層包含分組的負(fù)載并且序列號作為分組的第一個(gè)字節(jié);在客戶端,對于接收到的任何分組,TCP發(fā)送含第一字節(jié)序列號的確認(rèn)分組,表明客戶端期望接收的下一個(gè)分組。所述滑動(dòng)窗口寬度的動(dòng)態(tài)調(diào)整,W-LSB算法不需要精確的同步,在W-LSB中對每個(gè)流,壓縮器保存最近Sffff個(gè)參考值的滑動(dòng)窗口,解壓器只維護(hù)最近成功解壓的參考值,對每個(gè)分組,壓縮器保證壓縮分組可以使用滑動(dòng)窗口中的任何參考值進(jìn)行解壓,因此,解壓上下文可以使用解壓縮器滑動(dòng)窗口中的任何一個(gè)參考值;W-LSB算法的魯棒性在于最壞情況下可以容忍(Sffff-1)個(gè)連續(xù)的分組丟失,而不會導(dǎo)致?lián)p害擴(kuò)散;其中,W-LSB編碼的魯棒性在于如果連續(xù)分組丟失個(gè)數(shù)不超過Sffff窗口長度,即丟失分組的個(gè)數(shù)小于參考值的個(gè)數(shù),解壓器仍然可以正確解壓。所述動(dòng)態(tài)調(diào)整的改進(jìn),在ROHC的0模式和R模式中,當(dāng)解壓失敗時(shí),解壓器向壓縮器發(fā)送NACK和STATIC NACK負(fù)反饋信息,請求壓縮器發(fā)送完整分組來更新上下文,因此可以利用NACK和STATIC NACK信息來動(dòng)態(tài)調(diào)整Sffff的值;所述壓縮器保存壓縮參考值的滑動(dòng)窗口寬度設(shè)為Sffff C,解壓器保存解壓·參考值的滑動(dòng)窗口寬度設(shè)為Sffff D,為滑動(dòng)窗口的寬度設(shè)定初始值;壓縮器端接收到NACK和STATIC- NACK信息意味著解壓器解壓失敗,表明存在分組丟失,因此當(dāng)前的Sffff C值太小了,需要成倍增大Sffff C值來避免進(jìn)一步的解壓失?。唤鈮浩鞫嗽诎l(fā)送NACK和STATIC-NACK負(fù)反饋前按照同樣的規(guī)律增大。本發(fā)明的有益效是研究了 ROHC信頭壓縮的算法和工作機(jī)制,分析了 CP/IP信頭壓縮的局限性,針對無線IPv6網(wǎng)絡(luò)中TCP/IP信頭壓縮的技術(shù)和性能,改進(jìn)了 ROHC和TCP壓縮方案不完善的地方,在原型系統(tǒng)中通過仿真測試驗(yàn)證了結(jié)果。
圖1是TCP壓縮基本框架圖。圖2是RHOC的壓縮流程示意圖。圖3是W-LSB算法流程圖。
具體實(shí)施例方式1、ROHC協(xié)議及其實(shí)現(xiàn)首先介紹ROHC的基本原理。為了實(shí)現(xiàn)信頭壓縮,需要在TCP/IP架構(gòu)中加入兩個(gè)新的功能單元信頭壓縮器和信頭解壓器,如圖1所示。ROHC壓縮器有三種壓縮狀態(tài),每一種都是不同程度的壓縮,分別為IR狀態(tài)(Initialization and Refresh)、F0 狀態(tài)(First Order)和 SO 狀態(tài)(Second Order),這三種壓縮狀態(tài)級別依次升高,壓縮器總是從最低壓縮狀態(tài)瓜狀態(tài)開始工作,然后依次向高級壓縮狀態(tài)轉(zhuǎn)移。每個(gè)工作模式下每種壓縮狀態(tài)都使用不同的信頭類型。ROHC定義了三種工作模式單向模式(Unidirectional,U-Mode),雙向樂觀模式(Bidirectional Optimistic, 0-Mode),雙向可靠模式(Bidirectional Reliable,R-Mode)。每種模式下都有不同的壓縮狀態(tài)和解壓狀態(tài),不同的工作模式對應(yīng)的壓縮/解壓縮狀態(tài)轉(zhuǎn)移方式也不同。ROHC的壓縮算法,最低有效位(LSB,Least Significant Bit)和基于窗口的最低有效位(W-LSB,Windows-Least Significant Bits)編碼算法是ROHC協(xié)議中非常重要的壓縮編碼算法,貫穿于ROHC的整個(gè)壓縮和解壓過程,一般用于對連續(xù)分組中數(shù)值變化不大的字段進(jìn)行壓縮編碼,要壓縮的字段與已正確傳遞并作為參考的字段相比較,只傳遞二者不同的最低位比特,起到壓縮的效果。解壓器根據(jù)解壓上下文中保存的對應(yīng)字段的參考值,對接收到的LSB編碼或W-LSB編碼的字段進(jìn)行解壓,將這些字段恢復(fù)到編碼前的原始值。2、TCP的壓縮簡檔TCP/IP是面向連接的流,在收、發(fā)兩端間采用雙向可靠的連接模式這意味著數(shù)據(jù)交換前必須建立協(xié)議連接,一 般是三次握手規(guī)則,之后TCP才能保證分發(fā)無錯(cuò)的分組到客戶端。TCP將應(yīng)用服務(wù)產(chǎn)生的數(shù)據(jù)流進(jìn)行分組,在發(fā)送的分組中,IP層包含分組的負(fù)載并且序列號作為分組的第一個(gè)字節(jié)。在客戶端,對于接收到的任何分組,TCP發(fā)送含第一字節(jié)序列號的確認(rèn)分組,表明客戶端期望接收的下一個(gè)分組。在服務(wù)器端發(fā)送新的分組前,TCP期望接收到所有發(fā)送分組的確認(rèn)分組,如果期望超時(shí),就認(rèn)為分組丟失進(jìn)行重發(fā)。TCP連接可以被描述成兩個(gè)流數(shù)據(jù)流(服務(wù)器向客戶端)和確認(rèn)流(客戶向服務(wù)器端),對這兩種流采用分離和獨(dú)立的壓縮。在制定分組格式時(shí),按照ROHC簡檔規(guī)范進(jìn)行,這樣設(shè)計(jì)的方案可以通用于整個(gè)ROHC架構(gòu)。在每個(gè)格式中引入MSN關(guān)鍵字段,用于發(fā)送可變的格式。所設(shè)計(jì)的分組格式具有以下特點(diǎn)I) IR和IR-DYN分組中的簡檔字段值設(shè)為9,用于區(qū)分特殊的TCP/IP流;2)信頭靜態(tài)域和信頭動(dòng)態(tài)域都是可變長度的,分別代表TCP信頭中的靜態(tài)域和動(dòng)態(tài)域;3)設(shè)置Ex標(biāo)志,Ex=I表示存在額外的字段,支持TCP窗口大小和TCP緊急指針的傳輸,也可用作擴(kuò)大SN字段的傳輸范圍;4)所有定義的格式均攜帶CID字段(0-16比特),MSN字段(4_16比特)和TCP校驗(yàn)和字段(2個(gè)字節(jié))。因?yàn)檫@些字段在各個(gè)流的每個(gè)分組中都需要進(jìn)行傳遞,這意味著最小的壓縮分組是3個(gè)字節(jié)長度。壓縮器到解壓器的分組主要有取分組、IR-DYN分組以及ROHC壓縮分組(壓縮流程如圖2)。CP數(shù)據(jù)流的特性,分析了 TCP信頭字段的變化方式,在此基礎(chǔ)上引入主序列號MSN作為關(guān)鍵字段,編寫了 TCP/IP分組的各種壓縮簡檔和反饋分組,并在原型系統(tǒng)中得到實(shí)現(xiàn),所設(shè)計(jì)的方案可以通用于整個(gè)ROHC架構(gòu)。3、滑動(dòng)窗口寬度的動(dòng)態(tài)調(diào)整W-LSB算法(算法流程如圖3)不需要精確的同步,在W-LSB中對每個(gè)流,壓縮器保存最近Sffff個(gè)參考值的滑動(dòng)窗口,解壓器只維護(hù)最近成功解壓的參考值,因此實(shí)際上LSB是W-LSB中Sffff=I的特殊情況。對每個(gè)分組,壓縮器保證壓縮分組可以使用滑動(dòng)窗口中的任何參考值進(jìn)行解壓。因此,解壓上下文可以使用解壓縮器滑動(dòng)窗口中的任何一個(gè)參考值。W-LSB算法的魯棒性在于最壞情況下可以容忍(Sffff-1)個(gè)連續(xù)的分組丟失,而不會導(dǎo)致?lián)p害擴(kuò)散。W-LSB編碼的魯棒性在于如果連續(xù)分組丟失個(gè)數(shù)不超過Sffff窗口長度,即丟失分組的個(gè)數(shù)小于參考值的個(gè)數(shù),解壓器仍然可以正確解壓。因此,Sffff值在W-LSB編碼中作用很大,對ROHC性能有直接影響。如果窗口寬度Sffff過小,用做壓縮的參考值就少,需要壓縮的比特位數(shù)k短,可以提高壓縮效率。但是一旦在無線鏈路上丟失Sffff個(gè)以上的分組,超出了參考值可以譯碼的范圍,解壓方就不能夠正確解壓,影響了 ROHC的魯棒性。相反,如果Sffff取值過大,雖然能夠保證ROHC的魯棒性,但是卻降低了壓縮性能。因此,如果鏈路上分組丟失率比較小,選擇較小的Sffff值即可,當(dāng)可能出現(xiàn)較大分組丟失率時(shí),可以選擇較大的SWW。在無線環(huán)境中,分組丟失率通常由誤碼率BER引起并且可能發(fā)生連續(xù)分組丟失,如果進(jìn)一步考慮移動(dòng)性,信道質(zhì)量可能快速改變,很難找到適合各種情況的固定Sffff值。因此,應(yīng)該動(dòng)態(tài)調(diào)整Sffff值來滿足無線信道需求。4、動(dòng)態(tài)調(diào)整的改進(jìn)方法在ROHC的0模式和R模式中,當(dāng)解壓失敗時(shí),解壓器向壓縮器發(fā)送NACK和STATICNACK負(fù)反饋信息,請求壓縮器發(fā)送完整分組來更新上下文,因此可以利用NACK和STATICNACK信息來動(dòng)態(tài)調(diào)整Sffff的值。改進(jìn)方法如下壓縮器保存壓縮參考值的滑動(dòng)窗口寬度設(shè)為Sffff C,解壓器保存解壓參考值的滑動(dòng)窗口寬度設(shè)為Sffff D,為滑動(dòng)窗口的寬度設(shè)定初始值。壓縮器端接收到NACK和STATIC- NACK信息意味著解壓器解壓失敗,表明存在分組丟失,因此當(dāng)前的Sffff C值太小了,需要成倍增大Sffff C值來避免進(jìn)一步的解壓失??;解壓器端在發(fā)送NACK和STATIC-NACK`負(fù)反饋前按照同樣的規(guī)律增大。當(dāng)連續(xù)成功壓縮(或解壓)的分組個(gè)數(shù)大于當(dāng)前滑動(dòng)窗口寬度時(shí),意味著當(dāng)前滑動(dòng)窗口的寬度可以提供較強(qiáng)的魯棒性,鏈路質(zhì)量較好,在這種情況下,可以等比縮減Sffff C(或Sffff D)的值來獲得較少的編碼比特和較快的壓縮速度。5、設(shè)計(jì)ROHC的測試信源在RHOC簡檔的編寫中,經(jīng)常需要測試簡檔的編寫或修改是否有效,這時(shí)特別需要有靈活的測試信源,隨時(shí)檢驗(yàn)簡檔的壓縮和解壓縮功能,進(jìn)行下一步的修改。在TCP壓縮簡檔的修改中,由于處在調(diào)試階段,可能無法保證握手分組或者確認(rèn)分組的正確到達(dá),從而可能產(chǎn)生司機(jī)或TCP重傳,影響了測試的正常進(jìn)行。所設(shè)計(jì)的測試信源可以產(chǎn)生適用于任何類型的測試分組,使用簡便,分組格式不限。針對面向連接的TCP流測試,在不需要事先建立連接和回送確認(rèn)分組的情況下,TCP/IP流的RHOC壓縮/解壓縮測試可以持續(xù)進(jìn)行。
權(quán)利要求
1.一種無線IPv6互連網(wǎng)中TCP信頭壓縮方法,其特征在于,該方法包括 (1)按照ROHC簡檔規(guī)范,采用W-LSB編碼方法,編寫了TCP/IP分組的壓縮簡檔; (2)為了方便ROHC簡檔的編寫和調(diào)試,在ROHC壓縮器端增加處理函數(shù),可以產(chǎn)生適用于任何類型的測試分組,隨時(shí)校驗(yàn)簡檔的壓縮和解壓縮功能; (3)采用靈活的可調(diào)節(jié)滑動(dòng)窗口寬度機(jī)制,特別適用于連接在無線鏈路中的TCP/IP架構(gòu),由于信道質(zhì)量的快速變化,找到適合各種情況的優(yōu)化的滑動(dòng)窗口寬度值,改變壓縮和解壓狀態(tài)變遷邏輯,引入附加的控制信息,兼顧強(qiáng)魯棒性和低系統(tǒng)開銷; (4)在RHOC簡檔的編寫中,經(jīng)常需要測試簡檔的編寫或修改是否有效,這時(shí)特別需要有靈活的測試信源,隨時(shí)檢驗(yàn)簡檔的壓縮和解壓縮功能,進(jìn)行下一步的修改;針對面向連接的TCP流測試,在不需要事先建立連接和回送確認(rèn)分組的情況下,TCP/IP流的RHOC壓縮/解壓縮測試可以持續(xù)進(jìn)行。
2.根據(jù)權(quán)利要求1所述一種無線IPv6互連網(wǎng)中TCP信頭壓縮方法,其特征在于,所述TCP的壓縮簡檔,TCP/IP是面向連接的流,在收、發(fā)兩端間采用雙向可靠的連接模式,依據(jù)三次握手規(guī)則,意味著數(shù)據(jù)交換前必須建立協(xié)議連接,之后TCP才能保證分發(fā)無錯(cuò)的分組到客戶端;TCP將應(yīng)用服務(wù)產(chǎn)生的數(shù)據(jù)流進(jìn)行分組,在發(fā)送的分組中,IP層包含分組的負(fù)載并且序列號作為分組的第一個(gè)字節(jié);在客戶端,對于接收到的任何分組,TCP發(fā)送含第一字節(jié)序列號的確認(rèn)分組,表明客戶端期望接收的下一個(gè)分組。
3.根據(jù)權(quán)利要求1所述一種無線IPv6互連網(wǎng)中TCP信頭壓縮方法,其特征在于,所述滑動(dòng)窗口寬度的動(dòng)態(tài)調(diào)整,W-LSB算法不需要精確的同步,在W-LSB中對每個(gè)流,壓縮器保存最近SWW個(gè)參考值的滑動(dòng)窗口,解壓器只維護(hù)最近成功解壓的參考值,對每個(gè)分組,壓縮器保證壓縮分組可以使用滑動(dòng)窗口中的任何參考值進(jìn)行解壓,因此,解壓上下文可以使用解壓縮器滑動(dòng)窗口中的任何一個(gè)參考值;W-LSB算法的魯棒性在于最壞情況下可以容忍(Sffff-1)個(gè)連續(xù)的分組丟失,而不會導(dǎo)致?lián)p害擴(kuò)散;其中,W-LSB編碼的魯棒性在于如果連續(xù)分組丟失個(gè)數(shù)不超過Sffff窗口長度,即丟失分組的個(gè)數(shù)小于參考值的個(gè)數(shù),解壓器仍然可以正確解壓。
4.根據(jù)權(quán)利要求1所述一種無線IPv6互連網(wǎng)中TCP信頭壓縮方法,其特征在于,所述動(dòng)態(tài)調(diào)整的改進(jìn),在ROHC的0模式和R模式中,當(dāng)解壓失敗時(shí),解壓器向壓縮器發(fā)送NACK和STATIC NACK負(fù)反饋信息,請求壓縮器發(fā)送完整分組來更新上下文,因此可以利用NACK和STATIC NACK信息來動(dòng)態(tài)調(diào)整Sffff的值;所述壓縮器保存壓縮參考值的滑動(dòng)窗口寬度設(shè)為Sffff C,解壓器保存解壓參考值的滑動(dòng)窗口寬度設(shè)為Sffff D,為滑動(dòng)窗口的寬度設(shè)定初始值;壓縮器端接收到NACK和STATIC- NACK信息意味著解壓器解壓失敗,表明存在分組丟失,因此當(dāng)前的SWW C值太小了,需要成倍增大Sffff C值來避免進(jìn)一步的解壓失??;解壓器端在發(fā)送NACK和STATIC-NACK負(fù)反饋前按照同樣的規(guī)律增大。
全文摘要
本發(fā)明公開了屬于提高無線鏈路的壓縮率和魯棒性的技術(shù)領(lǐng)域的一種無線IPv6互連網(wǎng)中TCP信頭壓縮方法。本發(fā)明著重對ROHC的三種壓縮狀態(tài)、三種工作模式及其W-LSB算法等進(jìn)行了闡述。給出了TCP信頭字段的分類方式,按照ROHC簡檔規(guī)范,編寫了TCP/IP壓縮的簡檔;及滑動(dòng)窗口寬度的動(dòng)態(tài)調(diào)整方法以適應(yīng)無線鏈路的變化特性,并且對提出的方法進(jìn)行了性能仿真和分析;設(shè)計(jì)了ROHC的測試信源,方便ROHC的TCP/IP壓縮簡檔的編寫和測試;針對無線IPv6網(wǎng)絡(luò)中TCP/IP信頭壓縮的技術(shù)和性能,改進(jìn)了ROHC和TCP壓縮方案不完善的地方,在原型系統(tǒng)中通過仿真測試驗(yàn)證了結(jié)果。
文檔編號H04W28/06GK103067971SQ201310036498
公開日2013年4月24日 申請日期2013年1月30日 優(yōu)先權(quán)日2013年1月30日
發(fā)明者程遠(yuǎn), 馮剛, 常寧 申請人:北京天地互連信息技術(shù)有限公司