【摘要】本文主要介紹了基于城域網(wǎng)的瘦AP+AC架構(gòu)的WLAN網(wǎng)絡(luò)構(gòu)建中AC的熱備機(jī)制,提出了一種AC熱備切換的方案,解決了AC熱備切換錯(cuò)誤的問題。
【關(guān)鍵詞】WLAN;AC熱備;高可靠性
1、背景
在無線局域網(wǎng)的部署中,當(dāng)前有兩種部署方式:瘦AP(Access Point,無線接入點(diǎn))模式和胖AP模式。其中,瘦AP模式逐漸成為主流的部署方式。在瘦AP模式的部署中,有兩類無線設(shè)備:AC(Access Controller,無線控制器)和AP;AP需要與AC建立連接,然后用戶在AC上進(jìn)行統(tǒng)一配置,AC會(huì)把相關(guān)配置下發(fā)給AP。AC和AP通過協(xié)作,從而為用戶提供無線局域網(wǎng)的服務(wù)。關(guān)于AC和AP間的協(xié)作規(guī)范在RFC5415,即CAPWAP協(xié)議中定義。
在CAPWAP協(xié)議中規(guī)定:當(dāng)AC與AP建立了CAPWAP連接后,AC與每臺(tái)AP間都會(huì)建立一條CAPWAP通信隧道,AC發(fā)送給AP的每個(gè)報(bào)文,都必須通過CAPWAP通信隧道;而AP發(fā)給AC的每個(gè)報(bào)文,也必須通過CAPWAP通信隧道。CAPWAP通信隧道是一種點(diǎn)到點(diǎn)的隧道,是一種單播隧道。如圖 1所示。
圖1 AC與AP的CAPWAP通信隧道示意圖
2、現(xiàn)狀和問題
無線控制器(AC)的熱備份功能,是在AC發(fā)生不可達(dá)(故障)時(shí),為AC<->AP提供毫秒級(jí)的CAPWAP隧道切換能力,確保已關(guān)聯(lián)用戶業(yè)務(wù)最大程度上不間斷。參見圖2:
其具體實(shí)現(xiàn)方式如下:
1.兩臺(tái)AC通過協(xié)商確定主AC和備AC,AC間通過?;顧C(jī)制進(jìn)行?;?;
2.AP與主AC建立主CAPWAP隧道,與備AC建立備CAPWAP隧道;
3.用戶使用無線客戶端關(guān)聯(lián)到AP;
4.用戶通過AP與AC的主CAPWAP隧道與外部進(jìn)行網(wǎng)絡(luò)通信;
5.當(dāng)主AC發(fā)生故障,備AC檢測到?;畛瑫r(shí),馬上通知AP;
6.備AC與AP之間的備用CAPWAP隧道被激活;備AC變成主AC;
圖2 AC熱備示意圖
7.用戶的業(yè)務(wù)在備CAPWAP隧道激活后恢復(fù)正常;
8.當(dāng)原主AC恢復(fù)正常,與新主AC重新建立熱備關(guān)系,原主AC變成備AC;AP與之建立備CAPWAP隧道;用戶的業(yè)務(wù)不會(huì)中斷。
在這過程中,如果主備AC之間的網(wǎng)絡(luò)臨時(shí)不可達(dá),備AC檢測到熱備連接斷開,會(huì)向AP下發(fā)切換CAPWAP隧道消息(簡稱CW1)。在這個(gè)過程中,如果AC熱備的連接又建立起來,主AC也會(huì)下發(fā)切換CAPWAP隧道的消息(簡稱CW2)。此時(shí)AP會(huì)同時(shí)收到兩個(gè)CAPWAP隧道切換的消息。如果由于網(wǎng)絡(luò)擁塞,或者capwap重傳等原因,導(dǎo)致CW2的消息先到,CW1的消息后到,就會(huì)導(dǎo)致AP先切到主AC,再切到備AC,使得AP選擇的主AC與實(shí)際的主AC不一致,從而使得網(wǎng)絡(luò)不可用。
在現(xiàn)有技術(shù)中,主要解決的方法有:
1.方法1:直接不處理。這是因?yàn)椋贏C發(fā)生故障的時(shí)候,AC已經(jīng)不可用了,不會(huì)下發(fā)該切換消息,因此沒有必要處理。
2.方法2:直接規(guī)避,只要在capwap連接斷開之后再建立熱備關(guān)系就好了。這樣熱備選擇就不會(huì)發(fā)生一次切換。
3.方法3:在發(fā)送切換消息的時(shí)候,記錄時(shí)間戳。AP收到消息的時(shí)候,比較時(shí)間戳,對于時(shí)間戳比較舊的報(bào)文不處理。
上面的幾種切換判斷方法都存在一定的缺陷。方法1沒法處理該問題。方法2僅僅是規(guī)避該問題,無法解決該問題。方法3要求保證兩臺(tái)AC的時(shí)間戳一致,在現(xiàn)實(shí)環(huán)境中沒法保證兩臺(tái)AC之間的時(shí)間戳完全一致。
3、技術(shù)方案
針對現(xiàn)有AC熱備中存在的切換錯(cuò)誤問題,本文提出了一種解決方案,能夠有效的解決AC熱備中AP隧道切換錯(cuò)誤,減少用戶斷流時(shí)間。整個(gè)方案包括以下三個(gè)過程:AC熱備連接首次建立過程、AC熱備切換過程以及AC熱備連接再次建立過程。
3.1AC熱備連接首次建立過程
1.主AC與備AC建立熱備連接,協(xié)商出主備關(guān)系。
2.在AC熱備連接建立之后,兩邊可以根據(jù)下面的規(guī)則協(xié)商出唯一的ID。
3.當(dāng)AP與AC建立capwap隧道的時(shí)候,AC向AP下發(fā)切換消息,切換消息中攜帶該ID字段。
4.AP收到切換消息之后,記錄該ID。
需要注意的是,在步驟2中,由于組成AC熱備的兩臺(tái)AC設(shè)備之間的連接是首次建立的,因此兩臺(tái)設(shè)備都生成隨機(jī)數(shù),互相發(fā)送。在收到鄰居的發(fā)來的隨機(jī)數(shù)之后,與自身產(chǎn)生的隨機(jī)數(shù)比較,選擇最大的ID為兩邊一致的ID。這樣就可以保證兩臺(tái)設(shè)備之間選擇出唯一的ID了。其具體的流程參考圖3。
圖3 AC熱備連接建立過程
3.2AC熱備切換過程
1.當(dāng)AC熱備中間的?;钔ǖ罃嚅_時(shí),主備AC都能檢測到連接斷開。
2.主AC檢測到連接斷開,狀態(tài)不變,ID值也不必那。備AC檢測到連接斷開之后,熱備狀態(tài)從備AC切換到主AC狀態(tài),此時(shí)將協(xié)商出的ID+1。
3.當(dāng)AC向AP通告熱備切換消息(也就是上面描述問題中的CW1)的時(shí)候,使用該ID向AP發(fā)送切換消息。
4.AP收到切換消息的時(shí)候,判斷切換消息中ID是否比當(dāng)前記錄的ID來的大。
如果ID比當(dāng)前記錄的ID相同或者小于的話,說明該消息是歷史信息,不用例會(huì)因此直接丟棄該消息。
如果ID比當(dāng)前記錄的ID大于的話,說明該消息是新的切換消息,直接進(jìn)行熱備切換操作。
具體流程參考圖4。
3.3AC熱備連接再次建立過程
1.主AC與備AC建立熱備連接,協(xié)商出主備關(guān)系。
2.在AC熱備連接建立之后,兩邊可以根據(jù)下面的規(guī)則協(xié)商出唯一的ID。
由于AC熱備連接曾經(jīng)建立過,則使用原先協(xié)商的ID。主直接使用原先的ID,備使用原先的ID+1。協(xié)商出的ID為兩邊ID最大值+1。
3.當(dāng)AP與AC建立capwap隧道的時(shí)候,AC向AP下發(fā)切換消息,切換消息中攜帶該ID字段。
4.AP收到切換消息(也就是上面描述問題中的CW2)之后,判斷切換消息中ID是否比當(dāng)前記錄的ID來的大。
如果ID比當(dāng)前記錄的ID相同或者小于的話,說明該消息是歷史信息,不用例會(huì)因此直接丟棄該消息。
如果ID比當(dāng)前記錄的ID大于的話,說明該消息是新的切換消息,直接進(jìn)行熱備切換操作。
如果AP上同時(shí)收到CW1和CW2切換消息。如果CW1消息比CW2消息先到,則AP會(huì)切換到備AC再切換到主AC,最后AP選擇的主AC與實(shí)際中的主AC一致。如果CW1消息比CW2消息后到,則CW1和CW2消息都被忽略,AP隧道不變,AP選擇的主AC與實(shí)際中的主AC也一致。從而解決了AC熱備切換的時(shí)候,AP隧道切換錯(cuò)誤的問題。
本文中的唯一ID的選擇,不限于文檔中描述的方案,也可以使用其它方案來實(shí)現(xiàn),只要保證兩邊能夠協(xié)商出唯一的ID,以及熱備連接斷開再連接時(shí)候,ID值能夠遞增就好。
4、結(jié)束語
本文中提出了一種AC熱備切換的技術(shù)方案,解決AC熱備中AP的CAPWAP隧道切換錯(cuò)誤的問題,使用這種方案可以保證AC熱備切換時(shí)AP能夠選擇正確的CAPWAP隧道,提高了AC熱備切換的速度,減少用戶由于AC設(shè)備故障導(dǎo)致的切換斷流時(shí)間。
參考文獻(xiàn)
[1]周雪松,李斌,趙旺飛,王齊,垂先.基于集中控制模式的WLAN AC快速容災(zāi)策略研究[J].電信快報(bào), 2011年12期.
[2]劉源,王斐,沈堅(jiān).中小企業(yè)無線網(wǎng)絡(luò)災(zāi)備設(shè)計(jì)方案的研究[J].電腦知識(shí)與技術(shù),2014年11期.