1.1 產生背景
WLAN 漫游是指 STA 在同屬于一個 ESS 內的 AP 之間移動且保持用戶業務不中斷。如下所示,STA 先關聯在 AP1 上,然后從 AP1 的信號覆蓋范圍移動到 AP2 的信號覆蓋范圍,并在 AP2 上重新關聯,期間保持 IP 地址不變且業務不中斷,這種行為稱為漫游。
圖1-1 WLAN 漫游示意圖
智能無線漫游基本概念
這里的關鍵是用戶業務不中斷,如果 STA 先在 AP1 下線,業務中斷,一段時間后再到 AP2 上重新上線,重新獲取 IP,則不能稱為漫游。當然,用戶業務不中斷是指宏觀意義上的,實際上由于多種因素,如漫游前后兩個 AP 間的信號交疊地帶信號弱或存在空洞、終端漫游過程中需要切換信道掃描到新 AP、終端需要在新老 AP 間切換關聯關系、終端關聯到新 AP 后需要重新協商密鑰、甚至重新認證等,漫游過程中會有少量丟包。盡量減少漫游過程中的丟包、使上層業務感知不到明顯延時、卡頓,保障用戶移動過程中業務體驗仍能流暢自如是我們的一個重要目標。后面可以看到我們將采取一些措施盡可能將丟包降到 低。
另外,只有同一個 ESS 范圍內的移動才能稱為漫游。如果 STA 開始關聯 SSID 為”Huawei”,后來又關聯另一個 SSID,則不能稱之為漫游,此時 STA 需要重新關聯,重新認證,重新獲取 IP,不能保障業務不中斷。
漫游發生在各種不同的實際場景中,而不同的應用業務對漫游性能要求也不同;例如大規模用戶場景下的漫游,對 Wi-Fi 網絡要求嚴格的醫療終端場景,如何通過漫游優化解決高密場景下的性能問題。
1.2 技術實現
網絡規模擴大后,部署了多個 AC,就需要不同 AC 間彼此預先同步或實時查詢漫游 STA 的狀態信息,實現了 AC 間的平滑漫游,并且需要保證漫游后 STA 的流量的正常轉發,Z終實現在更廣范圍的無線覆蓋和漫游的客戶需求。這時候就需要用到華為的 AC 間漫游功能。
基于敏捷分布式架構,華為推出了同頻網(SFN,Same Frequency network)漫游方案:在敏捷分布式架構下,不同的 RU 使用相同的信道組網,中心 AP 可以實現不同 RU 之間協同,統一控制協調由哪個 RU 來接收和發送。相對于傳統的由終端觸發的主動漫游技術而言,這種方案具有漫游終端無感知,切換丟包少等顯著優點,非常適合于醫療這種對移動漫游的平滑性有較高要求的場景。
隨著 Wi-Fi 智能終端的普及以及 Wi-Fi 應用越來越廣泛,終端粘性對網絡帶來的影響越來越受到關注。尤其在會展,球場等這種容量受限的高密場景下,粘性終端對用戶體驗和網絡性能都產生了很大的負面影響:
● 降低了網絡容量
終端選擇信號更好的 AP 漫游,意味著終端能夠更好的覆蓋,可以以更高的速率收發數據。但粘性終端破壞了這一點,使用低速率收發數據意味著需要更長時間占據空口,一方面影響了整個 AP 下的其他終端用戶(尤其是高速率用戶)吞吐率,另一方面也影響了整個 AP 的系統吞吐率。
● 影響了用戶體驗
終端移動場景下,終端不及時切換到信號更好的 AP,信號越來越差,速率越來越低,用戶體驗越來越糟糕。當一個終端“吊死”在某個 AP 上時,將Z終導致業務不好用,甚至不可用。同時,低速率粘性用戶會占用過多的空口時間,也影響了其他用戶的業務體驗。
● 破壞了信道規劃
基本概念
● HAC:Home AC,指用戶第一次關聯的 AC ? HAP:Home AP,指用戶第一次關聯的 AP
● FAC:Foreign AC,用戶漫游后當前關聯的 AC ? FAP:Foreign AP,用戶漫游后當前關聯的 AP
用戶可能連續發生多次漫游,但是 HAC 和 HAP 始終會是第一次關聯的 AC、AP,FAC、
FAP 隨著用戶的每次漫游不斷遷移。
● AC 內漫游:如果漫游過程中 HAC 和 FAC 是同一個 AC,這次漫游就是 AC 內漫游。
● AC 間漫游:如果漫游過程中 HAC 和 FAC 不是同一個 AC,這次漫游就是 AC 間漫游,即 STA 漫游前后所關聯的 AP 分屬不通的 AC 管理
● 家鄉代理:能夠和用戶家鄉網絡的網關二層互通的一臺設備。為了支持用戶漫游后仍能正常訪問家鄉網絡,需要將用戶流量通過隧道轉發到家鄉代理,再由家鄉代理中轉。隧道的一端在 FAP,另一端則是家鄉代理,家鄉代理起一個中轉站的作用。目前的實現中,由 HAC 或 HAP 兼任用戶的家鄉代理。
● AC 間隧道:為了支持 AC 間漫游,需要在 AC 間交換用戶的一些信息,以及轉發用戶的流量,因此在 AC 間建立一條隧道作為管理報文和數據轉發的通道。
當前 AC 間隧道也是利用 CAPWAP 協議創建的,和 AP-AC 間的 CAPWAP 鏈路沒有差別。
● 漫游組:顯然,不可能網絡中任意兩個 AC 間都可以支持 AC 間漫游,因此通過人為劃定的一個 AC 組,屬于同一個組的 AC 之間才能支持 AC 間漫游,這個組就叫漫游組,如下圖所示。同一個漫游組的 ACs 兩兩之間創建一條 AC 間隧道,形成一個 fullmesh 連接。
● 二層漫游:STA 在同一個子網內漫游。例如 STA 漫游前后所關聯的 AP 都在業務
VLAN100 內。
● 三層漫游:STA 在不同子網間漫游。例如 STA 漫游前關聯 AP 的業務 VLAN 為 100、對應網段100.1.1.X,但是漫游后關聯的AP不在VLAN100 內,其業務VLAN為200、對應網段 200.1.1.X.
● 快速漫游:影響 STA 漫游丟包的Z大因素是 STA 關聯到新 AP 時重新進行 802.1x 認證,一般認證過程非常長,期間業務處于中斷狀態。為了避免 STA 每次漫游時都進行冗長的 802.1x 認證,可以在 AC 上保存 STA 前幾次認證時獲得的 PMKs,收到 STA 的關聯/重關聯請求時用 AC 保存的 PMKs 和 STA 攜帶的 PMKID 進行匹配,如果能匹配上則直接允許用戶上線,省去認證過程。這種技術稱為 OKC(Opportunistic Key Caching)。
上述漫游方式稱為快速漫游,由于省去了冗長的認證過程,大大減少了漫游過程中的業務中斷時間(可以從 300ms 以上降為 100ms 以內)。