‹

平成30年度 秋期 午後Ⅱ

平成30年度 秋期に実施されたネットワークスペシャリスト試験 午後Ⅱの全2問(記述式)です。事例本文・設問・解答例と解説をそのまま読めます。

この試験について:ネットワークスペシャリスト試験について

この年度を解いてみる

問1 ネットワークシステムの設計

ネットワークシステムの設計に関する次の記述を読んで,設問1〜4に答えよ。

機械メーカの X 社は,顧客に販売した機械の運用・保守と,機械が稼働している顧客の工場の自動化支援に関する新事業を拡大しようとしている。

機械は工作装置及び通信装置の 2 種類である。工作装置には,センサ,アクチュエータなどを制御する機構(以下,デバイスという),及びレイヤ 2 スイッチが内蔵されている。通信装置は,デバイスをインターネットに接続するための機器で,エッジサーバ,ファイアウォール及びレイヤ 3 スイッチが内蔵されている。

X 社の情報システム部は,新事業用のサービス基盤システム(以下,X システムという)を計画中である。情報システム部に所属するネットワーク担当の W さんが,X システムの構想について,検討を行っている。

〔X システムの構想〕

X システムは,X 社が運用・保守を行う顧客の工場内の機器,X 社内のサーバ,及びそれらを接続するためのネットワーク機器から構成されている。

X システムの導入構成例を図1に示す。

X システムの導入構成図。左に顧客の工場,中央にインターネット,右に X 社がある。顧客の工場には,工作装置(網掛け)が複数あり,工作装置の中ではデバイス(複数)が L2SW に接続している。通信装置(網掛け)の中には L3SW,FW,エッジサーバがあり,各工作装置の L2SW が L3SW に接続し,L3SW にエッジサーバと FW が接続し,FW がインターネットに接続している。顧客の工場内にはこれとは別に顧客ネットワーク(破線の枠)があり,PC(複数)と顧客サーバが L2SW に接続し,L2SW が顧客 FW を経てインターネットに接続している。X 社では,インターネットに FW が接続し,FW の先の L2SW に業務サーバ,交換サーバ,認可サーバが接続している。凡例:FW はファイアウォール,L2SW はレイヤ2スイッチ,L3SW はレイヤ3スイッチ。網掛けは X 社が運用・保守を行う顧客の工場内の機器(工作装置,通信装置)。
図1 X システムの導入構成例(抜粋)

X システムの業務アプリケーションプログラムは,エッジサーバと業務サーバ上で動作する。これらのサーバとデバイスは,デバイスの運用・保守に関する情報を,自動的に交換する。この情報交換に関する説明を次に示す。

業務サーバは,顧客向けに API(Application Programming Interface)を提供する。顧客は,インターネット経由で API にアクセスし,デバイスの運用・保守に関する情報を参照する。この API に関する説明を次に示す。

W さんは,上司から,X システムの構想に関する四つの技術検討を指示されている。四つの技術検討項目を次に示す。

〔ネットワークセキュリティ対策〕

X システムは,インターネット及び顧客の工場内の X システム専用のネットワークを利用するので,これらの X 社外の通信区間に関するネットワークセキュリティ対策が必要となる。W さんが検討したネットワークセキュリティ対策を次に示す。

〔MQTT を使ったメッセージ交換方式〕

W さんは,MQTT を使ったメッセージ交換方式を調査した。

このメッセージ交換方式では,固定ヘッダ,可変ヘッダ及びペイロードから構成された MQTT コントロールパケットを使う。MQTT コントロールパケットの種別を表1に示す。

列は,種別,用途,固定ヘッダ,可変ヘッダ又はペイロードに含まれる情報。CONNECT:クライアントからサーバへの接続要求,(省略)。CONNACK:CONNECT に対する確認応答,(省略)。PUBLISH:メッセージの送信,QoS レベル(注1),トピック名(注2),パケット ID(注3),メッセージ。PUBREC:メッセージ受信の通知,パケット ID(注3)。PUBREL:メッセージリリースの通知,パケット ID(注3)。PUBCOMP:メッセージ送信終了の通知,パケット ID(注3)。SUBSCRIBE:クライアントからサーバへの購読要求,QoS レベル(注1),トピック名(注2),パケット ID(注3)。SUBACK:SUBSCRIBE に対する確認応答,パケット ID(注3)。注1)QoS レベルは,送信者と受信者間のメッセージの送達確認手順を指定する識別子である。注2)トピック名は,メッセージの種類を表す識別子である。注3)パケット ID は,PUBLISH 又は SUBSCRIBE に付与する識別子である。
表1 MQTT コントロールパケットの種別(抜粋)

MQTT を使ったメッセージ交換方式の通信シーケンス例を図2に示す。

登場するのは,クライアント(配信元),サーバ,クライアント(配信先)(複数)。まずクライアント(配信元)がサーバに CONNECT を送り,サーバが CONNACK を返す。続いて各クライアント(配信先)がサーバに CONNECT を送り,サーバが CONNACK を返す。次に各クライアント(配信先)がサーバに SUBSCRIBE を送り,サーバが SUBACK を返す。その後,クライアント(配信元)が送信者,サーバが受信者となってメッセージ送信(PUBLISH)を行い,続いてサーバが送信者,各クライアント(配信先)が受信者となってメッセージ送信(PUBLISH)を行う。注記:太い矢印は,図3中のメッセージ送信の通信シーケンスを示す。
図2 MQTT を使ったメッセージ交換方式の通信シーケンス例

図 2 中の通信シーケンスでは,配信元から複数の配信先へメッセージが配信されている。通信シーケンスの説明を次に示す。

PUBLISH を使ったメッセージ送信では,QoS レベルを使って送達確認手順を指定する。QoS レベルとメッセージ送信の通信シーケンスを図3に示す。

上段は QoS レベルが0の場合のメッセージ送信。送信者が受信者に PUBLISH を送り,受信者はメッセージを処理する。送信者は応答を待たずに次のメッセージの送信に移る。下段は QoS レベルが2の場合のメッセージ送信。送信者が受信者に PUBLISH(パケット ID)を送り,受信者が PUBREC(パケット ID)を返し,送信者が PUBREL(パケット ID)を送り,受信者が PUBCOMP(パケット ID)を返す。送信者側では,PUBLISH を送ってから PUBREC を受けるまでが PUBLISH の保存,PUBREL を送ってから PUBCOMP を受けるまでが PUBREL の保存の期間で,PUBCOMP を受けてメッセージ送信の完了となる。受信者側では,PUBLISH を受けてから PUBREL を受けるまでが PUBLISH の保存の期間で,PUBREL を受けてからメッセージの処理を行う。注記1:QoS レベルが2の場合,送達確認を行う PUBLISH を識別するために,パケット ID が付与される。注記2:QoS レベルが2の場合,受信者は,メッセージの処理を開始した以降に受信した PUBLISH は,パケット ID の重複にかかわらず新しいパケットとみなす。
図3 QoS レベルとメッセージ送信の通信シーケンス

図3中の通信シーケンスの説明を次に示す。

次に W さんは,X システムの 2 種類のメッセージ交換について,トピック名,QoS レベル,及び配信元と配信先を整理した。

X システムのメッセージ交換を図4に示す。

列は,項番,メッセージ交換の概要,QoS レベル,トピック名,メッセージ。項番1:業務サーバから,特定のデバイス Di に対して,設定情報を送信する。経路は業務サーバ→交換サーバ→デバイス Di。QoS レベル 2,トピック名 config/Di,メッセージはデバイス Di の設定情報。項番2:全てのデバイス Di(i=1,2,…,m)から,業務サーバ及び同じ工場のエッジサーバに対して,稼働情報を定期的に送信する。経路はデバイス D1〜Dm→交換サーバ→業務サーバ及びエッジサーバ。QoS レベル 0,トピック名 status/Di,メッセージはデバイス Di の稼働情報。注記:Di は,デバイスの識別子を表す。
図4 X システムのメッセージ交換

図4の説明を次に示す。

W さんは,1 台の業務サーバが 6,000 台のデバイスの設定を変更する場合の送信時間(T)を概算した。

W さんが T の概算に用いた通信シーケンスを図5に示す。

登場するのは,業務サーバ,交換サーバ,デバイス D1,デバイス D2,…,デバイス Dm。業務サーバは交換サーバへメッセージ送信を t1 の間隔で次々に行う。交換サーバは,1通目を受けるとデバイス D1 へ,2通目を受けるとデバイス D2 へ,というように転送し,交換サーバからデバイスへの送信には t2 が掛かる。業務サーバから交換サーバへの m 通の送信に m×t1 が掛かり,最後の1通を交換サーバが受けてからデバイス Dm に届くまでに t2 が掛かる。全体の時間 T は m×t1 と t2 の和になる。注記:太線の矢印は,QoS レベルが2の場合のメッセージ送信を表す。
図5 W さんが T の概算に用いた通信シーケンス

図 5 中の装置の処理時間を無視し,図 5 中の t1 及び t2 は,それぞれの装置間の RTT(Round Trip Time)の 2 倍に等しいとし,LAN の RTT を 20 ミリ秒,WAN の RTT を 200 ミリ秒とすると,T は次のように概算できる。

T = m × t1 + t2 = 6,000 × 2 × 20 + 2 × 200(ミリ秒)≒ 4(分)

この概算を基に,W さんは,次のように報告することにした。

〔API にアクセスする顧客サーバの管理〕

W さんは,顧客サーバからの API アクセスに関する検討を行った。

X システムでは,認可サーバを使って,顧客サーバからの API アクセスを認可する。契約及びサービス仕様の変更が顧客ごとに発生するので,それらを前提とした認可の仕組みが必要になる。W さんは,認可コード,アクセストークン,及びリフレッシュトークンを使った,認可の仕組みを採用することにした。

X システムの API アクセスの通信シーケンスを図6に示す。

登場するのは,PC(Web ブラウザ),顧客サーバ(WebAP),認可サーバ,業務サーバ(API)。(Ⅰ)有効なトークンがない場合:PC が顧客サーバに情報要求を送り,顧客サーバが PC にリダイレクト応答を返す。PC が認可サーバに (a) 認可要求を送る。PC と認可サーバの間でアクセスの確認(省略)を行う。認可サーバが PC に (b) 認可応答を返し,PC は顧客サーバにアクセスする。顧客サーバが認可サーバに (c) トークン要求を送り,認可サーバが顧客サーバに (d) トークン応答を返す。顧客サーバが業務サーバにアクセストークンを使った情報要求を送り,業務サーバが顧客サーバに情報応答を返し,顧客サーバが PC に情報応答を返す。(Ⅱ)アクセストークンが有効な場合:PC が顧客サーバに情報要求を送り,顧客サーバが業務サーバにアクセストークンを使った情報要求を送り,業務サーバが情報応答を返し,顧客サーバが PC に情報応答を返す。(Ⅲ)リフレッシュトークンだけが有効な場合:PC が顧客サーバに情報要求を送り,顧客サーバが業務サーバにアクセストークンを使った情報要求を送り,業務サーバがエラー応答を返す。顧客サーバが認可サーバにリフレッシュトークンを使ったトークン要求を送り,認可サーバがトークン応答を返す。顧客サーバが業務サーバに新アクセストークンを使った情報要求を送り,業務サーバが情報応答を返し,顧客サーバが PC に情報応答を返す。各メッセージの内容:(a) 認可要求は「GET /authorize?redirect_uri=【WebAP の URI】(省略) HOST:【認可サーバ】」。(b) 認可応答は「HTTP/1.1 302 Found Location:【WebAP の URI】?code=【認可コード】」。(c) トークン要求は「POST /token HTTP/1.1 (省略) (省略)code=【認可コード】&redirect_uri=【WebAP の URI】(省略)」。(d) トークン応答は「HTTP/1.1 200 OK (省略) 【アクセストークン】,【リフレッシュトークン】(省略)」。
図6 X システムの API アクセスの通信シーケンス

図 6 中の(Ⅰ)に示すように,有効なトークンがない場合,Web ブラウザから WebAP への情報要求は,[ サ ] サーバにリダイレクトされる。認可応答では,認可要求で通知された URI を用いたリダイレクトによって,[ シ ] に認可コードが通知される。続いて,認可コードを用いたトークン要求とトークン応答が行われ,WebAP はアクセストークンとリフレッシュトークンを獲得する。

図 6 中の(Ⅰ)〜(Ⅲ)に示すように,業務サーバへの情報要求には,アクセストークンが用いられる。アクセストークンには,アクセス可能な API と有効期間に関する情報が含まれており,業務サーバはそれらの情報からアクセスの可否を決める。アクセストークンの有効期間を過ぎた場合でも,[ ス ] の有効期間内であれば,利用者の確認を行わずに,新しいアクセストークンが発行される。

X システムでは,顧客ごとに異なるアクセストークンを定義し,認可サーバに格納しておく。ある顧客に提供する API の範囲が変わる場合,X 社は認可サーバのアクセストークンを変更する。W さんは,④アクセストークンの有効期間を 10 分間,リフレッシュトークンの有効期間を 60 分間と想定し,トークンの運用を確認した。

図 6 の通信シーケンスでは,図 6 中の“(a) 認可要求”の redirect_uri パラメタが書き換えられ,図 6 中の [ セ ] に含まれる認可コードが意図しない宛先に送信される可能性がある。W さんは,その対策として“redirect_uri パラメタの確認”を行うことにした。これは,図 6 中の [ ソ ] サーバに,HTTP リクエストに含まれる URI とあらかじめ登録されている絶対 URI が一致することを確認させる,という対策である。⑤顧客向けの API 利用ガイドラインには,この対策に必要な顧客への依頼内容を明記することにした。

〔エッジサーバを活用する将来構想〕

図 4 中のメッセージ交換では,X 社内の交換サーバを利用するので,顧客の企業秘密を含むような設定情報及び稼働情報(以下,これらを内部情報という)は,対象外としている。しかし,内部情報についても図 4 と同様にメッセージ交換を行いたい顧客も多い。X 社では,エッジサーバを活用して,内部情報も X システムに取り込む将来構想をもっている。

顧客サーバが一つの場合について,将来構想で追加される X システムのメッセージ交換例を図 7 に,W さんが考えた将来構想におけるネットワーク構成案を図 8 に,それぞれ示す。

列は,メッセージ交換の概要,トピック名,メッセージ。メッセージ交換の概要:顧客サーバと同じ工場のデバイス Di(i=1,2,…,m’)間で,エッジサーバを使って,顧客の工場に閉じた情報交換を行う。経路は顧客サーバ⇔エッジサーバ⇔デバイス D1〜Dm’(いずれも破線の双方向矢印)。トピック名は Confidential/Di,メッセージはデバイス Di に関する内部情報。
図7 将来構想で追加される X システムのメッセージ交換例
図1の構成に NAT ルータを加えたもの。顧客の工場では,工作装置(網掛け)の中でデバイス(複数)が L2SW に接続し,各工作装置の L2SW が通信装置(網掛け)内の L3SW に接続する。通信装置内では L3SW に FW とエッジサーバが接続し,エッジサーバの IP アドレスはエッジサーバ-P,FW はインターネットに接続する。FW にはもう一つの接続があり,FW 側の IP アドレスが FW-P で,その先に NAT ルータがつながる。NAT ルータの FW 側の IP アドレスが NAT ルータ-P である。NAT ルータは顧客ネットワーク(破線の枠)の境界に置かれ,顧客ネットワーク側の IP アドレス NAT ルータ-P’ で顧客 FW につながる。顧客ネットワークでは,PC(複数)と顧客サーバ(IP アドレスは顧客サーバ-P’)が L2SW に接続し,L2SW が顧客 FW に接続し,顧客 FW がインターネットに接続する。X 社では,インターネットに FW が接続し,FW の先の L2SW に業務サーバ,交換サーバ,認可サーバが接続する。凡例:ddd-P は X システムにおける,機器 ddd のプライベート IP アドレス。ddd-P’ は顧客ネットワークにおける,機器 ddd のプライベート IP アドレス。
図8 W さんが考えた将来構想におけるネットワーク構成案(抜粋)

図 8 に示すように,W さんは,NAT ルータを使って,顧客ネットワークと X システムを接続する案を考えた。NAT ルータは,1:1 静的双方向 NAT として動作させ,図 8 中の NAT ルータ-P と NAT ルータ-P’ を利用して,宛先 IP アドレスと送信元 IP アドレスの両方を変換させる。

W さんが考えた将来構想におけるメッセージの流れを図 9 に示す。

顧客の工場(将来構想を実現する拠点)と X 社の間のメッセージの流れ。顧客の工場には,顧客ネットワーク(破線の枠)の中の顧客サーバ(MQTT クライアント機能をもつ),デバイス(MQTT クライアント),エッジサーバ(MQTT サーバ機能と MQTT クライアント機能をもつ)がある。X 社には業務サーバと交換サーバがある。実線の双方向矢印(将来構想における図4中のメッセージの流れ):デバイスとエッジサーバの MQTT サーバ機能の間,エッジサーバの MQTT サーバ機能と交換サーバの間,交換サーバとエッジサーバの MQTT クライアント機能の間(交換サーバからエッジサーバの MQTT クライアント機能への片方向),業務サーバと交換サーバの間。破線の双方向矢印(図7中のメッセージの流れ):顧客サーバの MQTT クライアント機能とエッジサーバの MQTT サーバ機能の間,エッジサーバの MQTT サーバ機能とデバイスの間。
図9 W さんが考えた将来構想におけるメッセージの流れ

図 9 の説明を次に示す。

W さんは,図 7〜9 を使って,ネットワークの動作について検討し,将来構想への対応が可能であると判断した。

W さんは,以上の検討結果を上司に報告した。X 社の情報システム部は,X システム構想を実現するためのプロジェクトを発足させた。

出題趣旨(IPA)

センサ,アクチュエータなどが情報ネットワークに接続され,企業間にまたがった情報システムが構築されている。そのような分野に応用されることを目的とした,様々なネットワークの規格化も進んでいる。本問では,製造業のスマート化の基盤となるネットワークシステムの設計を題材にした。その中で,以前から広く用いられている,“Webコンピューティング”に関する知識と設計能力を前提にして,比較的新しい“メッセージ通信プロトコルMQTT”と“Webサービスの連携に用いる仕組み”に関して,本文の記述を理解し,それらを情報システムに応用できるネットワーク技術の能力を問う。

設問と解答例

設問1(1) 解答欄4つ

本文中の [ ア ] 〜 [ エ ] に入れる適切な字句を答えよ。

〔ア〕解答例

  • 暗号化

〔イ〕解答例

  • 検知

〔ウ〕解答例

  • 認証

〔エ〕解答例

  • TCP
解説

本文の根拠

〔ネットワークセキュリティ対策〕

情報の漏えい及び改ざん対策のために TLS を利用する。TLS には,情報を [ ア ] する機能,情報の改ざんを [ イ ] する機能,及び通信相手を [ ウ ] する機能がある。

〔ネットワークセキュリティ対策〕

工場内の機器と X 社内の機器との通信は,いずれもクライアントサーバ型の通信であり,機器間の [ エ ] コネクションの確立要求は,工場から X 社の方向に行われる。

〔MQTT を使ったメッセージ交換方式〕

クライアントは,サーバの TCP ポート 8883 番にアクセスし,TCP コネクションを確立する。

ア〜ウ:TLS(RFC 8446 など)が提供するのは,共通鍵暗号によるデータの暗号化(漏えい対策),メッセージ認証符号などによる改ざんの検知,証明書を使った通信相手の認証の三つである。本文は「漏えい及び改ざん対策」と「通信相手を」と書き分けているので,アは暗号化,イは検知,ウは認証になる。エ:TLS は TCP の上で動き,MQTT のクライアントは交換サーバの TCP ポート 8883 番にコネクションを張る。コネクションの確立要求(SYN)を出す向きが問われているので,エは TCP である。

本文の〔MQTT を使ったメッセージ交換方式〕に「TCP ポート 8883 番にアクセスし,TCP コネクションを確立する」とあり,工場側の MQTT クライアント(デバイス,エッジサーバ)から X 社の交換サーバへ向かうことが分かる。

間違えやすい点。イを「防止」とすると誤りである。TLS は改ざんそのものを防げず,改ざんされたことを受信側が検知して破棄する。エを「MQTT」「TLS」とすると,「コネクションの確立要求」という TCP の用語と合わない。

設問1(2) 50字以内

本文中の下線①の対策を,50 字以内で述べよ。

解答例

  • X社が運用・保守を行う機器からX社FWの方向に確立されるTCPコネクションだけを許可する。
解説

本文の根拠

〔ネットワークセキュリティ対策〕

工場内の機器と X 社内の機器との通信は,いずれもクライアントサーバ型の通信であり,機器間の [ エ ] コネクションの確立要求は,工場から X 社の方向に行われる。それを踏まえて,次の侵入及びなりすまし対策を採用する。

〔ネットワークセキュリティ対策〕

①通信装置内の FW を使った対策

図1

通信装置(網掛け)の中には L3SW,FW,エッジサーバがあり,各工作装置の L2SW が L3SW に接続し,L3SW にエッジサーバと FW が接続し,FW がインターネットに接続している。

通信装置内の FW は,工場の X システム専用ネットワークとインターネットの境界にある。工場と X 社の通信は,必ず工場側の機器(デバイス,エッジサーバ)がクライアントとなって X 社に向けて TCP コネクションを張る。逆向き,つまりインターネット側から工場内へコネクションを張る必要は無い。そこで,X 社が運用・保守を行う機器から X 社の FW の方向に確立される TCP コネクションだけを許可し,それ以外(インターネットからの接続要求など)を拒否すれば,外部からの侵入を防げる。ステートフルインスペクションの FW なら,許可したコネクションの戻りのパケットは自動的に通す。

根拠は「確立要求は,工場から X 社の方向に行われる。それを踏まえて」の一文で,下線①はこの向きの制限を FW で実現する対策である。

字数の詰め方(50字)。「どの機器から」「どこへ向けて」「TCP コネクションだけを許可」の三つを残す。解答例は「X 社が運用・保守を行う機器から X 社 FW の方向に確立される TCP コネクションだけを許可する。」である。採点講評のとおり図1には FW が三つある(通信装置内の FW,顧客 FW,X 社の FW)。宛先を「顧客 FW」や単に「インターネット」とせず,X 社 FW と書く。

採点講評(IPA)

設問1は,ネットワークセキュリティについて問うた。設問の中では設問1(2)の正答率が低かった。導入構成例(図1)では,インターネットを介した二つの拠点に,三つのファイアウォールが設置されている。Xシステムに関する記述を正しく理解し,注意深く解答してほしい。

設問1(3) 30字以内

本文中の下線②の対策を,30 字以内で述べよ。

解答例

  • クライアント証明書を配布してクライアント認証を行う。
解説

本文の根拠

〔ネットワークセキュリティ対策〕

② TLS の機能を使った,デバイス及びエッジサーバに関する対策

〔ネットワークセキュリティ対策〕

それを踏まえて,次の侵入及びなりすまし対策を採用する。

〔X システムの構想〕

デバイス,エッジサーバ及び業務サーバに MQTT クライアント機能を,交換サーバに MQTT サーバ機能をそれぞれ実装する。

TLS の通常の使い方では,サーバがサーバ証明書を示し,クライアントがサーバを認証する。TLS にはこれに加えて,サーバがクライアントに証明書を要求して(CertificateRequest)クライアントを認証する仕組みがある。デバイスとエッジサーバは TLS のクライアントなので,それぞれにクライアント証明書を配布しておき,交換サーバがクライアント認証を行えば,X 社が配布した証明書を持たない機器がデバイスやエッジサーバになりすまして接続することを防げる。

本文は下線②を「なりすまし対策」の一つとして挙げ,対象を「デバイス及びエッジサーバ」としている。この二つは MQTT クライアントであり,接続先の交換サーバから見てなりすましを見破る必要がある相手である。

字数の詰め方(30字)。「クライアント証明書を配布して」と「クライアント認証を行う」を残す。解答例は「クライアント証明書を配布してクライアント認証を行う。」である。「サーバ証明書を検証する」では,デバイス側が交換サーバを確かめるだけで,デバイスやエッジサーバのなりすましは防げない。

設問2(1) 45字以内

図 3 中の QoS レベルが 0 の場合のメッセージ送信について,TCP の再送機能だけではメッセージの消失が防げないのはどのような場合か。45 字以内で具体的に答えよ。

解答例

  • TCPの送信処理中に,デバイスの電源断などでTCPコネクションが開放された場合
解説

本文の根拠

〔MQTT を使ったメッセージ交換方式〕

QoS レベルが 0 の場合,MQTT 層における PUBLISH の送達確認は行わない。TCP 層による送達確認だけが行われる。

〔MQTT を使ったメッセージ交換方式〕

TCP コネクションが切断された場合のために,PUBLISH 及び PUBREL は送信者によって保存され,送信者から受信者への再送に利用される。

図4

項番2:全てのデバイス Di(i=1,2,…,m)から,業務サーバ及び同じ工場のエッジサーバに対して,稼働情報を定期的に送信する。

TCP の再送は,一つのコネクションの中で失われたセグメントを送り直す仕組みである。コネクションそのものが途中で開放されると,送信バッファに残っていたデータや届いていないデータは再送されずに失われる。QoS レベル 0 では MQTT 層は PUBLISH を保存しないので,再接続後に送り直すこともできない。したがって,TCP の送信処理中に,デバイスの電源断などで TCP コネクションが開放された場合にメッセージが消失する。

本文は QoS レベル 2 の説明で「TCP コネクションが切断された場合のために,PUBLISH 及び PUBREL は送信者によって保存され」と書いている。裏を返せば,保存しない QoS レベル 0 はコネクション切断に弱い。図4 の項番2 では送信者がデバイスなので,デバイスの電源断が具体例になる。

字数の詰め方(45字)。「TCP の送信処理中」「電源断など」「TCP コネクションが開放された」の三つを残す。解答例は「TCP の送信処理中に,デバイスの電源断などで TCP コネクションが開放された場合」である。「パケットが失われた場合」だけでは TCP の再送で回復できるので答えにならない。

設問2(2) 20字以内

本文中の下線③について,PUBREL を受信するまで,メッセージの処理を保留する目的を,20 字以内で述べよ。

解答例

  • メッセージの重複を防止する。
解説

本文の根拠

〔MQTT を使ったメッセージ交換方式〕

③ PUBLISH を受信した受信者は,メッセージの処理を始める前に送信者に PUBREC を送信し,その応答である PUBREL を受信してからメッセージの処理を開始する。

〔MQTT を使ったメッセージ交換方式〕

TCP コネクションが切断された場合のために,PUBLISH 及び PUBREL は送信者によって保存され,送信者から受信者への再送に利用される。

図3

注記2:QoS レベルが2の場合,受信者は,メッセージの処理を開始した以降に受信した PUBLISH は,パケット ID の重複にかかわらず新しいパケットとみなす。

送信者は PUBREC を受け取るまで PUBLISH を保存し,コネクションが切れれば再送する。そのため受信者には同じ PUBLISH(同じパケット ID)が二度届くことがある。受信者は PUBREL を受け取るまでメッセージの処理を始めずに PUBLISH を保存しておき,その間に同じパケット ID の PUBLISH が届けば重複として扱う。PUBREL は「送信者はもう PUBLISH を再送しない」ことの合図なので,それを受けてから処理すれば,同じメッセージを二度処理することが無い。MQTT の QoS 2 が「ちょうど1回(exactly once)」の配信と呼ばれるのはこのためである。

図3 の注記2 が要点である。処理を開始した後に届いた PUBLISH は,パケット ID が同じでも新しいパケットとみなされる。処理開始を PUBREL の後まで遅らせるのは,再送された古い PUBLISH が処理開始後に届く可能性を無くすためである。

字数の詰め方(20字)。目的だけを書く。解答例は「メッセージの重複を防止する。」である。「メッセージの消失を防ぐ」は PUBLISH の保存と再送の目的であり,処理を保留する目的ではない。

採点講評(IPA)

設問2は,MQTTについて問うた。通信プロトコルに関する設問2(3)の正答率は高かったが,QoSレベルに関する設問2(2)の正答率は低かった。MQTTのQoSレベルの考え方は,メッセージ交換の重要な概念の一つである。通信シーケンス(図3)をもう一度よく読み,その仕組みを理解しておいてほしい。

設問2(3) 解答欄5つ

本文中の [ オ ] 〜 [ ケ ] に入れる適切な字句を答えよ。

〔オ〕解答例

  • SUBSCRIBE

〔カ〕解答例

  • config/Di

〔キ〕解答例

  • デバイスDi

〔ク〕解答例

  • 交換サーバ

〔ケ〕解答例

  • 業務サーバ
解説

本文の根拠

〔MQTT を使ったメッセージ交換方式〕

項番 1 では,デバイス Di は,あらかじめ [ オ ] を交換サーバに送信し,トピック名が [ カ ] の PUBLISH が送信されるようにする。

〔MQTT を使ったメッセージ交換方式〕

項番 1 では,QoS レベルとして 2 が使用されている。交換サーバからデバイス Di への PUBLISH 送信中に [ キ ] が電源断などで非稼働になった場合,その PUBLISH は,[ ク ] の中に保存され,稼働再開後に再送される。

〔MQTT を使ったメッセージ交換方式〕

項番 2 では,QoS レベルとして 0 が使用されている。これは,[ ケ ] 及びエッジサーバは安定した稼働が見込めるからである。

図4

項番1:業務サーバから,特定のデバイス Di に対して,設定情報を送信する。経路は業務サーバ→交換サーバ→デバイス Di。QoS レベル 2,トピック名 config/Di,メッセージはデバイス Di の設定情報。

オ・カ:配信先のクライアントは,SUBSCRIBE で購読するトピック名をサーバに通知しておく。項番1 の配信先はデバイス Di,トピック名は config/Di なので,オは SUBSCRIBE,カは config/Di である。キ・ク:交換サーバからデバイス Di への PUBLISH では,送信者が交換サーバ,受信者がデバイス Di である。受信者のデバイス Di が電源断で止まると,送信者の交換サーバが保存しておいた PUBLISH を,デバイスの稼働再開後に再送する。ケ:項番2 の配信先(受信者)は業務サーバとエッジサーバである。これらが安定して稼働するので,MQTT 層の送達確認を省いた QoS レベル 0 で足りる。

本文の「PUBLISH 及び PUBREL は送信者によって保存され,送信者から受信者への再送に利用される」から,保存先は送信者,つまり交換サーバと決まる。

間違えやすい点。クを「デバイス Di」とすると,受信者側の保存と取り違えている。ケは「送信者」ではなく受信者の側を答える。項番2 の送信者であるデバイスが不安定でも,稼働情報は定期的に送り直されるので,失われても次の送信で補える。

採点講評(IPA)

設問2は,MQTTについて問うた。通信プロトコルに関する設問2(3)の正答率は高かったが,QoSレベルに関する設問2(2)の正答率は低かった。MQTTのQoSレベルの考え方は,メッセージ交換の重要な概念の一つである。通信シーケンス(図3)をもう一度よく読み,その仕組みを理解しておいてほしい。

設問2(4) 解答欄1つ

本文中の [ コ ] に入れる適切な機器名を全て答えよ。

〔コ〕解答例

  • 業務サーバ,交換サーバ
解説

本文の根拠

〔MQTT を使ったメッセージ交換方式〕

図 5 中の装置の処理時間を無視し,図 5 中の t1 及び t2 は,それぞれの装置間の RTT(Round Trip Time)の 2 倍に等しいとし,LAN の RTT を 20 ミリ秒,WAN の RTT を 200 ミリ秒とすると,T は次のように概算できる。

〔MQTT を使ったメッセージ交換方式〕

T = m × t1 + t2 = 6,000 × 2 × 20 + 2 × 200(ミリ秒)≒ 4(分)

〔MQTT を使ったメッセージ交換方式〕

ただし,図 1 に示すように,[ コ ] は同一拠点に設置されている必要がある。

概算式で t1(業務サーバから交換サーバへの1通ぶん)は 2 × 20 ミリ秒,つまり LAN の RTT で計算している。t2(交換サーバからデバイスへ)は 2 × 200 ミリ秒で WAN の RTT である。業務サーバと交換サーバの間が LAN であることを前提にした概算なので,この二つは同一拠点(図1 の X 社内)に置く必要がある。

検算。m × t1 = 6,000 × 40 ミリ秒 = 240,000 ミリ秒 = 240 秒 = 4 分,t2 = 400 ミリ秒で,T は約 4 分 0.4 秒になり,本文の「≒ 4(分)」と合う。もし業務サーバと交換サーバの間が WAN なら,t1 は 400 ミリ秒になり,m × t1 は 2,400 秒(40 分)に延びる。

間違えやすい点。設問は「全て」答えよと求めているので,業務サーバと交換サーバの二つを挙げる。デバイスは WAN の向こうにあるので含めない。

設問3(1) 解答欄5つ

本文中の [ サ ] 〜 [ ソ ] に入れる適切な字句を答えよ。

〔サ〕解答例

  • 認可

〔シ〕解答例

  • WebAP

〔ス〕解答例

  • リフレッシュトークン

〔セ〕解答例

  • 認可応答

〔ソ〕解答例

  • 認可
解説

本文の根拠

〔API にアクセスする顧客サーバの管理〕

図 6 中の(Ⅰ)に示すように,有効なトークンがない場合,Web ブラウザから WebAP への情報要求は,[ サ ] サーバにリダイレクトされる。認可応答では,認可要求で通知された URI を用いたリダイレクトによって,[ シ ] に認可コードが通知される。

〔API にアクセスする顧客サーバの管理〕

アクセストークンの有効期間を過ぎた場合でも,[ ス ] の有効期間内であれば,利用者の確認を行わずに,新しいアクセストークンが発行される。

〔API にアクセスする顧客サーバの管理〕

図 6 の通信シーケンスでは,図 6 中の“(a) 認可要求”の redirect_uri パラメタが書き換えられ,図 6 中の [ セ ] に含まれる認可コードが意図しない宛先に送信される可能性がある。

〔API にアクセスする顧客サーバの管理〕

これは,図 6 中の [ ソ ] サーバに,HTTP リクエストに含まれる URI とあらかじめ登録されている絶対 URI が一致することを確認させる,という対策である。

図6

(b) 認可応答は「HTTP/1.1 302 Found Location:【WebAP の URI】?code=【認可コード】」。

図6 の仕組みは OAuth 2.0 の認可コードグラント(RFC 6749)である。サ:WebAP のリダイレクト応答を受けたブラウザは,(a) 認可要求を認可サーバに送る。シ:認可サーバは 302 Found で Location に「WebAP の URI?code=認可コード」を返すので,ブラウザがそこへアクセスし,認可コードは WebAP に届く。ス:(Ⅲ)のとおり,アクセストークンが無効でもリフレッシュトークンが有効なら,WebAP が認可サーバに要求して新しいアクセストークンを得られる。セ:認可コードが入っているのは (b) 認可応答の Location である。redirect_uri が書き換えられると,この Location が攻撃者の URI になる。ソ:URI を受け取って認可コードを発行する認可サーバに,登録済みの絶対 URI と一致するかを確かめさせる。

図6 の (a)〜(d) の中身が手掛かりになる。(a) で redirect_uri を送り,(b) の Location がその URI を使い,(c) でも redirect_uri を送っている。

間違えやすい点。採点講評のとおり,シを「PC」「Web ブラウザ」とする誤りが多かった。認可コードはブラウザを経由するが,リダイレクト先として受け取るのは WebAP である。セを「(c) トークン要求」とすると,WebAP から認可サーバへの通信になり,意図しない宛先には送られない。

採点講評(IPA)

設問3は,APIアクセス認可の仕組みについて問うた。この仕組みは“The OAuth 2.0 Authorization Framework(RFC6749)”に記述があり,広く利用されている。認可のプロセスでは,二つのトークンとともに,URIが固定されたWebAPが重要な役割を担う。設問では,それらの知識を前提とせずに通信シーケンスから解答を導くようにした。正答率は比較的高かったが,リダイレクトに関する通信シーケンスを正しく理解していない誤答が散見された(設問3(1)シ)。リダイレクトは,Webサービスの基本的概念の一つであり,よく理解しておいてほしい。

設問3(2)

本文中の下線④について,提供する API の範囲を変更する場合,変更が有効になるのは,X 社がアクセストークンを変更してから最長で何分後かを答えよ。

解答例

  • 10
解説

本文の根拠

〔API にアクセスする顧客サーバの管理〕

X システムでは,顧客ごとに異なるアクセストークンを定義し,認可サーバに格納しておく。ある顧客に提供する API の範囲が変わる場合,X 社は認可サーバのアクセストークンを変更する。

〔API にアクセスする顧客サーバの管理〕

④アクセストークンの有効期間を 10 分間,リフレッシュトークンの有効期間を 60 分間と想定し,トークンの運用を確認した

〔API にアクセスする顧客サーバの管理〕

アクセストークンには,アクセス可能な API と有効期間に関する情報が含まれており,業務サーバはそれらの情報からアクセスの可否を決める。

X 社が認可サーバのアクセストークンを変更しても,すでに WebAP に発行されている古いアクセストークンは有効期間が切れるまで使われ続ける。業務サーバはトークンに含まれる情報でアクセスの可否を決めるので,その間は古い API の範囲が適用される。最悪の場合は,変更の直前に発行されたアクセストークンで,これが最長 10 分間有効である。有効期間が切れると,WebAP はリフレッシュトークンで新しいアクセストークンを要求し,認可サーバは変更後の内容のアクセストークンを発行する。したがって最長 10 分後に変更が有効になる。

本文の「アクセス可能な API と有効期間に関する情報が含まれており」が,古いトークンでも期限内は通ることの根拠である。

間違えやすい点。60 分(リフレッシュトークンの有効期間)や 70 分(両者の和)とするのは誤りである。リフレッシュトークンで発行される新しいアクセストークンは,認可サーバが変更後の内容で作るので,リフレッシュトークンが古くても影響しない。

採点講評(IPA)

設問3は,APIアクセス認可の仕組みについて問うた。この仕組みは“The OAuth 2.0 Authorization Framework(RFC6749)”に記述があり,広く利用されている。認可のプロセスでは,二つのトークンとともに,URIが固定されたWebAPが重要な役割を担う。設問では,それらの知識を前提とせずに通信シーケンスから解答を導くようにした。正答率は比較的高かったが,リダイレクトに関する通信シーケンスを正しく理解していない誤答が散見された(設問3(1)シ)。リダイレクトは,Webサービスの基本的概念の一つであり,よく理解しておいてほしい。

設問3(3) 40字以内

本文中の下線⑤について,顧客への依頼内容を,40 字以内で述べよ。

解答例

  • WebAPのURIを固定にし,絶対URIを事前に通知してもらう。
解説

本文の根拠

〔API にアクセスする顧客サーバの管理〕

W さんは,その対策として“redirect_uri パラメタの確認”を行うことにした。これは,図 6 中の [ ソ ] サーバに,HTTP リクエストに含まれる URI とあらかじめ登録されている絶対 URI が一致することを確認させる,という対策である。

〔API にアクセスする顧客サーバの管理〕

⑤顧客向けの API 利用ガイドラインには,この対策に必要な顧客への依頼内容を明記することにした。

〔X システムの構想〕

顧客は,顧客サーバに,API アクセス用の Web アプリケーション(以下,WebAP という)と HTTP サーバ機能を実装する。

認可サーバが redirect_uri を「あらかじめ登録されている絶対 URI」と照合するには,その URI が変わらないこと,そして X 社が事前に知っていることが必要である。WebAP は顧客が自分の顧客サーバに作るので,URI を決めるのは顧客である。そこで顧客に,WebAP の URI を固定にし,その絶対 URI を事前に X 社へ通知してもらうよう依頼する。OAuth 2.0(RFC 6749)でも,クライアントはリダイレクト先の URI を認可サーバに登録しておくことが求められている。

本文の「あらかじめ登録されている絶対 URI」と,WebAP を顧客が実装するという構想の記述を合わせると,登録のための情報が顧客からしか得られないことが分かる。

字数の詰め方(40字)。「URI を固定にする」と「絶対 URI を事前に通知してもらう」の二つを残す。解答例は「Web AP の URI を固定にし,絶対 URI を事前に通知してもらう。」である。通知だけでは URI が後で変わると照合に失敗するので,固定にすることも書く。

採点講評(IPA)

設問3は,APIアクセス認可の仕組みについて問うた。この仕組みは“The OAuth 2.0 Authorization Framework(RFC6749)”に記述があり,広く利用されている。認可のプロセスでは,二つのトークンとともに,URIが固定されたWebAPが重要な役割を担う。設問では,それらの知識を前提とせずに通信シーケンスから解答を導くようにした。正答率は比較的高かったが,リダイレクトに関する通信シーケンスを正しく理解していない誤答が散見された(設問3(1)シ)。リダイレクトは,Webサービスの基本的概念の一つであり,よく理解しておいてほしい。

設問4(1) 60字以内

図 8 中の NAT ルータについて,顧客ネットワークから X システムの方向の通信におけるアドレス変換の内容を,60 字以内で具体的に述べよ。

解答例

  • 送信元IPアドレスをNATルータ-Pに,宛先IPアドレスをエッジサーバ-Pに,それぞれ変換する。
解説

本文の根拠

〔エッジサーバを活用する将来構想〕

NAT ルータは,1:1 静的双方向 NAT として動作させ,図 8 中の NAT ルータ-P と NAT ルータ-P’ を利用して,宛先 IP アドレスと送信元 IP アドレスの両方を変換させる。

〔エッジサーバを活用する将来構想〕

顧客サーバに MQTT クライアント機能を,エッジサーバに MQTT サーバ機能をそれぞれ実装し,顧客サーバとエッジサーバ間でメッセージ交換を行う。

図8

凡例:ddd-P は X システムにおける,機器 ddd のプライベート IP アドレス。ddd-P’ は顧客ネットワークにおける,機器 ddd のプライベート IP アドレス。

顧客サーバ(MQTT クライアント)はエッジサーバ(MQTT サーバ)に接続する。顧客ネットワークからは,エッジサーバは NAT ルータ-P’ に見える。つまり顧客サーバが送るパケットは,送信元が顧客サーバ-P’,宛先が NAT ルータ-P’ である。NAT ルータはこれを X システム側へ転送するとき,宛先 IP アドレスをエッジサーバ-P に,送信元 IP アドレスを NAT ルータ-P に変換する。1:1 静的双方向 NAT なので,戻りのパケットは逆の変換を受ける。

両方を変換するのは,二つのネットワークがそれぞれ独自のプライベートアドレスを使っているからである。送信元を NAT ルータ-P にしておけば,エッジサーバは顧客ネットワークの経路を知らなくても NAT ルータに応答を返せる。

字数の詰め方(60字)。送信元と宛先それぞれの「変換後のアドレス」を図8 の名前で書く。解答例は「送信元 IP アドレスを NAT ルータ-P に,宛先 IP アドレスをエッジサーバ-P に,それぞれ変換する。」である。

採点講評(IPA)

設問4は,ネットワークシステムの拡張性について問うた。顧客ネットワーク側のMQTTクライアントを接続する際の考慮点について出題している。設問をよく読み,メッセージ交換システムが有する拡張性と,NATを用いて運用主体が異なる二つのネットワークを接続した際の制約について,それぞれ理解した上で解答してほしい。

設問4(2) 40字以内

図 8 中の顧客 FW について,X システムとの接続のために,新たに許可が必要になる通信を 40 字以内で答えよ。

解答例

  • 顧客サーバ-P’からNATルータ-P’のポート8883番への通信
解説

本文の根拠

図8

NAT ルータは顧客ネットワーク(破線の枠)の境界に置かれ,顧客ネットワーク側の IP アドレス NAT ルータ-P’ で顧客 FW につながる。

図8

顧客ネットワークでは,PC(複数)と顧客サーバ(IP アドレスは顧客サーバ-P’)が L2SW に接続し,L2SW が顧客 FW に接続し,顧客 FW がインターネットに接続する。

〔MQTT を使ったメッセージ交換方式〕

クライアントは,サーバの TCP ポート 8883 番にアクセスし,TCP コネクションを確立する。

図8 では,顧客サーバから NAT ルータへの経路は L2SW,顧客 FW を通る。顧客サーバは MQTT クライアントとしてエッジサーバの MQTT サーバ機能に接続するので,顧客 FW には,顧客サーバ-P’ から NAT ルータ-P’(顧客ネットワークから見たエッジサーバ)の TCP ポート 8883 番への通信を許可する必要がある。コネクションは顧客サーバから張るので,逆向きの新しい接続を許可する必要は無い。

宛先は顧客ネットワークのアドレス体系で書く点に注意する。顧客 FW を通る時点ではまだ NAT されていないので,宛先はエッジサーバ-P ではなく NAT ルータ-P’ である。

字数の詰め方(40字)。送信元,宛先,ポート番号の三つを残す。解答例は「顧客サーバ-P’ から NAT ルータ-P’ のポート 8883 番への通信」である。

採点講評(IPA)

設問4は,ネットワークシステムの拡張性について問うた。顧客ネットワーク側のMQTTクライアントを接続する際の考慮点について出題している。設問をよく読み,メッセージ交換システムが有する拡張性と,NATを用いて運用主体が異なる二つのネットワークを接続した際の制約について,それぞれ理解した上で解答してほしい。

設問4(3)

本文中の下線⑥について,定義するトピック名を全て答えよ。

解答例

  • config/Di,status/Di
解説

本文の根拠

〔エッジサーバを活用する将来構想〕

エッジサーバの MQTT サーバ機能は,通常の MQTT サーバ機能に加えて,メッセージをほかの MQTT サーバと送受信する機能(以下,MQTT ブリッジという)をもつ。X システムのデバイスは複数の機器と TCP コネクションを確立できないので,この MQTT ブリッジを利用する。

〔エッジサーバを活用する将来構想〕

⑥ MQTT ブリッジには,トピック名をあらかじめ定義しておき,そのトピック名のメッセージを交換サーバと送受信させる

〔エッジサーバを活用する将来構想〕

図 4 中のメッセージ交換では,X 社内の交換サーバを利用するので,顧客の企業秘密を含むような設定情報及び稼働情報(以下,これらを内部情報という)は,対象外としている。

将来構想では,デバイスは一つの TCP コネクションしか張れないので,接続先をエッジサーバの MQTT サーバ機能に変える。すると,図4 のメッセージ(設定情報 config/Di と稼働情報 status/Di)は,エッジサーバを経由して交換サーバとやり取りしなければならない。そのため MQTT ブリッジに config/Di(交換サーバからデバイスへ)と status/Di(デバイスから交換サーバへ)を定義し,交換サーバと送受信させる。

一方,図7 の Confidential/Di は内部情報であり,本文のとおり X 社内の交換サーバを通さないことが前提である。ブリッジに定義すると交換サーバへ流れてしまうので,定義しない。

間違えやすい点。設問は「全て」答えよとしている。status/Di だけ(デバイスから上がる向き)では,業務サーバからの設定情報がデバイスに届かなくなる。

採点講評(IPA)

設問4は,ネットワークシステムの拡張性について問うた。顧客ネットワーク側のMQTTクライアントを接続する際の考慮点について出題している。設問をよく読み,メッセージ交換システムが有する拡張性と,NATを用いて運用主体が異なる二つのネットワークを接続した際の制約について,それぞれ理解した上で解答してほしい。

設問4(4) 解答欄2つ

図 7〜9 中の顧客サーバを 1 台追加する場合,X システム側で必要となる対応を二つ挙げ,それぞれ 30 字以内で述べよ。

〔①〕解答例

  • 1:1静的双方向NATの設定をNATルータに追加する。

〔②〕解答例

  • 通信を許可するルールを通信装置内のFWに追加する。
解説

本文の根拠

〔エッジサーバを活用する将来構想〕

NAT ルータは,1:1 静的双方向 NAT として動作させ,図 8 中の NAT ルータ-P と NAT ルータ-P’ を利用して,宛先 IP アドレスと送信元 IP アドレスの両方を変換させる。

〔ネットワークセキュリティ対策〕

①通信装置内の FW を使った対策

図8

FW にはもう一つの接続があり,FW 側の IP アドレスが FW-P で,その先に NAT ルータがつながる。NAT ルータの FW 側の IP アドレスが NAT ルータ-P である。

1:1 静的双方向 NAT は,一つの内側アドレスと一つの外側アドレスを固定で対応付ける。顧客サーバが1台増えると,その顧客サーバ-P’ を X システム側のどのアドレスに変換するかという対応付けが新たに必要になるので,NAT ルータに 1:1 静的双方向 NAT の設定を追加する。変換後の送信元アドレスが新しくなるので,NAT ルータとエッジサーバの間にある通信装置内の FW にも,その送信元からの通信を許可するルールを追加する。

図8 では NAT ルータの先が通信装置内の FW(FW-P 側)につながり,エッジサーバへの通信はこの FW を通る。下線①のとおり,この FW は許可した通信だけを通す対策をとっている。

字数の詰め方(各30字)。「何の設定を」「どの機器に追加するか」を書く。解答例は「1:1 静的双方向 NAT の設定を NAT ルータに追加する。」と「通信を許可するルールを通信装置内の FW に追加する。」である。顧客 FW の設定は顧客側の作業なので,設問の「X システム側」には入らない。

採点講評(IPA)

設問4は,ネットワークシステムの拡張性について問うた。顧客ネットワーク側のMQTTクライアントを接続する際の考慮点について出題している。設問をよく読み,メッセージ交換システムが有する拡張性と,NATを用いて運用主体が異なる二つのネットワークを接続した際の制約について,それぞれ理解した上で解答してほしい。

出典:平成30年度 秋期 ネットワークスペシャリスト試験 午後Ⅱ 問1(表記を一部改変)

問2 サービス基盤の構築

サービス基盤の構築に関する次の記述を読んで,設問1〜5に答えよ。

Y 社は,データセンタ(以下,DC という)を運営し,ホスティングサービスを提供している。ホスティングサービスのシステムは,顧客ごとに独立したネットワークとサーバから構成されている。Y 社が運営しているホスティングサービスのシステム構成を図 1 に示す。

Y 社の DC に,顧客ごとの独立したネットワークとサーバがある。P 社向け:P 社の Web サーバ利用者の PC(複数)がインターネットを経由して DC のルータに接続し,ルータ,L2SW,FWp,LBp,L2SW の順につながり,最後の L2SW に Web サーバ p1〜p4(P 社向けサーバ)が接続する。Q 社向け:Q 社がインターネットを経由して DC の IPsec ルータに接続し,IPsec ルータ,L2SW,FWq,L2SW の順につながり,最後の L2SW に業務サーバ q1,業務サーバ q2(Q 社向けサーバ)が接続する。Z 社向け:Z 社が広域イーサ網を経由して DC の L3SW に接続し,L3SW から LBz と業務サーバ z に分かれる。LBz の先の L2SW に Web サーバ z1,Web サーバ z2 が接続する(Z 社向けサーバ)。Q 社と Z 社の間にも他の顧客がある(…)。凡例:広域イーサ網は広域イーサネットサービス網,FW はファイアウォール,L2SW はレイヤ2スイッチ,L3SW はレイヤ3スイッチ,LB はサーバ負荷分散装置。注記:P 社,Q 社,Z 社は,Y 社の顧客である。
図1 Y 社が運営しているホスティングサービスのシステム構成(抜粋)

このたび,Y 社では,新規顧客へのサービスの提供やサーバの増設を迅速に行えるようにするとともに,導入コストや運用コストを削減してサービスの収益性を高める目的で,サービス基盤の構築を決定した。このサービス基盤では,ネットワークと物理サーバを顧客間で共用し,論理的に独立した複数の顧客システムを稼働させる,マルチテナント方式の IaaS(Infrastructure as a Service)を提供する。

サービス基盤構築プロジェクトリーダに指名された,基盤開発部の M 課長は,部下でネットワーク構築担当の N 主任に,次の 3 点の要件を提示し,サービス基盤の構成を検討するよう指示した。

N 主任は,SDN(Software-Defined Networking)技術を用いず,従来の技術を用いた方式(以下,従来方式という)と SDN 技術を用いた方式(以下,SDN 方式という)の二つの方式に関して,サービス基盤を構築する場合や顧客が増減した場合の作業内容などを比較して,構築方式を決めることにした。この方針を基に,N 主任は,部下の J さんに,サービス基盤の構成について検討するよう指示した。

〔従来方式でのサービス基盤の構成案〕

J さんは,まず,従来方式で構築する場合のサービス基盤の構成を検討した。J さんが設計した,従来方式によるサービス基盤の構成案を図 2 に示す。

Y 社の DC の中に,既設機器(網掛け)として P 社の Web サーバ利用者側のルータと L2SW,Q 社側の IPsec ルータと L2SW,Z 社側の L3SW がある。ルータの下に L2SW,IPsec ルータの下に L2SW がつながる。サービス基盤(破線の枠)には L2SWa と L2SWb があり,既設の L2SW(P 社側),L2SW(Q 社側),L3SW(Z 社側)は,それぞれ L2SWa と L2SWb の両方に1本ずつ接続し,その2本はリンクアグリゲーションになっている。L2SWa と L2SWb は互いに接続する。L2SWa の下に FWa,LBa,L2SWc が縦につながり,L2SWb の下に FWb,LBb,L2SWd が縦につながる。FWa と FWb,LBa と LBb,L2SWc と L2SWd はそれぞれ横に接続されている。物理サーバ1〜物理サーバ n はそれぞれ2枚の NIC をもち,一方の NIC が L2SWc に,他方の NIC が L2SWd に接続し,その2本はリンクアグリゲーション又はチーミングになっている。各物理サーバの中では,2枚の NIC が仮想 L2SW に接続し,仮想 L2SW に仮想サーバ(複数)が接続する。凡例:網掛けは既設機器。黒い四角は NIC(Network Interface Card)。2本の線を囲む楕円はリンクアグリゲーション又はチーミング。注記1:物理サーバに接続する共有ディスク装置の記述は省略されている。注記2:顧客向けのサーバは,それぞれ別の仮想サーバ上で稼働させる。
図2 従来方式によるサービス基盤の構成案

サービス基盤は,VLAN によって顧客間のネットワークを論理的に独立させる。

図 2 中の既設の L2SW 及び L3SW のサービス基盤への接続ポートには,それぞれリンクアグリゲーションを設定する。既設の L2SW 又は L3SW に接続する L2SWa と L2SWb のポートには,接続先の顧客ごとにリンクアグリゲーションと VLAN を設定する。L2SWa と L2SWb の間及び L2SWc と L2SWd の間は,[ ア ] 接続して,それぞれ,一つの L2SW として動作できるようにする。

FW は,①装置の中に複数の仮想 FW を稼働させることができ,②装置の冗長化ができる製品を選定する。冗長構成では,アクティブの仮想 FW が保持しているセッション情報が,装置間を直結するケーブルを使って,スタンバイの仮想 FW に転送される。セッション情報を継承することで,仮想 FW の [ イ ] フェールオーバを実現している。

LB は,負荷分散対象のサーバ群を一つのグループ(以下,クラスタグループという)としてまとめ,クラスタグループを複数設定できる製品を選定する。クラスタグループごとに仮想 IP アドレスと [ ウ ] アルゴリズムが設定できるので,複数の顧客の処理を 1 台で行える。LB も冗長化が可能であり,FW と同様の方法で冗長構成を実現している。

図 2 の構成案では,FW と LB は,FWa と LBa をアクティブに設定する。スタンバイの装置がアクティブに切り替わる条件は,両装置とも同様であり,両装置は連動して切り替わる。

物理サーバには 2 枚の NIC を実装し,[ エ ] 機能を利用してアクティブ/アクティブの状態にする。L2SWc と L2SWd には,リンクアグリゲーションのほかに,③仮想サーバの物理サーバ間移動に必要となる VLAN を設定する。

〔SDN 方式でのサービス基盤の構成案〕

次に,J さんは,SDN 製品のベンダの協力を得て,SDN 方式で構築する場合のサービス基盤の構成を検討した。

SDN を実現する技術の中に,OpenFlow(以下,OF という)がある。今回の検討では,標準化が進んでいる OF を利用することにした。

OF は,データ転送を行うスイッチ(以下,OFS という)と,OFS の動作を制御するコントローラ(以下,OFC という)から構成される。OFS によるデータ転送は,OFC によって設定されたフローテーブル(以下,F テーブルという)に基づいて行われる。

J さんが設計した,OF によるサービス基盤の構成案を図 3 に示す。

Y 社の DC の中に,既設機器(網掛け)として P 社の Web サーバ利用者側のルータと L2SW,Q 社側の IPsec ルータと L2SW,Z 社側の L3SW がある。サービス基盤(破線の枠)には OFS1 と OFS2 があり,既設の L2SW(P 社側),L2SW(Q 社側),L3SW(Z 社側)は,それぞれ OFS1 と OFS2 の両方に1本ずつ接続し,その2本はリンクアグリゲーションになっている。OFS1 と OFS2 は互いに複数の線で接続する。物理サーバ1〜物理サーバ n はそれぞれ2枚の NIC をもち,一方が OFS1 に,他方が OFS2 に接続し,その2本はリンクアグリゲーション又はチーミングになっている。各物理サーバの中では2枚の NIC が仮想 L2SW に接続し,仮想 L2SW に仮想サーバ(複数)が接続する。サービス基盤の中にはほかに OFC があり,OFC は L2SW1 に接続し,L2SW1 から OFS1 と OFS2 へ線が出ている。注記1:物理サーバに接続する共有ディスク装置の記述は省略されている。注記2:OFC は L2SW1 を介して,OFS1 と OFS2 の管理用ポートに接続される。注記3:顧客向けのサーバ,FW 及び LB は,それぞれ別の仮想サーバ上で稼働させる。
図3 OF によるサービス基盤の構成案

OFS は 2 台構成とし,相互に接続する。図 3 中の 既設の L2SW 及び L3SW のサービス基盤への接続ポートには,リンクアグリゲーションを設定し,OFS1 と OFS2 に接続する。物理サーバには,図 2 と同様に 2 枚の NIC を実装して各 NIC をアクティブ/アクティブの状態にする。FW と LB には,仮想サーバ上で稼働する仮想アプライアンス製品を利用する。OFC は,OFS1 と OFS2 の管理用ポートに接続する。

これらの OFS は,起動すると OFC との間で TCP コネクションを確立する。その後は,OFC との間の通信路となる OF チャネルが開設され,それを経由して OFC から F テーブルの作成や更新が行われる。したがって,OFS の導入時には,④ OFC との TCP コネクションの確立に必要な最小限の情報を設定すればよく,導入作業は容易である。

J さんは,二つの方式で設計したサービス基盤の構成を N 主任に説明したところ,二つの方式を比較し,Y 社に適した方式を提案するよう指示を受けた。

〔二つの方式の比較〕

J さんは,図 2 と図 3 のサービス基盤を構築する場合について,二つの方式で実施することになる作業内容などを基に,比較表を作成した。J さんが作成した二つの方式の比較を表 1 に示す。

列は,項番,比較項目,従来方式,SDN 方式(図3の方式)。項番1:導入機器の数,従来方式は多い,SDN 方式は少ない。項番2:構築時の設定作業,従来方式・SDN 方式とも(設問のため省略)。項番3:顧客追加時の設定作業,従来方式・SDN 方式とも(設問のため省略)。項番4:サービス基盤の増設時の作業,従来方式・SDN 方式とも(省略)。項番5:必要技術の習得,従来方式は習得済み,SDN 方式は未習得。
表1 J さんが作成した二つの方式の比較

以上の比較検討を基に,J さんは,OF を用いると技術習得などに時間を要することになるが,今後のサービス拡大に柔軟に対応できるようになると判断し,OF によるサービス基盤の構築を,N 主任に提案した。N 主任は,J さんの提案が Y 社にとって有益であると考え,J さんの提案を基にサービス基盤の構築案をまとめ,M 課長に報告したところ,テストシステムを構築して,OF の導入効果を確認するようにとの指示を受けた。

〔技術習得を目的とした制御方式の設計〕

テストシステムの構築に当たって,N 主任と J さんの 2 人は最初に,OF の技術習得を目的として,MAC アドレスの学習によるパケットの転送制御方式を考えることにした。

テストシステムは,図 1 中の P 社,Q 社及び Z 社の 3 顧客向けのシステムを収容した構成である。テストシステムの構成を図 4 に,テストシステム中の機器と仮想サーバの MAC アドレスを表 2 に示す。

P 社の Web サーバ利用者側はルータ,L2SW,Q 社側は IPsec ルータ,L2SW,Z 社側は L3SW がある。OFS1 と OFS2 はそれぞれポート p1,p2,p3,p11,p12,p13,p20〜p23 をもつ。P 社側の L2SW は OFS1 の p1 と OFS2 の p1 に,Q 社側の L2SW は OFS1 の p2 と OFS2 の p2 に,L3SW は OFS1 の p3 と OFS2 の p3 に接続し,それぞれの2本はリンクアグリゲーションになっている。OFS1 の p20,p21,p22,p23 は,OFS2 の p20,p21,p22,p23 とそれぞれ接続されている。物理サーバ1は OFS1 の p11 と OFS2 の p11 に,物理サーバ2は OFS1 の p12 と OFS2 の p12 に,物理サーバ3は OFS1 の p13 と OFS2 の p13 に,それぞれ2枚の NIC で接続し,それぞれの2本はリンクアグリゲーション又はチーミングになっている。各物理サーバの中では2枚の NIC が仮想 L2SW に接続する。物理サーバ1の仮想 L2SW には,P 社向けの Web サーバ p1〜Web サーバ p4 が c(VLAN ID=120)で,Q 社向けの業務サーバ q1,業務サーバ q2 が e(VLAN ID=210)で接続する。物理サーバ2の仮想 L2SW には,Z 社向けの Web サーバ z1,Web サーバ z2 が g(VLAN ID=310)で,Z 社向けの業務サーバ z が f(VLAN ID=300)で接続する。物理サーバ3の仮想 L2SW には,P 社向けの FWp が a(VLAN ID=100)と b(VLAN ID=110)で,P 社向けの LBp が b(VLAN ID=110)と c(VLAN ID=120)で,Q 社向けの FWq が d(VLAN ID=200)と e(VLAN ID=210)で,Z 社向けの LBz が f(VLAN ID=300)と g(VLAN ID=310)で接続する。凡例:網掛けの濃さで P 社向け仮想サーバ,Q 社向け仮想サーバ,Z 社向け仮想サーバを区別している。a:VLAN ID=100,b:VLAN ID=110,c:VLAN ID=120,d:VLAN ID=200,e:VLAN ID=210,f:VLAN ID=300,g:VLAN ID=310。注記1:p1〜p3,p11〜p13,p20〜p23 は,ポート番号を示す。注記2:OFC と共有ディスク装置の記述は省略されている。
図4 テストシステムの構成
左右二つの表からなる。左の表は,列が機器名又は仮想サーバ名,MAC アドレス。P 社の Web サーバ p1〜p4:mWSp1〜mWSp4。Q 社の業務サーバ q1,q2:mGSq1,mGSq2。Z 社の Web サーバ z1,z2:mWSz1,mWSz2。Z 社の業務サーバ z:mGSz。右の表は,列が機器名又は仮想サーバ名,内部側(注1)の MAC アドレス,WAN 側(注2)の MAC アドレス。ルータ:mRT,(省略)。IPsec ルータ:mIPSRT,(省略)。L3SW:mL3SW,(省略)。LBp:mLBp,mLBpw。LBz:mLBz,mLBzw。FWp:mFWp,mFWpw。FWq:mFWq,mFWqw。注記:MAC アドレスの重複はないものとする。注1)内部側は,図1中の各機器の下側のポートを指す。注2)WAN 側は,図1中の各機器又はサーバの上側のポートを指す。
表2 テストシステム中の機器と仮想サーバの MAC アドレス

図 4 に示したように,P 社には VLAN ID に 100,110,120,Q 社には VLAN ID に 200,210,Z 社には VLAN ID に 300,310 を,それぞれ割り当てる。各顧客の Web サーバと業務サーバ間の通信は発生しない。

2 人は,F テーブルの構成について検討した。F テーブルは,OFS のデータ転送動作を確認しやすくするために,最初に処理される F テーブル 0 と,パケットの入力ポートに対応して処理される F テーブル 1〜4 の五つの構成とした。2 人がまとめた,五つの F テーブルの役割を表 3 に示す。

列は,項番,F テーブル名,役割。項番1:F テーブル0,パケットの入力ポートを基にした,処理の振分け。項番2:F テーブル1,顧客のネットワークから,p1〜p3 経由で OFS に入力したパケットの処理。項番3:F テーブル2,物理サーバ1から,p11 経由で OFS に入力したパケットの処理。項番4:F テーブル3,物理サーバ2から,p12 経由で OFS に入力したパケットの処理。項番5:F テーブル4,物理サーバ3から,p13 経由で OFS に入力したパケットの処理。
表3 五つの F テーブルの役割

F テーブルは,複数のフローエントリ(以下,F エントリという)からなる。

F エントリは,OFS に入力されたパケットがどの F エントリに一致するかを判定するためのマッチング条件,条件に一致したパケットに対する操作を定義するアクション,パケットが複数の F エントリに一致した場合の優先度などで構成される。入力されたパケットが,F テーブル内の複数の F エントリのマッチング条件に一致した場合は,優先度が最も高い F エントリのアクションが実行される。また,どのマッチング条件にも一致しないパケットは廃棄される。一つの F エントリには,複数のアクションを定義できる。

OFC と OFS の間では,メッセージの交換が行われる。このメッセージの中には,OFS に対して F エントリを設定する Flow-Mod メッセージ,OFS が受信したパケットを OFC に送信する Packet-In メッセージ,OFC が OFS に対して指定したパケットの転送を指示する Packet-Out メッセージなどがある。

次に,2 人は,3 顧客で全てのサーバとの通信が正常に行われたとき(以下,正常通信完了時という)に,OFC によって OFS に生成される F エントリを,机上で作成した。正常通信完了時の F テーブル 0〜4 を,それぞれ表 4〜8 に示す。

列は,項番,マッチング条件,アクション,優先度。項番1:入力ポート=p1,VLAN ID が 100 のタグをセット,F テーブル1で定義された処理を行う,中。項番2:入力ポート=p2,VLAN ID が 200 のタグをセット,F テーブル1で定義された処理を行う,中。項番3:入力ポート=p3,VLAN ID が 300 のタグをセット,F テーブル1で定義された処理を行う,中。項番4:入力ポート=p11,F テーブル2で定義された処理を行う,中。項番5:入力ポート=P12(原本の表記),F テーブル3で定義された処理を行う,中。項番6:入力ポート=p13,F テーブル4で定義された処理を行う,中。
表4 正常通信完了時の OFS1 と OFS2 の F テーブル0
列は,項番,マッチング条件,アクション,優先度。項番1:eTYPE(注1)=ARP,OFC に Packet-In メッセージを送信,低。項番2:mDES(注2)=mFWpw,p13 から出力,中。項番3:mDES=mFWqw,p13 から出力,中。項番4:mDES=mLBzw,p13 から出力,中。項番5:mDES=mGSz,p12 から出力,中。注1)eTYPE は,イーサタイプを示す。注2)mDES は,宛先 MAC アドレスを示す。
表5 正常通信完了時の OFS1 と OFS2 の F テーブル1
列は,項番,マッチング条件,アクション,優先度。項番1:eTYPE=ARP,OFC に Packet-In メッセージを送信,低。項番2:eTYPE=ARP,VLAN ID=120,mDES=FF-FF-FF-FF-FF-FF,p13 から出力,高。項番3:eTYPE=ARP,VLAN ID=210,mDES=FF-FF-FF-FF-FF-FF,p13 から出力,高。項番4:mDES=mLBp,mSRC(注1)=mWSp1,p13 から出力,中。項番5:eTYPE=RARP(原本では cTYPE と読める),OFC に Packet-In メッセージを送信,高。以下,省略。注記:項番5は,仮想サーバが物理サーバ1に移動してきたことを OFC に知らせるための F エントリである。注1)mSRC は,送信元 MAC アドレスを示す。
表6 正常通信完了時の OFS1 と OFS2 の F テーブル2
列は,項番,マッチング条件,アクション,優先度。項番1:eTYPE=ARP,OFC に Packet-In メッセージを送信,低。項番2:eTYPE=ARP,VLAN ID=310,mDES=FF-FF-FF-FF-FF-FF,p13 から出力,高。項番3:mDES=mLBz,mSRC=mWSz1,p13 から出力,中。項番4:mDES=mL3SW,mSRC=mGSz,VLAN タグを削除,p3 から出力,中。項番5:eTYPE=RARP,OFC に Packet-In メッセージを送信,高。以下,省略。注記:項番5は,仮想サーバが物理サーバ2に移動してきたことを OFC に知らせるための F エントリである。
表7 正常通信完了時の OFS1 と OFS2 の F テーブル3
列は,項番,マッチング条件,アクション,優先度。項番1:eTYPE=ARP,OFC に Packet-In メッセージを送信,低。項番2:eTYPE=ARP,VLAN ID=100,mDES=FF-FF-FF-FF-FF-FF,VLAN タグを削除,p1 から出力,高。項番3:eTYPE=ARP,VLAN ID=120,mDES=FF-FF-FF-FF-FF-FF,p11 から出力,高。項番4:eTYPE=ARP,VLAN ID=300,mDES=FF-FF-FF-FF-FF-FF,VLAN タグを削除,p3 から出力,高。項番5:eTYPE=ARP,VLAN ID=310,mDES=FF-FF-FF-FF-FF-FF,p12 から出力,高。項番6:mDES=mWSp1,mSRC=mLBp,p11 から出力,中。項番7:mDES=mWSp4,mSRC=mLBp,p11 から出力,中。項番8:mDES=mWSz1,mSRC=mLBz,p12 から出力,中。項番9:mDES=mRT,mSRC=mFWpw,VLAN タグを削除,p1 から出力,中。項番10:mDES=mIPSRT,mSRC=mFWqw,VLAN タグを削除,p2 から出力,中。項番11:mDES=mL3SW,mSRC=mLBzw,VLAN タグを削除,p3 から出力,中。項番12:eTYPE=RARP,OFC に Packet-In メッセージを送信,高。以下,省略。注記:項番12は,仮想サーバが物理サーバ3に移動してきたことを OFC に知らせるための F エントリである。
表8 正常通信完了時の OFS1 と OFS2 の F テーブル4

表 8 中の項番 2 は,イーサタイプが ARP,VLAN ID が 100 及び宛先 MAC アドレスが FF-FF-FF-FF-FF-FF のパケットを,VLAN タグを削除して p1 から出力することを示している。

OFS にパケットが入力されると,OFS は表 4 の F テーブル 0 の処理を最初に実行する。例えば,図 4 中の Q 社の IPsec ルータから OFS1 の p2 に ARP リクエストパケットが入力された場合,そのパケットは,表 4 中の項番 2 に一致するので,パケットに VLAN ID が 200 の VLAN タグをセットし,次に表 5 の F テーブル 1 で定義された処理を行う。表 5 の F テーブル 1 では,項番 1 に一致するので,当該パケットは Packet-In メッセージに収納されて,OFC に送信される。OFC は受信したパケットの内容を基に,Flow-Mod メッセージで F エントリを生成したり,Packet-Out メッセージなどを OFS に送信したりする。

N 主任と J さんは,作成した F テーブルの論理チェックを行い,五つの F テーブルによってテストシステムを稼働させることができると判断した。

パケット転送制御方式の机上作成を通して OF の動作イメージが学習できたので,次に,2 人は,実際にテストシステムを構築して,動作検証と性能評価を行うことにした。

出題趣旨(IPA)

クラウドコンピューティングでは,マルチテナントが求められる。マルチテナントは仮想化技術によって実現するが,ネットワークの仮想化は,サーバ仮想化技術の発展に追従できていなかった。しかし,最近,SDN(Software-Defined Networking)の活用によって,ネットワークの仮想化が容易になってきた。本問では,IaaSのサービス基盤構築を題材として,SDN技術を用いない従来方式とSDN方式の,それぞれの方式による構築方法について解説した。その中で,SDNを実現する技術の一つであるOpenFlowを取り上げ,OpenFlowによる構築例を示した。本問では,受験者が,業務を通して蓄積したネットワーク関連技術を基に,本文中の記述を理解し実務で活用できるかを問う。

設問と解答例

設問1 解答欄4つ

本文中の [ ア ] 〜 [ エ ] に入れる適切な字句を答えよ。

〔ア〕解答例

  • スタック

〔イ〕解答例

  • ステートフル

〔ウ〕解答例

  • 負荷分散

〔エ〕解答例

  • チーミング
解説

本文の根拠

〔従来方式でのサービス基盤の構成案〕

L2SWa と L2SWb の間及び L2SWc と L2SWd の間は,[ ア ] 接続して,それぞれ,一つの L2SW として動作できるようにする。

〔従来方式でのサービス基盤の構成案〕

冗長構成では,アクティブの仮想 FW が保持しているセッション情報が,装置間を直結するケーブルを使って,スタンバイの仮想 FW に転送される。セッション情報を継承することで,仮想 FW の [ イ ] フェールオーバを実現している。

〔従来方式でのサービス基盤の構成案〕

クラスタグループごとに仮想 IP アドレスと [ ウ ] アルゴリズムが設定できるので,複数の顧客の処理を 1 台で行える。

〔従来方式でのサービス基盤の構成案〕

物理サーバには 2 枚の NIC を実装し,[ エ ] 機能を利用してアクティブ/アクティブの状態にする。

ア:複数のスイッチを専用ポートやケーブルでつなぎ,論理的に1台のスイッチとして動かす技術をスタックという。1台として動くので,L2SWa と L2SWb にまたがるリンクアグリゲーション(図2 の既設 L2SW からの2本)が組める。イ:セッション情報をスタンバイ側に引き継いでおき,切替え後も通信中のセッションを切らずに続けられるフェールオーバをステートフルフェールオーバという。ウ:LB はクラスタグループのサーバ群に要求を振り分ける。振り分け方(ラウンドロビン,最少コネクションなど)を負荷分散アルゴリズムという。エ:サーバ側で複数の NIC を束ねて1本の論理インタフェースとして使う機能を NIC チーミングという。スイッチ側のリンクアグリゲーションに当たる。

本文はそれぞれの働きを書いている。アは「一つの L2SW として動作」,イは「セッション情報を継承する」,エは「2 枚の NIC」「アクティブ/アクティブ」が手掛かりになる。図2 の凡例も「リンクアグリゲーション又はチーミング」としている。

間違えやすい点。採点講評のとおり,イの正答率が低かった。“ステートフル”は FW のフィルタリング(ステートフルインスペクション)でも使う語で,セッションの状態を保持することを指す。アを「カスケード」とすると,2台は別々のスイッチのままで,1台としては動かない。

採点講評(IPA)

設問1は,ア,ウ,エの正答率は高かったが,イの正答率が低かった。“ステートフル”は,ファイアウォール(以下,FWという)のフィルタリング機能などでも使われている用語なので,是非,知っておいてほしい。

設問2(1) 30字以内

本文中の下線①の要件が必要になる理由を,30 字以内で述べよ。

解答例(2通り)

  • 顧客ごとに異なるフィルタリングの設定が必要であるから
  • 顧客ごとにルーティングの設定が必要であるから
解説

本文の根拠

〔従来方式でのサービス基盤の構成案〕

FW は,①装置の中に複数の仮想 FW を稼働させることができ,②装置の冗長化ができる製品を選定する。

M 課長が提示した要件

(2) サービス基盤で稼働する顧客システムは,顧客ごとに論理的に独立させること

図1

P 社向け:P 社の Web サーバ利用者の PC(複数)がインターネットを経由して DC のルータに接続し,ルータ,L2SW,FWp,LBp,L2SW の順につながり,最後の L2SW に Web サーバ p1〜p4(P 社向けサーバ)が接続する。

従来のホスティングでは,図1 のとおり FWp,FWq のように顧客ごとに FW を置いていた。サービス基盤では FW を顧客間で共用するが,許可する通信(フィルタリングの設定)や経路(ルーティングの設定)は顧客ごとに違う。1台の FW に全顧客の設定を混ぜると,設定が干渉したり,ある顧客の変更がほかの顧客に影響したりする。装置の中に顧客ごとの仮想 FW を動かせば,設定を顧客ごとに独立させられる。

要件(2)「顧客ごとに論理的に独立させること」と,図1 の顧客ごとに独立した FW が根拠である。Z 社のように FW を置かない顧客もあり,顧客ごとに構成が違うことも読み取れる。

字数の詰め方(30字)。「顧客ごとに」と「何の設定が異なるか」を残す。解答例は「顧客ごとに異なるフィルタリングの設定が必要であるから」と「顧客ごとにルーティングの設定が必要であるから」の二つで,どちらを書いてもよい。どちらも FW が顧客ごとに独自に持つ設定だからである。

採点講評(IPA)

設問2では,従来方式による構成について問うた。全体として,正答率は低かった。(3)は,仮想化されたサーバのマイグレーションに対応させるときに不可欠な設定なので,理解しておいてほしい。

設問2(2) 解答欄3つ

本文中の下線②の機能について,アクティブの FW を FWa から FWb に切り替えるのに,FWa 又は FWb が監視する内容を三つ挙げ,図 2 中の機器名を用いて,それぞれ 25 字以内で答えよ。

〔①〕解答例

  • FWbによるFWaの稼働状態
  • FWaによるL2SWaへの接続ポートのリンク状態
  • FWaによるLBaへの接続ポートのリンク状態
  • FWaによるFWbの稼働状態
  • FWbによるL2SWbへの接続ポートのリンク状態
  • FWbによるLBbへの接続ポートのリンク状態

〔②〕解答例

  • FWbによるFWaの稼働状態
  • FWaによるL2SWaへの接続ポートのリンク状態
  • FWaによるLBaへの接続ポートのリンク状態
  • FWaによるFWbの稼働状態
  • FWbによるL2SWbへの接続ポートのリンク状態
  • FWbによるLBbへの接続ポートのリンク状態

〔③〕解答例

  • FWbによるFWaの稼働状態
  • FWaによるL2SWaへの接続ポートのリンク状態
  • FWaによるLBaへの接続ポートのリンク状態
  • FWaによるFWbの稼働状態
  • FWbによるL2SWbへの接続ポートのリンク状態
  • FWbによるLBbへの接続ポートのリンク状態

〔備考〕解答例は6項目を挙げている。①〜③には,このうち異なる三つを答える(順不同)

解説

本文の根拠

〔従来方式でのサービス基盤の構成案〕

冗長構成では,アクティブの仮想 FW が保持しているセッション情報が,装置間を直結するケーブルを使って,スタンバイの仮想 FW に転送される。

〔従来方式でのサービス基盤の構成案〕

図 2 の構成案では,FW と LB は,FWa と LBa をアクティブに設定する。スタンバイの装置がアクティブに切り替わる条件は,両装置とも同様であり,両装置は連動して切り替わる。

図2

L2SWa の下に FWa,LBa,L2SWc が縦につながり,L2SWb の下に FWb,LBb,L2SWd が縦につながる。FWa と FWb,LBa と LBb,L2SWc と L2SWd はそれぞれ横に接続されている。

アクティブの FWa を FWb に切り替えるべき場面は,FWa 自体が止まったときと,FWa の上下のリンクが切れて通信できなくなったときである。前者は,直結ケーブルを通じて相手の稼働状態(ハートビート)を監視して検出する。FWb が FWa の稼働状態を見る形のほか,FWa が FWb の稼働状態を見る形もある。後者は,FWa が上側の L2SWa への接続ポートと下側の LBa への接続ポートのリンク状態を監視して検出する。スタンバイ側も同じ条件で見るので,FWb の L2SWb 側,LBb 側のリンク状態も監視対象になる。

図2 で FWa は L2SWa(上),LBa(下),FWb(横)の三方につながっている。それぞれの接続先に対応した監視内容を挙げればよい。本文の「両装置は連動して切り替わる」は,LB も同じ条件で切り替わることを示している。

字数の詰め方(各25字)。「誰が」「何の」「どの状態」を図2 の機器名で書く。解答例は「FWb による FWa の稼働状態」「FWa による L2SWa への接続ポートのリンク状態」「FWa による LBa への接続ポートのリンク状態」などの6項目を挙げており,このうち三つを答えればよい。

採点講評(IPA)

設問2では,従来方式による構成について問うた。全体として,正答率は低かった。(3)は,仮想化されたサーバのマイグレーションに対応させるときに不可欠な設定なので,理解しておいてほしい。

設問2(3) 50字以内

本文中の下線③について,VLAN を設定するポート及び設定する VLAN の内容を,50 字以内で具体的に述べよ。

解答例

  • 物理サーバへの接続ポートに,全ての顧客の仮想サーバに設定されたVLAN IDを設定する。
解説

本文の根拠

〔従来方式でのサービス基盤の構成案〕

L2SWc と L2SWd には,リンクアグリゲーションのほかに,③仮想サーバの物理サーバ間移動に必要となる VLAN を設定する。

〔従来方式でのサービス基盤の構成案〕

サービス基盤は,VLAN によって顧客間のネットワークを論理的に独立させる。

図2

物理サーバ1〜物理サーバ n はそれぞれ2枚の NIC をもち,一方の NIC が L2SWc に,他方の NIC が L2SWd に接続し,その2本はリンクアグリゲーション又はチーミングになっている。

仮想サーバは顧客ごとの VLAN に属しており,ライブマイグレーションなどでほかの物理サーバに移っても同じ VLAN(同じ IP サブネット)で通信を続ける必要がある。移動先がどの物理サーバになるかは分からないので,L2SWc と L2SWd の物理サーバへの接続ポートには,全ての顧客の仮想サーバに設定された VLAN ID を設定しておく(タグ VLAN のトランクにする)。そうすれば,どの物理サーバに移っても,その VLAN のフレームがポートを通れる。

本文は顧客間を VLAN で分けるとしており,物理サーバは複数の顧客の仮想サーバを載せる。物理サーバとの間のポートは,いま載っている仮想サーバの VLAN だけでなく,移ってくる可能性がある全ての VLAN を通す必要がある。

字数の詰め方(50字)。「どのポートに」と「どの VLAN を」の二つを残す。解答例は「物理サーバへの接続ポートに,全ての顧客の仮想サーバに設定された VLAN ID を設定する。」である。採点講評のとおり,これはサーバのマイグレーションに対応させるときに不可欠な設定である。

採点講評(IPA)

設問2では,従来方式による構成について問うた。全体として,正答率は低かった。(3)は,仮想化されたサーバのマイグレーションに対応させるときに不可欠な設定なので,理解しておいてほしい。

設問3 15字以内

本文中の下線④の情報を,15 字以内で答えよ。

解答例(2通り)

  • OFCのIPアドレス
  • 自OFSのIPアドレス
解説

本文の根拠

〔SDN 方式でのサービス基盤の構成案〕

これらの OFS は,起動すると OFC との間で TCP コネクションを確立する。その後は,OFC との間の通信路となる OF チャネルが開設され,それを経由して OFC から F テーブルの作成や更新が行われる。

〔SDN 方式でのサービス基盤の構成案〕

したがって,OFS の導入時には,④ OFC との TCP コネクションの確立に必要な最小限の情報を設定すればよく,導入作業は容易である。

〔SDN 方式でのサービス基盤の構成案〕

OFC は,OFS1 と OFS2 の管理用ポートに接続する。

OpenFlow では,スイッチ(OFS)が起動するとコントローラ(OFC)に TCP コネクション(TLS を使うこともある)を張り,OF チャネルを開設する(ONF の OpenFlow Switch Specification)。接続を始めるのは OFS なので,OFS には接続先である OFC の IP アドレスが要る。また,管理用ポートで IP 通信をするために,OFS 自身の IP アドレスも要る。フローテーブルなどそのほかの設定は,接続後に OFC から送られてくる。

本文の「起動すると OFC との間で TCP コネクションを確立する」「それを経由して OFC から F テーブルの作成や更新が行われる」から,OFS に事前に入れるのは接続のための情報だけでよいことが分かる。

字数の詰め方(15字)。解答例は「OFC の IP アドレス」と「自 OFS の IP アドレス」で,どちらを書いてもよい。TCP コネクションには相手と自分の両方のアドレスが要るので,どちらも最小限の情報に当たる。

設問4(1) 解答欄3つ

表 1 中の項番 2 について,従来方式の場合,FW では複数の仮想 FW を設定することになる。仮想 FW の設定に伴って,各仮想 FW に対して設定が必要なネットワーク情報を三つ挙げ,それぞれ 15 字以内で答えよ。

〔①〕解答例

  • フィルタリングルール
  • 仮想FWのVLAN ID
  • 仮想FWのIPアドレス
  • 仮想FWのサブネットマスク
  • 仮想FWの仮想MACアドレス
  • ルーティング情報

〔②〕解答例

  • フィルタリングルール
  • 仮想FWのVLAN ID
  • 仮想FWのIPアドレス
  • 仮想FWのサブネットマスク
  • 仮想FWの仮想MACアドレス
  • ルーティング情報

〔③〕解答例

  • フィルタリングルール
  • 仮想FWのVLAN ID
  • 仮想FWのIPアドレス
  • 仮想FWのサブネットマスク
  • 仮想FWの仮想MACアドレス
  • ルーティング情報

〔備考〕解答例は6項目を挙げている。①〜③には,このうち異なる三つを答える(順不同)

解説

本文の根拠

〔従来方式でのサービス基盤の構成案〕

FW は,①装置の中に複数の仮想 FW を稼働させることができ,②装置の冗長化ができる製品を選定する。

〔従来方式でのサービス基盤の構成案〕

既設の L2SW 又は L3SW に接続する L2SWa と L2SWb のポートには,接続先の顧客ごとにリンクアグリゲーションと VLAN を設定する。

表1

項番2:構築時の設定作業,従来方式・SDN 方式とも(設問のため省略)。

仮想 FW は,通常の FW を1台の装置の中に複数作ったものである。したがって各仮想 FW には,通常の FW と同じネットワーク情報を設定する。通信の許可・拒否を決めるフィルタリングルール,どの顧客の VLAN に属するかを示す VLAN ID,インタフェースの IP アドレスとサブネットマスク,冗長化の際に切り替わっても変わらない仮想 MAC アドレス,宛先ネットワークへのルーティング情報などである。

本文はサービス基盤を VLAN で顧客ごとに分けるとしているので,仮想 FW も顧客の VLAN に属させる必要がある。また,冗長構成でアクティブとスタンバイが切り替わるため,隣接機器から見たアドレスを変えない仮想 MAC アドレスも要る。

字数の詰め方(各15字)。項目名だけを書く。解答例は「フィルタリングルール」「仮想 FW の VLAN ID」「仮想 FW の IP アドレス」「仮想 FW のサブネットマスク」「仮想 FW の仮想 MAC アドレス」「ルーティング情報」の6項目で,このうち三つを答えればよい。採点講評のとおり,仮想 FW に設定すべき情報は通常の FW とほぼ同じと考えればよい。

採点講評(IPA)

設問4は,(1)の正答率が低かった。マルチテナント環境では,顧客ごとにネットワークの要件が異なるので,FWの筐体内で,各顧客向けに複数のFW(以下,仮想FWという)を稼働させる必要がある。仮想FWは,通常のFWと同様の働きを行うものなので,仮想FWに対して設定すべきネットワーク情報も,通常のFWとほぼ同じであることを理解しておいてほしい。

設問4(2) 40字以内

表 1 中の項番 3 について,従来方式の場合,追加する顧客に対応した VLAN 設定がサービス基盤の全ての機器及びサーバで必要になる。その中で,ポート VLAN を設定する箇所を,図 2 中の名称を用いて,40 字以内で答えよ。

解答例

  • 顧客のL2SW又はL3SWに接続する,L2SWa及びL2SWbのポート
解説

本文の根拠

〔従来方式でのサービス基盤の構成案〕

既設の L2SW 又は L3SW に接続する L2SWa と L2SWb のポートには,接続先の顧客ごとにリンクアグリゲーションと VLAN を設定する。

〔従来方式でのサービス基盤の構成案〕

サービス基盤は,VLAN によって顧客間のネットワークを論理的に独立させる。

図2

サービス基盤(破線の枠)には L2SWa と L2SWb があり,既設の L2SW(P 社側),L2SW(Q 社側),L3SW(Z 社側)は,それぞれ L2SWa と L2SWb の両方に1本ずつ接続し,その2本はリンクアグリゲーションになっている。

ポート VLAN(アクセスポート)は,1つのポートを1つの VLAN に所属させ,タグを付けずにフレームをやり取りする。既設の顧客側の L2SW や L3SW は,それぞれ1顧客専用の機器で,サービス基盤の VLAN を知らない。そこで,それらが接続する L2SWa と L2SWb のポートを顧客の VLAN のポート VLAN にし,受け取ったフレームをその顧客の VLAN に入れる。一方,L2SWa から FW,LB,L2SWc,物理サーバへと続く区間は,複数顧客のフレームが同じ線を通るので,タグ VLAN(トランク)で VLAN を区別する。

本文の「接続先の顧客ごとにリンクアグリゲーションと VLAN を設定する」は,ポート(顧客)ごとに一つの VLAN を割り当てることを示している。

字数の詰め方(40字)。「顧客の L2SW 又は L3SW に接続する」と「L2SWa 及び L2SWb のポート」を図2 の名称で書く。解答例は「顧客の L2SW 又は L3SW に接続する,L2SWa 及び L2SWb のポート」である。L2SWa と L2SWb の一方だけを書くと,リンクアグリゲーションのもう片方の設定が抜ける。

設問5(1) 解答欄2つ

本番システムにおいて,図 4 の形態で 3 顧客の仮想サーバを配置した場合に発生する可能性がある問題を,40 字以内で述べよ。また,その問題を発生させないための仮想サーバの配置を,40 字以内で述べよ。

〔発生する可能性がある問題〕解答例

  • 物理サーバ3の障害によって,3顧客のシステムが同時に停止してしまう。

〔仮想サーバの配置〕解答例

  • 3顧客向けの仮想サーバを,それぞれ異なった物理サーバに配置する。
解説

本文の根拠

図4

物理サーバ3の仮想 L2SW には,P 社向けの FWp が a(VLAN ID=100)と b(VLAN ID=110)で,P 社向けの LBp が b(VLAN ID=110)と c(VLAN ID=120)で,Q 社向けの FWq が d(VLAN ID=200)と e(VLAN ID=210)で,Z 社向けの LBz が f(VLAN ID=300)と g(VLAN ID=310)で接続する。

M 課長が提示した要件

(3) サービス基盤は冗長構成とし,サービス停止を極力抑えられるようにすること

〔技術習得を目的とした制御方式の設計〕

テストシステムは,図 1 中の P 社,Q 社及び Z 社の 3 顧客向けのシステムを収容した構成である。

図4 では,3顧客の FW と LB(FWp,LBp,FWq,LBz)がすべて物理サーバ3 に載っている。どの顧客の通信も,WAN 側から入ったあと必ずこの FW か LB を通るので,物理サーバ3 に障害が起きると3顧客のシステムが同時に止まる。ほかの物理サーバで仮想サーバを起動し直すとしても,それまでの間は3顧客とも停止する。これを避けるには,3顧客向けの仮想サーバを,顧客ごとに異なる物理サーバに配置し,1台の障害が複数の顧客に及ばないようにする。

要件(3)「サービス停止を極力抑えられるようにすること」が評価の基準である。採点講評によれば,図4 の配置は生成される F テーブルの内容を考慮したもので,本番システムでは物理サーバ3 の障害で3顧客が一時的に同時停止するという問題がある。

字数の詰め方(各40字)。問題は「物理サーバ3 の障害」と「3顧客が同時に停止」を,配置は「顧客ごとに」「異なる物理サーバに」を残す。解答例は「物理サーバ 3 の障害によって,3 顧客のシステムが同時に停止してしまう。」と「3 顧客向けの仮想サーバを,それぞれ異なった物理サーバに配置する。」である。

採点講評(IPA)

設問5では,OpenFlowを利用したときの構成とパケットの転送制御について問うた。(1)の正答率が低かった。テストシステムの仮想サーバの配置(図4)は,生成されるフローテーブル(以下,Fテーブルという)の内容を考慮したものだが,この仮想サーバの配置には,物理サーバ3に障害が発生すると3顧客のシステムが,一時的であるが同時に停止するという問題がある。構成図(図4)から,この問題点を見つけ出してほしかった。改善策は,顧客ごとの仮想サーバを,それぞれ異なる物理サーバに配置することで,物理サーバの障害の影響を複数の顧客に及ばないようにすることである。(2)は,正答率が高かった。物理サーバ内の,仮想レイヤ2スイッチに接続された仮想サーバ間で行われるパケットの転送制御については,理解が高いことがうかがえた。(3),(4)とも,正答率が高かった。本問では,五つのFテーブルによってパケットの転送制御を行う方法を示したが,各Fテーブルの役割やFテーブル間で行われるパケットの転送手順などについても,十分に理解されていることがうかがえた。

設問5(2) 70字以内

表 8 の F テーブル 4 中には,FWp の内部側のポートから LBp の仮想 IP アドレスをもつポートに,パケットを転送させるための F エントリが生成されない。当該 F エントリがなくても FWp と LBp 間の通信が行われる理由を,70 字以内で述べよ。

解答例

  • FWpの内部側ポートとLBpの仮想IPアドレスをもつポートは,同一セグメントであり,物理サーバ3内で処理されるから
解説

本文の根拠

図4

物理サーバ3の仮想 L2SW には,P 社向けの FWp が a(VLAN ID=100)と b(VLAN ID=110)で,P 社向けの LBp が b(VLAN ID=110)と c(VLAN ID=120)で,Q 社向けの FWq が d(VLAN ID=200)と e(VLAN ID=210)で,Z 社向けの LBz が f(VLAN ID=300)と g(VLAN ID=310)で接続する。

表3

項番5:F テーブル4,物理サーバ3から,p13 経由で OFS に入力したパケットの処理。

FWp の内部側ポートと LBp の仮想 IP アドレスをもつポートは,どちらも VLAN ID 110(b)に属する同一セグメントで,同じ物理サーバ3 の仮想 L2SW につながっている。FWp から LBp へのフレーム(ARP も含む)は,物理サーバ3 の中の仮想 L2SW で折り返して届き,NIC から OFS へは出ていかない。OFS に入力されないパケットには F テーブルが関係しないので,F テーブル4 に F エントリが無くても通信できる。

表3 のとおり F テーブル4 は「物理サーバ3 から,p13 経由で OFS に入力したパケット」を処理する。FWp と LBp の間の通信は p13 に届かないので,処理の対象にならない。

字数の詰め方(70字)。「同一セグメント」と「物理サーバ3 内で処理される」の二つを残す。解答例は「FWp の内部側ポートと LBp の仮想 IP アドレスをもつポートは,同一セグメントであり,物理サーバ 3 内で処理されるから」である。

採点講評(IPA)

設問5では,OpenFlowを利用したときの構成とパケットの転送制御について問うた。(1)の正答率が低かった。テストシステムの仮想サーバの配置(図4)は,生成されるフローテーブル(以下,Fテーブルという)の内容を考慮したものだが,この仮想サーバの配置には,物理サーバ3に障害が発生すると3顧客のシステムが,一時的であるが同時に停止するという問題がある。構成図(図4)から,この問題点を見つけ出してほしかった。改善策は,顧客ごとの仮想サーバを,それぞれ異なる物理サーバに配置することで,物理サーバの障害の影響を複数の顧客に及ばないようにすることである。(2)は,正答率が高かった。物理サーバ内の,仮想レイヤ2スイッチに接続された仮想サーバ間で行われるパケットの転送制御については,理解が高いことがうかがえた。(3),(4)とも,正答率が高かった。本問では,五つのFテーブルによってパケットの転送制御を行う方法を示したが,各Fテーブルの役割やFテーブル間で行われるパケットの転送手順などについても,十分に理解されていることがうかがえた。

設問5(3) 解答欄3つ

P 社の Web サーバ利用者から送信された,Web サーバ宛てのユニキャストパケットが Web サーバ p1 に転送されるとき,パケットの転送は,次の【パケット転送処理手順】となる。【パケット転送処理手順】ルータ→L2SW→F テーブル 0,項番 1→ [ オ ] →FWp→LBp→ [ カ ] → [ キ ] →Web サーバ p1 【パケット転送処理手順】中の [ オ ] 〜 [ キ ] に入れる適切な F テーブル名と項番を答えよ。F テーブル名は,F テーブル 0〜4 から選べ。また,項番は表 4〜8 中の項番で答えよ。ここで,パケット転送制御を行う OFS は特定しないものとする。

〔オ〕解答例

  • Fテーブル1,項番2

〔カ〕解答例

  • Fテーブル0,項番6

〔キ〕解答例

  • Fテーブル4,項番6
解説

本文の根拠

表4

項番1:入力ポート=p1,VLAN ID が 100 のタグをセット,F テーブル1で定義された処理を行う,中。

表5

項番2:mDES(注2)=mFWpw,p13 から出力,中。

表4

項番6:入力ポート=p13,F テーブル4で定義された処理を行う,中。

表8

項番6:mDES=mWSp1,mSRC=mLBp,p11 から出力,中。

順に追う。P 社の Web サーバ利用者からのパケットは,ルータ(内部側 mRT)から L2SW を経て OFS の p1 に入る。F テーブル0 の項番1 で VLAN ID 100 のタグを付けて F テーブル1 に回る。宛先 MAC アドレスはルータが次ホップとして選んだ FWp の WAN 側 mFWpw なので,オは F テーブル1 の項番2(p13 から出力)である。物理サーバ3 の中で FWp から LBp に渡り,LBp は Web サーバ p1 を選んで,送信元 mLBp,宛先 mWSp1,VLAN ID 120 のフレームを送る。これが p13 から OFS に入るので,カは F テーブル0 の項番6(F テーブル4 へ),キは F テーブル4 の項番6(p11 から出力)である。p11 の先の物理サーバ1 に Web サーバ p1 がある。

表2 の MAC アドレス(mFWpw は FWp の WAN 側,mLBp は LBp の内部側)と,図4 の接続(p13 が物理サーバ3,p11 が物理サーバ1)を照らし合わせて確かめられる。

間違えやすい点。FWp から LBp への区間は設問5(2)のとおり物理サーバ3 の中で済むので,F テーブルは通らない。カを F テーブル4 とすると,F テーブル0 の振分けを飛ばしている。OFS に入ったパケットは必ず F テーブル0 から処理される。

採点講評(IPA)

設問5では,OpenFlowを利用したときの構成とパケットの転送制御について問うた。(1)の正答率が低かった。テストシステムの仮想サーバの配置(図4)は,生成されるフローテーブル(以下,Fテーブルという)の内容を考慮したものだが,この仮想サーバの配置には,物理サーバ3に障害が発生すると3顧客のシステムが,一時的であるが同時に停止するという問題がある。構成図(図4)から,この問題点を見つけ出してほしかった。改善策は,顧客ごとの仮想サーバを,それぞれ異なる物理サーバに配置することで,物理サーバの障害の影響を複数の顧客に及ばないようにすることである。(2)は,正答率が高かった。物理サーバ内の,仮想レイヤ2スイッチに接続された仮想サーバ間で行われるパケットの転送制御については,理解が高いことがうかがえた。(3),(4)とも,正答率が高かった。本問では,五つのFテーブルによってパケットの転送制御を行う方法を示したが,各Fテーブルの役割やFテーブル間で行われるパケットの転送手順などについても,十分に理解されていることがうかがえた。

設問5(4) 解答欄3つ

P 社の Web サーバ p4 が物理サーバ 2 に移動し,表 7 の OFS1 の F テーブル 3 中の項番 5 によって,OFC に Packet-In メッセージが送信されると,OFC は表 8 の F テーブル 4 中の二つの項番を変更する。F テーブル 4 が変更される OFS 名を全て答えよ。また,項番 3 のほかに変更される項番及び変更後のアクションを答えよ。

〔OFS名〕解答例

  • OFS1,OFS2

〔項番〕解答例

  • 7

〔変更後のアクション〕解答例

  • p12から出力
解説

本文の根拠

表8

項番3:eTYPE=ARP,VLAN ID=120,mDES=FF-FF-FF-FF-FF-FF,p11 から出力,高。

表8

項番7:mDES=mWSp4,mSRC=mLBp,p11 から出力,中。

表7

注記:項番5は,仮想サーバが物理サーバ2に移動してきたことを OFC に知らせるための F エントリである。

図4

物理サーバ3は OFS1 の p13 と OFS2 の p13 に,それぞれ2枚の NIC で接続し,それぞれの2本はリンクアグリゲーション又はチーミングになっている。

Web サーバ p4 が物理サーバ1 から物理サーバ2 に移ると,LBp(物理サーバ3)から p4 へのフレームの出力先を p11 から p12 に変えなければならない。F テーブル4 で p4 宛て(mDES=mWSp4,mSRC=mLBp)を扱うのは項番7 なので,アクションを「p12 から出力」に変える。項番3(VLAN ID 120 の ARP ブロードキャストを p11 へ)も,VLAN 120 の仮想サーバが物理サーバ2 にもできたので出力先を変える必要があり,設問はこれを「項番3 のほかに」と除いている。

変更する OFS は OFS1 と OFS2 の両方である。物理サーバ3 の2枚の NIC はアクティブ/アクティブで OFS1 の p13 と OFS2 の p13 の両方につながっているので,LBp からのフレームはどちらの OFS にも入りうる。表の見出しのとおり F テーブルは OFS1 と OFS2 で同じ内容を持つ。

間違えやすい点。Packet-In を送ったのが OFS1 だからといって OFS1 だけを変えると,OFS2 に入ったフレームは古い p11 に出てしまう。項番6(p1 宛て)は p1 が移動していないので変えない。

採点講評(IPA)

設問5では,OpenFlowを利用したときの構成とパケットの転送制御について問うた。(1)の正答率が低かった。テストシステムの仮想サーバの配置(図4)は,生成されるフローテーブル(以下,Fテーブルという)の内容を考慮したものだが,この仮想サーバの配置には,物理サーバ3に障害が発生すると3顧客のシステムが,一時的であるが同時に停止するという問題がある。構成図(図4)から,この問題点を見つけ出してほしかった。改善策は,顧客ごとの仮想サーバを,それぞれ異なる物理サーバに配置することで,物理サーバの障害の影響を複数の顧客に及ばないようにすることである。(2)は,正答率が高かった。物理サーバ内の,仮想レイヤ2スイッチに接続された仮想サーバ間で行われるパケットの転送制御については,理解が高いことがうかがえた。(3),(4)とも,正答率が高かった。本問では,五つのFテーブルによってパケットの転送制御を行う方法を示したが,各Fテーブルの役割やFテーブル間で行われるパケットの転送手順などについても,十分に理解されていることがうかがえた。

出典:平成30年度 秋期 ネットワークスペシャリスト試験 午後Ⅱ 問2(表記を一部改変)