本發(fā)明涉及tcp/ip網(wǎng)絡(luò)協(xié)議和糾錯,尤其涉及一種含噪tcp會話流初始序列號估計方法及相關(guān)設(shè)備。
背景技術(shù):
1、在深空通信、戰(zhàn)場通信中,高誤碼嚴重影響通信性能。傳統(tǒng)的前向糾錯(fec)、自動請求重傳(arq)存在局限。這是因為,誤碼率較高時,fec的糾錯能力急劇下降。常見的信道碼在信道誤比特率低于10-3時可以正常工作,但是信道誤比特率高于此,信道碼幾乎無糾錯能力。arq技術(shù)則需要通信場景中存在反饋信道,這限制了該類方法的應(yīng)用。
2、香農(nóng)信息論指出,利用冗余信息可以對數(shù)據(jù)糾錯,提高傳輸可靠性。已有文獻(如文獻1“upadhyaya?p,jiang?a?a.representation-oblivious?error?correction?bynatural?redundancy[c]//icc?2019-2019ieee?international?conference?oncommunications(icc).ieee,2019”;文獻2“upadhyaya?p,jiang?a.machine?learning?forerror?correction?with?natural?redundancy[j].2019.doi:10.48550/arxiv.1910.07420”)系統(tǒng)地提出“自然冗余”的概念。“自然冗余”是與“人工冗余”相對的。人工冗余是指,為了提高傳輸可靠性而在數(shù)據(jù)中加入的冗余。典型的人工冗余是信道編碼。例如,(1296,1080)系統(tǒng)ldpc碼中,每1080位信息比特增加216比特校驗位,構(gòu)成長度為1296的信道碼;接收端可利用校驗位對信息位糾錯,從而提高數(shù)據(jù)的可靠性?!白匀蝗哂唷笔侵覆⒎菫樘岣邆鬏斂煽啃远霈F(xiàn)在數(shù)據(jù)中冗余。上述文獻中,針對文件存儲的場合,指出壓縮數(shù)據(jù)中存在冗余。這主要由兩個原因造成,一是完美的壓縮算法計算復(fù)雜度過高,實際中傾向于使用復(fù)雜度低、但是壓縮效果低于理想情況的算法;二是語音圖像等數(shù)據(jù),其數(shù)據(jù)模型本身十分復(fù)雜,難以設(shè)計最優(yōu)壓縮算法。因此,已有文獻研究利用信源數(shù)據(jù)中殘留的冗余對噪聲污染的數(shù)據(jù)糾錯。
3、以tcp/ip為代表的網(wǎng)絡(luò)協(xié)議是網(wǎng)絡(luò)化傳輸中主流的協(xié)議標準。它采用分層的設(shè)計方法,即,讓兩個通信實體的“對等層”之間可以通信。在分層設(shè)計下,報文控制字段中存在冗余。如:同一會話流、同一方向上所有分組具有相同的源和目的ip;傳輸層協(xié)議號字段,占據(jù)一個字節(jié),但是實際上大概率取6和17(分別表示該報文傳輸層采用tcp協(xié)議和udp協(xié)議)。研究如何挖掘和利用網(wǎng)絡(luò)協(xié)議的冗余,對報頭關(guān)鍵字段進行糾錯,是很有價值的。這是由于,相對于數(shù)據(jù)字段,報頭對還原、重建用戶數(shù)據(jù)更為關(guān)鍵。報頭字段出錯可能導(dǎo)致會話無法還原。而數(shù)據(jù)字段出錯、甚至丟失,對很多場合并不是致命的。例如,音頻和視頻數(shù)據(jù)中,部分錯誤對文件沒有顯著影響。
4、tcp協(xié)議中,用戶數(shù)據(jù)被封裝為若干個報文,以發(fā)送序列號標記報文的先后次序,接收端根據(jù)序列號從小到大的順序?qū)笪呐判?,從而還原用戶數(shù)據(jù)。序列號字段,對重組會話流、還原用戶數(shù)據(jù)有著至關(guān)重要的作用,序列號字段出錯時,即使該報文大部分都是正確的,這個報文也會被丟棄。圖1給出了不同信道誤比特率下,“發(fā)郵件”的會話流中,序列號字段出錯時的會話重組和報文還原結(jié)果。注意,為了突出顯示“序列號”字段錯誤對還原用戶數(shù)據(jù)的重要作用,這里僅假設(shè)序列號字段出錯、報文的其他部分不出錯。圖1中,(a)是誤比特率為0時還原的郵件,(b)是誤比特率為1e-3時還原的郵件,此時,序列號錯誤導(dǎo)致部分報文被丟棄,還原出來的郵件體殘損;(c)是誤比特率為1e-2時的情形,報文錯誤過多,無法還原郵件。
5、研究高誤比特率條件下會話流重組,關(guān)鍵是對含錯報文序列號的糾錯。文獻(陳越新,鄭輝,趙艷秋,等.基于序列號的一種數(shù)據(jù)包容錯排序算法[j].武漢理工大學(xué)學(xué)報,2009(24):4.doi:cnki:sun:whgy.0.2009-24-030.)研究了該問題。建立了容錯排序模型,推導(dǎo)了“順序統(tǒng)計量”,設(shè)計了容錯的排序算法。該文獻中通過實驗(本發(fā)明不再贅述)給出了該算法和不做容錯處理時的正確率。從實驗結(jié)果看到,在誤比特率處于1e-5到1e-3范圍內(nèi),會話流包含100個報文時,該算法的錯誤率為0;會話流包含10個報文時,該算法的錯誤率為0。但是,當(dāng)誤比特率再增加,取5e-2時,會話流包含100個報文時錯誤率是0.118。會話流包含10個報文的性能也沒有測試。更高的誤比特率也沒有測試結(jié)果。事實上,該文獻的方法未能充分挖掘利用會話流中發(fā)送序列號和報文長度的關(guān)系,在高誤比特率條件下性能比較差,還不足以支撐會話流重建。
技術(shù)實現(xiàn)思路
1、為了在高誤比特率條件下也能夠?qū)崿F(xiàn)會話流的重建,本發(fā)明提供一種含噪tcp會話流初始序列號估計方法及相關(guān)設(shè)備。
2、第一方面,本發(fā)明提供一種含噪tcp會話流初始序列號估計方法,包括:
3、步驟1:接收目標會話流的n個報文的含噪序列號y={y1,y2,…,yn},yi表示第i個報文的含噪序列號,i=1,…,n;
4、步驟2:利用yi(1),i=1,…,n,計算初始序列號第一位的最大似然估計,yi(1)表示yi的第1位的取值;
5、步驟3:利用yi(k),i=1,…,n,k=2,…seqlen,計算初始序列號第2位至第seqlen位的最大似然估計;其中,seqlen是初始序列號的二進制表示的總比特數(shù),yi(k)表示yi的第k位的取值。
6、進一步地,步驟2具體包括:
7、獲取yi(1),i=1,…,n;
8、令o1(1)=y(tǒng)1(1),按照下式確定o2(1),…,on(1),i=2,…,n;
9、
10、其中,表示對yi(1)取反,即,若yi(1)=1,則若yi(1)=0,則li表示n個報文構(gòu)成的報文序列中,第i個報文之前的報文長度之和,即其中,lj是當(dāng)前報文序列中第j個報文的長度;根據(jù)tcp協(xié)議規(guī)范,存在si=s1+li,i=2,…n;其中si表示第i個報文的序列號,表示li的第k位;
11、以表示待估計的初始序列號的第1位的取值;
12、若滿足則判決為否則,
13、進一步地,步驟2還包括:
14、令表示在計算si=s1+li時,從第k-1位向第k位的進位的取值;
15、第1位向第2位進位的取值的計算公式為
16、
17、進一步地,步驟3中,按照預(yù)設(shè)過程計算得到初始序列號第k位的最大似然估計,k=2,…,seqlen,所述預(yù)設(shè)過程具體包括:
18、獲取yi(k),i=1,…,n;
19、令o1(k)=y(tǒng)1(k),按照下式確定o2(k),…,on(k),i=2,…,n;
20、
21、若滿足則判決為否則,其中,si(k)的估計;
22、并按照下式確定從第k位向第k+1位的進位的取值
23、
24、第二方面,本發(fā)明提供一種含噪tcp會話流初始序列號估計裝置,包括:
25、接收模塊,用于接收目標會話流的n個報文的含噪序列號y={y1,y2,…,yn};yi表示第i個報文的含噪序列號,i=1,…,n;
26、第一估計模塊,用于利用yi(1),i=1,…,n,計算初始序列號第一位的最大似然估計;yi(1)表示yi的第1位的取值;
27、第二估計模塊,用于利用yi(k),i=1,…,n,k=2,…seqlen,計算初始序列號第2位至第seqlen位的最大似然估計;其中,seqlen是初始序列號字段的二進制表示的總比特數(shù),yi(k)表示yi的第k位的取值。
28、第三方面,本發(fā)明提供一種電子設(shè)備,包括存儲器和處理器,所述存儲器存儲可被處理器執(zhí)行的程序代碼,所述處理器執(zhí)行所述程序代碼時實現(xiàn)如第一方面所述的一種含噪tcp會話流初始序列號估計方法。
29、第四方面,本發(fā)明提供一種計算機可讀存儲介質(zhì),其上存儲有計算機程序,所述計算機程序被處理器執(zhí)行時實現(xiàn)如第一方面所述的一種含噪tcp會話流初始序列號估計方法。
30、本發(fā)明的有益效果:
31、本發(fā)明提供的一種含噪tcp會話流初始序列號估計方法及相關(guān)設(shè)備,通過利用tcp協(xié)議中同一會話流的報文發(fā)送序列號與報文長度的約束關(guān)系,把n個報文中含噪的序列號字段si,i=1,2,…,n,作為初始序列號s1的n次獨立觀測,逐比特地對初始序列號進行迭代估計。相比于已有方法,該方法可以工作在誤比特率為1e-1、5e-2、1e-2等高誤比特率環(huán)境下,大大提升初始序列號估計正確率。