NSページ最終更新日:2006.8.17, 和訳最終更新日:2006.8.18
MobileNodeオブジェクトは、次のような機能のある基本的なNodeオブジェクトで.。 その機能とは、ノードに動きがあること、モバイル、無線シミュレーション環境を構成するための チャネルにおける送受信する能力のあることです.MobileNodeクラスは、基本クラスであるNode から継承されています. MobileNodeは、単独のオブジェクト(split object)です. node movement,定期的なposition update、トポロジーの境界をメンテナンスすることなどを 含むmobilityの特徴は、C++で実装されています.一方でMobileNode自身(classifiers, dmux 、 LL、 Mac、Channelなどのような)の中のnetwork componentはOtclで実装されてきています. subsectionで記述されている関数と手続き(procedure)は、mobilenode.{cc,h}、 tcl/lib/ns-mobilenode.tcl、tcl/mobility/dsdv.tcl、tcl/mobility/dsr.tcl、tcl/mobility/tora.tcl の中で見つけることができます.例を示したスクリプトは、tcl/ex/wireless-test.tcl や tcl/ex/wireless.tclの中で見つけることができます.はじめの例は、3つのノードという小さな トポロジーを使っているもので、二つめの例は、50を超えるノードのトポロジー上で動作するものです. これらのスクリプトは、シンプルに次のようにタイプすることで実行されます.
$ns tcl/ex/wireless.tcl (or /wireless-test.tcl)
現在サポートされている4つのad-hoc routing protocolは、Destination Sequence Distance Vector (DSDV)、 Dynamic Source Routing (DSR)、Temporally ordered Routing Algorithm (TORA)、 Adhoc On-demand Distance Vector (AODV)です. はじめにmobilenodeを生成するには、次に示すように記述します. どうか、どのrouting protocolが使われるかに依存してmobilenodeが生成されていた、古いAPIで あることに注意して下さい.
set mnode [$opt(rp)-create-mobile-node $id]
ただし、 $opt(rp)は、"dsdv"、"aodv"、"tora" 、 "dsr"を定義するものです.また、idはmobilenode のインデックスです.しかし、古いAPIは、廃止予定で、新しいAPIは次に示す通りです:
$ns_ node-config -adhocRouting $opt(adhocRouting)
-llType $opt(ll)
-macType $opt(mac)
-ifqType $opt(ifq)
-ifqLen $opt(ifqlen)
-antType $opt(ant)
-propInstance [new $opt(prop)]
-phyType $opt(netif)
-channel [new $opt(chan)]
-topoInstance $topo
-wiredRouting OFF
-agentTrace ON
-routerTrace OFF
-macTrace OFF
上記のAPIは、ad-hoc-routing protocol、network stack、channel、topography、propagation model の全ての値、有線ルーチングのon/off(wired-cum-wireless scenariosの要求)や 異なるレベル(router、mac、agent)でのトレーシングのon/offについてが備わっているmobilenodeから 構成されています. 階層化アドレスが使われる場合には、nodeのhier addressがさらに渡される必要があります. このコマンドに関するより詳しい情報(一部は新しいnode API)は、注釈とDocumentationにある "Restructuring ns node and new Node APIs"の章に記述されています.
次のコマンドは、実際にmobilenodeを生成します:
for { set j 0 } { $j \< $opt(nn)} {incr j} {
set node_($j) [ $ns_ node ]
$node_($i) random-motion 0 ;# disable random motion
}
上記のprocedureは、mobilenode (spilit)objectを生成し、仕様通りのadhoc-routing routing agent を生成し、link layer、interface queue、mac layer、アンテナの付いたnetwork interfaceから成る network stackを生成し、定義された伝搬モデルを使い、これらのcomponentが相互接続され、 channelのstackに接続されます.mobilenodeは、図.16.1の構造のようです.
dsdv 図:CMU monarchの無線拡張のもとmobilenodeの概要
DSR routingを使うmobilenodeの構造は、今まで説明してきたmobilenodeと少し異なります. SRNodeクラスが、MobileNodeクラスから継承されます.SRNodeは、demuxやclassifierを使わず、 defaultでは、nodeから受信する全てのパケットがDSR routing agentに渡されます. DSR routing agentは、ポートのdmuxに渡すことでpktsを受信するか、pkt hdrの中でsource route としてpktsを転送するか、新しいパケットのためにroute requestやroute replyを送信するかの どれかを行います.DSR routing agentの詳細は、16.1.5章で見つけることができます. SRNodeのための構造モデルは、図.16.2に示されています.
dsr 図.CMU monarchの無線拡張のもとのSRNodeの概要
Google Adsense広告
無線ネットワークシミュレーション since 2006.9-
|
|