Japan QualNet Community Forums Japan QualNet Community Forums
Welcome Guest 
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
検索
メインメニュー
アクセスカウンター
2024/05/09:15/16
2024/05/08:22/25

2024/03/10より372/1383
人気モジュール
No.1: フォーラム 93
No.2: QualNet概要 6
日曜日からの合計
人気Browser&OS
No.1:巡回ロボット85
No.2:Linux3
No.3:Unknown OS1

No.1:どっかの巡回ロボット81
No.2:Safari3
No.3:Baidu巡回ロボット3

日曜日からの合計
メイン
   Routing Protocols Implementation & Model Development
     経路応答ストームについての記述箇所は?
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
adhocker
投稿日時: 2006/1/30 20:20
半人前
登録日: 2006/1/10
居住地:
投稿: 26
経路応答ストームについての記述箇所は?
お世話になっております。

ルーティングプロトコルDSRの仕様で同じ宛先へのキャッシュを持つ
ノードが隣接した箇所に複数いた場合に同じ宛先に対するRREPストームが起きてしまうことを防ぐための機能がありますが、
この動作はdsr.cppのどの部分で記述されているのでしょうか?
forum_support
投稿日時: 2006/1/31 19:45
モデレータ
登録日: 2005/5/17
居住地: 東京都中野区中央4-5-3 ?構造計画研究所
投稿: 322
Re: 経路応答ストームについての記述箇所は?
こんにちは。
http://www.ietf.org/internet-drafts/draft-ietf-manet-dsr-10.txt
の 8.2.5. Preventing Route Reply Storms のことを仰っておられると
思います。
私も確認してみましたが、ルートキャッシュがある場合のRREPを
送信している下記関数で、RREPをMACへ送信する際に
(clocktype) (pc_erand(node->seed) * DSR_BROADCAST_JITTER))
の遅延時間を使用しています。


void DsrInitiateRREPByIn()
{
....
03137  NetworkIpSendPacketToMacLayerWithDelay(
03138       node,
03139       newMsg,
03140       DEFAULT_INTERFACE,
03141       nextHop,
03142      (clocktype) (pc_erand(node->seed) * DSR_BROADCAST_JITTER));
....
}

ただ、この方法はdraftの表記とは異なるようです。
マニュアルにもこの機能に対して、サポートしているか否か
明記されていませんね。
開発元にも一度問い合わせてみます。なにか情報を得ましたら
お知らせいたします。
adhocker
投稿日時: 2006/2/2 6:13
半人前
登録日: 2006/1/10
居住地:
投稿: 26
Re: 経路応答ストームについての記述箇所は?
回答ありがとうございます。

>8.2.5. Preventing Route Reply Storms
仰られるとおりこの機能のことで質問させていただきました。

回答していただいた箇所を参考にプログラミングしてみたいと
思います。

また何か分かりましたらお手数ですが教えてくださるよう
よろしくお願いいたします
forum_support
投稿日時: 2006/2/2 11:31
モデレータ
登録日: 2005/5/17
居住地: 東京都中野区中央4-5-3 ?構造計画研究所
投稿: 322
Re: 経路応答ストームについての記述箇所は?
開発もとより返信を貰いました。

RREPの返信遅延時間に

(clocktype) (pc_erand(node->seed) * DSR_BROADCAST_JITTER)

を用いていますが、draft では

d = H * (h - 1 + r)

   where h is the length in number of network hops for the route to be
   returned in this node's Route Reply, r is a random floating point
   number between 0 and 1, and H is a small constant delay (at least
   twice the maximum wireless link propagation delay) to be introduced
   per hop.  

となっています。これは h == 1 と考えたことになります。
理由は、この機能自体がdraft上では "MAY clause" であり
規定されているものではないためとのことです。

また、複数のRREPが返されるのを極力さけるため、Draft では
以下のように定義されています。

Within the delay period, this node promiscuously receives all
   packets, looking for data packets from the initiator of this Route
   Discovery destined for the target of the Discovery.  If such a data
   packet received by this node during the delay period uses a source
   route of length less than or equal to h, this node may infer that the
   initiator of the Route Discovery has already received a Route Reply
   giving an equally good or better route.  In this case, this node
   SHOULD cancel its delay timer and SHOULD NOT send its Route Reply for
   this Route Discovery.


ただし、これも mandatory では無いため、今のところは実装されていないとのことです。

ご参考になりましたら幸いです。

adhocker
投稿日時: 2006/2/2 16:08
半人前
登録日: 2006/1/10
居住地:
投稿: 26
Re: 経路応答ストームについての記述箇所は?
丁寧な対応ありがとうございます

RREPの返信遅延時間に
(clocktype) (pc_erand(node->seed) * DSR_BROADCAST_JITTER)
と用いており、これがドラフト中の d = H * (h - 1 + r)において
h == 1と考えたものであるということであるならば
ドラフト通りの機能を与えるためには、RREPの返信遅延時間に
(clocktype) (((RREQ内のホップ数 -1)+ pc_erand(node->seed))) * DSR_BROADCAST_JITTER)のようにしてやればよいのでしょうか??
forum_support
投稿日時: 2006/2/2 20:48
モデレータ
登録日: 2005/5/17
居住地: 東京都中野区中央4-5-3 ?構造計画研究所
投稿: 322
Re: 経路応答ストームについての記述箇所は?
こんにちは

引用:

adhockerさんは書きました:

ドラフト通りの機能を与えるためには、RREPの返信遅延時間に
(clocktype) (((RREQ内のホップ数 -1)+ pc_erand(node->seed))) * DSR_BROADCAST_JITTER)のようにしてやればよいのでしょうか??


そうですね。このようにすれば、とりあえずRREPの送信タイミング
をずらす部分についてはドラフトどおりとなると思います。

他のノードからRREPを受信後、自身のRREPを送信しないといった機能
は全くインプリメントされていませんので、ご自身で実装してい
ただくことになると思います。
adhocker
投稿日時: 2006/2/2 23:54
半人前
登録日: 2006/1/10
居住地:
投稿: 26
Re: 経路応答ストームについての記述箇所は?
ありがとうございます。
回答とドラフトを参考にして実装してみたいと思います
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ
Copyright c KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.
XOOPS Cube PROJECT