1. カメラ
  2. カーオーディオ&エレクトロニクス
  3. ホームオーディオ
  4. パーソナルオーディオ
  5. テレビ
  6. スマートホーム
  >> 電子技術オンライン >  >> 電話 >> 会議ステーション

NS2 n 個のノードを使用してイーサネット LAN をシミュレートし、異なる送信元宛先に複数のトラフィック プロットの輻輳ウィンドウを設定しますか?

「」

// n ノードを持つイーサネット LAN をシミュレートする ns-2 スクリプト。

// トラフィック プロットの混雑ウィンドウはさまざまな設定に設定されます

// 送信元と宛先のペア。

// 必要なパッケージをインポートします。

ns_lib をインポートします。

tcl_lib をインポートします。

// ネットワークを作成します。

sim_timeを100秒に設定します。 // シミュレーション時間 (秒)

num_nodes 10 を設定します。 // ネットワーク内のノードの数

ifq 1000 を設定します。 // パケット単位のインターフェースキューのサイズ

for {set i 0} {$i <$num_nodes} {incr i} {

# ノードを作成します。

set node($i) [新しいエージェント/TCP ソース];

# ノードをネットワークに接続します。

$ns アタッチエージェント $node($i)

# ノードの MAC アドレスを設定します。

$node($i) set MAC

# ノードの IP アドレスを設定します。

$node($i) set addr_

# ノードの輻輳ウィンドウ サイズを設定します。

$node($i) セット cwnd_ 20

}

トラフィック ソースとシンクを構成します。

for {set i 0} {$i <$num_nodes} {incr i} {

# 各ノードのソーストラフィックを設定します。

$node($i) set Traffic_type CBR

$node($i) set start_time_ 0s

$node($i) セット cbr_rate_ 100Kbps

$node($i) セット rtt_ 50ms

# 各送信元の宛先 IP アドレスを設定します。

$node($i) set packetDest_ 10.$i.2.1

# 各ノードのシンクトラフィックを設定します。

set シンク($i) [新しいエージェント/Null]

$sink($i) set addr_ 10.$i.2.1

$ns アタッチエージェント $sink($i)

}

イーサネット スイッチを作成します。

セットスイッチ[新しいCMUcsma]

スイッチをノードに接続します。

for {set i 0} {$i <$num_nodes} {incr i} {

$ns 接続 $node($i) $switch

}

シミュレーションを実行します。

$ns at 0.1 "$node(0) 送信開始"

1.1 の $ns "$node(1) 送信開始"

2.1 の $ns "$node(2) 送信開始"

3.1 の $ns "$node(3) 送信開始"

4.1 の $ns "$node(4) 送信開始"

$ns at 5.1 "$node(5) 送信開始"

6.1 の $ns "$node(6) 送信開始"

$ns 7.1 "$node(7) 送信開始"

$ns 8.1 "$node(8) 送信開始"

$ns at 9.1 "$node(9) 送信開始"

$ns 実行

結果のプロット

プロットを設定 [新しいプロット/Xグラフ -幅 640 -高さ 480]

印刷スタイルを選択します。

$plot スタイル バーを設定

X 軸と Y 軸のラベルを設定します。

$plot set xlabel "時間(秒)"

$plot set ylabel "輻輳ウィンドウ サイズ"

さまざまなノードのトレースを追加して、輻輳ウィンドウをプロットします。

for {set i 0} {$i <$num_nodes} {incr i} {

$plot add $node($i) cwnd_

}

プロットの凡例を設定します。

for {set i 0} {$i <$num_nodes} {incr i} {

$plot add Legend $node($i)

}

プロットの自動スケールを設定します。

$plot 自動スケールをオンに設定

プロットを PNG 画像として保存します。

$plot グラフを保存.png

「」