ns(ネットワークシミュレータ)は、離散イベントネットワークシミュレータのシリーズ、具体的にはns-1、ns-2、ns-3の名称です。これらはすべて離散イベントコンピュータネットワークシミュレータであり、主に研究[ 3 ]や教育で使用されています。
nsの最初のバージョンであるns-1は、1995年から1997年にかけて、ローレンス・バークレー国立研究所(LBNL)でスティーブ・マッキャン、サリー・フロイド、ケビン・フォール、その他の貢献者によって開発されました。これはLBNLネットワークシミュレータとして知られ、1989年にS・ケシャフによって開発されたREALという以前のシミュレータから派生したものです。
Ns-2はns-1の改良版として開発が始まった。1997年から2000年にかけて、nsの開発はDARPAのVINTプロジェクトを通じてLBL、Xerox PARC、UCバークレー、USC/ISIで支援された。2000年には、NSFのCONSERを通じてUSC/ISIで、ACIRIを含む他の研究者との協力のもと、ns-2の開発が支援された。
1. これは、ネットワーク研究のための離散イベントシミュレーターです。
2. TCP、FTP、UDP、https、DSRなどの複数のプロトコルをシミュレートするための十分なサポートを提供します。
3. 有線および無線ネットワークをシミュレートします。
4. 主にUnixベースである。
5. スクリプト言語としてTCLを使用する。
6. Otcl: オブジェクト指向のサポート
7. Tclcl: C++とotclの連携
8. 離散イベントスケジューラ
9.
Ns-2には、UCB DaedelusプロジェクトやCMU Monarchプロジェクト、 Sun Microsystemsからの無線コードなど、第三者からの多大な貢献が組み込まれています。
2005年、トム・ヘンダーソン、ジョージ・ライリー、サリー・フロイド、スミット・ロイが率いるチームは、ns-2の後継機となるns-3を開発するため、米国国立科学財団(NSF)に資金援助を申請し、承認を得た。このチームは、マチュー・ラカージュをソフトウェアリーダーとするソフィア・アンティポリスのINRIAのPlaneteプロジェクトと協力し、新たなオープンソースプロジェクトを立ち上げた。
ns-3の開発過程において、ns-2との後方互換性を完全に放棄することが決定された。新しいシミュレータはC++プログラミング言語を用いてゼロから開発されることになった。ns-3の開発は2006年7月に開始された。
3つのバージョンの現在の状況は以下のとおりです。
ns-3は離散イベントネットワークシミュレータであり、個々の通信リンクをより詳細にモデル化する「リンクシミュレータ」とは対照的に、「システムシミュレータ」と呼ばれることもあります。ns-3はC++で記述され、一連の共有ライブラリにコンパイルされます。これらのライブラリは、目的のシミュレーショントポロジと構成を記述する実行可能プログラムによってリンクされます。オプションでcppyyを使用してPythonバインディングが提供され、ユーザーはPythonでシミュレーションプログラムを作成できます。ns-3シミュレータは、シミュレーションパラメータのデフォルト値とインスタンスごとの値を管理するための統合属性ベースシステムを備えています。
ns-3をビルドするには、C++コンパイラ、Python、およびCMakeビルドシステムを搭載したコンピュータが必要です。シンプルなシナリオであれば、一般的な家庭用またはオフィス用コンピュータで動作しますが、非常に大規模なシナリオでは、大容量メモリと高速CPUが推奨されます。プロジェクトには、必要な要件を詳しく説明したインストールガイドと、使用開始方法を解説したチュートリアルが用意されています。
ns-2またはns-3を使用してシミュレーションを作成する一般的なプロセスは、いくつかのステップに分けられます。