カテゴリ:NS-2


2008年09月23日

ns-2の話

最近お二人?の方からns-2に関するコメントとメールをいただいた。
#メールを頂いた方には後でお返事する予定。

お二方ともアドホックネットワークでのホップ数制限と遮蔽物の扱いに関するご質問でした。

実のところ、ここ数年ns-2には触れていない(最後に使ったバージョンはns-2.27あたりでした)ので、具体的なお答えはしかねるくらい、記憶が定かでないのです。

ですので、ご質問の内容には、今はお答えすることが出来ないことをお詫びします。

とはいえ、完全に忘れてしまっているわけでもないので、わかる範囲でお答えしようと思います。

まず、ns-2におけるAODVの実装は、AODV-UUとMANETの二通りあり、設定が微妙に違っていたような気がします。

AODVでのホップ数制限は _TTL あたりをいじればよかったかもしれませんが、それでうまく制限がかからないようであれば、私にもわかりませんとしか言いようがありません。

以前のns-2がらみのお仕事では、確かにAODVやMobileIP関連で新しいノードクラスを作ったりしましたが、残念ながら詳細は忘れてしまいました。

次に、遮蔽モデルは、実際には使ったことは無いですが、そういったモデルが存在することは確認しています。

このモデル(ShadowingVis Propagation Model)では、実験するフィールドにマップしたグレイ画像の濃淡で、遮蔽率を設定するものであったように記憶しています。(過去エントリ/過去エントリその2

すなわち、ある場所に対応するピクセル値が255であるなら、そのピクセルを通過する電波は完全に遮蔽されるといったものであったと思います。

ですので、モデルにグレイ画像をマップすることで、遮蔽物などを設定できるようになっていたはずです。ただし、(当時の)無線電波の伝播モデルは、あまりちゃんと高さのことを考えていなかったようなので、高さを考慮したシミュレーションには使えなかったような気がします。
#通常のモデルでは、Two-Ray Ground Propagation Modelを使っているのにね。

あと、Topographyモデルを使うと、地形を表すこと出来るらしい

なんか、取り留めの無いエントリで申し訳ない。

#また実行環境作ろうとしてたりしてw。

Posted by masamic at 22:09 [NS-2, オープンソース, パソコン・インターネット, 科学・技術] | 固定リンク | コメント (1) | トラックバック (0)


2008年07月02日

ns-3安定版リリース

以前、仕事でns-2を使ったことがある縁で、ns-3の動きをウォッチしていたのだが、
昨日ついに、ns-3の安定版としては初となる、ns-3.1がリリースされた。

ns-3についての詳細は、「ns-3 Overview」(PDF)を見てもらうとして、

PDFを読んだ限りでは、今後のバージョンアップでは結構楽しそうなものに仕上っていきそう。
たとえば(勘違いもあるかもしれないが…w)、

  1. トレースファイルがWiresharkで読める。
  2. 物理マシン内にある複数仮想マシン内同士、ソケットインターフェースを介して、ns-3の仮想ネットワークで接続できる。
  3. 二つのns-3仮想ネットワーク同士を現実のネットワーク(TestBed)経由で接続できる。

といった按配。もちろん、速度的には遅いのかもしれないけれど。これは遊べそう。
#もちろん研究者にも役に立つと思う。

Posted by masamic at 01:07 [Ethereal, NS-2, Wireless, オープンソース] | 固定リンク | コメント (1) | トラックバック (0)


2005年02月09日

NS-2.28リリース

NS-2 のバージョン 2.28 がリリースされた。

いろいろと修正がされているようだが詳細は不明。

同時に ns-allinone-2.28 もリリースされたが、Fedora Core 3 では NAM-1.11 がコンパイルエラーがでる事がある。
しかし修正は簡単で、NAM-1.11のpacket.hの73行目の "NULL" を "0" に修正すればコンパイルは通るようになる。

Posted by masamic at 21:02 [NS-2] | 固定リンク | コメント (0) | トラックバック (0)


2005年01月26日

Fedora Core 3 で ns-allinone-2.27 がコンパイルできない。

Fedora Core 3 では ns-allinone-2.27 がコンパイルできない。
そのため、以下のようなパッチが出ている。

http://www.ececs.uc.edu/~cdmc/ucbt/src/ns227-gcc34.patch

今までに発生したバグについてもかなり対応してあるようだ。

Posted by masamic at 18:01 [NS-2] | 固定リンク | コメント (0) | トラックバック (0)


2004年12月28日

ns-2: アドホックプロトコルでDSRを使った時にセグメンテーションフォルトが起きるとき。

アドホックプロトコルでDSRを使った時にセグメンテーションフォルトが起きるときは、ifq のクラスをチェックすること。
もし、Queue/DropTail/PriQueueを指定していたら、これをCMUPriQueueにしてみると良い。

出典:The Network Simulator - ns-2 / Installation Problems, Bug Fixes, and Help / ns-2.1b9

Posted by masamic at 23:12 [NS-2, 仕事] | 固定リンク | コメント (0) | トラックバック (1)


2004年12月24日

諸般の事情により一部のエントリを隠しました。

諸般の事情により、NS-2関連の一部のエントリを隠しました。
状況によっては、復活するかもしれないし、削除するかもしれません。

以上、ここを参考にされている方にはご迷惑をおかけして申し訳ありません。

Posted by masamic at 21:12 [NS-2, 仕事] | 固定リンク | コメント (0) | トラックバック (0)


ある方からメールが届いた

ある方から、ns-2に関して情報をやり取りしましょうというお話が来た。もちろんウェルカム(OK)です。

また、Confidentialな内容でなければ、ここから得られた情報もここに書いていきたいと思います。他のns-2ユーザのためにも。

Posted by masamic at 17:12 [NS-2] | 固定リンク | コメント (0) | トラックバック (0)


2004年11月01日

NS-2 の ShadowingVis (ry (その後)

ShadowingVisクラスでは、遮蔽されたノード間の場合と、遮蔽されていないノード間の場合のそれぞれにShadowingクラスとそのサブクラスのインスタンスを設定できると書いた。

いろいろ調べてみると、Propagationクラスのサブクラス(たとえば TwoRayGround クラス)のインスタンスも許すようにしても特に問題ないように見える。メソッド Pr(PacketStamp* tx, PacketStamp* rx, WirelessPhy* ifp) をインプリメントしたクラスのインスタンスであれば問題ないはず。なお、Propagationクラス自体はPrメソッドをサポートしない(インプリメントしていないことを表示してアボートする。)

ちなみに TwoRayGround クラスはノード(アンテナ)の高さが同じであることを想定している。異なっているとwarningが出る。

Posted by masamic at 19:11 [NS-2, 仕事] | 固定リンク | コメント (0) | トラックバック (0)


2004年10月29日

NS-2 の ShadowingVis Propagation Model

うむ、ShadowingVis Propagation Model を使用すると任意の画像(bitmapまたはppmフォーマット)を設定できて、画像の黒いところ以外は遮蔽物として扱われるモデルのようだ。でも、一般的な Two-Ray Ground Propagation Model じゃないんだよなぁ。

あ、add-models というメソッドがある。

Shadowingクラスおよびそのサブクラスのインスタンスが設定でき、遮蔽されていないときと、遮蔽されているときのPropagationモデルを指定できるのか。
Two-Ray GroundクラスはPropagationクラスのサブクラスだから、これを Shadowing クラスのサブクラスとして作り直せば使えるかも。とはいえ、Propagationクラスを受け付けないってのもなんか変なつくりだな。ShadowingクラスはPropagationクラスのサブクラスなのに。

Posted by masamic at 21:10 [NS-2, 仕事] | 固定リンク | コメント (0) | トラックバック (0)


NS-2のDemfileとは?

ns-2のTopography オブジェクトは、よく用いられる平坦な地形のほかにもっと複雑な地形を生成することが出来る。このときに必要となるのがDemfileだ。Demfileはバイナリデータで内容はさして難しくないがデータを作成するのが大変だ。このデータを作成するツールもない。また、このような複雑な地形をns-2がちゃんとシミュレーションしてくれるのかが(全ソースを理解しているわけではないので)わからない。

Posted by masamic at 20:10 [NS-2, 仕事] | 固定リンク | コメント (0) | トラックバック (0)


2004年10月01日

Network Simulator 2.27改造その後

結構ハマッている。
とりあえず、元のコードを継承したクラスは作ったけど、元のコードがクラスを継承されることを想定していないため、元のコードも手を加えなければならなくなってしまった。もちろん基本的に動作は変えないけどね。privateをprotectedにしたり、メンバ関数をvirtual化したりしている。
オブジェクト指向の原則を無視しとるな。

Posted by masamic at 23:10 [NS-2, 仕事] | 固定リンク | コメント (0) | トラックバック (0)


2004年09月21日

何とか出社できた。新しい仕事はNS-2の改造だ。

何とか、昼までには起きることができ、13時に出社することができた。
でも、おきてから時間がたっていないため、2~3時間は集中力に欠けている状態が続く。

で、次のお題目が提示された。ネットワークシミュレータ(NS-2)を改造し、ある方式について検討するためのシミュレーションシステムを構築するというものだ。NS-2というネットワークシミュレータは結構独特な実装をしていて、トポロジーやノード、リンクの操作は、ObjectTcl(OTcl)という言語を使い、ここで使用されるオブジェクトと一対一に対応するC++のコードが後ろに控えてて、実際のシミュレーションを行うときはC++でコンパイルされたネイティブなコードが実行される。(厳密に言うとお互いに呼び合っている部分もある)

改造するには、OTclとC++の両方同時に手を入れる必要があり、結構面白いです。(一度経験しているからよくわかる。)

Posted by masamic at 23:09 [NS-2, 仕事, 心と体] | 固定リンク | コメント (0) | トラックバック (0)