System.ArgumentOutOfRangeException: 索引和長(zhǎng)度必須引用該字符串內(nèi)的位置。 參數(shù)名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術(shù)實(shí)現(xiàn)步驟摘要】
本專(zhuān)利技術(shù)涉及衛(wèi)星通信領(lǐng)域,具體涉及一種應(yīng)用于星載路由的fpga高性能包解析方法。
技術(shù)介紹
1、衛(wèi)星通信系統(tǒng)有著廣域覆蓋、高可靠的特點(diǎn),在當(dāng)今社會(huì)生活的各個(gè)方面發(fā)揮著越來(lái)越重要的作用,當(dāng)今世界各科技強(qiáng)國(guó)也在競(jìng)相部署此類(lèi)基礎(chǔ)設(shè)施。同時(shí),隨著衛(wèi)星通信網(wǎng)絡(luò)與互聯(lián)網(wǎng)的深度融合,衛(wèi)星互聯(lián)網(wǎng)也在飛速發(fā)展。如近年來(lái)飛速發(fā)展的starlink、oneweb等大規(guī)模衛(wèi)星星座系統(tǒng)都是其中的典型代表。同時(shí),為滿(mǎn)足空間任務(wù)中的各種需求,為給各種空間任務(wù)實(shí)現(xiàn)提供更好的支持與保障,提出了ccsds標(biāo)準(zhǔn),并針對(duì)高級(jí)在軌系統(tǒng)aos來(lái)提高數(shù)據(jù)處理的方便性與靈活性,aos協(xié)議適用于航天器與航天器之間、航天器與無(wú)人空間平臺(tái)、航天器與地面等多種不同通信類(lèi)型,提高了數(shù)據(jù)處理的方便性與靈活性,承載多種業(yè)務(wù)如遙感、遙測(cè)、圖像傳輸及科研探測(cè)等。
2、aos標(biāo)準(zhǔn)是為構(gòu)建高速信息通道,提高空間中信息傳輸?shù)乃贫ǖ膮f(xié)議,其可以通過(guò)多路復(fù)用技術(shù)將有效信息載荷存儲(chǔ)于其中的多路復(fù)用協(xié)議數(shù)據(jù)單元(multiplexedprotocol?data?unit,mpdu)中,從而將數(shù)據(jù)通過(guò)aos幀的形式傳輸出去,能夠完美兼容ip數(shù)據(jù)格式。對(duì)于衛(wèi)星通信系統(tǒng)來(lái)說(shuō),通信系統(tǒng)內(nèi)部通過(guò)路由技術(shù)來(lái)進(jìn)行數(shù)據(jù)的包分類(lèi)、路徑尋找、轉(zhuǎn)發(fā)等操作,考慮到aos廣泛應(yīng)用于航天設(shè)備中,即輸入信息并不是直觀的ip數(shù)據(jù)形式,所以需要首先完成aos數(shù)據(jù)向ip數(shù)據(jù)轉(zhuǎn)換的操作,由此可知aos數(shù)據(jù)向ip數(shù)據(jù)轉(zhuǎn)化的性能將直接影響衛(wèi)星中路由的性能,設(shè)計(jì)高性能的aos與ip數(shù)據(jù)轉(zhuǎn)換系統(tǒng)是具有現(xiàn)實(shí)意義的。
3、但是m
技術(shù)實(shí)現(xiàn)思路
1、為解決上述現(xiàn)有技術(shù)問(wèn)題,本專(zhuān)利技術(shù)采用一種應(yīng)用于星載路由的fpga高性能包解析方法,包括:
2、s1、接收當(dāng)前aos數(shù)據(jù)幀at,aos數(shù)據(jù)幀包括mpdu數(shù)據(jù)域,aos數(shù)據(jù)幀由多個(gè)長(zhǎng)度為位寬w的字段構(gòu)成;計(jì)算mpdu數(shù)據(jù)域的一級(jí)頭指針pbegin-1,t、一級(jí)尾指針pend-1,t、二級(jí)頭指針pbegin-2,t以及二級(jí)尾指針pend-2,t;根據(jù)指針pbegin-1,t、pend-1,t在aos數(shù)據(jù)幀中提取mpdu數(shù)據(jù)域;指針pbegin-1,t、pend-1,t分別指向mpdu數(shù)據(jù)域的起始字節(jié)和結(jié)束字節(jié)所在的字段,指針pbegin-2,t、pend-2,t分別指向mpdu數(shù)據(jù)域的起始字節(jié)和結(jié)束字節(jié)在對(duì)應(yīng)字段中的字節(jié)位置;其中,t為時(shí)間;
3、s2、根據(jù)指針pbegin-1,t、pend-1,t、pbegin-2,t、pend-2,t采用多指針?lè)椒◤膍pdu數(shù)據(jù)域中提取ipv6數(shù)據(jù)包。
4、星載路由包括mpdu緩存和ipv6數(shù)據(jù)緩存;采用多指針?lè)椒◤膍pdu數(shù)據(jù)域中提取ipv6數(shù)據(jù)包包括:根據(jù)二級(jí)頭指針pbegin-2,t對(duì)mpdu數(shù)據(jù)域進(jìn)行頭部重新對(duì)齊,得到對(duì)齊數(shù)據(jù),將對(duì)齊數(shù)據(jù)按照位寬w存入mpdu緩存,根據(jù)指針pbegin-1,t、pend-1,t、pbegin-2,t、pend-2,t采用多指針?lè)椒◤膍pdu緩存中取出數(shù)據(jù)存入ipv6數(shù)據(jù)緩存,并根據(jù)ipv6數(shù)據(jù)緩存輸出ipv6數(shù)據(jù)包。
5、mpdu數(shù)據(jù)域包括:多個(gè)長(zhǎng)度為位寬w的字段mc,i;對(duì)mpdu數(shù)據(jù)域進(jìn)行頭部重新對(duì)齊包括:獲取mpdu數(shù)據(jù)域mc延時(shí)一個(gè)時(shí)鐘后的數(shù)據(jù)mc+1,數(shù)據(jù)mc+1包括多個(gè)長(zhǎng)度為位寬w的字段mc+1,i;根據(jù)mpdu數(shù)據(jù)域的二級(jí)頭指針pbegin-2,t分別對(duì)每個(gè)字段mc,i和每個(gè)字段mc+1,i進(jìn)行劃分,得到字段mc,i的前n位數(shù)據(jù)和后w-n位數(shù)據(jù)以及字段mc+1的前n位數(shù)據(jù)和后w-n位數(shù)據(jù)依次將每個(gè)字段mc+1,i的后w-n位數(shù)據(jù)與字段mc,i+1的前n位數(shù)據(jù)進(jìn)行拼接,得到對(duì)齊數(shù)據(jù);其中,c表示時(shí)鐘,i為字段的索引。
6、采用多指針?lè)椒◤膍pdu緩存中取出數(shù)據(jù)存入ipv6數(shù)據(jù)緩存包括:
7、s21、獲取ipv6數(shù)據(jù)包的長(zhǎng)度,根據(jù)mpdu緩存當(dāng)前存儲(chǔ)的mpdu數(shù)據(jù)域的一級(jí)頭指針、二級(jí)頭指針和ipv6數(shù)據(jù)包的長(zhǎng)度設(shè)置ipv6數(shù)據(jù)包的頭指針和尾指針以及地址指針;
8、s22、按照位寬w依次從mpdu緩存中取出數(shù)據(jù),按照位寬w將取出的數(shù)據(jù)存入ipv6數(shù)據(jù)緩存并同時(shí)對(duì)地址指針依次遞增,當(dāng)?shù)刂分羔樀竭_(dá)ipv6數(shù)據(jù)包的尾指針而未到達(dá)mpdu緩存當(dāng)前存儲(chǔ)的mpdu數(shù)據(jù)域的二級(jí)尾指針時(shí),ipv6數(shù)據(jù)緩存存儲(chǔ)了一個(gè)完整的ipv6數(shù)據(jù)包,并執(zhí)行步驟s23;當(dāng)?shù)刂分羔樀竭_(dá)mpdu緩存當(dāng)前存儲(chǔ)的mpdu數(shù)據(jù)域的二級(jí)尾指針而未到達(dá)ipv6數(shù)據(jù)包的尾指針時(shí),ipv6數(shù)據(jù)緩存存儲(chǔ)了一個(gè)不完整的ip數(shù)據(jù)包,并執(zhí)行步驟s24;當(dāng)?shù)刂分羔樀竭_(dá)ipv6數(shù)據(jù)包的尾指針且同時(shí)到達(dá)mpdu緩存當(dāng)前存儲(chǔ)的mpdu數(shù)據(jù)域的二級(jí)尾指針時(shí),執(zhí)行步驟s26;
9、s23、將ipv6數(shù)據(jù)緩存存儲(chǔ)的完整的ipv6數(shù)據(jù)包輸出,當(dāng)完整的ipv6數(shù)據(jù)包輸出完畢時(shí),更新地址指針以及ipv6數(shù)據(jù)包的頭指針和尾指針,并回到步驟s22;
10、s24、發(fā)送接收下一aos數(shù)據(jù)幀的請(qǐng)求并等待下一aos數(shù)據(jù)幀輸入,當(dāng)檢測(cè)到下一aos數(shù)據(jù)幀at+1輸入時(shí),計(jì)算數(shù)據(jù)幀at+1的mpdu數(shù)據(jù)域的一級(jí)頭指針一級(jí)尾指針二級(jí)頭指針pbegin-2,t+1以及二級(jí)尾指針pend-2,t+1;根據(jù)指針在數(shù)據(jù)幀at+1中提取mpdu數(shù)據(jù)域,對(duì)數(shù)據(jù)幀at+1的mpdu數(shù)據(jù)域進(jìn)行頭部重新對(duì)齊,得到對(duì)齊數(shù)據(jù),將對(duì)齊數(shù)據(jù)存入mpdu緩存;
11、s25、判斷下一aos數(shù)據(jù)幀與不完整的ip數(shù)據(jù)包是否匹配,若不匹配,將不完整的ip數(shù)據(jù)包丟棄,并執(zhí)行步驟s21;若匹配,根據(jù)aos數(shù)據(jù)幀at的一級(jí)尾指針pend-1,t更新指針得到mpdu數(shù)據(jù)域最終的一級(jí)頭指針pbegin-1,t+1、一級(jí)尾指針pend-1,t+1,并執(zhí)行步驟s22;
12、s26、將mpdu緩存、ipv6數(shù)據(jù)緩存、地址指針以及mpdu數(shù)據(jù)域和ip數(shù)據(jù)包的頭指針和尾指針重置。
13、設(shè)置ipv6數(shù)據(jù)包的頭指針和尾指針以及地址指針包括:
14、hdr_begin=w×pbegin-1,t+pbegin-2,t
15、hdr_end=hdr_begin+len
16、pos=hdr_begin
17、其中,hdr_begin、hdr_end分別為ipv6數(shù)據(jù)包的頭指針和尾指針,pos為地址指針,len為ipv6數(shù)據(jù)包的長(zhǎng)度。
18、更新地址指針以及ipv6數(shù)據(jù)包的頭指針和尾指針包括:
19、hdr_begin=hdr_end
20、hdr_end=hdr_begin+len
21、pos=hdr_begin
22、其中,hdr_begin、hdr_end分別為ipv本文檔來(lái)自技高網(wǎng)...
【技術(shù)保護(hù)點(diǎn)】
1.一種應(yīng)用于星載路由的FPGA高性能包解析方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的一種應(yīng)用于星載路由的FPGA高性能包解析方法,其特征在于,星載路由包括MPDU緩存和IPv6數(shù)據(jù)緩存;采用多指針?lè)椒◤腗PDU數(shù)據(jù)域中提取IPv6數(shù)據(jù)包包括:根據(jù)二級(jí)頭指針PBegin-2,t對(duì)MPDU數(shù)據(jù)域進(jìn)行頭部重新對(duì)齊,得到對(duì)齊數(shù)據(jù),將對(duì)齊數(shù)據(jù)按照位寬W存入MPDU緩存,根據(jù)指針PBegin-1,t、PEnd-1,t、PBegin-2,t、PEnd-2,t采用多指針?lè)椒◤腗PDU緩存中取出數(shù)據(jù)存入IPv6數(shù)據(jù)緩存,并根據(jù)IPv6數(shù)據(jù)緩存輸出IPv6數(shù)據(jù)包。
3.根據(jù)權(quán)利要求2所述的一種應(yīng)用于星載路由的FPGA高性能包解析方法,其特征在于,MPDU數(shù)據(jù)域包括:多個(gè)長(zhǎng)度為位寬W的字段Mc,i;對(duì)MPDU數(shù)據(jù)域進(jìn)行頭部重新對(duì)齊包括:獲取MPDU數(shù)據(jù)域Mc延時(shí)一個(gè)時(shí)鐘后的數(shù)據(jù)Mc+1,數(shù)據(jù)Mc+1包括多個(gè)長(zhǎng)度為位寬W的字段Mc+1,i;根據(jù)MPDU數(shù)據(jù)域的二級(jí)頭指針PBegin-2,t分別對(duì)每個(gè)字段Mc,i和每個(gè)字段Mc+1,i進(jìn)行劃分,得到字段Mc,i的前N位數(shù)據(jù)
4.根據(jù)權(quán)利要求2所述的一種應(yīng)用于星載路由的FPGA高性能包解析方法,其特征在于,采用多指針?lè)椒◤腗PDU緩存中取出數(shù)據(jù)存入IPv6數(shù)據(jù)緩存包括:
5.根據(jù)權(quán)利要求4所述的一種應(yīng)用于星載路由的FPGA高性能包解析方法,其特征在于,設(shè)置IPv6數(shù)據(jù)包的頭指針和尾指針以及地址指針包括:
6.根據(jù)權(quán)利要求4所述的一種應(yīng)用于星載路由的FPGA高性能包解析方法,其特征在于,更新地址指針以及IPv6數(shù)據(jù)包的頭指針和尾指針包括:
7.根據(jù)權(quán)利要求1所述的一種應(yīng)用于星載路由的FPGA高性能包解析方法,其特征在于,MPDU數(shù)據(jù)域包括:MPDU頭和MPDU包域;MPDU頭包括首導(dǎo)頭指針;MPDU包域包括前一個(gè)CCSDS包的尾部;判斷下一AOS數(shù)據(jù)幀與不完整的IP數(shù)據(jù)包是否匹配包括:根據(jù)下一AOS數(shù)據(jù)幀的MPDU數(shù)據(jù)域的首導(dǎo)頭指針提取下一AOS數(shù)據(jù)幀的MPDU數(shù)據(jù)域存儲(chǔ)的前一個(gè)CCSDS包的尾部,得到尾部長(zhǎng)度LTail,獲取不完整的IP數(shù)據(jù)包長(zhǎng)度LExist,當(dāng)不完整的IP數(shù)據(jù)包長(zhǎng)度LExist和尾部長(zhǎng)度LTail之和等于完整的IPv6數(shù)據(jù)包長(zhǎng)度len時(shí),下一AOS數(shù)據(jù)幀與不完整的IP數(shù)據(jù)包匹配;否則,不匹配;其中,CCSDS為標(biāo)準(zhǔn)化的數(shù)據(jù)傳輸格式。
8.根據(jù)權(quán)利要求1所述的一種應(yīng)用于星載路由的FPGA高性能包解析方法,其特征在于,AOS數(shù)據(jù)幀的結(jié)構(gòu)還包括:主導(dǎo)頭、插入域以及尾部;從AOS數(shù)據(jù)幀中提取MPDU數(shù)據(jù)域包括:
9.根據(jù)權(quán)利要求8所述的一種應(yīng)用于星載路由的FPGA高性能包解析方法,其特征在于,計(jì)算MPDU數(shù)據(jù)域的起始字節(jié)位置Lbegin和結(jié)束字節(jié)位置Lend包括:將AOS數(shù)據(jù)幀的主導(dǎo)頭長(zhǎng)度Lhead、插入域長(zhǎng)度LInsert相加,得到起始字節(jié)位置Lbegin,將AOS數(shù)據(jù)幀的主導(dǎo)頭長(zhǎng)度Lhead、插入域長(zhǎng)度LInsert以及MPDU數(shù)據(jù)域長(zhǎng)度LMpdu相加,得到結(jié)束字節(jié)位置Lend。
10.根據(jù)權(quán)利要求8所述的一種應(yīng)用于星載路由的FPGA高性能包解析方法,其特征在于,計(jì)算首尾一級(jí)指針和首尾二級(jí)指針包括:將起始字節(jié)位置Lbegin和結(jié)束字節(jié)位置Lend分別除以W,得到一級(jí)頭指針PBegin-1和一級(jí)尾指針PEnd-1;將起始字節(jié)位置Lbegin和結(jié)束字節(jié)位置Lend分別對(duì)W取余,得到二級(jí)頭指針PBegin-2和二級(jí)尾指針PEnd-2。
...【技術(shù)特征摘要】
1.一種應(yīng)用于星載路由的fpga高性能包解析方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的一種應(yīng)用于星載路由的fpga高性能包解析方法,其特征在于,星載路由包括mpdu緩存和ipv6數(shù)據(jù)緩存;采用多指針?lè)椒◤膍pdu數(shù)據(jù)域中提取ipv6數(shù)據(jù)包包括:根據(jù)二級(jí)頭指針pbegin-2,t對(duì)mpdu數(shù)據(jù)域進(jìn)行頭部重新對(duì)齊,得到對(duì)齊數(shù)據(jù),將對(duì)齊數(shù)據(jù)按照位寬w存入mpdu緩存,根據(jù)指針pbegin-1,t、pend-1,t、pbegin-2,t、pend-2,t采用多指針?lè)椒◤膍pdu緩存中取出數(shù)據(jù)存入ipv6數(shù)據(jù)緩存,并根據(jù)ipv6數(shù)據(jù)緩存輸出ipv6數(shù)據(jù)包。
3.根據(jù)權(quán)利要求2所述的一種應(yīng)用于星載路由的fpga高性能包解析方法,其特征在于,mpdu數(shù)據(jù)域包括:多個(gè)長(zhǎng)度為位寬w的字段mc,i;對(duì)mpdu數(shù)據(jù)域進(jìn)行頭部重新對(duì)齊包括:獲取mpdu數(shù)據(jù)域mc延時(shí)一個(gè)時(shí)鐘后的數(shù)據(jù)mc+1,數(shù)據(jù)mc+1包括多個(gè)長(zhǎng)度為位寬w的字段mc+1,i;根據(jù)mpdu數(shù)據(jù)域的二級(jí)頭指針pbegin-2,t分別對(duì)每個(gè)字段mc,i和每個(gè)字段mc+1,i進(jìn)行劃分,得到字段mc,i的前n位數(shù)據(jù)和后w-n位數(shù)據(jù)以及字段mc+1的前n位數(shù)據(jù)和后w-n位數(shù)據(jù)依次將每個(gè)字段mc+1,i的后w-n位數(shù)據(jù)與字段mc,i+1的前n位數(shù)據(jù)進(jìn)行拼接,得到對(duì)齊數(shù)據(jù);其中,c表示時(shí)鐘,i為字段的索引。
4.根據(jù)權(quán)利要求2所述的一種應(yīng)用于星載路由的fpga高性能包解析方法,其特征在于,采用多指針?lè)椒◤膍pdu緩存中取出數(shù)據(jù)存入ipv6數(shù)據(jù)緩存包括:
5.根據(jù)權(quán)利要求4所述的一種應(yīng)用于星載路由的fpga高性能包解析方法,其特征在于,設(shè)置ipv6數(shù)據(jù)包的頭指針和尾指針以及地址指針包括:
6.根據(jù)權(quán)利要求4所述的一種應(yīng)用于星載路由的fpga高性能包解析方法,其特征在于,更新地址指針以及ipv6...
【專(zhuān)利技術(shù)屬性】
技術(shù)研發(fā)人員:徐川,張正旭,趙國(guó)鋒,張玉林,謝子恒,梁志威,
申請(qǐng)(專(zhuān)利權(quán))人:重慶郵電大學(xué),
類(lèi)型:發(fā)明
國(guó)別省市:
還沒(méi)有人留言評(píng)論。發(fā)表了對(duì)其他瀏覽者有用的留言會(huì)獲得科技券。