![]() ![]() ![]() | 投稿するにはまず登録を |

題名 | 投稿者 | 日時 |
---|---|---|
» ![]() |
tak | 2008/11/4 17:34 |
![]() |
tak | 2008/11/5 21:17 |
フラット表示 | 前のトピック | 次のトピック |
投稿者 | スレッド |
---|---|
tak | 投稿日時: 2008/11/4 17:34 |
新米 ![]() ![]() 登録日: 2008/10/30 居住地: 投稿: 2 |
CBRを用いたブロードキャスト転送 はじめまして。
お世話になります。 現在、CBRを変更し、 ネットワーク全体にブロードキャストを行うプロトコルを作成中です。 大まかな仕様としては、 ・CBR Clientが255.255.255.255でパケットを送信。 ・CBR Serverは受信したパケット中のヘッダ情報を参照し、転送するかどうかを判断。 ・転送を行う場合はブロードキャストで転送。 とするつもりです。 現状としては app_cbr.cpp内のAppLayerCbrServer()に/*--relay data--*/以下を追加しました。
このプログラムを実行した場合、 それらしく動いてくれてはいるのですが、データを受け取ってくれない端末が存在します。 例えば 直線上に4台の端末(1,2,3,4)を設置し(隣り合う端末だけが直接通信できる)、端末1が送信を行った場合、 最初のパケット(seqNo.0)は端末3は送信を行わず、端末4まで届きません。 それ以後のパケット(seqNo.1〜)は全端末へ届くのですが、端末3の送信を端末2が受信しません。 Qualnet.traceファイルで確認するとCBR→UDP→IPv4とデータは渡され、 ENQUEUEとDEQUEUEまで実行されています。 データを受け取らない端末が存在する原因として考えられることは何でしょうか? ルーティングプロトコルとしてBellman Fordが動いているのですが、 それを完全に無視してパケット転送を行おうとしていることが問題なのでしょうか? そもそも、ブロードキャストパケットを利用し、アプリケーション層でルーティングの制御を行おうとしてるのが問題なのでしょうか? どんな些細なことでもいいのでアドバイスもらえれば助かります。 よろしくお願いします。 |
フラット表示 | 前のトピック | 次のトピック |