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