

# 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입니다. 하나의 LoRa 세션에는 sNS가 하나만 있을 수 있습니다.

**전달 네트워크 서버(fNS)**  
전달 네트워크 서버(fNS)는 무선 게이트웨이를 관리하는 LNS입니다. 하나의 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/ko_kr/iot-wireless/latest/developerguide/images/iot-lorawan-roaming-architecture.png)


 AWS IoT Core for LoRaWAN은 [LoRa Alliance LoRaWAN 로밍 허브 기술 권장 사항](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의 게이트웨이에 연결할지를 결정합니다.

퍼블릭 네트워크를 방문하면 hNS와 서빙 네트워크 서버(sNS)가 분리됩니다. 그런 다음 sNS와 hNS 간에 업링크 및 다운링크 패킷이 교환됩니다.