1. 程式人生 > >wifi詳解-1(基本常識)

wifi詳解-1(基本常識)

先看一下wifi開啟流程圖:
這裡寫圖片描述
圖中注意三個重要模組:1.WifiService(framework層) 2.netd(處於Framework與kernel之間library層,system/netd目錄下) 3.wpa_supplicant與hostapd(由於wpa_supplicant是一個開源軟體專案,所以存放在了external/wpa_supplicant_8下)。

netd中的CommandListener呼叫iptables(與kernel的netfilter模組配合工作,獲取資料包統計流量,流量防護,portal頁面跳轉。。。),tc(流量控制,限速),ip(可代替ifconfig,route,arp等命令)等命令進行對kernel的操作。
三種網路:rmnet(高通 modem),wlan(無線),eth(有線)。
流量上報流程:
1:使用者空間新增一個件/external/iptables/extensions/libxt_wifistat.c
2:核心新增一個裝置節點,存放及讀取流量skb。
3:核心新增一個match模組,match函式存放流量進skb。
路徑(/kernel/net/netfilter/xt_uc_stat.c)
4:撥號成功下發iptables策略。
5:mainserver讀取skb的內容統計。
6:根據閥值定時上傳到伺服器。