콘텐츠로 이동

MAC 프레임 구조

규격 · 개정판

802.11-2024 Clause 9.2 (MAC 프레임 형식), 9.2.4 (필드: Frame Control, Duration/ID, 주소, Sequence Control, QoS Control, HT Control) · HT Control 변형: 11n (HT), 11ac (VHT), 11ax (HE A-Control), 11be (EHT 확장)

한눈에 보기

모든 802.11 프레임은 헤더 + 본문 + FCS로 이루어집니다.

  • Frame Control: 이 프레임이 무엇인지(관리/제어/데이터), 어느 방향인지, 암호화했는지
  • Duration: "이 교환이 끝날 때까지 매체를 몇 µs 더 쓴다" — 다른 STA는 이 값으로 조용히 기다림(NAV)
  • 주소 최대 4개: 이더넷과 달리 수신자·송신자 외에 최종 목적지·원래 출발지를 따로 적음
  • Sequence Control: 재전송 중복 제거와 순서 맞추기용 번호
  • QoS Control / HT Control: 우선순위, Block Ack 정책, 링크 적응 정보
  • FCS: CRC-32 오류 검사

일반 프레임 형식

필드 옥텟 존재 조건
Frame Control 2 항상
Duration/ID 2 항상 (PS-Poll에서는 AID)
Address 1 (RA) 6 항상 — 수신자
Address 2 (TA) 6 대부분 — 송신자
Address 3 6 데이터·관리
Sequence Control 2 데이터·관리
Address 4 6 To DS = From DS = 1 (WDS·메시)
QoS Control 2 QoS 데이터 프레임
HT Control 4 Order 비트 = 1인 QoS 데이터·관리 프레임
Frame Body 가변
FCS 4 항상

QoS 데이터 프레임의 기본 헤더는 26옥텟(주소 3개 + QoS Control), HT Control이 붙으면 30옥텟입니다.

Frame Control 필드

비트 필드 의미
B0–B1 Protocol Version 0 (PV0). 802.11ah의 PV1 짧은 헤더는 1
B2–B3 Type 0 관리, 1 제어, 2 데이터, 3 확장
B4–B7 Subtype 비콘(8), 프로브 요청(4), QoS 데이터(8) 등
B8 To DS DS 방향으로 가는 프레임 (STA → AP)
B9 From DS DS에서 오는 프레임 (AP → STA)
B10 More Fragments 단편화
B11 Retry 재전송 프레임
B12 Power Management 이 교환 후 STA가 도즈로 들어감
B13 More Data AP에 이 STA용 프레임이 더 있음
B14 Protected Frame 본문이 암호화됨
B15 +HTC (Order) HT Control 필드 존재 (QoS 프레임)

주소 필드 해석

To DS From DS 상황 Addr 1 (RA) Addr 2 (TA) Addr 3 Addr 4
0 0 관리·제어, IBSS, TDLS DA SA BSSID —
0 1 AP → STA DA BSSID SA —
1 0 STA → AP BSSID SA DA —
1 1 무선 브리지·메시 RA TA DA SA

DA = 최종 목적지, SA = 원래 출발지, RA = 이번 홉의 수신자, TA = 이번 홉의 송신자. A-MSDU를 쓰면 각 서브프레임 헤더에 DA/SA가 따로 있어 주소 해석이 달라집니다.

Sequence Control과 QoS Control

필드 비트 의미
Fragment Number 4 단편 번호
Sequence Number 12 0–4095 순환. TID별로 따로 셈
QoS Control
TID 4 트래픽 식별자 0–7 (사용자 우선순위)
EOSP 1 U-APSD 서비스 구간 종료
Ack Policy 2 Normal Ack / No Ack / Block Ack / (암묵적 BAR)
A-MSDU Present 1 본문이 A-MSDU
TXOP Limit / Queue Size 등 8 상황에 따라 의미가 다름 (11ax는 버퍼 상태 보고에 활용)

HT Control 변형

변형 구분 담는 정보
HT variant B0 = 0 링크 적응(MCS 요청·피드백), 보정
VHT variant B0 = 1, B1 = 0 MCS 피드백(MFB), 그룹 ID
HE variant (A-Control) B0 = 1, B1 = 1 여러 Control 하위 필드를 이어 붙임: TRS, OM, HLA, BSR, UPH, BQR, CAS 등

11ax의 A-Control은 데이터 프레임 헤더 4옥텟 안에 "버퍼에 몇 바이트 있음(BSR)", "앞으로 수신 대역폭을 이렇게 바꿈(OM)", "트리거 없이 이 RU로 응답해(TRS)" 같은 신호를 실어, 별도 관리 프레임 없이 AP와 STA가 빠르게 정보를 주고받게 합니다. 11be는 EHT OM 등 Control ID를 추가했습니다.

전문가 노트 — Duration/ID 계산과 실무 포인트

Duration 계산. 단일 데이터 프레임의 Duration = SIFS + ACK 시간입니다. TXOP 안에서 여러 프레임을 보낼 때는 TXOP 끝까지 남은 시간을 넣고, RTS는 CTS + 데이터 + ACK + SIFS 3개를 합쳐 넣습니다. 값의 최대는 32 767 µs입니다. 비트 15가 1이고 14가 0이면 Duration이 아니라 AID(PS-Poll)를 뜻합니다.

Sequence Number 공간. 12비트 = 4096개입니다. Block Ack 윈도(11be는 1024)는 이 공간의 절반 미만이어야 모호성이 없습니다. 11be의 1024 윈도가 사실상 상한인 이유입니다.

MLO와 주소. Wi-Fi 7 MLD 간 데이터 프레임은 링크별 MAC 주소(RA/TA)로 공중에 보내지만, 상위 계층·암호화(AAD, nonce)·Block Ack 합의는 MLD MAC 주소 기준입니다. 그래서 MLD 데이터 프레임의 Address 3 해석과 암호화 nonce 구성 규칙이 11be에서 새로 정의되었습니다. 캡처 분석 시 같은 MSDU가 다른 링크에서 재전송되면 TA는 바뀌어도 시퀀스 번호는 같습니다.

Wireshark 팁. wlan.fc.type_subtype으로 걸러 보고, 모니터 모드 캡처에서 FCS 오류 프레임은 wlan.fcs.status == "Bad"로 구분합니다. Radiotap 헤더의 MCS/VHT/HE/EHT 필드가 해당 프레임의 PHY 정보입니다.