1. 程式人生 > 其它 >802.11學習資料整理

802.11學習資料整理

802.11協議精讀1:學習資料整理

轉載:https://zhuanlan.zhihu.com/p/181706750

很早之前,筆者做了一份802.11和Wi-Fi技術的相關資料整理,當時資料都是放在CSDN上面的,一者是作者本身的習慣,當時還不是很習慣用github,二者是本身也習慣在CSDN上面寫寫東西,所以就順帶放一起了。不過現在CSDN的下載業務比較麻煩,還需要積分,所以筆者另外開始在Github上面也整理了一份學習資料。

開源的專案地址為:

大家可以Star下這個專案,後續我整理學習資料的時候就直接基於該專案繼續整理了。

Remark:ReadME還沒有來及更新,後面慢慢再折騰。

內容目錄

整理的目錄直接引用之前寫的了,我就不打算在文章這裡梳理新的目錄了,到時候直接在Github的ReadMe部分做梳理。

綜合類
1.CWNP系列教材
CWNP(CWNP)是一個無線方向的認證專案,其教材是比較適合初學802.11協議的人使用的,其主要是避免了大量的數學工程,基本是從工程師應用的角度來編寫。按照其官網所描述,CWNP的認證包含:CWTS,CWNA,CWSP,CWDP,CWAP,CWNE,CWNT。其中CWNA的教材最為適合初學,且也有中文的翻譯版。其餘CWSP,CWDP等教材適合進階一步閱讀。
2.802.11權威指南(O'Reilly)
802.11權威指南是早期的一本802.11的專著,與協議的貼合度很高(個人感覺更接近於2007版本的802.11協議),不過缺點在於對於一些當前最新的802.11協議缺乏描述,畢竟該書的初版的時候,802.11n還是處於草案階段。整體而言,整本書的內容還是比較豐富的,而且也包含了很多細節的部分(如物理層細節),同時也避免了很多公式推導。
3.802.11 Survival Guide(O'Reilly)
由於802.11權威指南中沒有專門討論過802.11n和802.11ac,所以後面O'Reilly還有兩本書專門說明有關802.11n和802.11ac的內容,包含:802.11n A Survival Guide與802.11ac A Survival Guide。粗讀一遍,感覺協議的很多部分(包含物理層和MAC層)還是描述的很詳細的。
4.Next Generation Wireless LANs(Cambridge)
Cambridge的兩本有關802.11的專著:Cambridge.Next Generation Wireless LANs.802.11n與Cambridge.Next Generation Wireless LANs.802.11n and 802.11ac,感覺是兩本描述802.11的書籍中最為細緻的兩本書,也同時感覺最為權威的兩本書,其中很多物理層細節與MAC層細節都只有在這本書中可以找到(尤其是802.11的物理層部分)。如果打算詳細研究802.11協議的話,非常建議讀下這本書,其中後者是新版(包含了802.11n和802.11ac的主要內容),所以更加推薦閱讀。
5.WAPI協議
WAPI和802.11的關係有興趣可以自行搜尋。從學習的角度上而言,WAPI可以當做中文的802.11(即802.11的早期版本)。比較適合早期閱讀802.11協議原版,畢竟原協議內容,寫法之類都和一般書本不同,所以還是中文的資料好適應一些。
6.802.11協議(2007版與2012版)
802.11協議有很多個版本,包含了眾所周知的是802.11a/b/g/n/ac這些,其餘還有802.11r/802.11k/802.11s等等很多協議版本,以及還存在協議的演化,比如802.11ae/802.11aa這些。其中802.11的2007版和2012版算是一個協議整合版,其中802.11-2012版包含了07版以及802.11n,802.11k,802.11r等相應的內容,所以適合詳細閱讀802.11協議使用,不過2012版中沒有包含802.11ac/ad,802.11ah,802.11ae,802.11aa等相關的內容,所以這些新協議還需要讀協議的分支。
安全類
1.802.11 security(O'Reilly)
O'Reilly也有一本關於802.11安全的專著,這本書目前還沒有讀完,整體感覺還是比較好的。
2.Real 802.11 Security - Wi-Fi Protected Access and 802.11i
這本書老早之前讀過一次,總體感覺還是可以的,該書主要討論的是802.11i的內容,不過由於出版的較早,所以有些內容有些老了。
設計類
1.IEEE 802.11 Tutorial(Berkeley)
這份材料是bekerly那裡出的較早期的IEEE 802.11 Tutorial,實際應該放在綜合類中的。不過這份資料中的很多流程圖描繪的還不錯,是從整個協議執行的機制上所述,且都做了一定的簡化,所以也是不錯的材料。
2.Wi-Fi:802.11 物理層和發射機測量概述
這份資料是泰克公司公開的資料,實際上是將802.11物理層部分加以總結出的一份文件,用來快速學習802.11物理層的有關知識是很適合的,而且其中的內容也是從測試廠家的角度而寫,相比一般書本的知識,這些內容更加偏實際一些。
3.802.11物理層規範海報
這一份泰克這份海報,非常貼切802.11協議,其中很多物理層的內容,以及通道分配,5G可用通道有哪些,都有總結,作為速查非常方便。
4.通訊新讀
實際上這份資料與802.11的關係不是很大,但是該書是一本的用來學習通訊知識不錯的書。適合初學者學習通訊的理論知識,與大話系列不同,這本書還是很注重理論知識的。該書沒有完整的電子版,只收集到試讀的部分(筆者不少資料還是讀的紙質版)。
5.OFDM for wireless communications systems
這本書是一份OFDM的專題書,且內容較短且精,適合作為了解OFDM基本原理後,不斷重新深入理解OFDM原理所閱讀,其中有些細節還是比較不錯的。
6.Radio Frequency Propagation Made Easy
802.11中的通道模型實際上描述的內容並不多,故需要一些有關射頻傳播模型的背景知識才好深入理解一些,上面這份教材講的深淺適中,對於理解802.11協議中的內容是足夠的了。
模擬類
1.MIMO-OFDM Wireless Communications with MATLAB
該書是一篇有關MIMO-OFDM理論以及模擬的綜合書,書中夾雜描述了一些802.11情況下的通道模型,物理層模型之類,由於當前802.11的主流技術是基於MIMO-OFDM的,且如果需要真正學習802.11相應的通訊知識,還是多接觸些物理層和數學為好,該書的理論都有配以模擬,所以很適合學習。
2.NS2模擬實驗-多媒體與無線網路
柯志恆老師的書,很多學習NS2的人一開始都學習過,這裡收集了下書的電子版以及原始碼。

3.The NS2 Manual
有關NS2的資料實際上是非常多的,筆者曾經用過一段時間NS2做802.11模擬,當時順著這份材料學習了下,所以記錄下。NS2有關802.11的資料還是非常多的,每個人可以根據自己的需求尋找資料。

4.Implementation of IEEE 802.11 Physical Layer Model in NS3
這份材料的原題目比較長(Study and Implementation of IEEE 802.11 Physical Layer Model in YANS (Future NS-3) Network Simulator),主要是討論如何在NS3中模擬802.11物理層的模型。該資料中,提供了很多不同種類的物理層模型,以及引數,由於筆者在做模擬的時候,需要採用一些跨層模擬的方法,從這份資料裡面算是得到不少啟發,故記錄一下。
實現類
1.深入理解Android:WiFi模組 NFC和GPS卷
這本書是朋友推薦的一本書,當時是為了學習802.11安全協議的部分。由於直接從openwrt的角度來分析802.11原始碼的書很少,所以這本從andriod的角度分析原始碼的書也是挺好的。

2.基於XILINX FPGA的OFDM通訊系統基帶設計
該書是比較完整的敘述了802.11a的基帶在FPGA上實現的書,雖然調原始碼的時候發現可能會發現有一些錯誤,但是總體上而言,這本書的知識結構也是較為完整的,筆者對於802.11在FPGA實現的英語材料沒有怎麼閱讀過,故從這本書上也算獲取了不少知識,總體感覺也是不錯的。
3.Linux Kernel Networking
該書主要是描述了Linux核心中網路的實現部分,其第12章具體就是對應無線模組。由於描述Linux核心中無線模組資料比較少,所以這本書也是比較推薦的,只不過對於細節部分,該書描述不是特別細緻,不過總體還是不錯的。
4.Linux Wi-Fi open source drivers-mac 802.11
該材料比較完整的敘述了從kernel到802.11驅動底層的一個函式呼叫過程,用來學習802.11具體驅動過程是一份比較好的材料。
5.通訊IC設計
這份本書內容感覺目前是除了MATLAB 2016a/b程式碼以外,對802.11物理層最為詳盡描述的材料了(在該書下冊)。該書也有附帶的相應程式碼。該書目前只有紙質版,有可以自行閱讀。
歷史類
1. The Innovation Journey of Wi-Fi (The Road to Global Success)
這一份是描述802.11協議誕生以來到被廣泛推廣這一段時間以來的大致發展歷史,其第二作者Vic Hayes在1990-2000年期間作為IEEE 802.11的主席,對這一塊歷史瞭解應該是非常深入的。
驅動開發類
1. Programming with Libpcap - Sniffing the Network From Our Own Application
pcap開發的學習資料,我們一般都是直接用抓包軟體進行抓包,或者如果程式設計之類的,在無線側也是直接配合python+scapy或者lorcon之類的軟體,很少有直接關注pcap庫的,本篇文章是對libpcap做一個簡介,對於深入瞭解抓包原理是比較有幫助的。
2. Linux Wireless架構總結
這份資料沒有一個明確的名字,主要是關於無線架構方面,包含了關鍵資料結構,各層間關鍵資料介面,USB 無線介面卡列舉過程等過程的縮圖,可以參考下。
3. linux 無線網路系統
該資料實際上還沒有寫全,可能是當作作者沒有持續更新的,作者大致整理了Cfg80211的一些過程,因為這方面的資料比較少,所以筆者還是把資源整理到這裡。
4. The mac80211 subsystem for kernel developers
這份資料比較好,標題就是適用於核心開發者看的802.11開發指南,主要關注的是核心側關於802.11開發的資料。之前我們介紹過一本資料《Linux Kernel Networking》,這本書對於Wi-Fi核心開發雖然也有解讀,但是資訊沒有這份資料全。
5.Linux Wi-Fi open source drivers-mac 802.11
這一份資料上一次就整理過的,這次因為是關於驅動開發方面再整理下,所以又放了一遍。該材料比較完整的敘述了從kernel到802.11驅動底層的一個函式呼叫過程,用來學習802.11具體驅動過程是一份比較好的材料。
6. The mac80211 TX Path
這是關於mac80211部分具體傳送過程的流程圖,雖然資料的資訊不多,但是這個流程圖還是挺有用的,有的時候用資料包inject之類出問題的時候,可以參考做進一步調整。
7. Analysis of Open Source Drivers for IEEE 802.11 WLANs
這是一篇paper,雖然作為學術論文而言,創新點不大,僅僅是一個知識總結。但是作為一份入門的802.11驅動開發資料,還是可以的,文中基本列舉關於802.11驅動開發的一些基礎知識,苦於這個範疇一直都沒有特別好的教材,所以這一份資料也可以參考下。
OpenWRT開發類
在上次的書目到現在之間,又出了基本關於openwrt開發的中文書,所以這裡總結下。
1. 智慧路由器開發指南
這本書實際上內容不是很深,都是關於一些基礎的openwrt開發知識,不過內容倒是很實用了,作為一個openwrt上層的開發者,後者入門的話,還是很適合的,不過對於細節,比如說驅動之類的,資訊就很少了。更加適合新手學習。
2. OpenWrt智慧路由系統開發 - 跟hoowa學智慧路由
這本書在面世之前,筆者已經讀過其word版本的,不過當時並不知道這個是準備出版的書哈。這本書相對比上面一本,資訊會多一些。不過可能還是偏向於openwrt的開發者。整體架構還是不錯的,內容也比較廣,比較適合入門開發使用。

本文為原創文章,如需轉載須註明出處和原文連結。

歡迎大家關注我們的微信公眾號:WiFi研習者,請搜尋公眾號(Wi-Fi_Researcher)。