2011-02-03 96 views
0

我試圖在Matlab中對Ad Hoc按需距離矢量(AODV)路由協議進行編碼。我將簡要描述協議的工作原理:按需路由協議

該協議可用於移動自組織網絡。源發起一條路由到IP已知的目的地。源節點向其第一跳廣播路由請求(RREQ)。如果第一跳(TTL)內的任何節點知道目的地或到達目的地的路由,則將路由應答(RRP)轉發給源。如果發現任何路由中斷,則會向目標生成路由錯誤(RERR)消息。源選擇到目的地的最短(最短跳)路徑來傳遞數據包。如果源在指定時間內沒有得到任何RREP,則TTL增加並且發送新的RREQ。維基鏈接這裏是爲了詳細說明:[AODV_Wiki] [1]

編輯編碼完全依賴於節點之間的連接,如提示中所述。我正在敲定代碼。我想,我很快就會上傳。

+0

這裏U能夠獲得的協議代碼 http://www.mathworks.com/matlabcentral/newsreader/view_thread/247556 – Mostafa 2013-09-21 15:43:54

回答

2

提示:距離向量算法通過在每個網絡節點中維護距離向量來工作。 distane矢量測量從當前節點到網絡中每個其他節點的距離。該算法通過迭代更新這個向量來工作。

將所有這些距離向量組合到一個矩陣中,得到一個矩陣,其中元素i,j測量節點i和j之間的距離。

因此,我將開始與計算連接矩陣a[i,j]=1如果i可直接與j0否則溝通 - 並從那裏繼續。

+0

@ nimrodm如果(距離<= R) M(I,J)= 1; ([X(i)X(j)],[Y(i)Y(j)],'LineStyle',':','MarkerSize',25)。 (j)=距離(j); %#ok disp('RREQ') else M(i,j)= 0; 顯示('找不到路線') 結束 結束**請您詳細說明一下嗎?儘管如此,我有連接矩陣,它只在源內,節點第一跳。因此,從第一跳開始,如何到達目的地? – Tinglin 2011-02-03 05:28:15