NWネットワークスペシャリスト試験 午後Ⅰ

令和5年度春期 ネットワークスペシャリスト 午後Ⅰ 問1

事例を読んで設問の答えを考えてから、解説のポイントとIPA公式の解答例・採点講評で確認しましょう。

問題

問1 Webシステムの更改に関する次の記述を読んで,設問に答えよ。 G社は,一般消費者向け商品を取り扱う流通業者である。インターネットを介して消費者へ商品を販売するECサイトを運営している。G社のECサイトは,G社データセンターにWebシステムとして構築されているが,システム利用者の増加に伴って負荷が高くなってきていることや,機器の老朽化などによって,Webシステムの更改をすることになった。 〔現行のシステム構成〕 G社のシステム構成を図1に示す。 図1 G社のシステム構成(抜粋) ・WebシステムはDMZに置かれたWebサーバ,DNSサーバ及びサーバセグメントに置かれたAPサーバから構成される。 ・ECサイトのコンテンツは,あらかじめ用意された静的コンテンツと,利用者からの要求を受けてアプリケーションプログラムで生成する動的コンテンツがある。 ・WebサーバではHTTPサーバが稼働しており,静的コンテンツはWebサーバから直接配信される。一方,APサーバの動的コンテンツは,Webサーバで中継して配信される。この中継処理の仕組みを【a】プロキシと呼ぶ。 ・DMZのDNSサーバは,G社のサービス公開用ドメインに対する【b】DNSサーバであると同時に,サーバセグメントのサーバがインターネットにアクセスするときの名前解決要求に応答する【c】DNSサーバである。 〔G社Webシステム構成見直しの方針と実施内容〕 G社は,Webシステムの更改に伴うシステム構成の変更について次の方針を立て,担当者として情報システム部のHさんを任命した。 ・Webシステムの一部のサーバをJ社が提供するクラウドサービスに移行する。 ・通信の効率化のため,一部にHTTP/2プロトコルを導入する。 Hさんは,システム構成変更の内容を次のように考えた。 ・DMZのWebサーバで行っていた処理をJ社クラウドサービス上の仮想サーバで行うよう構成を変更する。また,この仮想サーバは複数台で負荷分散構成にする。 ・重要なデータが格納されているAPサーバは,現構成のままG社データセンターに残す。 ・J社の負荷分散サービス(以下,仮想LBという)を導入する。仮想LBは,HTTPリクエストに対する負荷分散機能をもち,HTTP/1.1プロトコルとHTTP/2プロトコルに対応している。 ・Webブラウザからのリクエストを受信した仮想LBは,リクエストのURLに応じてAPサーバ又はWebサーバに振り分ける。 ・Webブラウザと仮想LBとの間の通信をHTTP/2とし,仮想LBとAPサーバ及びWebサーバとの間の通信をHTTP/1.1とする。 Hさんが考えたWebブラウザからサーバへのリクエストを図2に示す。 図2 Webブラウザからサーバへのリクエスト Hさんは,次にHTTP/2プロトコルについて調査を行った。 〔HTTP/2の概要と特徴〕 HTTP/2は,HTTP/1.1との互換性を保ちながら主に通信の効率化を目的とした拡張が行われている。Hさんが注目したHTTP/2の主な特徴を次に示す。 ・通信の多重化:HTTP/1.1には,同一のTCPコネクション内で通信を多重化する方式としてHTTPパイプラインがあるが,HTTP/2では,TCPコネクション内で複数のリクエストとレスポンスのやり取りを【d】と呼ばれる仮想的な通信路で多重化している。①HTTPパイプラインは,複数のリクエストが送られた場合にサーバが返すべきレスポンスの順序に制約があるが,HTTP/2ではその制約がない。 ・ヘッダー圧縮:HPACKと呼ばれるアルゴリズムによって,HTTPヘッダー情報がバイナリフォーマットに圧縮されている。ヘッダーフィールドには,【e】,:scheme,:pathといった必須フィールドがある。 ・フロー制御:【d】ごとのフロー制御によって,一つの【d】がリソースを占有してしまうことを防止する。 ・互換性:HTTP/2は,HTTP/1.1と互換性が保たれるように設計されている。一般的にHTTP/2は,HTTP/1.1と同じく“https://”のURIスキームが用いられる。そのため,通信開始処理において【f】プロトコルの拡張の一つである②ALPN(Application-Layer Protocol Negotiation)を利用する。 〔HTTP/2における通信開始処理〕 HTTP/2では,通信方法として,h2という識別子で示される方式が定義されている。その方式の特徴を次に示す。 ・TLSを用いた暗号化コネクション上でHTTP/2通信を行う方式である。 ・TLSのバージョンとして1.2以上が必要である。 ・HTTP/2の通信を開始するときに,ALPNを用いて③クライアントとサーバとの間でネゴシエーションを行う。 Hさんが理解したh2の通信シーケンスを図3に示す。 図3 h2の通信シーケンス(抜粋) このシーケンスによって,上位プロトコルがHTTP/2であることが決定される。 〔新Webシステム構成〕 Hさんは新たなWebシステムの構成を考えた。Hさんが考えた新Webシステム構成を図4に示す。 図4 新Webシステム構成(抜粋) 図4の新Webシステム構成に関するHさんの考えを次に示す。 ・J社クラウドのVPCサービスを用いて,G社用VPCを確保する。G社用VPCセグメントではIPアドレスとして,172.21.10.0/24を用いる。 ・G社用VPCセグメントの仮想ルータとG社データセンターのL3SWとの間を,J社が提供する専用線接続サービスを利用して接続する。専用線接続のIPアドレスとして,172.21.11.0/24を用い,L3SWのIPアドレスを172.21.11.1とし,仮想ルータのIPアドレスを172.21.11.2とする。 ・G社データセンターとJ社クラウドとの間で通信できるように,L3SW及び仮想ルータに表1の静的経路を設定する。 表1 静的経路設定 ・G社用VPCセグメント中に,仮想サーバを複数起動し,Webサーバとする。 ・G社用VPCセグメントのWebサーバは静的コンテンツを配信する。 ・G社データセンターのサーバセグメントのAPサーバは動的コンテンツを配信する。 ・Webサーバ及びAPサーバは,これまでと同様にG社データセンターのDMZのDNSサーバを利用して名前解決を行う。 Hさんは,J社クラウドの仮想LBの仕様について調べたところ,表2に示す動作モードがあることが分かった。 表2 仮想LBの動作モード ④Hさんは,今回のシステム構成の変更内容を考慮して仮想LBで設定すべき動作モードを決めた。 Hさんは,ここまでの検討内容を情報システム部長へ報告し,承認を得た。 設問1 本文中及び図3中の【a】~【f】に入れる適切な字句を答えよ。 設問2 〔HTTP/2の概要と特徴〕について答えよ。 (1) 本文中の下線①について,複数のリクエストを受けたサーバは,それぞれのリクエストに対するレスポンスをどのような順序で返さなければならないか。35字以内で答えよ。 (2) 本文中の下線②について,ALPNを必要とする目的は何か。30字以内で答えよ。 設問3 〔HTTP/2における通信開始処理〕について答えよ。 (1) 本文中の下線③について,h2のネゴシエーションが含まれるシーケンス部分を,図3中の(a)~(i)の記号で全て答えよ。 (2) 本文中の下線③について,ネゴシエーションでクライアントから送られる情報は何か。35字以内で答えよ。 設問4 〔新Webシステム構成〕について答えよ。 (1) 表1中の【ア】~【ウ】に入れる適切なIPアドレスを答えよ。 (2) 本文中の下線④について,Hさんが決めた動作モードを答えよ。また,その理由を“HTTP/2”という字句を用いて35字以内で答えよ。
図1 G社のシステム構成(抜粋)。インターネットからFW、L3SWを経由し、DMZのWebサーバとDNSサーバ、サーバセグメントのAPサーバへ接続する構成図。
図1 G社のシステム構成(抜粋)。インターネットからFW、L3SWを経由し、DMZのWebサーバとDNSサーバ、サーバセグメントのAPサーバへ接続する構成図。
図2 Webブラウザからサーバへのリクエスト。変更前後で、WebブラウザからWebサーバ又は仮想LBを経由してWebサーバとAPサーバへ至る通信経路を示す図。
図2 Webブラウザからサーバへのリクエスト。変更前後で、WebブラウザからWebサーバ又は仮想LBを経由してWebサーバとAPサーバへ至る通信経路を示す図。
図3 h2の通信シーケンス(抜粋)。クライアントとサーバ間のTCPハンドシェイク、TLSセッション開始、HTTP/2のストリーム通信を示すシーケンス図。
図3 h2の通信シーケンス(抜粋)。クライアントとサーバ間のTCPハンドシェイク、TLSセッション開始、HTTP/2のストリーム通信を示すシーケンス図。
図4 新Webシステム構成(抜粋)。J社クラウドのVPC内に仮想LBと複数のWebサーバを配置し、専用線でG社データセンターのAPサーバと接続する構成図。
図4 新Webシステム構成(抜粋)。J社クラウドのVPC内に仮想LBと複数のWebサーバを配置し、専用線でG社データセンターのAPサーバと接続する構成図。
表1 静的経路設定。L3SWと仮想ルータについて、宛先ネットワークとネクストホップを設定する表。
表1 静的経路設定。L3SWと仮想ルータについて、宛先ネットワークとネクストホップを設定する表。
表2 仮想LBの動作モード。仮想LBのアプリケーションモードとネットワークモード、それぞれの動作レイヤーを示す表。
表2 仮想LBの動作モード。仮想LBのアプリケーションモードとネットワークモード、それぞれの動作レイヤーを示す表。
解き方のヒントを見る

検討対象の範囲をそろえて考える

Webシステムの更改を考える際は、まず検討対象の範囲に注目しましょう。通信や接続、構成について考えるときも、どこからどこまでを一つの対象として扱っているかを整理し、途中で範囲を変えないことが大切です。

この問題で問われていること

検討の途中で、システム全体についての話と、その一部分についての話が混ざっていないかを確認してください。同じ言葉が使われていても、指している範囲が同じとは限らないため、対象の境界を意識して考えましょう。

視点

検討対象の範囲とは、いま考えている事柄がどの部分までを含むかという区切りです。内容の判断に進む前に、その区切りを自分の言葉で短く整理すると、考察の途中で対象が入れ替わるのを防ぎやすくなります。

確認ポイント

  • いま検討している対象の範囲を言葉にできるか
  • 全体と一部分の範囲を混同していないか
  • 考察の途中で対象の範囲が変わっていないか
正解と解説を見る

解説

Webシステムの一部をクラウドへ移す際の経路設定と、HTTP/2導入に伴う通信処理を結び付けて理解する問題です。ALPNによる上位プロトコルの決定、ストリームによる多重化、仮想LBでのHTTP/1.1への変換が要点です。

問題の全体像

G社は、利用者増加と機器の老朽化に対応するため、ECサイトのWebサーバをクラウドへ移し、重要なデータを持つAPサーバは自社データセンターに残します。両拠点は専用線で接続し、ブラウザと仮想LBの間にはHTTP/2を導入します。出題趣旨では、HTTP/2とTLSの知識、部分的なクラウド移行に伴う経路設定を実務で活用できるかを問うとしています。サーバの役割、通信開始処理、経路、負荷分散の要件を本文と図から読み取ることが中心です。

設問1(a)

「APサーバの動的コンテンツは、Webサーバで中継して配信される」という記述に着目します。利用者からの要求をサーバ側で受け、背後のAPサーバへ中継する仕組みがリバースプロキシです。公式解答例では「リバース」としています。空欄の後ろに「プロキシ」があるので、空欄には「リバース」だけを記入します。

設問1(b)

「G社のサービス公開用ドメインに対する」という部分が手掛かりです。そのドメインのDNS情報を管理し、問い合わせに回答する役割を表しています。公式解答例では「権威」としており、本文は「権威DNSサーバ」となります。同じ機器が持つ名前解決の役割について問う空欄cと区別して読みます。

設問1(c)

サーバセグメントのサーバがインターネットへアクセスするときに、名前解決要求へ応答するという用途に着目します。利用者側からの問い合わせを受けて名前解決を行い、得られた結果を保持して利用する役割です。公式解答例では「キャッシュ」としています。G社の公開ドメインに関する情報を管理する権威DNSサーバの役割と、外部の名前を解決するキャッシュDNSサーバの役割を分けて理解します。

設問1(d)

本文の「TCPコネクション内」「仮想的な通信路」「多重化」という説明と、図3のIDが1と3の通信単位を対応させます。公式解答例では「ストリーム」としています。HTTP/2では、一つのTCPコネクション内でストリームを区別して複数の要求と応答を扱います。本文のフロー制御もストリームごとの制御として説明されています。採点講評では、この空欄の正答率が低く、HTTP/2の基本の理解を求めています。

設問1(e)

空欄が「:scheme」「:path」と並ぶヘッダーフィールドであることに着目します。公式解答例では「:method」としています。これは要求のHTTPメソッドを示す疑似ヘッダーフィールドです。答案では先頭のコロンも含めて記入します。採点講評では、この空欄も正答率が低かったとされており、HTTP/2のヘッダーフィールドを正確な表記で覚えることが学習の重点です。

設問1(f)

「ALPNがどのプロトコルの拡張か」を問う空欄です。後続の本文では、h2はTLSによる暗号化コネクション上でHTTP/2通信を行う方式と説明され、図3にはClientHelloとServerHelloが示されています。公式解答例では「TLS」としています。採点講評では、この空欄の正答率も低かったとされています。ALPNがTLSの拡張であることと、ALPN自体の目的が上位プロトコルの決定であることを結び付けて理解します。

設問2(1)

下線①はHTTPパイプラインにおける応答順序の制約を問うものです。公式解答例では、リクエストを受けたのと同じ順序でレスポンスを返す必要があるとしています。処理が終わった順序ではなく、要求の受信順序に対応させる点が要点です。35字以内の答案では「リクエストを受けたのと同じ順序でレスポンスを返す必要がある。」とまとめられます。本文にあるHTTP/2との違いも併せて確認します。

設問2(2)

HTTP/1.1とHTTP/2が同じ「https://」のURIスキームを用いるため、通信開始時に使用する上位プロトコルを決める必要がある点に着目します。公式解答例では「通信開始時にTCPの上位のプロトコルを決定するため」としており、30字以内で目的を示せます。採点講評では、ALPNを暗号化処理のプロトコルと誤解した答案が目立ったとされています。暗号化の方式ではなく、アプリケーション層で使うプロトコルを決める仕組みとして整理します。

設問3(1)

図3では、(a)~(c)がTCPの3ウェイハンドシェイク、(d)がClientHello、(e)がServerHello、(f)以降がHTTPの要求と応答です。ALPNはTLSの拡張なので、h2のネゴシエーションはTLS通信開始時のHelloメッセージに含まれます。公式解答例では「(d)、(e)」としています。「全て答えよ」という指定に従い、クライアントからの提示とサーバからの選択結果の通知の両方を挙げます。

設問3(2)

ALPNでは、使用するアプリケーション層のプロトコルを決めるため、クライアントが利用可能なプロトコルをサーバへ提示します。公式解答例では「クライアントが利用可能なアプリケーション層のプロトコル」としています。この表現は35字以内で、送信する情報を具体的に示しています。採点講評では、暗号アルゴリズムの交換とした誤答が散見されたとされており、TLS内で行われる別の交渉内容と区別することが重要です。

設問4(1)(ア)

表1のアは、L3SWに設定する経路の「宛先ネットワーク」です。図4では、L3SWから専用線と仮想ルータを経由してG社用VPCセグメントへ到達します。本文にあるVPCセグメントのアドレスは172.21.10.0/24なので、公式解答例も「172.21.10.0/24」としています。専用線の172.21.11.0/24と区別し、到達したいネットワークをプレフィックス長付きで記入します。

設問4(1)(イ)

イは、L3SWからVPCセグメントへ向かう経路のネクストホップです。図4の接続関係から、次に転送する相手は専用線の対向にある仮想ルータです。本文では、専用線側の仮想ルータのIPアドレスを172.21.11.2と指定しています。公式解答例では「172.21.11.2」としています。宛先ネットワークそのものやL3SW自身のアドレスではなく、次に受け取る機器のアドレスを選びます。

設問4(1)(ウ)

ウは、仮想ルータに設定する宛先0.0.0.0/0の経路のネクストホップです。図4では、仮想ルータから専用線を通じてG社データセンター側へ転送する相手がL3SWです。本文でL3SWの専用線側アドレスは172.21.11.1と指定されているので、公式解答例では「172.21.11.1」としています。イとは転送方向が逆になるため、ネクストホップも専用線の反対側の機器になります。

設問4(2)

図2と本文では、ブラウザから仮想LBまではHTTP/2、仮想LBからWebサーバ・APサーバまではHTTP/1.1とし、URLに応じて要求を振り分ける要件が示されています。HTTPの内容を扱ってプロトコルを変換するため、表2のレイヤー7で動作する方式を選びます。公式解答例の動作モードは「アプリケーションモード」です。理由は、指定語と35字以内の条件を満たす「HTTP/2リクエストをHTTP/1.1に変換して負荷分散するから」とまとめられます。

学習のポイント

ALPNと暗号化処理の役割を区別し、HTTP/2の基本用語、TLS通信開始シーケンス、静的経路の転送方向、レイヤー7負荷分散を重点的に学習します。

出典:独立行政法人 情報処理推進機構(IPA)令和5年度春期 ネットワークスペシャリスト試験 午後Ⅰ 問1(公式資料:問題冊子(PDF) / 解答例 / 採点講評)

関連する過去問一覧

IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針