

# LoRaWAN パブリックネットワークサポートの仕組み
<a name="lorawan-roaming-works"></a>

AWS IoT Core for LoRaWAN は、LoRa Alliance の仕様に従って、パッシブローミング機能をサポートしています。パッシブローミングでは、ローミングプロセスはエンドデバイスに対して完全に透過的です。ホームネットワークの外部をローミングするエンドデバイスは、そのネットワーク内のゲートウェイに接続し、アプリケーションサーバーを使用してアップリンクデータとダウンリンクデータを交換できます。デバイスは、ローミングプロセス全体を通してホームネットワークに接続されたままになります。

**注記**  
AWS IoT Core for LoRaWAN は、パッシブローミングのステートレス機能のみをサポートします。ハンドオーバーローミングはサポートされていません。ハンドオーバーローミングでは、デバイスがホームネットワークの外部に移動すると、別の通信事業者に切り替わります。

**Topics**
+ [パブリック LoRaWAN ネットワークの概念](#lorawan-roaming-concepts)
+ [パブリック LoRaWAN ネットワークサポートアーキテクチャ](#lorawan-roaming-architecture)

## パブリック LoRaWAN ネットワークの概念
<a name="lorawan-roaming-concepts"></a>

AWS IoT Core for LoRaWAN でサポートされているパブリックネットワーク機能では、次の概念が使用されます。

**LoRaWAN network server (LNS)**  
LNS はスタンドアロンのプライベートサーバーで、オンプレミスで実行することも、クラウドベースのサービスにすることもできます。AWS IoT Core for LoRaWAN は、クラウド上でサービスを提供する LNS です。

**ホームネットワークサーバー (hNS)**  
ホームネットワークは、デバイスが属するネットワークです。ホームネットワークサーバー (hNS) は、AWS IoT Core for LoRaWAN がデバイスのプロビジョニングデータ (`DevEUI`、`AppEUI`、セッションキーなど) を保存する LNS です。

**訪問先ネットワークサーバー (vNS)**  
訪問先ネットワークとは、デバイスがホームネットワークを離れるときに通信可能になるネットワークです。訪問先ネットワークサーバー (vNS) は、エンドデバイスにサービスを提供できるように hNS とビジネス上および技術上の契約を結んでいる LNS です。AWS パートナーの Everynet は訪問先のネットワークとして機能し、カバレッジを提供します。

**サービス提供ネットワークサーバー (sNS)**  
サービス提供ネットワークサーバー (sNS) は、デバイスの MAC コマンドを処理する LNS です。1 つの LoRa セッションには 1 つの sNS しか存在できません。

**転送ネットワークサーバー (fNS)**  
転送ネットワークサーバー (fNS) は、無線ゲートウェイを管理する LNS です。1 つの LoRa セッションには、0 個以上の fNS が関与する可能性があります。このネットワークサーバーは、デバイスから受信したデータパケットのホームネットワークへの転送を管理します。

## パブリック LoRaWAN ネットワークサポートアーキテクチャ
<a name="lorawan-roaming-architecture"></a>

次のアーキテクチャ図は、AWS IoT Core for LoRaWAN が Everynet と提携してパブリックネットワーク接続を提供する方法を示しています。この場合、デバイス A は、LoRa ゲートウェイを介して AWS IoT Core for LoRaWAN によって提供される hNS (ホームネットワークサーバー) に接続されます。デバイス A がホームネットワークから移動すると、訪問先のネットワークに入り、Everynet が提供する訪問先ネットワークサーバー (vNS) によってカバーされます。また、vNS は、接続する LoRa ゲートウェイを持たないデバイス B にもカバレッジを拡張します。

次のセクションで説明するように、パブリックネットワークのカバレッジ情報を AWS IoT コンソールに表示できます。

![AWS IoT Core for LoRaWAN がローミングをサポートして、ホームネットワークの外に移動するデバイスをサポートし、接続するゲートウェイを持たないデバイスにカバレッジを拡張する方法を示す画像。](http://docs.aws.amazon.com/ja_jp/iot-wireless/latest/developerguide/images/iot-lorawan-roaming-architecture.png)


 AWS IoT Core for LoRaWAN は、[LoRa Alliance LoRaWAN Roaming Hub Technical Recommendation](https://lora-alliance.org/wp-content/uploads/2022/01/TR010-1.0.0-LoRaWAN-Roaming-Hub.pdf) に従ってローミングハブ機能を使用しています。ローミングハブは、Everynet がエンドデバイスから受信したトラフィックをルーティングするためのエンドポイントを提供します。この場合、Everynet はデバイスから受信したトラフィックを転送する転送ネットワークサーバー (fNS) として機能します。LoRa Alliance 仕様で定義されている HTTP RESTful API を使用しています。

**注記**  
デバイスがホームネットワークから移動して、ホームネットワークと Everynet の両方が通信できる場所に入ると、先着順のポリシーを使用して、LoRa ゲートウェイに接続するか、Everynet のゲートウェイに接続するかを決定します。

パブリックネットワークにアクセスする場合、HN とサービングネットワークサーバー (SN) は分離されます。次に、sNS と hNS の間でアップリンクパケットとダウンリンクパケットが交換されます。