設問1
a:消費 b:非セルラー c:セルラー d:ISM e:干渉 f:3GPP
a:消費
空欄の前にあるLPWA(LowPowerWideArea)の説明としての穴埋め問題。LPWAとは「省電力(LowPower)」で「遠域・広範囲まで届く(WideArea)」という特徴を持つ無線通信技術の総称。ここから、空欄aには低消費電力であることが分かる。
b:非セルラー
c:セルラー
d:ISM
e:干渉
LPWAにはセルラーと非セルラーがある。
セルラーは国から許可を得た(=免許がある)事業者が運用するLPWAのこと。一方、非セルラーは免許がなくても運用できるLPWAのこと。ほかにもいろいろな違いがあるので見ていこう!
▼セルラーと非セルラー
| 比較項目 | セルラー系(LTE-M, NB-IoTなど) | 非セルラー系(LoRaWAN, Sigfoxなど) |
| 代表的な規格 | LTE-M (Cat.M1), NB-IoT (Cat.NB1) | LoRaWAN, Sigfox |
| 通信インフラ | 大手携帯キャリアの基地局・通信網を利用 | 自社・自治体・個人などで独自に基地局を設置 |
| 電波の利用ルール | ライセンス帯(国からの許可・免許が必要) | アンライセンス帯(ISMバンド)(免許不要) |
| 周波数帯 | プラチナバンド(700M〜900MHz帯)や1.7G〜2GHz帯など | Sub-GHz帯(920MHz帯) など |
| 電波干渉リスク | 非常に低い(キャリアが独占して利用するため) | ややある(同じ周波数を誰でも使えるため) |
| SIMカード | 必要(通信事業者との契約が必要) | 不要(機器固有ID等で認識) |
| エリア展開 | 契約すれば全国どこでもすぐ繋がる | 基地局が届くエリアのみ(未開拓地は自前設置が必要) |
| コスト構造 | 初期費用(アンテナ代)は不要。 毎月の通信料(基本料金)が発生する | 自前で基地局を建てる初期費用が発生。 月額の通信料はゼロ〜格安 |
| 消費電力 | スマホより劇的に低いが、非セルラーよりはやや大きい | 極限まで低い(乾電池で10年近く動作) |
以上の表より、bには非セルラーが、cにはセルラーが、dにはISM、eには干渉が入る。
f:3GPP
3GPPは3rd Generation Partnership Project(第3世代パートナーシッププロジェクト)の略。3GPPとは携帯キャリアが使う通信規格をすべて取り仕切っている世界規模の標準化プロジェクト。
昔は、日本の携帯を海外に持って行っても使用できなかった。それは日本と他国が違う方式で通信を運用していたから。しかし、3GPPが発足したことにより世界標準の取り決めができたため、どこの国に行っても通信を維持できるようになった。
LPWAの分野で3GPPがでてきたが、LPWAの独自ワードというよりも携帯通信全般(3G,4G,5Gなどなど)の標準化を実施しているのが3GPPという解釈で進んでいこう!
設問2
g:2 h:Gメーター管理サーバ i:SIM j:372 k:RESTful
g:2
まずそもそも、IKEv2の目的はESPで共通鍵を交換する際の安全な土台を作ること。具体的には、相手の正当性の確認と共通鍵の生成がミッションとしてある。そのうえで、そのやり取りを何メッセージでやれるかということを考える。
IKEv1では6メッセージ使っていた(アグレッシブモード)。しかし、IKEv2では4メッセージで終わる。そのからくりはTLS1.2からTLS1.3への進化と非常に酷似している。では、流れを見ていこう!
▼IKEv2のメッセージ
1.IKE_SA_INIT Request(クライアント→サーバ)
クライアントはサーバに以下を送付する
a 暗号化方式の提案(AESやSHAとか)
b 暗号化方式に付随する公開鍵
c 暗号化方式に付随する鍵生成のための材料(ノンス)
2.IKE_SA_INIT Response(サーバ→クライアント)
サーバは以下の情報をクライアントに返す
d 暗号化方式の決定
e 暗号化方式に付随する公開鍵
f 暗号化方式に付随する鍵生成のための材料
*この時点でサーバは共通鍵の生成に成功している!
3.IKE_AUTH Request(クライアント→サーバ)
決定された方式で共通鍵を生成する。これ以降、送付するすべてのデータはこのカギによって暗号化される
クライアントは以下の情報をサーバに返す
g 暗号化したID(IPアドレス、証明書など)
h 暗号化した認証データ(ハッシュ値など)
i 暗号化したIPsec SAの提案
*IKEなのにIPsec SA(ESPの定義)とかをやるの?と思うが、IKEv2ではESPもまとめてやっちゃおうよ!という思想のもとわずか4メッセージの中でIKE~ESPまで実行する
4.IKE_AUTH Response(サーバ→クライアント)
共通鍵を使ってIDを復号し相手の正当性を確かめる
サーバは以下の情報をクライアントに返す
j 暗号化したID
k 暗号化した認証データ
l IPsec SAの決定
以上が大まかな流れ。また、ここからわかる通り2往復で処理していることが分かるので答えには2が入る。
k:RESTful
CoAPはWebシステムにおけるAPIシステムであるRESTfulAPIアーキテクチャを採用している。RESTやRestAPIなどと呼ばれることもある。
設問3
(1)l:トランスポート m:順不同 n:重複 o:同期 p:バックオフ
m:順不同 n:重複
順不同の意味は「順番がそろっておらずバラバラである状態」のこと。また、m、nには様々な用語を入れられそうだが、同じ段落中に「CoAPではメッセージIDを利用することによってこれらのエラーに対処する」旨の記述があるので、メッセージIDで解決できる事象に紐づかなくてはならない。
メッセージIDでできるのは順番制御、重複検知なので、それを素直に書けばよい。
おまけで3大パケットトラブルを見ていこう!
▼3大パケットトラブル
1. 消失(パケットが消える) ─── Loss
2. 重複(同じパケットが2個届く) ─── Duplication
3. 順不同(順番が入れ替わって届く) ─── Reorderingp:バックオフ
バックオフとは、直訳すると引き下がる、遠慮するという意味。通信の世界におけるバックオフとは、「パケットが届かなかった時にすぐに再送するのではなく、待ち時間を少しずつ伸ばして遠慮しながら再送する仕組み」のこと。
で、指数バックオフとは、遠慮する感覚を指数関数的に広げていくこと。
・1回目の再送待ち: 2秒間 待って再送する
・2回目の再送待ち: 4秒間(2倍)待って再送する
・3回目の再送待ち: 8秒間(さらに2倍)待って再送する
・4回目の再送待ち: 16秒間(さらに2倍)待って再送するQ.なぜ指数バックオフが必要なの?
再送が起きる多くの原因はネットワークの混雑であることが多い。そのような状況の中で1秒ごとに再送していると、さらに帯域が圧迫されてしまい、どんどん状況が悪化する。そのような状況を避けるために、待ち時間を長くしていき、遠慮しながら送信すれば帯域に負荷を最小限に抑えつつ再送もできるようになるという仕組み
(2)メッセージ:viii 理由:トークン値が一致するから

まず、前提としてCoAPのACKはリクエストと同一のメッセージIDを使ってACKを返す。そのことより、(iv)では[0xbc90]をメッセージIDとしている。これと同一のメッセージIDを持つものは(i)である。そして、(i)のトークンは0x71である。そのトークンを持っているのは、(viii)である。以上より、(viii)はトークンの値が同一だから(i)の応答であると判断できる。
(6)判断できること:(i)の送信元が偽装されていないこと
対応:(iv)を送信せずハンドシェイクを終了する

DTLSはUDP上で動作するTLSのようなもの。通常、TLSはTCP上で動作する。TCPでは既に3ウェイハンドシェークによって相手の正当性は確認できるのでTLSにわざわざ相手の正当性確認を組み込まない。しかし、UDPでは簡単に送信元を偽装できてしまうためDTLS上で相手の正当性を保証する仕組みが必要になる。それがcookieだ。cookieは相手の送信元IPなどをベースに作成されるため、本来の送信元と違うと不正な相手であると簡単に判断できる。
つまり、cookieがあると判断できることは、「送信元が偽装されていないこと」であり、もし、偽装されたと判断すると「ハンドシェイクを中断する」という挙動になる。
設問4
(1) Gメーター管理サーバやネットワークへの負荷の集中を避けられる
数万台のIoTデバイスが同時にGメーター管理サーバへ接続すると、Gメーター管理サーバーは、一瞬で数万同時接続を処理する必要がある。どんなにIoTデバイスのパケットサイズが小さかろうが、接続処理数が多いとその分だけ接続処理のためのCPUが消費されるため大きな負荷がかかってしまう。そのため、ランダム時間によって分散させる必要がある。
(3) TCPコネクション確立とコネクション切断の処理が行われるから
ここでは、HTTPとCoAPの違いによるHTTPのデメリットを聞かれている。前提としてHTTPはTCP上で動作し、CoAPはUDP上で動作する。そのため、HTTPだとセッションが切れると再度3ウェイハンドシェイクをしたりする必要があるため、必然的にパケット数が増える。一方、CoAPはUDPであるため必要な時に必要なやり取りだけを実施すればよい。
p.15 Q.そもそもLPガスって何?
LPガス(Liquefied Petroleum Gas:液化石油ガス)とは、一般的にプロパンガスと呼ばれる。道路の下のガス管から直接供給される「都市ガス」とは違い、ボンベを使う。
郊外の一戸建てやマンションの裏手にあるグレーのボンベがLPガス。LPガスはボンベ内のガスを使うため、「いつ、どのくらい使われたか」を把握する必要がある。
一昔前まではガス会社の社員がガスメータを目視で確認していたが、現在ではIoTによってわざわざ出向かなくてもいい構成になりつつある。
p.15 LPWAとは
LPWA(LowPowerWideArea)とは「省電力(LowPower)」で「遠域・広範囲まで届く(WideArea)」という特徴を持つ無線通信技術の総称。
無線通信技術にはWi-FiやLTEなどがある。では、それらと何が違うのか、表を見て理解しよう!
▼LPWAとLTEとWi-Fiの違い
| 通信の種類 | 届く距離 | 電池の持ち | 送れるデータの量(通信速度) | 主な用途 |
| Wi-Fi | 短い(家の中くらい) | 悪い(コンセント必須) | 超大きい(動画もサクサク) | スマホ、PC、YouTube視聴 |
| 4G / 5G (スマホ用) | 広い(全国) | 悪い(毎日充電が必要) | 超大きい(動画やゲーム) | スマホ通信、テザリング |
| LPWA | めちゃくちゃ広い(数km〜数十km) | 超良い(乾電池1個で数年間〜10年) | 超小さい(文字や数字だけ) | ガスメーター、センサー、位置トラッキング |
p.15 Sub-GHz帯とは?

SubーGHz帯とは、「Sub(~より低い)」+「GHz」とういことなので1GHz以下の周波数のことを指す。日本だと920MHzが該当する。
ちなみに、低い周波数の特徴を以下で確認しておこう!
▼高周波と低周波の違い
| 項目 | 高い周波数(例: 2.4GHz / 5GHz / 5Gなど) | 低い周波数(例: Sub-GHz帯(920MHz) / プラチナバンドなど) |
| データ通信速度 | 速い(データ量が大きい) ⭕️ | 遅い(データ量が小さい) ❌ |
| 飛距離 | 短い(遠くまで届きにくい) ❌ | 長い(遠くまで届く) ⭕️ |
| 障害物の乗り越え | 弱い(壁や建物で跳ね返る/吸収される) ❌ | 強い(壁を回り込んだり通り抜けたりする) ⭕️ |
| 減衰(弱まりやすさ) | 遠くに行くとすぐ弱まる(減衰しやすい) | 遠くまで届いても弱まりにくい(減衰しにくい) |
Q.3G,4G,5G,6Gって結局何?
3GPPで、3G,4G,5Gなどの携帯キャリア通信の標準化を実施ているという話がでた。でも実際、それらがよくわかっていない。なので、見ていこう!
| 世代 | 主な時代 | 通信速度のイメージ | 何が変わったのか?(技術の変革) | 主な用途 |
| 1G | 1980年代 | めちゃ遅い | 「アナログ通信」。音声をそのまま電波に乗せていた。 | 肩掛け携帯・自動車電話(通話のみ) |
| 2G | 1990年代 | 数十kbps | 「デジタル化」。データを「0と1」に変換して送るようになった。 | ガラケー(メール、文字Web) |
| 3G | 2000年代 | 数百k〜数Mbps | 「世界標準化(3GPP発足)」。画像や着うたがダウンロード可能に。 | ガラケー最盛期、初期スマホ |
| 4G (LTE) | 2010年代 | 100M〜1Gbps | 「完全IP化」。通話もデータもすべて「IPパケット」に統一された。 | スマホ、動画配信(YouTube等) |
| 5G | 2020年代 | 最大20Gbps | 「超高周波数(ミリ波等)の利用 + 超低遅延 + 多接続」 | 4K/8K動画、自動運転、IoT |
| 6G | 2030年代〜 | 100Gbps〜 | 「テラヘルツ波の利用 + 超広域(宇宙・空まで)」 | 完全自動運転、メタバース |
Q.4Gってなに?
4Gは4Generation(第4世代)の略で、携帯キャリアにおける無線通信規格の一つ。これは3GPPによって標準化されている。
簡単に言うと、4G≒LTEという解釈で問題ない。
▼4Gの流れ
[スマホ/IoT機器]
│ (無線電波:LTE)
│ (ベアラ通信)
▼
[LTE基地局 (eNodeB)]
│ (キャリア専用の有線網)
│ (MME/HSS)
│
▼
[キャリアのコアネットワーク (EPC)] ★ここでSIMの認証やパケット処理をする
│
│ (GTPトンネル)
│
├─▶ (A) インターネットへ出る場合 ──▶ [ISP/Internet (BGP等)] ──▶ [相手のサーバ]
│
└─▶ (B) 今回のZ社のような閉域網 ──▶ (IPsec VPN) ──▶ [Y社データセンター]用語解説:
MME(Mobility Management Entity)
LTEにおけるユーザを認証する司令塔。ユーザからの認証を確認するためにHSSを呼び出したり、GTPトンネル確立の指示やベアラ通信の指示を出したりする。
HSS(Home Subscriber Server)
MMEが認証をする際に使うデータベース。MMEは受け付け業務なので、実際のユーザ情報は保持していない。そのためHSSを使って、ユーザ情報を確認する。
ベアラ
ベアラは仮想的な通信パイプのこと。
携帯電話の電波にはいろいろなデータが流れる。音声、動画、緊急速報。これらは緊急度合いが違う。そのため、すべてを同じ優先度で扱ってはならない。そこで、要はQoSを実現するためにベアラと呼ばれる、仮想的なパイプを準備する。用途ごとにベアラは作られる。=それに応じてGTPも増える。
Q.5Gって何?
5Gも基本的な挙動は4Gと同じ。しかし、使っている機器や周波数帯などが少しずつ違う。ということで、それを見ていこう!
| 役割・項目 | 4G (LTE) | 5G |
| 主に使用する周波数帯 | 700MHz 〜 3.5GHz (プラチナバンド〜ローバンド) | 3.7GHz 〜 28GHz超 (Sub6 / ミリ波) |
| 電波の性質・届きやすさ | 遠くまで届き、障害物を回り込む (1つの基地局で数kmカバー) | 遠くに届きにくく、障害物に弱い (数メートル〜数百メートル単位) |
| 無線通信規格 | LTE | 5G NR (New Radio) |
| 基地局 | eNodeB | gNodeB |
| 司令塔(移動管理) | MME | AMF (Access and Mobility Management Function) |
| 契約者データベース | HSS | UDM (Unified Data Management) |
| ゲートウェイ(出口) | S-GW / P-GW | UPF (User Plane Function) |
| コアネットワーク全体 | EPC | 5GC (5G Core) |
要は、使う周波数帯をより高周波にすることによって、より高速性を出したのが5G。で、異なる周波数を出すには、異なる媒体が必要なので、4Gとは別の機器・名称として扱われる。
また、高周波は障害物や長距離に弱いため、各地にミニ基地局を新たに施設することによってその弱点を補っている。
▼プラチナバンド、ミリ波、subGHz、sub6などの違い
| グループ | 呼び名 | 主な周波数 | 特徴 | 主な使い道 |
| 携帯(免許あり) | プラチナバンド (ローバンド) | 700〜900MHz (サブギガ) | 屋内や山奥まで届く | 4G/5Gのエリアの基礎(つながりやすさ重視) |
| 携帯(免許あり) | Sub6 (ミドルバンド) | 3.7GHz / 4.5GHz | 速さと広がりのバランス◎ | 5Gのメイン回線 |
| 携帯(免許あり) | ミリ波 (ハイバンド) | 28GHz〜 | 障害物に弱いが超爆速 | 5Gの局所的な爆速スポット(スタジアム等) |
| 自由(免許不要) | ISMバンド | 920MHz (サブギガ) 2.4GHz / 5GHz | 誰でも自由に使える | Wi-Fi、Bluetooth、IoTセンサー、電子レンジ |
*プラチナバンド:携帯キャリアが保証している&SubGHz帯のこと。
Q.Sigfox,LoRaWAN,LTE-M,NB-IoT
LPWAには様々な方式がある。では、以下で見ていこう
▼LPWA(省電力・広域通信)のまとめ
| 電池寿命順位 | 規格名 | 種類 | 使う電波(ルールの違い) | 通信方向 | 電池寿命 | データ量・速度 | モビリティ(移動) | 主な特徴・用途 |
|---|---|---|---|---|---|---|---|---|
| 1位 | Sigfox | 非セルラー | ISMバンド (免許不要・誰でも可) | 送信のみ (通常時は、受信機能を閉じているため) | 超長持ち (最長・10年以上) | 超極小 (数バイト) | ✕ | 文字通り電池が圧倒的に持つ。検針やボタン通知用。 |
| 2位 | LoRaWAN | 非セルラー | ISMバンド (免許不要・自作可) | 双方向 (Sigfoxよりは可能だがセルラー系には劣る) | かなり長持ち | 小〜中 (双方向OK) | △ | 自前で基地局を作れる。農地や工場のセンサー監視用。 |
| 3位 | NB-IoT | セルラー | キャリア電波 (免許あり・高品質) | 双方向 (LoRaWANよりはできるがLTE-Mには劣る) | 長持ち | 中 (非セルラーより速い) | ✕(固定のみ) | キャリアの安心感。動かないスマートメーターや街灯用。 |
| 4位 | LTE-M | セルラー | キャリア電波 (免許あり・高品質) | 双方向 (下りも問題なくできる) | この中では一番短い (数年程度) | 最大 (動画以外は快適) | ◯(移動OK) | 移動追跡ができる! 子供のGPS、ペット、物流用。 |
▼具体例
では、農家でのLoRaWAN使用例を見ていこう!
前提:
・LoRaWANは基地局を個人で立てれる(1~3万程度)
・農家は田畑の状況をリアルタイムで知りたい
・家のあたりには数キロに及ぶ自分の田畑がある
→これを目視確認したりするのは面倒くさい
では、以上の前提をユースケースとしてやっていこう!
1.LoRaWANの基地局をたてる
基地局は1~3万程度で立てられる。
コンセントにつないだり自宅のLANにつなげれば簡単に起動できる
2.田畑用のLoRaWANセンサを購入/設置する
①製品のDevEUI(製品識別子)とAppKey(パスワード)を確認する
②①の情報を製品に紐づくアプリケーションで登録する
*AppKeyがあることによって、センサーからのデータは既に暗号化された状態でネットワークを経由するため、正しいAppKeyを持っているユーザでなければ復号できない。
③目的の箇所にセンサーを設置する
3.アプリケーションで状況を確認
アプリケーションにログインし、リアルタイムで現状を把握する。
*アクチュエータ(物理的な動作をする機器)も購入しているなら、そのリアルタイム情報からサーバがアクチュエータに適切な指示を出し、水流を調整したりといった物理的な制御もできるようになる。
→ちなみにSigfoxは通常時は受信機能を閉じているためサーバからアクチュエータへの命令動作には向いていない。Sigfoxがデータを送信するタイミングで受信機能も解放されるがそれ以外は無理。また、1日に送信できる量は140、受信できる量は4回までという制限もある。
以上がLoRaWANの流れだった。ちなみに、Sigfox、LTE-M、NB-IoTも基本的には同様の流れで処理される。ただ、使われている個々の名称が若干異なる。
| 通信規格 | 端末のID(公開されてOKなシリアル番号) | 秘密の鍵(絶対バレちゃダメな暗号キー) |
| LoRaWAN | DevEUI(デブ・イーユーアイ) | AppKey(アップ・キー) |
| Sigfox | Device ID(デバイスID) | PAC(パック)/ NKEY |
| LTE-M / NB-IoT | IMEI(アイエムイーアイ) | SIMカード内の暗号鍵(IMSI等) =デバイス一つ一つにSIMを用意する必要がある。 |
p.16 LPWA閉域接続サービスってなに?

Q.そもそも閉域網って何?普通のインターネット接続と何が違うの?
A.インターネットという公道から完全に隔離された、関係者しか入れない私道のこと。よく耳にするMPLSも閉域網技術の代表例である。
このような閉域網があることによって、『外部に公開する必要のないサーバ&正規の人からはリモートからでもアクセスさせたい』という要件において、プレフィックスをインターネットに公開することなくアクセスできるようになる。
▼一般的にインターネット接続
【一般的なスマホや光回線(インターネット接続)】
[スマホ] ──> [キャリア基地局] ──>[キャリアコア網] ──(APNによって選出されたインターネットGW)──> 【一般のインターネット】 ──> YouTube等
▲ ここで公道(インターネット)に出る!▼閉域網の接続
【LPWA閉域接続サービス】
[Gメーター] ──> [キャリア基地局] ──> [キャリアコア網] ──(APNによって選出された専用GW)──> 【Z社の専用閉域網】 ──> Z社拠点ルータ
▲ インターネットに1ミリも出ない!Q.そもそもなんでZ社を経由するの?
シンプルに、Z社を中継点とする意味が分からない。LTEを使っているなら、そのままISPに行き、そのISP経由でY社まで転送してくれれば通信自体は成立するように見える。しかし、本文中にはなぜかD社を経由している。その理由を紐解いていこう!
理由1:暗号化の肩代わり
IoTデバイス(Gメータ)は極力軽い処理を担当させたい。そのためIPsecのような強力な暗号化処理は外部に委託したい。そのためZ社にIPsecをやってもらうという対策が取られている。
*ただ、LTEによって、端末⇔基地局間はデフォルトで暗号化済み。ここで述べている暗号化はインターネット上の話。
理由2:そもそもIPsecは拠点間通信に向いている
もし、Gメータが暗号化処理をできたとしても、1台1台とIPsecルータ2がセッションを張るとなるとものすごい負担になる。そのため、Z社側で一度集約してから1対1でIPsecルータ2とやり取りをした方がはるかに運用が楽だから。
理由3:コスト削減
閉域網サービスを利用するには、ISPと閉域用の契約が必要になる。これは月額数百~千万の費用が掛かる。しかし、Z社のような、他社クライアントと共有利用させることによって閉域網サービス提供を生業としている業者に頼めば安く抑えられるから。
理由4:マルチキャリア対応のため
閉域網の用途はわかったけど正直、Y社が契約しているSIMのキャリア専用の閉域網を利用すれば解決すると感じる。なぜわざわざ外部のZ社の閉域網を使うのか。それはマルチキャリア対応のため。もし、SIM提供キャリアの閉域網を使うと、ほかのキャリアのデバイスを扱ったときに、またそのキャリアと閉域網契約を結ばなくてはならなくなる。しかし、中間でZ社を挟ませればY社はZ社とのみIPsec通信をする準備をすればよいだけになるので運用やコストの面、また、マルチキャリアの面からもメリットが得られる。
*Z社はおそらく閉域網サービス接続を生業としているため、ソフトバンク、ドコモなどの複数のキャリアと既に閉域網接続をしている。その中の一部をY社に割り当てるというながれ。
👆のことからもわかる通り、逆を言えばIoTデバイス自体がIPsecをできるようになったら閉域網は不要ということになる。というわけでもない。結局IPsecでは1対1の通信に集約させたいから、その集約点が必要になる。IoTデバイス1台1台がIPsecを張ると、ルータのセッション情報がパンクする。なぜならIoTデバイスは概して何万台もあるから。そこらのリモートワーカーがIPsecをするのとではわけが違う。リモートワーカーの場合は人数が少ないから閉域網を通らずとも直接PCがIPsec処理をして接続できる。
p.16 物理的なデータの流れの全貌
閉域網やIPsec、Z社サービス拠点、などいろいろなものが一気に記されていて頭がこんがらがる…では、それを解決していこう!

[ Gメーター ]
│ ① 無線(LTE-M)
▼
[ キャリア基地局 ]
│ ② 有線(キャリアの社内光ファイバー網)
▼
[ キャリアのコア網 & GW(ゲートウェイ)]
│ ★APNを見て「Y社用だな」と判別!
│ ★MPLSラベル(専用タグ)を貼って専用ルートを通す!
│ ③ 有線(専用線)
▼
[ Z社拠点(ルータ1)] ※ここまでが「閉域網」!
│
│ ★ここでMPLSラベルを剥がす!
│ ★Y社に向けてデータを「IPsec(カプセル化暗号化)」する!
│ ④ 有線(一般的なインターネット回線)
▼
[ イ ン タ ー ネ ッ ト ] (公道)
│ ⑤ 有線
▼
[ Y社拠点(ルータ2)]
│ ★IPsecの暗号化カプセルを解く!
│ ⑥ 有線(Y社の社内LAN)
▼
[ Gメーター管理サーバ ] ★無事到着!1.Gメータ→キャリア(基地局)
GメータはLTE回線を使ってキャリアまで行く。
その際にキャリアはSIMで認証をする。
2.キャリア(基地局)→キャリア(MME)→キャリアのゲートウェイ
①キャリアにつくと、まずSIM情報の認証が必要になるため、MMEに渡す。
②MMEはHSSと呼ばれるデータベースを使い認証処理をする。
③SIM内のAPNから適切なゲートウェイを判別する
④処理が完了すると、無線ベアラやGTPトンネルなどを構築しネットワーク接続可能な状態になる
3.Gメータ→閉域網→Z社ルータ
①Gメータは無線ベアラを通して基地局にいく
②基地局がGTPトンネルを通してAPNのゲートウェイまで行く
③ゲートウェイは適切なラベルを張りZ社ルータ(CEルータ)まで運ぶ(=MPLS)
④Z社ルータの手前のPEルータでラベルを外してからZ社ルータに届かせる
4.Z社ルータ→Z社IPsecルータ1
Z社ルータに届いたパケットは普通にルーティングをしてZ社IPsecルータに渡す
5.Z社IPsecルータ1→Y社IPsecルータ2
①Z社IPsecルータ1は宛先からIPsecが必要であると判断する
*この時に使うのがSPD(SecurityPolicyDatabase)と呼ばれるどの通信をIPsec適用にするかのデータベース。この中にSPIがあるので、それに基づいてSAD内を検索する
②SADからSAを取り出し、パケットヘッダーにSPIを付与する
*SAD(SecurityAssociationDatabase)はSAを保持しているでーばベース
*SPI(SecurityParameterIndex)はSAを特定するための識別子
③適切な暗号化をしてY社ルータ2まで届かせる
6.Y社IPsecルータ2→Gメータ管理サーバ
①パケット内のSPIを確認する
②SPIでSADを検索し、SAを割り出し、SAに従って復号や正当性確認を実施する
③復号された中身をSPDと比較して正当性を確認する
④Gメータ管理サーバへ転送する
👇IPsecの詳細はこちら👇
Q.IKEv1 phase1アグレッシブモード+phase2について
IKEv1のフェーズ1(isakmp sa)のアグレッシブモードの流れを見ていこう!
1.クライアント→サーバ
以下の情報を渡す
・暗号化方式の提案
・暗号化方式に付随する公開鍵,パラメータ
・ID
2.サーバ→クライアント
以下の情報を渡す
・暗号化方式の決定
・暗号化方式に付随する公開鍵,パラメータ
・ID
・認証データ
3.クライアント→サーバ
以下の情報を渡す
・認証データ
*ここまでがフェーズ1のアグレッシブモード。ここからはついでにフェーズ2を記載していく
4.クライアント→サーバ
フェーズ1で作成された共通鍵をを使いIPsec SA(ESP)の方式を提案する
5.サーバ→クライアント
IPsec SAの方式を決定する
6.クライアント→サーバ
ESPの準備完了したよ!と通知する
Q.IKEv1 phase1メインモード+phase2について
IKEv1のフェーズ1(isakmp sa)のメインモードの流れを見ていこう!
1.クライアント→サーバ
僕がサポートしている暗号化方式はこれです!と教える
2.サーバ→クライアント
よし、じゃあ暗号化方式はこれでいこう!と決定する
3.クライアント→サーバ
では、実際の鍵生成のフェーズに入ろう!
・公開鍵
・ノンス
をサーバへ渡す
4.サーバ→クライアント
・公開鍵
・ノンス
をクライアントに返す
5.クライアント→サーバ
ID、認証データを暗号化してサーバへ渡す
*サーバはこれを検証して正当性を確認できる
6.サーバ→クライアント
ID、認証データを暗号化してクライアントへ渡す
*クライアントはこれを検証して正当性を確認できる
以上の6メッセージを交換後にフェーズ2へ移行する
p.17 CoAPとは
CoAPはConstraind Application Protocolの略。その名前の通り、制約下のもと動作させることができるプロトコル。特徴を以下にまとめる。
・UDPベース
制約の多い環境では軽量さが好まれる。TCPだとセッションなどがありとても面倒くさい。また、順序制御などはアプリケーション側のメッセージを使って実施する
・RESTfulAPI
RESTfulAPIと呼ばれる、GET,POST,PUT,DELETEなどのようにHTTPと同じように操作できるためWebエンジニアにはなじみやすい
・IoT向け
IoTで求められるものは、貧弱な環境でも利用できること。貧弱とは、「バッテリー容量が極小」、「ネットワーク帯域が極細」、「CPU能力が低い」、「メモリ少ない」という環境のことを指している。このような環境で動作できるのがCoAP。
p.17 CoAPのメッセージIDとトークン
メッセージIDやらトークンやらが出てきていまいちよくわからない。なので、ここではメッセージIDとトークンの役割を明確にしつつ、それらの違いを紐解いていこう!
メッセージID:
再送制御、順序保証などのTCP機能を肩代わりしてくれる機能。
トークン:
リクエストに対するレスポンスを対応づける機能。
Q.なんでメッセージIDだけじゃダメなの?トークンいらなくね?
メッセージIDとトークンは管理対象が異なる。メッセージIDはいわばパケットの管理を行う。一方トークンはリクエストとレスポンスの対応関係を整理するもの。
もし、メッセージIDだけになると、受信側は「あれ?これはどのリクエストに対する回答なの?」と処理ができなくなってしまう。たとえ、「あー、順番通りにきているな。欠損ないな。」というところまで分かったとしても、どのリクエストに対応しているかまではわからない。
そういった観点で、やはりトークンは必要と言える。
Q.TCPにおける欠損の処理方法
TCPでは様々な方法を使ってパケットロスを検知している。
タイマー:
通常は受信側はACKを返す。それによって送信側は、「あ、俺のパケット届いたな」と判断できる。しかし、欠損すると受信側からはACKが返ってこない。その際にタイマーを稼働させておけば「あ、送信からタイマーの時間経過したけどACKなしか。。ということは欠損してるかも!」ということで欠損を検知して再送をする
重複ACK:
受信側は、順番を飛ばしたパケットが届くと「いや、○○番のパケット届いていないよ!ちょうだい!」と送信側に伝える。これを3回受け取ると送信側は「あ、欠損してるかも」と判断して再送する。
*1,2回だと一時的な遅延や順不同によるものかもしれないため、再送が無駄になることがあり非効率。
Q.CoAPにおける欠損の処理方法
CoAPにおける欠損パケットの処理方法はタイマー方式のみ。CoAPにはCON、NONの2つのメッセージがある。CONは確認応答が必須で、NONは確認応答が不要。
CONの場合に確認応答が一定時間返ってこない場合は、欠損と判断して再送される。
p.23 HTTP1.1について
HTTPには様々なプロトコルがあるHTTP/1.0から始まり現在のHTTP/3まで続いている。では、それらの進化を理解していこう!
| バージョン | ベースとなる通信 | 主な特徴・新機能 | パケット転送・並列処理 | 主な課題・限界(デメリット) |
| HTTP/1.0 | TCP | ・1リクエストごとに接続(TCP確立)・切断を行うシンプルな仕組み | ・並列処理不可 ・リクエストごとに3-way handshakeが発生 | ・接続オーバーヘッドが非常に大きく、通信が非常に遅い |
| HTTP/1.1 | TCP | ・Keep-Alive(持続接続) を導入 ・1つのTCP接続を使い回せるようになった | ・パイプライニング機能はあるが基本は順番に処理 | ・アプリ層のHOLブロッキング(前のレスポンスが詰まると後ろも止まる) |
| HTTP/2 | TCP | ・バイナリフォーマット化 ・HPACK(ヘッダー圧縮) ・マルチプレクス(ストリーム化) | ・1つの接続内で複数ストリームによる並列処理が可能 | ・TCP層のHOLブロッキング(パケットロスが1つあると全ストリームの処理が止まる) |
| HTTP/3 | UDP (+ QUIC) | ・トランスポート層をUDP+QUICに刷新 ・順序制御・再送・TLS1.3暗号化をQUIC側で一括処理 | ・ストリームごとに完全独立して並列処理 | ・UDP通信をブロック・制御する一部の古いネットワーク機器/FWでの対応 |

