계층 구조 (LLC·MAC·PHY)¶
규격 · 개정판
802.11-2024 Clause 4 (참조 모델), Clause 5 (MAC 서비스), Clause 6 (계층 관리: MLME·PLME·SME), Clause 8 (PHY 서비스) · IEEE 802.2 (LLC), RFC 1042 (SNAP 캡슐화)
한눈에 보기
IEEE 802.11은 OSI 7계층 중 **2계층 아래쪽(MAC)과 1계층(PHY)**만 정의합니다. 그 위의 IP·TCP·앱은 이더넷과 똑같이 동작합니다. 그래서 노트북 입장에서 Wi-Fi는 "선 없는 이더넷"처럼 보입니다.
- PHY: 비트를 전파로 바꿔 보냄. 변조, 부호화, OFDM, 프리앰블
- MAC: 누가 언제 보낼지(채널 접근), 주소, 재전송, 집성, 암호화, 전력 절약
- 관리 기능(MLME): 스캔, 인증, 결합, 측정, 로밍 결정 보조
셀룰러와 비교하면 MAC 하나가 LTE의 MAC·RLC·PDCP 일부(재전송, 암호화)와 RRC 일부(연결 관리)를 한꺼번에 맡는 셈입니다.
참조 모델¶
flowchart TB
subgraph Data["데이터 평면"]
direction TB
L3["IP / ARP"] --> LLC["LLC + SNAP<br/>(EtherType 담기)"]
LLC --> MAC["MAC 부계층<br/>MSDU → MPDU"]
MAC --> PHY["PHY<br/>PSDU → PPDU"]
end
subgraph Mgmt["관리 평면"]
direction TB
SME["SME<br/>(OS 연결 관리자·wpa_supplicant)"]
MLME["MLME"]
PLME["PLME"]
end
SME --- MLME
MLME --- PLME
MLME -.MLME SAP.- MAC
PLME -.PLME SAP.- PHY
| 계층 | 데이터 단위 | 주요 기능 | 이 핸드북 |
|---|---|---|---|
| LLC | MSDU (IP 패킷 + LLC/SNAP 헤더) | 상위 프로토콜 구분 | — |
| MAC | MPDU, A-MSDU, A-MPDU | CSMA/CA, ACK·재전송, 집성, 암호화, 전력 절약 | MAC |
| PHY | PSDU → PPDU | 부호화·변조, 프리앰블, CCA | PHY |
| MLME / SME | 관리 프레임 | 스캔·인증·결합·로밍·측정 | 접속과 관리 |
과거 표준은 PHY를 PLCP(수렴 부계층, 프리앰블·헤더 담당)와 PMD(실제 변조)로 나눴습니다. 802.11-2016부터 PLCP라는 이름은 사라지고 PHY로 합쳐 부르지만, 오래된 문서에는 "PLCP 헤더" 같은 표현이 남아 있습니다.
데이터 단위 변환¶
| 단위 | 정의 | 최대 크기 (대표값) |
|---|---|---|
| MSDU | MAC이 상위에서 받은 데이터 | 2304 옥텟 (이더넷 1500 + 헤더 여유) |
| A-MSDU | MSDU 여러 개를 하나의 MPDU 본문에 묶음 | HT 3839/7935, VHT 이후 최대 11 454 옥텟(MPDU 길이 한도 안) |
| MPDU | MAC 헤더 + 본문 + FCS | VHT/HE 3895/7991/11 454 옥텟 |
| A-MPDU | MPDU 여러 개를 PHY 하나에 묶음 | HT 65 535, VHT 1 048 575 옥텟 (11ax/be는 더 큼) |
| PSDU | PHY가 받은 비트열 = (A-)MPDU | |
| PPDU | 프리앰블 + PSDU (+ 패킷 확장) | 시간 한도: 대략 5.484 ms (L-SIG 길이 표현 한계) |
이더넷 프레임과의 관계¶
AP는 이더넷 프레임을 802.11 프레임으로 바꿔 보냅니다.
| 이더넷 | 802.11 데이터 프레임 |
|---|---|
| 목적지 MAC, 출발지 MAC | Address 1–3 (방향에 따라 BSSID 포함) |
| EtherType (2옥텟) | 본문 앞 LLC/SNAP 헤더 8옥텟 AA AA 03 00 00 00 + EtherType |
| 페이로드 | 본문 |
| FCS | FCS (CRC-32, 802.11 헤더 기준으로 새로 계산) |
전문가 노트 — SAP와 구현 위치
MLME 프리미티브. 표준의 MLME-SCAN.request, MLME-ASSOCIATE.confirm 같은 프리미티브는 구현 API가 아니라 계층 간 상호 작용의 추상 모델입니다. 그래도 Linux의 nl80211 명령(NL80211_CMD_TRIGGER_SCAN, NL80211_CMD_ASSOCIATE)이나 wpa_supplicant 상태 기계가 대체로 이 구조를 따릅니다.
SoftMAC vs FullMAC. MAC 기능을 호스트 드라이버(Linux mac80211)에서 처리하면 SoftMAC, 칩 펌웨어에서 처리하면 FullMAC입니다. 실제로는 그 중간이 많아서 ACK·Block Ack 타이밍(SIFS = 16 µs 안에 응답)처럼 시간에 민감한 기능은 항상 하드웨어·펌웨어가, 결합·인증 상태 기계는 호스트가 맡는 식입니다.
802.11 MAC과 이더넷 브리지. 802.11 BSS는 802.1D 브리지 관점에서 하나의 LAN 세그먼트로 동작하지만, non-AP STA는 기본적으로 3-주소 프레임만 쓰므로 자기 뒤의 다른 이더넷 기기를 투명하게 브리지할 수 없습니다(소스 주소가 STA 자신이어야 함). 이를 위해 4-주소 모드(WDS)나 MAC 주소 변환, 또는 EasyMesh 백홀 STA 같은 방식이 쓰입니다.