極路由自動(dòng)橋接分析 2015.1.22 一、背景 極路由搭配極衛(wèi)星,有效的擴(kuò)展了家庭使用環(huán)境中的死角問題。其實(shí)針以此種情況,早就有了解決方案,如2個(gè)無(wú)線路由器進(jìn)行橋接。 我們的A300/A301就在此種環(huán)境下設(shè)計(jì)的產(chǎn)品,可以很方便的在路由器端、A301端按下按鍵,然后就橋接上了。 但極路由的殺手锏在于,只要極路由和極衛(wèi)星靠近,就能連接上,無(wú)論有無(wú)加密,easy的不能再easy。且指示燈狀態(tài)非常好區(qū)分,藍(lán)常亮---橋接正常,紅藍(lán)閃---橋接異常(此種情況下就按Reset按鍵6秒,類似恢復(fù)出廠設(shè)置,就能再橋上了)。完全的傻瓜操作。 再者,自動(dòng)橋接需要離得很近,官網(wǎng)上說(shuō)是50cm內(nèi),中間不要有障礙物,實(shí)際是盡量要離得近,不然真的連接不上(是極路由來(lái)判斷的,后面會(huì)詳解)。橋接成功后把衛(wèi)星放到廁所里就OK。 雖然功能上和A301基本一致,且極衛(wèi)星只能做為極路由附屬設(shè)備(無(wú)操作頁(yè)面,不能與其它產(chǎn)家的設(shè)備兼容或橋接),但似乎此功能(自動(dòng)橋接)已把橋接功能神化。 在感嘆用戶小白(功能都一樣的嘛)的同時(shí),我們也在思考,功能的改進(jìn)(或是操作的簡(jiǎn)化),能夠帶來(lái)多么神奇的體驗(yàn)。 經(jīng)過(guò)大量的了解,極衛(wèi)星與極路由的橋接性能的改進(jìn)(連接時(shí)間、橋接效果),是耗費(fèi)1年左右的時(shí)間才達(dá)到現(xiàn)在的效果。它的第一批極衛(wèi)星效果很差,從試用者的評(píng)論(極論壇)即可看出。專注、持續(xù)的優(yōu)化很重要。 回想一下TP 的Hifi套裝,雖然使用的是PLC,但一曲同工之妙相同。 二、功能分解 在此,將此功能分為3個(gè)里程碑點(diǎn): (1)連接過(guò)程 (2)無(wú)縫切換 (3)信號(hào)質(zhì)量 Phase 1: 連接過(guò)程 此過(guò)程重在功能的實(shí)現(xiàn),現(xiàn)在有兩種設(shè)計(jì)方案,在細(xì)化評(píng)估后,選擇一個(gè)著手實(shí)施。在這個(gè)過(guò)程中,調(diào)試橋接時(shí)間、過(guò)程的穩(wěn)定、狀態(tài)轉(zhuǎn)換、異常處理。 以能夠快速穩(wěn)定的橋接作為里程碑點(diǎn)。 附加完成(1)指示燈的狀態(tài)。 (2)橋接客戶的顯示,及A301在路由端的顯示。 Phase 2:無(wú)縫切換 說(shuō)是無(wú)縫,雖然有點(diǎn)假,但至少目標(biāo)Smart。在這個(gè)過(guò)程中,需要解決如下問題: 1.WiFi優(yōu)先接入算法,路由和A301同時(shí)存在時(shí),優(yōu)先接入信號(hào)更強(qiáng)的一方。(選擇哪個(gè)作為接入點(diǎn),由手機(jī)或Sta決定有些片面,畢竟我們要做的更好。) 2.Station在路由和A301之間的漫游。當(dāng)你從家里的客廳走到廁所時(shí)(廁所放了個(gè)A301做為橋接器),當(dāng)然需要手機(jī)現(xiàn)在連接的是A301,而不是路由。 Phase 3:信號(hào)質(zhì)量 信號(hào)質(zhì)量概念有點(diǎn)大,從用戶角度應(yīng)該叫服務(wù)質(zhì)量。 1.橋接的穩(wěn)定性,尤其在有大數(shù)據(jù)、信號(hào)質(zhì)量差時(shí),不能出現(xiàn)連接不上、連接斷開。 2.提高吞吐量,在此需要說(shuō)明,如果A301作為家用,存在20信號(hào)的家庭應(yīng)該不多,所以定義5個(gè)左右作為環(huán)境進(jìn)行提高。 下面內(nèi)容,集中在Phase 1上面來(lái)。 三、極路由自動(dòng)橋接功能分析 使用過(guò)程在此不再贅述。 極衛(wèi)星配置: Atheros AR9331 Flash Winband 25Q64F 8MB MemeroyM13s5121632A 64MB 極衛(wèi)星MAC:D4:EE:07:0B:69:14 極路由MAC:D4:EE:07:03:18:B8 極路由僅能配置為無(wú)加密或WPA/WPA2-PSK,現(xiàn)將配置為WPA/WPA2-PSK,密碼:12345678。 (1)極路由發(fā)出Beacon數(shù)據(jù)報(bào)文 file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/ksohtml/wps13.tmp.png WPA字段聲明為有加密,Vendor Specific字段可以為制造商的特別信息。 (2)極衛(wèi)星發(fā)出的Probe Request報(bào)文 file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/ksohtml/wps14.tmp.png 從圖中可以看出,極衛(wèi)星帶的是WPS V1.0的標(biāo)準(zhǔn) (3)極路由收到衛(wèi)星的Request,回復(fù)Response file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/ksohtml/wps15.tmp.png 在此字段中可以看到極路由并未開啟WPS功能,但就在此數(shù)據(jù)包發(fā)出后,再發(fā)出去的Beacon或是Response數(shù)據(jù)包中,帶有WPS功能字段,由此可以推斷,在此條件下極路由開啟了WPS功能(通過(guò)UI掃描,可以看到WPS的標(biāo)志)。 接下來(lái)極路由發(fā)出的Beacon數(shù)據(jù)報(bào)文(如下) file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/ksohtml/wps16.tmp.png 后續(xù)的過(guò)程就可以預(yù)料得到了,極衛(wèi)星和極路由通過(guò)WPS進(jìn)行協(xié)商,衛(wèi)星獲得密碼后可以正常進(jìn)行橋接。 如果到了這一點(diǎn),就相當(dāng)于我們的A301和路由端都按下了WPS按鍵。 提出如下問題: (1)極衛(wèi)星全用WPS功能進(jìn)行連接,那么我拿一臺(tái)路由器也按下WPS,它倆能連接么? 可以不用回答了,肯定連不上的,抓包分析也是這樣的。雖然路由器回得Probe Respons,且看到時(shí)WPS按下,但衛(wèi)星不會(huì)進(jìn)行連接,估計(jì)是過(guò)慮掉了。(可以采用上頁(yè)面提到的Vendor Specific字段)。要找到正確的另一半才連接。 (2)極路由開啟WPS后,我用其它客戶端也全用WPS,能連到時(shí)極路由上么? 我想如果是第一版的極路由,可能會(huì)讓這種小三(第三者)有機(jī)可乘,混水摸魚的連上。 我估計(jì)作為極路由器的開發(fā)人員也會(huì)說(shuō):這么低的概率的事件會(huì)發(fā)生么?測(cè)試的又在找茬。 但是現(xiàn)的極路由不在在這個(gè)問題(已經(jīng)犧牲掉了WPS功能及兼容性,怎么會(huì)再讓這種第三者有機(jī)可乘),通過(guò)抓包分析,可憐的第三者一直在苦苦等待,看著極路由和衛(wèi)星打得火熱,最終不得已Disassocate。 (3)極路由開啟WPS后,可以通過(guò)PIN連接極路由么? 未焊串口,不知道PIN碼多少,就像第2個(gè)問題一樣,但這種只有開發(fā)人員才會(huì)想到的問題,就庭它吧。 (4)極路由開啟WPS后,豈不是帶了那個(gè)圈圈的小標(biāo)志(UI掃描到的)? 開啟后會(huì)帶啊,但是過(guò)一會(huì),就把WPS功能關(guān)了,就不帶了。 一個(gè)巴掌是拍不響的,要從雙方入手,才能得到一個(gè)更好的效果,分析先到時(shí)這里。 四、實(shí)現(xiàn)過(guò)程 如下時(shí)序圖 file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/ksohtml/wps17.tmp.png 實(shí)現(xiàn)方式放到后面設(shè)計(jì)文檔吧,問題可能較多,后續(xù)再完善。 |