戦国IT - 情報処理技術者試験の過去問対策サイト
ブログお知らせお問い合わせ料金プラン

情報処理安全確保支援士 2016年 秋期 午前220


問題文

TCPに関する記述のうち、適切なものはどれか。

選択肢

OSI基本参照モデルのネットワーク層の機能である。
ウィンドウ制御の単位はバイトではなくビットである。
確認応答がない場合は再送処理によってデータ回復を行う。(正解)
データの順序番号をもたないのでデータは受信した順番のままで処理する。

🔒 解説は解答すると表示されます

TCPの再送と確認応答【午前2解説】

正解の理由

TCPは信頼性のある伝送を提供するため、受信側からの確認応答(ACK)を基に未確認のデータを再送する仕組みを持ちます。したがって選択肢「確認応答がない場合は再送処理によってデータ回復を行う。」が正しいです。TCPはシーケンス番号、ACK、タイムアウト(RTO)や重複ACK検出(fast retransmit)などを組み合わせて、欠失したセグメントを検出・再送し、上位に正しいデータを渡します。

解法ステップ

  1. 問題のキーワード(TCP)から「トランスポート層」「信頼性」「ウィンドウ制御」「順序番号」などの特徴を思い出す。
  2. 各選択肢がTCPの特徴と整合するかを照合する(OSI階層、単位、再送の有無、順序番号の有無)。
  3. 明らかに矛盾する選択肢(ネットワーク層の機能、単位がビット、順序番号がない)を順に除外する。
  4. 残った選択肢(再送による回復)がTCPの基本的動作と一致することを確認して選ぶ。

選択肢別の誤答解説

  • ア: 「OSI基本参照モデルのネットワーク層の機能である。」
    誤り。TCPはトランスポート層(OSIモデルの第4層)のプロトコルであり、経路選択やIPアドレスを扱うネットワーク層(第3層)のプロトコルではありません。ネットワーク層の代表はIPです。
  • イ: 「ウィンドウ制御の単位はバイトではなくビットである。」
    誤り。TCPのウィンドウ制御はバイト単位で行われます(ウィンドウサイズは受信側が受け入れ可能なバイト数を示す)。ビット単位ではありません。
  • : 「確認応答がない場合は再送処理によってデータ回復を行う。」
    正しい。TCPはACKを受け取れない場合やタイムアウト、重複ACKに基づき該当セグメントを再送してデータの信頼性を確保します。再送はRTOタイマーやfast retransmit/fast recoveryなどの仕組みで制御されます。
  • エ: 「データの順序番号をもたないのでデータは受信した順番のままで処理する。」
    誤り。TCPは各バイトにシーケンス番号を付与し、受信側で正しい順序に再構成してから上位プロセスに渡します。到着順にそのまま処理するわけではありません。

よくある誤解

  • 「TCPは受信した順番のまま処理する」
    誤解です。TCPはシーケンス番号によりデータを再構成し、正しい順序で上位へ渡します。受信順はそのまま反映されません。
  • 「ウィンドウ制御の単位がビットである」
    ウィンドウはバイト単位です。ウィンドウサイズの解釈を間違えるとフロー制御やスループットの理解を誤ります。
  • 「再送は必ずタイムアウトだけで発生する」
    再送はRTO(タイムアウト)だけでなく、重複ACKの検出によるfast retransmitでも行われます。

補足コラム

  • 再送を発生させる代表的条件は「RTOによるタイムアウト」と「重複ACKによる早期再送」です。RTOはRTTの推定と分散を元に計算され、Karnのアルゴリズムや指数バックオフが適用されます。
  • TCPは累積ACK方式が基本ですが、Selective ACK(SACK)拡張により受信側が断片的に受け取ったブロックを通知でき、効率的な再送が可能になります。
  • ウィンドウ制御はフロー制御(受信ウィンドウ)と輻輳制御(Congestion Window, cwnd)を組み合わせて送信量を決定します。実効ウィンドウは min(受信ウィンドウ, cwnd) で表されます。

FAQ

Q1: ACKが来ないと必ず再送されますか?
A1: はい。ただし再送はRTOが発火するか重複ACK検出がある場合に行われます。送信側は適切なタイムアウトや重複ACKの閾値を用いて再送を制御します。
Q2: TCPとUDPの再送の違いは何ですか?
A2: TCPは信頼性を提供するため再送・順序制御・フロー制御を行います。UDPはコネクションレスでこれらを行わず、再送はアプリケーションレベルで実装する必要があります。
Q3: SACKを使うと何が改善されますか?
A3: 欠落した複数のセグメントがある場合でも、受信側が受け取ったブロック情報を送信側に通知できるため、不要な再送を減らし効率が向上します。

関連キーワード: TCP、ウィンドウ制御、シーケンス番号、ACK、再送制御、スライディングウィンドウ、RTO、SACK、トランスポート層、輻輳制御
← 前の問題へこの年度をクイズで解く次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

情報処理安全確保支援士
クイズ形式で学習しませんか?

クイズ画面へ遷移する

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてブログプライバシーポリシー利用規約特商法表記開発者について