令和5年度 ネットワークスペシャリスト 午前Ⅱ 問1 TCPのスロースタート

Tech

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

令和5年度 ネットワークスペシャリスト 午前Ⅱ 問1 TCPのスロースタート

TCPのスロースタートにおける輻輳ウィンドウの増分規則を把握し、時間経過(RTT)に伴う指数関数的な成長を計算する手順を解説します。

【問題】

TCPのスロースタートアルゴリズムにおいて,輻輳(ふくそう)ウィンドウの初期値を1セグメント(MSS)とし,1セグメントのACKを受信するたびに輻輳ウィンドウを1セグメント増やすものとする。輻輳ウィンドウが16セグメントに達するまでに必要なRTT数は最小でいくつか。ここで,輻輳は発生せず,各セグメントに対するACKは個別に返されるものとする。

ア 4 イ 5 ウ 15 エ 16

【解説】

TCPのスロースタートフェーズでは、データ送信の効率を上げるために、ネットワークの許容容量を確認しながら送信量を急激に増加させます。

1. 基本規則の確認

  • 初期状態:1 RTT(Round Trip Time)目に 1セグメント送信。

  • 増分規則:ACKを1つ受信するごとに、輻輳ウィンドウ(CWND)を +1 する。

2. RTTごとの推移計算 各RTT終了時点でのCWNDの推移を追います。

  • 開始時:$CWND = 1$

  • 1 RTT目

    • 1セグメント送信 $\rightarrow$ 1つのACKを受信。

    • $CWND = 1 + 1 = 2$ となる。

  • 2 RTT目

    • 2セグメント送信 $\rightarrow$ 2つのACKを受信。

    • 1つ目のACKで $CWND = 2 + 1 = 3$、2つ目のACKで $CWND = 3 + 1 = 4$。

    • $CWND = 4$ となる。

  • 3 RTT目

    • 4セグメント送信 $\rightarrow$ 4つのACKを受信。

    • 最終的に $CWND = 4 + 4 = 8$ となる。

  • 4 RTT目

    • 8セグメント送信 $\rightarrow$ 8つのACKを受信。

    • 最終的に $CWND = 8 + 8 = 16$ となる。

このように、1 RTTごとにCWNDは前回の2倍($2^n$)に増加します。

3. 数式による表現 $n$ RTT後のCWNDを $W_n$ とすると、以下の式が成り立ちます。 $$W_n = 2^n$$ 本問では $W_n = 16$ となる $n$ を求めるため、 $$2^n = 16 \implies n = 4$$

Mermaid図解:CWNDの成長プロセス

sequenceDiagram
    participant S as 送信側
    participant R as 受信側
    Note over S: RTT 0: CWND=1
    S ->> R: Seg 1
    R -->> S: ACK 1
    Note over S: RTT 1終了: CWND=2
    S ->> R: Seg 2, 3
    R -->> S: ACK 2
    R -->> S: ACK 3
    Note over S: RTT 2終了: CWND=4
    S ->> R: Seg 4, 5, 6, 7
    R -->> S: ACK 4, 5, 6, 7
    Note over S: RTT 3終了: CWND=8
    S ->> R: Seg 8...15
    R -->> S: ACK 8...15
    Note over S: RTT 4終了: CWND=16

【選択肢の吟味】

選択肢 判定 解説
正解 上記計算の通り、4 RTT経過時にCWNDは16に達する。
誤り 5 RTT経過するとCWNDは32に達するため、最小ではない。
誤り ACKを受信するたびに+1されるため、ACKの総数(15個)と混同した数値。
誤り CWNDの目標値そのものであり、RTT数とは一致しない。

【ポイント】

  • スロースタート:ACK受信ごとにCWNDを増やすため、RTT単位で見ると2倍ずつ(指数関数的)に増加する。

  • 輻輳回避フェーズとの違い:スロースタート閾値(ssthresh)到達後は、1 RTTごとに1 MSSしか増えない線形増加に変わる。

  • 計算式:$初期値 \times 2^{RTT数} = 到達ウィンドウサイズ$ を活用する。

ライセンス:本記事のテキスト/コードは特記なき限り CC BY 4.0 です。引用の際は出典URL(本ページ)を明記してください。
利用ポリシー もご参照ください。

コメント

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