802.11 MAC基礎

MAC(媒介訪問控制層)位於各式物理層之上,控制數據的傳輸。它負責核心成幀操做以及與有線骨幹網絡之間的交互。
802.11採用載波監聽多路訪問/衝突避免(CSMA/CA)機制來控制對傳輸媒介的訪問。
802.11與Ethernet之間的主要差別在於所使用的底層媒介不一樣,無線網絡環境與傳統有線網絡環境的差別性爲網絡協議設計人員帶來了種種挑戰。緩存

MAC所面臨的挑戰

  • 射頻鏈路品質
    無線信號的傳輸會受到微波爐及其餘射頻(RF)來源的影響,多徑衰落(multipath fading)所形成的佈線死區(dead spot)也可能致使幀沒法傳送。
    802.11採用確定確認(positive acknowledgment)機制,全部傳送出去的幀都必須獲得相應,以下圖所示。
    數據傳輸的確定確認

無線鏈路的質量也會影響網絡操做的速度。信號質量較佳,就能夠用較高的速度來傳送數據。工做站必須具有某種機制,能夠判斷什麼時候該變動數據傳輸速率
以適應環境的改變。安全

  • 隱藏節點的問題
    無線網絡的界限比較模糊,有時候並非每一個節點均可以跟其餘節點通訊,以下圖所示。
    節點1與節點3互爲隱藏節點
    節點1和節點3互爲隱藏節點,若是使用簡單的傳輸祈求(transmit-and-pray)協議,節點1和節點3可能在同一時間傳送數據,這會形成節點2無從相應數據,
    並且,節點1和節點3無從得知發生了錯誤,由於只有節點2才知道有衝突發生。

爲了防止衝突發生,802.11容許工做站使用Request to Send(請求發送,簡稱RTS)及Clear to Send(清除發送,簡稱CTS)信號來清空傳送區域。
以下圖所示。
以RTS/CTS進行清空
RTS幀自己帶有兩個目的:預定無線鏈路的使用權與要求接收到這一幀的其餘工做站保持沉默,一旦受到RTS幀,接收端會以CTS幀應答,CTS幀也會令附近
的工做站保持沉默。
RTS/CTS一般用在高用量的環境下以及傳輸競爭比較顯著的場合。網絡

MAC訪問模式與時機

無線媒介的訪問是由協調(coordination function)功能控制。分佈式

  • DCF(distributed coordination function,分佈式協調功能)
    在傳送數據以前,先檢查無線鏈路是否處於清空狀態。爲了不衝突的發生,當某個傳送者佔據信道時,,工做站會隨機爲每一個幀選定一段退避(backoff)時間,
    在某些狀況下,DCF可利用CTS/RTS清空技術進一步減小發生衝突的可能性。spa

  • PCF(point coordination function,點協調功能)
    點協調者位於接入點,能夠確保工做站沒必要經過競爭便可使用媒介,PCF在實現上並不常見。設計

  • HCF(hybrid coordination function,混合協調功能)
    HCF容許工做站維護多組服務隊列,針對須要更高服務質量的應用提供更多的無線媒介訪問機會。3d

載波監聽功能與網絡分配矢量

載波監聽(carrier sensing)主要用來判斷媒介是否處於可用狀態。
802.11具有兩種載波監聽功能:物理載波監聽(physical carrier-sensing)與虛擬載波監聽(virtual carrier-sensing)。
只要其中有一個監聽功能顯示媒介處於忙碌狀態,MAC就會將此情況彙報給較高層的協議。
物理載波監聽功能是由物理層所提供,取決於所使用的媒介與調製方式;虛擬載波監聽是由網絡分配矢量(Network Allocation Vector, NAV)提供。
802.11的幀一般會包含一個Durition字段,用來預約一段媒介時間。NAV是一個定時器,用來指定要佔用媒介多少時間,以微秒爲單位。下圖說明了NAV
如何保障整個過程不受干擾。
利用NAV進行虛擬載波監聽blog

幀間間隔

802.11會用到四種不一樣的幀間間隔,其中三種用來決定媒介的訪問。隊列

  • 短幀間間隔(Short interframe space, SIFS)
    SIFS用於高優先級的傳輸場合
  • PCF幀間間隔(PCF interframe space,PIFS)
    PIFS主要被PCF使用在無競爭操做中
  • DCF幀間間隔(DCF interframe space,DIFS)
    DIFS是競爭式服務中最短的媒介空閒時間。若是媒介空閒時間長於DIFS,則工做站能夠當即對媒介進行訪問
  • 擴張幀間間隔(Extended interframe space,EIFS)
    只有在幀傳輸出現錯誤時纔會用到EIFS,EIFS並不是固定的時間間隔
    各類幀間間隔的關係

幀的分段與重組

來自較上層的封包以及某些較大型的管理幀可能必須通過分段,無線信道纔有辦法加以傳送。當干擾存在時,利用幀的分段,無線局域網工做站可以讓干擾
隻影響較小的幀片斷。每一個幀片斷都有相同的幀序號以及一個遞增的幀片斷編號以便於重組。
片斷突發期
上圖RTS與CTS會將NAV設定成從預約時間到第一個幀片斷結束,每一個幀片斷都會設定NAV,繼續掌握媒介的控制全,直到下一個幀的確認結束。ip

幀格式

爲迎接無線數據鏈路所帶來的挑戰,802.11 MAC幀格式的制定通過了深思熟慮的考量。下圖展現了通常的802.11 MAC幀。字段的傳輸順序從左至右,
最高有效位將在最後出現。
通常的802.11 MAC幀

Frame Control字段

全部幀的開頭均是長爲兩個字節的Frame Control字段,以下圖所示。
Frame Control字段

  • Protocol字段
    顯示幀所使用的MAC版本,目前802.11 MAC只有一個版本,它的協議編號爲0
  • Type與Subtype字段
    Type與Subtype字段用來指定使用的幀類型
  • To DS與From DS位
    指示幀的目的地是否爲分佈式系統
  • More fragments位
    若較上層的封包通過MAC分段處理,除了最後一個片斷,其餘片斷均會將此位設定爲1
  • Retry位
    任何重傳的幀都會將此位設定爲1以協助接收端剔除重複的幀
  • Power management位
    此位用來支持發送端在完成當前的原子幀交換以後是否進入省電模式
  • More data位
    接入點若是設定此位,即表明至少有一個幀待傳給休眠中的工做站
  • Protected Frame位
    若是幀受到鏈路層安全協議的保護,則此位會被設定爲1
  • Order位
    若幀按照嚴格依次傳送,則此位會被設定爲1

Duration/ID字段

Duration/ID字段有三種可能的形式,以下圖所示。
Duration/ID

  • 設定NAV
    當第15位被設定爲0時,Durition/ID字段就會被用來設定NAV
  • 無競爭週期所傳送的幀
    在無競爭週期,該字段只有第15位爲1,其他位爲0。Duration/ID字段的值爲32768,這個數值被解讀位NAV。
    因此其餘工做站就將本身的NAV定時器設定爲32768,當前工做站就能夠實現無競爭傳輸?我是這麼理解的
  • PS-Poll幀
    在PS-Poll(省電-輪詢)幀中,第14位和15位會被同時設定爲1,其他位表示關聯標識符(association ID,AID),以顯示工做站隸屬的BSS。
    爲確保不遺漏任何幀,從休眠狀態醒來的工做站必須送出一個PS-Poll幀,以便從接入點取得以前緩存的任何幀。

Address字段

隨着幀類型的不一樣,地址字段的做用也不一樣,大部分數據幀會用到3個字段,Address 1表明接收端、Address 2表明發送端、Address 3表明接入點的BSSID。

順序控制(Sequence Control)字段

該字段長度爲16位,由4位的片斷編號(fragment number)字段以及12位的順序編號(sequence number)字段組成,用來重組幀片斷以及丟棄重複幀。
Sequence Control字段

幀主體

幀校驗序列(FCS)

802.11對上層協議的封裝

802.11裏的IP封裝

多種速率支持

802.11支持收發端協商出一種彼此都可接受的數據傳送速率,工做站能夠常常變換速度,以適應無線電波環境的變化。

幀的處理與橋接

在無線與有線媒介之間轉換幀

相關文章
相關標籤/搜索