メイン Routing Protocols Implementation & Model Development データパケットのフラッディング | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
nanashi | 投稿日時: 2006/8/7 2:57 |
新米 登録日: 2006/1/8 居住地: 投稿: 16 |
データパケットのフラッディング いつもお世話になっております
CBRなどのデータパケットをユニキャストやマルチキャストではなく、単純にフラッディング(ブロードキャスト)させたいと考えています。 このようなことを実現するためのフラッディングプロトコルはあらかじめ用意されているのでしょうか? また、ないとしたら実現のためにはどのあたりをいじればよいのでしょうか?? このあたりではないか?程度のことでも構いませんのでお答えいただけたらと思います。宜しくお願いします。 |
maxam | 投稿日時: 2006/8/7 9:56 |
常連 登録日: 2006/4/11 居住地: 投稿: 58 |
Re: データパケットのフラッディング こんにちは
マルチキャストアプリケーションを設定して、そのMulticast Group Addressに ブロードキャストアドレスを設定するというのはどうでしょう。 以下、試しにやってみました。 1.ノードをいくつか配置 2.そのうちのひとつのノードにSingleHostApplication(MCBR)設定 Nodes - SingleHostApplications - 右クリックでAdd MCBRを選択 3.Multicast Group Addressに192.0.0.255を設定 |
nanashi | 投稿日時: 2006/8/7 17:18 |
新米 登録日: 2006/1/8 居住地: 投稿: 16 |
Re: データパケットのフラッディング >maxamさん
こんにちは、回答のほうありがとうございます さっそく参考にして実行させていただきました。 この方法ですと送信元の1ホップ以内にいる全ノードに対してブロードキャストは行われているようなのですが、その他のノードに対してはデータパケットが転送されていきません。 現在やろうとしていることは、1ホップ以内にいる全ノードにブロードキャストしたら、今度はそれらのノードが自分の通信範囲内の全ノードに対してブロードキャストを行い、これを繰り返すことでネットワーク全体に対してフラッディングが行われるというものなのですが、こういったことをするにはどうしたら良いのでしょうか? |
mast | 投稿日時: 2006/8/7 23:03 |
一人前 登録日: 2005/4/7 居住地: 投稿: 93 |
Re: データパケットのフラッディング 引用:
現在やろうとしていることは、1ホップ以内にいる全ノードにブロードキャストしたら、今度はそれらのノードが自分の通信範囲内の全ノードに対してブロードキャストを行い、これを繰り返すことでネットワーク全体に対してフラッディングが行われるというものなのですが、こういったことをするにはどうしたら良いのでしょうか? ブロードキャストパケットならなんでもかんでも全てフラッディングしてしまうようにIPを改造する、という方法ではどうですか?全ノードがそのように動いてしまいますが、以下のようなアプローチで実現できるように思います。 (コードを読んだだけで動かしてはいないので、動くかどうかは分かりませんが。。) 一般に、IPレベルでのブロードキャストパケットの再ブロードキャストというのは、禁止されているはず。 なので、その禁止事項を取っ払えばブロードキャストパケットを再ブロードキャストしてくれるはず。 QualNetでその禁止ルールを適用している箇所は、ip.cppのNetworkIpReceivePacketFromMacLayer()の以下の箇所。(コードは3.9.5のもの)
なので、ここに、「ブロードキャストパケットはフォワードする」というルールを無理やり追加する。
|
mast | 投稿日時: 2006/8/7 23:15 |
一人前 登録日: 2005/4/7 居住地: 投稿: 93 |
Re: データパケットのフラッディング すいません。コードが間違ってました。
また、ForwardPacketの第4引数がANY_IPで良いかどうかは微妙… BEFORE
↓ AFTER
|
nanashi | 投稿日時: 2006/8/8 19:25 |
新米 登録日: 2006/1/8 居住地: 投稿: 16 |
Re: データパケットのフラッディング >mastさん
詳細な回答のほうありがとうございます!! さっそく試してみたところ、if (destAddress == ANY_DEST)の場合、if (ipHeader->ip_dst == ANY_DEST)の場合 ともにif文の中に入ってきませんでした ですが、ためしに違う箇所に ForwardPacket(node, msg, incomingInterface, ANY_IP); と記述してみたところ フラッディングっぽい動作が行われることが確認できました これを参考に今後if文の条件や、詳細な設計などを行っていきたいと思います。このたびは丁寧な対応のほうありがとうございました! |
mast | 投稿日時: 2006/8/9 10:23 |
一人前 登録日: 2005/4/7 居住地: 投稿: 93 |
Re: データパケットのフラッディング 引用:
255.255.255.255宛のパケットを投げればフラッディングされるかと思ったのですが、 ハズレ…でしたか。。 |
masa | 投稿日時: 2006/10/9 14:05 |
新米 登録日: 2006/8/12 居住地: 投稿: 14 |
Re: データパケットのフラッディング こんにちわ、はじめまして。
QualNetを使い始めたばかりの初心者です。私も nanashi さんと同様にフラッディングの動作をさせたいのですが、 ForwardPacket(node, msg, incomingInterface, ANY_IP); を書き込む位置、条件文の書き方を色々と試してみたのですが上手くいきません。どのようにすれば動作できるのか、詳しく教えていただけると幸いです。 |
kabocha | 投稿日時: 2006/10/11 10:42 |
常連 登録日: 2006/9/8 居住地: 投稿: 43 |
Re: データパケットのフラッディング フラッディング用のアプリケーションをCBRでも改造して作って dst:=255.255.255.255 で送信してあげるのが一番簡単そうですが。
|
masa | 投稿日時: 2006/10/12 2:25 |
新米 登録日: 2006/8/12 居住地: 投稿: 14 |
Re: データパケットのフラッディング kabocha さん、ご返答ありがとうございます。
CBRをアプリケーション改造でANY_DEST(255.255.255.255)宛に送る事ができるようになったとしても、1ホップ先のノードに対してまでしか送ることができないのではないでしょうか。 nanashi さん同様、現在やろうとしていることは ----------------------------------------------------------- 1ホップ以内にいる全ノードにブロードキャストしたら、今度はそれらのノードが自分の通信範囲内の全ノードに対してブロードキャストを行い、これを繰り返すことでネットワーク全体に対してデータを送信するフラッディング ----------------------------------------------------------- です。 これを解決するために作成工程として考えているのが ・ブロードキャストアドレス宛のパケットの再ブロードキャスト ・重複したブロードキャストメッセージの削除 なのですが、うまく進みません。 何かわかりましたらご助言をお願いします。 |
(1) 2 » |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |