2016-04-11 11 views
0

私はOmnetのINETを勉強中の新鮮な新人です。チュートリアルのワイヤレスネットワークのようなINETの例がどのように動作するのかを調べようとしていますが、ccファイルのないディレクトリにはnedとiniファイルしかありません。だから私はこのネットワークがどのように動作するのか非常に混乱しています。誰でも私にそれを見つける方法を教えてくれる?Omnet ++のインプリメンテーション.ccファイルはどのようにして見つけることができますか?

答えて

3

INETで使用されるすべてのモジュール、プロトコル、チャネル、パケットなどの全体の動作は、既にsrcディレクトリ内C++ファイルで定義されているためINET例にはC++ファイルはありません。コンパイルされ、すぐに使用できるコードは、ファイルsrc\libINET.dll(またはLinuxの場合はsrc/libINET.so)にあります。
プロトコルがモデル化されているかどうかを調べ、簡単なモジュールを探します。 (OMNeT++で挙動は、単純なモジュールのために定義される。)例えば
examples\wireless\lan80211

  1. Lan80211.nedあります。ソース(テキスト)形式で開きます。このネットワークは(他のものの間で)WirelessHostを使用します。
  2. WirelessHostの宣言に移動します(ヒント:この単語を選択し、F3を押すかCtrlキーを押しながらこの単語をクリックします)。 WirelessHostStandardHostおよびNodeBaseから継承していることがわかります。さらに:numRadios=1およびmgmtType = "Ieee80211MgmtSTASimplified"
  3. NodeBase.nedでは、デフォルトでIeee80211Nic wlanモジュールが使用されています。モジュールIeee80211Nicは、src\inet\linklayer\ieee80211\Ieee80211Nic.nedで定義されています。
  4. Ieee80211Nicを見ると、Ieee80211Mac(他のものの間)が使用されています。これは\src\inet\linklayer\ieee80211\mac\Ieee80211Mac.nedで定義された単純なモジュールです。その動作は\src\inet\linklayer\ieee80211\mac\Ieee80211Mac.ccで定義されています。

このようにして、すべての複合モジュールの簡単なモジュールとそのC++コードを検出できます。しかし、複合モジュールがどのように動作するかを理解するには、単純なモジュール間の接続も考慮する必要があります。

+0

ありがたいことに、80211 macレイヤのようなすべての単純なモジュールがINETモジュールで定義されています。ネットワークコーディングを処理するために、macレイヤーとネットワークレイヤーの間にカスタマイズレイヤーを追加したい場合カスタマイズモジュールとINETモジュールをどのように組み合わせることができますか? –

+0

これを行う最も簡単な方法は、新しい 'OMNeT ++'プロジェクトを作成し、 'INET'を参照プロジェクトとして設定することです。さらに、新しいプロジェクトでは、自分のホスト用に独自のNEDファイルを定義する必要があります。ホストは 'StandardHost'から継承します。この問題の新しい質問を追加することをお勧めします。私はあなたにソリューションのサンプルコードを提供します。 –

+0

Jerzyありがとう、私はこれについて新しい質問を既に追加しました。 –

関連する問題