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