2014-01-24 23 views
0

我在ns2中使用AODV路由協議進行鄰居發現,但跟蹤文件未顯示任何hello數據包。跟蹤文件如下所示:我在跟蹤文件中看不到hello數據包

s 1.000000000 _0_ AGT --- 0 cbr 210 [0 0 0 0] ------- [0:0 1:0 32 0] [0] 0 0 
r 1.000000000 _0_ RTR --- 0 cbr 210 [0 0 0 0] ------- [0:0 1:0 32 0] [0] 0 0 
s 1.000000000 _0_ RTR --- 0 AODV 48 [0 0 0 0] ------- [0:255 -1:255 30 0] [0x2 1 1 [1 0] [0 4]] (REQUEST) 
s 1.003750000 _0_ AGT --- 1 cbr 210 [0 0 0 0] ------- [0:0 1:0 32 0] [1] 0 0 
r 1.003750000 _0_ RTR --- 1 cbr 210 [0 0 0 0] ------- [0:0 1:0 32 0] [1] 0 0 

回答

1

缺省情況下,hello數據包在AODV協議中處於禁用模式。

您可以通過下面做的事情讓Hello報文,

評論或從aodv.cc刪除以下行(NS-所有功能於一身的/ ns2.xx/AODV)

#define AODV_LINK_LAYER_DETECTION 

#define AODV_USE_LL_METRIC 

在您的終端執行make clean and make

重新執行你的TCL ..現在hello包將打印在你的跟蹤文件中。

+0

實際代碼的#ifndef AODV_LINK_LAYER_DETECTION htimer.handle((事件*)0 ); ntimer.handle((Event *)0); #endif和#ifndef AODV_LINK_LAYER_DETECTION drop(p,DROP_RTR_MAC_CALLBACK); #else所以兩個塊都應該註釋 – user3182155

+0

你可以發表評論行嗎? –

+0

/*#ifndef AODV_LINK_LAYER_DETECTION htimer.handle((Event *)0); ntimer.handle((Event *)0); #endif // LINK LAYER DETECTION */ – user3182155

0

先生, 我正在使用NS2.35版本,在該版本的文件aodv.cc,下面的行默認註釋。

定義AODV_LINK_LAYER_DETECTION

定義AODV_USE_LL_METRIC

一次,模擬了腳本無法看到你好味精跟蹤文件

+0

這是一個答案? – Hawk