令和5年度 ネットワークスペシャリスト試験 午前Ⅱ 問1 TCPの輻輳制御

情報処理技術者試験

[style_prompt] 本記事はGeminiの出力をプロンプト工学で整理した業務ドラフト(未検証)です。

令和5年度 ネットワークスペシャリスト試験 午前Ⅱ 問1 TCPの輻輳制御

TCPの通信効率と安定性を両立する輻輳制御アルゴリズムの基本動作を問う問題です。スロースタートしきい値の役割を理解することが正解への近道です。

TCPの輻輳制御において,スロースタート状態から輻輳回避状態に遷移する契機はどれか。

ア RTT(Round Trip Time)が一定値を超えたとき イ 輻輳ウィンドウサイズがスロースタートしきい値に達したとき ウ パケットの再送タイムアウトが発生したとき エ 重複ACKを3個受信したとき

【解説】

TCPの輻輳制御(Congestion Control)は、ネットワークの混雑状況に応じてデータ送信量を調整する仕組みです。主に「スロースタート」と「輻輳回避」の2つのフェーズで制御されます。

  1. スロースタート(Slow Start) 通信開始時、輻輳ウィンドウ(CWND)を最小値から開始し、ACK(確認応答)を受け取るたびにCWNDを1ずつ増やします。これにより、1RTTごとにCWNDは2倍(指数関数的)に増加します。 $$CWND_{next} = CWND_{current} \times 2$$

  2. スロースタートしきい値(ssthresh) 急激な増加によるネットワーク破綻を防ぐための境界値です。CWNDがこの値に達すると、慎重な増加を行う「輻輳回避」フェーズへ移行します。

  3. 輻輳回避(Congestion Avoidance) CWNDがしきい値に達した後の挙動です。1RTTごとにCWNDを1ずつ増やします(線形増加)。 $$CWND_{next} = CWND_{current} + 1$$

graph TD
    Start("#quot;(通信開始#quot;)") --> SlowStart["スロースタート指数関数的に増加"]
    SlowStart --> Condition{"CWND >= ssthresh?"}
    Condition -->|"Yes"| Avoidance["輻輳回避状態線形的に増加"]
    Avoidance -->|"パケットロス検出"| Reset["しきい値を更新/再開"]

【選択肢の吟味】

選択肢 判定 解説
ア × RTTの変動は輻輳制御に影響を与えますが、状態遷移の直接的なトリガー(しきい値)ではありません。
イ 〇 CWNDがスロースタートしきい値に達した瞬間に、指数増加から線形増加(輻輳回避)へ切り替わります。
ウ × 再送タイムアウトは輻輳を検知した合図であり、CWNDの縮小としきい値の再設定(スロースタートへの戻り)を招きます。
エ × 重複ACKを3個受信したときは、高速再送・高速回復アルゴリズムへ移行する契機です。

【ポイント】

  • スロースタート:CWNDは指数関数的に増加(1, 2, 4, 8…)。

  • 輻輳回避:CWNDは線形に増加(…16, 17, 18…)。

  • 遷移点:CWND(輻輳ウィンドウ) ≧ ssthresh(スロースタートしきい値)。

文書情報

記事タイトル
令和5年度 ネットワークスペシャリスト試験 午前Ⅱ 問1 TCPの輻輳制御
作成日
更新日
Source URL
https://papanda925.com/?p=5914

ライセンス: 本記事のうち、当サイトが権利を有する本文・自作図表は、特記なき限り CC BY 4.0 で利用できます。生成AIを活用して作成・編集した内容を含みます。コードについて、別途ライセンス表示またはリンク先GitHubリポジトリのライセンスがある場合は、その条件を優先します。引用・第三者資料・画像・商標等は本ライセンスの対象外です。 利用ポリシー

タイトルとURLをコピーしました