雲AC技術應用淺析

雲AC技術應用淺析

1.    AC概述

    MACCMobileAccess Control Cloud,移動接入控制雲平臺),簡稱爲雲AC,用於管理WIFI設備。配置管理用於雲AC向設備端下發配置,即通過雲AC控制設備端的配置,配置管理現在包括設備無線配置、設備認證配置、訪問資源控制、用戶管理控制、設備管理配置、設備日誌配置以及設備系統配置等七項基本配置功能以及記錄各個配置項操作的相關信息的配置操作日誌記錄功能。
    銳捷的雲AC解決了AP分散到各個不同地市,不同門店,衆多孤立設備集中管理,監控的難題;傳統的硬件ACAP的管理採用緊耦合的方式,更適合局域網內的大量AP的管理;銳捷雲AC採用和AP弱耦合,輕量級的交互方式來更好的適用跨互聯網,廣域網的AP集中管理。雲AC還支持與銳捷雲營銷平臺、移動媒體平臺等對接,分別實現廣告推送營銷和多媒體服務等。

2. 配置管理的整體流
 
2.1 配置管理的整體流程
    配置管理主要是實現雲AC向WIFI設備下發配置文件,實現雲AC對設備配置的統一管理。產品官方首頁http://www.ruijie.com.cn/cp/wx-ypt/macc

3. 配置管理的技術說明
    AC與設備端的傳輸遵從CWMPCPE WANManagement Protocol,用戶側設備廣域網管理協議),該協議是由DSLDigital Subscriber's Line,數字用戶線路)論壇發起制定的技術規範之一,在該規範中描述了一個用戶側設備廣域網管理協議的通用框架、消息規範、管理方法和數據模型。由於TR-069CWMP協議最重要的核心文檔,因此在許多時候CWMP協議也稱作TR-069協議。
    AC向設備端下發配置,設備端接收到配置後寫入設備內對應的配置文件,然後重啓對應進程即可實現配置。

4. CWMP技術如何應用在銳捷無線產品上
    可以簡單的把雲AC看做一臺管理服務器,無線產品通過CWMP與服務器建立通信道路。用過銳捷無線產品RG-MA1210(用戶交流社區http://bbs.ruijie.com.cn/forum.php?mod=viewthread&tid=2127)的盆友應該對MACC有一定的瞭解,如果想通過低成本投入,在給客戶提供免費上網服務的同時,順便推送一些小廣告,您爽我也爽,豈不樂哉。事先聲明下,其實我也沒用過RG-MA1210,用過的用戶都說好^_^。今天討論的主題是技術,那可能是有人懷疑啦,產品都沒用過,能把這技術說清楚嗎。這點還請各位放心,因爲本人用的產品,您們肯定沒人用過,目前還沒正式亮相咧。下面就拿這款無線產品RG-MR620給各位講解下CWMP技術如何在它上面實現的,太多的技術細節,不便道出,何況我自己也是略懂而已。說的不對的地方,還望各位批評指正。
    銳捷的無線產品大部分使用的我司自主研發的RGOS,但是RG-MR620採用的開源的OpenWrt,也就是Linux的一個發行版,RG-MR620是一款支持11ACCPE,下文簡稱CPE。下圖是該系統的系統信息:  

4.1 RG-MR620的操作系統信息
    CPE是否支持CWMP協議,看下圖就知道:

4.2 CWMP實現
    cwmp.elf進程就是建立與MACC隧道的源頭。看到這裏,估計技術大牛已經明白了,也說不定技術大牛不屑此類介紹。嘿嘿,其實我從不介意別人的看法,既然寫,就要寫的徹底,寫得明白。

5. 舉一例來說說
    MACC的功能包括設備無線配置、設備認證配置、訪問資源控制、用戶管理控制、設備管理配置等等,具體的配置方法請參考http://www.ruijie.com.cn/cp/wx-ypt/macc。下面就以配置管理設備無線配置爲例來淺析下MACC技術的應用。首先配置好CPE的環境,讓該設備加入到MACC中,注意最重要的配置項是ACS URL,也就是雲AC提供給設備的對外接口。

5.1 CWMP配置
    配置好設備以後,登錄MACC主頁面就能發現在線設備:

5.2 MACC登錄界面
    再來一張詳細的:

5.3 MACC在線設備信息
    設備無線配置主要是爲了配置設備的無線wifi功能,設備無線配置頁面如圖5.4所示:

5.4 設備無線配置頁面
    點擊保存按鈕就能將該配置同步到CPE,事實上,在設備首次關聯上MACC時,會自動下發一個FullConfig(全量配置),Fullconfig包括了無線配置,因此在無線設備的Console端可以看見有信息輸出,ath0是被wifi0映射的vap(該設備的wifi0主要用作覆蓋2.4Gwifi1主要用作5G上聯),其中ath0ath01ath02ath03一共創建了4vap,通過無線終端就能找到由wifi0放出的4SSID信號。

5.5 設備控制檯輸出
    對比下無線配置文件的變化如下所示:
MACC配置4SSID
admin@Ruijie:/# uci show wireless
wireless.wifi0=wifi-device
wireless.wifi0.type=qcawifi
wireless.wifi0.channel=auto
wireless.wifi0.macaddr=00:0c:30:67:fb:79
wireless.wifi0.hwmode=11ng
wireless.wifi1=wifi-device
wireless.wifi1.type=qcawifi
wireless.wifi1.channel=auto
wireless.wifi1.macaddr=00:0c:30:67:fb:79
wireless.wifi1.hwmode=11ac
wireless.wifi1.tdpcf=1
wireless.wifi1.peerdist=2500
wireless.@wifi-iface[0]=wifi-iface
wireless.@wifi-iface[0].device=wifi1
wireless.@wifi-iface[0].network=wan
wireless.@wifi-iface[0].mode=sta
wireless.@wifi-iface[0].wds=0
wireless.@wifi-iface[0].ssid=ruijie_cpe
wireless.@wifi-iface[0].encryption=none
wireless.@wifi-iface[0].wlan_id=1
wireless.@wifi-iface[1]=wifi-iface
wireless.@wifi-iface[1].device=wifi0
wireless.@wifi-iface[1].wlan_id=1
wireless.@wifi-iface[1].network=lan
wireless.@wifi-iface[1].mode=ap
wireless.@wifi-iface[1].wds=0
wireless.@wifi-iface[1].ssid=MR620-2.4G-1
wireless.@wifi-iface[1].encryption=none
wireless.@wifi-iface[1].hidden=0
wireless.@wifi-iface[1].maxsta=1
wireless.@wifi-iface[2]=wifi-iface
wireless.@wifi-iface[2].device=wifi0
wireless.@wifi-iface[2].wlan_id=2
wireless.@wifi-iface[2].network=lan
wireless.@wifi-iface[2].mode=ap
wireless.@wifi-iface[2].wds=0
wireless.@wifi-iface[2].ssid=MR620-2,.4G-2
wireless.@wifi-iface[2].encryption=psk-mixed+ccmp
wireless.@wifi-iface[2].key=12345678
wireless.@wifi-iface[2].hidden=0
wireless.@wifi-iface[3]=wifi-iface
wireless.@wifi-iface[3].device=wifi0
wireless.@wifi-iface[3].wlan_id=3
wireless.@wifi-iface[3].network=lan
wireless.@wifi-iface[3].mode=ap
wireless.@wifi-iface[3].wds=0
wireless.@wifi-iface[3].ssid=MR620-2.4G-3
wireless.@wifi-iface[3].encryption=psk-mixed+ccmp
wireless.@wifi-iface[3].key=12345678
wireless.@wifi-iface[3].hidden=0
wireless.@wifi-iface[4]=wifi-iface
wireless.@wifi-iface[4].device=wifi0
wireless.@wifi-iface[4].wlan_id=4
wireless.@wifi-iface[4].network=lan
wireless.@wifi-iface[4].mode=ap
wireless.@wifi-iface[4].wds=0
wireless.@wifi-iface[4].ssid=MR620-2.4G-4
wireless.@wifi-iface[4].encryption=psk-mixed+ccmp
wireless.@wifi-iface[4].key=444444444444
wireless.@wifi-iface[4].hidden=0
admin@Ruijie:/#
  
MR620缺省配置: 
admin@Ruijie:/# uci show wireless 
wireless.wifi0=wifi-device  
wireless.wifi0.type=qcawifi  
wireless.wifi0.channel=auto  
wireless.wifi0.macaddr=00:0c:30:67:fb:79  
wireless.wifi0.hwmode=11ng  
wireless.@wifi-iface[0]=wifi-iface  
wireless.@wifi-iface[0].device=wifi0
wireless.@wifi-iface[0].network=lan  
wireless.@wifi-iface[0].mode=ap  
wireless.@wifi-iface[0].wds=0  
wireless.@wifi-iface[0].ssid=ruijie_RG-MR620_2G  
wireless.@wifi-iface[0].encryption=none  
wireless.@wifi-iface[0].wlan_id=1  
wireless.wifi1=wifi-device  
wireless.wifi1.type=qcawifi  
wireless.wifi1.channel=auto  
wireless.wifi1.macaddr=00:0c:30:67:fb:79  
wireless.wifi1.hwmode=11ac  
wireless.wifi1.tdpcf=1  
wireless.wifi1.peerdist=2500  
wireless.@wifi-iface[1]=wifi-iface  
wireless.@wifi-iface[1].device=wifi1  
wireless.@wifi-iface[1].network=wan  
wireless.@wifi-iface[1].mode=sta  
wireless.@wifi-iface[1].wds=0  
wireless.@wifi-iface[1].ssid=ruijie_cpe  
wireless.@wifi-iface[1].encryption=none  
wireless.@wifi-iface[1].wlan_id=1  
admin@Ruijie:/#
  
  
    配置文件發生如此大改變,是因爲MACC下發了相關的配置操作指令給CPE,查看日誌由MACC配置4SSID的配置過程,很容易知道,MACC通過下發指令,調用uci指令對CPE的配置文件進行修改。
擴展:uci管理了OpenWrt下最主要的系統配置參數並且提供了簡單、容易、標準化的人機交互接口。uci中已經包含了網絡配置、無線配置、系統信息配置等作爲基本路由器所需的主要配置參數。
    因此,MACCCPE配置出4SSID實際上調用的操作便是下面一系列的uci操作:
admin@Ruijie:/# cat /var/log/wlcfg
[$Thu Dec 10 19:07:45 CST 2015]wifi_config.sh clear wlan-id 0
[$Thu Dec 10 19:07:45 CST 2015] uci -qdelete wireless.@wifi-iface[0]
[$Thu Dec 10 19:07:45 CST 2015] The flag ofcompatibility mmac = 3.
[$Thu Dec 10 19:07:45 CST 2015]wifi_config.sh apply $RADIO = 3
[$Thu Dec 10 19:07:45 CST 2015] disableradio 1
[$Thu Dec 10 19:07:46 CST 2015] enableradio 1
[$Thu Dec 10 19:07:46 CST 2015] The flag ofcompatibility mmac = 1.
[$Thu Dec 10 19:07:46 CST 2015]wifi_config.sh set $RADIO = 1
[$Thu Dec 10 19:07:46 CST 2015]     Add a new wifi-iface[1] and init ok!
[$Thu Dec 10 19:07:46 CST 2015] uci setwireless.@wifi-iface[1].device=wifi0
[$Thu Dec 10 19:07:46 CST 2015] uci setwireless.@wifi-iface[1].wlan_id=1
[$Thu Dec 10 19:07:46 CST 2015] uci setwireless.@wifi-iface[1].network=lan
[$Thu Dec 10 19:07:46 CST 2015] uci setwireless.@wifi-iface[1].mode=ap
[$Thu Dec 10 19:07:46 CST 2015] uci setwireless.@wifi-iface[1].wds=0
[$Thu Dec 10 19:07:47 CST 2015] uci setwireless.@wifi-iface[1].ssid=MR620-2.4G-1
[$Thu Dec 10 19:07:47 CST 2015] uci setwireless.@wifi-iface[1].encryption=none
[$Thu Dec 10 19:07:47 CST 2015] uci setwireless.@wifi-iface[1].hidden=0
[$Thu Dec 10 19:07:48 CST 2015] The flag ofcompatibility mmac = 3.
[$Thu Dec 10 19:07:48 CST 2015]wifi_config.sh apply $RADIO = 3
[$Thu Dec 10 19:07:48 CST 2015] disableradio 1
[$Thu Dec 10 19:07:48 CST 2015] enableradio 1
[$Thu Dec 10 19:07:49 CST 2015] The flag ofcompatibility mmac = 1.
[$Thu Dec 10 19:07:49 CST 2015]wifi_config.sh set $RADIO = 1
[$Thu Dec 10 19:07:50 CST 2015]     Add a new wifi-iface[2] and init ok!
[$Thu Dec 10 19:07:50 CST 2015] uci setwireless.@wifi-iface[2].device=wifi0
[$Thu Dec 10 19:07:50 CST 2015] uci setwireless.@wifi-iface[2].wlan_id=2
[$Thu Dec 10 19:07:50 CST 2015] uci setwireless.@wifi-iface[2].network=lan
[$Thu Dec 10 19:07:50 CST 2015] uci setwireless.@wifi-iface[2].mode=ap
[$Thu Dec 10 19:07:50 CST 2015] uci setwireless.@wifi-iface[2].wds=0
[$Thu Dec 10 19:07:50 CST 2015] uci setwireless.@wifi-iface[2].ssid=MR620-2,.4G-2
[$Thu Dec 10 19:07:50 CST 2015] uci setwireless.@wifi-iface[2].encryption=psk-mixed+ccmp
[$Thu Dec 10 19:07:50 CST 2015] uci setwireless.@wifi-iface[2].key=12345678
[$Thu Dec 10 19:07:51 CST 2015] uci setwireless.@wifi-iface[2].hidden=0
[$Thu Dec 10 19:07:51 CST 2015] The flag ofcompatibility mmac = 3.
[$Thu Dec 10 19:07:51 CST 2015]wifi_config.sh apply $RADIO = 3
[$Thu Dec 10 19:07:51 CST 2015] disableradio 1
[$Thu Dec 10 19:07:52 CST 2015] enableradio 1
[$Thu Dec 10 19:07:55 CST 2015] The flag ofcompatibility mmac = 1.
[$Thu Dec 10 19:07:55 CST 2015]wifi_config.sh set $RADIO = 1
[$Thu Dec 10 19:07:56 CST 2015]     Add a new wifi-iface[3] and init ok!
[$Thu Dec 10 19:07:56 CST 2015] uci setwireless.@wifi-iface[3].device=wifi0
[$Thu Dec 10 19:07:56 CST 2015] uci setwireless.@wifi-iface[3].wlan_id=3
[$Thu Dec 10 19:07:56 CST 2015] uci setwireless.@wifi-iface[3].network=lan
[$Thu Dec 10 19:07:56 CST 2015] uci set wireless.@wifi-iface[3].mode=ap
[$Thu Dec 10 19:07:56 CST 2015] uci setwireless.@wifi-iface[3].wds=0
[$Thu Dec 10 19:07:56 CST 2015] uci setwireless.@wifi-iface[3].ssid=MR620-2.4G-3
[$Thu Dec 10 19:07:56 CST 2015] uci setwireless.@wifi-iface[3].encryption=psk-mixed+ccmp
[$Thu Dec 10 19:07:56 CST 2015] uci setwireless.@wifi-iface[3].key=12345678
[$Thu Dec 10 19:07:57 CST 2015] uci setwireless.@wifi-iface[3].hidden=0
[$Thu Dec 10 19:07:57 CST 2015] The flag ofcompatibility mmac = 3.
[$Thu Dec 10 19:07:57 CST 2015]wifi_config.sh apply $RADIO = 3
[$Thu Dec 10 19:07:58 CST 2015] disableradio 1
[$Thu Dec 10 19:07:58 CST 2015] enableradio 1
[$Thu Dec 10 19:08:04 CST 2015] The flag ofcompatibility mmac = 1.
[$Thu Dec 10 19:08:04 CST 2015]wifi_config.sh set $RADIO = 1
[$Thu Dec 10 19:08:04 CST 2015]     Add a new wifi-iface[4] and init ok!
[$Thu Dec 10 19:08:04 CST 2015] uci setwireless.@wifi-iface[4].device=wifi0
[$Thu Dec 10 19:08:04 CST 2015] uci setwireless.@wifi-iface[4].wlan_id=4
[$Thu Dec 10 19:08:04 CST 2015] uci setwireless.@wifi-iface[4].network=lan
[$Thu Dec 10 19:08:04 CST 2015] uci setwireless.@wifi-iface[4].mode=ap
[$Thu Dec 10 19:08:04 CST 2015] uci setwireless.@wifi-iface[4].wds=0
[$Thu Dec 10 19:08:04 CST 2015] uci setwireless.@wifi-iface[4].ssid=MR620-2.4G-4
[$Thu Dec 10 19:08:05 CST 2015] uci setwireless.@wifi-iface[4].encryption=psk-mixed+ccmp
[$Thu Dec 10 19:08:05 CST 2015] uci setwireless.@wifi-iface[4].key=444444444444
[$Thu Dec 10 19:08:05 CST 2015] uci setwireless.@wifi-iface[4].hidden=0
[$Thu Dec 10 19:08:06 CST 2015] The flag ofcompatibility mmac = 3.
[$Thu Dec 10 19:08:06 CST 2015]wifi_config.sh apply $RADIO = 3
[$Thu Dec 10 19:08:06 CST 2015] disableradio 1
[$Thu Dec 10 19:08:07 CST 2015] enableradio 1
[$Thu Dec 10 19:08:15 CST 2015] The flag ofcompatibility mmac = 1.
[$Thu Dec 10 19:08:15 CST 2015]wifi_config.sh set $RADIO = 1
[$Thu Dec 10 19:08:15 CST 2015] uci setwireless.@wifi-iface[1].maxsta=1
[$Thu Dec 10 19:08:15 CST 2015] The flag ofcompatibility mmac = 3.
[$Thu Dec 10 19:08:15 CST 2015]wifi_config.sh apply $RADIO = 3
[$Thu Dec 10 19:08:16 CST 2015] disableradio 1
[$Thu Dec 10 19:08:17 CST 2015] enableradio 1
admin@Ruijie:/#

6.結語
    以上關於銳捷的MACC技術的簡單解析,還有很多具體細節的問題沒有涉及到。還請各位工程師從網絡上獲取相關文檔並研究。經常訪問銳捷社區無線版本的網頁,http://bbs.ruijie.com.cn/?fromuser=unrecoverable找到最新的信息和資料。也非常歡迎您加我好友一起切磋技術,同時也歡迎各位在論壇上提問。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章