QualNet


FrontPage

モバイル端末における通信のシミュレータ

ファイルの場所

  • QualNet自体は、C:\qualnet\3.9.5\(QUALNET_HOME)にある
  • Program Filesでは無いのに注意
  • 3.9.5_backupフォルダを作っておいたので本家の3.9.5を使用する

実行ファイル

  • C:\qualnet\3.9.5\gui\netbeans\bin\runidew.exe

ディレクトリ作成

  • Windowsのエクスプローラでも対応する場所に作ってもいい
  • 右クリックでリフレッシュして反映される

シナリオ作成

  • 作業ディレクトリ内には、1つのディレクトリと矢印ファイルが出てくる
    • ディレクトリがメイン
    • 矢印ファイルはグラフィック上に表すためのものに過ぎない
  • ディレクトリ内のconfigファイルがメインの設定ファイル
    • 最悪、うまく動かなかったらそっちをいじってしまえば良いかも
  • hostの名前は変えられる
  • エンティティを選択して左下に設定が出てくる
    • さらに、その中のDetailed Propartyで更なる設定が可能
  • 各ホストで無線のチャネルを選択する(各ホストが優先されるので各々注意)

Wireless Cluod

  • あくまでも、共通の無線チャネルを用いるための概念的なエンティティ
  • 無線のチャネルを用いるホストはこれに共通としてつなげる必要がある

設定編集

  • 左側のウィンドウ(Inspector)内にて、色々と設定が出来るみたい
  • その中の項目を選択すると、左下に設定変更が出来る画面(Properties Explorer)が立ち上がり、設定項目ごとに変更可能
  • 設定ファイルに困ったらbinディレクトリにあるdefaultファイルを参照すると良いかも

Hierarchy(Node)

  • ATのRouting PolicyはDynamicだとちょっとまずいかもしれない

Mobility

  • Nodeの設定は、InspectorにおけるHierarchyの項目の1つ
  • ATにおいては、Node configurationsの中のMobilityの項目にMobility Modelがある
    • ATの動き方、自分でも作れるらしいがMobility Modelをクリックして変更
    • 今回はNoneにするようだ(動かすならRandom Waypoint)
  • Node configurationsと同じレベルの階層にMobilityの項目がある
    • こっちはGUI上で作成するMobility設定
    • ATをmoveして中継地点をいくつか設定する
    • 各中継地点を通過する時間を定めることで移動を設定

Wireless Network

  • Wireless Subnet N8-192.0.0.0にて設定
  • この2つの無線の設定の違いがよく分からないけど
    • Radio Typeで無線通信技術の設定--MAC Protocolでも無線通信技術の設定(物理的なプロトコル?)
  • 今回は次の様に設定するようなのでそういう風に変更
    • MAC Protocol:Battery
    • Radio Type:Battery

Connections(Application)

  • 今回は電力をFTPで供給?
  • その中のBATTERY-FTP 4 -> 2を選択
    • Item to Sendの項目で、マニュアルではDefaultで10000になってると書いてある
    • 実際は100だったので、10000に変更(マニュアルが間違っている可能性もあり)

ConfigSetting(Global)

シミュレーション時間設定

  • General項目のGeneralにある

Wireless Setting

  • 今回は、1チャネル追加するようだ
  • Channel Frequencyで右クリックしてAdd another
  • Channel Frequency[1]が出来る(周波数は同じ2.4GHz)

Network Protocol

  • Routing Policyの変更
    • Roouting Protocolのとこにある
  • DynamicからNoneに変更する(Dynamicでも動くらしいが)

Battery

  • Packet Controlの設定で、Packet Control Start Timeが初期設定が0S
  • マニュアルには、2Sが初期設定でそのままにするとある(2Sに変更した)
  • マニュアルにはEnable Pulse Controlの設定で次の設定があるとしてる
    • Pulse Interval(Send)
    • Pulse Interval(Stop)
    • しかし、そんな項目はなく、Enable Pulse ControlがYESかNOかの設定(今は、初期値のNOのまま)
  • マニュアルにはEnable ChannelAdaptive Controlの設定で次の項目がある
    • RSSI Threshold
    • そんな項目もなく、Enable ChannelAdaptive ControlのYESかNOの設定(今は、初期値のNOのまま)
  • Refresh Routing TableのRefresh Routing Interval
    • マニュアルでは初期値1Sとあるが、実際の初期値は100MS(1Sに変更)

動作

実行

  • いざ実行してみると、「Incorrect Configuration」と警告
  • たしかに、マニュアルと食い違ってるから当たり前なんだろうけど、ちょっと悔しい

結果

  • 色々とテキストファイルに書き込まれるみたいだ

メモ

  • 個々のhostの設定を変えない限りは上の設定が下のホストにも影響する
  • 全てはディレクトリの下の〜.configが全ての設定をあるので、最悪そっちで
  • 1つのシナリオディレクトリの配下には、ディレクトリと矢印つきのファイルが出来る
  • 矢印つきのファイルがUIに影響してるからディレクトリの中のテキストの方がメイン
  • weatherは右クリックでエリアを作って雨のエリアとか作れる
  • FTPバッテリ等のアプリケーションの設定はディレクトリ内の.appファイルに書き込まれる
  • フォルダを作る(直接Windowsのエクスプローラで作って)
  • 右クリックのリフレッシュフォルダしたら反映される
  • Wirelessの雲は、無線のチャネル(共通のチャネルを使うということ)だから無線機能を持ったエンティティはこの雲につなげる必要がある
  • hostは名前変えられるよと
  • Radio TypeやMAC ProtocolはBatteryに変える必要がある(初期設定でBatteryになってるはず?)
  • さらに、左下のDetailed Propatyという欄で数値まで変えられる
  • ATのRouting PolicyのRouting PolicyはDynamicではちょっとまずいかもしれない