一種航電全雙工實(shí)時(shí)以太網(wǎng)數(shù)據(jù)包重組方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開(kāi)了一種航電全雙工實(shí)時(shí)以太網(wǎng)數(shù)據(jù)包重組方法及系統(tǒng),涉及AFDX技術(shù)。本發(fā)明公開(kāi)的方法包括:從接收到的需要重組的數(shù)據(jù)包中查找與當(dāng)前接收的數(shù)據(jù)包屬于同一組的數(shù)據(jù)包,并將當(dāng)前接收的數(shù)據(jù)包順序掛載到所查找到的該組數(shù)據(jù)包存儲(chǔ)列表上;如果數(shù)據(jù)包存儲(chǔ)列表中掛載的所有數(shù)據(jù)包的長(zhǎng)度之和等于該組需要重組的數(shù)據(jù)包的數(shù)據(jù)總長(zhǎng)度時(shí),將該數(shù)據(jù)包存儲(chǔ)列表中掛載的所有數(shù)據(jù)包上傳給上層應(yīng)用以完成重組。本發(fā)明還公開(kāi)了一種航電全雙工實(shí)時(shí)以太網(wǎng)數(shù)據(jù)包重組系統(tǒng)。本申請(qǐng)技術(shù)方案采用硬件描述語(yǔ)言實(shí)現(xiàn)完成對(duì)AFDX接收到的需要重組的數(shù)據(jù)包進(jìn)行數(shù)據(jù)重組,以完成AFDX網(wǎng)絡(luò)數(shù)據(jù)包的正常接收。
【專利說(shuō)明】一種航電全雙工實(shí)時(shí)以太網(wǎng)數(shù)據(jù)包重組方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及AFDX技術(shù),特別涉及一種航電全雙工實(shí)時(shí)以太網(wǎng)(AFDX)數(shù)據(jù)包重組方法及系統(tǒng)。
【背景技術(shù)】
[0002]AFDX (Avionics Full Duplex Switched Ethernet,航電全雙工實(shí)時(shí)以太網(wǎng))是空中客車公司根據(jù)ARINC664規(guī)范,針對(duì)確定的飛行器數(shù)據(jù)網(wǎng)絡(luò)(Aircraft Data Networks)而實(shí)現(xiàn)的技術(shù)。
[0003]目前已被廣泛用于互連航空飛行器中的電子系統(tǒng),如發(fā)動(dòng)機(jī)、飛行控制部件、巡航系統(tǒng)等。迄今為止,AFDX已使用在A380,A400M和波音B787項(xiàng)目中。
[0004]基于上述協(xié)議的接收數(shù)據(jù)部分的數(shù)據(jù)重組使用硬件的實(shí)現(xiàn)還沒(méi)有合適的技術(shù)方案,因此亟待提出一個(gè)可應(yīng)用于硬件實(shí)現(xiàn)的數(shù)據(jù)包重組的技術(shù)。
【發(fā)明內(nèi)容】
[0005]本發(fā)明所要解決的技術(shù)問(wèn)題是,提供一種AFDX數(shù)據(jù)包重組方法及系統(tǒng),以實(shí)現(xiàn)AFDX網(wǎng)絡(luò)數(shù)據(jù)包的重組。
[0006]為了解決上述技術(shù)問(wèn)題,本發(fā)明公開(kāi)了一種航電全雙工實(shí)時(shí)以太網(wǎng)數(shù)據(jù)包重組方法,該方法包括:
[0007]從接收到的需要重組的數(shù)據(jù)包中查找與當(dāng)前接收的數(shù)據(jù)包屬于同一組的數(shù)據(jù)包,并將當(dāng)前接收的數(shù)據(jù)包順序掛載到所查找到的該組數(shù)據(jù)包存儲(chǔ)列表上;
[0008]如果數(shù)據(jù)包存儲(chǔ)列表中掛載的所有數(shù)據(jù)包的長(zhǎng)度之和等于該組需要重組的數(shù)據(jù)包的數(shù)據(jù)總長(zhǎng)度時(shí),將該數(shù)據(jù)包存儲(chǔ)列表中掛載的所有數(shù)據(jù)包上傳給上層應(yīng)用以完成重組。
[0009]可選地,上述方法中,所述從接收到的需要重組的數(shù)據(jù)包中查找與當(dāng)前接收的數(shù)據(jù)包屬于同一組的數(shù)據(jù)包包括:
[0010]從接收到的需要重組的數(shù)據(jù)包中查找與當(dāng)前接收的數(shù)據(jù)包的重組數(shù)據(jù)包分組標(biāo)識(shí)信息一致的數(shù)據(jù)包。
[0011]可選地,上述方法還包括:
[0012]從接收到的需要重組的數(shù)據(jù)包中未查找到與當(dāng)前接收的數(shù)據(jù)包屬于同一組的數(shù)據(jù)包時(shí),創(chuàng)建與當(dāng)前接收的數(shù)據(jù)包的重組數(shù)據(jù)包分組標(biāo)識(shí)信息對(duì)應(yīng)的數(shù)據(jù)包存儲(chǔ)列表,將當(dāng)前接收的數(shù)據(jù)包掛載到新創(chuàng)建的數(shù)據(jù)包存儲(chǔ)列表的首位上。
[0013]可選地,上述方法中,每組數(shù)據(jù)包存儲(chǔ)列表中存儲(chǔ)有該組需要重組的各數(shù)據(jù)包的存儲(chǔ)地址。
[0014]可選地,上述方法中,每組需要重組的數(shù)據(jù)包的數(shù)據(jù)總長(zhǎng)度包括:
[0015]該組需要重組的數(shù)據(jù)包中OFFSET等于O的數(shù)據(jù)包中所包含的該組重組數(shù)據(jù)包所有分片的數(shù)據(jù)包的總長(zhǎng)度。[0016]可選地,上述方法中,將當(dāng)前接收的數(shù)據(jù)包順序掛載到所查找到的該組數(shù)據(jù)包存儲(chǔ)列表上米取下述任意一種或多種方式組合的方式:
[0017]隊(duì)尾掛載方式,隊(duì)頭掛載方式、隊(duì)列中間掛載方式。
[0018]本發(fā)明還公開(kāi)了一種航電全雙工實(shí)時(shí)以太網(wǎng)數(shù)據(jù)包重組系統(tǒng),該系統(tǒng)包括:
[0019]查找單元,從接收到的需要重組的數(shù)據(jù)包中查找與當(dāng)前接收的數(shù)據(jù)包屬于同一組的數(shù)據(jù)包,將當(dāng)前接收的數(shù)據(jù)包順序掛載到所查找到的該組數(shù)據(jù)包存儲(chǔ)列表上;
[0020]重組單元,當(dāng)數(shù)據(jù)包存儲(chǔ)列表中掛載的所有數(shù)據(jù)包的長(zhǎng)度之和等于該組需要重組的數(shù)據(jù)包的數(shù)據(jù)總長(zhǎng)度時(shí),將該數(shù)據(jù)包存儲(chǔ)列表中掛載的所有數(shù)據(jù)包上傳給上層應(yīng)用以完成重組。
[0021 ] 可選地,上述系統(tǒng)中,從接收到的需要重組的數(shù)據(jù)包中查找與當(dāng)前接收的數(shù)據(jù)包屬于同一組的數(shù)據(jù)包包括:
[0022]從接收到的需要重組的數(shù)據(jù)包中查找與當(dāng)前接收的數(shù)據(jù)包的重組數(shù)據(jù)包分組標(biāo)識(shí)信息一致的數(shù)據(jù)包。
[0023]可選地,上述系統(tǒng)中,所述查找單元,從接收到的需要重組的數(shù)據(jù)包中未查找到與當(dāng)前接收的數(shù)據(jù)包屬于同一組的數(shù)據(jù)包時(shí),則創(chuàng)建與當(dāng)前接收的數(shù)據(jù)包的重組數(shù)據(jù)包分組標(biāo)識(shí)信息對(duì)應(yīng)的數(shù)據(jù)包存儲(chǔ)列表,將當(dāng)前接收的數(shù)據(jù)包掛載到新創(chuàng)建的數(shù)據(jù)包存儲(chǔ)列表的首位上。
[0024]可選地,上述系統(tǒng)中,每組數(shù)據(jù)包存儲(chǔ)列表中存儲(chǔ)有該組需要重組的各數(shù)據(jù)包的存儲(chǔ)地址。
[0025]可選地,上述系統(tǒng)中,每組需要重組的數(shù)據(jù)包的數(shù)據(jù)總長(zhǎng)度包括:
[0026]該組需要重組的數(shù)據(jù)包中OFFSET等于O的數(shù)據(jù)包中所包含的該組重組數(shù)據(jù)包所有分片的數(shù)據(jù)包的總長(zhǎng)度。
[0027]可選地,上述系統(tǒng)中,所述查找單元將當(dāng)前接收的數(shù)據(jù)包順序掛載到所查找到的該組數(shù)據(jù)包存儲(chǔ)列表上采取下述任意一種或多種方式組合的方式:
[0028]隊(duì)尾掛載方式,隊(duì)頭掛載方式、隊(duì)列中間掛載方式。
[0029]本申請(qǐng)技術(shù)方案從接收到的需要重組的數(shù)據(jù)包中查找與當(dāng)前接收的數(shù)據(jù)包屬于同一組的數(shù)據(jù)包,并將當(dāng)前接收的數(shù)據(jù)包順序掛載到所查找到的該組數(shù)據(jù)包存儲(chǔ)列表上;如果數(shù)據(jù)包存儲(chǔ)列表中掛載的所有數(shù)據(jù)包的長(zhǎng)度之和等于該組需要重組的數(shù)據(jù)包的數(shù)據(jù)總長(zhǎng)度時(shí),將該數(shù)據(jù)包存儲(chǔ)列表中掛載的所有數(shù)據(jù)包上傳給上層應(yīng)用以完成重組,從而實(shí)現(xiàn)完成對(duì)AFDX接收到的需要重組的數(shù)據(jù)包進(jìn)行數(shù)據(jù)重組,以完成AFDX網(wǎng)絡(luò)數(shù)據(jù)包的正常接收。
【專利附圖】
【附圖說(shuō)明】
[0030]圖1是本發(fā)明實(shí)施例中AFDX數(shù)據(jù)包重組流程圖;
[0031]圖2是本發(fā)明實(shí)施例中分配的連續(xù)的RAM存儲(chǔ)空間示意圖;
[0032]圖3是本發(fā)明實(shí)施例中重組完成的數(shù)據(jù)包示意圖;
[0033]圖4是本發(fā)明實(shí)施例中重組數(shù)據(jù)包在重組數(shù)據(jù)存儲(chǔ)單元中的存儲(chǔ)方式圖。
【具體實(shí)施方式】[0034]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,下文將結(jié)合附圖對(duì)本發(fā)明技術(shù)方案作進(jìn)一步詳細(xì)說(shuō)明。需要說(shuō)明的是,在不沖突的情況下,本申請(qǐng)的實(shí)施例和實(shí)施例中的特征可以任意相互組合。
[0035]實(shí)施例1
[0036]AFDX通信網(wǎng)絡(luò)接收到的數(shù)據(jù)包很多是需要重組的數(shù)據(jù)包,必須對(duì)其重組以完成AFDX數(shù)據(jù)包的正常接收。因此,本實(shí)施例提供一種AFDX數(shù)據(jù)包重組方法,該方法主要采用硬件描述語(yǔ)言實(shí)現(xiàn)完成對(duì)AFDX接收到的需要重組的數(shù)據(jù)包進(jìn)行數(shù)據(jù)重組。
[0037]下面介紹AFDX數(shù)據(jù)包重組的具體過(guò)程,該過(guò)程如圖1所示,包括如下步驟100至500的操作:
[0038]步驟100,劃分存儲(chǔ)空間,以重組數(shù)據(jù)包分組標(biāo)識(shí)信息為索引保存重組數(shù)據(jù)包存儲(chǔ)列表。
[0039]首先,介紹需要重組的數(shù)據(jù)包具有以下幾個(gè)字段:
[0040]Fragment ID和Offset,源IP地址,目的IP地址,協(xié)議。
[0041]其中,當(dāng)Fragment ID和源IP地址,目的IP地址和協(xié)議字段相同時(shí),認(rèn)為是同一組需要重組的數(shù)據(jù)包,即Fragment ID、源IP地址、目的IP地址和協(xié)議字段構(gòu)成重組數(shù)據(jù)包分組標(biāo)識(shí)信息。而Offset則是同一組需要重組的數(shù)據(jù)包的不同數(shù)據(jù)包的唯一 ID。
[0042]一個(gè)重組數(shù)據(jù)包分組標(biāo)識(shí)信息可以對(duì)應(yīng)一個(gè)重組數(shù)據(jù)包存儲(chǔ)列表。
[0043]具體地,上述步驟中,劃分的存儲(chǔ)空間可為一個(gè)連續(xù)的RAM存儲(chǔ)空間,存儲(chǔ)空間的大小視需要同時(shí)需要的最大重組個(gè)數(shù)而定。
[0044]需要說(shuō)明的是,所分配的連接的RAM存儲(chǔ)空間的設(shè)計(jì)較為關(guān)鍵,如果設(shè)置不好,會(huì)導(dǎo)致丟包。本實(shí)施例中,分配的連續(xù)的RAM存儲(chǔ)空間如圖2所示。
[0045]步驟200,定義數(shù)據(jù)包最長(zhǎng)重組時(shí)間;
[0046]因?yàn)榫W(wǎng)絡(luò)中存在一些數(shù)據(jù)包丟失現(xiàn)象,會(huì)導(dǎo)致一些數(shù)據(jù)包一直不能重組完成,此時(shí)該數(shù)據(jù)包需要被丟棄,否則會(huì)暫用別的數(shù)據(jù)包的存儲(chǔ)空間,導(dǎo)致一些正常的數(shù)據(jù)包不能進(jìn)行重組,因此需要定義數(shù)據(jù)包最長(zhǎng)重組時(shí)間,這樣,當(dāng)重組時(shí)間超過(guò)最長(zhǎng)重組時(shí)間時(shí),即可結(jié)束本次重組操作,以提高系統(tǒng)效率。
[0047]步驟300,系統(tǒng)接收數(shù)據(jù)包,判斷所接收到的數(shù)據(jù)包是否需要重組,如果是,進(jìn)入步驟400,否則返回本步驟,繼續(xù)接收數(shù)據(jù)包。
[0048]本實(shí)施例中,重組完成的數(shù)據(jù)包如圖3所示。
[0049]該步驟中,判斷所接收到的數(shù)據(jù)包是否需要重組的原則是,如果數(shù)據(jù)包中偏移號(hào)(offset)為0,判斷其中后續(xù)是否有數(shù)據(jù)包標(biāo)志位,如果無(wú)數(shù)據(jù)包標(biāo)志位,則說(shuō)明不需要重組,如果有數(shù)據(jù)包標(biāo)志位,則需要重組。
[0050]步驟400,在步驟100中創(chuàng)建的RAM存儲(chǔ)空間中查找之前是否收到與當(dāng)前接收到的數(shù)據(jù)包的重組數(shù)據(jù)包分組標(biāo)識(shí)信息一致的數(shù)據(jù)包,如果有,則將當(dāng)前接收到的數(shù)據(jù)包按照掛接規(guī)則,掛載到該重組數(shù)據(jù)包分組標(biāo)識(shí)信息對(duì)應(yīng)的重組數(shù)據(jù)包存儲(chǔ)列表上,進(jìn)入步驟500,如果沒(méi)有,則創(chuàng)建與當(dāng)前接收的數(shù)據(jù)包的重組數(shù)據(jù)包分組標(biāo)識(shí)信息對(duì)應(yīng)的重組數(shù)據(jù)包存儲(chǔ)列表,將當(dāng)前接收的數(shù)據(jù)包掛載到新創(chuàng)建的重組數(shù)據(jù)包存儲(chǔ)列表的首位上,進(jìn)入步驟500。
[0051]其中,重組過(guò)程中掛接數(shù)據(jù)包的過(guò)程實(shí)現(xiàn)如下:[0052]對(duì)于接收的數(shù)據(jù)包掛接方式有三種,掛接在隊(duì)尾,掛接在數(shù)據(jù)隊(duì)列中間或掛接在隊(duì)頭。由于網(wǎng)絡(luò)中接收到的數(shù)據(jù)包offset從小到大的概率要比從大到小的概率大很多,所以本實(shí)施例選擇了隊(duì)列從后面掛接的方式,也即每次新接收到一個(gè)數(shù)據(jù)包就從之前接收到的最后一個(gè)數(shù)據(jù)包查起,查找新接收到的數(shù)據(jù)包應(yīng)該插入的位置。也即此處的地址索引是從后向前的。
[0053]還要說(shuō)明的是,重組過(guò)程中掛接數(shù)據(jù)包時(shí),需要進(jìn)行地址修改。因?yàn)樯婕跋蚯八饕拖蚝笏饕膯?wèn)題,所以當(dāng)前接收的數(shù)據(jù)包,根據(jù)不同的掛接位置,對(duì)于地址修改的方式也是不同的。具體地,地址修改如下:
[0054]a對(duì)于掛接在隊(duì)尾的數(shù)據(jù)包,只需要修改最后一個(gè)數(shù)據(jù)包的下一個(gè)數(shù)據(jù)包地址為新收到的數(shù)據(jù)包存儲(chǔ)地址,修改新收到的數(shù)據(jù)包的前一個(gè)數(shù)據(jù)包地址為原來(lái)最后一個(gè)數(shù)據(jù)包的存儲(chǔ)地址。本實(shí)施例即采用此種掛接在隊(duì)尾的方式。
[0055]b對(duì)于掛接在隊(duì)頭的數(shù)據(jù)包,需要修改隊(duì)頭數(shù)據(jù)包的前一個(gè)地址為新收到數(shù)據(jù)包的存儲(chǔ)地址,修改新收到數(shù)據(jù)包的存儲(chǔ)地址下一數(shù)據(jù)包地址為之前收到的數(shù)據(jù)包的offset最小的數(shù)據(jù)包的存儲(chǔ)地址。
[0056]c對(duì)于掛接在隊(duì)列中間的數(shù)據(jù)包,對(duì)于該類數(shù)據(jù)包,需要修改稿插入隊(duì)列位置的前一數(shù)據(jù)包的下一個(gè)數(shù)據(jù)包地址和后一數(shù)據(jù)包的前一數(shù)據(jù)包地址為新收到的數(shù)據(jù)包存儲(chǔ)地址。修改新收到的數(shù)據(jù)包的前一數(shù)據(jù)包存儲(chǔ)地址和后一數(shù)據(jù)包存儲(chǔ)地址,如圖4所示。
[0057]另外,對(duì)于重組完成的判定,是確定重組數(shù)據(jù)包所有數(shù)據(jù)包的數(shù)據(jù)總長(zhǎng)度。
[0058]對(duì)于同一組重組數(shù)據(jù)包,在OFFSET等于O的重組數(shù)據(jù)包中包含有該組重組數(shù)據(jù)包所有數(shù)據(jù)包的總長(zhǎng)度,以及本數(shù)據(jù)包的數(shù)據(jù)長(zhǎng)度,這樣,當(dāng)收集到的所有重組數(shù)據(jù)包的長(zhǎng)度之和等于總長(zhǎng)度時(shí)認(rèn)為重組完成,當(dāng)收集到的數(shù)據(jù)包總長(zhǎng)度超過(guò)總長(zhǎng)度認(rèn)為是重組失敗,當(dāng)收集到的數(shù)據(jù)包總長(zhǎng)度小于總長(zhǎng)度時(shí),認(rèn)為重組沒(méi)有完成。
[0059]步驟500,判斷重組數(shù)據(jù)包的重組是否完成,即判斷需要重組的數(shù)據(jù)包存儲(chǔ)列表中掛載的所有數(shù)據(jù)包的長(zhǎng)度之和是否等于該組需要重組的數(shù)據(jù)包的數(shù)據(jù)總長(zhǎng)度時(shí),如果等于,即完成重組,將重組完成的數(shù)據(jù)包進(jìn)行上傳,如果不等于,則未完成重組,返回步驟300繼續(xù)接收數(shù)據(jù)包,直到重組數(shù)據(jù)包重組完成。
[0060]本實(shí)施例中,上傳數(shù)據(jù)包時(shí),是順序上傳的,即從offset等于O的地址開(kāi)始上傳數(shù)據(jù)到上一層的應(yīng)用,所以該處的地址索引是從前向后的。
[0061]另外,在上述流程中,對(duì)于重組超時(shí)的數(shù)據(jù)包,需要將該數(shù)據(jù)進(jìn)行丟棄。當(dāng)收到數(shù)據(jù)包與原有數(shù)據(jù)包的關(guān)鍵字段相同,且offset相同的數(shù)據(jù)包時(shí),認(rèn)為是重復(fù)數(shù)據(jù)包,該類數(shù)據(jù)包也需要被丟棄。
[0062]實(shí)施例2
[0063]本實(shí)施提供一種AFDX數(shù)據(jù)包重組系統(tǒng),可實(shí)現(xiàn)上述實(shí)施例1的方法,該系統(tǒng)包括:
[0064]查找單元,從接收的需要重組的數(shù)據(jù)包中查找與當(dāng)前接收的數(shù)據(jù)包屬于同一組的數(shù)據(jù)包,將當(dāng)前接收的數(shù)據(jù)包順序掛載到所查找到的該組數(shù)據(jù)包存儲(chǔ)列表上;
[0065]重組單元,當(dāng)數(shù)據(jù)包存儲(chǔ)列表中掛載的所有數(shù)據(jù)包的長(zhǎng)度之和等于該組需要重組的數(shù)據(jù)包的數(shù)據(jù)總長(zhǎng)度時(shí),將該數(shù)據(jù)包存儲(chǔ)列表中所有數(shù)據(jù)包上傳給上層應(yīng)用以完成重組。[0066]其中,查找單元從接收的需要重組的數(shù)據(jù)包中查找與當(dāng)前接收的數(shù)據(jù)包屬于同一組的數(shù)據(jù)包包括:
[0067]從接收的需要重組的數(shù)據(jù)包中查找與當(dāng)前接收的數(shù)據(jù)包的重組數(shù)據(jù)包分組標(biāo)識(shí)信息一致的數(shù)據(jù)包。
[0068]在本實(shí)施例中,重組數(shù)據(jù)包分組標(biāo)識(shí)信息包括有Fragment ID、源IP地址、目的IP地址和協(xié)議字段。
[0069]另外,每個(gè)數(shù)據(jù)包存儲(chǔ)列表中還可以存儲(chǔ)有該組需要重組的各數(shù)據(jù)包的存儲(chǔ)地址。
[0070]每組需要重組的數(shù)據(jù)包的數(shù)據(jù)總長(zhǎng)度包括:
[0071]該組需要重組的數(shù)據(jù)包中OFFSET等于O的數(shù)據(jù)包中所包含的改組重組數(shù)據(jù)包所有分片的數(shù)據(jù)包的總長(zhǎng)度。
[0072]實(shí)際應(yīng)用中,查找單元可以按照如下任一或幾種方式的組合將當(dāng)前接收的數(shù)據(jù)包順序掛載到所查找到的數(shù)據(jù)包存儲(chǔ)列表上:
[0073]隊(duì)尾掛載方式,隊(duì)頭掛載方式、隊(duì)列中間掛載方式。
[0074]具體地,本實(shí)施例提供的系統(tǒng)的一些具體操作可參見(jiàn)上述實(shí)施例1中的相應(yīng)內(nèi)容,在此不再贅述。
[0075]本領(lǐng)域普通技術(shù)人員可以理解上述方法中的全部或部分步驟可通過(guò)程序來(lái)指令相關(guān)硬件完成,所述程序可以存儲(chǔ)于計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,如只讀存儲(chǔ)器、磁盤或光盤等??蛇x地,上述實(shí)施例的全部或部分步驟也可以使用一個(gè)或多個(gè)集成電路來(lái)實(shí)現(xiàn)。相應(yīng)地,上述實(shí)施例中的各模塊/單元可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能模塊的形式實(shí)現(xiàn)。本申請(qǐng)不限制于任何特定形式的硬件和軟件的結(jié)合。
[0076]以上所述,僅為本發(fā)明的較佳實(shí)例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種航電全雙工實(shí)時(shí)以太網(wǎng)數(shù)據(jù)包重組方法,其特征在于,該方法包括: 從接收到的需要重組的數(shù)據(jù)包中查找與當(dāng)前接收的數(shù)據(jù)包屬于同一組的數(shù)據(jù)包,并將當(dāng)前接收的數(shù)據(jù)包順序掛載到所查找到的該組數(shù)據(jù)包存儲(chǔ)列表上; 如果數(shù)據(jù)包存儲(chǔ)列表中掛載的所有數(shù)據(jù)包的長(zhǎng)度之和等于該組需要重組的數(shù)據(jù)包的數(shù)據(jù)總長(zhǎng)度時(shí),將該數(shù)據(jù)包存儲(chǔ)列表中掛載的所有數(shù)據(jù)包上傳給上層應(yīng)用以完成重組。
2.如權(quán)利要求1所述的方法,其特征在于,所述從接收到的需要重組的數(shù)據(jù)包中查找與當(dāng)前接收的數(shù)據(jù)包屬于同一組的數(shù)據(jù)包包括: 從接收到的需要重組的數(shù)據(jù)包中查找與當(dāng)前接收的數(shù)據(jù)包的重組數(shù)據(jù)包分組標(biāo)識(shí)信息一致的數(shù)據(jù)包。
3.如權(quán)利要求2所述的方法,其特征在于,該方法還包括: 從接收到的需要重組的數(shù)據(jù)包中未查找到與當(dāng)前接收的數(shù)據(jù)包屬于同一組的數(shù)據(jù)包時(shí),創(chuàng)建與當(dāng)前接收的數(shù)據(jù)包的重組數(shù)據(jù)包分組標(biāo)識(shí)信息對(duì)應(yīng)的數(shù)據(jù)包存儲(chǔ)列表,將當(dāng)前接收的數(shù)據(jù)包掛載到新創(chuàng)建的數(shù)據(jù)包存儲(chǔ)列表的首位上。
4.如權(quán)利要求1至3任一項(xiàng)所述的方法,其特征在于,每組需要重組的數(shù)據(jù)包的數(shù)據(jù)總長(zhǎng)度包括: 該組需要重組的數(shù)據(jù)包中OFFSET等于O的數(shù)據(jù)包中所包含的該組重組數(shù)據(jù)包所有分片的數(shù)據(jù)包的總長(zhǎng)度。
5.一種航電全雙工實(shí)時(shí)以太網(wǎng)數(shù)據(jù)包重組系統(tǒng),其特征在于,該系統(tǒng)包括: 查找單元,從接收到的需要重組的數(shù)據(jù)包中查找與當(dāng)前接收的數(shù)據(jù)包屬于同一組的數(shù)據(jù)包,將當(dāng)前接收的數(shù)據(jù)包順序掛載到所查找到的該組數(shù)據(jù)包存儲(chǔ)列表上; 重組單元,當(dāng)數(shù)據(jù)包存儲(chǔ)列表中掛載的所有數(shù)據(jù)包的長(zhǎng)度之和等于該組需要重組的數(shù)據(jù)包的數(shù)據(jù)總長(zhǎng)度時(shí),將該數(shù)據(jù)包存儲(chǔ)列表中掛載的所有數(shù)據(jù)包上傳給上層應(yīng)用以完成重組。
6.如權(quán)利要求5所述的系統(tǒng),其特征在于,從接收到的需要重組的數(shù)據(jù)包中查找與當(dāng)前接收的數(shù)據(jù)包屬于同一組的數(shù)據(jù)包包括: 從接收到的需要重組的數(shù)據(jù)包中查找與當(dāng)前接收的數(shù)據(jù)包的重組數(shù)據(jù)包分組標(biāo)識(shí)信息一致的數(shù)據(jù)包。
7.如權(quán)利要求6所述的系統(tǒng),其特征在于, 所述查找單元,從接收到的需要重組的數(shù)據(jù)包中未查找到與當(dāng)前接收的數(shù)據(jù)包屬于同一組的數(shù)據(jù)包時(shí),則創(chuàng)建與當(dāng)前接收的數(shù)據(jù)包的重組數(shù)據(jù)包分組標(biāo)識(shí)信息對(duì)應(yīng)的數(shù)據(jù)包存儲(chǔ)列表,將當(dāng)前接收的數(shù)據(jù)包掛載到新創(chuàng)建的數(shù)據(jù)包存儲(chǔ)列表的首位上。
8.如權(quán)利要求5至7任一項(xiàng)所述的系統(tǒng),其特征在于,每組需要重組的數(shù)據(jù)包的數(shù)據(jù)總長(zhǎng)度包括: 該組需要重組的數(shù)據(jù)包中OFFSET等于O的數(shù)據(jù)包中所包含的該組重組數(shù)據(jù)包所有分片的數(shù)據(jù)包的總長(zhǎng)度。
【文檔編號(hào)】H04L12/861GK103501279SQ201310449663
【公開(kāi)日】2014年1月8日 申請(qǐng)日期:2013年9月27日 優(yōu)先權(quán)日:2013年9月27日
【發(fā)明者】苗家旺, 楊水華, 萬(wàn)波, 胡永峰, 李鵬英, 原中亮, 趙偉華, 汪偉 申請(qǐng)人:北京旋極信息技術(shù)股份有限公司