本文參考了一下兩篇文章:
https://blog.csdn.net/tushanpeipei/article/details/111157151
https://forum.huawei.com/enterprise/zh/thread-232281.html
無線終端接入過程
掃描
STA搜索無線網絡的過程就叫做掃描,掃描分為兩類,主動掃描和被動掃描。
主動掃描
STA會主動在其所支持的信道上依次發送探測信號,用於探測周圍存在的無線網絡,STA發送的探測信號成為探測請求幀。探測請求幀又可以分為兩類,一類是未指定任何SSID,一類是指定了SSID的。
未指定SSID掃描
探測請求幀里面如果沒有指定SSID,就意味着這個探測請求想要獲取到周圍所有的能夠獲取到的無線網絡信號。如果AP的無線網絡中配置了Beacon幀中隱藏SSID的功能,此時AP是不會回應STA的廣播型探測請探測求幀,STA也就無法通過這種方式獲取到SSID。
指定SSID掃描
探測請求幀中指定了SSID,這就表示STA只想找到特定的SSID,不需要除指定SSID之外的其他無線網絡。AP收到了請求幀后,只有發現請求幀中的SSID和自己的SSID是相同的情況下才會回應STA。
被動掃描
被動掃描情況下,STA是不會主動發送探測請求的報文,STA要做的是被動接收AP定期發送的Beacon幀。AP的Beacon幀中,會包含有AP和SSID和支持速率等信息,AP會定期向外廣播發送Beacon幀。STA就是通過在其支持的每個信道上偵聽Beacon幀,來獲知周圍存在無線網絡。如果無線網絡中配置了Beacon幀中隱藏SSID的功能,此時AP發送的Beacon幀中攜帶的SSID是空串,這樣STA是無法從Beacon幀中獲取到SSID信息的。
STA是通過主動掃描還是被動來搜索無線信號呢?這完全是由STA的支持情況來決定的。手機或者電腦的無線網卡,一般來說這兩種掃描當打都會支持。無論是主動掃描還是被動掃描探測到的無線網絡都會顯示在手機或者電腦的網絡鏈接中,供使用者選擇接入。而一般VoIP語言終端通常會使用被動掃描方式,其目的是節省電量。
當手機掃描到無線網絡信號之后,就可以選擇接入哪個網絡,這時STA就需要進入鏈路認證階段。
鏈路認證
STA和AP之間是通過無線鏈路進行鏈接,建立這個鏈路的過程中,需要STA通過無線鏈路的認證,只有通過認證之后才能進行STA和AP之間的無線關聯。但是此時仍然不能判斷STA是否有接入無線網絡的權限,需要根據后續STA是否需要進行接入認證、是否通過接入認證才能判斷。