무선 네트워크와 모바일 통신
무선 네트워크는 현대 인터넷 접속의 핵심입니다. 스마트폰, 노트북, IoT 장치 등 대부분의 인터넷 접속이 무선을 통해 이루어집니다.
이 글에서는 무선 링크의 고유한 특성, WiFi(802.11) 프로토콜의 구조와 동작, 셀룰러 네트워크의 발전, 그리고 이동성 관리 메커니즘을 살펴봅니다.
1. 무선 네트워크의 구성 요소
무선 네트워크 구성
====================
[유선 인터넷]
|
[기지국/AP] ----무선---- [무선 호스트]
| 링크 [무선 호스트]
| [무선 호스트]
[유선 네트워크]
구성 요소:
1. 무선 호스트: 스마트폰, 노트북, 태블릿
2. 기지국 (Base Station): AP, 셀 타워
3. 무선 링크: 호스트와 기지국 간 통신 채널
4. 네트워크 인프라: 기지국을 유선 네트워크에 연결
1.1 무선 네트워크 분류
무선 네트워크 분류
====================
| 인프라 있음 | 인프라 없음
-----------------+-------------------+------------------
단일 홉 | WiFi, 4G LTE | Bluetooth
| (AP/기지국 경유) | (장치 간 직접)
-----------------+-------------------+------------------
다중 홉 | 무선 메쉬 | MANET, VANET
| (릴레이 사용) | (애드혹 네트워크)
2. 무선 링크의 특성
2.1 유선 대비 차이점
무선 링크는 유선 링크와 근본적으로 다른 특성을 가집니다.
무선 링크의 주요 특성
======================
1. 경로 손실 (Path Loss)
- 신호 세기가 거리에 따라 급격히 감소
- 자유 공간: 거리의 제곱에 반비례
- 실내: 벽, 가구 등에 의한 추가 감쇄
2. 다중 경로 페이딩 (Multipath Fading)
- 신호가 여러 경로로 반사/회절되어 도달
- 여러 신호가 합쳐져 강화 또는 상쇄
3. 간섭 (Interference)
- 같은 주파수를 사용하는 다른 장치와의 간섭
- 전자레인지, 블루투스 등 (2.4GHz 대역)
4. SNR (Signal-to-Noise Ratio)
- 신호 대 잡음비: 높을수록 오류 감소
- SNR이 높으면: 높은 변조율, 높은 전송률
- SNR이 낮으면: 낮은 변조율, 낮은 전송률
2.2 숨은 터미널 문제
숨은 터미널 문제 (Hidden Terminal Problem)
==========================================
장애물
[A] .....|..... [B] ---------- [C]
| | | |
| A의 범위 | B의 범위 |
|<----->| |<----------->|
| |
A는 C를 감지 불가
C는 A를 감지 불가
문제:
A가 B에게 전송 중
C는 채널을 감지: "비어있음" (A의 신호를 감지 못함)
C도 B에게 전송 시작 --> B에서 충돌 발생!
이것이 무선에서 CSMA/CD를 사용할 수 없는 이유
3. WiFi (IEEE 802.11)
3.1 802.11 아키텍처
802.11 네트워크 구조
=====================
BSS (Basic Service Set):
[AP (Access Point)]
/ | \
[H1] [H2] [H3]
무선 호스트들
ESS (Extended Service Set):
[AP1] --- 유선 --- [AP2] --- 유선 --- [AP3]
/ \ / \ / \
[H1][H2] [H3][H4] [H5][H6]
주요 구성:
- BSS: 하나의 AP와 연결된 무선 호스트 그룹
- AP: 유선 네트워크와 무선 호스트를 연결하는 브리지
- SSID: 네트워크 식별 이름 (예: "MyWiFi")
- 채널: 1~11 (2.4GHz) 또는 36~165 (5GHz)
3.2 802.11 연결 과정
WiFi 연결 과정
================
1. AP 발견
- 수동 스캔: AP가 주기적으로 비콘 프레임 전송
- 능동 스캔: 호스트가 프로브 요청 전송, AP가 응답
2. 인증 및 연결
호스트 AP
|--- 인증 요청 (Authentication) -->|
|<-- 인증 응답 --------------------|
|--- 연결 요청 (Association) ----->|
|<-- 연결 응답 --------------------|
3. DHCP로 IP 주소 획득
4. 데이터 전송 시작
3.3 802.11 MAC 프로토콜: CSMA/CA
무선 환경에서는 충돌 감지(CD)가 어렵기 때문에 충돌 회피(CA)를 사용합니다.
CSMA/CA 동작
===============
1. 채널 감지 (Carrier Sense)
- DIFS(Distributed Inter-Frame Space) 동안 채널이 비어있으면 전송
2. 채널이 사용 중이면:
- 랜덤 백오프 타이머 시작
- 채널이 비어있을 때만 타이머 카운트다운
- 타이머 = 0이 되면 전송
3. ACK 확인
- 수신 측이 SIFS(Short Inter-Frame Space) 후 ACK 전송
- ACK 미수신 시 재전송 (백오프 값 증가)
타임라인:
송신자: [DIFS 대기][데이터 전송]....[타임아웃]
수신자: [SIFS][ACK]
CSMA/CD vs CSMA/CA:
CD: 충돌 감지 후 즉시 중단 (이더넷)
CA: 충돌 회피 + ACK 확인 (WiFi)
3.4 RTS/CTS 메커니즘
숨은 터미널 문제를 해결하기 위한 선택적 메커니즘입니다.
RTS/CTS 동작
===============
송신자 A AP 수신 범위의 노드들
| | |
|-- RTS ----------->| |
| (송신 요청) | |
| |---- CTS ------------->|
|<-- CTS -----------| (채널 예약 알림) |
| | |
|== 데이터 ========>| |
| | | (전송 자제)
|<-- ACK -----------| |
| | |
RTS: Request to Send (전송 요청)
CTS: Clear to Send (전송 허가)
CTS를 수신한 모든 노드는 지정된 시간 동안 전송을 자제
--> 숨은 터미널 문제 해결
3.5 802.11 프레임 형식
802.11 프레임 구조
====================
+-------+------+------+------+------+-----+------+------+-----+
|Frame |Dur- |Addr |Addr |Addr |Seq |Addr |Data | CRC |
|Control|ation | 1 | 2 | 3 |Ctrl | 4 | | |
| 2B | 2B | 6B | 6B | 6B | 2B | 6B |0-2312| 4B |
+-------+------+------+------+------+-----+------+------+-----+
4개의 MAC 주소 필드:
주소 1: 수신 무선 인터페이스의 MAC
주소 2: 송신 무선 인터페이스의 MAC
주소 3: AP에 연결된 라우터 인터페이스의 MAC
주소 4: 애드혹 모드에서만 사용
왜 3개의 주소가 필요한가:
H1 --> AP --> 라우터(R1)
주소 1: AP의 MAC (무선 수신자)
주소 2: H1의 MAC (무선 송신자)
주소 3: R1의 MAC (최종 목적지 방향)
4. 802.11 표준의 발전
WiFi 표준 발전
================
표준 | 출시 | 주파수 | 최대 속도 | 특징
----------+-------+----------+------------+------------------
802.11b | 1999 | 2.4 GHz | 11 Mbps | 초기 보급
802.11a | 1999 | 5 GHz | 54 Mbps | OFDM
802.11g | 2003 | 2.4 GHz | 54 Mbps | b와 호환
802.11n | 2009 | 2.4/5 GHz| 600 Mbps | MIMO
(WiFi 4) | | | |
802.11ac | 2013 | 5 GHz | 6.9 Gbps | MU-MIMO
(WiFi 5) | | | |
802.11ax | 2020 | 2.4/5/6 | 9.6 Gbps | OFDMA
(WiFi 6) | | GHz | |
5. 셀룰러 네트워크
5.1 셀룰러 구조
셀룰러 네트워크 기본 구조
===========================
[셀 1] [셀 2] [셀 3]
/ \ / \ / \
/ \ / \ / \
/ BTS \ / BTS \ / BTS \
(기지국) (기지국) (기지국)
| | |
+----------+----------+
|
[BSC/RNC]
(기지국 제어기)
|
[MSC/MME]
(이동 교환국)
|
[코어 네트워크] --- [인터넷]
셀(Cell): 하나의 기지국이 커버하는 영역
주파수 재사용: 인접하지 않은 셀에서 같은 주파수 사용
5.2 세대별 발전
셀룰러 네트워크 세대별 발전
==============================
세대 | 기술 | 속도 | 특징
-------+----------+----------------+------------------
1G | AMPS | 2.4 Kbps | 아날로그 음성
2G | GSM | 14.4 Kbps | 디지털 음성
2.5G | GPRS | 56-114 Kbps | 패킷 데이터
2.75G | EDGE | 384 Kbps | 향상된 데이터
3G | UMTS | 2 Mbps | 모바일 인터넷
3.5G | HSPA | 14 Mbps | 고속 패킷
4G | LTE | 100 Mbps~1Gbps | All-IP 네트워크
4.5G | LTE-A | 3 Gbps | 캐리어 집성
5G | NR | 20 Gbps | 초저지연, IoT
5.3 4G LTE 아키텍처
4G LTE 네트워크 구조
======================
[UE] --무선-- [eNodeB] --- [S-GW] --- [P-GW] --- [인터넷]
| | |
| [MME] [PCRF]
| (이동성관리) (정책/과금)
|
[HSS]
(가입자 DB)
UE: User Equipment (사용자 장치)
eNodeB: 기지국 (진화된 Node B)
S-GW: Serving Gateway (데이터 경로 관리)
P-GW: Packet Gateway (인터넷 연결)
MME: Mobility Management Entity (이동성 관리)
HSS: Home Subscriber Server (가입자 정보)
핵심 특징:
- 모든 트래픽이 IP 패킷으로 전송 (All-IP)
- 음성도 VoLTE (Voice over LTE)로 처리
- 평탄한 아키텍처 (계층 감소로 지연 최소화)
6. 이동성 관리
6.1 이동성의 스펙트럼
이동성 수준
=============
이동 없음 높은 이동성
|-------|--------|--------|--------|---------|
고정 저이동 중이동 고이동 초고속이동
데스크탑 WiFi 보행자 차량 고속열차
로밍 핸드오프 핸드오프
6.2 핸드오프 (Handoff/Handover)
핸드오프 과정
===============
이동 단말이 한 기지국에서 다른 기지국으로 이동:
[이전 BS] .... [이동 단말] .... [새 BS]
| |
| 신호 약해짐 신호 강해짐 |
| |
|<--- 핸드오프 결정 ---------->|
| |
|---- 트래픽 경로 전환 ------->|
| |
핸드오프 유형:
1. 하드 핸드오프: 이전 연결 끊고 새 연결 (GSM)
2. 소프트 핸드오프: 양쪽 동시 연결 유지 (CDMA)
핸드오프 기준:
- 신호 세기 (RSSI)
- 신호 품질 (SINR)
- 부하 분산
6.3 간접 라우팅과 직접 라우팅
이동성 지원: 간접 라우팅
==========================
홈 네트워크 방문 네트워크
[홈 에이전트] [외부 에이전트]
| |
|<---- 이동 단말 등록 ---------|
| |
통신 상대방 --> 홈 에이전트 --> 외부 에이전트 --> 이동 단말
(터널링) (전달)
단점: 삼각 라우팅 (Triangle Routing)
통신 상대방이 방문 네트워크 바로 옆에 있어도
홈 네트워크를 경유해야 함
직접 라우팅:
통신 상대방이 홈 에이전트에서 현재 위치를 확인
이후 직접 외부 에이전트로 전송 (삼각 라우팅 회피)
7. 무선 보안
WiFi 보안 프로토콜 발전
=========================
프로토콜 | 출시 | 암호화 | 보안 수준
---------+-------+------------+----------
WEP | 1999 | RC4 (40bit)| 매우 취약 (사용 금지)
WPA | 2003 | TKIP | 과도기적
WPA2 | 2004 | AES-CCMP | 양호
WPA3 | 2018 | SAE + AES | 강력
WPA2 동작 (4-way Handshake):
1. AP가 랜덤 값 전송
2. 클라이언트가 랜덤 값 + MIC 전송
3. AP가 그룹 키 + MIC 전송
4. 클라이언트가 확인 전송
--> 양측이 세션 키를 안전하게 공유
CSMA/CA 전송 한 번을 끝까지 따라가기
3.3절은 CSMA/CA를 세 줄로 요약했습니다. 프레임 하나가 실제로 공중에 나갈 때까지 어떤 대기와 판단을 거치는지 끝까지 따라가 보면, 왜 WiFi의 실효 처리량이 규격표에 적힌 최대 속도에 한참 못 미치는지가 분명해집니다.
CSMA/CA 전송 1회 (DCF 기준)
==============================
[보낼 프레임 발생]
|
v
(1) 매체 감지
물리적으로 채널이 비어 있는가?
|
+-- 비어 있음 --> DIFS 동안 계속 유휴였다면 즉시 전송
|
+-- 사용 중 ----> (2)
v
(2) 백오프 진입
경쟁 윈도우 CW 안에서 슬롯 수를 균등 랜덤으로 뽑는다
backoff = 0 이상 CW 이하의 정수 (단위: 슬롯)
|
v
(3) 슬롯 카운트다운
매체가 유휴인 슬롯마다 backoff 를 1 감소
매체가 다시 사용 중이 되면 카운터를 그 자리에서 정지 (freeze)
매체가 DIFS 만큼 다시 유휴가 되면 남은 값부터 재개 (resume)
|
v
(4) backoff 가 0 --> 데이터 프레임 전송
|
v
(5) 수신자가 프레임을 정상 수신
SIFS 만큼만 기다렸다가 ACK 전송
|
v
(6) ACK 도착 --> 성공. CW 를 최소값으로 리셋
ACK 없음 --> 실패로 간주. CW 를 키우고 (2)로 복귀
여기서 세 가지를 짚어야 합니다.
첫째, 정지와 재개입니다. 백오프 카운터는 매체가 유휴인 슬롯에서만 줄어듭니다. 카운트다운 도중에 다른 스테이션이 전송을 시작하면 카운터는 그 자리에서 멈추고, 매체가 다시 비면 난수를 새로 뽑는 것이 아니라 남아 있던 값부터 이어서 셉니다. 예를 들어 7슬롯을 뽑아 3까지 세었는데 매체가 바빠졌다면, 다음 기회에는 7이 아니라 3부터 시작합니다. 이 규칙이 없으면 오래 기다린 스테이션이 매번 처음부터 다시 경쟁해야 하고 늦게 도착한 스테이션에게 계속 밀릴 수 있습니다. 남은 값을 보존하기 때문에 이미 많이 기다린 쪽이 다음 라운드에서 먼저 나갈 확률이 높아집니다.
둘째, 왜 802.11은 ACK가 필요하고 이더넷은 필요 없는가입니다. 이더넷은 전송하는 동안 자기가 내보낸 신호와 매체 위의 신호를 비교해서 충돌을 감지할 수 있습니다. 이것이 CD, 즉 충돌 감지입니다. 무선에서는 이 비교가 성립하지 않습니다. 송신 중인 무선 인터페이스의 안테나에는 자기 송신 신호가 압도적으로 크게 들어오기 때문에, 멀리 있는 다른 스테이션의 신호가 그 위에 겹쳐 들어와도 분간해 낼 방법이 없습니다. 게다가 충돌은 송신자 쪽 안테나가 아니라 수신자 쪽 안테나에서 발생합니다. 송신자가 자기 자리에서 아무리 잘 들어도, 정작 문제가 생긴 지점은 다른 곳입니다. 그래서 802.11은 감지를 포기하고 회피로 방향을 바꾼 뒤, 전송이 실제로 성공했는지는 수신자가 돌려주는 ACK 하나로만 판단합니다. ACK가 오지 않는다는 사실 자체가 유일한 실패 신호입니다.
셋째, ACK가 하필 SIFS 뒤에 나가는 이유입니다. SIFS는 DIFS보다 짧습니다. 이 길이 차이 하나가 우선순위를 만듭니다. 새 프레임을 보내려는 스테이션은 최소한 DIFS를 기다려야 하는데, ACK를 보내려는 수신자는 그보다 짧은 SIFS만 기다리면 되므로 언제나 먼저 매체를 잡습니다. 결과적으로 이미 진행 중인 데이터-ACK 교환이 새로 시작하려는 교환보다 항상 앞섭니다. 구체적인 마이크로초 값은 PHY와 대역에 따라 달라지므로 사용 중인 표준 문서에서 확인하세요. 여기서 중요한 것은 절대값이 아니라 SIFS가 DIFS보다 짧다는 순서 관계 자체입니다.
경쟁 윈도우와 이진 지수 백오프
경쟁 윈도우 CW는 백오프 슬롯 수를 뽑는 범위입니다. 전송이 실패할 때마다 이 범위가 넓어집니다.
이진 지수 백오프 (개념)
=========================
시도 1 : CW = CWmin --> 좁은 범위에서 뽑음 (빨리 나감)
시도 2 : CW 를 약 2배로 확대
시도 3 : CW 를 다시 약 2배로 확대
...
시도 n : CW = CWmax 에서 증가 중단
리셋 조건:
- 해당 프레임이 ACK 를 받아 성공하면 CW = CWmin
- 재시도 한도를 넘겨 프레임을 폐기해도 CW = CWmin
CWmin / CWmax 의 실제 슬롯 수는 PHY 와 접근 카테고리(QoS)마다
다르므로 사용 중인 표준·드라이버 문서에서 확인할 것
범위가 넓어지면 두 스테이션이 같은 슬롯 번호를 뽑을 확률이 낮아지므로, 경쟁이 심해질수록 충돌 확률이 자동으로 내려갑니다. 대신 평균 대기 시간도 같이 늘어납니다. 즉 CW는 스테이션이 혼자 추정하는 "지금 이 채널이 얼마나 붐비는가"의 단기 지표이고, 성공 한 번이면 그 추정치는 초기화됩니다. 붐비는 카페에서 체감 속도가 계단식으로 떨어지는 이유가 대체로 이것입니다. 스테이션이 늘면 충돌이 늘고, 충돌이 늘면 CW가 커지고, CW가 커지면 실제 데이터가 아니라 기다림에 쓰이는 시간이 늘어납니다.
숨은 터미널을 A-B-C로 풀어보기
2.2절의 그림을 시간 순서로 다시 써 보겠습니다. 스테이션 A, 수신자 B(보통 AP), 스테이션 C가 일직선상에 있고, A와 C는 각각 B의 전파 범위 안에 있지만 서로의 전파 범위 밖에 있습니다.
숨은 터미널: 실패하는 순서
=============================
t0 A: 매체 감지 --> 유휴. DIFS 경과. 전송 시작
C: 매체 감지 --> 유휴 (A 의 신호가 C 에 닿지 않음)
t1 A: ===== 데이터 프레임 전송 중 =====> B
C: 여전히 유휴로 보임. DIFS 경과. 전송 시작
t2 C: ===== 데이터 프레임 전송 중 =====> B
B: A 의 신호와 C 의 신호가 동시에 도착 --> 충돌
t3 B: 어느 쪽도 복호 실패 --> ACK 를 보내지 않음
A: ACK 타임아웃 --> 실패. CW 확대 후 재시도
C: ACK 타임아웃 --> 실패. CW 확대 후 재시도
핵심:
A 도 C 도 자기 관점에서는 규칙을 완벽히 지켰다.
물리적 반송파 감지는 "내가 듣는 곳"의 상태만 알려주고,
충돌이 일어나는 곳은 "수신자가 있는 곳"이다.
물리적 반송파 감지의 한계가 여기서 그대로 드러납니다. A와 C는 둘 다 규칙을 지켰는데도 충돌했고, 두 스테이션 모두 재전송에 들어가면서 CW를 키웁니다. 부하가 높으면 이 실패가 반복되면서 채널의 상당 부분이 실패한 전송으로 낭비됩니다.
RTS/CTS는 이 문제를 "매체가 비었는지를 귀로 듣는 문제"에서 "누가 매체를 예약했는지를 아는 문제"로 바꿉니다.
RTS/CTS 와 NAV
=================
A B (AP) C
| | |
|--- RTS (duration) ---->| |
| | |
| |--- CTS (duration) ---->| C 는 A 를 못 들어도
|<--- CTS (duration) ----| | B 는 들을 수 있다
| | |
| | | C: NAV 설정
|=== 데이터 ============>| | (duration 동안 전송 금지)
| | |
|<--- ACK ---------------| |
| | | C: NAV 만료 --> 경쟁 재개
RTS 와 CTS 프레임의 duration 필드는
"이 교환이 끝날 때까지 남은 시간"을 담는다.
이 값을 들은 모든 스테이션은 그 시간만큼 카운트다운하는
NAV (Network Allocation Vector) 를 설정한다.
NAV가 가상 반송파 감지(virtual carrier sense)라고 불리는 이유가 이것입니다. 스테이션은 실제로 신호를 듣지 않아도, NAV가 0이 아닌 동안에는 매체가 사용 중이라고 간주합니다. C는 A의 데이터 프레임을 물리적으로 전혀 듣지 못하지만, B가 보낸 CTS의 duration 값 덕분에 "지금은 내가 나설 시간이 아니다"를 알 수 있습니다. 물리적 감지와 가상 감지 중 하나라도 사용 중이면 매체는 사용 중입니다.
정직한 트레이드오프도 있습니다. RTS/CTS는 데이터 프레임 하나마다 짧은 제어 프레임 두 개와 그 사이의 SIFS 간격을 추가로 소모합니다. 이 비용은 데이터 길이와 무관한 고정 비용이라서, 프레임이 짧으면 배보다 배꼽이 커집니다. VoIP나 게임 패킷처럼 작은 프레임이 대부분인 트래픽에 RTS/CTS를 무조건 켜면 오히려 처리량이 떨어집니다. 그래서 대부분의 구현은 RTS 임계값(RTS threshold)을 두고 프레임 길이가 그 값을 넘을 때만 RTS/CTS를 사용합니다. 기본값은 사용 중인 드라이버/AP 문서에서 확인하세요.
연결이 성립하기까지: 스캔, 인증, 결합, 키 교환
3.2절의 4단계를 실제 프레임 순서로 펼치면 이렇습니다.
스캔부터 데이터 전송까지
===========================
[1] 스캔 (Scanning) -- 어떤 AP 가 있는지 찾는다
수동 스캔: 채널을 하나씩 옮겨 다니며 비콘을 기다림
AP -->(비콘)--> 모든 스테이션 (주기적 브로드캐스트)
능동 스캔: 채널마다 프로브 요청을 던지고 응답을 받음
STA --(프로브 요청)--> AP
STA <--(프로브 응답)-- AP
[2] 인증 (Authentication) -- 802.11 계층의 형식적 절차
STA --(인증 요청)--> AP
STA <--(인증 응답)-- AP
WPA2 환경에서는 대개 Open System 으로 그냥 통과한다.
실제 신원 확인은 [4] 에서 이루어진다.
[3] 결합 (Association) -- 이 AP 의 BSS 에 소속된다
STA --(결합 요청: 지원 속도, 능력 정보)--> AP
STA <--(결합 응답: 상태 코드, AID)------- AP
AID 를 받은 시점부터 AP 는 이 스테이션용 버퍼를 관리한다.
[4] 키 교환 -- WPA2 는 4-way 핸드셰이크, WPA3 는 SAE
이 단계가 끝나야 데이터 프레임이 암호화되어 오간다.
[5] DHCP 로 IP 주소 획득 --> 데이터 전송 시작
비콘은 단순한 "나 여기 있어요" 신호가 아닙니다. 비콘 프레임 본문에는 SSID, AP가 지원하는 전송 속도 목록, 능력 정보, 비콘 전송 주기, 동작 채널, 보안 방식(RSN 정보), 그리고 절전 모드 스테이션을 위한 트래픽 표시 정보가 들어갑니다. 스테이션은 비콘 하나만 받아도 이 AP에 붙을 수 있는지, 붙으면 어떤 속도와 어떤 보안 방식으로 붙게 되는지를 결합을 시도하기 전에 판단할 수 있습니다.
수동 스캔이 느린 이유는 여기서 나옵니다. 수동 스캔은 스테이션이 아무것도 보내지 않고 기다리기만 하므로, 어떤 채널에 AP가 있는지 알려면 그 채널에서 비콘이 한 번 나올 때까지 머물러야 합니다. 비콘은 주기적으로만 나오므로 채널당 최소한 비콘 주기만큼은 대기해야 하고, 이것을 스캔 대상 채널 수만큼 반복하면 전체 스캔 시간이 채널 수에 비례해서 늘어납니다. 능동 스캔은 프로브 요청을 먼저 던지고 즉시 오는 응답을 받으므로 채널당 체류 시간이 훨씬 짧습니다. 대신 스테이션이 자기 존재와 찾는 SSID를 공중에 뿌리게 되고, 일부 규제 대역에서는 먼저 신호를 보내는 것 자체가 제한되기 때문에 그런 채널에서는 수동 스캔이 강제됩니다. 배터리 관점에서도 두 방식은 다릅니다. 수동 스캔은 오래 깨어 있어야 하고, 능동 스캔은 짧지만 송신을 해야 합니다.
인증과 결합을 구분해서 이해하는 것도 도움이 됩니다. 802.11의 인증 단계는 역사적 유물에 가깝고, WPA2 환경에서는 실질적인 검증을 하지 않고 통과합니다. 실제로 비밀번호를 아는지 확인하고 세션 키를 만드는 일은 결합이 끝난 뒤의 4-way 핸드셰이크에서 일어납니다. 그래서 "비밀번호가 틀렸는데 왜 결합까지는 되었는가" 같은 로그를 보게 됩니다. 결합은 성공했고 키 교환에서 실패한 것입니다.
실제로 처리량을 깎아먹는 것들
표에 적힌 최대 속도와 실제 속도의 간극은 대부분 다음 세 가지에서 나옵니다.
속도 적응과 에어타임 불공정
무선 링크는 SNR에 따라 변조·부호화 방식(MCS)을 계속 바꿉니다. 신호가 좋으면 높은 MCS로 촘촘하게 실어 보내고, 멀어지거나 간섭이 늘면 재전송이 늘기 때문에 드라이버의 속도 제어 알고리즘이 자동으로 낮은 MCS로 내려갑니다. 리눅스 mac80211에서는 minstrel 계열 알고리즘이 이 역할을 합니다. 낮은 MCS로 내려간다는 것은 같은 바이트 수를 보내는 데 더 긴 시간을 쓴다는 뜻입니다.
문제는 CSMA/CA가 공평하게 나눠 주는 것이 대역폭이 아니라 전송 기회라는 점입니다.
에어타임 불공정 (airtime unfairness)
=======================================
같은 크기의 프레임을 각각 한 번씩 보낸다고 하자.
가까운 클라이언트 (높은 MCS) : [==] 짧은 점유
먼 클라이언트 (낮은 MCS) : [==================] 긴 점유
DCF 는 전송 "횟수"를 대체로 공평하게 나눈다.
따라서 느린 클라이언트 한 대가 채널 시간의 대부분을 가져간다.
결과: 빠른 클라이언트들의 처리량도 같이 무너진다.
느린 한 대가 전체를 느린 쪽으로 끌어내린다.
이것이 "구석에 있는 노트북 한 대 때문에 사무실 전체 WiFi가 느려진다"는 현상의 실체입니다. 대역폭 문제가 아니라 채널 시간 배분 문제이므로, AP를 더 빠른 모델로 바꿔도 해결되지 않습니다. 커버리지를 좁히고 AP를 늘려서 모든 클라이언트가 높은 MCS를 쓰게 만들거나, 에어타임 공정성 기능을 지원하는 장비를 쓰는 쪽이 맞습니다.
동일 채널 간섭과 인접 채널 간섭
두 종류를 구분해야 진단이 됩니다. 동일 채널 간섭(co-channel interference)은 같은 채널을 쓰는 다른 AP와 그 클라이언트들이 있는 경우입니다. 이때 신호는 서로에게 "해독 가능한 802.11 신호"이므로 반송파 감지가 정상 동작하고, 모두가 같은 채널 시간을 나눠 쓰게 됩니다. 처리량은 줄지만 동작은 정상입니다. 인접 채널 간섭(adjacent-channel interference)은 주파수가 부분적으로 겹치는 경우입니다. 상대의 신호를 프레임으로 해독하지는 못하고 잡음으로만 받아들이므로 반송파 감지가 제대로 작동하지 않고, 결과적으로 서로의 전송을 그냥 망가뜨립니다. 재전송률이 급격히 올라갑니다.
직관과 반대로, 채널이 부족하면 인접 채널로 피하는 것보다 동일 채널로 겹치는 편이 나은 경우가 많습니다.
2.4 GHz 대역의 20 MHz 채널
=============================
채널 번호: 1 2 3 4 5 6 7 8 9 10 11
|---20MHz---|
|---20MHz---|
|---20MHz---|
^ ^ ^
1 6 11
대부분의 규제 도메인에서 2.4 GHz 는 채널 간격이 좁아
20 MHz 폭 기준으로 서로 겹치지 않는 조합이 사실상 1 / 6 / 11 세 개뿐이다.
--> AP 가 4 대 이상이면 반드시 채널이 재사용된다.
5 GHz 는 비중첩 20 MHz 채널이 훨씬 많다.
--> 채널 계획의 여유가 근본적으로 다르다.
(사용 가능한 채널과 DFS 요구사항은 규제 도메인마다 다르므로
해당 국가의 규정과 장비 문서에서 확인할 것)
2.4 GHz에서 채널 3이나 채널 9 같은 "빈 것처럼 보이는" 채널을 고르는 것이 흔한 실수입니다. 그 채널은 채널 1과 채널 6 양쪽 모두와 부분적으로 겹치기 때문에, 양쪽 모두에게 잡음이 되고 양쪽 모두로부터 잡음을 받습니다.
실패 사례와 함정
증상: 신호는 꽉 찼는데 느리다
가장 흔한 신고이고, 가장 자주 잘못 진단되는 증상입니다. 막대 세 칸이 다 찼다는 것은 RSSI가 높다는 뜻일 뿐, 링크가 건강하다는 뜻이 아닙니다. RSSI는 내가 받는 신호의 세기이지, 내 전송이 상대에게 성공적으로 도착하는지에 대한 정보가 아닙니다.
진단 순서
===========
1) 재전송률을 먼저 본다
tx retries 가 tx packets 대비 수 % 를 넘어가면 링크 문제다.
RSSI 가 아무리 좋아도 재전송이 많으면 채널이 오염된 것이다.
--> 간섭원, 인접 채널 겹침, 숨은 터미널을 의심
2) 실제 MCS / tx bitrate 를 본다
협상된 물리 속도가 링크 규격 대비 크게 낮으면
속도 제어 알고리즘이 이미 내려간 상태다.
--> 거리, 장애물, 안테나 방향, 대역(2.4 vs 5 GHz) 확인
3) 채널 점유율을 본다
위 둘이 정상인데도 느리면 내 링크가 아니라
채널 자체가 붐비는 것이다.
--> 같은 채널의 다른 AP / 클라이언트 수, 에어타임 확인
4) 마지막에 RSSI 를 본다
RSSI 는 1~3 의 원인을 설명할 때 쓰는 보조 지표이지
출발점이 아니다.
리눅스에서는 iw로 이 값들을 직접 볼 수 있습니다. 아래 예시는 인터페이스 이름이 wlan0인 경우이므로, 자기 장비의 인터페이스 이름으로 바꿔서 쓰면 됩니다. 문서상 형식은 iw dev <devname> link처럼 표기됩니다.
# 현재 연결의 요약: SSID, 주파수, 신호 세기, 협상된 tx bitrate
iw dev wlan0 link
예시 출력
===========
Connected to 02:11:22:33:44:55 (on wlan0)
SSID: office-5g
freq: 5180
RX: 184203311 bytes (152884 packets)
TX: 21944072 bytes (61230 packets)
signal: -47 dBm
tx bitrate: 54.0 MBit/s
읽는 법:
signal -47 dBm --> RSSI 는 아주 좋다 ("막대 꽉 참")
tx bitrate 줄에 MCS 표기가 아예 없다
--> HT/VHT 레이트가 아니라 레거시 레이트까지 떨어져 있다는 뜻이다.
건강한 802.11n 링크라면 커널 문서의 예시처럼
tx bitrate: 300.0 MBit/s MCS 15 40Mhz short GI
같은 줄이 나온다. MCS 번호와 채널 폭이 함께 표시된다.
신호가 좋은데 레이트가 낮다 = 간섭 때문에 속도 제어가 내려갔다는 신호.
RSSI 가 아니라 이 줄을 먼저 봐야 하는 이유가 이것이다.
# 재전송 카운터까지 포함한 상세 통계
iw dev wlan0 station dump
station dump가 보여 주는 항목 중에서 진단에 실제로 쓰이는 것은 tx retries, tx failed, tx bitrate, rx bitrate, signal avg입니다. tx retries가 tx packets 대비 눈에 띄게 크면, 신호 세기와 무관하게 이 링크는 이미 문제 상태입니다. 출력 항목의 정확한 이름과 구성은 드라이버와 커널 버전에 따라 달라지므로 사용 중인 버전의 문서에서 확인하세요.
증상: 특정 시간대에만 끊긴다
이 경우 진단 순서는 다릅니다. 먼저 그 시간대에 사람이 늘어나는지(에어타임 경쟁), 다음으로 전자레인지나 무선 전화기 같은 비 802.11 간섭원이 동작하는지, 마지막으로 5 GHz 대역이라면 레이더 감지로 인한 채널 이동이 일어나는지를 봅니다. 앞의 두 개는 재전송률 상승으로 나타나고, 마지막 것은 짧은 완전 단절과 채널 번호 변경으로 나타나므로 로그에서 구분됩니다.
함정: RTS/CTS를 무조건 켠다
숨은 터미널 문제를 배우고 나면 RTS 임계값을 최소로 내려 모든 프레임에 RTS/CTS를 적용하고 싶어집니다. 숨은 터미널이 실제로 없는 환경에서는 이것이 순수한 손해입니다. 프레임마다 제어 프레임 두 개와 SIFS 간격이 추가되므로, 작은 프레임이 많은 트래픽에서는 처리량이 눈에 띄게 떨어집니다. RTS/CTS는 "재전송률이 높은데 원인이 간섭이 아니라 서로 못 듣는 스테이션들"이라는 진단이 선 뒤에 켜는 도구입니다.
언제 무선을 쓰지 않나
무선은 편의성에서 유선을 압도하지만, 다음 세 가지 경우에는 유선이 정답입니다.
첫째, 지연 시간이 결정적이고 예측 가능해야 하는 워크로드입니다. CSMA/CA는 본질적으로 확률적입니다. 백오프 슬롯을 난수로 뽑고, 매체가 바쁘면 카운터가 멈추고, 실패하면 CW가 커집니다. 평균 지연이 낮아도 최악 지연의 상한을 보장할 수 없습니다. 산업용 제어, 실시간 오디오 동기화, 고빈도 거래처럼 지연의 꼬리가 중요한 곳에서는 무선의 평균값이 아무리 좋아도 쓸 수 없습니다.
둘째, 스테이션 밀도가 높아 제약이 대역폭이 아니라 채널 시간인 경우입니다. 강당이나 컨퍼런스장처럼 한 공간에 수백 대가 모이는 환경에서는 AP의 규격 속도를 아무리 올려도 도움이 되지 않습니다. 모든 스테이션이 하나의 채널 시간을 나눠 쓰고, 스테이션 수가 늘수록 충돌과 백오프에 쓰이는 시간의 비율이 커지기 때문입니다. 이런 곳에서 필요한 것은 더 빠른 AP가 아니라 더 촘촘한 셀 설계와 채널 재사용 계획, 그리고 가능하다면 유선 백업입니다.
셋째, RF 환경을 통제할 수 없는 경우입니다. 무선의 성능은 옆집 AP, 창밖 도로, 벽 안쪽 배관처럼 내가 손댈 수 없는 요소에 좌우됩니다. 서버 랙 사이, 공용 오피스 빌딩, 임대 공간처럼 주변 스펙트럼을 관리할 권한이 없는 환경에서 무선 링크에 서비스 가용성을 걸면, 원인을 특정할 수도 고칠 수도 없는 장애를 떠안게 됩니다. 서버 간 통신, 백업 트래픽, 스토리지 트래픽처럼 끊기면 안 되는 경로는 유선으로 두는 것이 맞습니다.
반대로 무선이 확실한 정답인 경우도 분명합니다. 이동성이 요구사항 자체인 경우, 배선 비용이 성능 손실을 압도하는 경우, 그리고 지연의 꼬리가 사용자 경험에 영향을 주지 않는 일반적인 웹·스트리밍 트래픽입니다.
8. 정리
| 개념 | 핵심 내용 |
|---|---|
| 경로 손실 | 신호 세기가 거리에 따라 급격히 감소 |
| 숨은 터미널 | 상대방의 전송을 감지 못해 충돌 발생 |
| CSMA/CA | 충돌 회피 + ACK 확인 방식 |
| RTS/CTS | 채널 예약으로 숨은 터미널 문제 해결 |
| 802.11 프레임 | 4개의 MAC 주소 필드 포함 |
| 셀룰러 | 셀 단위 주파수 재사용, 세대별 발전 |
| 4G LTE | All-IP 네트워크, 평탄한 아키텍처 |
| 핸드오프 | 기지국 간 이동 시 연결 전환 |
다음 글에서는 멀티미디어 네트워킹과 스트리밍 기술을 살펴보겠습니다.
참고 자료
- James F. Kurose, Keith W. Ross, "Computer Networking: A Top-Down Approach", 6th Edition, Chapter 6
- IEEE 802.11 - Wireless LAN Standard
- 3GPP TS 36.300 - LTE Architecture
802.11은 RFC가 아니라 IEEE 표준입니다. 표준 자체는 IEEE에서, 리눅스 쪽 도구는 커널 문서에서 확인하는 것이 맞습니다.
- IEEE 802.11 Working Group (WLAN 표준 워킹그룹, IEEE 802 표준 무료 다운로드 안내 포함) — https://www.ieee802.org/11/ (2026-08-16 확인)
- IEEE Std 802.11-2020, "Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications" (현재는 IEEE Std 802.11-2024로 대체됨) — https://standards.ieee.org/ieee/802.11/7028/ (2026-08-16 확인)
- IEEE P802.11 프로젝트 페이지 (최신 개정 진행 상황) — https://standards.ieee.org/ieee/802.11/11852/ (2026-08-16 확인)
- Linux Wireless, iw 사용 예 (
iw dev wlan0 link,iw dev wlan1 station dump,iw dev wlan0 scan,iw list) — https://wireless.docs.kernel.org/en/latest/en/users/documentation/iw.html (2026-08-16 확인) - Linux Wireless, mac80211 문서 (Rate Control / minstrel) — https://wireless.docs.kernel.org/en/latest/en/developers/documentation/mac80211.html (2026-08-16 확인)