ネットワークスペシャリスト 2019年 午前2 問11
問題文
ネットワークの制御に関する記述のうち、適切なものはどれか。
選択肢
ア:TCPでは、ウィンドウサイズが固定で輻輳回避ができないので、輻輳が起きると、データに対してタイムアウト処理が必要になる。
イ:誤り制御方式の一つであるフォワード誤り訂正方式は、受信側で誤りを検出し、送信側にデータの再送を要求する方式である。
ウ:ウィンドウによるフロー制御では、応答確認があったブロック数だけウィンドウをずらすことによって、複数のデータをまとめて送ることができる。(正解)
エ:データグラム方式では、両端を結ぶ仮想の通信路を確立し、以降は全てその経路を通すことによって、経路選択のオーバヘッドを小さくしている。
🔒 解説は解答すると表示されます
ウィンドウ式フロー制御【午前2解説】
正解の理由
選択肢ウは、スライディングウィンドウ(ウィンドウ制御)の動作原理を正しく表しています。ウィンドウ制御では「送信側が送って良い未確認データの上限」をウィンドウサイズで管理し、受信側からの応答(ACK)に応じてウィンドウを前方にずらすことで、複数のデータ(フレームやセグメント)を連続して送信できます。これによりパイプライン送信が可能になり、往復遅延時間(RTT)に対する効率が向上します。
重要な点として、ウィンドウ制御は受信側の処理能力や受信バッファを超えないようにする「フロー制御」であり、ネットワーク輻輳の検出・回避を行う「輻輳制御」とは役割が異なります(後述)。
解法ステップ
- 各選択肢のキーワード(ウィンドウ、フォワード誤り訂正、データグラム、固定ウィンドウなど)から対応する概念を思い出す。
- 「ウィンドウ=スライディングウィンドウ(送信可能数を移動させる)」の定義と照合する。
- フロー制御(受信側バッファ保護)と輻輳制御(ネットワーク混雑対策)の違いを確認し、選択肢の記述がどちらを述べているか判定する。
- 各選択肢が用語の定義・動作と整合するかを検証し、最も正しいものを選ぶ。
選択肢別の誤答解説
ア: 「TCPでは、ウィンドウサイズが固定で輻輳回避ができないので、輻輳が起きると、データに対してタイムアウト処理が必要になる。」
- 誤り。TCPのウィンドウサイズは固定ではありません。TCPは受信ウィンドウ(rwnd)と輻輳ウィンドウ(cwnd)を別々に管理し、輻輳回避アルゴリズム(例:スロースタート、輻輳回避、Fast Recovery)を用いて動的に調整します。タイムアウトは再送のきっかけの一つですが、輻輳制御は主に cwnd の調整で行われます。
イ: 「フォワード誤り訂正方式は、受信側で誤りを検出し、送信側にデータの再送を要求する方式である。」
- 誤り。フォワード誤り訂正(FEC)は送信側が冗長データ(パリティなど)を付加して送り、受信側が追加情報で誤りを訂正する方式です。再送要求を行うのは ARQ(自動再送要求:再送方式)であり、FEC と ARQ は相反・補完の関係にあります。
ウ: 「ウィンドウによるフロー制御では、応答確認があったブロック数だけウィンドウをずらすことによって、複数のデータをまとめて送ることができる。」
- 正しい。これはスライディングウィンドウの基本動作(パイプライン送信)を述べています。ACK によって送信済みのうち確認された分だけウィンドウが進み、新たに送信できる分が増える仕組みです。なお、TCP では cumulative ACK(累積確認)と選択的確認(SACK)の違いがあり、実装により振る舞いが異なります。
エ: 「データグラム方式では、両端を結ぶ仮想の通信路を確立し、以降は全てその経路を通すことによって、経路選択のオーバヘッドを小さくしている。」
- 誤り。これは仮想回線方式(コネクション型、例:X.25、ATM の仮想回線)に該当する記述で、データグラム方式(例:IP)はコネクションレスで各パケットが独立に経路選択されます。従って、エの説明はデータグラム方式とは逆の内容です。
よくある誤解
- フロー制御と輻輳制御を同一視する:フロー制御は受信側の処理・バッファ能力を保護する目的、輻輳制御はネットワーク全体の混雑を検出・緩和する目的であり、異なるメカニズム(例:rwnd と cwnd)が使われます。
- FEC と ARQ を混同する:FEC は送信側が冗長性で訂正できるようにする方式、ARQ は誤りが検出されたら再送を要求する方式です。用途やトレードオフ(帯域 vs 遅延)が異なります。
- データグラム=経路固定という誤解:データグラム方式は経路選択をその都度行うため、経路が動的に変わるのが普通です(逆に仮想回線方式は経路確立後は固定される)。
補足コラム
- スライディングウィンドウの代表例:
- Go-Back-N:受信側は順序どおりの受信しか確認せず、欠番があれば以降を破棄する。送信側はACKで移動できる分だけウィンドウを進める。
- Selective Repeat(選択的再送):受信側は個々のフレームをバッファして順序復元し、欠落分のみ再送要求する。効率は高いが実装が複雑。
- TCP における送信可能量は、受信ウィンドウと輻輳ウィンドウの両方で制限されます。実効ウィンドウは通常 で表されます。rwnd は受信側が報告する受信バッファの空き、cwnd は輻輳制御で決まる送信上限です。
- ACK の種類:累積 ACK(most common)と SACK(Selective ACK)。SACK を使うと選択的再送が効率的になります。
FAQ
Q: スライディングウィンドウはどの層の技術ですか?
A: 主にデータリンク層とトランスポート層のプロトコルで使われます(例:HDLC、PPP、TCP)。
A: 主にデータリンク層とトランスポート層のプロトコルで使われます(例:HDLC、PPP、TCP)。
Q: ウィンドウサイズはバイト単位とフレーム単位のどちらですか?
A: プロトコルによる。TCP はバイト単位でウィンドウを管理し、いくつかのデータリンク層プロトコルはフレーム数で管理することがあります。
A: プロトコルによる。TCP はバイト単位でウィンドウを管理し、いくつかのデータリンク層プロトコルはフレーム数で管理することがあります。
Q: なぜ rwnd と cwnd の両方が必要なのですか?
A: rwnd は受信側の能力保護(フロー制御)、cwnd はネットワーク状況に応じた送信量制御(輻輳制御)を担います。両方を適用することで受信者保護とネットワーク保護の双方が実現されます。
A: rwnd は受信側の能力保護(フロー制御)、cwnd はネットワーク状況に応じた送信量制御(輻輳制御)を担います。両方を適用することで受信者保護とネットワーク保護の双方が実現されます。
関連キーワード: ウィンドウ制御、フロー制御、スライディングウィンドウ、輻輳制御、rwnd、cwnd、FEC、ARQ、データグラム方式、仮想回線方式、累積ACK、SACK、Go-Back-N、Selective Repeat、TCP

\ せっかくなら /
ネットワークスペシャリストを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

