情報処理技術者試験ナビ

当サイトは準備中です。

NW H22秋 午後Ⅰ 問1

◀️ 前へ次へ ▶️

 Webプロキシシステムの改善,設問 1〜3 に答えよ。

 A社では半年前から,2台のプロキシサーバを用いたWebプロキシシステムを利用している。A社のネットワーク構成を,図1に示す。

f:id:honmurapeo:20180506093707p:plain

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

f:id:honmurapeo:20180506093716p:plain

 PC上のブラウザには,アクセスするプロキシ1のIPアドレスを定義する必要がある。A社では,定義用のファイル(以下,proxypacという)のURLをPCに登録している。proxypacはプロキシ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

f:id:honmurapeo:20180506093725p:plain

 HTTP/1.1 において定義されている “永続的接続(Persistent Connections)”を用いると,複数組のリクエストとレスポンスが同一のTCPコネクションの中で実行できる。これによって,通信オーバヘッドが削減される。
 多くのHTTPクライアントはキャッシュをもっており,取得する情報がキャッシュにある場合,その情報の最終更新時刻を付与したGETリクエストを送信する。キャッシュの情報が最新である場合,HTTPサーバは“304NotModified”のレスポンスだけを返す。これによってTATが短縮される。図3のHTTPクライアントがキャッシュをもち,問合せの結果,キャッシュにある情報が最新であると確認できた合,そのTATは,図3で示されているTATに比べて,  キ   だけ短縮される。
 HTTPクライアントは,“先読み機能”を実装している場合もある。先読み機能とは参照中のWebページに含まれるリンク情報を用いて,利用者が次に読み込む可能性のある情報を先読みし,キャッシュに蓄積しておく機能である。

 

原因の究明と対策の実施
 B君は,プロキシ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アドレスを入れ替える作業のほかに,(Ⅰ)三つの変更作業が必要である。そのため,作業計画を作成し,変更作業を行う必要がある。また,この対策案では,プロキシ2のボトルネックは解消しても,(Ⅱ)別のボトルネックが発生する可能性がある
 最終的に,B君は,“対策として,プロキシサーバのアクセス順序を変更したい”と上司に報告した。その際,B君は,Cサイトへのアクセスによって発生するTCPコネクションについて,対策後の状態を図4に示し,この図を用いて対策の効果を説明した。

f:id:honmurapeo:20180506093734p:plain

 その後,B君の報告どおりに変更作業が行われ,問題は発生しなくなった。

 

設問1

 〔通信プロトコルに関する調査〕について,(1)〜(3)に答えよ。

(1)本文中の   ア    ウ   に入れる適切な字句を答えよ。
 

アの解答例・解説
解答例

 対話型データ転送

解説

 XXXXXXXX

イの解答例・解説
解答例

 バルクデータ転送

解説

 XXXXXXXX

ウの解答例・解説
解答例

 ウィンドウサイズ(Window Size)

解説

 XXXXXXXX

 

(2)GET リクエストを図 3 中の ①〜⑦ の中から選べ。
 

解答例・解説
解答例

 ③

解説

 XXXXXXXX

 

(3)本文中の   エ    キ   に入れる適切な時間を,図 3 中の t1 〜 t9 を用いた数式で答えよ。
 

エの解答例・解説
解答例

 t2

解説

 XXXXXXXX

オの解答例・解説
解答例

 t3 + t4 + t5

解説

 XXXXXXXX

カの解答例・解説
解答例

 t6 + t7 + t8

解説

 XXXXXXXX

キの解答例・解説
解答例

 t4 + t5

解説

 XXXXXXXX

 

 

設問2

 〔原因の究明と対策の実施〕について,(1)〜(2)に答えよ。

(1)本文中の下線(I)について,三つの変更作業をそれぞれ 30 字以内で具体的に述べよ。
 

解答例・解説
解答例
  •  プロキシ 1 上のプロキシサーバの定義を削除する。
  •  プロキシ 2 のプロキシサーバとしてプロキシ 1 を定義する。
  •  proxy.pac をプロキシ 1 からプロキシ 2 に移す。
解説

 XXXXXXXX

 

(2)本文中の下線(Ⅱ)について,別のボトルネックを 20 字以内で述べよ。
 

解答例・解説
解答例

 ファイアウォールの処理能力

解説

 XXXXXXXX

 

 

設問3

 図4について,対策後の装置名とTCPコネクションを解答欄に記入せよ。

解答例・解説
解答例

f:id:honmurapeo:20180506093549p:plain

解説

 XXXXXXXX

 

 

IPA講評

出題趣旨

 Web プロキシシステムは,企業や公共機関などで広く利用されている。ネットワークエンジニアが このシステムの運用と保守を担当する例も多い。Web プロキシシステムは,利用者(エンドユーザ) にとって,直接,利便性につながるシステムである。そのため運用と保守を担うネットワークエンジ ニアは,情報システムのオーナとして,利用場面を考慮しながら業務を進める必要がある。
 本問では,稼働中のシステムに生じた問題をネットワークエンジニアが解決する。取り扱う技術は, Web プロキシシステムの応答性能に関する通信プロトコル技術である。利用者視点でのサービスレベ ルを維持・向上するために,ネットワークエンジニアが,ネットワーク技術を生かしながらWeb プロ キシシステムを改善していく過程について問う。

採点講評

 問1 では,稼働中のWeb プロキシシステムに生じた問題を解決する過程を題材に,利用者から見た 応答性能の改善に関連するTCP,HTTP などの通信プロトコルに関して出題した。作成に当たっては, 基本知識とある程度の経験から正答にたどり着けるように心がけた。おおむね予想どおりの正答率と なった。
 設問1 では,TCP,HTTP の基本知識と応答性能向上に関するネットワーク技術への理解を求めて いる。ア~エはよくできていたが,オ~キの正答率が低かった。図3 は単純な通信シーケンス例であり, 読み解く力を養ってほしい。
 設問2(1)では,変更に関するネットワーク環境の全体理解が必要となる。本文を注意深く読めば, 正答を導き出せるはずだが,正答率は低かった。限られた試験時間の中で難易度が上がったのかもし れない。変更が不要な,ファイアウォール,DNS,PC に関する誤った解答が目立った。
 設問2(2)は正答率が低かった。環境変更によって,問題となっていた通信特性がどのように変化す るのかを理解する必要がある。設問3 の作図とともに再度,確認してほしい。
 設問3 では,本文を注意深く読み,その内容を正しく図示する必要がある。おおむねよくできていた。