原來(lái)【W(wǎng)iFi無(wú)縫漫游】是這么回事!
原來(lái)【W(wǎng)iFi無(wú)縫漫游】是這么回事!
1、WLAN漫游簡(jiǎn)介
百度百科::當(dāng)網(wǎng)絡(luò)環(huán)境存在多個(gè)相同SSID的AP,且它們的覆蓋范圍的重合時(shí),無(wú)線用戶可以在整個(gè)WLAN覆蓋區(qū)內(nèi)移動(dòng),無(wú)線網(wǎng)卡能夠自動(dòng)發(fā)現(xiàn)附近信號(hào)強(qiáng)度最大的AP,并通過(guò)這個(gè)AP收發(fā)數(shù)據(jù),保持不間斷的網(wǎng)絡(luò)連接,這就稱為無(wú)線漫游。
簡(jiǎn)單來(lái)說(shuō):WLAN漫游是指
STA在不同的
AP覆蓋范圍之間移動(dòng),且保持用戶業(yè)務(wù)不中斷的行為。
-
AP:也就是無(wú)線接入點(diǎn),是一個(gè)無(wú)線網(wǎng)絡(luò)的創(chuàng)建者,是網(wǎng)絡(luò)的中心節(jié)點(diǎn)。一般家庭或辦公室使用的無(wú)線路由器就一個(gè)AP。
-
STA:每一個(gè)連接到無(wú)線網(wǎng)絡(luò)中的終端(如筆記本電腦、PDA及其它可以聯(lián)網(wǎng)的用戶設(shè)備)都可稱為一個(gè)站點(diǎn)。
如下圖所示,
STA1從
AP1的覆蓋范圍移動(dòng)到
AP2的覆蓋范圍時(shí)保持業(yè)務(wù)不中斷。

2、WiFi漫游由來(lái)
當(dāng)家庭面積超過(guò)一定面積后,為了保證全家范圍的wifi網(wǎng)絡(luò)覆蓋,我們就需要引入2個(gè)以上的WiFi接入點(diǎn)了。在多個(gè)WiFi接入點(diǎn)下,為了優(yōu)化網(wǎng)絡(luò)使用體驗(yàn),免去手動(dòng)切換wifi接入的麻煩,就需要引入WiFi漫游。
-
偽漫游:
一般最常見(jiàn)的偽漫游方法就是將2個(gè)以上的wifi接入點(diǎn)的SSID名稱及密碼設(shè)置相同,雖然起到了一定的切換作用,不過(guò)用過(guò)的朋友都知道效果非常的不好,先不說(shuō)能否自動(dòng)切換的問(wèn)題,就算切換成功了,也會(huì)造成IP地址的改變,游戲掉網(wǎng)、斷連接是必須的!因此在多AP情況下就必須引入一個(gè)新的名詞:Wifi快速漫游
-
WiFi漫游
上文提到的設(shè)置SSID名稱及密碼相同的方案是最低能的做法,稍微懂一點(diǎn)網(wǎng)絡(luò)知識(shí)的朋友都不會(huì)采用的;
最次的方案也是要保證DHCP服務(wù)器的統(tǒng)一,保證切換Wifi時(shí)候IP地址不變。
更進(jìn)一階,引入AC控制器,利用AC+AP的組合形式實(shí)現(xiàn)wifi漫游。目前市面上主流的TPlink、愛(ài)快、Mesh等產(chǎn)品的方案多是如此。
其根本的原理是通過(guò)AC設(shè)定AP的RSSI閾值,將信號(hào)不穩(wěn)定的設(shè)備T下線,迫使終端設(shè)備重新連接信號(hào)最強(qiáng)的AP,實(shí)現(xiàn)AP的自動(dòng)切換。
實(shí)話實(shí)說(shuō)這種方案對(duì)于絕大多數(shù)的用戶是完全夠用的,AP切換過(guò)程中網(wǎng)絡(luò)中斷時(shí)間一般在200ms-500ms左右,影響不大,確實(shí)優(yōu)化了網(wǎng)絡(luò)體驗(yàn)。對(duì)于網(wǎng)絡(luò)要求不高的朋友推薦選擇。不過(guò)在該方案下游戲會(huì)有一段明顯的卡頓,但不會(huì)掉線。
-
WiFi快速漫游
如果你是一個(gè)追求完美網(wǎng)絡(luò)體驗(yàn)的朋友,而且想一次到位部署網(wǎng)絡(luò),不再折騰了,那么你就需要Wifi快速漫游了。上面介紹的第二種方案,雖然效果說(shuō)得過(guò)去,但仍然無(wú)法保證切換過(guò)程盡可能的少丟包及進(jìn)一步縮短網(wǎng)絡(luò)中斷時(shí)間。這個(gè)時(shí)候就必須引入Wifi快速漫游方案了,通過(guò)Wifi快速漫游進(jìn)一步縮短網(wǎng)絡(luò)中斷時(shí)間,提高網(wǎng)絡(luò)使用體驗(yàn),真正實(shí)現(xiàn)游戲中不卡頓
對(duì)于有AC控制器的Wifi網(wǎng)絡(luò)系統(tǒng)中,漫游過(guò)程可以簡(jiǎn)單分為3個(gè)階段:漫游觸發(fā)→選擇新AP→重新認(rèn)證。這時(shí)候就需要802.11k/v/r協(xié)議登場(chǎng)了。
-
由于Wifi網(wǎng)絡(luò)密碼的存在,在重新認(rèn)證階段終端在切換AP的時(shí)候需要出示其緩存的密鑰,AP檢查密鑰并進(jìn)行四次握手,產(chǎn)生數(shù)據(jù)加密密鑰,漫游完成。802.11r協(xié)議可以在以上基礎(chǔ)上省略4次握手,進(jìn)一步縮減了斷網(wǎng)的時(shí)間。
-
802.11k能告訴終端,如何快速選擇漫游AP。
-
802.11v能優(yōu)化漫游觸發(fā)。
能夠應(yīng)用802.11k/v/r協(xié)議的Wifi漫游都可以稱之為快速漫游,不過(guò)這需要AP和終端都支持哦,實(shí)際上目前能夠支持802.11k/v/r協(xié)議的終端并不多,蘋果算是一個(gè)例外吧,新產(chǎn)品全都支持802.11k/v/r,所以Wifi快速漫游更適合使用蘋果的土豪們
綜上,WLAN漫游策略主要解決以下問(wèn)題:
-
避免漫游過(guò)程中的認(rèn)證時(shí)間過(guò)長(zhǎng)導(dǎo)致丟包甚至業(yè)務(wù)中斷:802.1x認(rèn)證、Portal認(rèn)證等認(rèn)證過(guò)程報(bào)文交互次數(shù)和時(shí)間,大于WLAN連接過(guò)程,所以漫游需要避免重新認(rèn)證授權(quán)及密鑰協(xié)商過(guò)程。
-
保證用戶授權(quán)信息不變:用戶的認(rèn)證和授權(quán)信息,是用戶訪問(wèn)網(wǎng)絡(luò)的通行證,如果需要漫游后業(yè)務(wù)不中斷,必須確保用戶在AC上的認(rèn)證和授權(quán)信息不變
-
保證用戶IP地址不變:應(yīng)用層協(xié)議均以IP地址和TCP/UDP Session為用戶業(yè)務(wù)承載,漫游后的用戶必須能夠保持原IP地址不變,對(duì)應(yīng)的TCP/UDP Session才能不中斷,應(yīng)用層數(shù)據(jù)才能夠保持正常轉(zhuǎn)發(fā)
3、漫游基礎(chǔ)知識(shí)
WLAN漫游的網(wǎng)絡(luò)架構(gòu)
-
AC控制器:可用來(lái)集中化控制和管理無(wú)線AP,是一個(gè)無(wú)線網(wǎng)絡(luò)的核心,負(fù)責(zé)管理無(wú)線網(wǎng)絡(luò)中的所有無(wú)線AP,對(duì)AP管理包括:下發(fā)配置、修改相關(guān)配置參數(shù)、射頻智能管理、接入安全控制等。
-
漫游組:在WLAN網(wǎng)絡(luò)中,可以對(duì)不同的AC進(jìn)行分組,STA可以在同一個(gè)組的AC間進(jìn)行漫游,這個(gè)組就叫漫游組。如圖,AC1和AC2組成一個(gè)漫游組。
-
AC間隧道:為了支持AC間漫游,漫游組內(nèi)的所有AC需要同步每個(gè)AC管理的STA和AP設(shè)備信息,因此在AC間建立一條隧道作為數(shù)據(jù)同步和報(bào)文轉(zhuǎn)發(fā)的通道。
-
Master Controller:STA在同一個(gè)漫游組內(nèi)的AC間進(jìn)行漫游,需要漫游組內(nèi)的AC能夠試別組內(nèi)其他AC。通過(guò)選定一個(gè)AC作為Master Controller,在該AC上維護(hù)漫游組成員表,并下發(fā)到漫游組內(nèi)AC,使各AC之間相互試別并建立AC間隧道,如圖,選的AC1作為Master Controller.
-
Master Controller既可以是漫游組外的AC,也可以在漫游組內(nèi)選擇一個(gè)AC
-
Master Controlle管理其他AC的同時(shí),不能被其他Master Controlle管理
-
AC內(nèi)漫游:如果漫游過(guò)程中關(guān)聯(lián)的是同一個(gè)AC,則是AC內(nèi)漫游,如圖STA從AP1漫游到AP2即是AC內(nèi)漫游
-
AC間漫游:如果漫游過(guò)程中關(guān)聯(lián)的不是同一個(gè)AC,則是AC間漫游,如圖STA在從Ap1漫游到AP3的過(guò)程即為AC間漫游
-
HAC (Home AC):STA首次與漫游組內(nèi)某個(gè)AC進(jìn)行關(guān)聯(lián),則該AC為它的HAC
-
HAP (Home AP):STA首次與漫游組內(nèi)某個(gè)AP進(jìn)行關(guān)聯(lián),則該AP為它的HAP
-
FAC(Foreign AC):STA漫游后關(guān)聯(lián)的AC即為它的FAC
-
FAP(Foreign AP):STA漫游后關(guān)聯(lián)的AP即為它的FAP
4、漫游的分類
漫游根據(jù)實(shí)際的架構(gòu)我們將它分為兩類:有縫漫游和無(wú)縫漫游。無(wú)縫漫游又可以分為二層漫游和三層漫游。
有縫漫游:有兩種情況
-
所有網(wǎng)絡(luò)部署的AP是胖AP,沒(méi)有AC。
-
所有網(wǎng)絡(luò)部署的A?P是瘦AP,沒(méi)有AC也可以工作。
胖瘦AP的區(qū)別:https://zhuanlan.zhihu.com/p/64648479上面兩種情況,主要是我們國(guó)情產(chǎn)生的,客戶不停的壓價(jià)還要一大堆需要。大家為了降低成本,沒(méi)有部署AC。只需要SSID、加密配置和信道岔開即可。實(shí)際效果第中遠(yuǎn)好于第一種,因?yàn)榈诙N是在一個(gè)DHCP下,第一種就相當(dāng)安裝了很多的家用路由器,問(wèn)題多多!
-
無(wú)縫漫游:
無(wú)縫漫游能夠做到的是在 AP 與 AP間的切換時(shí)間控制在毫秒級(jí),基本不掉包,在業(yè)務(wù)運(yùn)用上感受不到有任何停頓,這樣客戶終端在移動(dòng)時(shí)從一個(gè) AP 快速自由地切換到另一個(gè) AP, 這就是無(wú)縫漫游。
-
二層漫游:同一AC下的快速漫游,AP與AC直連組網(wǎng),AP和AC連接在同一個(gè)VLAN內(nèi),可以實(shí)現(xiàn)二層漫游。
-
三層漫游:跨VLAN的三層漫游,當(dāng)網(wǎng)絡(luò)規(guī)模比較大,VLAN不一樣,IP網(wǎng)段也不相同,因?yàn)橹С秩龑訜o(wú)縫漫游,從而保證用戶在不一樣VLAN間漫游而業(yè)務(wù)不中斷。
4.1 二層漫游
img
二層漫游后,STA仍然在原來(lái)的子網(wǎng)中,F(xiàn)AP/FAC對(duì)二層漫游用戶的報(bào)文轉(zhuǎn)發(fā)同普通新上線用戶沒(méi)有區(qū)別,直接在FAP/FAC本地網(wǎng)絡(luò)轉(zhuǎn)發(fā),不需要通過(guò)AC間隧道轉(zhuǎn)回到HAP中轉(zhuǎn)
漫游前:
-
STA發(fā)送業(yè)務(wù)報(bào)文到HAP
-
HAP接收到STA發(fā)送的業(yè)務(wù)報(bào)文并發(fā)送給HAC
-
HAC直接將業(yè)務(wù)報(bào)文發(fā)送給上層網(wǎng)絡(luò)
漫游后:
-
STA發(fā)送業(yè)務(wù)報(bào)文給FAP
-
FAP接收到STA的業(yè)務(wù)報(bào)文,并發(fā)送給FAC
-
FAC直接將業(yè)務(wù)報(bào)文發(fā)送給上層網(wǎng)絡(luò)
4.2 三層漫游
4.2.1 三層漫游--隧道轉(zhuǎn)發(fā)模式

三層漫游時(shí),用戶漫游前后不在同一個(gè)子網(wǎng)中,為了支持用戶漫游后仍能正常訪問(wèn)漫游前網(wǎng)絡(luò),需要將用戶流量通過(guò)隧道轉(zhuǎn)發(fā)到原來(lái)的子網(wǎng)中轉(zhuǎn)。
隧道轉(zhuǎn)發(fā)模式下,HAP和HAC之間業(yè)務(wù)報(bào)文通過(guò)CAPWAP隧道封裝,此時(shí)可以將HAP和HAC看作在同一個(gè)子網(wǎng)內(nèi),報(bào)文無(wú)需返回到HAP,直接通過(guò)HAC中轉(zhuǎn)到上層網(wǎng)絡(luò)
漫游前:
-
STA發(fā)送業(yè)務(wù)報(bào)文到HAP
-
HAP接收到STA發(fā)送的業(yè)務(wù)報(bào)文并發(fā)送給HAC
-
HAC直接將業(yè)務(wù)報(bào)文發(fā)送給上層網(wǎng)絡(luò)
漫游后:
-
STA發(fā)送業(yè)務(wù)報(bào)文給FAP
-
FAP接收到STA的業(yè)務(wù)報(bào)文,并發(fā)送給FAC
-
FAC通過(guò)HAC和FAC之間的AC間隧道將業(yè)務(wù)報(bào)文轉(zhuǎn)發(fā)給HAC
-
HAC直接將業(yè)務(wù)報(bào)文轉(zhuǎn)發(fā)給上層網(wǎng)絡(luò)
4.2.2 三層漫游--直接轉(zhuǎn)發(fā)模式

直接轉(zhuǎn)發(fā)模式下,HAP和HAC之間的業(yè)務(wù)報(bào)文不通過(guò)CAPWAP隧道封裝,無(wú)法判定HAP和HAC是否在同一個(gè)子網(wǎng)內(nèi),此時(shí)設(shè)備默認(rèn)報(bào)文需要返回到HAP進(jìn)行中轉(zhuǎn)。如果HAP和HAC在同一個(gè)子網(wǎng)時(shí),可以將家鄉(xiāng)代理設(shè)置為性能更強(qiáng)的HAC,減少HAP的負(fù)荷并提高轉(zhuǎn)發(fā)效率
用戶漫游到其他AP后,默認(rèn)以HAP作為家鄉(xiāng)代理。用戶漫游時(shí),自動(dòng)在FAP和家鄉(xiāng)代理間建立一條隧道,用戶的流量通過(guò)家鄉(xiāng)代理中轉(zhuǎn),以保證用戶漫游仍能訪問(wèn)原網(wǎng)絡(luò)
漫游前:
-
STA發(fā)送業(yè)務(wù)報(bào)文到HAP
-
HAP接收到STA發(fā)送的業(yè)務(wù)報(bào)文并發(fā)送給HAC
-
HAC直接將業(yè)務(wù)報(bào)文發(fā)送給上層網(wǎng)絡(luò)
漫游后:
-
STA發(fā)送業(yè)務(wù)報(bào)文給FAP
-
FAP接收到STA發(fā)送的業(yè)務(wù)報(bào)文,并發(fā)送給FAC
-
FAC通過(guò)HAC和FAC之間的隧道,將業(yè)務(wù)報(bào)文轉(zhuǎn)發(fā)給HAC
-
HAC將業(yè)務(wù)報(bào)文發(fā)送給HAP
-
HAP直接將業(yè)務(wù)報(bào)文發(fā)送給上層網(wǎng)絡(luò)
5、漫游基本原理
-
切換檢測(cè):當(dāng)STA檢測(cè)到要發(fā)生快速切換時(shí),將向各信道發(fā)送切換請(qǐng)求。
STA監(jiān)聽(tīng)各信道beacon,發(fā)現(xiàn)新AP滿足漫游條件,向新AP發(fā)送probe請(qǐng)求。新AP在其信道中收到請(qǐng)求后,通過(guò)在信道中發(fā)送應(yīng)答來(lái)進(jìn)行響應(yīng)。STA收到應(yīng)答后,對(duì)其進(jìn)行評(píng)估,確定同哪個(gè)AP關(guān)聯(lián)最合適。
img
-
切換觸發(fā):STA達(dá)到漫游閾值就會(huì)觸發(fā)切換,對(duì)于觸發(fā)條件,不同的STA會(huì)有不同的方式:
-
根據(jù)當(dāng)前AP和鄰近AP信號(hào)強(qiáng)度的對(duì)比,達(dá)到門限值就啟動(dòng)切換
-
根據(jù)業(yè)務(wù),例如丟包率,達(dá)到門限值就啟動(dòng)切換,此切換觸發(fā)方式較慢,效果差
img
-
切換操作:關(guān)聯(lián)新AP,解除與老AP的關(guān)聯(lián)
不同的STA會(huì)有不同的操作方式,一般情況,STA在發(fā)送切換請(qǐng)求后,發(fā)送關(guān)聯(lián)新AP的請(qǐng)求,待請(qǐng)求被接受后,再關(guān)聯(lián)新的AP,然后解除與老AP的關(guān)聯(lián)。但有的STA也會(huì)先解除與老AP的關(guān)聯(lián),再關(guān)聯(lián)新AP

6、切換方式
終端的漫游如何實(shí)現(xiàn)?有主動(dòng)切換和被動(dòng)切換兩種方式。
6.1 主動(dòng)切換
終端檢測(cè)到有更強(qiáng)的beacon幀信號(hào),而且SSID與當(dāng)前接入的SSID相同,主動(dòng)發(fā)送probe request幀,探測(cè)具有相同SSID的AP,并從中選擇更優(yōu)的進(jìn)行接入。通過(guò)wireshark抓包,可以看到這個(gè)過(guò)程如下:
6.2 被動(dòng)切換
AP通過(guò)ACTION幀發(fā)送BSS Transition Management Request消息,提供可切換的候選AP,終端用BSS Transition Management Response消息回應(yīng)結(jié)果,然后是與主動(dòng)切換類似的步驟。
終端在接收到BTM Request后,使用probe request檢測(cè)候選AP是否可達(dá),然后通過(guò)BTM response返回結(jié)果。
7、漫游基本配置
img要做到漫游,我們的路由器需要一些基本的配置:
-
無(wú)線AP必須設(shè)置為相同的SSID。不同的SSID意味著不同的無(wú)線網(wǎng)絡(luò),而無(wú)法實(shí)現(xiàn)無(wú)線漫游。需要注意的是,SSID區(qū)分大小寫。
-
所有無(wú)線AP必須使用同一網(wǎng)段的IP地址,并且處于同一VLAN中。
-
信號(hào)相互覆蓋的無(wú)線AP不能使用相同的頻道。
由于多個(gè)AP信號(hào)覆蓋區(qū)域相互交叉重疊,因此,各個(gè)AP覆蓋區(qū)域所占頻道之間必須遵守一定的規(guī)范,鄰近的相同頻道之間不能相互覆蓋,也就是說(shuō),相互覆蓋區(qū)域的無(wú)線AP不能采用同一頻道,否則,會(huì)造成AP在信號(hào)傳輸時(shí)的相互干擾,從而降低AP的工作效率。
在可