2015-04-16 60 views
0

我有一個關於傳輸順序的一般性問題。在INET - > exapmles-> manetrouting-> dynamicNodeCreation中,它是如何決定哪個節點應該啓動信標傳輸的。那麼下一個節點將如何選擇傳輸呢?omnet - Inet - 哪個因素決定節點的傳輸順序

我嘗試通過tic-toc示例,其中初始化函數中的getIndex()用於選擇發送節點(例如txc10.cc)。但我還沒有弄清楚INET示例中的這些功能。

有沒有一種方法,我可以選擇各自的信標傳輸節點作爲我的信標占用率圖矢量?

有沒有辦法,我可以選擇信標傳輸的候選節點作爲我的信標占用映射向量。

我懇求你的原諒,因爲這個問題不全面。

+0

我只是想知道,在INET框架中,大多數情況下,當退後定時器變爲-1時,將授予下一次通信機會。該功能在mac.cc文件中實現。因此,一旦節點完成信標傳輸並且所有其他節點接收到數據或噪聲,則所有節點都會通過mac.cc啓動一個隨機回退定時器,然後獲勝者(最早獲得-1計數器)開始傳輸。 – Peter

+0

親愛的彼得,如果你認爲你的評論是正確的,或者在你的問題結尾添加評論作爲補充,或者使用選項來回答你自己的問題。 – user4786271

+0

hi @ user4786271,這裏我想說的是關於INET的mac moulde中的隨機退避過程。但後來我實現了一個全新的方法。我在mac層之上創建了一個新模塊,並且在完好階段中,我使用了類似這樣的東西: - scheduleAt(simTime()+ uniform(0,beaconInterval),beaconTimer)''。這裏統一是一個Omnet定義的均勻分佈函數,並給出一個隨機值,beaconInterval是下一個超幀將啓動的時間,beaconTimer是一個定時器消息。 – Peter

回答

0

我將以INET - > examples-> manetrouting-> dynamicNodeCreation爲例來回答我的問題。當我在omnet中運行這個例子時,initialize(運行時)後的第一個事件是fixhost的'beaconTimer'(在我的情況下,它是meshtest.fixhost2 [4] .wlan [0] .magmt)所以基本上它以mgmt子模塊。 (如果您在運行時檢查任何單個節點的層次結構,它將是: - Delayunit - > wlan0,並在wlan0中再次顯示mgmt-> mac-> radio .mgmt的代碼寫入inet-> source-> linklayer- > ieee80211-> MGMT-> Ieee80211MgmtAP.cc

在這個類的初始化功能

現在,有一個代碼行scheduleAt(simTime()+uniform(0,beaconInterval) , beaconTimer)這裏均勻是OMNET定義均勻分佈函數,並給出了隨機值,beaconInterval是後的時間哪個下一個超級幀將啓動,信標定時器是一個消息,該函數爲所有節點(分別由它們自己的mgmt模塊)安排一個隨機時間發送信標,因此無論哪個設備通過這個統一函數獲得最低值,都將啓動信標發送。其他設備應相應遵循。

N如果我想以預先安排的方式發送信標,那麼我會在同一模塊中的handleTimer函數中進行更改,因爲它爲下一個事件提供scheduleAt()函數。