【ネットワークスペシャリスト試験 令和5年度 春期 午後1 問1 No.1】
ネットワークスペシャリスト試験 令和5年度 春期 午後1 問1
【出典:ネットワークスペシャリスト試験 令和5年度 春期 午後1 問1(一部、加工あり)】
問1 Webシステムの更改に関する次の記述を読んで、設問に答えよ。
G社は、一般消費者向け商品を取り扱う流通業者である。インターネットを介して消費者へ商品を販売するECサイトを運営している。G社のECサイトは、G社データセンターにWebシステムとして構築されているが、システム利用者の増加に伴って負荷が高くなってきていることや、機器の老朽化などによって、Webシステムの更改をすることになった。
[現行のシステム構成]
G社のシステム構成を図1に示す。
- 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に示す。
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)、:sheme、:pathといった必須フィールドがある。
- フロー制御:(d)ごとのフロー制御によって、一つの(d)がリソースを占有してしまうことを防止する。
- 互換性:HTTP/2は、HTTP/1.1と互換性が保たれるように設計されている。一般的にHTTP/2は、HTTP/1.1と同じく”https://”のURIスキームが用いられる。そのため、通信開始処理において(f)プロトコルの拡張の一つである②ALPN(Application-Layer Protocol Negotiation)を利用する。
a:リバース
「WebサーバではHTTPサーバが稼働しており、静的コンテンツはWebサーバから直接配信される。一方、APサーバの動的コンテンツは、Webサーバで中継して配信される。この中継処理の仕組みを(a)プロキシと呼ぶ。」
記述内容から、Webサーバでは、Webサーバとプロキシの機能が稼働しているようです。
プロキシには、通常のプロキシとして内部からインターネットへの通信を代理するフォワードプロキシと、インターネットから内部への通信を代理するリバースプロキシがあります。
動的コンテンツの場合は、WebサーバがAPサーバに中継するリバースプロキシとして稼働しています。
b:権威、c:キャッシュ
「DMZのDNSサーバは、G社のサービス公開用ドメインに対する(b)DNSサーバであると同時に、サーバセグメントのサーバがインターネットにアクセスするときの名前解決要求に応答する(c)DNSサーバである。」
DNSサーバには、その役割により権威DNSサーバとキャッシュDNSサーバがあります。
インターネット向けにサービス公開用ドメインのゾーン情報を提供するのは権威DNSサーバです。
一方、内部向けにインターネットにアクセスする際の名前解決要求に応答するのはキャッシュDNSサーバです。
d:ストリーム
「HTTP/1.1には、同一のTCPコネクション内で通信を多重化する方式としてHTTPパイプラインがあるが、HTTP/2では、TCPコネクション内で複数のリクエストとレスポンスのやり取りを(d)と呼ばれる仮想的な通信路で多重化している。」
HTTP/2では、多重化の仕組みとして一つのTCPコネクション上で複数のリクエストとレスポンスを同時に処理することができる、ストリームと呼ばれる仮想的な通信路を作ります。
e::method
「HPACKと呼ばれるアルゴリズムによって、HTTPヘッダー情報がバイナリフォーマットに圧縮されている。ヘッダーフィールドには、(e)、:sheme、:pathといった必須フィールドがある。」
HTTP/2では、HPACK(Header Compression for HTTP/2)によって、テキスト形式のHTTPヘッダー情報をバイナリ形式に圧縮します。
ヘッダーフィールドには、「:method」(メソッド(GET、POSTなど)を指定)、「:sheme」(httpかhttpsを設定)、「:path」(コンテンツのパスを指定)などがあります。
f:TLS
「HTTP/2は、HTTP/1.1と互換性が保たれるように設計されている。一般的にHTTP/2は、HTTP/1.1と同じく”https://”のURIスキームが用いられる。そのため、通信開始処理において(f)プロトコルの拡張の一つである②ALPN(Application-Layer Protocol Negotiation)を利用する。」
HTTP/1.1とHTTP/2ではURLを分ける必要ななく、どちらも”https://”のURIスキームでリクエストすることが可能です。
そのため、クライアントとサーバの間で、あらかじめHTTP/1.1とHTTP/2のどちらを採用するかを交渉して決定する必要があり、その機能はTLSプロトコルの拡張であるALPNが担っています。