基于OPNET的SCPS-NP協(xié)議仿真設(shè)計(jì)
摘 要:要分析了空間數(shù)據(jù)系統(tǒng)咨詢委員會(huì)(CCSDS,CONsultative Committee for Space Data SySTems)系列協(xié)議的特點(diǎn)。為了驗(yàn)證CCSDS 根據(jù)空間數(shù)據(jù)通信特點(diǎn)提出的一系列建議中的網(wǎng)絡(luò)層建議(SCPS-NP,Space CommunicationsProtocol Specification—Network Protocol)的性能。通過OPNET 通信仿真軟件進(jìn)行建模,基本實(shí)現(xiàn)了SCPS-NP 協(xié)議要求的功能,對(duì)協(xié)議的性能進(jìn)行了分析,對(duì)中國(guó)空間通信協(xié)議的發(fā)展方向提出了建議。
0 引言
隨著各國(guó)對(duì)外層空間資源的不斷探索,開發(fā)和利用以及地面因特網(wǎng)技術(shù)的不斷發(fā)展成熟。將天地通信融入到地面因特網(wǎng)中,建立天地統(tǒng)一的數(shù)據(jù)網(wǎng)絡(luò)成為新的研究熱點(diǎn)。這就需要一套高效統(tǒng)一的空間通信協(xié)議來進(jìn)行保障。在此要求下,由各國(guó)空間系統(tǒng)研究機(jī)構(gòu)共同組成的空間數(shù)據(jù)系統(tǒng)咨詢委員會(huì)(CCSDS)做了大量工作,制定了一系列協(xié)議。
1 CCSDS 協(xié)議體系結(jié)構(gòu)
CCSDS 系列協(xié)議可仿照TCP/IP 的分層結(jié)構(gòu)分類到物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層和應(yīng)用層中。每一層包含多個(gè)協(xié)議。具體介紹如下:
?。?)物理層
在物理層,CCSDS 制定了《無線電頻率和調(diào)制體制》建議書。規(guī)定了中等通信需求的近地和深空任務(wù)的無線電頻率和調(diào)制體制。
?。?)數(shù)據(jù)鏈路層
數(shù)據(jù)鏈路層包括了數(shù)據(jù)鏈路層協(xié)議和信道編碼。協(xié)議主要開發(fā)了分包遙測(cè)和分包遙控協(xié)議,適用于常規(guī)航天器數(shù)據(jù)系統(tǒng),業(yè)務(wù)簡(jiǎn)單;高級(jí)在軌數(shù)據(jù)系統(tǒng)協(xié)議(AOS),適用于大型航天器,業(yè)務(wù)種類多;近距空間鏈路,適用于互相接近的航天器之間的空間鏈路,主要是點(diǎn)對(duì)點(diǎn)通信。信道編碼中開發(fā)了BCH 編碼、卷積碼、RS 碼及數(shù)據(jù)鏈路的各種數(shù)據(jù)結(jié)構(gòu)等[2]。
?。?)網(wǎng)絡(luò)層
在網(wǎng)絡(luò)層、傳輸層和應(yīng)用層,CCSDS 開發(fā)了與TCP/IP 協(xié)議功能上相平行的一系列建議書,即空間通信協(xié)議規(guī)范SCPS。其出發(fā)點(diǎn)是在適應(yīng)空間通信需求的基礎(chǔ)上盡量與因特網(wǎng)協(xié)議實(shí)現(xiàn)兼容和互操作。以因特網(wǎng)協(xié)議為基礎(chǔ),進(jìn)行針對(duì)空間環(huán)境的改進(jìn)。SCPS-NP 是其中的網(wǎng)絡(luò)層協(xié)議。與IP 協(xié)議相比,主要改進(jìn)體現(xiàn)在以下幾點(diǎn):提出了不同長(zhǎng)度的導(dǎo)頭供用戶在功能和效率間取舍;提供多種選路模式,增加了泛洪尋址方式;提供由管理機(jī)制配置的端到端路由;在SCPS 控制信息協(xié)議中(SCMP)中,增加了由于信道質(zhì)量造成鏈路中斷的信令。
?。?)傳輸層
在傳輸層,除了對(duì)應(yīng)的傳輸層協(xié)議SCPS-TP 外,CCSDS還開發(fā)了用于文件傳輸?shù)膮f(xié)議CFDP,CFDP 既提供了傳輸層功能,又提供了應(yīng)用層文件管理功能[2]。此外還提出了具有端到端數(shù)據(jù)保護(hù)能力的SCPS 安全協(xié)議(SCPS-SP),是對(duì)Internet IPsec 協(xié)議改進(jìn)而制定的。
?。?)應(yīng)用層
在應(yīng)用層中,CCSDS 開發(fā)文了件傳輸協(xié)議SCPS-FP、無損數(shù)據(jù)壓縮、空間分包協(xié)議等。
2 SCPS-NP 協(xié)議建模
為了驗(yàn)證SCPS-NP 的協(xié)議性能,這里采用了OPNET 軟件進(jìn)行建模測(cè)試。OPNET 采用了三層建模機(jī)制:最上層為網(wǎng)絡(luò)層,反映了網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)特點(diǎn);其次為節(jié)點(diǎn)層,由相應(yīng)的協(xié)議模塊構(gòu)成,反映了設(shè)備的特性;最底層為進(jìn)程層,以狀態(tài)機(jī)的形式來描述議,反映了協(xié)議的具體功能是如何實(shí)現(xiàn)的[6]。根據(jù)三層建模機(jī)制,仿真中采用了衛(wèi)星-地面站通信的場(chǎng)景,圖1為衛(wèi)星節(jié)點(diǎn)模型,地面站節(jié)點(diǎn)模型與其類似,其中有關(guān)SCPS-NP 協(xié)議的部分有:
①scps_np_encap 模塊,SCPS-NP 協(xié)議導(dǎo)頭封裝模塊,對(duì)數(shù)據(jù)進(jìn)行封裝解封裝;
?、趕cps_np 模塊,SCPS-NP 協(xié)議實(shí)現(xiàn)模塊,具體實(shí)現(xiàn)SCPS-NP 所要求的功能;
?、踨outer_map 模塊,路由表更新模塊,提供靜態(tài)路由表或動(dòng)態(tài)更新的路由表。
圖1 仿真節(jié)點(diǎn)模型。
2.1 scps_np_encap 模塊進(jìn)程設(shè)計(jì)
該模塊主要任務(wù)是對(duì)數(shù)據(jù)封裝SCPS-NP 導(dǎo)頭或解封裝去掉導(dǎo)頭,進(jìn)程設(shè)計(jì)如圖2 所示。
圖2 scps_encap 模塊進(jìn)程結(jié)構(gòu)
首先在INIT 態(tài)進(jìn)行初始化設(shè)置,進(jìn)入WAIT 態(tài),然后根據(jù)不同的包流,對(duì)包進(jìn)行封裝或解封裝。SCPS-NP 導(dǎo)頭封裝長(zhǎng)度及格式,由用戶在節(jié)點(diǎn)屬性中進(jìn)行選擇。提供與空間分包協(xié)議類似的服務(wù)時(shí),導(dǎo)頭長(zhǎng)度為4 字節(jié),提供與IPv4 協(xié)議類似的服務(wù)時(shí),導(dǎo)頭長(zhǎng)度為20 字節(jié)。
2.2 scps_np 模塊進(jìn)程設(shè)計(jì)
scps_np 模塊主要功能是SCPS-NP 協(xié)議的具體實(shí)現(xiàn)。其進(jìn)程設(shè)計(jì)如圖3 所示。
首先在INIT 態(tài)進(jìn)行初始化設(shè)置,進(jìn)入WAIT 態(tài),當(dāng)數(shù)據(jù)從上層模塊傳來時(shí),進(jìn)入deliver 態(tài),發(fā)送數(shù)據(jù)到網(wǎng)絡(luò)。當(dāng)數(shù)據(jù)從網(wǎng)絡(luò)中傳來時(shí),進(jìn)入toup 態(tài),對(duì)接收的數(shù)據(jù)進(jìn)行檢測(cè),將符合協(xié)議標(biāo)準(zhǔn)且目的地址為該節(jié)點(diǎn)的數(shù)據(jù)送入上層進(jìn)行下一步處理,銷毀不滿足條件的包,回到WAIT 態(tài)。若該節(jié)點(diǎn)具有路由功能且包需要轉(zhuǎn)發(fā),進(jìn)入router 態(tài)。在router態(tài),根據(jù)協(xié)議要求,進(jìn)行路由控制過程,然后根據(jù)用戶選擇進(jìn)行不同的路由方法。主要有靜態(tài),動(dòng)態(tài),洪路由三種方式。轉(zhuǎn)發(fā)后,回到WAIT 態(tài)。路由信息由模塊router_map 提供。
圖3 scps_np 模塊進(jìn)程結(jié)構(gòu)
2.3 router_map 模塊進(jìn)程設(shè)計(jì)
router_map 模塊的主要任務(wù)是對(duì)路由表的維護(hù)和更新,其進(jìn)程設(shè)計(jì)如圖4 所示。
首先在INIT 態(tài)進(jìn)行初始化設(shè)置,進(jìn)入WAIT 態(tài),當(dāng)用戶選擇靜態(tài)路由時(shí),在WAIT 保持不動(dòng)。路由信息已靜態(tài)設(shè)置。
當(dāng)選擇動(dòng)態(tài)路由模式時(shí),建立一個(gè)自中斷,每隔一段時(shí)間間隔進(jìn)行一次路由表更新。當(dāng)中斷到來時(shí),進(jìn)入update 態(tài),根據(jù)此時(shí)的位置信息重新計(jì)算路由。
圖4 router_map 模塊進(jìn)程結(jié)構(gòu)
3 仿真結(jié)果分析
這里仿真模型實(shí)現(xiàn)了SCPS-NP 協(xié)議的基本內(nèi)容,可結(jié)合其他協(xié)議仿真做多種仿真測(cè)試,由于SCPS-NP 協(xié)議的主要特點(diǎn)在與不同導(dǎo)頭長(zhǎng)度對(duì)于協(xié)議開銷的控制且限于篇幅,下面僅介紹不同的導(dǎo)頭長(zhǎng)度在其他相同條件下,對(duì)于吞吐率的影響。
吞吐率的定義為在單位時(shí)間內(nèi)某節(jié)點(diǎn)成功接收的有效用戶字節(jié)數(shù)(bit/s),即吞吐率=(成功接收的數(shù)據(jù)總字節(jié)數(shù)-開銷字節(jié)數(shù))/總時(shí)間。其性能取決于傳輸業(yè)務(wù)數(shù)據(jù)單元所用的開銷所占比例以及信道誤碼率等其他因素。
對(duì)于類似IPv4 協(xié)議的20 字節(jié)的導(dǎo)頭和類似空間分包協(xié)議的簡(jiǎn)單4 字節(jié)導(dǎo)頭兩種導(dǎo)頭模式,在10-5誤碼率下,上層FTP 流量為1 MB 大小文件,衛(wèi)星下行鏈路采用AOS 傳輸?shù)那闆r下,由圖5 可明顯看出簡(jiǎn)化導(dǎo)頭可帶來更大的網(wǎng)絡(luò)吞吐率,減少了協(xié)議開銷。加快了文件傳送。
圖5 不同導(dǎo)頭長(zhǎng)度下吞吐率對(duì)比
4 結(jié)語
隨著中國(guó)空天事業(yè)的發(fā)展,航天器間的組網(wǎng)、航天器與地面網(wǎng)的融合是當(dāng)前需要迫切發(fā)展的方向之一。在天地一體化網(wǎng)絡(luò)的研究方面,CCSDS 提出了許多寶貴的建議,加深對(duì)這些建議的理解和研究,對(duì)中國(guó)的空天網(wǎng)絡(luò)協(xié)議建設(shè)具有很好的參照意義。這里淺略地研究了其中的一個(gè)建議SCPS-NP,實(shí)現(xiàn)了其基本功能。但CCSDS 系列協(xié)議是一個(gè)龐大的體系結(jié)構(gòu),需要各方面的共同力量,才能深入理解。