Linux 下wifi 驱动开发(一)—— WiFi基础知识解析
?一、WiFi相關基礎概念
1、什么是wifi?
? ? ? 我們看一下百度百科是如何定義的:
? ? ? Wi-Fi是一種可以將個人電腦、手持設備(如pad、手機)等終端以無線方式互相連接的技術,事實上它是一個高頻無線電信號。[1] ?無線保真是一個無線網絡通信技術的品牌,由Wi-Fi聯盟所持有。目的是改善基于IEEE 802.11標準的無線網路產品之間的互通性。有人把使用IEEE 802.11系列協議的局域網就稱為無線保真。甚至把無線保真等同于無線網際網路(Wi-Fi是WLAN的重要組成部分)。
? ? ? wifi 英文全稱是WIreless-FIdelity,翻譯成中文就是無線保真,英文簡稱WiFi。
2、什么是wlan
? ? ? 無線局域網絡英文全名:Wireless Local Area Networks;簡寫為: WLAN。它是相當便利的數據傳輸系統,它利用射頻(Radio Frequency; RF)的技術,使用電磁波,取代舊式礙手礙腳的雙絞銅線(Coaxial)所構成的局域網絡,在空中進行通信連接;該技術的出現絕不是用來取代有線局域網絡,而是用來彌補有線局域網絡之不足,以達到網絡延伸之目的,使得無線局域網絡能利用簡單的存取架構讓用戶透過它,實現無網線、無距離限制的通暢網絡。
? ? ? 其實很多時候,人們將二者混用,其實wifi是實現wlan的一種技術(藍牙、wimax等);
3、無線網VS有線網
? ? ? ?無線網絡相比有線網絡,還是有許多的缺點的:
* 通信雙方因為是通過無線進行通信,所以通信之前需要建立連接;而有線網絡就直接用線纜連接,不用這個過程了。
* 通信雙方通信方式是半雙工的通信方式;而有線網絡可以是全雙工。
* 通信時在網絡層以下出錯的概率非常高,所以幀的重傳概率很大,需要在網絡層之下的協議添加重傳的機制(不能只依賴上面TCP/IP的延時等待重傳等開銷來保證);而有線網絡出錯概率非常小,無需在網絡層有如此復雜的機制。
* 數據是在無線環境下進行的,所以抓包非常容易,存在安全隱患。
* 因為收發無線信號,所以功耗較大,對電池來說是一個考驗。
* 相對有線網絡吞吐量低,這一點正在逐步改善,802.11n協議可以達到600Mbps的吞吐量。
二、IEEE 802.11協議
? ? ? ? ? ?IEEE802協議有點大,下面只介紹其中一些概念:
? ? ? ? ? Ethenet和Wifi采用的協議都屬于IEEE 802協議集。其中,Ethenet以802.3協議做為其網絡層以下的協議;而Wifi以802.11做為其網絡層以下的協議。無論是有線網絡,還是無線網絡,其網絡層以上的部分,基本一樣。
1、802.11簡介
? ? ? ? ?IEEE802家族是由一系列局域網絡(Local Area Network,LAN)技術規格所組成,802.11屬于其中一員。雖然WI-FI使用了802.11的媒體訪問控制層(MAC)和物理層(PHY),但是兩者并不完全一致。
IEEE802.11協議族成員如下:
? ? ? ?802.11基本規格涵蓋了802.11 MAC 以及兩種物理層(physical layer):一是跳頻展頻(frequency-hopping spread-spectrum,簡稱FHSS)物理層,另一是直接序列展頻(direct-sequence spread-spectrum,簡稱DSSS)物理層。802.11a所規范的物理層,主要是以正交分頻多工(orthogonal frequency division multiplexing,簡稱OFDM)技術為基礎.802.11將PHY進一步劃分為兩個組成元件:一是物理層收斂程序(Physical Layer ConvergenceProcedure,簡稱PLCP),負責將MAC幀對映到傳輸介質;另一是實際搭配介質Physical Medium Dependent,簡稱PMD),負責傳送這些幀。
2、802.11b
? ? ? ?IEEE802.11b是無線局域網的一個標準。其載波的頻率為2.4GHz,傳送速度為11Mbit/s。IEEE802.11b是所有無線局域網標準中最著名,也是普及最廣的標準。它有時也被錯誤地標為Wi-Fi。實際上Wi-Fi是無線局域網聯盟(WLANA)的一個商標,該商標僅保障使用該商標的商品互相之間可以合作,與標準本身實際上沒有關系。在2.4-GHz-ISM頻段共有14個頻寬為22MHz的頻道可供使用。IEEE802.11b的后繼標準是IEEE802.11g,其傳送速度為54Mbit/s。
3、802.11網絡包含四種主要實體原件
a -- 工作站(Station)
? ? ? ?具有無線網絡接入功能的電子設備(筆記本,手持設備等).
b -- 基站(Access Point)
? ? ? 802.11網絡所使用的幀必須經過轉換才能被傳到其它不同類型的網絡,具有無線至有線橋接功能的設備稱為基站(Access Point,AP).此外基站還有其它功能.
c -- 無線介質(Wireless Medium)
? ? ? 802.11標準以無線介質(Wireless medium)在工作站之間傳遞幀.其所定義的物理層不只一種.
d -- 傳輸系統(Distribution System)
? ? ? 傳輸系統是基站間轉送幀的骨干網絡,通常就稱為骨干網絡(backbone network)當幾部基站串連以覆蓋較大區域時,彼此之間必須相互通信,才能夠掌握移動式工作站的
行蹤。而傳輸系統(distribution system )屬于802.11的邏輯元件,負責將幀(frame)轉送至目的地。大多數商用產品,是以橋接引擎(bridging engine)和傳輸系統介質(distribution system medium)共同組成傳輸系統.
4、802.11 工作方式 ? ??
? ? ? 802.11定義了兩種類型的設備,一種是無線站,通常是通過一臺PC機器加上一塊無線網絡接口卡構成的,另一個稱為無線接入點(Access Point, AP),它的作用是提供無線和有線網絡之間的橋接。一個無線接入點通常由一個無線輸出口和一個有線的網絡接口(802.3接口)構成,橋接軟件符合802.1d橋接協議。接入點就像是無線網絡的一個無線基站,將多個無線的接入站聚合到有線的網絡上。無線的終端可以是802.11PCMCIA卡、PCI接口、ISA接口的,或者是在非計算機終端上的嵌入式設備(例如802.11手機)。
? ? ? 802.11的數據鏈路層由兩個之層構成,邏輯鏈路層LLC(Logic Link Control)和媒體控制層MAC(Media Access Control)。802.11使用和802.2完全相同的LLC之層和802協議中的48位MAC地址,這使得無線和有線之間的橋接非常方便。但是MAC地址只對無線局域網唯一。 ?
? ? ? 802.11的MAC和802.3協議的MAC非常相似,都是在一個共享媒體之上支持多個用戶共享資源,由發送者在發送數據前先進行網絡的可用性。在802.3協議中,是由一種稱為CSMA/CD(Carrier Sense Multiple Access with Collision Detection)的協議來完成調節,這個協議解決了在Ethernet上的各個工作站如何在線纜上進行傳輸的問題,利用它檢測和避免當兩個或兩個以上的網絡設備需要進行數據傳送時網絡上的沖突。在802.11無線局域網協議中,沖突的檢測存在一定的問題,這個問題稱為"Near/Far"現象,這是由于要檢測沖突,設備必須能夠一邊接受數據信號一邊傳送數據信號,而這在無線系統中是無法辦到的。
三、WiFi相關知識進階
1、頻譜劃分
WiFi總共有14個信道,如下圖所示:
1)IEEE 802.11b/g標準工作在2.4G頻段,頻率范圍為2.400—2.4835GHz,共83.5M帶寬
2)劃分為14個子信道
3)每個子信道寬度為22MHz
4)相鄰信道的中心頻點間隔5MHz?
5)相鄰的多個信道存在頻率重疊(如1信道與2、3、4、5信道有頻率重疊)
6)整個頻段內只有3個(1、6、11)互不干擾信道
2、SSID和BSSID
1)基本服務集(BSS)
? ? ?基本服務集是802.11 LAN的基本組成模塊。能互相進行無線通信的STA可以組成一個BSS(Basic Service Set) 。如果一個站移出BSS的覆蓋范圍,它將不能再與BSS的其它成員通信。
2)擴展服務集(ESS)
? ? ? 多個BSS可以構成一個擴展網絡,稱為擴展服務集(ESS)網絡,一個ESS網絡內部的STA可以互相通信,是采用相同的SSID的多個BSS形成的更大規模的虛擬BSS。連接BSS的組件稱為分布式系統(Distribution System,DS)。
3)SSID
? ? ? 服務集的標識,在同一SS內的所有STA和AP必須具有相同的SSID,否則無法進行通信
? ? ? SSID是一個ESS的網絡標識(如:TP_Link_1201),BSSID是一個BSS的標識,BSSID實際上就是AP的MAC地址,用來標識AP管理的BSS,在同一個AP內BSSID和SSID一一映射。在一個ESS內SSID是相同的,但對于ESS內的每個AP與之對應的BSSID是不相同的。如果一個AP可以同時支持多個SSID的話,則AP會分配不同的BSSID來對應這些SSID。
? ? ? BSSID(MAC)<---->SSID
3、無線接入過程三個階段
? ? ? STA(工作站)啟動初始化、開始正式使用AP傳送數據幀前,要經過三個階段才能夠接入(802.11MAC層負責客戶端與AP之間的通訊,功能包括掃描、接入、認證、加密、漫游和同步等功能):
? ? ? 1)掃描階段(SCAN)
? ? ? 2)認證階段 (Authentication)
? ? ? 3)關聯(Association)
4、WiFi - 組成結構
? ? ? 一般架設無線網絡的基本配備就是無線網卡及一臺AP,如此便能以無線的模式,配合既有的有線架構來分享網絡資源,架設費用和復雜程度遠遠低于傳統的有線網絡。如果只是幾臺電腦的對等網,也可不要AP,只需要每臺電腦配備無線網卡。AP為Access Point簡稱,一般翻譯為“無線訪問接入點”,或“橋接器”。它主要在媒體存取控制層MAC中扮演無線工作站及有線局域網絡的橋梁。有了AP,就像一般有線網絡的Hub一般,無線工作站可以快速且輕易地與網絡相連。特別是對于寬帶的使用,無線保真更顯優勢,有線寬帶網絡(ADSL、小區LAN等)到戶后,連接到一個AP,然后在電腦中安裝一塊無線網卡即可。普通的家庭有一個AP已經足夠,甚至用戶的鄰里得到授權后,則無需增加端口,也能以共享的方式上網。
總結
以上是生活随笔為你收集整理的Linux 下wifi 驱动开发(一)—— WiFi基础知识解析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 最简单的基于FFMPEG+SDL的音频播
- 下一篇: 200行Html5+CSS3+JS代码实