令和7年度 春期 ネットワークスペシャリスト試験 午後II 問題 問2 LPWAとCoAPによるIoT遠隔検針

テクノロジネットワーク組込み・IoT

この問題は2025(R7)春 ネットワークスペシャリスト 午後IIに出題されたものです。出題時点の法令・制度に基づく内容のため、現行の内容と一致しない場合があります。

本ページの問題文・選択肢は、原本の体裁を Web 表示用に正規化しています(改行・記号・数式・図表参照の調整)。設問の趣旨および正解に影響する変更は加えていません。

学習ガイド

LPガスの遠隔検針システムを題材に、IoT向けの通信技術を深掘りする午後Ⅱの問題です。LPWAの無線特性、軽量プロトコルCoAPのメッセージ形式と信頼性確保の仕組み、スリープによる省電力、DTLSを使わない判断の根拠、時刻同期の問題まで、省電力・低帯域という制約の下での設計判断が連続します。この記事では、電池駆動で長期間動かすという一つの要求から各設計がどう導かれるかを一貫して解説します。

この記事で押さえる論点

  • LPWA無線の特性と回線選択の考え方を説明する
  • CoAPのメッセージ形式・再送・トークンの仕組みを読み解く
  • 電力・帯域制約下のセキュリティと時刻同期の設計を検討する

問題本文

問2 IoTシステムの設計に関する次の記述を読んで,設問に答えよ。

Y社は,LPガスメーターを製造し,全国のLPガス販売業者に販売している。このたび,Y社では,LPガス販売業者向けにLPガス使用量の遠隔検針サービスを開始することになり,遠隔検針機能をもつY社製LPガスメーター(以下,Gメーターという),Gメーターを管理するサーバなどから構成されるIoTシステムを開発することにした。

IoTシステム開発プロジェクトチームの責任者には,W課長が任命された。W課長は,IoTシステムの要件として次の二つを設定し,プロジェクトチームのメンバーでネットワーク技術者のX主任に,IoTシステムの機能と構成の検討を指示した。
(1) Gメーターは全国に設置されるので,全国規模で提供可能なIoT向けの無線回線を利用すること
(2) Gメーターは電池で動作させるので,長時間の稼働を可能にすること

〔IoT向けの無線技術の調査と無線回線の選定〕

最初に,X主任は,IoT向けの無線技術を調査し,調査結果を次のようにまとめた。

  • IoT向けには,LPWA(Low Power Wide Area)と呼ばれる,低a電力の無線通信技術が利用される。
  • LPWAは,セルラー系と非セルラー系の二つに大別される。b系にはLoRaWAN,Sigfoxなどがあり,c系にはLTE-M(LTE Cat.M1),NB-IoT(LTE Cat.NB1)などがある。
  • LoRaWAN,Sigfoxは,日本ではSub-GHz帯の一つである920 MHz帯を利用する。920 MHz帯はWi-Fiが利用する周波数帯と同様に,dバンドと呼ばれる周波数帯であるが,2.4 GHz帯と比べて電波eの影響が少ない。
  • LTE-M,NB-IoTは,fと呼ばれる標準化プロジェクトが作成した技術仕様を基に,通信事業者が全国規模で構築したLTE網でサービスが提供されている。

調査の結果,LTE-Mを利用すれば全国の幅広い地域でIoTシステムを稼働させることができることが分かった。次に,X主任は,LTE-Mを利用したIoT向けのサービスを提供している企業の中からZ社を選定し,Z社のIoT向け通信サービスについて調査することにした。

〔Z社のIoT向け通信サービスの調査〕

Z社のIoT向け通信サービスは,LPWA閉域接続サービスとIPsec VPNを用いて顧客ごとに閉域網を構成する。

Z社のIoT向け通信サービスを利用したときのIoTシステムの構成を図1に示す。

図1 Z社のIoT向け通信サービスを利用したときのIoTシステムの構成(抜粋)
図の説明テキスト

Z社のIoT向け通信サービスを利用したときのIoTシステムの構成を示すネットワーク図。

  • 複数のGメーターがLTE-M経由でZ社のIoT向け通信サービス内のLPWA閉域接続サービスのGWに接続している。
  • GWはZ社サービス拠点のルータに接続し、IPsecルータ1につながる。
  • IPsecルータ1はインターネットを介してY社サービス拠点のIPsecルータ2に接続される。
  • IPsecルータ2はY社サービス拠点のGメーター管理サーバに接続される。

Z社は,GWとルータとの間を専用線で接続し,Z社サービス拠点とY社サービス拠点との間はIPsec VPNで接続することによって,Y社向けの閉域網を構成する。

図1中のIPsecルータ1で動作するIKEv2は,IPsecルータ2との間で,四つのメッセージの交換を g 往復で行い,SAD (Security Association Database) を作成する。IPsecルータ1のSPD (Security Policy Database) 中のセレクターには, h 宛てのパケットを受信したとき,SADを参照してIPsecの処理を行うことが設定されている。

閉域網が構成されることによって,GメーターとIPsecルータ2に接続する予定のGメーター管理サーバとの通信は,プライベートIPアドレスで行うことができる。Gメーターには,通信事業者が契約者を識別する情報を記録している i カードを装着する。

X主任は,Z社のIoT向け通信サービスの利用料を,次の条件を基に試算した。

  • Gメーター1台当たりの1回の検針時の通信量を100バイトとし,1時間ごとに検針を実施する。
  • 通信費は1か月の通信量1,000バイト当たり1円とし、Gメーターごとに割り当てる1回線当たりの基本料金は月額300円とする。

この条件から、Z社のIoT向け通信サービスを利用すると、1か月が30日の場合、Gメーター1台当たりの検針に必要な1か月の利用料は j 円なので、LPガス販売業者向けに安価な遠隔検針サービスを提供できることが分かった。

次にX主任は、GメーターとGメーター管理サーバとの間でデータを送受信するための通信プロトコルを検討した。IoT向けの通信プロトコルには、RFC 7252で標準化されたCoAP (Constrained Application Protocol) とOASIS標準メッセージングプロトコルであるMQTT (Message Queuing Telemetry Transport) がある。CoAPは、WebシステムにおけるAPIの形式である k アーキテクチャを採用しているので、Web技術でIoTシステムを構築する場合に適している。そこで、X主任は、CoAPについて調査した。

〔CoAPの調査〕

CoAPは、伝送効率を考慮して標準ではUDPを利用し、データの保護が必要な場合は、RFC 9147で標準化されたDTLS (Datagram TLS) を利用することができる。

CoAPのメッセージ形式を図2に示す。

図2 CoAPのメッセージ形式
図の説明テキスト

CoAPのメッセージ形式のデータ構造図。

  • 0〜31ビットの中に、Ver(0-1ビット), T(2-3ビット), TKL(4-7ビット), コード(8-15ビット), メッセージID(16-31ビット)が並ぶ。
  • 先頭の4バイトは固定長ヘッダー。
  • その後にトークン、オプション、アプリケーションのデータなどが続く。

CoAPでは、確認が必要なメッセージ(以下、CONという)、確認が不要なメッセージ(以下、NONという)、確認応答メッセージ(以下、ACKという)、リセットメッセージの4種類が定義されており、図2中のタイプでメッセージ種類を指定する。CoAPサーバ及びCoAPクライアントは、CONを受信したときはACKを返送し、NONを受信したときはACKを返送しない。

図2中のコードは,要求の場合,メソッドコードを示し,応答の場合,レスポンスコードを示す。メソッドコードを表1に,レスポンスコードを表2に示す。

表1 メソッドコード(抜粋)
図の説明テキスト
コード メソッド名 説明
0.01 GET 指定したリソースを取得する。
0.02 POST 指定したリソースを作成する。
0.04 DELETE 指定したリソースを削除する。
表2 レスポンスコード(抜粋)
図の説明テキスト
コード 状態 説明
2.01 Created リクエストが正常に処理され,指定したリソースが作成された。
2.02 Deleted リクエストが正常に処理され,指定したリソースが消去された。
2.05 Content リクエストが正常に処理され,指定したリソースが取得された。

メッセージIDは,要求と応答のメッセージを関連付けるとともに,メッセージの重複を検出するのに使用される。CoAPは,l層のプロトコルであるUDP上での動作を前提としている。通信品質の劣るネットワークなどでは,パケットがmで到着したり,nして出現したり,通知なしに消失したりすることがあるので,CoAPは,メッセージIDを利用することによって,送受信が正しく行われるための仕組みを実装している。

トークンは,要求した情報と応答された情報を関連付けるために使用される。CoAPクライアントはトークンの値によって,どの要求に対して応答された情報なのかを判断する。

CONとACKを用いた通信例を図3に示す。

図3 CONとACKを用いた通信例
図の説明テキスト

2つのシーケンス図。
(i) 複数のサーバへのCON連続送信の場合:クライアントから複数のサーバへ別々のメッセージIDでCONを送信し、それぞれからACKを受信する。
(ii) ACK不達の場合:クライアントからCON送信後、期間a内にACKが不達。期間bの後に同じメッセージIDでCONを再送信し、ACKを受信する。

図3中の(i)では,CoAPクライアントは,CONに対して返送されたACKによって,CONがCoAPサーバに到達して処理されたことが分かることを示している。CoAPでは,図3中の(i)に示したように,ACKの受信を待たずに連続してCONを送信することができる,非o通信が行われる。

(ii)では,ACK不達時に,CONの再送によってCON又はACKを確実に到達させることを示している。(ii)に示したように,CoAPクライアントはCONを送信後,デフォルトのタイムアウト時間であるaの時間ACKの受信を待ち,ACKが受信できなかった場合は,指数pと呼ばれる方式で算出したbの時間経過後にCONを再送する。図3で示したように,CoAPでは,CONに対するACKの返送及びCONの再送によって,パケットロスなどが発生するネットワークを利用した場合も,確実な通信を行うことができる。

IoT向けの機器は,サーバにデータの提供を要求する場合がある。このような場合,要求したデータと応答されたデータを関連付けるのにトークンが利用される。

機器がサーバにデータの提供を要求したときのトークンの使用例を図4に示す。

図4 機器がサーバにデータの提供を要求したときのトークンの使用例
図の説明テキスト

機器からサーバへ「CON [0x1234] GET /data (トークン 0x10)」を送信し、サーバから機器へ「ACK [0x1234] 2.05 Content (トークン 0x10) "データA"」を返答するシーケンス図。

図4では,機器がサーバ宛てのCONの中で,提供を求めるデータに0x10という値のトークンを指定している。この要求を受信したサーバは,提供するデータに0x10という値のトークンを付与して応答する。機器は,トークン値から要求したデータとしてデータAが回答されたことを知ることができる。

図4中のACKには,Contentのデータも含まれている。このように,CoAPでは,ACKにContentのデータを加えて送信する,ピギーバックと呼ばれる応答方式が利用される。

機器が連続してサーバに異なるデータの提供を要求する場合もある。
機器が連続してサーバに異なるデータの提供を要求したときの応答例を図5に示す。

図5 機器が連続してサーバに異なるデータの提供を要求したときの応答例
図の説明テキスト

機器からサーバへの要求とその応答のシーケンス図。
(i) 機器からサーバ: CON [0xbc90] GET /data1 (トークン 0x71)
(ii) 機器からサーバ: CON [0xab20] GET /data2 (トークン 0x82)
(iii) 機器からサーバ: CON [0xde10] GET /data3 (トークン 0x90)
(iv) サーバから機器: ACK [0xbc90]
(v) サーバから機器: ACK [0xab20] 2.05 Content (トークン 0x82) "データX"
(vi) サーバから機器: ACK [0xde10] 2.05 Content (トークン 0x90) "データY"
(vii) サーバから機器: ACK [0xde10] 2.05 Content (トークン 0x90) "データY"
(viii) サーバから機器: CON [0xcdf2] 2.05 Content (トークン 0x71) "データZ"
(ix) 機器からサーバ: ACK [0xcdf2]
※(vi)と(vii)はネットワーク上でパケットが複製されたことを示す。

図5中の(iv)は,サーバが要求を受信したときにデータをすぐに送信できない場合の応答である。(ii)を受信したサーバはデータを送信できている。(vii)は,ネットワーク上の何らかの原因によって,(vi)と重複したACKが機器に到達したことを示している。(vii)を受信した機器は,ACKが重複したものであると判断して,対応する処理を行う。

CoAP通信で,データの保護が必要な場合はDTLSを利用する。DTLSは,TCP通信のアプリケーション層のデータを暗号化するTLSの機能をUDPに適用した技術である。

DTLSバージョン1.3(以下,DTLS 1.3という)は,TLSバージョン1.2(以下,TLS 1.2という)と異なった方法でClientHelloメッセージの送信を求める。
TLS 1.2とDTLS 1.3のハンドシェークの違いを図6に示す。

図6 TLS 1.2 と DTLS 1.3 のハンドシェークの違い
図の説明テキスト

TLS 1.2とDTLS 1.3のハンドシェークの違いを示すシーケンス図。
(1) TLS 1.2: クライアントが(i)ClientHelloを送信し、サーバが(ii)ServerHelloを返送する。
(2) DTLS 1.3: クライアントが(i)ClientHelloを送信し、サーバが(ii)HelloRetryRequest+cookieを返送。クライアントは(iii)ClientHello+cookieを再度送信し、サーバが(iv)ServerHelloを返送する。

図6中の(1)に示したTLS 1.2のハンドシェークをUDP上で行うと,攻撃者が(i)のClientHelloメッセージの送信元を偽装して送信した場合,TLSサーバはパケットサイズの大きな(ii)のServerHelloメッセージを返送することになり,TLSサーバがDDoS攻撃の加害者になるおそれがある。この攻撃に対処するために,(2)に示したDTLS 1.3のハンドシェークでは,(i)のClientHelloメッセージを受信したDTLSサーバが,(ii)のHelloRetryRequestメッセージにcookieを添付して送信する。(ii)を受信したDTLSクライアントは,受信したcookieを添付した(iii)のClientHelloメッセージを再度送信する。DTLSサーバは,(iii)に添付されたcookieを検査し,cookieが不正な場合は対応する処理を行う

無線回線の選定及びGメーターとY社拠点に導入するGメーター管理サーバとの間で利用するCoAPの調査が終わったので,X主任は,IoTシステムの機能と構成の検討に取り掛かった。

〔IoTシステムの機能と構成の検討〕

まず,X主任は,Gメーター開発技術者からGメーターが送受信できる情報の説明を受け,次の2点の主要な機能を実現するための方式を検討した。

(1) 遠隔検針
(2) 異常通知

Gメーター管理サーバは数万台のGメーターを管理することを前提に,GメーターでCoAPクライアント機能を,Gメーター管理サーバでCoAPサーバ機能を動作させることにした。

X主任が考えた,Gメーターの動作を次に示す。

(1)について,Gメーターは1時間ごとにLPガスの流量積算値を測定して,測定時刻と測定値(以下,測定データという)をメモリに記録し,毎日午前0時の測定の後,ランダムな時間経過後に,前日に測定した1時間ごとの測定データを24回に分けてGメーター管理サーバに送信する。LPガスの流量積算値の測定又は測定データ送信後,次の測定を行う時刻までの間は,Gメーターはスリープ状態になる。

(2)について,Gメーターはウェイクアップして測定を行うタイミングを利用して,Gメーター自身の稼働状態をチェックし,異常を検知したときに異常内容をGメーター管理サーバに送信する。

X主任は,Gメーターの動作を基に,GメーターとGメーター管理サーバとの間の通信方法をまとめた。GメーターとGメーター管理サーバとの間の通信の概要を図7に,Gメーターによる測定と測定データの送信タイミングを図8に示す。

図7 GメーターとGメーター管理サーバとの間の通信の概要
図の説明テキスト

GメーターとGメーター管理サーバの通信シーケンス図。
(1) 遠隔検針の通信:Gメーターから各時間の測定データをPOSTで送信し、サーバから2.01 Createdが返る。
(2) 異常通知の通信:Gメーターから異常情報をPOSTで送信し、サーバから2.01 Createdが返る。

図8 Gメーターによる測定と測定データの送信タイミング
図の説明テキスト

タイミング図。Gメーターは1時間ごとに測定(▽)を行い、0時の測定後、ランダムな時間経過後に24回に分けて測定データの送信(▼)を行う。

図7中の(1)及び図8に示したように,Gメーターは,毎日午前0時の測定を行った後,1時までの間のランダムな時間経過後に,1時間ごとに記録した1日分24件の測定データを,それぞれPOSTメソッドでGメーター管理サーバに送信する。これによって,図7中の(1)では,GメーターがPOSTメソッドを24回発行することになる。
CoAPでやり取りされるIPパケットの数は,HTTPバージョン1.1を利用して同様の方法で測定データを送信する場合と比べると少ないので,測定データの通信時間は短くて済む。

図7で示したCoAP通信でDTLSを利用すると,Gメーターで実施する通信処理の負荷が,Gメーターの性能に影響を与えるおそれがある。そこで,X主任は,今回開発するIoTシステムでは,DTLSを利用しなくてもCoAP通信のセキュリティは確保されると判断し,DTLSは利用しないことにした。

Gメーターは図8に示した動作を行うので,時計機能の実装が必要になる。Gメーターに精度の高いリアルタイムクロックを実装しても,Gメーターを長時間稼働させると時刻の誤差が無視できないほど大きくなるおそれがある。そこで,X主任は,Gメーターに時刻の誤差を抑えるための処理を組み込むことにした。

これらの検討を基に,X主任は,IoTシステムの構成を設計した。X主任が設計したIoTシステムの構成を図9に示す。

図9 X主任が設計したIoTシステムの構成(抜粋)
図の説明テキスト

設計されたIoTシステムのネットワーク構成図。
GメーターはLTE-M、Z社のIoT向け通信サービスを経由し、インターネットを介してY社サービス拠点に接続される。
Y社サービス拠点内にはGメーター管理サーバがあり、FWを通じてDMZ上の情報提供サーバ、メールサーバ、NTPサーバと通信する。
LPガス販売業者の管理用PCはインターネット経由でアクセスする。

図9中のY社サービス拠点のサーバは,NTPサーバとの間で時刻同期を行う。

Gメーター管理サーバは,全Gメーターから1日分の測定データを受信した後に,2時からGメーターごとにLPガス消費量などを集計する。集計したデータはLPガス販売業者別に情報提供サーバに送信される。情報提供サーバは,受信した情報をLPガス販売業者向けに公開する。

Gメーターから送信される異常情報は,Gメーター管理サーバを介して情報提供サーバに送信される。情報提供サーバは,LPガス販売業者宛ての異常通知メールを作成し,メールサーバに送信する。

IoTシステムの機能と構成の検討が完了したので,X主任は,検討結果をW課長に報告した。W課長は,報告内容を基に,IoTシステム開発の概要を経営会議で提案した。提案内容が承認され,IoTシステム開発プロジェクトが本格的に開始されることになった。

設問と解答・解説

設問1

本文中の af に入れる適切な字句を答えよ。

(1)

a に入れる適切な字句を答えよ。

模範解答

消費

採点基準(配点 4点)

正確性(内容)(4点)

  • 4: 正解と完全に一致している。
  • 2: わずかな表記揺れがあるが、意味は同一である。
  • 0: 不正解、または無回答。

解説

LPガス消費量の遠隔検針に関する設問です。
文脈から、対象となる「消費」が入ります。

高得点のポイント

  • 指定された箇所に入る語句を正確に抜き出し、または記述できているか。

(2)

b に入れる適切な字句を答えよ。

模範解答

非セルラー

採点基準(配点 4点)

正確性(内容)(4点)

  • 4: 正解と完全に一致している。
  • 2: わずかな表記揺れがあるが、意味は同一である。
  • 0: 不正解、または無回答。

解説

LPWA(Low Power Wide Area)は、免許不要で利用できるアンライセンスバンドを利用する「非セルラー」系と、携帯電話網などのライセンスバンドを利用する「セルラー」系に大別されます。

高得点のポイント

  • LPWAの分類として正しい語句を記述できているか。

(3)

c に入れる適切な字句を答えよ。

模範解答

セルラー

採点基準(配点 4点)

正確性(内容)(4点)

  • 4: 正解と完全に一致している。
  • 2: わずかな表記揺れがあるが、意味は同一である。
  • 0: 不正解、または無回答。

解説

携帯電話網などのライセンスバンドを利用するLPWAは「セルラー」系と呼ばれます。

高得点のポイント

  • LPWAの分類に関する技術的知識に基づき、正確に記述できているか。

(4)

d に入れる適切な字句を答えよ。

模範解答

ISM

採点基準(配点 3点)

正確性(内容)(3点)

  • 3: 正解と完全に一致している。
  • 2: わずかな表記揺れがあるが、意味は同一である。
  • 0: 不正解、または無回答。

解説

Wi-Fiなどで利用される2.4GHz帯や920MHz帯は、産業(Industrial)、科学(Scientific)、医療(Medical)分野向けに免許不要で利用できる ISMバンド と呼ばれます。

高得点のポイント

  • 電波帯域の名称を正確に記述できているか。

(5)

e に入れる適切な字句を答えよ。

模範解答

干渉

採点基準(配点 3点)

正確性(内容)(3点)

  • 3: 正解と完全に一致している。
  • 2: わずかな表記揺れがあるが、意味は同一である。
  • 0: 不正解、または無回答。

解説

ISMバンドなどのアンライセンスバンドでは、同じ周波数帯を利用する他のシステムや機器が存在すると、電波の 干渉 が発生する可能性があります。

高得点のポイント

  • 電波通信における障害要因を理解し、正確に記述できているか。

(6)

f に入れる適切な字句を答えよ。

模範解答

3GPP

採点基準(配点 3点)

正確性(内容)(3点)

  • 3: 正解と完全に一致している。
  • 2: わずかな表記揺れがあるが、意味は同一である。
  • 0: 不正解、または無回答。

解説

LTEなどの移動体通信に関する技術仕様は、標準化プロジェクトである 3GPP (Third Generation Partnership Project) によって作成・策定されています。

高得点のポイント

  • 移動体通信の標準化機関について正確に記述できているか。

設問1では,dとfの正答率が低かった。Wi-Fiなどで利用する2.4GHz帯と920MHz帯はISM(Industrial Scientific and Medical)バンドに割当てられていること,LTEなどの移動体通信の技術仕様は3GPPで作成されていることは覚えておいてほしい。

設問2

本文中の gk に入れる適切な字句又は数字を答えよ。

(1)

g に入れる適切な字句又は数字を答えよ。

模範解答

2

採点基準(配点 4点)

正確性(内容)(4点)

  • 4: 正解と完全に一致している。
  • 2: わずかな表記揺れがあるが、意味は同一である。
  • 0: 不正解、または無回答。

解説

IPv6アドレスにおいて、0の連続を省略する表記方法に関する設問です。
コロン2つ(::)を用いることで、連続する0を一度だけ省略できます。文脈から「2」が入ります。

高得点のポイント

  • ネットワークの基礎知識に基づき、正確な数値を記述できているか。

(2)

h に入れる適切な字句又は数字を答えよ。

模範解答

Gメーター管理サーバ

採点基準(配点 3点)

正確性(内容)(3点)

  • 3: 正解と完全に一致している。
  • 2: わずかな表記揺れがあるが、意味は同一である。
  • 0: 不正解、または無回答。

解説

システム構成において、各Gメーターからのデータを収集・集約し、管理する役割を担うのは Gメーター管理サーバ です。

高得点のポイント

  • 提示されたシステム構成を正しく理解し、該当するサーバ名を抜き出せているか。

(3)

i に入れる適切な字句又は数字を答えよ。

模範解答

SIM

採点基準(配点 3点)

正確性(内容)(3点)

  • 3: 正解と完全に一致している。
  • 2: わずかな表記揺れがあるが、意味は同一である。
  • 0: 不正解、または無回答。

解説

セルラー系のLPWA網等を利用する際、通信事業者との回線契約情報や認証情報を保持し、機器に装着して使用されるのは SIM カードです。

高得点のポイント

  • モバイルネットワーク接続に必要な部品の名称を正確に記述できているか。

(4)

j に入れる適切な字句又は数字を答えよ。

模範解答

372

採点基準(配点 3点)

正確性(内容)(3点)

  • 3: 正解と完全に一致している。
  • 2: わずかな表記揺れがあるが、意味は同一である。
  • 0: 不正解、または無回答。

解説

提示されたデータフォーマットや仕様から読み取れる数値を問う設問です。
正解は「372」となります。

高得点のポイント

  • 問題文の仕様を正確に読み取り、正しい数値を導出できているか。

(5)

k に入れる適切な字句又は数字を答えよ。

模範解答

RESTful

採点基準(配点 3点)

正確性(内容)(3点)

  • 3: 正解と完全に一致している。
  • 2: わずかな表記揺れがあるが、意味は同一である。
  • 0: 不正解、または無回答。

解説

HTTPのメソッド(GET, POST, PUT, DELETE等)を用いてリソースを操作し、状態を持たない(ステートレスな)アーキテクチャスタイルを RESTful (REST) と呼びます。CoAPもこのアーキテクチャを踏襲しています。

高得点のポイント

  • Web APIやCoAPの設計思想を理解し、正確な語句を記述できているか。

設問3

〔CoAPの調査〕について答えよ。

(1)

本文中の l に入れる適切な字句を答えよ。

模範解答

トランスポート

採点基準(配点 3点)

正確性(内容)(3点)

  • 3: 正解と完全に一致している。
  • 2: わずかな表記揺れがあるが、意味は同一である。
  • 0: 不正解、または無回答。

解説

OSI基本参照モデルにおいて、CoAPが下位プロトコルとして利用するUDPは トランスポート 層に位置します。

高得点のポイント

  • ネットワークアーキテクチャにおけるUDPの位置づけを正確に記述できているか。

(2)

本文中の m に入れる適切な字句を答えよ。

模範解答

順不同

採点基準(配点 3点)

正確性(内容)(3点)

  • 3: 正解と完全に一致している。
  • 2: わずかな表記揺れがあるが、意味は同一である。
  • 0: 不正解、または無回答。

解説

UDPはコネクションレス型のプロトコルであり、パケットの到達保証や順序制御を行わないため、データが 順不同 に到着することがあります。

高得点のポイント

  • UDPの特性を正しく理解し、記述できているか。

(3)

本文中の n に入れる適切な字句を答えよ。

模範解答

重複

採点基準(配点 3点)

正確性(内容)(3点)

  • 3: 正解と完全に一致している。
  • 2: わずかな表記揺れがあるが、意味は同一である。
  • 0: 不正解、または無回答。

解説

ネットワーク上の遅延や再送制御などにより、同じパケットが複数回受信される 重複 が発生する可能性があります。

高得点のポイント

  • 信頼性の低いネットワークで発生する事象を正確に記述できているか。

(4)

本文中の o に入れる適切な字句を答えよ。

模範解答

同期

採点基準(配点 3点)

正確性(内容)(3点)

  • 3: 正解と完全に一致している。
  • 2: わずかな表記揺れがあるが、意味は同一である。
  • 0: 不正解、または無回答。

解説

クライアントとサーバ間でメッセージのやり取りを確実に行うためには、メッセージIDやトークンを用いてリクエストとレスポンスの 同期 をとる仕組みが必要となります。

高得点のポイント

  • 通信制御における状態管理の用語を正しく記述できているか。

(5)

本文中の p に入れる適切な字句を答えよ。

模範解答

バックオフ

採点基準(配点 3点)

正確性(内容)(3点)

  • 3: 正解と完全に一致している。
  • 2: わずかな表記揺れがあるが、意味は同一である。
  • 0: 不正解、または無回答。

解説

データの再送時に、連続して衝突が起こるのを防ぐため、再送までの待機時間をランダムに遅延させる制御手法を バックオフ と呼びます。

高得点のポイント

  • イーサネットなどでも用いられる再送制御の専門用語を正確に記述できているか。

(6)

本文中の下線①について,(iv)で送信できなかったデータが送信されるメッセージを,図5中の(i)〜(ix)で答えよ。

模範解答

採点基準(配点 3点)

正確性(内容)(3点)

  • 3: 正解と完全に一致している。
  • 2: わずかな表記揺れがあるが、意味は同一である。
  • 0: 不正解、または無回答。

解説

図中のシーケンスから、(iv)で送信に失敗したデータが再送されるタイミングを読み取ります。再送タイマーの経過後に送られるメッセージは (ⅷ) となります。

高得点のポイント

  • シーケンス図における再送処理の流れを正しく追跡し、該当する記号を選択できているか。

(7)

また,そのメッセージが(i)の要求に対する応答であると判断できる理由を,15字以内で答えよ。

模範解答

トークン値が一致するから

採点基準(配点 3点)

知識・理解度(内容)(2点)

  • 2: 設問の意図を正確に理解し、必要な要素(トークン値の一致など)を過不足なく記述できている。
  • 1: 部分的な理解にとどまり、重要な要素が欠けている。
  • 0: 無回答、または全く関係のない内容。

論理性(構造)(1点)

  • 1: 理由や効果が論理的に構成され、明確に伝わる。
  • 0: 無回答、または評価不能。

解説

CoAPにおいて、非同期のメッセージ交換でも要求と応答を正しく対応付けるために トークン値 が用いられます。両者のトークン値が一致することで、特定の要求に対する応答であると判断できます。

高得点のポイント

  • 知識・理解度(内容): CoAPにおける要求と応答の紐付けにトークン値が利用される仕組みを理解しているか。
  • 論理性(構造): 15字以内という制約の中で、「〜が一致するから」など簡潔で論理的な理由として構成されているか。

(8)

本文中の下線②について,サーバが送信したACKを,図5中の(i)〜(ix)で答えよ。

模範解答

採点基準(配点 3点)

正確性(内容)(3点)

  • 3: 正解と完全に一致している。
  • 2: わずかな表記揺れがあるが、意味は同一である。
  • 0: 不正解、または無回答。

解説

サーバが要求を正しく受信したことをクライアントに通知する確認応答(ACK)のメッセージを図中から選択します。該当するのは (ⅴ) です。

高得点のポイント

  • プロトコルのやり取りにおいてACKに該当するメッセージを正確に特定できているか。

(9)

本文中の下線③について,受信した機器が重複したACKであると判断する理由を,30字以内で答えよ。

模範解答

二つのパケットのメッセージIDが同じだから

採点基準(配点 3点)

知識・理解度(内容)(2点)

  • 2: 設問の意図を正確に理解し、必要な要素を過不足なく記述できている。
  • 1: 部分的な理解にとどまり、重要な要素が欠けている。
  • 0: 無回答、または全く関係のない内容。

論理性(構造)(1点)

  • 1: 理由や効果が論理的に構成され、明確に伝わる。
  • 0: 無回答、または評価不能。

解説

CoAPにおけるメッセージの重複検知は、パケットに付与された メッセージID に基づいて行われます。同一のメッセージIDを持つパケットを受信した場合、重複と判断します。

高得点のポイント

  • 知識・理解度(内容): 重複判定の基準として「メッセージID」が使用される技術的根拠を示せているか。
  • 論理性(構造): 30字以内で明確な理由を記述できているか。

(10)

本文中の下線③について,受信した機器が実施する処理を,30字以内で答えよ。

模範解答

受信した(ⅶ)のACKは処理済みなので無視する。

採点基準(配点 3点)

知識・理解度(内容)(2点)

  • 2: 設問の意図を正確に理解し、必要な要素を過不足なく記述できている。
  • 1: 部分的な理解にとどまり、重要な要素が欠けている。
  • 0: 無回答、または全く関係のない内容。

論理性(構造)(1点)

  • 1: 理由や効果が論理的に構成され、明確に伝わる。
  • 0: 無回答、または評価不能。

解説

受信側が既に処理を完了しているパケットの重複(今回は遅延して届いたACKなど)を検知した場合、システムの状態に影響を与えないよう、そのパケットを 無視(破棄) します。

高得点のポイント

  • 知識・理解度(内容): 重複したACKに対しては追加の処理を行わず、「無視する(破棄する)」という適切な対応を記述できているか。
  • 論理性(構造): 30字以内で簡潔に処理内容を説明できているか。

(11)

本文中の下線④について,攻撃者が行う偽装の内容を,40字以内で具体的に答えよ。

模範解答

送信元IPアドレスを,攻撃対象のホストのIPアドレスに偽装する。

採点基準(配点 3点)

知識・理解度(内容)(2点)

  • 2: 設問の意図を正確に理解し、必要な要素を過不足なく記述できている。
  • 1: 部分的な理解にとどまり、重要な要素が欠けている。
  • 0: 無回答、または全く関係のない内容。

論理性(構造)(1点)

  • 1: 理由や効果が論理的に構成され、明確に伝わる。
  • 0: 無回答、または評価不能。

解説

リフレクション攻撃(アンプ攻撃)の準備段階として、攻撃者は大量の要求パケットの 送信元IPアドレスを攻撃対象のIPアドレスに偽装(スプーフィング)して送信します。

高得点のポイント

  • 知識・理解度(内容): 送信元IPアドレスを「攻撃対象(標的)のIPアドレス」に偽装するという攻撃の手口を具体的に記述できているか。
  • 論理性(構造): 40字以内で具体的な偽装内容を過不足なく説明できているか。

(12)

また,その攻撃は,複数のDDoS攻撃の手法の中で,何と呼ばれる手法の攻撃か。攻撃名を答えよ。

模範解答

リフレクション

採点基準(配点 3点)

正確性(内容)(3点)

  • 3: 正解と完全に一致している。
  • 2: わずかな表記揺れがあるが、意味は同一である。
  • 0: 不正解、または無回答。

解説

送信元IPアドレスを攻撃対象に偽装して第三者のサーバに要求を送り、そのサーバからの応答を攻撃対象に集中させるDDoS攻撃の手法を リフレクション(反射)攻撃 と呼びます。

高得点のポイント

  • DDoS攻撃の具体的な手法名を正確に記述できているか。

(13)

本文中の下線⑤について,cookieが正しい場合にDTLSサーバが判断できることを,30字以内で答えよ。

模範解答

(ⅰ)の送信元が,偽装されたものでないこと

採点基準(配点 3点)

知識・理解度(内容)(2点)

  • 2: 設問の意図を正確に理解し、必要な要素を過不足なく記述できている。
  • 1: 部分的な理解にとどまり、重要な要素が欠けている。
  • 0: 無回答、または全く関係のない内容。

論理性(構造)(1点)

  • 1: 理由や効果が論理的に構成され、明確に伝わる。
  • 0: 無回答、または評価不能。

解説

DTLSにおけるHelloVerifyRequestとcookieを用いた仕組みは、送信元が正当なクライアントであることを確認(Return Routability Check)するためのものです。これにより、送信元IPアドレスの偽装 を検知・防止できます。

高得点のポイント

  • 知識・理解度(内容): cookieの検証によって送信元IPアドレスが偽装されていないこと(到達性)を確認できる旨を記述できているか。
  • 論理性(構造): 30字以内で要点を絞って明確に記述できているか。

(14)

また,cookieが不正のものであると判断した場合にDTLSサーバが行う対応を,30字以内で答えよ。

模範解答

(ⅳ)を送信せず,ハンドシェークを終了する。

採点基準(配点 3点)

知識・理解度(内容)(2点)

  • 2: 設問の意図を正確に理解し、必要な要素を過不足なく記述できている。
  • 1: 部分的な理解にとどまり、重要な要素が欠けている。
  • 0: 無回答、または全く関係のない内容。

論理性(構造)(1点)

  • 1: 理由や効果が論理的に構成され、明確に伝わる。
  • 0: 無回答、または評価不能。

解説

DTLSサーバは、クライアントから送られてきたcookieが不正であると判断した場合、接続要求を拒否し、それ以降のメッセージ送信を行わずに ハンドシェークを中止(終了) します。

高得点のポイント

  • 知識・理解度(内容): 不正な要求に対して応答を行わず、ハンドシェーク処理を終了するという適切なフェイルセーフの動作を記述できているか。
  • 論理性(構造): 30字以内でサーバの対応を簡潔に表現できているか。

設問3では,(1)のp及び(6)の“判断できること”の正答率が低かった。pのバックオフは,再送時の成功率を高めるためにイーサネットでも利用されている技術なので,覚えておいてほしい。DTLSのハンドシェークに対する攻撃には複数のパターンが考えられるが,“判断できること”では,cookieの作成方法を基に,正答を導き出してほしい。

設問4

(1)

本文中の下線⑥について,測定データの送信をランダムの時間控えることによる効果を,35字以内で答えよ。

模範解答

Gメーター管理サーバやネットワークへの負荷の集中が避けられる。

採点基準(配点 4点)

知識・理解度(内容)(2点)

  • 2: 設問の意図を正確に理解し、必要な要素を過不足なく記述できている。
  • 1: 部分的な理解にとどまり、重要な要素が欠けている。
  • 0: 無回答、または全く関係のない内容。

論理性(構造)(2点)

  • 2: 理由や効果が論理的に構成され、明確に伝わる。
  • 1: 主語と述語のねじれなどがあり、やや読みにくい。
  • 0: 無回答、または評価不能。

解説

多数のIoT機器(Gメーター)が一斉にデータを送信すると、ネットワークやサーバに急激なトラフィックが集中し、輻輳やダウンを引き起こす危険があります。送信タイミングにランダムな遅延(ジッタ)を設けることで、負荷を分散 させることができます。

高得点のポイント

  • 知識・理解度(内容): 送信を分散させることによる「サーバ・ネットワークへの負荷集中の回避」という効果を正確に理解しているか。
  • 論理性(構造): 35字以内で効果を論理的に構成できているか。

(2)

本文中の下線⑦について,スリープ状態になることによる効果を,25字以内で答えよ。

模範解答

Gメーターの消費電力を抑えることができる。

採点基準(配点 4点)

知識・理解度(内容)(2点)

  • 2: 設問の意図を正確に理解し、必要な要素を過不足なく記述できている。
  • 1: 部分的な理解にとどまり、重要な要素が欠けている。
  • 0: 無回答、または全く関係のない内容。

論理性(構造)(2点)

  • 2: 理由や効果が論理的に構成され、明確に伝わる。
  • 1: 主語と述語のねじれなどがあり、やや読みにくい。
  • 0: 無回答、または評価不能。

解説

バッテリーで駆動することが多いIoT機器においては、稼働時間を延ばすために電力管理が重要です。不要な通信や処理を行わないスリープ状態に移行することで、機器の消費電力を低減 する効果があります。

高得点のポイント

  • 知識・理解度(内容): 機器をスリープさせる目的が「消費電力の削減」であることを明記できているか。
  • 論理性(構造): 25字以内で簡潔に効果を記述できているか。

(3)

本文中の下線⑧について,HTTPバージョン1.1を利用した場合,やり取りするIPパケットの数が多くなる理由を,35字以内で答えよ。

模範解答

TCPコネクション確立とコネクション切断の処理が行われるから

採点基準(配点 4点)

知識・理解度(内容)(2点)

  • 2: 設問の意図を正確に理解し、必要な要素を過不足なく記述できている。
  • 1: 部分的な理解にとどまり、重要な要素が欠けている。
  • 0: 無回答、または全く関係のない内容。

論理性(構造)(2点)

  • 2: 理由や効果が論理的に構成され、明確に伝わる。
  • 1: 主語と述語のねじれなどがあり、やや読みにくい。
  • 0: 無回答、または評価不能。

解説

HTTP/1.1はトランスポート層プロトコルとしてTCPを利用します。TCPは通信を開始する際に3ウェイハンドシェイク(コネクションの確立)、終了時にコネクションの切断を行うためのパケットが追加で発生するため、UDPを利用するCoAPと比較してパケット数が多くなります。

高得点のポイント

  • 知識・理解度(内容): TCP特有の「コネクションの確立と切断」の処理によるパケット増加という技術的理由を示せているか。
  • 論理性(構造): 35字以内で的確に理由を説明できているか。

(4)

本文中の下線⑨について,DTLSを利用しなくてもセキュリティが確保されると判断した理由を,30字以内で答えよ。

模範解答

CoAP通信は,Y社向けの閉域網の中で行われるから

採点基準(配点 3点)

知識・理解度(内容)(2点)

  • 2: 設問の意図を正確に理解し、必要な要素を過不足なく記述できている。
  • 1: 部分的な理解にとどまり、重要な要素が欠けている。
  • 0: 無回答、または全く関係のない内容。

論理性(構造)(1点)

  • 1: 理由や効果が論理的に構成され、明確に伝わる。
  • 0: 無回答、または評価不能。

解説

インターネットなどのオープンなネットワークを経由しないため、通信経路上での盗聴や改ざんのリスクが著しく低くなります。したがって、暗号化プロトコルである DTLSを利用しなくても閉域網の性質によってセキュリティが担保 されると判断できます。

高得点のポイント

  • 知識・理解度(内容): セキュリティ担保の根拠として、通信が「専用の閉域網の中で完結している」ことを挙げられているか。
  • 論理性(構造): 30字以内で簡潔に理由を記述できているか。

(5)

本文中の下線⑩について,時刻の誤差によって発生する問題を,30字以内で答えよ。

模範解答

測定と送信が誤った時刻に行われることになる。

採点基準(配点 3点)

知識・理解度(内容)(2点)

  • 2: 設問の意図を正確に理解し、必要な要素を過不足なく記述できている。
  • 1: 部分的な理解にとどまり、重要な要素が欠けている。
  • 0: 無回答、または全く関係のない内容。

論理性(構造)(1点)

  • 1: 理由や効果が論理的に構成され、明確に伝わる。
  • 0: 無回答、または評価不能。

解説

IoT機器自身の内部時計に誤差が生じると、記録されるデータのタイムスタンプが不正確になり、意図しないタイミングでデータが測定・送信されるという 運用上の問題 が発生します。

高得点のポイント

  • 知識・理解度(内容): 時刻の誤差がもたらす「測定時刻のずれ」や「誤ったタイミングでの送信」という具体的な問題を記述できているか。
  • 論理性(構造): 30字以内で発生する問題を明確に示せているか。

(6)

本文中の下線⑪について,時刻の誤差を抑えるために考えられる,CoAP通信を利用した処理の内容を,40字以内で答えよ。

模範解答

Gメーター管理サーバから現在時刻を取得して,Gメーターの時刻を更新する。

採点基準(配点 3点)

知識・理解度(内容)(2点)

  • 2: 設問の意図を正確に理解し、必要な要素を過不足なく記述できている。
  • 1: 部分的な理解にとどまり、重要な要素が欠けている。
  • 0: 無回答、または全く関係のない内容。

論理性(構造)(1点)

  • 1: 理由や効果が論理的に構成され、明確に伝わる。
  • 0: 無回答、または評価不能。

解説

機器の時刻誤差を補正するためには、定期的に正確な時計を持つサーバ(本システムではGメーター管理サーバ)と通信し、現在時刻を取得して機器の内部時計を同期・更新 する処理を行う必要があります。

高得点のポイント

  • 知識・理解度(内容): 解決策として「サーバからの時刻取得」と「自身の時刻更新」の両方を盛り込んで記述できているか。
  • 論理性(構造): 40字以内で処理の手順を明確に記述できているか。

設問4では,(3)の正答率が低かった。CoAPとHTTPバージョン1.1では利用するトランスポート層のプロトコルが異なる。TCPでは,UDPでは行われないコネクションの確立とコネクションの切断のためのパケットが発生することに着目して,正答を導き出してほしい。