基于OPNET的SCPS-NP協(xié)議仿真設(shè)計
首先在INIT 態(tài)進行初始化設(shè)置,進入WAIT 態(tài),然后根據(jù)不同的包流,對包進行封裝或解封裝。SCPS-NP 導頭封裝長度及格式,由用戶在節(jié)點屬性中進行選擇。提供與空間分包協(xié)議類似的服務(wù)時,導頭長度為4 字節(jié),提供與IPv4 協(xié)議類似的服務(wù)時,導頭長度為20 字節(jié)。
2.2 scps_np 模塊進程設(shè)計
scps_np 模塊主要功能是SCPS-NP 協(xié)議的具體實現(xiàn)。其進程設(shè)計如圖3 所示。
首先在INIT 態(tài)進行初始化設(shè)置,進入WAIT 態(tài),當數(shù)據(jù)從上層模塊傳來時,進入deliver 態(tài),發(fā)送數(shù)據(jù)到網(wǎng)絡(luò)。當數(shù)據(jù)從網(wǎng)絡(luò)中傳來時,進入toup 態(tài),對接收的數(shù)據(jù)進行檢測,將符合協(xié)議標準且目的地址為該節(jié)點的數(shù)據(jù)送入上層進行下一步處理,銷毀不滿足條件的包,回到WAIT 態(tài)。若該節(jié)點具有路由功能且包需要轉(zhuǎn)發(fā),進入router 態(tài)。在router態(tài),根據(jù)協(xié)議要求,進行路由控制過程,然后根據(jù)用戶選擇進行不同的路由方法。主要有靜態(tài),動態(tài),洪路由三種方式。轉(zhuǎn)發(fā)后,回到WAIT 態(tài)。路由信息由模塊router_map 提供。
圖3 scps_np 模塊進程結(jié)構(gòu)
2.3 router_map 模塊進程設(shè)計
router_map 模塊的主要任務(wù)是對路由表的維護和更新,其進程設(shè)計如圖4 所示。
首先在INIT 態(tài)進行初始化設(shè)置,進入WAIT 態(tài),當用戶選擇靜態(tài)路由時,在WAIT 保持不動。路由信息已靜態(tài)設(shè)置。
當選擇動態(tài)路由模式時,建立一個自中斷,每隔一段時間間隔進行一次路由表更新。當中斷到來時,進入update 態(tài),根據(jù)此時的位置信息重新計算路由。
圖4 router_map 模塊進程結(jié)構(gòu)
評論