ネットワーク拡張におけるMQTTクライアント接続で考慮すること【ネットワークスペシャリスト試験 平成30年度 秋期 午後2 問1-5】

ネットワークスペシャリスト試験 平成30年度 秋期 午後2 問1-5

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

(略)

f:id:aolaniengineer:20200729043020p:plain

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

クライアントは、サーバのTCPポート8883番にアクセスし、TCPコネクションを確立する。このTCPコネクションは、メッセージ交換の間は常に維持される。

(略)

f:id:aolaniengineer:20200729043445p:plain

(略)

【エッジサーバを活用する将来構想】

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

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

f:id:aolaniengineer:20200801052233p:plain

f:id:aolaniengineer:20200801052256p:plain

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

図8中のNATルータについて、顧客ネットワークからXシステムの方向の通信におけるアドレス変換の内容を、60字以内で具体的に述べよ。:送信元IPアドレスをNATルータ-Pに、宛先IPアドレスをエッジサーバ-Pに、それぞれ変換する。

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

 本問では、アドレス変換の内容を具体的に問われているため、対象となる機器を特定します。

 「顧客ネットワークからXシステムの方向の通信」とは、図7のメッセージ交換例から、具体的には「顧客サーバ」から「エッジサーバ」への通信であることが分かります。

 顧客サーバが通信の宛先IPアドレスに指定するのは同じネットワーク内の「NATルータ-P’」、送信元IPアドレスに指定するのは自分自身の「顧客サーバ-P’」です。

 データを受信したNATルータは、宛先IPアドレスを「エッジサーバ-P」、送信元IPアドレスを「「NATルータ-P」に変換することで、相互のプライベートIPアドレス間で通信を可能とします。

図8中の顧客FWについて、Xシステムとの接続のために、新たに許可が必要になる通信を40字以内で答えよ。:顧客サーバ-P’からNATルータ-P’のポート8883番への通信

 顧客FWを通過する通信で追加されるのは、NATルータ経由での顧客ネットワークとXシステム間の通信です。

 具体的には、この後の図9にも示されていますが、「顧客サーバのMQTTクライアント機能とエッジサーバのMQTTサーバ機能間の通信」になります。

 FWへの通信の許可・拒否の設定には、IPアドレスとポート番号を使用します。

 IPアドレスについては、クライアントは顧客サーバ-P’、サーバはエッジサーバの顧客ネットワーク側のアドレスであるNATルータ-P’となります。

 ポート番号については、MQTTにおける通信の内容として本文に「クライアントは、サーバのTCPポート8883番にアクセスし、TCPコネクションを確立する」とあります。

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

f:id:aolaniengineer:20200801052459p:plain

 図9の説明を次に示す。

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

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

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

⑥について、定義するトピック名を全て答えよ。:config/Di、status/Di

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

 ここで出てくるほかのMQTTサーバとはどの機器でしょうか。

 現状では図4にあるように、デバイス(MQTTクライアント)は交換サーバをMQTTサーバとしてやり取りしています。

 将来構想では図7のとおり、更にエッジサーバがMQTTサーバになり、デバイスは交換サーバとエッジサーバの両方とMQTTのメッセージ交換を行う必要があります。

 しかし、上記の説明のようにデバイスは複数の機器とTCPコネクションを確立できません。

 ここでMQTTブリッジを利用します。

 エッジサーバにMQTTブリッジを稼働させ、デバイスと交換サーバのメッセージ交換を転送します。

 これによりデバイスはエッジサーバとのみTCPコネクションを確立した状態で、エッジサーバと交換サーバの両方とメッセージ交換を行うことができます。

 問われているのは、デバイスが交換サーバとメッセージ交換するトピック名です。

 これは図4に示されているように「config/Di」と「status/Di」になります。

図7~9中の顧客サーバを1台追加する場合、Xシステム側で必要となる対応を二つ挙げ、それぞれ30字以内で述べよ。:1:1静的双方向NATの設定をNATルータに追加する。/通信を許可するルールを通信装置内のFWに追加する。

 追加した顧客サーバでは、既設の顧客サーバと同様にXシステムのエッジサーバとの通信を行います。

 その通信経路上にある機器としては、「顧客FW」「NATルータ」「FW」があります。

 設問ではXシステム側で必要となる対応とあるので、「NATルータ」と「FW」に絞って考えます。

 「NATルータ」は1:1静的双方向NATとして動作しているので、追加した顧客サーバのIPアドレスを設定する必要があります。

 「FW」も同様に、追加した顧客サーバに該当するIPアドレス(NAT変換した後のXシステム側で見えるIPアドレス)に関するルールを設定する必要があります。

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

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

【出典:ネットワークスペシャリスト試験 平成30年度 秋期 午後2 問1(一部、加工あり)】

https://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2018h30_2/2018h30a_nw_pm2_qs.pdf

Follow me!