![]() ![]() ![]() | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
wtj | 投稿日時: 2008/5/14 23:54 |
新米 ![]() ![]() 登録日: 2008/5/14 居住地: 投稿: 3 |
ノード上でのデータ処理 いつもお世話になってます。
3つのノードを直線状に並べ、 両端のノードからデータを真ん中のノードに送り ノード上においてXORでデータを符号化しようと考えています。 一通り眺めてみたのですが、 ノード上でデータを処理する部分がわかりませんでした。 この操作を実現するには、 どの部分をプログラミングすればいいのでしょうか? どうかよろしくお願いします。 |
matumoto | 投稿日時: 2008/5/15 1:15 |
一人前 ![]() ![]() 登録日: 2008/5/13 居住地: 投稿: 80 |
Re: ノード上でのデータ処理 > 一通り眺めてみたのですが、
> ノード上でデータを処理する部分がわかりませんでした。 どのレイヤのソースを眺めましたか? それがわからないので、アドバイスできそうにないです。 > どの部分をプログラミングすればいいのでしょうか? たぶん眺めたレイヤでプログラムするんだと思います。 具体的な情報がないと、どうしようもないです。 |
ipoten | 投稿日時: 2008/5/15 11:52 |
一人前 ![]() ![]() 登録日: 2005/7/12 居住地: 投稿: 102 |
Re: ノード上でのデータ処理 こんにちは
横からすみません。 >3つのノードを直線状に並べ、 >両端のノードからデータを真ん中のノードに送り >ノード上においてXORでデータを符号化しようと考えています。 これって今流行のネットワークコーディング(network coding)のことですかね。 ![]() ストリングトポロジで双方向に流れる複数のパケットを ひとつに重ね合わせてトラフィックを減らすパターンですね。 ネットワークコーディングにもいろいろあると思うので、 QualNet上でモデル化する場合でもやはりmatuさんの指摘されるように、 どのレイヤで実現させたいのかをハッキリさせてから議論したほうがよさそうです。 個人的には、QualNetのパケットメッセージアーキテクチャ上で、 複数のパケットのXORコーディングをどのように実装するのか興味があります。 まじめにパケットフィールドのビット列をXORするほかに、 重ね合わせるパケットメッセージを"info"フィールドあたりにリストするとか、 いろいろアプローチはありそうなので。 |
wtj | 投稿日時: 2008/5/15 17:20 |
新米 ![]() ![]() 登録日: 2008/5/14 居住地: 投稿: 3 |
Re: ノード上でのデータ処理 どうもすみません。
ipotenさんがおっしゃるとおり、 ネットワークコーディングを実装したいと考えています。 自分はアプリケーション層で試していたんですが、 なかなかうまくいかなかったため、 Qualnet上でネットワークコーディングが 実現できるのかどうかが不安になり質問させていただきました。 |
ipoten | 投稿日時: 2008/5/15 18:33 |
一人前 ![]() ![]() 登録日: 2005/7/12 居住地: 投稿: 102 |
Re: ノード上でのデータ処理 こんにちは
>自分はアプリケーション層で試していたんですが、 利用ケースを明確にされたほうがよいように思えます。 私の理解ではネットワークコーディングというのはデータの「転送」を 伴うものと思いますが、アプリケーション層で転送というとゲートウェ イのようなイメージになりますよね。 wtjさんがネットワークコーディングによって減らしたいトラフィック はどのようなものなのか。何を評価したいのか。 たとえばIPのマルチキャストパケットであったり、ルーティングでフラ ディングされるブロードキャストパケットであったりすると、少なくと もネットワーク層から下に実装するのが適当と思います。 利用ケースは明確でないが、手始めにQualNetでやりやすそうなところ をつつくというのであれば、QualNetのデフォルト設定で3つノードを並 べてマルチホップしてくれるのはIP転送なので、やはりネットワーク層 でIPパケットに対してコーディングするというのがやりやすいのではな いでしょうか。(ちなみに無線ですよね。) その場合、パケットを特定するために、送信元とか宛先とかシーケンス 番号が情報として必要と思いますので、QualNetに実装されているIPパ ケットの構造を理解されることをお勧めします。 >Qualnet上でネットワークコーディングが >実現できるのかどうかが不安になり質問させていただきました。 物理レイヤで変調された信号波形をコーディングするとかだとQualNet は不得意だと思いますが、それより上であれば、何とかなると思います よ? (シミュレーションなのでやろうと思えば何でもできる) ただ、QualNetに含まれる既存のモデルに、ネットワークコーディング に似たようなものがないことや、周りにネットワークコーディングをモ デル化したことのある先駆者がいないかもしれないことは不安材料だと 思います。 |
matumoto | 投稿日時: 2008/5/15 18:47 |
一人前 ![]() ![]() 登録日: 2008/5/13 居住地: 投稿: 80 |
Re: ノード上でのデータ処理 # あ、ipoten さん とかぶったかな。
> 自分はアプリケーション層で試していたんですが、 > なかなかうまくいかなかったため、 実際にどのようなアプリケーションですか。 既存のQualNetアプリケーションを改造して使ったのでしょうか、 それとも専用のアプリケーションを実装したのでしょうか。 ピンポイントですが、QualNetのアプリケーションなら、 APP_TcpSendData(node, clientPtr->connectionId, payload, sendSize, TRACE_なんたらAPP); という関数(か、その類似関数)を使っている場所があると思います。 上記の例だと payload がデータです。 一般的にアプリケーションはSRCとDSTでデータを送受信しますが、 中継するノードではアプリケーション処理は行われないと思います。 たとえば、QualNetのFTPというアプリケーションを使う場合、 中継ノードではFTPアプリケーションは動きません。 より下位の層でデータの中継処理が行われます。 したがって、アプリケーションで符号化を行うためには中継ノードの処理で、 アプリケーション処理が積極的に中継処理を行う必要があると思います。 たとえが古いですが、 UUCPでバケツリレーによるmail配送を行うみたいなものになるのかな。 > Qualnet上でネットワークコーディングが > 実現できるのかどうかが不安になり質問させていただきました。 んー、どのくらい本気でソースコードをいぢるか、を決断すれば... たぶん、やってやれないことはない、と思います。 |
wtj | 投稿日時: 2008/5/15 20:27 |
新米 ![]() ![]() 登録日: 2008/5/14 居住地: 投稿: 3 |
Re: ノード上でのデータ処理 ipotenさん、matuさん
詳しいアドバイスありがとうございます。 アプリケーション層のapp_cbrを改造して payloadに値を与えるところはクリアしたので、 今後はお二人がおっしゃるように 下位の層での処理を見てみようと思います。 またよろしくお願いします。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |