中國(guó)空間技術(shù)研究院,北京 100094
隨著寬帶IP業(yè)務(wù)的發(fā)展,容量提升已經(jīng)成為衛(wèi)星通信的重要目標(biāo)。多年來衛(wèi)星通信多數(shù)采用高軌衛(wèi)星彎管[1]轉(zhuǎn)發(fā)的方式,難以實(shí)現(xiàn)對(duì)地球的全面覆蓋,且延時(shí)較高,系統(tǒng)容量難以滿足當(dāng)前的帶寬需求。低軌移動(dòng)衛(wèi)星(Low Earth Orbit,LEO)星座[2]能夠有效解決覆蓋率問題,而如何實(shí)現(xiàn)星座內(nèi)網(wǎng)絡(luò)的互聯(lián)互通成為星座建設(shè)的主要問題[3]。銥星一代系統(tǒng)使用“電路交換”的方式進(jìn)行組網(wǎng)[4],但ATM等2層交換控制機(jī)制復(fù)雜[5],且難以與地面IP網(wǎng)絡(luò)進(jìn)行融合,因此不是星座組網(wǎng)的最優(yōu)選擇。美國(guó)IRIS(Internet Protocol Routing in Space)于2009年將Cisco18400空間路由器搭載在Intelsat-14衛(wèi)星上,并對(duì)其功能進(jìn)行了在軌測(cè)試驗(yàn)證。Cisco18400是針對(duì)高軌衛(wèi)星設(shè)計(jì)的星間IP路由器,其鏈路時(shí)延和誤碼率較高,帶寬相對(duì)較低,且由于星上直接對(duì)IP包進(jìn)行路由處理轉(zhuǎn)發(fā)的復(fù)雜度較高,其吞吐量?jī)H為250Mbit/s[6]。而低軌網(wǎng)絡(luò)能夠?qū)崿F(xiàn)更高的帶寬和較低的時(shí)延,但由于星上計(jì)算及存儲(chǔ)資源有限,星間網(wǎng)絡(luò)與地面網(wǎng)絡(luò)條件相差較大,如何在支持IP數(shù)據(jù)包的同時(shí)實(shí)現(xiàn)對(duì)其高速路由成為低軌衛(wèi)星路由器設(shè)計(jì)的關(guān)鍵問題[7-10]。
低軌移動(dòng)星座拓?fù)渚哂懈叨瓤深A(yù)測(cè)性[11],其星間網(wǎng)絡(luò)常用基于快照的路由協(xié)議[12],對(duì)應(yīng)的星載路由器主要執(zhí)行2層交換功能,只存儲(chǔ)星座周期內(nèi)所有快照對(duì)應(yīng)的轉(zhuǎn)發(fā)表,執(zhí)行查表及交換轉(zhuǎn)發(fā)的功能。這種基于快照的路由協(xié)議對(duì)應(yīng)的路由器設(shè)計(jì)實(shí)際上不具備3層路由的功能,難以適應(yīng)突發(fā)的鏈路故障,容易造成丟包。而地面網(wǎng)絡(luò)常用的路由器架構(gòu)是針對(duì)每個(gè)到達(dá)的數(shù)據(jù)包進(jìn)行路由計(jì)算與查找,其處理能力較弱,吞吐量低,且頻繁調(diào)用星上計(jì)算資源,不適用于低軌移動(dòng)星座網(wǎng)絡(luò)的星載路由器設(shè)計(jì)。
針對(duì)低軌移動(dòng)星座網(wǎng)絡(luò)進(jìn)行星載路由器設(shè)計(jì)時(shí),應(yīng)充分考慮星間網(wǎng)絡(luò)的特點(diǎn),即網(wǎng)絡(luò)拓?fù)渥兓闹芷谛院涂深A(yù)測(cè)性,以及星間鏈路較高的吞吐率、較長(zhǎng)的時(shí)延和較大的誤碼率,且要求路由器能夠支持低軌星間鏈路較大的帶寬需求[13]。本文提出一種高速星載路由器設(shè)計(jì)方案,面向非連接的星間網(wǎng)絡(luò),盡可能減少路由次數(shù),利用轉(zhuǎn)發(fā)表進(jìn)行直接轉(zhuǎn)發(fā),從而最大化利用轉(zhuǎn)發(fā)資源,提高轉(zhuǎn)發(fā)速率,降低路由計(jì)算速率對(duì)轉(zhuǎn)發(fā)平面速率的限制,節(jié)省星上計(jì)算資源,降低數(shù)據(jù)在星上的傳輸時(shí)延。同時(shí)借鑒地面路由器架構(gòu),允許控制平面進(jìn)行動(dòng)態(tài)路由計(jì)算,避免星間鏈路突發(fā)故障引起的丟包。支持2層源路由,針對(duì)重要數(shù)據(jù)幀采用控制機(jī)制簡(jiǎn)單地快速交換。此外,路由器數(shù)據(jù)平面采用基于共享內(nèi)存的交換單元設(shè)計(jì),與高速輸入/輸出接口連接,進(jìn)一步提高數(shù)據(jù)交換速率。
星地一體化網(wǎng)路分為空間段、用戶端和地面段,如圖1所示。其中空間段的星間網(wǎng)絡(luò)由各衛(wèi)星上的核心路由器組成,是一個(gè)自治子網(wǎng),網(wǎng)絡(luò)內(nèi)節(jié)點(diǎn)距離近,其能夠支持的帶寬遠(yuǎn)高于高軌星間鏈路。低軌星座應(yīng)能覆蓋整個(gè)地球表面,但其網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)卻遠(yuǎn)小于地面網(wǎng)絡(luò),意味著其數(shù)據(jù)帶寬應(yīng)遠(yuǎn)高于地面網(wǎng)絡(luò)鏈路。因此要求星載路由器具有5~10 Gbit/s的數(shù)據(jù)吞吐量[14],包括高速星間鏈路、饋電鏈路及與星內(nèi)其他設(shè)備進(jìn)行通信的所有帶寬。其中星間鏈路帶寬要求應(yīng)高于100 Mbit/s,饋電鏈路應(yīng)高于500 Mbit/s,從而滿足大數(shù)據(jù)量的傳輸需求,有效承載地面網(wǎng)絡(luò)數(shù)據(jù)。在傳輸上支持QoS(Quality of Service)[15]。星載路由器具有有限的計(jì)算資源和存儲(chǔ)資源,但星間網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)具有周期性及高度可預(yù)測(cè)性,因此能夠允許“一次路由,多次交換”的實(shí)現(xiàn),即在一段時(shí)間拓?fù)浔3植蛔儠r(shí),路由器無需重復(fù)計(jì)算路由,只需根據(jù)轉(zhuǎn)發(fā)表進(jìn)行2層轉(zhuǎn)發(fā),從而實(shí)現(xiàn)路由和交換資源的最大化利用。此外,考慮到衛(wèi)星網(wǎng)與地面網(wǎng)絡(luò)的融合,要求星載路由器能夠支持無連接的IP路由。
圖1 星地組網(wǎng)結(jié)構(gòu)示意Fig.1 Satellite-terrestrial integrated network
與地面路由器類似地,星載路由器根據(jù)功能分為兩個(gè)平面(見圖2):控制平面、數(shù)據(jù)平面??刂破矫婀δ苤饕ǎ?)與其他路由器交換拓?fù)湫畔?,進(jìn)行網(wǎng)絡(luò)拓?fù)湫畔⒌木S護(hù);2)運(yùn)行路由協(xié)議,根據(jù)當(dāng)前網(wǎng)絡(luò)拓?fù)浼氨拘沁B接狀態(tài)進(jìn)行路由表的更新和維護(hù);3)對(duì)交換單元進(jìn)行配置和管理;4)對(duì)控制平面與數(shù)據(jù)平面間的接口進(jìn)行管理。
圖2 星載路由器功能需求Fig.2 Function requirements for onboard satellite router
數(shù)據(jù)平面功能包括:1)數(shù)據(jù)包轉(zhuǎn)發(fā)和調(diào)度管理,對(duì)數(shù)據(jù)包的操作需要在每個(gè)數(shù)據(jù)包的到來和發(fā)送時(shí)執(zhí)行;2)對(duì)高速輸入/輸出接口進(jìn)行管理,設(shè)置相應(yīng)的緩存區(qū)域;3)讀取輸入接口接收的數(shù)據(jù)包幀頭,并對(duì)數(shù)據(jù)包進(jìn)行分類?;诜诸惤Y(jié)果,數(shù)據(jù)包被丟棄或依據(jù)不同優(yōu)先級(jí)進(jìn)行處理轉(zhuǎn)發(fā),實(shí)現(xiàn)數(shù)據(jù)平面的QoS保障;4)滿足重要報(bào)文ARQ[16](Automatic Repeat-reQuest)服務(wù)需求;5)支持2層路徑路由(源路由);6)支持2層自定義幀格式。
基于共享內(nèi)存的高速星載路由器結(jié)構(gòu)設(shè)計(jì)如圖3所示。其中控制單元功能主要由CPU實(shí)現(xiàn),由于控制單元功能不需要在每個(gè)數(shù)據(jù)包到來時(shí)執(zhí)行一次,因此對(duì)控制平面的速率要求比較寬松,且通常由軟件實(shí)現(xiàn)其功能。查找轉(zhuǎn)發(fā)功能主要在數(shù)據(jù)平面實(shí)現(xiàn),為了實(shí)現(xiàn)數(shù)據(jù)的高速轉(zhuǎn)發(fā),選用抗輻照的FPGA作為交換單元。
由于低軌移動(dòng)星座的規(guī)律性運(yùn)行,其所組成的星間網(wǎng)絡(luò)雖然是高度動(dòng)態(tài)變化的,但是其拓?fù)渥兓强深A(yù)測(cè)的。因此可以由地面對(duì)單周期內(nèi)全網(wǎng)路徑選擇進(jìn)行預(yù)測(cè),將拓?fù)淇煺张c對(duì)應(yīng)的路由表共同預(yù)置在控制平面中。當(dāng)前網(wǎng)絡(luò)拓?fù)渑c快照相符時(shí),數(shù)據(jù)平面只需根據(jù)當(dāng)前路由表進(jìn)行數(shù)據(jù)包的轉(zhuǎn)發(fā)。由于CPU路由計(jì)算速率相對(duì)較低,這樣能夠最大化利用FPGA的交換速率。
星載路由器工作過程為:
1)CPU接收網(wǎng)絡(luò)內(nèi)其他節(jié)點(diǎn)廣播的鏈路信息,組成完整的網(wǎng)絡(luò)拓?fù)湫畔?,與預(yù)置的網(wǎng)絡(luò)拓?fù)湫畔?duì)比。相同時(shí),直接使用預(yù)置的路由表進(jìn)行轉(zhuǎn)發(fā)表配置;不同時(shí),采用動(dòng)態(tài)路由方法進(jìn)行路由表計(jì)算。路由表每次更新時(shí),CPU需對(duì)FPGA中的轉(zhuǎn)發(fā)表進(jìn)行配置。
2)數(shù)據(jù)包進(jìn)入自治網(wǎng)絡(luò)后,在自治網(wǎng)絡(luò)邊緣路由器進(jìn)行封裝。在各星載路由器上,F(xiàn)PGA對(duì)數(shù)據(jù)包進(jìn)行流分類和分組處理。目的地址為本星的捕獲幀經(jīng)捕獲模塊傳輸給CPU;中繼轉(zhuǎn)發(fā)幀如果有標(biāo)簽堆疊,則依照標(biāo)簽中的地址進(jìn)行轉(zhuǎn)發(fā),同時(shí)彈出下一跳標(biāo)簽;如果沒有標(biāo)簽堆疊,則查詢轉(zhuǎn)發(fā)表確定其控制信息,將數(shù)據(jù)包生存時(shí)間(TTL, Time to Live)減1,并計(jì)算其新的頭部校驗(yàn)和。
3)如圖3所示,要轉(zhuǎn)發(fā)的報(bào)文入隊(duì)調(diào)度后保存在共享存儲(chǔ)單元中的虛擬輸出隊(duì)列[17](VoQ, Virtual output Queue),經(jīng)出隊(duì)調(diào)度和總線仲裁模塊取出到發(fā)送輪詢模塊,由天線接口單元轉(zhuǎn)發(fā),或由星內(nèi)設(shè)備接口發(fā)送至其他星內(nèi)設(shè)備。
圖3 星載路由器設(shè)計(jì)架構(gòu)Fig.3 Architecture for onboard satellite router
星載路由器僅在網(wǎng)絡(luò)拓?fù)湟蜴溌饭收习l(fā)生變化時(shí)進(jìn)行路由計(jì)算,消除了其對(duì)交換速率的限制,同時(shí)支持2層路徑路由(源路由)。路由器具有鏈路故障時(shí)進(jìn)行路由重計(jì)算的功能,CPU主要執(zhí)行3層路由功能。將單個(gè)周期所有網(wǎng)絡(luò)拓?fù)淇煺占捌渌鶎?duì)應(yīng)的路由表預(yù)置在CPU中。路由器自身連接的鏈路信息,及其他節(jié)點(diǎn)廣播的網(wǎng)絡(luò)拓?fù)湫畔⑼ㄟ^FPGA發(fā)送到CPU,CPU維護(hù)網(wǎng)絡(luò)鏈路連接狀態(tài)數(shù)據(jù)庫,當(dāng)數(shù)據(jù)庫與快照中的鏈路狀態(tài)不同時(shí)采用動(dòng)態(tài)路由方法,計(jì)算動(dòng)態(tài)路由表,并對(duì)FPGA中的轉(zhuǎn)發(fā)表進(jìn)行重新配置。相鄰路由器之間定時(shí)進(jìn)行HELLO信令交互,確認(rèn)自身鏈路通斷情況,并將CPU所維護(hù)的鏈路狀態(tài)數(shù)據(jù)庫以鏈路狀態(tài)通告信令的形式向全網(wǎng)廣播。
路由器支持兩種轉(zhuǎn)發(fā)方式:其一是端到端的通信,需在路由器內(nèi)進(jìn)行查表轉(zhuǎn)發(fā);其二是針對(duì)時(shí)延敏感型報(bào)文,采用路徑路由(源路由)的方法,令數(shù)據(jù)包按照規(guī)劃路徑進(jìn)行轉(zhuǎn)發(fā)。源路由方法借鑒MPLS“轉(zhuǎn)發(fā)標(biāo)記報(bào)文”[18]的思想,在進(jìn)入自治網(wǎng)絡(luò)前為該數(shù)據(jù)包幀頭添加堆疊首部,即數(shù)據(jù)包將在自治網(wǎng)絡(luò)內(nèi)經(jīng)過的節(jié)點(diǎn)地址,堆疊首部由地面站計(jì)算配置星間網(wǎng)絡(luò)內(nèi)的路由器交換單元直接讀取標(biāo)簽棧頂?shù)刂愤M(jìn)行轉(zhuǎn)發(fā),不需查詢轉(zhuǎn)發(fā)表。每經(jīng)過一跳,路由器需剝離一層標(biāo)簽。經(jīng)過路由器的數(shù)據(jù)包格式如圖4所示,其中棧層數(shù)表示是否存在標(biāo)簽堆疊及其個(gè)數(shù)。
圖4 2層自定義幀格式Fig.4 Self-defining frame format in switch layer
路由器在星間網(wǎng)絡(luò)中的2層交換采用自定義幀格式,如圖4所示。將地面以太網(wǎng)數(shù)據(jù)幀封裝在凈荷數(shù)據(jù)單元,對(duì)星間網(wǎng)絡(luò)內(nèi)的衛(wèi)星節(jié)點(diǎn)及下傳數(shù)據(jù)所用的地面站進(jìn)行獨(dú)立編址,并對(duì)星上不同端口進(jìn)行端口號(hào)命名。數(shù)據(jù)幀在星間網(wǎng)絡(luò)內(nèi)傳輸時(shí),只需查詢自定義幀中的幀頭控制字。同時(shí)針對(duì)不同業(yè)務(wù)類型進(jìn)行優(yōu)先級(jí)劃分,利用隊(duì)列調(diào)度算法、源路由及ARQ機(jī)制提供面向DiffServ[16](Differentiated Services)的QoS保證。
此外,通過將地面網(wǎng)絡(luò)數(shù)據(jù)幀完整封裝進(jìn)凈荷數(shù)據(jù)單元的方式,路由器能夠兼容地面的IP網(wǎng)絡(luò)。地面網(wǎng)絡(luò)數(shù)據(jù)幀最大長(zhǎng)度為1500字節(jié),圖4所示2層幀格式設(shè)計(jì)能夠使凈荷數(shù)據(jù)單元完整包含一個(gè)地面以太網(wǎng)絡(luò)數(shù)據(jù)幀。因此可以將星間網(wǎng)絡(luò)視為骨干網(wǎng)絡(luò),不同區(qū)域的地面網(wǎng)絡(luò)視為不同的子網(wǎng)。地面網(wǎng)關(guān)作為網(wǎng)絡(luò)邊界節(jié)點(diǎn),對(duì)數(shù)據(jù)包進(jìn)行“封裝”或“拆包”。在數(shù)據(jù)幀進(jìn)入星間骨干網(wǎng)前對(duì)其依照?qǐng)D4所示格式添加幀頭;對(duì)經(jīng)由星間網(wǎng)絡(luò)路由進(jìn)入地面子網(wǎng)的數(shù)據(jù)幀進(jìn)行幀頭的刪除,不影響數(shù)據(jù)包在地面IP網(wǎng)絡(luò)的繼續(xù)傳輸。
FPGA轉(zhuǎn)發(fā)表單元需保存3張面向不同報(bào)文類型的轉(zhuǎn)發(fā)表(見表1):?jiǎn)尾マD(zhuǎn)發(fā)表、組播轉(zhuǎn)發(fā)表及邏輯-物理端口映射表。FPGA中的流分類處理模塊根據(jù)數(shù)據(jù)包幀頭中的目的地址決定需要查詢的轉(zhuǎn)發(fā)表,并將指令碼發(fā)送到分組處理模塊執(zhí)行。
表1 FPGA轉(zhuǎn)發(fā)表分類
路由器交換單元常見的有總線型、共享內(nèi)存型[19]、Cross-bar空分結(jié)構(gòu)型。其中總線型無法實(shí)現(xiàn)同時(shí)讀寫,導(dǎo)致交換速率較慢;Cross-bar型能夠?qū)崿F(xiàn)同時(shí)讀寫,可以完全避免數(shù)據(jù)阻塞,但構(gòu)造的復(fù)雜度較高,需要專門的端口交換單元;在基于共享存儲(chǔ)的路由器中,所有輸入/輸出端口均訪問同一個(gè)存儲(chǔ)單元,是一種輸出緩存機(jī)制,能夠在吞吐量和延遲方面達(dá)到最優(yōu)的性能,但當(dāng)數(shù)據(jù)量過大超出其所能承受的吞吐量時(shí),可能會(huì)發(fā)生數(shù)據(jù)阻塞的現(xiàn)象。
基于路由器數(shù)據(jù)交換的速率需求,選擇共享內(nèi)存型交換單元,使用片外SDRAM作為存儲(chǔ)單元。同一時(shí)間片內(nèi),允許所有輸入端口寫入,同時(shí)允許輸出端口進(jìn)行讀取。
隊(duì)列及調(diào)度模塊結(jié)構(gòu)如圖5所示。
圖5 隊(duì)列及調(diào)度模塊結(jié)構(gòu)Fig.5 Structure of queue scheduling model
路由器發(fā)送數(shù)據(jù)采用基于優(yōu)先級(jí)的DWRR[20]調(diào)度方式,在保證優(yōu)先級(jí)的同時(shí)支持帶寬預(yù)留,滿足不同業(yè)務(wù)的QoS需求。隊(duì)列管理模塊根據(jù)優(yōu)先級(jí)信息在片外SDRAM中為每個(gè)端口分別構(gòu)造相應(yīng)的虛輸出隊(duì)列(VoQ)。隊(duì)列管理模塊在設(shè)計(jì)時(shí)應(yīng)保持公平與高效,不應(yīng)出現(xiàn)某一隊(duì)列占用所有存儲(chǔ)資源,使其他隊(duì)列無法及時(shí)存儲(chǔ)的情況。因此,需要為每個(gè)輸出隊(duì)列設(shè)置最小存儲(chǔ)容量和最大存儲(chǔ)容量的限制。出隊(duì)時(shí),隊(duì)列管理通過與調(diào)度模塊交互信息保證高優(yōu)先級(jí)的分組先出隊(duì),同時(shí)要求確保各個(gè)輸出端口數(shù)據(jù)輸出的公平性。
入隊(duì)調(diào)度流程為:調(diào)度模塊檢測(cè)到控制信息FIFO非空,讀取控制信息FIFO,并分析讀取到的控制信息。向隊(duì)列管理模塊發(fā)送入隊(duì)請(qǐng)求,調(diào)度模塊反饋隊(duì)列管理模塊發(fā)送的入隊(duì)信息,數(shù)據(jù)信息FIFO將數(shù)據(jù)幀搬移到總線仲裁模塊。
出隊(duì)調(diào)度流程為:出隊(duì)調(diào)度從發(fā)送調(diào)度FIFO中讀取到要出隊(duì)數(shù)據(jù)的隊(duì)列號(hào),并發(fā)送該隊(duì)列數(shù)據(jù)的出隊(duì)請(qǐng)求到隊(duì)列管理模塊,隊(duì)列管理模塊返回出隊(duì)信息。出隊(duì)調(diào)度與緩存管理和查詢模塊配合,得到出隊(duì)數(shù)據(jù)幀在SDRAM中的具體地址,將出隊(duì)結(jié)果存入結(jié)果信息FIFO,傳遞給總線仲裁模塊,由總線仲裁模塊將待出隊(duì)的數(shù)據(jù)幀從SDRAM中取出。
入隊(duì)及出隊(duì)調(diào)度流程如圖6所示。
圖6 入隊(duì)/出隊(duì)調(diào)度流程Fig.6 Input/Output queue scheduling process
此外,共享存儲(chǔ)單元的SDRAM同時(shí)也執(zhí)行重要數(shù)據(jù)幀的ARQ(Automatic Repeat Request)功能。由于星間網(wǎng)絡(luò)是一個(gè)無連接的網(wǎng)絡(luò),且傳播時(shí)延較大。利用ARQ功能的“確認(rèn)-重發(fā)”機(jī)制,僅針對(duì)優(yōu)先級(jí)較高的重要信令數(shù)據(jù)幀執(zhí)行功能,從而保證重要的信令報(bào)文能夠準(zhǔn)確到達(dá),同時(shí)防止大量?jī)?yōu)先級(jí)較低的數(shù)據(jù)包占用存儲(chǔ)資源。其具體工作流程為:衛(wèi)星A路由器收到高優(yōu)先級(jí)信令消息,查詢其幀頭目標(biāo)地址為B路由器,此時(shí)A路由器將復(fù)制一份該信令存儲(chǔ)到SDRAM中,同時(shí)將該數(shù)據(jù)包發(fā)到B路由器。B路由器收到A發(fā)送的信令后,對(duì)其發(fā)送響應(yīng)。A收到響應(yīng)后將刪除SDRAM中的備份數(shù)據(jù)包,如果超時(shí)未收到響應(yīng),則重發(fā)該數(shù)據(jù)包。
路由器與星內(nèi)其他設(shè)備直接通信的接口速率通常在100 Mbit/s之內(nèi)。在用于星載處理設(shè)備間高速數(shù)據(jù)傳輸?shù)目偩€協(xié)議中,Spacewire[21]能夠達(dá)到單向200 Mbit/s的全雙工傳輸速率,速率可調(diào),允許鏈路層流量控制。與地面網(wǎng)絡(luò)的以太網(wǎng)接口相比,其速率仍然較低,但其具有針對(duì)星上數(shù)據(jù)傳輸?shù)臉?biāo)準(zhǔn)成熟的協(xié)議及接口芯片,故其在星上的可用性及可擴(kuò)張性遠(yuǎn)優(yōu)于以太網(wǎng)接口。因此,為了支持與星載設(shè)備系統(tǒng)的集成與測(cè)試[4],路由器選用Spacewire接口作為和星內(nèi)其他設(shè)備通信的高速接口。此外,L波段鏈路作為用戶鏈路,其帶寬要求相對(duì)較低,通常在100 Mbit/s以內(nèi)。路由器設(shè)計(jì)8路100 Mbit/s的Spacewire接口,其中1路作為用戶鏈路天線接口,7路連接到星內(nèi)其他設(shè)備。根據(jù)星間網(wǎng)絡(luò)場(chǎng)景需求,星間鏈路帶寬要求通常為200~400 Mbit/s,饋電鏈路與地面站通信時(shí),其帶寬要求比星間鏈路更高,通常在1 Gbit/s以內(nèi)。Serdes接口支持高速傳輸,最高能達(dá)到2.5 Gbit/s的速率。為了向后兼容星間激光鏈路的數(shù)據(jù)傳輸需求,路由器采用標(biāo)準(zhǔn)Serdes芯片經(jīng)串并轉(zhuǎn)換后與交換單元連接,作為星間鏈路及饋電鏈路的高速輸入輸出接口。其中4條星間鏈路的業(yè)務(wù)速率設(shè)計(jì)為500 Mbit/s,兩條饋電鏈路業(yè)務(wù)速率設(shè)計(jì)為1 Gbit/s。
圖7 星載路由器接口單元Fig.7 Interface unit of onboard satellite router
路由器共享內(nèi)存單元的SDRAM應(yīng)支持同一時(shí)間片內(nèi),一次分組的同時(shí)讀寫。接口最大速率為4.8 Gbit/s,故要求SDRAM總線速率大于9.6 Gbit/s??紤]到SDRAM工作頻率為100 MHz,采用160位SDRAM總線(有效位寬128位)能夠?qū)崿F(xiàn)12.8 GHz的總線帶寬,滿足輸入/輸出接口的交換要求。
路由器測(cè)試設(shè)備由PXIE工控機(jī)與控制計(jì)算機(jī)組成,其中PXIE工控機(jī)用于實(shí)現(xiàn)基于FPGA的數(shù)據(jù)包收發(fā)與統(tǒng)計(jì)功能,控制計(jì)算機(jī)運(yùn)行測(cè)試設(shè)備控制軟件,負(fù)責(zé)對(duì)PXIE工控機(jī)進(jìn)行配置管理,并顯示測(cè)試結(jié)果。測(cè)試系統(tǒng)組成原理框圖如圖8所示。
圖8 路器測(cè)試系統(tǒng)原理框圖Fig.8 Test system of onboard satellite router
針對(duì)路由器接口單元進(jìn)行測(cè)試時(shí),需先配置靜態(tài)轉(zhuǎn)發(fā)表。目的地址1~13輸出端口1~14;目的地址221對(duì)應(yīng)的輸出端口為所有端口(1~14);目的端口號(hào)0對(duì)應(yīng)的輸出端口為1。
對(duì)其單播、組播、任播功能進(jìn)行測(cè)試。
(1)單播測(cè)試
測(cè)試設(shè)備向14個(gè)端口各發(fā)送1條單播流量,幀長(zhǎng)為100字節(jié),幀間隔1 000 ns,對(duì)應(yīng)接口速率98 Mbit/s。其中,端口1發(fā)送流量目的地址為1,端口2發(fā)送流量目的地址為2,端口14發(fā)送流量目的地址為0,其測(cè)試拓?fù)淙鐖D9(a)所示。
(2)組播測(cè)試
測(cè)試設(shè)備端口1向路由器各端口發(fā)送1條組播流量,幀長(zhǎng)100字節(jié),幀間隔1 000 ns,對(duì)應(yīng)接口速率98 Mbit/s,其測(cè)試拓?fù)淙鐖D9(b)所示。
(3)任播測(cè)試
測(cè)試設(shè)備端口1發(fā)送1條幀長(zhǎng)100字節(jié),幀間隔1 000 ns的流量,其測(cè)試拓?fù)淙鐖D9(c)所示,通過測(cè)試路由器FPGA內(nèi)部捕獲標(biāo)志是否置1判斷功能是否正常。
圖9 轉(zhuǎn)發(fā)功能測(cè)試拓?fù)銯ig.9 Test topology of forwarding function
續(xù)圖9Fig.9 Continued
(4)本星測(cè)試
測(cè)試設(shè)備端口1發(fā)送1條流量,幀長(zhǎng)100字節(jié),幀間隔1 000 ns,目的地址為255(本星地址),目的端口號(hào)為7(Spacewire端口)。
功能測(cè)試結(jié)果如表2所示。
表2 單播、組播、任播轉(zhuǎn)發(fā)測(cè)試結(jié)果
測(cè)試設(shè)備向路由器14個(gè)端口分別發(fā)送單播流量,幀長(zhǎng)為100字節(jié),接口速率為線速率,針對(duì)不同接口速率需求對(duì)測(cè)試設(shè)備發(fā)送速率進(jìn)行設(shè)置,同時(shí)路由器向測(cè)試設(shè)備端口發(fā)送同樣速率的流量,進(jìn)行雙向收發(fā)線速率測(cè)試,測(cè)試結(jié)果如表3所示。
由于各端口均為雙向收發(fā),其總吞吐量能夠達(dá)到9.6 Gbit/s,其中業(yè)務(wù)鏈路(包括星間鏈路、饋電鏈路和用戶鏈路)端口能夠?qū)崿F(xiàn)5.1 Gbit/s吞吐量。
表3 接口線速率測(cè)試
本文針對(duì)低軌移動(dòng)星座的應(yīng)用場(chǎng)景,提出了一種高速星載路由器設(shè)計(jì)架構(gòu),結(jié)合星間網(wǎng)絡(luò)路由的特點(diǎn)和需求,給出了一種能夠最大化利用交換速率資源,且具有高速輸入/輸出接口的星載路由器設(shè)計(jì)方案,經(jīng)實(shí)例測(cè)試驗(yàn)證,
1)與Cisco18400星載路由器相比,吞吐率顯著提高,實(shí)現(xiàn)交換資源的充分利用;
2)支持標(biāo)簽堆疊的源路由方式,提供面向DiffServ的QoS保障;
3)同時(shí)支持動(dòng)態(tài)路由和靜態(tài)路由,有效減少了路由計(jì)算對(duì)CPU計(jì)算資源的消耗;
4)標(biāo)準(zhǔn)Spacewire接口便于與星內(nèi)其他設(shè)備集成;
5)為星座組網(wǎng)相應(yīng)的載荷工程實(shí)現(xiàn)奠定了技術(shù)基礎(chǔ)。