メイン Routing Settings ODMRPのデータ受信時の動き | 投稿するにはまず登録を |
題名 | 投稿者 | 日時 |
---|---|---|
» ODMRPのデータ受信時の動き | yonah_air | 2008/5/11 20:06 |
Re: ODMRPのデータ受信時の動き | ipoten | 2008/5/28 18:54 |
フラット表示 | 前のトピック | 次のトピック |
投稿者 | スレッド |
---|---|
yonah_air | 投稿日時: 2008/5/11 20:06 |
新米 登録日: 2007/7/21 居住地: 福島 投稿: 8 |
ODMRPのデータ受信時の動き 使用しているQualNetは、3.9.5です
ODMRPでは、通信経路となったノード間でデータフラッディングを行うことで、複数目的ノードへデータの中継を行います。 そのため、任意のノードがデータパケットの中継処理の過程で同一Sequence numberのデータパケットを受信した場合、中継処理を行わずにパケットの破棄を行います。 実際に重複受信した場合のところに「puts("Data重複")」とコードを入れても"Data重複"とは出力されません。しかし、ブロードキャストストリームが起こっている様子はありません。どこで、Dataパケットの重複を検知しているのでしょうか?処理が行われている箇所に心当たりがあれば、ご指摘をお願いいたします。 /* Dataパケット受信時の処理 */ static void OdmrpHandleData(Node* node, Message* msg) { 〜パケットのキャスト及び、その他の処理〜 /* 同一Sequence Numberパケット受信有無の確認 */ if (!OdmrpLookupMessageCache(srcAddr, option.seqNumber, &odmrp->messageCache)) { /* 重複受信していなかった場合 */ /* Sequence Numberの受信記録をとる */ OdmrpInsertMessageCache(odmrp, node, srcAddr, option.seqNumber, &odmrp->messageCache); 〜 Data受信時の処理 〜 } else { /* 重複受信した場合 */ ←ココに「puts("Data重複")」と入れても出力されない /* 何も処理を行わず、パケットを破棄 */ MESSAGE_Free(node, msg); } } |
フラット表示 | 前のトピック | 次のトピック |