Assignments


課題1
以下のサンプルシミュレーション:

では,配布した実験テキストの例と同じトポロジー,リンク帯域幅,パケット長などの条件下で,ノード0からノード3へは0.8Mbpsの一定転送速度のUDPフロー(これを主フローと呼ぶ)を流し,ノード1からノード3へは0.08Mbpsの一定転送速度のUDPフロー(これらを競合フローと呼ぶ)を複数本並行して流している.ただし,主フローが最初に始まって最後に終わり,その間に競合フローが1本ずつ増えていき,最大同時5本になり,また減っていく.
この時,ノード2→ノード3のリンクは,2種類のフローに共有され,その合計転送速度は,例えば,競合フローが5本になった状態では,0.8+0.08*5 = 1.2Mbps であり,リンク帯域幅を越えるので,そのリンクへの出口キューにパケットがどんどん溜り,いずれは溢れて廃棄され始める(「パケットロス」).
なお,nsでのシミュレーションでは,特に指定しない場合,このサンプルのようなDroptailキューの最大長は「パケット50個」である.バッファ領域の大きさ(バイト数)ではない点に注意.つまり,キューにパケットが50個溜った状態で次のパケットが到着すると,パケットロスが発生する.
このサンプルを参考にして,リンク帯域幅,主フローの転送速度,及び(各)競合フローの転送速度を以下に指定するように変えてシミュレーションを行い,その結果を traceファイル 及び namファイルに出力して,

  1. 競合フロー数が1本だけの場合と,5本の場合の各々でシミュレーションを行い,nam を使って,ノード2→ノード3の共有リンク(への出口のキュー)でパケットロスが発生する(あるいはしない)様子を観測せよ.
  2. 競合フロー数が1,2,3,4,5本の場合の各々でシミュレーションを行い,各々の場合の,主フローの平均パケットロス率(「ノード3に到着しなかったパケット数」÷「ノード0を出発したパケット数」)を計算せよ.その結果を,横(X)軸が競合フロー数,縦(Y)軸が主フローの平均パケットロス率であるような棒グラフまたは折れ線グラフで示せ.
  3. 競合フロー数が1,2,3,4,5本の場合の各々でシミュレーションを行い,各々の場合の,主フローの(ロスしなかった)各パケットの遅延時間(「ノード3に到着した時刻」-「ノード0を出発した時刻」)の平均,分散,50パーセンタイル,90パーセンタイル,95パーセンタイルを計算せよ.その結果を,表で示せ.工夫したグラフでの表現があればより望ましい(加点される).

計算(traceファイルの解析)にはどんな言語,ツールを用いてもよいが,例えば,perl はこのような行単位テキストファイルの解析には便利である.グラフや表の作成には何を用いてもよいが,理系なので,gnuplot と LaTeX を使いこなせる方が後で困らない.
なお,この例では,最大キュー長がパケット50個であり,すべてのパケットが500バイト長なので,最大キュー待ち時間は「500×8×50÷リンク帯域幅(ビット毎秒)」(秒)になる.
サンプルから変更すべき条件は以下の通り:学生番号の下一桁を3で割った余りが,

  • 0 の人は,
    • 各リンク帯域幅は 2 Mbps
    • 主フローの転送速度は 1.6Mbps
    • 各競合フローの転送速度は 0.16Mbps
  • 1 の人は,
    • 各リンク帯域幅は 1.4 Mbps
    • 主フローの転送速度は 1Mbps
    • 各競合フローの転送速度は 0.16Mbps
  • 2 の人は,
    • 各リンク帯域幅は 0.8 Mbps
    • 主フローの転送速度は 0.4Mbps
    • 各競合フローの転送速度は 0.16Mbps

いずれの場合も,競合フローにとっての可用帯域幅(共有リンクの帯域幅-主フローの速度)は同じであるが,主フローに与える影響は異なる.

課題2
以下のサンプルシミュレーション:

では,配布した実験テキストの例と同じトポロジー,リンク帯域幅,パケット長などの条件下で,ノード0からノード3へは0.8Mbpsの一定転送速度のUDPフロー(これを主フローと呼ぶ)を流し,ノード1からノード3へは無限長のファイルのFTP転送によるTCPフロー(これらを競合フローと呼ぶ)を複数本並行して流している.ただし,主フローが最初に始まって最後に終わり,その間に競合フローが1本ずつ増えていき,最大同時5本になり,また減っていく.
この時,ノード2→ノード3のリンクは,2種類のフローに共有される.TCPフローの転送速度は,空いてる帯域幅を最大限に利用しつつエンドエンドフロー制御及び輻輳制御を実現するために,適応的に変化しフィードバック系としての複雑な挙動を示す.その時,その合計転送速度がしばしばリンク帯域幅を越えるので,そのリンクへの出口キューにパケットが溜り始めるが,そのような状態が一定時間以上続くと(輻輳状態),パケットが溢れて廃棄され始める(「パケットロス」).
なお,nsでのシミュレーションでは,特に指定しない場合,このサンプルのようなDroptailキューの最大長は「パケット50個」である.バッファ領域の大きさ(バイト数)ではない点に注意.つまり,キューにパケットが50個溜った状態で次のパケットが到着すると,パケットロスが発生する.
このサンプルを参考にして,リンク帯域幅及び主フローの転送速度を以下に指定するように変えてシミュレーションを行い,その結果を traceファイル 及び namファイルに出力して,

  1. 競合フロー数が1本だけの場合と,5本の場合の各々でシミュレーションを行い,nam を使って,ノード2→ノード3の共有リンク(への出口のキュー)でパケットロスが発生する(あるいはしない)様子を観測せよ.
  2. 競合フロー数が1,2,3,4,5本の場合の各々でシミュレーションを行い,各々の場合の,主フローの平均パケットロス率(「ノード3に到着しなかったパケット数」÷「ノード0を出発したパケット数」)を計算せよ.その結果を,横(X)軸が競合フロー数,縦(Y)軸が主フローの平均パケットロス率であるような棒グラフまたは折れ線グラフで示せ.
  3. 競合フロー数が1,2,3,4,5本の場合の各々でシミュレーションを行い,各々の場合の,主フローの(ロスしなかった)各パケットの遅延時間(「ノード3に到着した時刻」-「ノード0を出発した時刻」)の平均,分散,50パーセンタイル,90パーセンタイル,95パーセンタイルを計算せよ.その結果を,表で示せ.工夫したグラフでの表現があればより望ましい(加点される).

計算(traceファイルの解析)にはどんな言語,ツールを用いてもよいが,例えば,perl はこのような行単位テキストファイルの解析には便利である.グラフや表の作成には何を用いてもよいが,理系なので,gnuplot と LaTeX を使いこなせる方が後で困らない.
なお,この例では,最大キュー長がパケット50個であるが,500バイトのUDPパケットと1500バイトのTCPパケットがキュー内に混在する.理論上の最悪の場合の最大キュー待ち時間は「1500×8×50÷リンク帯域幅(ビット毎秒)」(秒)になるが,上記のシナリオではそのような状況は起きないと考えられる.
サンプルから変更すべき条件は以下の通り:学生番号の下一桁を3で割った余りが,

  • 0 の人は,
    • 各リンク帯域幅は 2 Mbps
    • 主フローの転送速度は 1.6Mbps
  • 1 の人は,
    • 各リンク帯域幅は 1.4 Mbps
    • 主フローの転送速度は 1Mbps
  • 2 の人は,
    • 各リンク帯域幅は 0.8 Mbps
    • 主フローの転送速度は 0.4Mbps

いずれの場合も,競合フローにとっての可用帯域幅(共有リンクの帯域幅-主フローの速度)は同じであるが,主フローに与える影響は異なる.

Comments are closed