電腦網路與連結技術第十五章 無線區域網路 上一頁    下一頁

15-6  IEEE 802.11 訊框格式

內容:

IEEE 802.11 協定如同一般區域網路(如 Ethernet)協定一樣,上層通訊軟體也是透過 IEEE 802.1 LLCLogical Link Control)(請參考第七章說明)。LLC 提供多工傳輸模式,讓多個應用程式能透過 LLC 連接到 MAC 通訊軟體。但為了提高傳輸效率,LLC 點對點傳輸大多採用較長的訊框,稱之為MAC 服務資料單元』(MAC Service Data Unit, MSDU。但無線網路的電波傳遞容易受到其他訊號的干擾,並不適合傳遞長訊框,因此,MAC 傳訊框前會將長訊框的 MSDU 切割(Fragment)為若干個MAC Protocol Data Unit, MPDU,接收端收到 MPDUs 後再將其組合回原來的 MSDU,分割方式如圖 15-37 所示。

 

15-37 MSDU 切割範例

IEEE 802.11 規範中,可設定一個最大訊框長度,稱之為『切割臨界值』(Fragmentation Threshold。當一個 MSDU 訊框的長度大於切割臨界值時,就必須被切割,亦即每一個 MPDU 的資料長度都必須小於切割臨界值。在傳送時,每一個 MPDU 都代表一個獨立的訊框,也都必須分別收到對方的回覆訊息。不過屬於同一個 MSDU MPDUs 在傳送時,是以密集方式一個接一個傳送,而每一個 MPDU 也都必須收到回覆訊息(Stop-and-Wait 流量控制法)。一個 MSDU 訊框只要呼叫一次 DCF PCF,便可以連續傳送所屬的 MPDUs,不需要每個 MPDU 都呼叫一次。另外,不論欲傳送訊框的 MSDU 長度是否超過切割臨界值,只有指定單一目的地的訊框才能被切割,且廣播及群播的訊框也都不可以分割。另外值得注意的是,『切割臨界值』是依照系統內定的 aMPDUMaxLength 參數大小而定,一般在 FHSS/1Mbits 設定為 400 Bytes;而 FHSS/2Mbits 設定為 800 Bytes,由此可見,MPDU 是屬於短訊框傳輸方式。

15-6-1 MPDU 訊框格式

15-38 IEEE 802.11 MPDUMAC Protocol Data Unit)訊框格式,其中包含:

(1) 訊框標頭(Header):長度為 30 Bytes,包含訊框控制(Frame Control)、位址(Address 1 ~ 4)、順序控制(Sequence Control)與持續時間(Duration/ID)等欄位。

(2) 訊框實體(Frame Body): 0 ~ 2312 Bytes 的不定長度,欄位中可能存放資料或其他控制訊息,依訊框型態(Frame Type)而有所不同。這裡必須強調的是,如果是廣播或多重傳播的訊框是不可以分割的,因此訊框實體內可能包裝著一個未經分割的 MSDU,而其長度可能會較長。

(3) 訊框檢查序列(Frame Check Sequence):長度為 4 Bytes,採用 CRC-32 檢查碼。

 

15-38 MPDU 訊框格式

 

以下分別介紹各欄位的功能。

(A) 訊框控制欄位

『訊框控制』(Frame Control欄位格式如圖 15-39 所示,其包含 11 個子欄位,功能如下:

 

15-39 訊框控制欄位格式

(1) Protocol Version802.11 協定版本。

(2) Type and SubtypeType 欄位表示此訊框型態,目前定義有三種:DataControl Management 訊框,每一種型態都包含若干種子型態,由 Subtype 欄位指定,如表 15-4 所示。

(3) To DS此旗號為 1 表示此 Data 訊框(包含廣播與群播訊框)是要傳遞給分散式系統(透過 AP 轉送)。若為其他種類訊框,則其值應該為 0

(4) From DS此旗號為 1 表示此 Data 訊框是由分散式系統傳送下來的(透過 AP 轉送);若為其他種類訊框,則其值應該為 0To DS From DS 之間有四種組合,各表示不同的意義,如表 15-5 所示。

(5) More Frag此旗號值若為 1,表示此訊框後面還有其他片段(Fragment)會繼續傳送過來。若後面已無其他片段訊框,則為 0

(6) Retry此旗號值為 1,表示此 Data 訊框(或管理訊框)為重送的訊框,接收端可依此判斷接收或拋棄。

(7) Pwr Mgt此旗號用來顯示工作站是否處於電源管理模式(Power Management)。如其值為 1,表示此工作站正處於省電模式;其值為 0,表示此工作站處於正常工作狀態。

(8) More DataAP 可用此旗號來通知處於省電模式的工作站,已有資料準備傳送給它;另一種用途是,如在 Data 訊框上此旗號為 1,表示至少還有一個 MPDU 準備傳送。若為其他種類的訊框,該值應為 0

(9) WEP此旗號值為 1 時,表示該訊框所攜帶的資料已經過 WEP 加密處理,否則該值為 0

(10) Order此旗號為 0 時,表示此 Data 訊框是經由『嚴格依序服務等級』(Strictly Ordered Service Class所分類。若為其他訊框,則該值為 0

15-4 有效訊框型態與次型態的組合

Type value

b3 b2

Type

Desciption

Subtype value

b7 b6 b5 b4

Subtype Description

00

Management

0000

Association Request

00

Management

0001

Association Response

00

Management

0010

Reassociation Request

00

Management

0011

Reassociation Response

00

Management

0100

Probe Request

00

Management

0101

Probe Response

00

Management

0110~0111

Reserved

00

Management

1000

Beacon

00

Management

1001

Announcement Traffic Indication

Message (ATIM)

00

Management

1010

Disassociation

00

Management

1011

Authentication

00

Management

1100

Deauthentication

00

Management

1101~1111

Reserved

01

Control

0000~1001

Reserved

01

Control

1010

Power Save (PS)-Poll

01

Control

1011

Request To Send (RTS)

01

Control

1100

Clear To Send (CTS)

01

Control

1101

Acknowledgment (ACK)

01

Control

1110

Contention-Free (CF)-END

01

Control

1111

CF-End + CF-Ack

10

Data

0000

Data

10

Data

0001

Data + CF-Ack

10

Data

0010

Data + CF-Poll

10

Data

0011

Data + CF-Ack + CF-Poll

10

Data

0100

Null function (no data)

10

Data

0101

CF_Ack (no data)

10

Data

0110

CF_Poll (no data)

10

Data

0111

CF_Ack + CF_Poll (no data)

10

Data

1000~1111

Reserved

11

Reserved

0000~1111

Reserved

15-5 To DS From DS 組合的意義

To DS

From DS

代表意義

0

0

Data 訊框由一個工作站直接傳送給同一分散式系統下的另一個工作站

1

0

Data 訊框傳送給分散式系統

0

1

Data 訊框由分散式系統傳下來

1

1

在無線分散式系統(Wireless Distribution System, WDS)下,由一個 AP 傳送給另一個 AP

(B) 持續/識別欄位

持續/識別(Duration/ID)欄位共有 16 個位元,依照訊框格式可能存放『持續時間』(Duration『聯結識別碼』(Association Identify, AID,其用法如表 15-6 所示,說明如下:

(1) 若訊框為『控制型態』(Control Type,如表 15-4 所示),而且次型態為 PS_Poll(省電詢問),則此欄位攜帶聯結識別碼(AID),其最左邊兩個位元都是 1,而剩下的 14 個位元表示傳送此訊框工作站的 AIDAID 值的範圍由 1 2007

(2) 若為其他訊框,則此欄位代表一個『持續時間』(Duration,其值依各訊框型態而定。但對於所有在無競爭週期所傳送的訊框來說,此欄位的值應該設為 3274。當 Duration/ID 欄位的內容小於 3278 時,表示其為一個 Duration 值,而且是用來修正 NAV 值的。

15-6 Duration/ID 欄位的意義

Bit 15

Bit 14

Bit 13~0

用途

0

0 ~ 32767

持續時間(由此訊框結束後起算,單位為 us

1

0

0

無競爭週期傳送固定值 (32768)

1

0

1 ~ 16383

保留

1

1

0

保留

1

1

1 ~ 2007

PS_Poll 訊框中指定的 AID

1

1

2008 ~ 16383

保留

(C) 位址欄位

IEEE 802.11 規範中,位址型態(48 個位元)可能是下列兩種型態之一:

(1) 個別位址(Individual Address表示連結在網路上的某一獨立工作站位址,可做為目的或來源位址使用。

(2) 群組位址(Group Address表示某一工作站群組位址,僅能做為目的位址使用,可分為下列兩種類型:

(a) 群播群組位址(Multicast-Group Address某一位址代表一個工作站群組,此群組成員可接收該位址為目的地的訊框。

(b) 廣播位址(Broadcast Address廣播位址的格式是所有位元都是 148 個位元),任何工作站都可接收該位址為目的地的訊框。

MAC 訊框格式共有四個位址欄位,這些欄位是用來記錄『基本服務區 ID』(BSS Identifier, BSSID、起始位址(Source Address, SA)、目的地位址(Destination Address, DA)、傳送器位址(Transmitter Address, TA)、以及接收器位址(Receiver Address, RA),至於哪一個欄位存放何種位址,隨不同訊框型態而異。其中目的位址(DA)可以是個別或群播位址,也可以是該訊框的最終目的;起始位址(SA)是產生此訊框的工作站位址;而傳送器位址(TA)是指無線媒介上傳送此訊框的位址;接收器位址(RA)則是指在無線媒介上接收此訊框的位址;然而 TA RA 大多屬於擷取點(AP)位址。每一個位址都符合 IEEE 802 標準的 48 位元長度,但有些訊框型態不會使用到所有欄位。

有些位址欄位在使用時,與其在欄位的相對位址(1 ~ 4)有關,和位址型態無關。例如,當一個工作站接收到一筆訊框時,皆以 Address 1 來判斷是否傳送給自己,而 CTS 訊框(ACK 訊框)中的 RA,是等於 RTS 訊框(需要被回覆的訊框)中的 Address 2 位址。至於每一欄位存放何種位址,在介紹控制訊框與資料訊框時會提到。

(D) 順序控制欄位

『順序控制』(Sequence Control欄位是用來表示該訊框是屬於那一個 MSDU 號碼下的第幾個分段(Segment)號碼,包含兩個次欄位:順序號碼(Sequence Number12 個位元)與片段號碼(Segment Number, 4 個位元),如圖 15-40 所示。其中順序號碼為該訊框的 MSDU 號碼,每一個 MSDU 都有一個順序號碼,其值由 0 4095,可以重複輪流使用。片段號碼是指由 MSDU 分割出來的片段順序號碼,其值由 0 15,可重複使用;如果片段號碼為 0,表示是第一個片段或沒有分段的訊框。

 

15-40 順序控制欄位

15-6-2 控制訊框格式

如表 15-4 所列,訊框型態可區分為控制(Control)、資料(Data)和管理(Management)等三大類,每一型態都有不同的訊框格式,首先我們來介紹控制訊框格式,接下來兩小節再介紹資料和管理訊框格式。

控制訊框可區分為 RTSCTSACKPS_PollCF_End CF_End+CF_Ack 等訊框,由訊框欄位中的 Type Subtype 次欄位來分別表示(如表 15-4)。而各種控制訊框的『訊框控制』(Frame Control欄位都相同,如圖 15-41 所示。圖 15-42 為各控制訊框的格式,其『訊框控制』欄位如圖15-41 所示。然而控制訊框並沒有包含『訊框實體』(Frame Body欄位,四個位址欄位中也依各訊框使用不同的欄位,但並不一定每一欄位都使用到。各訊框的說明如下:

 

15-41 控制訊框的控制欄位內容

 

15-42 各控制訊框的格式

(D) RTS 訊框

RTS 訊框』格式如圖 15-42 (a) 所示,其中 RA 為接收此訊框的位址;TA 為發送此訊框的位址,兩者位址皆是一個無線媒介的位址(如擷取點)。Duration 的值(單位為 μs)為準備發送訊框的長度再加上一個 CTS 訊框、一個 ACK 訊框、以及三個 SIFS 間隔時間,而取整數計算。

(E) CTS 訊框

CTS 訊框』格式如圖 15-42 (b) 所示,其中 TA 欄位內容應該等於上一個對應之 RTS 訊框的 TA 內容。Duration 值為前一個對應之 RTS 訊框中的 Duration 值,再減去傳送此 CTS 訊框及一個 SIFS 間隔時間,也採整數計算。

(F) ACK 訊框

ACK 訊框』格式如圖 15-42 (c) 所示,其中 RA 的內容應該等於前一個對應訊框的 Address 2 欄位,前面訊框可能是 DataManagement PS_Poll 等訊框。如果前一訊框的 More Fragment 欄位為 0 時,則本訊框的 Duration 的值應該設為 0;如果為 1 時,則本訊框的 Duration 的值為前一訊框的 Duration 值,再減掉傳送本訊框的時間和一個 SIFS 間隔時間,而採整數計算。

(G) PS_Poll 訊框

『省電輪詢』(Power Save Poll, PS_Poll訊框格式如圖 15-42 (d) 所示,其中 AIDAssociation ID)是接收工作站和 AP 之間所建立的聯結號碼,而 AID 的最前面兩位元都應該為 1BSSID 是接收工作站所屬的 AP位址;TA 是傳送此訊框的 AP 位址。所有收到 PS_Poll 訊框者,都必須修正自己的 NAV 值,修正的值為傳送一個 ACK 訊框及一個 SIFS 間隔時間。

(H) CF_End 訊框

『無競爭週期結束』(Contention-Free End, CF_End訊框格式如圖 15-42 (e) 所示,其中 RA 為廣播位址;Duration 值為 0BSSID 為隸屬於 AP 的工作站位址。

(I) CF_End + CF_Ack 訊框

『無競爭週期結束及回覆』(Contention-Free End and Acknowledge, CF_End+CF_Ack訊框格式如圖 15-42 (f) 所示,如同 CF_End 訊框一樣,其中 BSSID 為隸屬於 AP 中的工作站位址;RA 為廣播位址;Duration 的值為 0  

15-6-3 資料訊框格式

在表 15-4 中,雖然『資料訊框』(Data Frame可依照 Type Subtype 欄位,來區分各種資料訊框的使用時機,但訊框格式並沒有差異,訊框標頭也如同圖 15-38 一樣。但資料訊框會隨著傳輸時機,來改變位址欄位(Address 1 ~ Address 4)的表示方法。資料訊框傳送的時機如表 15-5 所示,其中以 To DS From DS 欄位來區分,而位址表示方式如表 15-7 所示,其中 N/A 表示該欄位可以取消。

15-7 資料訊框的 Address 欄位內容

To DS

From DS

Address 1

Address 2

Address 3

Address 4

0

0

DA

SA

BSSID

N/A

0

1

DA

BSSID

SA

N/A

1

0

BSSID

SA

DA

N/A

1

1

RA

TA

DA

SA

管理訊框是利用 Address 1 來存放目的位址(DA)、Address 2 存放來源工作站位址(SA)、Address 3 存放 BSSID 位址。其中 BSSID 為一個基本服務區(BSS)的識別碼,表示方式如同資料訊框的 BSSID 一樣。在所有無競爭週期(CFP)內傳送的管理訊框,Duration 欄位都設定為 32768;而在競爭週期(DCF)內,Duration 欄位會依照下列情況而異:

15-6-4 管理訊框格式

IEEE 802.11 規範下,管理訊框(Management Frame)可區分為 BeaconDisassociationAssociation RequestAssociation ResponseReassociation RequestReassociation ResponseProbe RequestProbe ResponseAuthentication Deauthentication  ATIMAnnouncement Traffic Indication Message)等 11 種訊框格式,訊框標頭如圖 15-43 所示(減少 Address 4 欄位)。如同控制及資料訊框一樣,是由 Type Subtype 欄位來區分各種訊框,如表 15-42 所示。

 

15-43 管理訊框的格式

管理訊框是利用 Address 1 來存放目的位址(DA)、Address 2 存放來源工作站位址(SA)、Address 3 存放 BSSID 位址。其中 BSSID 為一個基本服務區(BSS)的識別碼,表示方式如同資料訊框的 BSSID 一樣。在所有無競爭週期(CFP)內傳送的管理訊框,Duration 欄位都設定為 32768;而在競爭週期(DCF)內,Duration 欄位會依照下列情況而異:

(1) 如果目的位址(DA)為一群體位址,則 Duration 的值為 0

(2) 如果 More Fragment 欄位為 0,並且 DA 為一個別位址,則 Duration 的值(單位為 μs)為傳送一個 ACK 訊框所需時間,再加上一個 SIFS 間隔時間。

(3) 如果 More Fragment 欄位為 1,並且 DA 為一個別位址,則 Duration 的值為緊接著傳送下一個訊框的時間,再加上傳送兩個 ACK 訊框時間及三個 SIFS 間隔時間:

管理訊框是利用 Frame Body 來攜帶各種控制訊息,每一種管理訊框都有其各自的控制訊息,有關控制訊息部份請讀者參考 IEEE 802.11 規格書說明,本書侷限於篇幅不另介紹(太多了)。

 

翻轉工作室:粘添壽

 

電腦網路與連結技術:

 

 

翻轉電子書系列: