시험 준비 및 공부 기록 아카이브용으로 작성하는 글입니다.
다소 내용이 정제되어 있지 않을 수도 있습니다.
LTE의 특징
1. 성능 및 사용자 경험 향상
- 높은 주파수 효율성: 같은 주파수 대역폭이라도 3G보다 더 많은 데이터를 전송할 수 있게 됨. -> 더 많은 가입자 수용, 데이터 당 비용 감소
- 지연 감소: 데이터가 갔다 오는 시간(RTT)이 줄어 멀티 플레이어 게임, 화상 회의가 가능해짐.
- 데이터 속도 증가: 무선 접속 기술이 획기적으로 개선됨. (다운로드: OFDMA, 업로드: SC-FDMA, 안테나를 여러 개 쓰는 MIMO 도입)
2. 통신사의 유연성 및 비용 절감
- 다른 표준과 공존: 기존 2G(GSM), 3G(WCDMA)망과 LTE망이 함께 호환됨.
- 유연한 무선망 설계: 기지국의 커버리지를 5 ~ 100km까지 상황에 맞춰 유연하게 조정할 수 있음.
- 운영 비용 절감: 망 구조가 단순화되면서 통신사의 설비 투자비(CAPEX)와 유지 보수비(OPEX)가 모두 줄어듦.
3. 구조적 대전환
- Circuit switched -> All-IP: 기존 3G까지는 음성은 서킷, 데이터는 패킷으로 나누었지만 LTE부터는 모든 것을 IP 기반의 패킷으로 처리함.
- SAE (System Architecture Evolution): 기존 GPRS 코어 네트워크가 진화한 형태 (EPC 규격), All-IP 네트워크가 되어 모든 데이터를 패킷으로 처리하고, 더 높은 데이터 전송률과 낮은 지연 시간을 지원함.
- EPS: (Evolved Packet System): E-UTRAN (무선망, eNB) + EPC (코어망, MME/S-GW/P-GW)
LTE의 구조

E-UTRAN
- LTE-UE: 스마트폰 등의 단말기
- eNB: LTE 기지국, 단말기와 무선으로 통신하며, 기지국끼리는 X2 인터페이스로 연결돼 핸드오버 등을 처리함.
EPC: LTE의 데이터 처리를 담당하는 핵심 네트워크
- Serving Gateway (S-GW): 유저 평면을 다루는 노드, 유저 평면의 패킷은 항상 S-GW를 거치며, UE가 이동해 eNB 간 핸드오버가 일어나도 anchoring을 통해 연결이 끊어지지 않게 함.
- Packet Data Network Gateway (P-GW): 패킷 교환망에 연결하는 노드, IMS, 인터넷 등에 대한 인터페이스를 제공하며, IP 할당, S-GW에 대한 anchoring, QoS 적용, 패킷 필터링, 데이터 사용량 측정 등의 역할을 함.
- Mobility Management Entity (MME): 제어 평면을 다루는 노드, UE부터 P-GW까지의 EPS bearer를 연결하고 해제하는 권한을 가지고, idle/active 상태 간의 천이를 제어하며, HSS에서 Security Key를 받아 UE 인증을 수행함.
- Home Subscriber Server (HSS): EPC에서 모든 가입자의 정보를 저장하는 서버, EPC, IMS 서비스 관련 정보, Security Key도 저장함.
LTE-GTP 터널
단말이 보낸 IP 패킷은 목적지 IP 주소값과 상관 없이 항상 eNB를 통해 P-GW까지 전송됨. (UE -> eNB -> S-GW -> P-GW -> 목적지 IP)
1. UE -> eNB

UE가 목적지 IP로의 패킷을 eNB로 전송
2. eNB -> S-GW

eNB는 UE 패킷 앞에 GTP 헤더, UDP 헤더, 외부 IP 헤더를 붙여 S-GW로 전송
3.S-GW -> P-GW

S-GW는 eNB가 붙인 GTP 헤더와 외부 IP 헤더를 수정해서 추가해 P-GW로 전송
4. P-GW -> 목적지

P-GW는 GTP 헤더, UDP 헤더, 외부 IP 헤더를 제거해 원본을 목적지로 전송
EPS bearer
UE와 P-GW 사이에서 데이터를 운반하는 가상 통로, UE는 서비스 성격에 따라 여러 개의 bearer를 동시에 가질 수 있음.
Default EPS bearer
- 단말기가 LTE망에 접속하면 무조건 하나가 생성됨.
- 속도를 보장해주지 않고 네트워크 상황에 따라 최선형으로 처리하는 Non-GBR (Non-Guaranteed Bit Rate) 방식.
Dedicated EPS bearer : LTE의 데이터 처리를 담당하는 핵심 네트워크
- Default EPS Bearer가 생성된 후에 추가적으로 필요시 생성되는 bearer.
- 주로 GBR로 생성되나 Non-GBR로 생성될 수도 있음.
- 음성 서비스는 QoS 품질이 좋아야 하기 때문에 Voice용 Dedicated EPS bearer을 사용함
LTE 초기 접속 과정


1. IMSI 획득
- UE가 eNB를 통해 MME에게 IMSI를 보내면서 접속 요청을 보냄.
- eNB는 UE의 접속 요청에 ECGI와 TAI를 추가로 더해 MME에 보냄.
2. 인증
- MME는 받은 IMSI를 HSS에 보내 인증 정보를 요청함, HSS는 인증에 필요한 인증 벡터(RAND, AUTN, XRES, $K_{ASME}$)를 MME로 보냄.
- MME는 RAND, AUTN, $K_{ASME}$를 UE에게 보내고, UE는 자신의 $AUTN_{UE}$와 $AUTN_{HSS}$를 대조해 둘이 일치하면 네트워크를 신뢰하게 됨. (네트워크 인증)
- UE는 받은 RAND로 RES를 만들어 MME에게 보내고, MME는 RES와 XRES를 대조해 둘이 일치하면 단말을 신뢰하게 됨. (단말 인증)
3. NAS 보안 설정
- UE와 MME가 주고받는 제어 신호(NAS 메시지)를 도청당하지 않도록 암호화 통신을 시작.
4. 위치 업데이트
- MME는 HSS에게 IMSI와 MME ID를 보내며 위치 업데이트를 요청함.
- HSS는 이를 승인하면서 IMSI와 가입자 정보를 MME에게 보냄.
5. EPS 세션 구축
- MME는 HSS에서 받은 정보를 바탕으로 S-GW와 P-GW에게 bearer 생성 요청을 보냄.
- P-GW는 UE가 쓸 고유한 IP 주소를 할당하고, PCRF(정책 서버)에게 UE에게 어떤 규칙을 적용할지 질문함.
- PCRF는 SPR(가입자 프로필 저장소)을 조회한 뒤, 적용할 규칙을 P-GW에게 전달함.
- P-GW는 할당된 IP 주소와 규칙을 S-GW를 거쳐 MME에게 전달함.
- MME는 UE에게 접속 승인 메시지와 함께 IP 주소를 전달함, 이 과정이 끝나면 UE와 eNB 사이의 무선 구간의 암호화 설정이 완료됨.
LTE의 무선 접속 방식
다운링크(eNB -> UE)는 OFDMA, 업링크는(UE -> eNB) SC-FDMA를 사용, 쌍방향 통신은 TDD 혹은 FDD를 사용함. (중국은 TDD를 사용, 한국은 TDD를 사용했었으나 5G 때부터 FDD를 사용함, 전 세계적으로 TDD가 많이 사용되긴 함)
OFDM (Orthogonal Frequency Division Multiplexing)

기존 방식으로 신호를 보내면, 신호가 여러 갈래로 퍼지고 반사되어 신호 간 간섭이 생김. 가장 먼저 도착한 신호의 $C_2$ 부분을 읽으려고 할 때, 뒤늦게 도착한 신호들의 $C_0$, $C_1$이 섞여 들어와 간섭함.

이 문제를 해결하기 위해 데이터를 직렬으로 보내던 기존의 방식 대신 데이터를 병렬로 나눠 여러 주파수에 실어 보내는 방식을 사용함. 전체 전송 속도는 유지되나 개별 심볼의 전송 시간이 늘어남 -> 다중 경로 간섭이 줄어듦.

주파수 간섭을 피하기 위해 완충 지대인 guard band를 두던 FDM과 달리, OFDM은 서브캐리어들이 서로 직교하기 때문에, 서브캐리어를 겹쳐도 한 주파수가 peak를 찍을 때 다른 서브캐리어들은 null 값을 가지기 때문에 간섭이 생기지 않고 버려지는 공간 없이 주파수 대역을 효율적으로 사용할 수 있음.

신호의 뒷부분의 일부를 복사해 앞에 붙이는 Cyclic Prefix (CP) 기법을 통해 지연이 심한 환경에서도 OFDM은 깨끗하게 데이터를 수신할 수 있음.
OFDM의 장점
- 고속 데이터 전송에서 지연에 강함
- 신호 복구가 쉬움
- FFT/IFFT (고속 푸리에 변환)를 통해 효율적인 병렬 처리가 가능함
- 다중 접속에 용이함
OFDM의 단점
- 높은 PAPR로 인해 전력 소모가 심함 -> 고가/고성능의 증폭기가 필요하므로 업링크에선 SC-FDMA을 사용함
- 주파수의 개수가 많아질수록 계산량이 많아지고 시스템 구현이 복잡해짐
- 주파수 오차에 민감함
- CP로 인한 전송 용량의 낭비
OFDMA (LTE Downlink)

특정 시간 동안 모든 주파수를 사용자 한 명이 사용하던 OFDM과 달리 OFDMA는 같은 시간 동안 주파수 조각을 여러 사용자가 나누어서 사용함 -> 자원의 낭비를 방지하고 지연 시간을 단축함.
OFDMA vs SC-FDMA

OFDMA는 데이터를 여러 개의 서브캐리어로 나눈 다음 긴 시간에 걸쳐 전송하지만, SC-FDMA는 데이터를 주파수 대역 전체에 퍼트린 뒤 시간 축에서 쪼개 순차적으로 전송함 -> 파형의 높낮이가 심하게 변해 PAPR이 높은 OFDMA와 달리, SC-FDMA는 파형의 높낮이 변화가 적어 PAPR이 낮기 때문에 배터리 소모량이 적어 업링크에 적합함. (OFDMA는 여러 QPSK 심볼을 보내지만 SC-FDMA는 하나의 QPSK 심볼을 보냄)
LTE FDD 프레임 구조

LTE FDD 프레임은 10ms(프레임) -> 1ms(서브프레임) -> 0.5ms(슬롯) 순으로 쪼개지며, 슬롯 하나에는 6~7개의 OFDM 심볼이 들어감, 서브캐리어 간격은 15kHz이며, 유효 데이터 심볼 길이는 이의 역수인 66.6μs임.

무선 자원은 PRB(Physical Resource Block) 단위로 할당되며, 서브캐리어는 세로로 12개 들어감. Normal CP는 심볼이 가로에 7개, Extended CP는 심볼이 가로에 6개 들어감.
LTE TDD 프레임 구조

LTE TDD 프레임은 10ms(프레임) -> 5ms(하프 프레임) -> 1ms(서브프레임) 순으로 쪼개지며, 서브프레임은 DL로 쓰이거나 UL로 쓰임. 이때, 서브프레임의 종류가 바뀌는 순간 신호가 섞이지 않도록 완충지대인 스페셜 서브프레임을 사용하며, 서브프레임은 DL 신호 전송의 꼬리인 DwPTS, 신호를 보내지 않고 비워두는 Guard period, 데이터 전송 전 기지국에게 채널 상태를 알리는 UpPTS로 구성됨. 주기성에 따라 스페셜 서브프레임의 개수가 달라짐. (5ms 주기면 한 프레임 안에 2개, 10ms 주기면 한 프레임 안에 1개)
Uplink Physical 채널
PUCCH (Physical Uplink Control Channel)
- 업링크 사용자가 보내는 유일한 제어 채널
- 채널 품질 정보, 수신 확인, 스케줄링 요청을 포함함
- 변조 방식으로 QPSK, BPSK, On/Off Keying을 사용
PUSCH (Physical Uplink Shared Channel)
- 기지국으로 데이터를 전송하기 위해 사용
- PUCCH, PRACH, SRS에 할당되지 않은 모든 서브 캐리어를 사용할 수 있음
- 변조 방식으로 QPSK, 16QAM, 64QAM을 사용함
PRACH (Physical Random Access Channel)
- 업링크 사용자가 기지국과 접촉을 시작하기 위해 사용
- 기지국은 랜덤 액세스 요청이 전송될 수 있는 위치를 포함하여, 몇 가지 기본 셀 정보를 방송함
- UE는 PUSCH 할당을 요청하며 PRACH 전송을 수행하고, 기지국은 PDCCH을 사용해 UE가 접속할 수 있는 위치를 알림
- PRACH는 스펙트럼상에서 6개의 자원 블록(Resource blocks)을 차지함
Downlink Physical 채널
동기화 채널
- PSCH(Primary Synchronization Channel)와 SSCH(Secondary Synchronization Channel)가 있음
- 셀 ID와 셀 그룹 정보를 포함해, 단말이 셀을 식별하고 동기화할 때 사용됨
PBCH (Physical Broadcast Channel)
- 셀의 특정 정보를 운반하며, 단말이 셀에 접속하기 위해 필수적인 시스템 정보를 방송함
PCFICH (Physical Control Format Indicator Channel)
- 한 서브프레임 내에서 PDCCH를 위해 사용되는 OFDM 심볼의 개수 정보를 포함해 제어 영역의 크기를 알림
PHICH (Physical Hybrid ARQ Indicator Channel)
- 업링크 전송에 대한 Hybrid-ARQ ACK/NACK 신호를 운반함
PDCCH (Physical Downlink Control Channel)
- 단말에게 데이터가 어디에 위치하는지, 어떤 자원을 사용해야 하는지 알려주는 채널, 스케줄링 정보를 포함함
PDSCH (Physical Downlink Shared Channel)
- 사용자에게 전송되는 데이터를 포함함
PMCH (Physical Multicast Channel)
- 특정 사용자가 아닌 다수의 사용자를 대상으로 하는 데이터를 운반, MBMS(Multimedia Broadcast/Multicast Service)를 지원함
LTE-A 기술

LTE-A는 서로 다른 주파수 대역을 묶어서 하나의 대역처럼 사용하는 CA(Carrier Aggregation), 더 많은 안테나를 사용하는 Enhanced MIMO, 단말이 여러 개의 기지국과 동시에 통신하는 CoMP(Coordinated Multi-Point)를 통해 기존 LTE보다 더 빠르고 안정적인 연결을 제공함. 크기가 서로 다른 기지국들을 섞어서 사용하는 Hetnet은 큰 성능 향상을 이끌어내지 못함.
MIMO

Enhanced MIMO는 같은 데이터를 여러 번 보내서 끊김을 막는 전송 다이버시티, 서로 다른 데이터를 동시에 보내 데이터 전송 속도를 향상시키는 공간 멀티플렉싱, 신호를 한 곳에 집중시켜 품질을 올리는 빔포밍 기법을 사용함.
MIMO를 통해 여러 개의 안테나로 서로 다른 여러 개의 데이터를 전송해 전체 비트레이트를 증가시킬 수 있으며, 각 안테나가 구별되도록 서로 다른 레퍼런스 신호를 송출해 여러 안테나가 동시에 같은 자원을 사용해도 신호를 구분해서 받아들일 수 있게 함.
LTE-A에서는 DL에서 8 × 8 MIMO를, UL에서 4 × 4 MIMO를 사용해 전송 용량을 늘림.
S/N 값이 높을 땐 공간 멀티플렉싱을, S/N 값이 낮을 땐 전송 다이버시티를 사용함.

Encoder에서 신호를 나누고, IFFT로 시간 영역으로 변환해 안테나를 통해 전송한 뒤, 이를 다시 FFT로 주파수 영역으로 변환한 다음, Decoder에서 노이즈를 제거해 원본 신호를 복원함.
Carrier Aggregation

Carrier Aggregation을 통해 파편화된 주파수 대역폭을 하나로 묶고 넓히면 데이터의 전송 속도를 획기적으로 높일 수 있음. 초기엔 5개의 CC(component carrier)를 묶어 100MHz의 대역폭을 지원했으며, 3GPP release 13 때부터 최대 32개의 CC를 묶을 수 있게 됨.

Intra-band Contiguous (대역 내 연속): 동일한 주파수 대역 내에서 바로 옆에 붙어 있는 주파수 블록들을 하나로 묶는 방식으로, 구현이 가장 쉬움
Intra-band Non-contiguous (대역 내 불연속): 동일한 주파수 대역 내에 있지만, 중간에 다른 신호가 있어 서로 떨어져 있는 주파수 블록들을 묶는 방식.
Inter-band Non-contiguous (대역 간 불연속): 서로 다른 주파수 대역에 있는 블록들을 묶는 방식, 파편화된 주파수를 보유한 통신사들이 속도를 높이기 위해 가장 많이 사용함.
LoRA (Long Range)
저전력 광역 기술 기반, 배터리 소모가 적고 넓은 지역을 커버할 수 있음. 온도, 습도 같은 센서 데이터나 위치 정보처럼 아주 적은 양의 데이터를 보내는 데 특화됨.
SKT는 통신 모듈이 저렴하고 오픈소스로 플랫폼 생태계를 구축할 수 있다는 이유로 LoRA를 선택했고, KT는 3GPP에 기반한 IoT 표준이고, 글로벌 로밍이 가능하며, 면허대역을 사용하기에 QoS이 보장되고 보안 및 간섭 성능이 우수하고, 별도의 IoT망 없이 기존 LTE망을 그대로 사용할 수 있다는 이유로 NB-IoT를 선택함.
| 특징 | LoRA | NB-IoT |
| 주파수 대역 | 비면허 | 면허 |
| 기존 이동통신망 재사용 | X | O |
| 개발 현황 | 상용화 완료 | 상용화 완료 |
| 변조 방식 | SS chirp | QPSK |
| 대역폭 | 500Hz ~ 125KHz | 180KHz |
| 데이터 속도 | 290bps ~ 50kbps | 최대 250kbps |
| 모듈 가격 | 1~5$ | < 5$ |
| 지연 및 배터리 타임 | NB-IoT보다 긺, 10년 | 10초, 10년 |
| 표준 | 독자 규격 | 국제 규격 |
| 항목 | NB-IoT | 5G RedCap | LTE Cat. M1 (LTE-M) |
| 속도 | 매우 느림 (3) | 빠름 (1) | 느림 (2) |
| 전력 소비 | 매우 저전력 (1) | 덜 저전력 (3) | 저전력 (2) |
| 지연 시간 | 가장 긺 (3) | 짧음 (1) | 긺 (2) |
| 적용 분야 | 단순 센서 데이터 전송 | 웨어러블, 실시간 모니터링 | 스마트 헬스 케어, 위치 추적, 이동성 기기 |
| 네트워크 | LTE, 5G | 5G | LTE |
| 비용 | 매우 저렴 (2) | 더 비쌈 (3) | 더 저렴함 (1) |
5G RedCap: 5G의 성능을 조금 줄여 경량화한 기술, NR-Light라고도 부름
LTE Cat. M1: 이동성을 위한 기술, NB-IoT보다 속도는 약간 빠름

NB-IoT는 정확히 180kHz의 대역폭을 사용하는데, 이는 1PRB의 폭과 정확히 일치해 LTE망의 PRB 하나를 NB-IoT로 사용할 수 있음. 이때의 운용 방식은 LTE 대역과 상관 없이 독립적인 주파수를 사용하는 stand alone, LTE 주파수 대역의 가장자리 여유 공간을 활용하는 guard band, LTE 대역의 PRB 하나를 골라 사용하는 inband 3가지가 있음.
NB-IoT 물리 계층
NB-IoT는 속도보다 연결의 안정성을 위해 최대 변조 방식을 QPSK를 사용하며, FDD 방식으로 통신하지만, UE는 전력 절약을 위해 half-duplex 모드로 통신함. 다운링크 땐 최대 680bits의 TBS를 전송하며, 180kHz의 대역폭, 15kHz의 서브캐리어를 사용해 기존 LTE 규격과 호환됨. 업링크 땐 최대 1000bits의 TBS를 전송하며, 한 개의 서브캐리어를 사용하는 싱글톤 모드에선 15kHz, 혹은 3.75kHz(더 멀리 보낼 때)의 서브캐리어를, 여러 서브캐리어를 사용하는 멀티톤 모드에선 15kHz의 서브캐리어를 사용함.
NB-IoT 서비스 도입 사례
NB-IoT 실제 서비스 사례에는 수도 검침, 가로등, 축산, 주차, 소방, 가스, 전기, 트래킹, 물류, 가전, 도어락, 환경 모니터링, 공유 자전거 등이 있으며, NB-IoT 솔루션들이 공통적으로 내세우는 강점은 크게 넓은 지역을 커버하는 광역 커버리지, 지하, 실내 깊숙한 곳에서도 통신 가능한 심도 커버리지, 저전력 소비를 통한 배터리 절약, 낮은 모듈 가격 등이 있음.
5G 서비스

mMTC(대규모 사물 통신)
- 대규모 연결성을 제공하는 서비스
- 수많은 기기가 동시에 접속하고, 단말 기기가 저렴해야 하며, 센서 값 등 아주 적은 양의 데이터가 간헐적으로 전송됨
- 스마트 빌딩, 물류 및 트래킹, 스마트 농업 등에 사용됨
URLLC(초고신뢰 저지연 통신)
- 데이터 전송 지연 시간을 1ms 수준으로 줄이고, 데이터 손실이 거의 없는 신뢰성을 보장하는 서비스.
- 통신이 끊겨서는 안 되며, 매우 낮은 지연 및 높은 접근성을 가짐
- 자율주행, 스마트 팩토리 로봇 제어, 원격 수술 등에 사용됨
eMBB(초광대역 이동통신)
- 기존 LTE보다 데이터 전송 속도가 훨씬 빠르고 용량이 큰 서비스
- 스마트폰의 초고속 인터넷, 초고화질 영상 스트리밍, VR/AR 등에 사용됨
5G NR

5G 기술은 서브캐리어의 간격을 유동적으로 조절하는 확장 가능한 OFDM, 하나의 슬롯 안에서 다운로드와 업로드를 유연하게 조절하거나 동시에 처리하는 유연한 슬롯 구조, 데이터 압축 및 에러 정정 알고리즘을 수정한 진보된 채널 코딩, 안테나의 개수를 수십, 수백 개로 늘려 커버리지와 용량을 늘린 대규모 MIMO, 직진성이 강해 잘 끊기는 28kHz 대역 전파를 빔포밍으로 집중시키는 모바일 mmWave 등의 기술 덕분에 실현이 가능해짐.

주파수가 높아질수록 서브캐리어의 간격이 2ⁿ배로 커짐, 낮은 주파수에서는 좁은 간격을 써서 신호를 멀리 보내고 높은 주파수에서는 넓은 간격을 써서 신호를 빠르게 보냄.

서로 다른 서비스들은 5G 주파수 대역 안에서 자유자재로 섞여 운용될 수 있음. 대용량의 eMBB 뿐만 아니라 eMTC, NB-IoT 등 LTE 기반의 IoT 기술도 사용 가능하며, 초저지연 통신이 필요한 경우 슬롯이 다 지날 때까지 기다리지 않고 슬롯을 더 잘게 쪼낸 미니 슬롯 단위를 사용하기도 함


대규모 MIMO는 기존의 수평 빔포밍 뿐만 아니라 수직 빔포밍도 가능해 고층 빌딩으로도 신호를 발사할 수 있음.
HTTP, REST API

HTTP는 웹 상에서 문서를 주고 받기 위해 사용하는 통신 프로토콜로, 클라이언트가 서버에게 요청을 보내면, 서버는 명령어인 HTTP Method를 헤더에 담아서 보냄.
요청은 URL을 통해 서버로 전송되며, 이때 optional HTTP request body가 json 형식으로 붙을 수 있음.
서버가 보내는 응답은 status code와 html, xml, json 형식의 텍스트로 구성됨
RESTful API를 위한 HTTP Method에는 기존 데이터를 열람하는 GET, 데이터를 새로 생성하는 POST, 기존 데이터를 업데이트하는 PUT, 데이터를 삭제하는 DELETE 4가지가 있음.

하지만 HTTP는 TCP 기반이기 때문에 데이터를 보내기 전 반드시 연결 통로를 만들고 서버와 연결을 맺기 위해 3번의 핸드셰이킹 과정을 거쳐야 하며, 연결을 끊을 때도 서로 확인하는 절차가 필요함. 또한, 간단한 IoT 데이터만을 보낼 때도 데이터보다 헤더의 용량이 더 크기에 HTTP는 IoT 데이터 전송에 적합하지 않음.
CoAP (Constrained Application Protocol)
이를 보완하기 위해 저전력 기기들을 위한 CoAP라는 새로운 IoT 표준이 제시됨. Java, C, Python, Go 등 다양한 언어를 지원하고, 불안정한 네트워크에서도 잘 동작함. CoAP는 TCP 대신, 6LoWPAN이나 BLE 등의 PAN 프로토콜 위에서 동작하는 UDP를 사용하면서도, HTTP처럼 REST 아키텍쳐를 그대로 따르며, HTTP보다 메시지 용량이 작고 오버헤드가 매우 낮아 메모리와 용량 절약에 탁월함. 이때, 센서와 액추에이터는 리소스로 취급됨.


MQTT (Message Queuing Telemetry Transport)
IBM의 앤디 스탠포드 클라크와 알렌 니퍼가 개발한 통신 프로토콜로, 배터리 소모와 대역폭의 사용을 최소화하는 것이 목표. MQTT는 구현이 단순해야 하고, QoS 데이터 전송을 지원해야 하고, 경량성 및 대역폭 효율성이 높아야 하고, 운영체제 및 언어에 구애받지 말아야 하며, 기기가 연결되어 있는지 상태를 계속 파악해야 하며, 이벤트가 있을 때만 동작해 배터리를 절약해야 함.

MQTT는 TCP/IP 기반의 기계 간 통신 프로토콜로, 발행-구독 구조를 따름. 클라이언트는 서로 직접 통신하지 않고 브로커를 통해서 통신함.
발행자는 데이터를 보내는 측, 메시지에 주제(Topic)을 붙여 브로커에게 보냄.
브로커는 MQTT의 서버, 발행자가 보낸 메시지를 받아 그 주제를 구독하고 있는 모든 구독자에게 메시지를 전달함.
구독자는 데이터를 받는 측, 브로커에게 관심 있는 주제를 구독 신청해 두면, 브로커가 해당 주제의 메시지가 올 때마다 전달해줌.
클라이언트는 발행자와 구독자 2가지 역할을 모두 할 수 있으며, 보내는 메시지는 텍스트뿐만 아니라 이미지 등 어떠한 형태든 가능함.
MQTT는 필요할 때맏 연결하고 끊는 HTTP와 달리, 네트워크 오류가 발생하거나 클라이언트가 의도적으로 연결을 끊지 않는 이상, 클라이언트와 브로커는 TCP/IP 연결을 끊지 않고 계속 유지함. 주기적으로 Live/Heart-beat 신호를 보내 서로의 연결 상태를 실시간으로 확인하며, 만약 연결이 불의의 사고로 끊어져도 MQTT는 이를 감지하고 자동으로 재접속하거나 이전의 연결 상태를 복구할 수 있음.

주제는 슬래시(/)를 구분자로 사용해 계층적으로 구성되며, 구독 방식은 특정 주제를 정확히 지정하는 명시적 구독과 특수 기호를 사용해 여러 주제를 한꺼번에 구독할는 와일드카드 구독으로 나뉨.
'학교 공부 > 사물인터넷' 카테고리의 다른 글
| 5. Bluetooth (0) | 2025.12.08 |
|---|---|
| 4. ZigBee (0) | 2025.12.01 |
| 2. Wi-Fi (0) | 2025.10.09 |
| 1. 사물인터넷 기본 개념 및 표준 규격 (0) | 2025.10.08 |