要想理解wi-fi的真正工作原理,除了了解前面我寫的wi-fi網路結構,網路連線過程,還需要詳細了解wi-fi的幀結構。
wi-fi幀的分類
wi-fi的幀從大類上分為三類:
1.資料幀
資料幀,顧名思義,就是我們在聯網中要傳輸的資料,就好比公路運輸中要運輸的貨物。
2.控制幀
功能:控制幀通常與資料幀搭配使用,負責區域清空, 通道獲得, 載波偵聽, 肯定確認等。
相對有線傳輸,無線傳輸只有有限的幾個通道。如果大家在同一通道上同時發射,這樣接收機就不知道接受誰的資料。就像在乙個大的教室裡面,所有的同學一起回答老師的問題,老師無法確定是哪個同學回答的,也聽不清楚。這時候就需要有乙個同學比如班長來協調。讓同學輪流的發言。控制幀就相當於這個協調的同學(班長)。
3.管理幀
主要功能:接入和退出無線網路以及處理接入點之間關聯的轉移。
無線網路和有線網路不一樣,有線網路天然就帶有連線管理。如果你家的網線不插入對應的交換機網口裡面就不能上網。但無線網路不一樣,只要有無線網絡卡,大家都可以接受到wi-fi訊號,這個時候就要對接入點進行管理,管理幀的功能就是管理接入的wi-fi終端。
上圖是一般的幀格式,wi-fi的幀分為兩部分組成:mac頭部+frame body,其中mac是固定格式的,frame body是可變長度,遵循tlv(type length value)格式。
mac頭部有frame control,duration,address1,address2,address3,和sql-ctl欄位組成。
我們首先看下frame control欄位,這個欄位是分析wi-fi最重要的乙個字段。
frame control1) protocol version: (協議版本)通常為0
2) type: 幀型別,管理幀00,控制幀: 01,資料幀10。
3) subtype: 幀的子型別,每種大類幀又分為多個小類
4)to ds: 管理幀和控制幀都是0,資料幀表示是從發往ap的
5)from ds: 管理幀和控制幀都是0,資料幀表示是從ap發來的
6)more fragment: 用於說明長幀被分段的情況,是否還有其它的幀,如果有則該值設定為1。
7)retry(重傳域): 表示該分段是先前傳輸分段的重發幀。
8)power management: 表示傳輸幀以後,站所採用的電源管理模式,1表示終端處於節能狀態,0表示處於正常狀態
9)more data: 表示有很多幀快取到站中。即至少還有乙個資料幀要傳送給sta是設定為1
9)protected frame: 1表示是加密的資料幀。
10) order(序號域): 在長幀分段傳送時,該域設定為1表示接受者應該嚴格按照順序處理該幀,否則設定為0。
frame control欄位定義了幀的型別,子型別,從**發來的,電源管理,是否加密等重要狀態資訊,
是我們分析wi-fi幀的重要字段。
address fields(位址域):位址域有三個,address fields1表示接受者的mac位址,address fields2表示傳送者的mac位址,address fields3表示wi-fi的bssid,一般情況下都是ap的mac位址。這三個域和不同的幀型別有細微的區別。
sql-ctl(sequence control)字段:順序控制字段:主要用於過濾重複幀。
(未完待續)
TFTP幀協議詳解
tftp,全稱是 trivial file transfer protocol 簡單檔案傳輸協議 基於 udp 的69埠實現,是最簡單的檔案傳輸網路協議,該協議只能從遠端伺服器讀取檔案或向遠端伺服器上傳檔案。雖然 tftp 不具備 ftp 的許多功能,但是實現簡單,記憶體占用很小,在uboot等小型...
chunk rtmp 幀 RTMP協議詳解(三)
chunk msg header chunk msg header的長度是可變的,chunk msg header可變的原因是為了壓縮傳輸的位元組數,把一些相同型別的chunk的head去掉一些位元組,換句話說就是四種型別的包頭都可以通過一定的規則還原成11個位元組,這個壓縮和還原在rtmp協議中稱...
CAN協議,系統結構和幀結構
can controller area network,控制器區域網 是一種能有效支援分布式控制和實時控制的序列通訊網路。can bus controller area network bus,控制器區域網匯流排技術 can匯流排系統結構 can 控制器 接收控制單元中微處理器發出的資料,處理資料並...