![]() ![]() ![]() | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
T.I | 投稿日時: 2017/12/19 16:11 |
半人前 ![]() ![]() 登録日: 2017/10/21 居住地: 投稿: 32 |
CBRでブロードキャスト こんにちは。
http://simweb.kke.co.jp/qualnet/forum/modules/newbb/viewtopic.php?topic_id=475&forum=43#forumpost1928 のような、送信元がブロードキャストし、受け取ったノードが送信先でなければ更にブロードキャストするということを繰り返し、送信先へデータパケットを届けるようにCBRを改造したいと考えています。 まず第一段階として、ユニキャストからブロードキャストのアプリケーションへ変更するために、 ------------------------------------------------------------------ clientPtr->stats = new STAT_AppStatistics( node, "cbr", STAT_Unicast, STAT_AppSender, customName.c_str()); ------------------------------------------------------------------ のSTAT_UnicastをSTAT_Multicastに変更するという作業を全箇所しました。 しかし、変更後コンパイルしシミュレーションを行っても変更前とデータは変わっていませんでした。 http://simweb.kke.co.jp/download/QualNetHacks-01-CBR.pdf は一通り読んだのですが、ユニキャストからブロードキャストに変更ということは書かれていなかったためどうすればよいか分かりません。 どなたかアドバイスをお願いしたいです。 |
maxam | 投稿日時: 2017/12/21 15:29 |
常連 ![]() ![]() 登録日: 2006/4/11 居住地: 投稿: 58 |
Re: CBRでブロードキャスト 詳しくは見ていないですが、
clientPtr->stats = new STAT_AppStatistics( これは全部、(シミュレータの動作ではなく出力に関わる) 統計値関係の変数/関数ではないでしょうか・・。 ・MCBRで代用 QualNetには、MCBRというものもあります。(Multicast CBR) BroadcastではなくMulticastですので 目的にもよりますが、 MCBRで代用で良かったりはしないですか? ・CBRを改造する場合 app_cbr.cppでは、client側のどこかで 宛先IPアドレスを指定している筈です。 変更するならこの宛先かと思います。 また、CBRの受信側(server)でも何かしら改造が 必要と思われます。 どちらにしろアプリ層転送のための改造は必要になるわけなので、 デバッグ実行でパケットひとつひとつの動きを追って、確認しながら 進めるのが良いかと思います。 |
T.I | 投稿日時: 2017/12/21 15:39 |
半人前 ![]() ![]() 登録日: 2017/10/21 居住地: 投稿: 32 |
Re: CBRでブロードキャスト 追記です。
色々調べたところ、app_cbr.cpp内のAppLayerCbrClientの ------------------------------------------------------------------ Message* sentMsg = APP_UdpCreateMessage( node, clientPtr->localAddr, (short) clientPtr->sourcePort, clientPtr->remoteAddr, (short) APP_CBR_SERVER, TRACE_CBR, clientPtr->tos); ------------------------------------------------------------------ の、clientPtr->remoteAddrの部分をブロードキャストアドレスに設定すればブロードキャストはできるのではないかと考えています。 しかし、ブロードキャストアドレスの設定の仕方が分かりません。 どなたか分かる方教えていただきたいです。 |
T.I | 投稿日時: 2017/12/21 15:56 |
半人前 ![]() ![]() 登録日: 2017/10/21 居住地: 投稿: 32 |
Re: CBRでブロードキャスト 返事ありがとうございます!
はい、STAT_Unicastの部分はパケット制御ではないようですね。 勘違いしていました。 ・MCBRで代用について 私は、送信元が送信先を指定してデータパケットをフラッディング、データパケットを受け取ったノードは、自分宛なら受け取り違うなら再度フラッディグを行うという風にCBRを改造したいと考えています。 MCBRはフラッディングは行えますが、送信先を一つ指定して送るようなアプリケーションではなかったと思います。私の思い違いかもしれませんが。。 現在は、色々調べたところ、app_cbr.cpp内のAppLayerCbrClientの ------------------------------------------------------------------ Message* sentMsg = APP_UdpCreateMessage( node, clientPtr->localAddr, (short) clientPtr->sourcePort, clientPtr->remoteAddr, (short) APP_CBR_SERVER, TRACE_CBR, clientPtr->tos); ------------------------------------------------------------------ の、clientPtr->remoteAddrの部分をブロードキャストアドレスに設定すればブロードキャストはできるのではないかと考えています。 しかし、ブロードキャストアドレスの設定の仕方が分っていません。 アプリケーション層転送に関しては、client側に再送制御を加えようと考えています。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |