ネットワークスペシャリスト 2010年 午後1 問01
Webプロキシシステムの改善に関する次の記述を読んで、設問1〜3に答えよ。
A社では半年前から、2 台のプロキシサーバを用いた Webプロキシシステムを利用している。A社のネットワーク構成を、図1に示す。

プロキシ1はキャッシュと URL フィルタリング用のプロキシサーバ、プロキシ2はウイルスチェック用のプロキシサーバである。PC 上のブラウザはプロキシ1へアクセスし、プロキシ1はプロキシ2へアクセスする。Webプロキシシステムのアクセス順序を、図2に示す。

PC 上のブラウザには、アクセスするプロキシ1のIPアドレスを定義する必要がある。A社では、定義用のファイル(以下、proxy.pac という)の URL を PC に登録している。proxy.pac はプロキシ1に格納されており、その中にプロキシ1のIPアドレスが登録されている。一方、プロキシ1には、アクセスするプロキシ2 のIPアドレスが登録されている。
最近、Webサイトの応答が極めて遅くなったり、止まったりするようになった。この問題は、すべての PC で同時に発生し、数分後には自然に解消した。
この問題について、ネットワークと Webプロキシシステムを担当している B 君が、調査し改善することになった。
ログの解析から、問題が発生しているときには、プロキシ2が受け付けるTCPコネクション数が、設定の上限値まで増加していることが分かった。しかし、プロキシ1が受け付けるTCPコネクション数は上限値の半数以下であった。プロキシ1とプロキシ2の上限値は、ボトルネックとなるプロキシ2のサーバ性能から設計した値で、同一である。これらの事実から、プロキシ2の過負荷が応答性能に影響を与えていることは判明したものの、その原因は分からなかった。
〔通信プロトコルに関する調査〕
B 君は、Webサイトの応答性能に関係する通信プロトコルを調査した。
HTTP クライアントと HTTP サーバ間の通信では、大量のデータを一方向に転送するバルクデータ転送と、比較的少量のデータを交互に転送する対話型データ転送とが混在している。このうち、ア の応答性能は、ラウンドトリップ時間の影響を受ける。ラウンドトリップ時間とは、TCP コネクションにおけるパケットの往復時間である。一方、イ の応答性能は、ラウンドトリップ時間のほかに、ボトルネックとなる中継路の帯域幅と、確認応答を待たずに送信できるデータ量である ウ によっても変化する。ラウンドトリップ時間が同じでも帯域幅を広げれば、応答性能は向上し続けると思われがちであるが、TCP の通信プロトコル上、実効転送速度は、“ ウ ÷ ラウンドトリップ時間” に抑えられる。
HTTP/1.0 が公開されたころの HTTP の実装では、1 組のリクエストとレスポンスごとに、TCP コネクションの確立と切断が行われていた。図3に、HTTP クライアントが GET リクエストを用いて、HTTP サーバから Webページの情報を取得する際の通信シーケンス例を示す。
図3において、利用者から見た HTTP サーバの応答時間(以下、TAT という)は、t1~t9 の総和となる。HTTP クライアントの処理に着目すると、TAT は次の三つに分割できる。
・TCP コネクションの確立完了までの時間:t1 + エ
・TCP コネクションの確立完了から、ダウンロードの完了までの時間:オ
・ダウンロードの完了から、TCP コネクションの切断と情報の表示がともに完了するまでの時間:カ + t9

HTTP/1.1において定義されている“永続的接続(Persistent Connections)”を用いると、複数組のリクエストとレスポンスが同一のTCPコネクションの中で実行できる。これによって、通信オーバヘッドが削減される。
多くのHTTPクライアントはキャッシュをもっており、取得する情報がキャッシュにある場合、その情報の最終更新時刻を付与したGETリクエストを送信する。キャッシュの情報が最新である場合、HTTPサーバは“304 Not Modified”のレスポンスだけを返す。これによってTATが短縮される。図3のHTTPクライアントがキャッシュをもつ、問合せの結果、キャッシュにある情報が最新であると確認できた場合、そのTATは、図3で示されているTATと比べて、キだけ短縮される。
HTTPクライアントは、“先読み機能”を実装している場合もある。先読み機能とは、参照中のWebページに含まれるリンク情報を用いて、利用者が次に読み込む可能性のある情報を先読みし、キャッシュに蓄積しておく機能である。
〔原因の発明と対策の実施〕
C君は、プロキシ2に関する通信データを調査した。その結果、特定のWebサイト(以下、Cサイトという)にアクセスするとき、プロキシ1からプロキシ2へのTCPコネクション確立要求が大量に発生することが分かった。プロキシ2とCサイト間のTCPコネクションは一つだけで、HTTP/1.1の永続的接続が使われていた。
B君は、プロキシ1の仕様を再確認した。プロキシ1では先読み機能が実装されていなかった。また、設定によってこの機能を無効化することができたが、A社では無効の設定を行っていなかった。B君は、PC上のブラウザやプロキシ2の仕様も再確認した。これらに先読み機能は実装されていなかった。B君は、次のように考えた。
Cサイトは、ほかのWebサイトへのリンク情報が多いので、プロキシ1の先読み機能が大量のTCPコネクションを発生させたと考えられる。プロキシ1の先読み機能を無効にすれば、問題は防止できそうである。無効にする作業は容易である。しかし、先読み効果がなくなるので、通常時の応答性能が悪化する可能性も否定できない。先読み機能を有効にしたまま、プロキシサーバのアクセス順序を変更する対策も有望である。しかし、複数の作業を同時に行わなければならない。例えば、プロキシサーバのIPアドレスを入れ替え、PC側の設定を変えない場合、プロキシサーバのIPアドレスを入れ替える作業のほかに、(I)三つの変更作業が必要である。そのため、作業計画を作成し、変更作業を行う必要がある。また、この対策策では、プロキシ2のボトルネックは解消しても、(II)別のボトルネックが発生する可能性がある。
最終的に、B君は、“対策として、プロキシサーバのアクセス順序を変更したい”と上司に報告した。その際、B君は、Cサイトへのアクセスによって発生するTCPコネクションについて、対策後の状態を図4に示し、この図を用いて対策の効果を説明した。

その後、B君の報告どおりに変更作業が行われ、問題は発生しなくなった。
設問1:〔通信プロトコルに関する調査〕について、(1)〜(3)に答えよ。
(1)本文中の ア 〜 ウ に入れる適切な字句を答えよ。
模範解答
ア:対話型データ転送
イ:バルクデータ転送
ウ:ウィンドウサイズ(Window Size)
解説
解答の論理構成
-
問題文の該当箇所を確認
【問題文引用】
「HTTP クライアントと HTTP サーバ間の通信では、大量のデータを一方向に転送するバルクデータ転送と、比較的少量のデータを交互に転送する対話型データ転送とが混在している。このうち、ア の応答性能は、ラウンドトリップ時間の影響を受ける。」
─ 少量データを“交互”にやり取りする場合、往復遅延が直接効くため ア=「対話型データ転送」 が妥当です。 -
バルク転送側の説明を確認
【問題文引用】
「一方、イ の応答性能は、ラウンドトリップ時間のほかに、ボトルネックとなる中継路の帯域幅と、確認応答を待たずに送信できるデータ量である ウ によっても変化する。」
─ 「大量のデータを一方向に転送する」特徴と帯域幅・ウインドウサイズが効く特性は バルクデータ転送 なので イ=「バルクデータ転送」 となります。 -
ウインドウサイズの位置づけ
【問題文引用】
「確認応答を待たずに送信できるデータ量である ウ によっても変化する。」
─ TCP で “ACK を待たずに送れる量” は ウィンドウサイズ(Window Size) そのものです。したがって ウ=「ウィンドウサイズ(Window Size)」 です。 -
まとめ
- ア:対話型データ転送
- イ:バルクデータ転送
- ウ:ウィンドウサイズ(Window Size)
誤りやすいポイント
- 「ラウンドトリップ時間=RTT」だけで決まるのはどちらか
⇒ 大量転送と勘違いしがちですが、少量を行き来させる対話型が RTT の影響をもろに受けます。 - ウインドウサイズを“パケットサイズ”や“MTU”と混同
⇒ MTU は 1 パケットの最大長、Window Size は未確認データ全体の上限です。 - バルク転送=ダウンロードの実効速度は帯域幅だけと考える
⇒ RTT と Window Size の比 が理論上限である点を見落としやすいです。
FAQ
Q: バルクデータ転送の代表例は何ですか?
A: FTP の大容量ファイル転送や OS の更新モジュールの一括ダウンロードなど、長時間にわたり一方向へ大量データを流し続ける通信が該当します。
A: FTP の大容量ファイル転送や OS の更新モジュールの一括ダウンロードなど、長時間にわたり一方向へ大量データを流し続ける通信が該当します。
Q: Window Size を上げれば必ず転送速度は向上しますか?
A: RTT が大きい経路では効果的ですが、受信側バッファや中継装置の制約が先に飽和すると速度向上は頭打ちになります。
A: RTT が大きい経路では効果的ですが、受信側バッファや中継装置の制約が先に飽和すると速度向上は頭打ちになります。
Q: RTT が小さい近距離ネットワークでの対話型通信の改善策は?
A: RTT が既に小さい場合は HTTP/2 の多重化や圧縮、TLS セッション再利用などプロトコルレイヤで往復回数自体を減らす方が効果的です。
A: RTT が既に小さい場合は HTTP/2 の多重化や圧縮、TLS セッション再利用などプロトコルレイヤで往復回数自体を減らす方が効果的です。
関連キーワード: ラウンドトリップ時間, TCP, ウィンドウサイズ, バルクデータ転送, 対話型データ転送
設問1:〔通信プロトコルに関する調査〕について、(1)〜(3)に答えよ。
(2)GET リクエストを図3中の①〜⑦の中から選べ。
模範解答
a:③
解説
解答の論理構成
- 問題文は「GET リクエストを図3中の①〜⑦の中から選べ」と指示しています。
- 図3の説明に「t4 付近 クライアント→サーバ (ラベル無し:HTTPリクエスト)」とあります。ここが GET リクエストそのものです。
- 同じく図3には「丸数字(HTTPクライアントの送信データを示す)」と記載され、t4 の位置に対応する丸数字が「③」です。
- したがって、GET リクエストは「③」と結論できます。
引用根拠
・「t4 付近 クライアント→サーバ (ラベル無し:HTTPリクエスト)」
・「丸数字(HTTPクライアントの送信データを示す) … t4 の位置:③」
・「t4 付近 クライアント→サーバ (ラベル無し:HTTPリクエスト)」
・「丸数字(HTTPクライアントの送信データを示す) … t4 の位置:③」
以上より、解答は【③】です。
誤りやすいポイント
- ①や②を選んでしまう
「SYN」や「ACK」は TCP 三者ハンドシェイクの制御パケットであって HTTP レベルの GET ではありません。 - ⑤を選んでしまう
⑤はサーバからクライアントへ返るレスポンスデータ側であり、方向が逆です。 - 「HTTP/1.1 の永続的接続」を思い出し、複数リクエストと混同する
永続的接続でも最初の GET は必須ですが、本設問は単一通信例なのでシンプルに判定できます。
FAQ
Q: TCP 三者ハンドシェイクと GET リクエストはどう見分ければよいですか?
A: 「SYN」「ACK」など三文字の制御フラグは TCP、その後に URL を含むパケットが HTTP であり GET です。図3では t4 の矢印が該当します。
A: 「SYN」「ACK」など三文字の制御フラグは TCP、その後に URL を含むパケットが HTTP であり GET です。図3では t4 の矢印が該当します。
Q: 永続的接続を使う場合、GET は図3と同じ位置にありますか?
A: 最初のコネクション確立後に最初の GET が来る点は同じです。追加の GET は同じコネクション上で続けて送られるため、そのときは三者ハンドシェイクは再発生しません。
A: 最初のコネクション確立後に最初の GET が来る点は同じです。追加の GET は同じコネクション上で続けて送られるため、そのときは三者ハンドシェイクは再発生しません。
Q: 図3の③が GET であることを覚えやすくするコツは?
A: 「3 枚目で GET」と語呂合わせすると、①②がハンドシェイク、③でアプリ層という流れを整理できます。
A: 「3 枚目で GET」と語呂合わせすると、①②がハンドシェイク、③でアプリ層という流れを整理できます。
関連キーワード: TCP三者ハンドシェイク, GETリクエスト, HTTPレスポンス, 永続的接続, キャッシュ制御
設問1:〔通信プロトコルに関する調査〕について、(1)〜(3)に答えよ。
(3)本文中の エ 〜 キ に入れる適切な時間を、図3中の t1 〜 t9 を用いた数式で答えよ。
模範解答
エ:t2
オ:t3 + t4 + t5
カ:t6 + t7 + t8
キ:t4 + t5
解説
解答の論理構成
- まず本文は「図3 において、利用者から見た HTTP サーバの応答時間(以下、TAT という)は、t1~t9 の総和となる」と定義しています。
- 次に TAT を 3 区間に分割し、それぞれの区間を “t*” で表すよう空欄を設けています。
① [エ] の導出
- 3ウェイハンドシェイク完了までの時間として「TCP コネクションの確立完了までの時間:t1 + エ」と記載。
- 図3では SYN 送信が t1、SYN, ACK 受信が t2、ACK 送信が t3 です。
- 確立完了はクライアントが ACK を送り終えた時点なので、t1 と t2 が経過すれば完了します。
⇒ [エ] = t2
② [オ] の導出
- 「TCP コネクションの確立完了から、ダウンロードの完了までの時間:オ」と記載。
- 確立完了は t3 終了直後、ダウンロード完了はレスポンス受信終了 t5 です。間にある処理は t3(ACK 送信)、t4(HTTP リクエスト送信)、t5(HTTP レスポンス受信)。
⇒ [オ] = t3 + t4 + t5
③ [カ] の導出
- 「ダウンロードの完了から、TCP コネクションの切断と情報の表示がともに完了するまでの時間:カ + t9」。
- ダウンロード完了後に行われるクライアントからの FIN 送信が t6、サーバからの ACK が t7、サーバからの FIN が t8。
⇒ [カ] = t6 + t7 + t8
④ [キ] の導出
- キャッシュが最新で “304 Not Modified” が返るケースで「図3で示されているTATと比べて、キだけ短縮される」と記載。
- この場合、本文は「“304 Not Modified” のレスポンスだけを返す」と説明しており、実データ転送に相当する t4(大きなリクエストボディ送信)と t5(Web ページ全体のレスポンス受信)が不要になります。
⇒ [キ] = t4 + t5
誤りやすいポイント
- t3 をハンドシェイク時間に含めるか否かで迷いがちな受験者が多いですが、問題文は「確立完了まで:t1 + [エ]」と示しており、すでに t1 を含めているため残るのは t2 のみです。
- 「304 Not Modified」の短縮量を t5 だけと誤解しがちですが、リクエスト送信に伴う大容量ボディ(t4)が無くなる点も見落とさないようにしましょう。
- 切断処理では t9 が別に加算されるため、[カ] の式に t9 を含めてはいけません。
FAQ
Q: t3 はハンドシェイク完了後ではないのですか?
A: クライアントが ACK を送り出した瞬間(t3 終了時点)で確立が完了します。したがって「確立完了まで」に含まれるのは t1 と t2 です。
A: クライアントが ACK を送り出した瞬間(t3 終了時点)で確立が完了します。したがって「確立完了まで」に含まれるのは t1 と t2 です。
Q: “304 Not Modified” でもリクエストヘッダは送りますが、t4 を丸ごと削れるのですか?
A: 図3の t4 は本文中で「HTTP リクエスト」とだけ示され、データサイズが大きい典型例として描かれています。キャッシュ検証用の If-Modified-Since などはヘッダだけなので、通信量・経過時間ともに無視できる扱いと解釈して t4 を短縮分に含めます。
A: 図3の t4 は本文中で「HTTP リクエスト」とだけ示され、データサイズが大きい典型例として描かれています。キャッシュ検証用の If-Modified-Since などはヘッダだけなので、通信量・経過時間ともに無視できる扱いと解釈して t4 を短縮分に含めます。
Q: 永続接続(Persistent Connections)を用いる場合、上記区分はどう変わりますか?
A: 永続接続ではハンドシェイク・切断を繰り返さないため、t1~t3 と t6~t9 を多数のリクエスト間で共有できます。したがって初回を除く後続リクエストでは [エ]、[カ] が 0 に近づき、TAT が大幅に短縮されます。
A: 永続接続ではハンドシェイク・切断を繰り返さないため、t1~t3 と t6~t9 を多数のリクエスト間で共有できます。したがって初回を除く後続リクエストでは [エ]、[カ] が 0 に近づき、TAT が大幅に短縮されます。
関連キーワード: TCP三ウェイハンドシェイク, HTTPリクエスト, 304NotModified, 永続接続, キャッシュ制御
設問2:〔原因の究明と対策の実施〕について、(1)、(2)に答えよ。
(1)本文中の下線(Ⅰ)について、三つの変更作業をそれぞれ 30 字以内で具体的に述べよ。
模範解答
①:プロキシ1上のプロキシサーバの定義を削除する。
②:プロキシ2のプロキシサーバとしてプロキシ1を定義する。
③:proxy.pac をプロキシ1からプロキシ2に移す。
解説
解答の論理構成
-
課題の背景
- 既存構成は【問題文】の「図2」で示されるとおり「PC(ブラウザ) → プロキシ1 → プロキシ2 → Webサイト」で、PC 側は「proxy.pac はプロキシ1に格納」され、さらに「プロキシ1には、アクセスするプロキシ2 の IP アドレスが登録」されています。
- アクセス順序を逆転させるには、プロキシ2を最上流に、プロキシ1を下流に置き換える必要があります。
-
IP アドレス入れ替え後に残る三つの設定課題
- 【問題文】には「プロキシサーバのIPアドレスを入れ替え、PC側の設定を変えない場合、プロキシサーバのIPアドレスを入れ替える作業のほかに、(I)三つの変更作業が必要」とあります。
- PC から見た “proxy1 のIPアドレス” は変わらないため、プロキシ2(ウイルスチェック用)がその IP になる ⇒ プロキシ2 に下流サーバ(旧プロキシ1)を設定する必要が生じます。
- 旧プロキシ1(キャッシュ/URL フィルタリング用)は上流サーバ設定を保持しているとループを生むため、削除が必要です。
- 「proxy.pac はプロキシ1に格納」とあるため、IP 入れ替え後もブラウザが同じ URL で取得できるよう、proxy.pac を新しい “proxy1 IP” 側(= プロキシ2)へ移設しなければなりません。
-
以上から導かれる三つの変更作業
① 旧プロキシ1の上流プロキシ設定を削除する(ループ防止)。
② プロキシ2に下流プロキシとして旧プロキシ1を登録する(新経路を形成)。
③ proxy.pac を旧プロキシ1からプロキシ2へ移し、PC が同じ URL で取得できるようにする。 -
模範解答との一致
- 模範解答の
「①:プロキシ1上のプロキシサーバの定義を削除する。」
「②:プロキシ2のプロキシサーバとしてプロキシ1を定義する。」
「③:proxy.pac をプロキシ1からプロキシ2に移す。」
は、上記 ①〜③ と完全に対応しており、要件を満たします。
- 模範解答の
誤りやすいポイント
- 「proxy.pac の URL は PC 側に静的に登録されている」点を見落とし、ファイル移設を忘れる。
- 旧プロキシ1の上流設定を残したままにしてしまい、プロキシ間で無限ループが発生する。
- 「プロキシサーバの IP アドレスを入れ替える」だけで経路が完成すると誤解し、プロキシ2に下流設定を入れ忘れる。
FAQ
Q: proxy.pac をコピーではなくリンクで参照してもよいですか?
A: 物理ファイルの所在をプロキシ2 にする方が確実です。リンク設定は Web サーバ動作や権限の追加作業が増えるため、試験解答としては「移す」と記述するのが安全です。
A: 物理ファイルの所在をプロキシ2 にする方が確実です。リンク設定は Web サーバ動作や権限の追加作業が増えるため、試験解答としては「移す」と記述するのが安全です。
Q: 旧プロキシ1の上流設定をコメントアウトするだけでも良いですか?
A: 動作上は問題ありませんが、試験では「削除する」と明確に示す方が意図が伝わりやすいです。
A: 動作上は問題ありませんが、試験では「削除する」と明確に示す方が意図が伝わりやすいです。
Q: ブラウザ設定を proxy.pac 方式から直接 IP 指定方式に変える案は?
A: PC 全台の設定変更が必要になり作業規模が大きくなるため、設問の前提である「PC側の設定を変えない」に反します。
A: PC 全台の設定変更が必要になり作業規模が大きくなるため、設問の前提である「PC側の設定を変えない」に反します。
関連キーワード: HTTP/1.1, 永続的接続, TCPコネクション, Webキャッシュ
設問2:〔原因の究明と対策の実施〕について、(1)、(2)に答えよ。
(2)本文中の下線(Ⅱ)について、別のボトルネックを20字以内で述べよ。
模範解答
ファイアウォールの処理能力
解説
解答の論理構成
-
原因調査で判明した事実
- 「プロキシ2が受け付ける TCP コネクション数が、設定の上限値まで増加」したため過負荷が発生していました。
- 過負荷の主因は「プロキシ1の先読み機能が大量のTCPコネクションを発生させた」と考えられています。
-
提案された対策
- B君は「対策として、プロキシサーバのアクセス順序を変更したい」と報告し、変更後の接続イメージを「図4」に示しました。
- 変更後は PC → プロキシ2 → プロキシ1 → インターネットという流れになり、先読みで生成される大量の TCP コネクションはプロキシ1と外部 Web サイト間で直接張られます。
-
下線部(II)の主旨
- 本文には「プロキシ2のボトルネックは解消しても、(II)別のボトルネックが発生する可能性がある」とあります。
- アクセス順序変更により、プロキシ1から外部への同時接続数が増大し、その手前でパケットを中継・検査する装置が新たな負荷ポイントになります。
-
具体的にどこがボトルネックになり得るか
- 変更後の経路では、全ての外向き通信が「ファイアウォール」を経由します。
- プロキシ1の先読みで発生する多数の TCP コネクションも全てファイアウォールを通過するため、
「ファイアウォールの同時接続処理やパケットフィルタリング動作」が性能限界に近付き、新たなボトルネック候補となります。
-
以上より、下線部(II)の解答は
ファイアウォールの処理能力となります。
誤りやすいポイント
- 変更後は「プロキシ1の性能」や「インターネット回線帯域」が真っ先に問題になると誤解しやすいですが、接続数そのものを直に捌くのはファイアウォールです。
- 「プロキシ2が外部向けに開かなくなるので負荷は下がる」と短絡的に考え、ネットワーク全体の流量分布を見落とすミスが多発します。
- 図4の矢印を PC から外部サイトへの直接通信と読み違え、ファイアウォールを経由しないと誤読するケースがあります。
FAQ
Q: プロキシ1が外部サイトへ直接接続しても、キャッシュヒット率が高ければファイアウォール負荷は増えないのでは?
A: 先読みは「まだ閲覧していないページ」を取得するため、キャッシュヒット前に必ず TCP コネクションを張ります。結果としてファイアウォールの同時接続数が増大します。
A: 先読みは「まだ閲覧していないページ」を取得するため、キャッシュヒット前に必ず TCP コネクションを張ります。結果としてファイアウォールの同時接続数が増大します。
Q: ファイアウォールの性能を上げればアクセス順序変更だけで完璧に解決できますか?
A: ファイアウォール増強で別のボトルネックは抑えられますが、回線帯域やプロキシ1自身の同時接続制限など他要素も平行して確認すべきです。
A: ファイアウォール増強で別のボトルネックは抑えられますが、回線帯域やプロキシ1自身の同時接続制限など他要素も平行して確認すべきです。
Q: 先読み機能を無効化せず残した理由は何ですか?
A: 無効化すると通常時の応答性能(ユーザ体感速度)が低下する懸念があるためです。アクセス順序変更で「先読みのメリットを保持しつつ、プロキシ2の過負荷を回避する」ことを狙いました。
A: 無効化すると通常時の応答性能(ユーザ体感速度)が低下する懸念があるためです。アクセス順序変更で「先読みのメリットを保持しつつ、プロキシ2の過負荷を回避する」ことを狙いました。
関連キーワード: TCPコネクション, ボトルネック, ファイアウォール, プロキシサーバ, 帯域幅
設問3:
図4について、対策後の装置名と TCP コネクションを解答欄に記入せよ。
模範解答
下図の通り


解説
解答の論理構成
-
現状のアクセス順序は【問題文】「PC 上のブラウザはプロキシ1へアクセスし、プロキシ1はプロキシ2へアクセスする」で示すように
PC(ブラウザ) → プロキシ1 → プロキシ2 → Webサイト
です。この構成だと、先読み機能をもつ「プロキシ1」が大量の TCP コネクションを下流の「プロキシ2」に投げるため、【問題文】「プロキシ2が受け付ける TCP コネクション数が、設定の上限値まで増加」し、ボトルネックになります。 -
対策方針として B 君は【問題文】「対策として、プロキシサーバのアクセス順序を変更したい」と報告しています。先読みを行うサーバを“より出口側”に置き、先読みで発生するコネクションをプロキシ2に流さないようにするのが狙いです。
-
したがって、対策後の装置配置は
PC(ブラウザ) → プロキシ2 → プロキシ1 → ファイアウォール → Cサイト
となります。先読みで作られるコネクションは「プロキシ1」が直接「ファイアウォール」に張るため、プロキシ2を通りません。 -
図4の凡例より
・「⇔ CサイトアクセスによるTCPコネクション」は PC⇔プロキシ2⇔プロキシ1⇔ファイアウォール⇔Cサイト
・「←→ 先読みによるTCPコネクション」は プロキシ1←→ファイアウォール(およびファイアウォール←→ほかのWebサイト)
であることが分かります。 -
以上より、解答欄には
(装置名) 「PC(ブラウザ)」「プロキシ2」「プロキシ1」「ファイアウォール」「Cサイト」
(太い矢印) PC ⇔ プロキシ2 ⇔ プロキシ1 ⇔ ファイアウォール ⇔ Cサイト
(細い矢印) プロキシ1 ←→ ファイアウォール(複数)
を記入するのが正答となります。
誤りやすいポイント
- 「プロキシ1」と「プロキシ2」の位置を入れ替えるだけで満足し、先読みコネクションの終端を誤って「プロキシ2」に書いてしまう。
- 図2の元構成をそのまま写してしまい、対策後の順序を反映しない。
- 「Cサイト」への太い矢印と先読みの細い矢印を混同し、両方とも太線で描いてしまう。
- 「ファイアウォール」を忘れる、または順序を間違えて「プロキシ1」と「Cサイト」の間に描かない。
FAQ
Q: 先読み機能を無効にするだけでは駄目だったのですか?
A: 【問題文】「先読み効果がなくなるので、通常時の応答性能が悪化する可能性も否定できない」とあるように、性能低下リスクがあったため無効化は避けました。
A: 【問題文】「先読み効果がなくなるので、通常時の応答性能が悪化する可能性も否定できない」とあるように、性能低下リスクがあったため無効化は避けました。
Q: 対策後にプロキシ1がボトルネックにならないのですか?
A: 【問題文】「(II)別のボトルネックが発生する可能性がある」と注意していますが、プロキシ1はプロキシ2より高い上限値で設計されているため、現状のトラフィックでは許容範囲と判断されました。
A: 【問題文】「(II)別のボトルネックが発生する可能性がある」と注意していますが、プロキシ1はプロキシ2より高い上限値で設計されているため、現状のトラフィックでは許容範囲と判断されました。
Q: 太い矢印と細い矢印は何を区別しているのですか?
A: 図4の凡例にあるとおり、「⇔」が利用者による Cサイト閲覧時の本来の TCP コネクション、「←→」がプロキシ1の先読み機能で動的に張られるコネクションを示しています。
A: 図4の凡例にあるとおり、「⇔」が利用者による Cサイト閲覧時の本来の TCP コネクション、「←→」がプロキシ1の先読み機能で動的に張られるコネクションを示しています。
関連キーワード: HTTP/1.1, 永続的接続, 先読み機能, TCPコネクション数制限, ラウンドトリップ時間


