1. 程式人生 > >關於 802.11 協議

關於 802.11 協議

目錄

正文

一.802.11成幀封裝實現

乙太網的幀封裝十分簡單,只要為幀加上同步訊號、一些地址資訊,以及在結尾加上檢驗碼即可。相對而言,802.11的幀封裝就比較複雜,因為無線介質必須將有線網路所沒有的幀型別,以及各式管理功能納入考慮。

802.11幀主要有三種類型。資料幀好比 802.11的馱馬,負責在工作站之間傳輸資料。資料幀可能會因為所處的網路環境不同而有所差異。控制幀通常與資料幀搭配使用,負責區域的清空、通道的取得以及載波監聽的維護,並於收到資料時予以正面的應答,藉此促進工作站間資料傳輸的可靠性。管理幀負責監督,主要用來加入或退出無線網路,以及處理接入點之間連線的轉移事宜。

1.1控制幀

控制幀主要在協助資料幀的傳遞。它們可用來監督無線介質的訪問(但非介質本身),以及提供MAC層次的可靠性。

1.1.1 一般的幀控制位

為控制幀均使用相同的 Frame Control(幀控制)位,如圖1-1所示。

 

          圖1-1:控制幀中的Frame Control 位

Protocol(協議版本)

在圖1-1 中,協議版本的值為 0 ,因為這是目前絕無僅有的版本。未來可能會出其他新的版本。

| Type(型別)

控制幀的型別識別碼為 01。定義上,所有控制幀均使用此識別碼。

| Subtype(次型別)

此位代表傳送控制幀的次型別。

| ToDS 與FromDS bit

控制幀負責處理無線介質的訪問,因此只能夠由無線工作站產生。傳輸系統並不會收送控制幀,因此這兩個 bit必然為 0 。

| More Fragments(尚有片段)bit

控制幀不可能被切割,這個 bit必然為 0 。

| Retry(重試)bit

控制幀不像管理或資料幀那樣,必須在序列中等候重送,因此這個 bit必然為0 。

| Power Management (電源管理)bit

此bit用來指示、完成當前的幀交換過程後,傳送端的電源管理狀態。

| More Data(尚有資料)bit

More Data bit 只用於管理資料幀,在控制幀中此 bit必然為0 。

| Protected Frame(受保護幀)bit

控制幀不會經過加密。因此對控制幀而言,Protected Frame bit 必然為 0。

| Order(次序)bit

控制幀是基本幀交換程式(atomic frame exchange operation )的組成要件,因此必須依序傳送。所以這個 bit必然為 0 。

1.1.2   RTS(請求傳送)

RTS幀可用來取得介質的控制權,以便傳輸「大型」幀。至於多大稱之大型:是由網絡卡驅動程式中的 RTS threshold(門限)來定義。介質訪問權只能保留給單點傳播(unicast)幀使用,而廣播(broadcast)與組播(multicast )幀只須傳送便是了。RTS 幀的格式如圖 1-2所示。

就和所有控制幀一樣,RTS 幀只包含標頭。幀主體中並未包含任何資料,標頭之後即為FCS (幀檢查碼)。

 

          圖1-2:RTS幀

RTS的MAC標頭由四個位構成:

| Frame Control(幀控制)

Frame Control位並沒有任何特殊之處。幀的 subtype(次型別)位設定為 1011,代 表 RTS幀。除此之外,它與其他的控制幀具備相同位。(在 802.11規格書中,最高效 bit乃是最後一個bit,因此在 subtype 位中,第 7 個bit代表最高效 bit。)

| Duration (持續時間)

RTS幀會試圖預定介質使用權,供幀交換程式使用,因此 RTS 幀傳送者必須計算 RTS幀結束後還需要多少時間。圖 1-3說明了整個交換過程,總共需要三個 SIFS、一個CTS、最後的ACK,加上傳送第一個幀或幀片段所需要的時間。(fragmentation burst 〔片段宣洩期〕會使用後續的幀片段來更新 Duration 位。)傳輸所需要的微秒數經過計算後會置於 Duration 位。假使計算的結果不是整數,就會被修正為下一個整數微秒。

 

          圖1-3:RTS幀的Duration 位

 Address 1 位;Receiver Address (接收端地址)

接收大型幀的工作站的地址。

Address -2 位:Transmitter Address (傳送端地址)

RTS幀的傳送端的地址。

1.1.3   CTS (允許傳送)

CTS幀有兩種目的,其格式如圖 1-4 所示。起初,CTS幀僅用於應答 RTS幀,如果之前沒有RTS出現,就不會產生 CTS 。後來,CTS幀被 802.11g 防護機制用來避免干擾較舊的工作站。

 

        圖1-4:CTS幀

CTS幀的 MAC標頭由三個位構成:

| Frame Control( 幀控制)

幀的subtype(次型別)位被設定為 1100,代表 CTS 幀。

| Duration (持續時間)

用來應答 RTS 時,CTS幀的傳送端會以 RTS 幀的 duration 值作為持續時間的計算基準。RTS會為整個 RTS-CTS-frame-ACK 交換過程預留介質使用時間。不過當 CTS 幀被髮送出後,只剩下其他未幀或幀片段及其迴應待傳。CTS幀傳送端會將 RTS 幀的duration 值減去傳送CTS幀及其後短幀間隔所需的時間,然後將計算結果置於 CTS 的Duration 位。圖 1-5顯示了 CTS duration 與RTS diratopm的關係。

 

          圖1-5二CTS的持續時間

| Address 1 位:Receiver Address (接收端地址)

CTS幀的接收端即為之前 RTS幀的傳送端,因此 MAC會將 RTS幀的傳送端地址複製到CTS幀的接收端地址。802.11g保護操作所使用的 CTS 幀會被髮送給發出 RTS 的工作站,而且只用來設定 NAV。

1.1.4   ACK (應答)

ACK幀(圖 1-6 )就是 MAC以及任何資料傳輸(包括一般傳輸 RTS/CTS交換之前的幀、幀片段)所需要的正面應答(positive acknowledgment)。服務質量擴充套件功能放寬了個別資料幀必須各自得到應答的要求。

 

          圖1-6:ACK幀

ACK幀的 MAC標頭由三個位構成:

| Frame Control(幀控制)

幀的subtype(次型別)位被設定為 1101,代表 ACK幀。

| Duration (持續時間)

依照ACK訊號在整個幀交換過程中位居何處,duration 的值可以有兩種設定方式。在完整的資料幀及一連串幀片段的最後一個片段中,duration 會被設定為 0。資料傳送端會將 Frame Control(幀控制)位中的 More Fragments(尚有片段)bit設定為 0,表示資料傳輸已經結束。

如果More Fragments bit 為0 ,表示整個傳輸已經完成,沒有必要再延長對無線通道的控制權,因此會將 duration 設定為 0 。

如果More Fragments bit為1 ,表示尚有幀片段仍在傳送中。此時Duration 位的用法和 CTS幀中的Duration 位相同。傳送ACK以及短幀間隔所需要的時間,將由最近幀片段所記載的duration 中減去。如果不是最後一個 ACK幀,duration 的計算方式類似 CTS duration 的計算方式。事實上,802.11的規格書將 ACK幀中的duration 設定稱為虛擬 CTS。

| Address 1 位:Receiver Address (接收端地址)

接收端地址是由所要應答的傳送端幀複製而來。技術上而言,它是由所要應答幀的Address 2 位複製而來。應答主要是針對資料幀、管理幀以及 PS-Poll幀。

 

          圖1-7:非最終ACK幀的Duration 位

1.1.5   PS-Poll (省電模式一輪詢)

當一部移動工作站從省電模式中甦醒,便會發送一個 PS-Poll幀給接入點,以取得任何暫存幀。PS-Poll幀的格式如圖 1-8 所示。

 

          圖1-8:PS-Poll幀

PS-Poll幀的 MAC標頭由四個位構成:

| Frame Control(幀控制)

幀的subtype(次型別)位被設定為 1010,代表 PS-Poll幀。

| AID(連線識別碼)

PS-Poll幀將會以 MAC標頭的第三與第四 bit來代表連線識別碼(association ID)。連線識別碼是接入點所指定的一個數值,用以區別各個連線。將此識別碼置入幀,可讓接入點找出為其(移動工作站)所暫存的幀。

| Address 1 位:BSSID

此位包含傳送端目前所在 BSS 的BSSID ,此BSS 建立自目前所連線的 AP。

| Address 2 位:Transmitter Address (傳送端地址)

此為PS-Poll幀之傳送端的 MAC地址

在PS-Poll幀中並未包含 duration 資訊,因此無法更新 NAV。不過,所有收到 Ps-Poll幀的工作站,都會以短幀間隔加上傳送 ACK訊號所需要的時間來更新 NAV。此一自動調整機制使得接入點在傳送 ACK訊號時,比較不會與移動接入點發生碰撞。

【連線識別碼(AID)在PS-Poll幀中,Duration/ID位是連線識別碼,而非虛擬載波偵測功能所使用的數值。當移動工作站與接入點連線時,接入點會從1-2,007範圍內指派一個值來做為連線識別碼(AID)。】

1.2 資料幀

資料幀會將上層協議的資料置於幀主體加以傳遞。圖 1-9 顯示了資料幀的基本結構。會用到哪些位,取決於該資料幀所屬的型別。

 

圖1-9 基本的資料幀

不同型別的資料幀可根據功能加以分類。其中一種方式,是將資料幀區分為競爭式服務及免競爭服務兩種資料幀。只能在免競爭期間出現的幀,就不可能在IBSS(獨立型基本服務組合)中使用。另一種區分方式,則是對攜帶資料與提供管理功能的幀加以區別。表1-1 顯示了資料幀的分類方式。

表 4-1:資料幀的各種分類方式

 

1.2.1   Frame Control (幀控制)

Frame Control(幀控制)位各個 bit都可能影響到MAC標頭其他位的解讀方式。最值得注意的是那些地址位,它們的意義將因ToDS 及FromDSbit 的值而異。

1.2.2   Duration(持續時間)

Duration (持續時間)位用來記載網路分配向量(NAV)的值。訪問介質的時間限制是由NAV所指定。資料幀之 Duration 位的設定,必須依循四項規範:

1.  免競爭期間所傳遞的任何幀,必須將Duration 位設定為32768 。此規範適用於免競爭期間所傳遞的任何資料幀。

2.  目的地為廣播或組播地址的幀(Address 1 位設定了群組 bit),其持續時間為 0。此類幀並非基本交換過程的一部分,接收端也不會加以應答,因此競爭式介質訪問可以在廣播或組播資料幀結束後立即開始。NAV在幀交換過程中是用來保護傳輸介質。既然廣播或組播幀之後不會有來自鏈路層的應答,因此沒有必要為後續幀鎖住介質使用權。

3.  如果Frame Control位中的More Fragments bit 為0,表示該幀已無其餘片段。最後的幀片段只須為本身的應答預訂介質使用權,之後就可以恢復競爭式訪問了。Duration位會被設定為傳送一個短幀間隔及片段應答所需要的時間。整個過程如圖 1-10 所示。倒數第二個片段的Duration 位,會為最後一個片段鎖住介質使用權。

 

圖1-10:最終片段的Duration 設定

4.  如果Frame Control位的More Fragmentsbit被設定為 1,表示其後還有幀片段。因此, Duration 位便會被設定為傳送兩個應答、加上三個短幀間隔及下一個幀片段所需要的時間。為非最終片段設定NAN 的方式本質上與 RTS 相同,所以亦稱為虛擬RTS 。

 

圖1-11:非最終片段的Duration 設定

1.2.3   地址與DS Bit

地址位的編號與功能取決於設定了哪個 DS(分散式系統)bit,因此所使用的網路型別會間接影響到地址位的用法。表 1-2 列出了地址位在資料幀中的各種用法。只有無線橋接器才會使用第四個地址位,因此比較少見。

 

表 1-2:地址位在資料幀中的用法

Address 1 代表幀接收端的地址。在某些情況下,接收端即為目的地,但不總是這樣。目的地是指負責處理幀中網路層封包的工作站;而接收端則是負責將無線電解碼為 802.11幀的工作站。如果Address 1 被設為廣播或組播地址,則必須同時檢查 BSSID (基本服務組合識別碼)。工作站只會應答來自同一個基本服務集(basic service set,簡稱 BSS )的廣播或組播資訊;至於來自其他不同 BSS 者則加以忽略。Address 2 是傳送端的地址,用來發送應答資訊。傳送端就是源地址。源地址是指產生幀中網路層協議封包的工作站;而傳送端則是負責將幀傳送至無線鏈路。Address 3 位則是供接入點與分散式系統過濾之用,不過該位的用法,取決於所使用的網路型別。

由於IBSS 並未使用接入點,因此不會涉及分散式系統。傳送端即為幀的源,而接收端即為幀的目的地。每個幀都會記載 BSSID ,因此工作站可以檢查廣播與組播資訊。只有隸屬同一個 BSS的工作站,才會處理該廣播或組播資訊。在 IBSS 中,BSSID 是由隨機數產生器隨機產生的。

BSSID

每個BSS都會被賦予一個BSSID,它是一個長度為48個bit的二進位制識別碼,用來辨識不同的BSS。BSSID的主要優點是,它可作為過濾之用。雖然不同的802.11網路彼此間可能重疊,但即使如此也不應該讓相互重疊的網路收到彼此的鏈路層廣播。

在 infrastructure BSS(基礎架構型基本服務集)中,BSSID 就是建立該 BSS 的接入點上無線介面的MAC地址。而IBSS(獨立型基本服務組合)則必須建立BSSID。方能產生網路。

為了讓所建立的地址儘量不致重複,BSSID有46個bit是隨機產生的。其所產生的BSSID,會將Universal/Local bit設定為1,代表這是一個區域地址,至 於vidual/Group bit則會設定為0。兩個不同的IBSS,如果要產生相同的BSSID,它們所產生的46bit數必須完全相同。

有一個BSSID會被保留不用,就是所有bit均設定為1的BSSID,又稱為廣播型BSSID。使用廣播型BSSID的幀,可以不被MAC中任何的BSSID filter所過濾。BSSID的廣播只有在移動式工作站送出probe request(檢測要求),試圖找出有哪些網路可以加入時才會用到。probe幀要能夠檢測現存的網路,就不能被 BSSID filter過濾掉probe幀是惟一允許使用廣播型BSSID的幀。

802.11對源與傳送端以及目的地與接收端有明確的區分。將幀送至無線介質的傳送端,不見得就是幀的產生者。目的地址與接收端地址同樣有此區別。接收端可能只是中介目的地,而幀只有到達目的地,才會由較上層的協議加以處理。

圖1-12 展示了一個簡單的網路,其中有某個無線使用者端通過 802.11網路連線至伺服器。使用者端將幀傳送給伺服器時,地址位的用法如表 1-2 第二列所示。

 

圖1-12:將幀傳送至伺服器時,地址位的用法

如果幀的目的地位於分散式系統,則使用者端既是源亦是傳送端。至於無線幀的接收端則是接入點,不過該接入點只是箇中介目的地。當幀送到接入點時,該幀會經分散式系統轉送給伺服器。因此,接入點是接收端,而伺服器才是最後的目的地。在基礎架構型網路裡,接入點會以其無線介面的地址建立相應的BSS ,這就是為什麼接收端地址(Address 1)會被設定為 BSSID 的原因。

當伺服器應答使用者端時,幀會通過接入點發送給使用者端,如圖 1-13 所示。這種情況相當於表1-2 的第三列。

 

圖1-13:幀來自分散式系統時,地址位的用法

由於幀產生自伺服器,所以伺服器的 MAC地址即為該幀的來源地址(簡稱 SA)。當幀通過接入點轉送出去時,接入點將會以自己的無線介面做為傳送端地址(簡稱TA)。如同前一個例子,接入點的介面地址就是 BSSID 。幀最後會被送至使用者端,此時使用者端既是目的地又是接收端。

表1-2 的第四列展示了地址位在無線分散式系統(wireless distribution system 簡稱 WDS)中的用法。無線分散式系統有時也稱為無線橋接器。如圖1-14 所示,兩條有線網路通過扮演無線橋接器角色的接入點彼此相連。從使用者端送至伺服器的幀會經過 802.11 WDS 。該無線幀的源與目的地址,依然對應到使用者端與伺服器的地址。不過,這些幀還是會區分無線介面上幀的傳送端與接收端。對於由使用者端送至伺服器的幀而言,傳送端就是使用者端這邊的接入點,而接收端就是伺服器這邊的接入點。將來源地與傳送端分開的好處是,當伺服器這邊的接入點送出必要的 802.11應答給對方接入點時,不會干擾到有線鏈路層。

 

圖1-14:無線分散式系統

1.2.4   資料幀的次型別

802.11具有數種不同型別的資料幀。要使用何種幀,取決於服務是屬於競爭式或免競爭式服務。基於效率上的考慮,免競爭幀中可以加入其他功能。只要改變幀的次型別,免競爭期間的資料幀即可用來應答其他幀,由此便可省去幀間隔以及一一應答所帶來的負擔。以下是常見的資料幀次型別:

| Data(資料)

子型別為 Data的幀,只有在競爭訪問期間才會傳輸。這類簡單的幀只有一個目的,亦即在工作站間傳送幀主體。

| Null (空)

Null 幀看起來有點奇怪。它是由 MAC標頭與 FCS 標尾所組成。在傳統的乙太網中,Null幀無非就是額外的負擔;在 802.11網路中,移動工作站會利用 Null 幀來通知接入點省電狀態的改變。當工作站進入休眠狀態,接入點必須開始為之暫存幀。如果該移動式工作站沒有資料要通過分散式系統傳輸,也可以使用 Null 幀,同時將 Frame Control(幀控制)位的 Power Management(電源管理)bit設定為1。接入點不可能進入省電模式,因此不會發送 Null 幀。Null 幀的用法,如圖1-15 所示。此外尚有一些在免競爭期間使用的幀型別。不過,免競爭服務在實際上並不常見。

 

圖1-15:次型別為Null 的資料幀

1.2.5   資料幀的封裝

資料幀的形式取決於網路的形式。幀究竟屬於哪種型別,完全取決於subtype(子型別)位,而與其他位是否出現在幀中無關。

 1.2.5.1 IBSS幀

在IBSS 中,所使用的 address 位有三種,如圖 1-16 所示。第一個地址代表接收端,同時也是IBSS 網路中的目的地址。第二個地址是源地址。在這些地址之後,伴隨而來的是 IBSS 的BSSID 。當無線 MAC收到一個幀時,首先會去檢查 BSSID ,只有BSSID 與工作站相同的幀,才會交由上層協議加以處理。

 

圖1-16:IBSS 資料幀

IBSS 資料幀的子型別不是 data 就是 Null ;後者只是用來告知目前的電源管理狀態。

 1.2.5.2 傳送自接入點(From AP )的幀

圖1-17 顯示了由接入點發送給移動工作站的幀格式。和所有資料幀一樣,第一個位代表無線網路中接收該幀的接收端,亦即該幀的目的地。第二個位存放了傳送端的地址。在基礎網路中,傳送端地址即為接入點(AP)上無線介面的地址,同時也是BSSID 。最後,該幀會記載幀的源MAC地址。區分源與傳送端之所以必要,是因為 802.11 MAC 會將應答送給幀的 Transmitter(傳送端AP),而較上層的協議會將應答送給幀的 source (來源地)。

 

圖1-17:傳送自接入點的資料幀

在802.11的規格書中並未明文禁止接入點發送 Null 幀,不過這麼做並沒有任何意義。因為接入點禁止使用省電程式,所以接入點只會應答來自工作站的 Null 幀,而不會在應答中使用 Null 幀。

實際上,在競爭式訪問期間,接入點會使用 Data幀,而在免競爭期間則是使用包含 CF-Poll功能的幀。

1.2.5.3 傳送至接入點(To AP )的幀

圖1-18 顯示了,在 infrastructure (基礎架構型)網路裡,移動工作站傳送給所連線接入點的幀格式。接收端地址(RA)為 BSSID 。在基礎網路裡,BSSID 即為接入點的 MAC地址。送至接入點的幀,其源/傳送端地址(SA/TA )得自無線工作站的網路介面。接入點並未進行地址過濾的動作,而是使用第三個地址(DA ),將資料轉送至位於分散式系統的適當位置。

 

圖1-18:傳送至接入點的資料幀

傳送至分散式系統(Ds)的幀其 ToDS bit 會被設定為 1,而 FromDS bit會被設定為 0 。在基礎網路中,移動工作站不能扮演中樞協調者(point coordinato)的角色,因此不能傳送含有CF-Poll(免競爭一輪詢)功能的幀。

 1.2.5.4 WDS 中的幀

當接入點被部署成無線橋接器(或者 VUDS )時,就會用到四個地址位,如圖 1-19 所示。和其他資料幀一樣,WDS幀會使用第一個地址(RA)代表 receiver (接收端),第二個地址(TA)代表Transmitter(傳送端)MAC層會使用這兩個地址送出應答以及控制流量,例如 RTS 、CTS以及ACK幀。另外兩個地址位(SA與DA)則是用來記載幀的 source(源)以及 destination(目的)地址,並且將之與無線鏈路所使用的地址區別開來。

 

圖1-19:WDS幀

在無線橋接鏈路中,通常不會存在移動工作站,也不會使用免競爭期間。接入點禁止進入省電模式,因此 power management (電源管理)bit必然設定為 0 。

1.2.5.5  經加密的幀

受到鏈路層安全協議保護的幀並不算新的幀型別。當幀經過加密處理,Frames Control (幀控制)位的 Protected Frame bit會被設定為 1 ,至於幀主體,則是以加密標頭起頭,這取決於所使用的何種協議。

1.3   管理幀

在802.11規格書中,管理所佔據的篇幅最多。各式各樣的管理幀,為的只是提供對有線網路而言相當簡單的服務。對有線網路而言,識別一部工作站並非難事,畢竟控制中心與工作站之間必須通過佈線方能建立連線。有時候,集線器的插座面板可加速網路的構建,不過重點還是在於:建立新的連線時,可通過人員進行身份認證。

無線網路必須建立一些管理機制,方能提供類似的功能。802.11將整個過程分解為三個步驟。尋求連線的移動工作站,首先必須找出可供訪問的無線網路。在有線網路中,這個步驟相當於在牆上找出適當的網孔。其次,網路系統必須對移動工作站進行身份認證,才能決定是否讓工作站與網路系統關聯。在有線網路方面,身份認證是由網路系統本身提供。如果必須通過網線才能夠取得訊號,那麼能夠使用網線至少算得上是一種認證過程。最後,移動工作站必須與接入點建立關聯,這樣才能訪問有線網路,這相當於將網線插到有線網路系統。

1.3.1   管理幀的結構

802.11管理幀的基本結構如圖 1-20 所示。所有管理幀的 MAC標頭都一樣,這與幀的子型別無關。管理幀會使用資訊元素(帶有數字標籤的資料區塊)來與其他系統交換資料。

 

          圖1-20:管理幀的基本結構

 1.3.1.1 地址位

和其他幀一樣,第一個地址位是給幀的目的地址使用的。有些管理幀主要用來維護個別 BSS特有的屬性。為了限制廣播或組播管理幀所造成的副作用,收到管理幀之後,工作站必須加以驗證,雖然不是所有實現均會進行這一 BSSID 過濾程式。只有在廣播或組播幀來自工作站目前所連線的BSSID ,才會被送至 MAC管理層。惟一的例外是 Beacon幀,畢竟它是用來宣佈 802.11網路的存在。BSSID 是以大家所熟悉的方式來指定的。接入點會以本身無線網路介面的MAC地址作為BSSID 。移動工作站會採納目前所連線的接入點的 BSSID 。位於 IBSS 的工作站則會使用 BSS建立之初隨機產生的 BSSID 。惟一的例外是:尋找特定網路的工作站,可以在所發出的幀中指定該特定網路的 BSSID ,或者使用廣播型 BSSID 來尋找鄰近所有的網路。

 1.3.1.2 計算持續時間

管理幀使用 Duration (持續時間)位的方式和其他幀沒有兩樣:

1.  免競爭期間所傳送的任何幀,均會將持續時間設為32,768。

2.  競爭式訪問期間,利用DCF 所傳送的幀會通過 Duration位防止別人訪問介質。確保基本幀交換程式得以完成。

   a.如果是廣播或組播幀(目的地地址為群組地址),則持續時間會設定為 0。廣播與組播幀無須得到應答,因此 NAV 無須防止別人訪問介質。

   b.如果不是最終片段,則持續時間會設為三個 SIFS期間加上下一個片段及其應答所需要的微秒數。

c.最終幀片段的持續時間會設定為一個應答加上一個 SIFS 所需要的時間。

 1.3.1.3 幀主體

管理幀十分具有彈性。幀主體中大部份的資料,如果使用長度固定的位,就稱為固定式位;如果位長度不定,就稱為資訊元素(information element )。所謂資訊元素,是指長度不定的資料區塊。每個資料區塊均會標註上型別編號與大小,各種資訊元素的資料位都有特定的解釋方式。新版的802.11規格書允許定義新的資訊元素;根據舊版規格書所實現的產品可忽略這些新元素。實際上,硬體一般採取回溯相容(backward-compatible)原則,因此較舊的產品通常無法加入根據新標準所建立的網路。還好,新功能通常可以予以停用,以便相容性。

除了探討這些作為基本元件的固定式與資訊元素,本節還會說明這些基本元件如何構成管理幀。802.11強制規定了這些資訊元素的排列次序,不過並非所有元素均屬於要。本書將以特定的順序說明這些基本元件,論及各個次型別時,也會特別標明哪些元素比較少見,哪些元素彼此互不相容。

1.3.2   長度固定的管理幀元件

在管理幀中,可能出現的長度固定位有十種。長度固定的位一般簡稱為位,以便與長度不定的資訊元素有所區別。位本身並無標頭可與幀主體其他部份區別。因為長度與次序固定,因此不需要以位標頭作為界定。

Authentication Algorithm Number位

Authentication Algorithm Number (身份認證演算法編號)位佔用了兩個位元組,如圖 1-21 所示。此位代表連線發生之前 802.11層次(802.11-level)的最初認證程式所使用的認證型別。此位值的允許範圍列於表 1-3。目前只定義了兩種值。其他值保留給未來版本使用。

 

      圖1-21 :Authentication Algorithm Number(身份認證演演算法編號)位

表1-3:Authentication Algorithm Number(身份認證演算法編號)位的允許值

Authentication Transaction Sequence Number 位

身份認證過程分為好幾個步驟,其中包含由接入點所發出的質詢口令(challenge),以及試圖關聯的移動工作站所做出的應答。如圖 1-22 所示Authentication Transaction Sequence Number(身份認證交易順序編號)位是由兩個位元組所構成,用以追蹤身份認證的進度。此位值介於1 到65,535直接,其值不可為 0 。

 

圖1-22:Authentication Transaction Sequence Number(身份認證交易順序編號)位

Beacon interval位

每隔一段時間就會發出的Beacon(信標)訊號,用來宣佈 802.11網路的存在。Beacon幀中除了包含BSS 引數的資訊,也包含接入點暫存幀的資訊,因此移動工作站必須仔細聆聽Beacons 訊號。Beacon interval (信標間隔)位的長度有 16個bit,用來設定 Beacon訊號之間相隔多少時間單位。時間單位通常縮寫為 TU,代表 1,024 微秒(microseconds),相當於一毫秒。有些檔案中會以千一微秒(kilo-microseconds )[注]來表示時間單位。Beacon interval位通常會被設定為 100 個時間單位,相當於每 100 毫秒或0.1 秒傳送一次 Beacon訊號。

[注]千一微秒(kilo-microseconds)是相當奇怪的組合, 因為它以2的乘方來計算Kilo,而以較為常見的1/1000來表示micro。

 

      圖1-23:Beacon Interval (信標間隔)寺闌位

Capability information 位

圖1-24 所示為長度 16個bit的Capability Information 效能資訊位,傳送Beacon訊號的時候,它被用來通知各方,該網路具備哪種效能。Capability information 位也可以使用在 Probe Request 與Probe Response 幀。在本位中,每個 bit各自代表一個旗標,對應到網路所具備的某種特殊功能。工作站會使用這些公告資料來判斷自己是否支援該 BSS 所有的功能。沒有實現效能公告中所有功能的工作站,就無法加入該 BSS 。

 

        圖1-24:Capability Information(效能資訊)位

l  ESS/IBSS(擴充套件服務集/獨立型塞本服務集)

這兩個bit旗標彼此互斥(mutually exclusive)。接入點會將 ESS 位設定為 1,而將 IBSS 布位設定為 0,表示接入點屬於基礎網路的一部分。IBSS 中的工作站則會將 ESS 位設定為 0 ,而將IBSS 位設定為 1 。

| Privacy(私密性)

將Privacy bit 設定認1 ,代表需要使用 WEP以維持機密性。在基礎網路中,傳送端為接入點。在IBSS 裡,Beacon訊號必須由 IBSS 當中某部工作站負責。

| short Preamble (短同步訊號)

802.11b 規格新增此位的目的,是為了支援高速直接序列擴頻物理層( high-rate DSSS PHY)。將之設定為 1 ,代表此網路目前使用短同步訊號(short preamble )。0 代表不使用此選項,並且在該 BSS 中禁止使用短同步訊號。802.11g 規定使用短同步訊號,因此在依循 802.11g 標準所建置的網路中,此位必然設定為 1 。

| PBCC (分組二進位制卷積編碼)

802.11b 規格新增此位的目的,是為了支援高速直接序列擴頻物理層(high-rate DSSS PHY)。將之設定為1 ,代表此網路目前使用的分組二進位制卷積編碼(packet binary convolution coding)調變機制,或是802.11g PBCC 調變機制。0 代表不使用此選項,並且在該 BSS 中禁止使用分組二進位制卷積編碼。

| Channel Agility(機動通道轉換)

這一位加入802.11b 規格的目的,是為了支援高速直接序列擴頻物理層(high-rate DSSS PHY)。將之設定為 1 ,代表此網路使用機動通道轉換(Channel Agility)選項。0 代表不使用此選項,並且在該 BSS 中禁止使用機動通道轉換。

| Short Slot Time (802.llg )

此bit若設定為 1 ,代表使用 802.11所支援的較短的時槽。

| DSSS-OFDM (802.lIg )

此bit若設定為 1 ,代表使用 802.11g 的DSSS-OFDM 幀構建(frame construction)選項。

| Contention-free polling(免競爭輪詢)bit

工作站與接入點使用這兩個 bit(CF-Ppllable  與CF-Poll Request) 當作標籤。這些標籤的意義如表1 一4 所示。

表1-4:Capability Information(效能資訊)位中 polling bit所代表的意義

Current AP Address 位

移動工作站可以使用圖 1-25 所示的 Current AP Address (目前接入點的地址)位來表明目前所連線的接入點的 MAC地址。這個位的用途是便於連線(association )與重新連線(reassociation )的進行。工作站會藉此傳送上一次所連線的接入點的地址。當工作站打算與不同的接入點建立連線時,此位可用來轉換連線,以及取回所有暫存的幀。

 

      圖1-25:Current AP Address (目前接入點的地址)位

Listen interval 位

為了節省電池的電力,工作站可以暫時關閉 802.11網路介面的天線。當工作站處於休眠狀態,接入點必須為之暫存幀。休眠中的工作站會定期醒來聆聽往來資訊,以判斷是否有幀暫存於基站。當工作站與接入點連線時,會將 Listen Interval(聆聽間隔)記錄下來。所謂 Listen Interval,其實就是以 Beacon interval(信標間隔)為單位所計算出的休眠時間。圖 1-26 所示的Listen Interval ,讓移動工作站得以要求接入點必須為它暫存幀多久的時間。聆聽間隔越久,接入點就必須使用更多記憶體來暫存幀。接入點可以藉此項功能估計所需資源,以決定是否拒絕資源密集(resource-intensive)的連線。第八章會進一步描述 Listen Interval。

 

        圖1-26 :Listen Interval(聆聽間隔)位

Association ID 位

圖1-27 所示為長度 16bit的Association ID(連線識別碼)位。當工作站與接入點連線時,就會被賦予一個連線識別碼,用以協助控制與管理功能。雖然連線識別碼可用 bit數為 14個bit,不過只有1-2007可以使用。為了與 MAC標頭的Duration/ID位相容,最高效的兩個 bit均被設定為1。

 

        圖1-27:Association ID(連線識別碼)位

Timestamp位

圖1-28 所顯示的 Timestamp (時戳)位,可用來同步 BSS 中的工作站 BSS 的主計時器會定期傳送目前已作用的微秒數。當計數器到達最大值時,便會從頭開始計數。(對一個長度 64bit、可計數超過 580,000 年的計數器而言,很難會遇到有從頭開始計數的一天。)

 

        圖1-28:Timestamp (時戳)位

Reason Code位

當對方不適合加入網路時,工作站會送出 Disassociation(解除關聯)或 Deauthentication(解除身份認證)幀作為應答。這些幀當中包含一個長度 16bit的Reason Code(原因程式碼)位,表示對方的做法有誤,如圖 1-29 所示。表 1-5 列出了產生原因程式碼的理由。要完全瞭解原因程式碼的用法,必須對各種幀以及 802.11工作站的狀態有所瞭解。

 

      圖1-29:Reason Code(原因程式碼)位

Status Code 位

狀態程式碼用來表示某項過程成功或失敗。Status Code (狀態程式碼)位,如圖 1-30 所示。如果某項過程成功,該位的值就會被設定為0 ,否則設為非零值。表1-6 列出了標準的狀態程式碼。

 

        圖1-30:Status Code(狀態程式碼)位

表4-6:狀態程式碼

 

1.3.3   管理幀的資訊元素

資訊元素(information element )是管理幀的組成元件,其長度不定。資訊元素通常包含一個Element ID(元素識別碼)位、一個 Length(長度)位以及一個長度不定的位,如圖 1-31所示。Element ID 編號的標準值如表 1-7 所示。

 

          圖1-31:一般管理幀的資訊元素

表1-7:資訊元素

 

  

1.3.3.1  服務集標識(Service Set Identity(SSID))

網路管理人員通常比較喜歡跟文字、數字或名稱打交道,而不是48個bit的MAC地址。廣義的802.11 網路不是擴充套件式服務集(extended service set ),就是獨立型基本服務集(independent BSS )。如圖1-32 所示的 SSID,讓網管人員為服務集(service set) 指定識別碼。試圖加入網路的工作站可以掃描目前區域所有網路,然後以特定的SSID加入。共同組成擴充套件式服務區域(extended service area )的所有基本服務區域(basic service areas )都會使用相同的SSID。

 

        圖1-32:SSID(服務組合識別碼)資訊元素

有些檔案將SSID 視為網路名稱,因為網管人員通常以字串來指定 SSID。其實,SSID 不過是由位元組所形成的字串,用來標示所屬網路的 BSSID 。有些產品要求此字串必須是以 null(即0 )結尾的 ASCII 字串,雖然標準對此並無特別規範。

SSID的長度介於 0 至32位元組之間。如果完全不加指定,此種特例稱為 broadcast SSID ; broadcast SSID 只用於 Probe Request 幀,工作站可以藉此找出該區域中所有的 802.11網路。

1.3.3.2  支援速率(Supported Rates)

無線區域網絡支援數種標準速率。802.11網路可以使用 Supported Rates(所支援的速率)資訊元素指定其所支援的速率。當移動工作站試圖加入網路,會先檢視該網路所使用的資料速率。有些速率是強制性的,每部工作站都必須支援,有些則是選擇性的。

圖1-33:Supported Rates(所支援的速率)資訊元素

Supported Rates 資訊元素如圖 1-33 所示。它是由一串位元組所構成。每個位元組會使用七個低效bit來代表資料速率;最高效 bit則是用來表示該資料速率是否為強制性。如果是強制性速率,最高效 bit為1 ;非強制性速率則為 0 。此資訊元素最多可涵括八種速率。隨著各種資料速率的增加,目前已將 Extended Supported Rates(擴充套件支援速率)元素標準化,以便處理八種以上的速率。

在802.11規格書最初的版本中,是以這七個 bit對資料速率進行編碼,而資料速率為 500 kbps的倍數。新的技術,特別是 ETSI的HIPERLAN ,必須以不同的方式來解讀。當這七個 bit用來編碼資料速率時,每種編碼均為500 kbps 的倍數,那麼可編碼的最高資料速率為63.5 Mbps。無線網路的進展,使得這個速率在不久的將來即可實現。因此,IEEE 在802.11b 中改用簡單的標記來代表所支援的速率。先前已經標準化的速率,則根據 500 kbps倍數予以標記,不過未來的標準可能會有所更動。目前使用的標準值如表1-8 所示。

表1_8 :資料速率標記

圖1-33顯示瞭如何同時編碼兩種資料速率。除了支援強制性的 2Mbps 服務,也支援選擇性的11Mbps 服務。

1.3.3.3  跳頻引數組合(PH Parameter Set)

跳頻引數組合資訊元素如圖 1-34 所示,其中包含了加入 802.11跳頻(frequency-hopping)網路所需要的引數。在FH Parameter Set中有四個特別針對 802.11跳頻式網路的位。

 

        圖1-34:PH Parameter Set(跳頻引數集合)資訊元素

Dwell Time (停留時間)

    802.11 FH 網路會在通道與通道間跳躍。停留在每個通道上的時間稱為 dwell time(停留時間)。停留時間是以時間單位(time units 簡稱 TUs )來表示。

Hop Set(跳頻組合)

    802.11跳頻物理層定義了若干跳頻模式(hopping patterns)。此位的長度為一個位元組,代表所使用的跳頻模式組合。

Hop Pattern(調頻模式)

     工作站從跳頻組合中挑出一種跳頻模式。此位的長度亦為一個位元組,代表所使用的跳頻模式。

Hop Index(跳頻索引)

     每種跳頻模式均包含一組跳頻順序。此位的長度為一個位元組,代表目前位於跳頻順序的哪一點上。

1.3.3.4  直接序列引數集合(DS Parameter Set)

802.11直接序列(Direct-sequence)網路只有一個引數:網路所使用的通道數。高速直接序列網路使用相同的通道,因此可以使用相同的引數集合。通道數以一個位元組進行編碼,如圖1-35 所示。

 

    圖1-35:DS Parameter Set(直接序列引數集合)資訊元素

1.3.3.5  資料待傳資訊(Traffic Indication Map(TIM ))

接入點會為處於休睡狀態的工作站暫存幀。每隔一段時間,接入點就會嘗試傳遞這些暫存幀給休眠中的工作站。如此安排的理由是,啟動傳送器比啟動接收器所耗費的電力還要多。802.11的設計者預見未來將會有以電池供電的移動工作站;定期傳送暫存幀給工作站的這個決定,主要是為了延長裝置的電池使用時間。將 TIM(資料待傳指示資訊)資訊元素送到網路上,指示有哪些工作站需要接收待傳資料,只是此過程的一部分。

 

      圖1-36 :Traffic Indication Map(資料待傳指示資訊)資訊元素

TIM 的內容是虛擬 bit對映(virtual bitmap),這是由 2,008 個bit所組成的邏輯結構。每個bit分別對映到一個連線識別碼(Association ID)。當某個識別碼有資料暫存時,相應的 bit就會設成 1 ,否則會設成 0。

DTIM Count(DTIM計數)

     此位的長度為一個位元組,代表下一個 DTIM(資料待傳指示傳遞資訊)幀傳送前,即將傳送的Beacon幀數。DTIM幀用來表示所暫存的廣播與組播幀即將被髮送。並非所有

Beacon幀均為 DTIM幀。

DTIM Period(DTIM期閒)

     此位的長度為一個位元組,代表兩個 DTIM幀之間的 Beacon interval數。0 值目前保留未用。DTIM會由此期間倒數至 0。

Bitmap Control(bit對映控制)與 Partial Virtual Bitmap(部分虛擬 bit對映)

    Bi