無線 LAN フレーム構成について 2016 年 7 月 8 日 梅原大祐
MAC フレームフォーマット IEEE 802.11n QoS フィールド : QoS, A-MSDU, メッシュ関連 2 2 Duration /ID 6 6 6 2 6 2 0 7951 1 2 3 MAC header Sequence QoS HT body FCS メッシュネットワークでないケース : IP frame (1,500 byte) 2 2 Duration /ID 6 6 6 2 1508 1 2 3 MAC header 2 Sequence QoS HT body FCS IEEE 802.11ac 2 2 Duration /ID 6 6 6 2 6 2 variable 1 2 3 Sequence QoS HT body FCS MAC header 2
RTS/CTS/ACK フレームフォーマット RTS フレーム (RTS PSDU サイズ : DD RRRRRR = 20 byte) 2 2 6 6 Duration RA TA FCS MAC header CTS フレーム (CTS PSDU サイズ : DD CCCCCC = 1 byte) 2 2 6 Duration RA FCS MAC header ACK フレーム (ACK PSDU サイズ : DD AAAAAA = 1 byte) 2 2 6 Duration RA FCS MAC header 3
ブロック ACK フレームフォーマット ブロック ACK フレーム 2 2 Duration /ID 6 6 2 variable BA BA RA TA FCS information MAC header BA 情報 : 基本ブロック ACK フレーム DD BBBBBBBBBB = 152 byte 2 128 Block ACK starting sequence Block ACK bitmap BA 情報 : 圧縮ブロック ACK フレーム DD CCCCCCCCCC = 32 byte 2 8 Block ACK starting sequence Block ACK bitmap
データフレームフォーマット (IEEE 802.11n) データフレーム QoS フィールド : QoS, A-MSDU, メッシュ関連 2 2 Duration /ID 6 6 6 2 6 2 0 7951 1 2 3 MAC header Sequence QoS HT body FCS A-MSDU 構成 A-MSDU subframe 1 A-MSDU subframe 2 A-MSDU subframe n A-MSDU サブフレーム構成 パディング 全体が の倍数 6 DA 6 2 0 230 0 3 SA Length MSDU Padding A-MSDU subframe header 5
データフレームフォーマット (IEEE 802.11ac) データフレーム QoS フィールド : QoS, A-MSDU, メッシュ関連 最大 MPDU サイズ : 3,895 or 7,991 or 11,5 octets 2 2 Duration /ID 6 6 6 2 6 2 variable 1 2 3 MAC header Sequence QoS HT body FCS A-MSDU 構成 A-MSDU subframe 1 A-MSDU subframe 2 A-MSDU subframe n A-MSDU サブフレーム構成 パディング 全体が の倍数 最大 MSDU サイズ : 230 octets 6 DA 6 2 variable 0 3 SA Length MSDU Padding A-MSDU subframe header 6
A-MPDU フォーマット (IEEE 802.11n) A-MPDU フォーマット 最大サイズ : 65,535 octets variable variable variable A-MPDU subframe 1 A-MPDU subframe 2 A-MPDU subframe n A-MPDU サブフレームフォーマット MPDU デリミタ MPDU delimiter variable 0 3 MPDU Pad B0 B3 B B15 B16 B23 B2 B31 Reserved MPDU length CRC Delimiter signature Bits: 12 8 8 パディング 全体が の倍数 7
A-MPDU フォーマット (IEEE 802.11ac) A-MPDU フォーマット 最大サイズ pre-eof padding: 1,08,575 octets variable variable variable A-MPDU subframe 1 A-MPDU subframe 2 A-MPDU subframe n 0 3 EOF Pad A-MPDU サブフレームフォーマット MPDU delimiter variable 0 3 MPDU Pad MPDU デリミタ (non-dmg) DMG: Directional Multi-Gigabit B0 EOF B1 B2 B15 B16 B23 B2 B31 Reserved MPDU length CRC Delimiter signature パディング 全体が の倍数 8
Non-HT PPDU PPDU フォーマット 8 µs L-STF 8 µs L-LTF µs L- SIG Data HT-mixed format PPDU 8 µs L-STF 8 µs L-LTF µs L- SIG HT-greenfield format PPDU 8 µs HT-GF- STF 8 µs HT-LTF1 Format of Data field 8 µs µs µs µs µs µs HT- HT- HT- HT- HT- HT-SIG STF LTF LTF LTF LTF Data HT-LTFs 8 µs µs µs µs µs HT- HT- HT- HT- HT-SIG LTF LTF LTF LTF Data HT-LTFs Extension HT-LTFs Extension HT-LTFs Data Data NN EEEE : Data field 用の BCC 符号化器の数 SERVICE 16 bits Scrambled PSDU 6 NN EEEE Tail bits (BCC encoder only) Pad bits 9
VHT PPDU フォーマット VHT PPDU format 最大 PSDU サイズ :,692,80 octets 最大 PPDU duration: 5,8 µs VHT-LTF シンボル数 : NN VVVVVV LLLLLL 1,2,,6,8 8 µs L-STF 8 µs L-LTF µs L-SIG 8 µs µs µs µs µs VHT- VHT- VHT- STF LTF LTF VHT-SIG-A VHT- SIG-B Data NN VVVVVV LLLLLL 10
記号の説明 タイミング関係パラメータ Δ FF : サブキャリア周波数間隔, TT DDDDDD : IDFT/DFT 区間 TT GGGG : GI 区間, TT GGGGG : ダブル GI 区間, TT GGGGGG : ショート GI 区間 TT SSSSSSSS : ロング GI シンボル区間, TT SSSSSSSS : ショート GI シンボル区間 NN ssssssssssssss : SERVICE フィールドのビット数 NN tttttttt : BCC 符号化器のテイルビット数 Parameter Δ FF Value 312.5 khz TT DDDDDD 3.2 µs TT GGGG 0.8 µs = TT DDDDDD TT GGGGG 1.6 µs TT GGGGGG 0. µs = TT DDDDDD 8 Parameter TT LL LLLLLL TT LL SSSSSS TT VVVVVV SSSSSS AA TT VVVVVV SSSSSS TT VVVVVV LLLLLL Value 8 µs = 2 TT DDDDDD + TT GGGGG µs = TT SSSSSSSS 8 µs = 2TT SSSSSSSS µs = TT SSSSSSSS µs = TT SSSSSSSS TT SSSSSSSS µs = TT DDDDDD + TT GGGG TT SSSSSSSS 3.6 µs = TT DDDDDD + TT GGGGGG TT LL SSSSSS 8 µs = 10 TT DDDDDD TT VVVVVV SSSSSS BB µs = TT SSSSSSSS NN ssssssssssssss 16 NN tttttttt 6 11
サブキャリア構成 記号の説明 NN SSSS : 周波数セグメント内のデータサブキャリア数 NN SSSS : 周波数セグメント内のパイロットサブキャリア数 NN SSSS : 周波数セグメント内の総サブキャリア数 NN SSSS : 周波数セグメント内の最大データサブキャリアインデックス NN SSSSSS : 周波数セグメント数 Parameter CBW20 CBW0 CBW80 CBW80+80 CBW160 NN SSSS 52 108 23 23 68 NN SSSS 6 8 8 16 NN SSSS 56 11 22 22 8 NN SSSS 28 58 122 122 250 NN SSSSSS 1 1 1 2 1 12
VHT-MCS 記号の説明 RR: 符号化率 NN BBBBBBBBBB : 各空間ストリームに対する符号化ビット数 / サブキャリア VHT-MCS index Modulation RR NN BBBBBBBBBB 0 BPSK 1/2 1 1 QPSK 1/2 2 2 QPSK 3/ 2 3 16-QAM 1/2 16-QAM 3/ 5 6-QAM 2/3 6 6 6-QAM 3/ 6 7 6-QAM 5/6 6 8 256-QAM 3/ 8 9 256-QAM 5/6 8 13
Non-HT MCS パラメータ 帯域幅 20 MHz ( 複数チャネル Non-HT duplicate format) データサブキャリア数 NN SSSS = 8 パイロットサブキャリア数 NN SSSS = 総サブキャリア数 NN SSSS = NN SSSS + NN SSSS = 52 Modulation RR NN BBBBBBBB NN CCCCCCCC NN DDDDDDDD Data rate (Mb/s) BPSK 1/2 1 8 2 6 BPSK 3/ 1 8 36 9 QPSK 1/2 2 96 8 12 QPSK 3/ 2 96 72 18 16-QAM 1/2 192 96 2 16-QAM 3/ 192 1 36 6-QAM 2/3 6 288 192 8 6-QAM 3/ 6 288 216 5 NN BBBBBBBB : 符号化ビット数 / サブキャリア NN CCCCCCCC : 符号化ビット数 /OFDM シンボル, NN DDDDDDDD : データビット数 /OFDM シンボル 1
RTS, CTS, ACK フレーム時間 Non-HT PPDU with non-ht MCS プリアンブル時間 TT NNNNNN = TT LL SSSSSS + TT LL LLLLLL + TT LL SSSSSS = 20 µs RTS フレーム時間 DD RRRRRR = 20 byte TT RRRRRR = TT NNNNNN + TT SSSSSSSS NN ssssssssssssss + DD RRRRRR + NN tttttttt NN DDDDDDDD CTS フレーム時間 DD CCCCCC = 1 byte TT CCCCCC = TT NNNNNN + TT SSSSSSSS NN ssssssssssssss + DD CCCCCC + NN tttttttt NN DDDDDDDD ACK フレーム時間 DD AAAAAA = 1 byte TT AAAAAA = TT NNNNNN + TT SSSSSSSS NN ssssssssssssss + DD AAAAAA + NN tttttttt NN DDDDDDDD 15
ブロック ACK フレーム時間 Non-HT PPDU with non-ht MCS プリアンブル時間 TT NNNNNN = TT LL SSSSSS + TT LL LLLLLL + TT LL SSSSSS = 20 µs 基本ブロック ACK フレーム時間 DD BBBBBBBBBB = 152 byte TT BBBBBBBBBB = TT NNNNNN + TT SSSSSSSS NN ssssssssssssss + DD BBBBBBBBBB + NN tttttttt NN DDDDDDDD 圧縮ブロック ACK フレーム時間 DD CCCCCCCCCC = 32 byte TT CCCCCCCCCC = TT NNNNNN + TT SSSSSSSS NN ssssssssssssss + DD CCCCCCCCCC + NN tttttttt NN DDDDDDDD 16
RTS, CTS, ACK, BlockACK フレーム時間表 Data rate [Mb/s] RTS [μμμμ] CTS [μμμμ] ACK [μμμμ] BBACK [μμμμ] CBACK [μμμμ] 6 52 228 68 9 36 36 160 52 12 36 32 32 12 18 32 28 28 92 36 2 28 28 28 72 32 36 28 2 2 56 28 8 2 2 2 8 28 5 2 2 2 28 17
DATA VHT PPDU 計算例 1 3 spatial streams (NN SSSS = 3), 80 MHz (NN SSSS = 23), Short GI (TT SSSSSSSS = 3.6 µs) VHT-MCS index: 9 (NN BBBBBBBBBB = 8, RR = 5 6), LDPC code (NN tttttttt = 0) PHY rate RR PPPPPP = NN SSSS NN SSSS NN BBBBBBBBBB RR = NN DDDDDDDD = 1300 Mb/s TT SSSSSSSS TT SSSSSSSS MSDU size: DD MMMMMMMM = 1500 byte (including LLC header) Number of A-MSDU subframes: NN AA MMMMMMMM = 5 A-MSDU subframe size: 1 + 1500 + 2 = 1516 byte MPDU size: 30 + 5 1516 + = 761 byte Number of A-MPDU subframes: NN AA MMMMMMMM = 10 A-MPDU subframe size: + 761 + 2 = 7620 byte PSDU size: 7620 10 = 76200 byte Preamble time: TT VVHHHH = 32 µs + NN VVVVVV LLLLLL TT VVVVVV LLLLLL + µs = 52 µs DATA frame time TT DDDDDDDD = TT VVVVVV + TT SSSSSSSS NN ssssssssssssss + DD PPPPPPPP = 523.6 µs NN DDDDDDDD MAX STA throughput (TT DDDDDDDD = 3 µs, TT SSSSSSSS = 16 µs, CW min = 15) NN AA MMMMMMMM NN AA MMMMMMMM DD MMMMMMMM SS max = = 896.73 Mb/s TT DDDDDDDD + TT ssssssss CW min 2 + TT DDDDDDDD + TT SSSSSSSS + TT CCCCCCCCCC 18
DATA VHT PPDU 計算例 2 3 spatial streams (NN SSSS = 3), 80 MHz (NN SSSS = 23), Long GI (TT SSSSSSLL = µs) VHT-MCS index: 9 (NN BBBBBBBBBB = 8, RR = 5 6), LDPC code (NN tttttttt = 0) PHY rate RR PPPPPP = NN SSSS NN SSSS NN BBBBBBBBBB RR = NN DDDDDDDD = 1170 Mb/s TT SSSSSSSS TT SSSSSSSS MSDU size: DD MMMMMMMM = 1500 byte (including LLC header) Number of A-MSDU subframes: NN AA MMMMMMMM = 5 A-MSDU subframe size: 1 + 1500 + 2 = 1516 byte MPDU size: 30 + 5 1516 + = 761 byte Number of A-MPDU subframes: NN AA MMMMMMMM = 10 A-MPDU subframe size: + 761 + 2 = 7620 byte PSDU size: 7620 10 = 76200 byte Preamble time: TT VVHHHH = 32 µs + NN VVVVVV LLLLLL TT VVVVVV LLLLLL + µs = 52 µs DATA frame time TT DDDDDDDD = TT VVVVVV + TT SSSSSSSS NN ssssssssssssss + DD PPPPPPPP = 576 µs NN DDDDDDDD MAX STA throughput (TT DDDDDDDD = 3 µs, TT SSSSSSSS = 16 µs, CW min = 15) NN AA MMMMMMMM NN AA MMMMMMMM DD MMMMMMMM SS max = = 831.60 Mb/s TT DDDDDDDD + TT ssssssss CW min 2 + TT DDDDDDDD + TT SSSSSSSS + TT CCCCCCCCCC 19
DATA VHT PPDU 計算例 3 2 spatial streams (NN SSSS = 2), 0 MHz (NN SSSS = 108), Short GI (TT SSSSSSSS = 3.6 µs) VHT-MCS index: 7 (NN BBBBBBBBBB = 6, RR = 5 6), LDPC code (NN tttttttt = 0) PHY rate RR PPPPPP = NN SSSS NN SSSS NN BBBBBBBBBB RR = NN DDDDDDDD = 300 Mb/s TT SSSSSSSS TT SSSSSSSS MSDU size: DD MMMMMMMM = 1500 byte (including LLC header) Number of A-MSDU subframes: NN AA MMMMMMMM = 1 MPDU size: 30 + 1500 + = 153 byte Number of A-MPDU subframes: NN AA MMMMMMMM = 10 A-MPDU subframe size: + 153 + 2 = 150 byte PSDU size: 150 10 = 1500 byte Preamble time: TT VVHHHH = 32 µs + NN VVVVVV LLLLLL TT VVVVVV LLLLLL + µs = µs DATA frame time TT DDDDDDDD = TT VVVVVV + TT SSSSSSSS NN ssssssssssssss + DD PPPPPPPP = 58 µs NN DDDDDDDD MAX STA throughput (TT DDDDDDDD = 3 µs, TT SSSSSSSS = 16 µs, CW min = 15) SS max = NN AA MMMMMMMM DD MMMMMMMM = 198.8 Mb/s TT DDDDDDDD + TT ssssssss CW min 2 + TT DDDDDDDD + TT SSSSSSSS + TT CCCCCCCCCC 20
DATA VHT PPDU 計算例 2 spatial streams (NN SSSS = 2), 0 MHz (NN SSSS = 108), Short GI (TT SSSSSSSS = 3.6 µs) VHT-MCS index: 3 (NN BBBBBBBBBB =, RR = 1 2), LDPC code (NN tttttttt = 0) PHY rate RR PPPPPP = NN SSSS NN SSSS NN BBBBBBBBBB RR = NN DDDDDDDD = 120 Mb/s TT SSSSSSSS TT SSSSSSSS MSDU size: DD MMMMMMMM = 1500 byte (including LLC header) Number of A-MSDU subframes: NN AA MMMMMMMM = 1 MPDU size: 30 + 1500 + = 153 byte Number of A-MPDU subframes: NN AA MMMMMMMM = 10 A-MPDU subframe size: + 153 + 2 = 150 byte PSDU size: 150 10 = 1500 byte Preamble time: TT VVHHHH = 32 µs + NN VVVVVV LLLLLL TT VVVVVV LLLLLL + µs = µs DATA frame time TT DDDDDDDD = TT VVVVVV + TT SSSSSSSS NN ssssssssssssss + DD PPPPPPPP = 1073.6 µs NN DDDDDDDD MAX STA throughput (TT DDDDDDDD = 3 µs, TT SSSSSSSS = 16 µs, CW min = 15) SS max = NN AA MMMMMMMM DD MMMMMMMM = 98.11 Mb/s TT DDDDDDDD + TT ssssssss CW min 2 + TT DDDDDDDD + TT SSSSSSSS + TT CCCCCCCCCC 21