SIGFOX의 Junaid Afzal님이 보내온 기고글입니다.
2. NB-IoT - 주파수, 배치 모드 및 커버리지의 선택
3. NB-IoT - 데이터 전송률과 전달지연
마침내 NB-IoT 네트워크가 구축되기 시작되면서 일부 개발자들 사이에는 센서 기기와 플랫폼 간에 교환할 수 있는 데이터 크기와 그러한 데이터 전송에 필요한 사항은 무엇인지 등에 대한 궁금증이 일고 있다.
아직 검토해 보지 않았다면 이전 글을 통해 "high-level NB-IoT 네트워크 구조"와 "배치 측면"을 먼저 검토해 보는 것이 NB-IoT 네트워크 구조와 배치/링크 버짓 (link budget) 측면을 이해하는 데 도움이 될 것이다.
NB-IoT 데이터 전송
NB-IoT는 LTE처럼 중앙집중형 시스템으로, eNodeB (eNB)는 기기 간 자원 조정을 보장하기 위해 상향 링크 뿐 아니라 하향 링크 스케줄링도 제어한다.
상향 링크 통신
상향 링크 통신은 LPWA IoT use case에서 하향 링크보다 더 중요하다. NB-IoT 상향 링크 통신은 보통 기기가 RACH를 이용하여 eNB 로 전송 요청을 함으로써 시작한다. eNB는 전송 요청을 받으면 해당 기기로 시간 및 주파수 할당을 나타내는 Scheduling Grant를 보내고, 이어서 상향 링크에서의 상향 링크 데이터 전송과 하향 링크에서의 ACK/NACK가 뒤따른다.
기기는 3GPP TS36.213에 규정된 것처럼 MAC 계층에서 상향 링크 전송 블록 크기 (Transport block size; TBS)를 2 바이트 (16 비트)에서 125 바이트 (1000 비트)까지 선택할 수 있다. 수용 가능한 페이로드 양은 상위 계층 프로토콜 오버 헤드에 좌우된다. 표 1에서 smaller TBS는 non-IP 전송에 더 적합한 반면 higher TBS는 더 큰 오버 헤드를 수용하기 위해 IP 전송에 적합하다.
표1에서, IRU는 이 TBS를 전송하는데 필요한 Scheduling Resource Units (subframes) 수에 대응하는 인덱스이며, 다른 레벨의 redundancy를 제공한다. 따라서, 1000 비트 TBS (MAC 계층)은 단일 송신 (즉, 반복 없음)을 위해 최소 4 ~ 10개의 리소스 유닛을 필요로 하게 된다. 여기서 리소스 유닛 스케줄링은 8ms (15kHz single tone) 또는 16ms (3.75kHz tone)이 된다.
하향 링크 통신
하향 링크 통신은 페이징 메시지로 시작하여 eNB에서 기기로 전송된다. 배터리 자율성 (battery autonomy)을 향상시키기 위해, NB-IoT는 기기가 수 초 에서 며칠까지 deep sleep mode에 들어갈 수 있는 eDRX (extended Discontinuous Reception)와 PSM (Power Saving Mode) 파라미터의 구성 (configuration)을 지원한다. Sleep mode (절전 모드)에서 네트워크는 더 이상 기기와 연결되지 않으므로 sleep mode는 전력 소모량과 기기 도달성을 놓고 벌이는 선택의 문제이다.
기기는 3GPP TS36.213에 규정된 것처럼 MAC 계층에서 하향 링크 TBS를 2 바이트 (16 비트)에서 최대 85 바이트 (680 비트)까지 선택할 수 있다. 선택된 TBS는 데이터 페이로드와 헤더 (IP/non-IP, UDP, CoAP 등)를 수용한다. 16 비트의 하향 링크 TBS는 항상 1 subframe을 이용하고, 680 비트는 3 ~ 10 subframe (1 subframe = 1ms)을 이용할 수 있다.
NB-IoT 통신 전달지연 한계
NB-IoT는 칩셋을 단순화하고 배터리 자율성을 향상시키는 등의 millisecond 단위의 전달지연 (latency)를 제공할 목적으로 설계된 것은 아니다. NB-IoT의 전달지연은 다음에 따라 달라진다.
1. 전송 블록 크기 (Transport Block Size) - Scheduling Resource Units 수에 직접적으로 관련되고, 따라서 위에서 설명했던 전송 시간이 요구된다. 당연히 애플리케이션 페이로드와 상위 계층 프로토콜 오버 헤드는 TBS의 크기에 영향을 미치며, 복수의 TBS가 필요할 수도 있다.
2. 반복 횟수 (Number of Repetitions) - NB-IoT는 과도한 반복을 허용한다 (하향 링크에서 2048 회까지, 상향 링크에서 128 회까지). MME는 3 개의 coverage enhancement (CE) 레벨, 즉 CE 레벨 0에서 CE 레벨 2까지를 구성할 수 있다. 상이한 CE 레벨의 주요 영향은 메시지가 UE 위치에 따라 여러 번 반복되어야 한다는 것이다. 왜 3GPP가 상향 링크에 비해 하향 링크에서 과도한 반복을 허용하는지 궁금하다면, 그건 NB-IoT에선 링크 버짓이 균형이 맞지 않기 때문이다 (더 자세한 건 여기를 참조).
3. 네트워크 배치 모드 (Network Deployment Mode) - NB-IoT는 in-band, guard-band 및 out-of-band 모드로 배치할 수 있는데, 각각 서로 다른 링크 버짓을 갖는다. MNO는 배치 모드 (링크 버짓)에 따라 서로 다른 반복 횟수를 구성한다.
이게 개발자에게 무슨 의미인 걸까? 네트워크 배치 모드가 다른 경우 eNB에서 거리 Z 미터 떨어진 곳에 위치하여 주파수 Y에서 동작하는 X 국가에 있는 기기는 다른 지연 및 전력 소모를 겪는다는걸 뜻한다.
4. eDRX 및 PSM 구성 (eDRX and PSM Configuration) - NB-IoT 기기가 항상 데이터 수신 준비를 하고 있는 것은 아니다. 따라서 하향 링크 트리거 동작 (예 : 재구성 (reconfiguration), 상태 보고 등)은 eDRX/PSM 구성에 따라 기기가 깨어날 때까지 기다려야 한다.
요약하면, 상향 링크 데이터 통신 (RACH 제외)은 아래와 같이 지속될 수 있고,
하향 링크 데이터 전송 (페이징 제외)은 아래와 같이 걸릴 수 있다.
Use case에 따라 상향 링크 통신이나 하향 링크 통신만을 필요로 하거나 둘 다 필요할 수 있다. 아래 표를 보면, 톤과 반복 횟수를 기반으로 NPDSCH와 NPUSCH 채널의 최소 및 최대 한계에 대해 보다 자세히 알 수 있다.