ns-3.0.11の概要

本業で使いそうなネットワークシミュレータns-2の次バージョンであるns-3の開発動向について、興味があったので調べてみた。

どうやらns-3ではtclと決別したようだ。

ns-2では、wifiやTCPなど内部的なロジックをC++で、それをどう動かすかのシナリオをtclで記述していた。編集されているtclファイルを傍から見ていたがそれは意味不明で、なぜそれがそれとくっつくんだという疑問が見ている間ずっと浮かんでいた。

ns-2ではビルドは一般的なconfigureで行われているが、ns-3ではwafと呼ばれるpythonプログラムを利用している。ns-3ではtclを使わないのでコンパイルする内容が少なく、時間がかからなかった。

シナリオファイルもpythonを使うのかと思いきや、C++で構成されていた。classの宣言時にC++のテンプレートをよく使っている様子が見られるが、一般的なC++の書き方とそう違いはない。C++に慣れている人なら簡単に書けそうだ。

ns-3のwifiのコードについて少し見てみた。onoe, amrrを頭に付加しているファイルが見つかる。これは無線LANのレート制御アルゴリズムの名前だ。madwifi(Atheros向けの)を触っている人間なら同様のレート制御アルゴリズムを選択することができるので、試してみるといい。さらにTXOPといった802.11e(QoS)にかかわるコードも入っている。

ns-2のコードや拡張を時間をかけて調べてはいないが、ns-3はwifiに関して言えば、かなり期待できるコードになりそうな予感だ。

Leave a Comment


NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>