魯棒性頭壓縮狀態(tài)回遷的方法及壓縮器的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及魯棒性頭壓縮(Robust Header Compress, R0HC)技術(shù),尤其涉及一種魯棒性頭壓縮狀態(tài)回遷的方法及壓縮器。
【背景技術(shù)】
[0002]為了能夠有效利用無線信道帶寬資源,引入了 ROHC。ROHC由互聯(lián)網(wǎng)工程任務(wù)組(Internet Engineering Task Force, IETF)的 RFC3095 協(xié)議進(jìn)行描述。RFC3095 協(xié)議中定義了三種壓縮模式,分別是單向模式(Unidirect1nal mode, U模式)、雙向優(yōu)化模式(Bidirect1nal Optimistic mode, O 模式)、雙向可靠模式(Bidirect1nal Reliablemode, R模式)。ROHC的壓縮器的壓縮狀態(tài)從低到高依次為初始態(tài)(IR)、一階態(tài)(FO)和二階態(tài)(SO),這三個(gè)壓縮狀態(tài)的壓縮效率從低到高。不同的壓縮模式根據(jù)不同的回遷方式保證頭壓縮的魯棒性。其中,U模式是根據(jù)周期回遷的方式保證頭壓縮的魯棒性。
[0003]針對(duì)于傳輸控制協(xié)議(Transmiss1n Control Protocol, TCP)業(yè)務(wù),壓縮器認(rèn)為接收端丟包有兩種情況:一是檢測到接收端發(fā)送的反饋報(bào)文(duplicate ack),二是檢測到發(fā)送端發(fā)送重傳報(bào)文,上述兩種情況的丟包都有可能是傳輸過程中引起的,也可能是解壓器解壓失敗引起的,而傳輸過程中的丟包不需要壓縮器進(jìn)行狀態(tài)回遷,由解壓器解壓失敗引起的丟包,壓縮器就需要進(jìn)行狀態(tài)回遷,因此壓縮器在無法確定丟包原因的情況下就進(jìn)行狀態(tài)回遷必然會(huì)降低TCP業(yè)務(wù)頭壓縮的魯棒性。
【發(fā)明內(nèi)容】
[0004]有鑒于此,本發(fā)明實(shí)施例期望提供一種魯棒性頭壓縮狀態(tài)回遷的方法及壓縮器,避免壓縮器在無法確定丟包原因的情況下都進(jìn)行狀態(tài)回遷的問題,提高TCP業(yè)務(wù)頭壓縮的魯棒性。
[0005]本發(fā)明實(shí)施例的技術(shù)方案是這樣實(shí)現(xiàn)的:
[0006]一種魯棒性頭壓縮狀態(tài)回遷的方法,包括:壓縮器根據(jù)接收到的傳輸控制協(xié)議TCP特殊報(bào)文攜帶的序列號(hào)與滑窗中的丟包的TCP業(yè)務(wù)報(bào)文的序列號(hào)的比較結(jié)果,確定需要進(jìn)行狀態(tài)回遷時(shí),將所述壓縮器的壓縮狀態(tài)進(jìn)行回遷。
[0007]其中,所述方法還包括:壓縮器在滑窗中維護(hù)丟包的TCP業(yè)務(wù)報(bào)文的序列號(hào)。
[0008]其中,所述壓縮器在滑窗中維護(hù)丟包的TCP業(yè)務(wù)報(bào)文的序列號(hào),具體包括:
[0009]接收第K包TCP業(yè)務(wù)報(bào)文,其中K為正整數(shù),且K > I ;
[0010]確定接收到的第K包TCP業(yè)務(wù)報(bào)文的序列號(hào)與頭壓縮上下文中的數(shù)據(jù)不一致時(shí),將所述頭壓縮上下文中的數(shù)據(jù)插入滑窗,并更新所述頭壓縮上下文中的數(shù)據(jù)為第K包TCP業(yè)務(wù)報(bào)文攜帶的第K+1包TCP業(yè)務(wù)報(bào)文的序列號(hào)。
[0011]進(jìn)一步地,確定接收到的第K包TCP業(yè)務(wù)報(bào)文的序列號(hào)與頭壓縮上下文中的數(shù)據(jù)一致時(shí),所述方法還包括:更新所述頭壓縮上下文中的數(shù)據(jù)為第K包TCP業(yè)務(wù)報(bào)文攜帶的第K+1包TCP業(yè)務(wù)報(bào)文的序列號(hào)。
[0012]其中,該方法具體包括:接收TCP特殊報(bào)文;對(duì)所述TCP特殊報(bào)文進(jìn)行解析得到所述TCP特殊報(bào)文攜帶的序列號(hào);確定查找不到所述滑窗中含有與所述TCP特殊報(bào)文攜帶的序列號(hào)相同的丟包的TCP業(yè)務(wù)報(bào)文的序列號(hào)時(shí),將所述壓縮器的壓縮狀態(tài)進(jìn)行回遷。
[0013]進(jìn)一步地,確定查找到所述滑窗中含有與所述TCP特殊報(bào)文攜帶的序列號(hào)相同的丟包的TCP業(yè)務(wù)報(bào)文的序列號(hào)時(shí),所述方法還包括:
[0014]刪除滑窗中所述丟包的TCP業(yè)務(wù)報(bào)文的序列號(hào)。
[0015]其中,所述TCP特殊報(bào)文為反饋報(bào)文duplicate ack、或重傳報(bào)文。
[0016]一種壓縮器,包括:接收模塊、比較模塊和回遷模塊;其中,
[0017]所述接收模塊,用于接收TCP特殊報(bào)文;
[0018]所述比較模塊,用于根據(jù)接收到的TCP特殊報(bào)文攜帶的序列號(hào)與滑窗中的丟包的TCP業(yè)務(wù)報(bào)文的序列號(hào)的比較結(jié)果,確定需要進(jìn)行狀態(tài)回遷時(shí),觸發(fā)回遷模塊;
[0019]所述回遷模塊,用于將所述壓縮器的壓縮狀態(tài)進(jìn)行回遷。
[0020]其中,所述壓縮器還包括:維護(hù)模塊,用于在滑窗中維護(hù)丟包的TCP業(yè)務(wù)報(bào)文的序列號(hào)。
[0021]進(jìn)一步地,所述維護(hù)模塊包括:接收單元、確定單元、插入單元和更新單元,其中,
[0022]所述接收單元,用于接收第K包TCP業(yè)務(wù)報(bào)文,其中K為正整數(shù),且K > I ;
[0023]所述確定單元,用于確定接收到的第K包TCP業(yè)務(wù)報(bào)文的序列號(hào)與頭壓縮上下文中的數(shù)據(jù)不一致時(shí),分別觸發(fā)所述插入單元和所述更新單元;
[0024]所述插入單元,用于將所述頭壓縮上下文中的數(shù)據(jù)插入滑窗;
[0025]所述更新單元,用于更新所述頭壓縮上下文中的數(shù)據(jù)為第K包TCP業(yè)務(wù)報(bào)文攜帶的第Κ+l包TCP業(yè)務(wù)報(bào)文的序列號(hào)。
[0026]其中,所述確定單元包括:解析子單元和判斷子單元,其中,
[0027]所述解析子單元,用于對(duì)第K包TCP業(yè)務(wù)報(bào)文進(jìn)行解析得到第K包TCP業(yè)務(wù)報(bào)文的序列號(hào)和第κ+l包TCP業(yè)務(wù)報(bào)文的序列號(hào);
[0028]所述判斷子單元,用于確定所述第K包TCP業(yè)務(wù)報(bào)文的序列號(hào)與所述頭壓縮上下文中的數(shù)據(jù)不一致時(shí),分別觸發(fā)所述插入單元和所述更新單元。
[0029]進(jìn)一步地,所述維護(hù)模塊還包括:初始化單元,
[0030]所述初始化單元,用于初始化滑窗為空,初始化頭壓縮上下文中的數(shù)據(jù)為零,并通知所述更新單元;
[0031]所述更新單元,還用于更新所述頭壓縮上下文中的數(shù)據(jù)為第一包TCP業(yè)務(wù)報(bào)文攜帶的第二包TCP業(yè)務(wù)報(bào)文的序列號(hào)。
[0032]進(jìn)一步地,所述壓縮器還包括:刪除模塊,其中,
[0033]所述比較模塊,還用于查找到所述滑窗中含有與所述TCP特殊報(bào)文攜帶的序列號(hào)相同的丟包的TCP業(yè)務(wù)報(bào)文的序列號(hào)時(shí),觸發(fā)所述刪除模塊;
[0034]所述刪除模塊,用于刪除滑窗中所述丟包的TCP業(yè)務(wù)報(bào)文的序列號(hào)。
[0035]其中,所述比較模塊包括解析單元和查找單元;其中,
[0036]所述解析單元,用于對(duì)所述TCP特殊報(bào)文進(jìn)行解析得到所述TCP特殊報(bào)文攜帶的序列號(hào);
[0037]所述查找單元,用于確定查找不到所述滑窗中含有與所述TCP特殊報(bào)文攜帶的序列號(hào)相同的丟包的TCP業(yè)務(wù)報(bào)文的序列號(hào)時(shí),觸發(fā)所述回遷模塊。
[0038]本發(fā)明實(shí)施例所提供的魯棒性頭壓縮狀態(tài)回遷的方法及壓縮器,壓縮器根據(jù)接收到的TCP特殊報(bào)文攜帶的序列號(hào)與滑窗中的丟包的TCP業(yè)務(wù)報(bào)文的序列號(hào)的比較結(jié)果,確定需要進(jìn)行狀態(tài)回遷時(shí),將所述壓縮器的壓縮狀態(tài)進(jìn)行回遷,從而避免了壓縮器在無法確定丟包原因的情況下都進(jìn)行狀態(tài)回遷的問題,提高了 TCP業(yè)務(wù)頭壓縮的魯棒性。
【附圖說明】
[0039]圖1為本發(fā)明實(shí)施例魯棒性頭壓縮狀態(tài)回遷的方法的應(yīng)用示意圖;
[0040]圖2為本發(fā)明實(shí)施例魯棒性頭壓縮狀態(tài)回遷的方法的流程示意圖;
[0041]圖3為本發(fā)明實(shí)施例魯棒性頭壓縮狀態(tài)回遷的方法的滑窗維護(hù)的流程示意圖;
[0042]圖4為本發(fā)明實(shí)施例的壓縮器的組成結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0043]U模式