Wi-Fi 熱點解決方案 JooMe 是怎麼能支持幾十人同時上網的?
在 Costa 用 JooMe free wifi 這個熱點上網時,屋裡都坐滿了人,連上後頁面居然有 60 多人在上網!而且網速居然很快!不知道他們是怎麼做到的啊?一般路由器也就能支撐幾個人在線吧,而且有一個人下載什麼的,別人就很慢了啊?
看起來這個問題得我來回復了 。。。
支持幾十人同時連上無線,對JooMe來講不是太難解決的問題,挑戰在於,如何在帶寬有限的情況下,讓這幾十人能夠正常上網,起碼保證基本的瀏覽、刷微博等操作。
JooMe是一個軟體、硬體、雲端相結合的服務,軟體和雲端容易理解,硬體這邊很多同學都猜測我們用了H3C、CISCO的成型方案來解決,其實並不是這樣的。JooMe的路由器、AP都是自己做的軟體,是基於OpenWrt做的二次開發,根據GPL的要求,這些開發成果會在版本相對穩定之後開源,這是節操問題,JooMe不打算在這方面跟國內的某些開發者看齊。
好吧,扯遠了,還是先說我們怎麼解決問題的吧
大家知道,由於我國的特殊國情,商用寬頻的成本都非常高,我們見到最高的是帝都東部某個商場,每月2M帶寬的成本是2000元,而且還是共享的。所以怎麼有效的利用這些帶寬為儘可能多的人提供服務,是我們首先要解決的問題,畢竟巧婦難為無米之炊嘛,沒帶寬,一切都是白瞎。
我們在路由器裡面實際上是做了一個VPN隧道,點對點連接到我們的機房,所有用戶的訪問都是通過我們的代理伺服器來做轉發,在轉發的過程中,代理伺服器負責對某些內容進行壓縮和過濾,比如圖片、網頁等,同時濾掉大多數佔用帶寬,但又對上網體驗不會有什麼影響的內容,這樣就可以在一定程度上確保帶寬的有效利用,讓很小的帶寬,可以支持相對多的人同時上網。
當然,我們的代理伺服器的帶寬也是有成本的,這塊成本會透過商家為我們支付的服務費用來抵消掉。沒錯,JooMe是堅持100%收費服務的,打折可以,免費的事兒從來不幹。
而在客戶的現場設備方面,我們沒有採取通常推崇的AP+AC的星狀模式,這種模式的單點故障概率比較高,雖然可以做備機,但成本方面是商家不可能接受的。我們通過二次開發和硬體端的編程,把拓撲改為網狀結構,簡單的講,就是採用多台低成本的設備來分擔壓力,同時維護一個內部協議基於網狀結構來傳遞在各自網路內用戶的鑒權情況,這樣即便有一台甚至多台設備掛掉,也不會影響到網路的正常使用。這方面的技術,如果想要全面的講,就太大了,有機會我們會專門寫篇文章來介紹。
最後,確保大家可以公平上網,不至於因為一個人在下載,就把所有人的帶寬佔滿,就是Qos要解決的問題了,但有一個概念需要明確,QoS並非僅僅是TC,我們更多的是根據用戶的行為和當時的使用場景、壓力情況來做QoS,通常情況下,用戶是感覺不到被限速或者有什麼使用限制的,除非你是真的在惡意使用(比如在店內有很多人的情況下,用迅雷下一個1G的視頻之類的)。
我們還用了一些方法來解決AP的頻段干擾,在一個大型商場內,2.4G的電磁環境就是一個噩夢,幾乎所有頻段都是佔用狀態,而且頻段不固定,信號強度也不穩定,所以我們的AP自己會定時自己探索下周圍的無線情況,然後自己找一個合適的位置,如果有多台AP在服務,它還會把自己的行為告訴周圍其他的AP,設備之間會自己協商各自的頻段,避免自己人之間掐架。
除了以上幾個方面,我們還在諸如遠程監控、熱備切換等方面做了一些工作,以確保絕大多數無法自動處理的問題可以通過遠程來解決,最後一招,就只能安排維護人員上門處理了,好在最後到這一步的概率並不高,所以平時整個北京我們也只有2名維護人員在工作。
以上僅是一些泛泛之談,希望有機會的時候,與大家分享更多經驗。總的來看,做WiFi熱點容易,但難度是隨著同時使用的人數提升,而呈幾何級數來增加的,更重要的是,我們還要考慮到成本、國情等等問題,店家統共就那點預算,給他弄套CISCO也許能解決問題,但結賬的時候,人家會殺了你的。。。解釋一下,一個路由器承載的用戶量跟帶寬沒有關係。與路由器自身的CPU和內存大小有關。
也就是一個路由器能夠承載多少用戶,與路由器能同時承載多少並發連接數有關。1. 一般來說,家用100元左右的路由器承載用戶量大約在10個終端左右,到了20個終端,即使能連接上SSID並分配IP,路由器處理不過來,大家也是無法訪問網路出去的。這個要解釋的地方是54Mbps和300Mbps是與射頻天線有關,bgn協議,就是晶元的包轉發交換能力,你的終端與路由器之間區域網交換速率,與你出口帶寬無關,支持n協議的路由器配置好些,但不能說明承載用戶量就很多。只能說在你網路出口也達到同樣或更大帶寬下,用戶訪問體驗更流暢。
2.企業用的路由器,比如現在主流的CISCO aruba的中高端AP設備是與後端的AC控制器配合使用的,在企業辦公區變態的高密度終端環境下,一個AP承載60--80個終端(手機+pad+筆記本)已經是極限,不要聽設備上忽悠的同時連接一百多之類的,那是在實驗室的理論值,在實際環境下,一個終端佔用的AP連接數要高於實驗室的假設值,而且實際環境中無線信號相互干擾,比如AP間射頻干擾,如果高密度部署會嚴重降低承載能力,這個在室內提高承載用戶量不是靠堆疊添加AP實現的,我們做高密度會議覆蓋(如GMIC),實驗了多次多種技術方案最終才成熟解決。
3.上面說在一個屋子裡面同時60人上網,我可以告訴你,絕對不是一個AP在幹活,起碼4個AP,後面的出口路由器還得稍微好一些,你看到的只是一個SSID而已。不用專業軟體,你無法看到有多少個AP同時叫這個SSID名稱。
4.剛才說一個路由器能承載多少人,這個人數也是不固定的比如,單純承載手機要比承載電腦多,單純承載用戶連接上而不怎麼產生多少網路訪問要比用戶連上並正常訪問網路用戶量多。
5. 稍微好一點的路由器可以加上流控QoS功能,這個沒什麼難的,ddwrt和openwrt都自帶,很方便的添加策略進行用戶限制,時間限制,網站黑名單限制,網路協議限制。
6.無線中繼會讓速率減半,一般不建議用此方式。
7.每個用戶的網路使用時間彼此是獨立分散的,這樣對路由器整體來說是平穩分散的,壓力比較小,比如說,一個用戶2M帶寬,並不是說他持續佔用滿滿2M帶寬,也就是幾K到幾百K而已,頂多峰值跑到2M。。。。如果同時突發大量請求,路由器也是處理不過來,會假死。
8. 路由器裡面跑的是基本的路由器功能,以及添加的監控腳本,定時將路由器的工作狀態以及連接的用戶數據打包上傳到伺服器,比如連接上來的用戶終端的MAC,所以,你一連上AP,就知道你是第幾次使用,以及將終端與用戶ID進行關聯,收集行為行蹤。同時腳本頁檢查監測公網伺服器對路由器的配置更改。會員管理功能等是在伺服器端進行的,不是在路由器上做。其實還是一個胖AP。可以前幾天在新浪微博上看到JoomeNet 聯合創始人@zhufengme 轉發的有關JooMe的新聞【點子·創業】你的WiFi給你帶來好處了嗎?裡面能獲取到一些信息:
1. JooMe路由器的價格是1299,從價格上來推斷這個路由器的性能很不錯,這個價錢用來買10個支持6個同時上網的便宜路由器戳戳有餘,這裡僅僅是這樣打比方。2. 從上面的新聞中可以看得出,JooMe路由器其實就是Router + Linux Server,上面運行這JooMe開發的軟體,如會員管理系統,流量控制(TC),用戶上網數據監控,代理緩存等等。
3. JooMe應該是實現了流量控制, Linux在TC已經做得很好了,我甚至看到了有應用linux IP TC控制那些規則做了一套On Demand的Qos。
PS,想起了當年在實驗室用台破PC裝個LInux做路由器給大家分配僅有10G流量的日子。。。每個用戶1M,最差的802.11g也能有54Mbps,支持50多個用戶上網沒問題。現在更高的100M,300M無線協議也逐漸普及,硬體上一點問題沒有,只要做好軟體就行。
軟體上,現在開源的openwrt及其衍生版本也很成熟,整個技術架構都是可行的,剩下的就是實現和細節的問題了。
補充一下,路由器上面如果增加一個硬碟,做個緩存應用,能夠大大提升wifi用戶的上網體驗。密集區域的WiFi覆蓋,主要還是受限於空口無線側容量。2.4g這個頻段只有3個互不干擾的頻點,每個頻點的實際TCP吞吐量在20mbps左右,如後台做用戶Qos限速後基本能保證20人的良好體驗。因此小房間內布放3個AP滿足60-80人上網應該沒有太大困難。但是如果同時在線人數多到100-200人,如不使用5.4G頻段的話,應該很難保證用戶的良好體驗。
猜測無限中繼?話說我們學校所有教學樓的熱點名都一樣,幾千人甚至幾萬人同時使用一個名稱的熱點。。。
別傻了,樓上的少年們!哪有這麼深奧啊,不就待機量和網路帶寬問題的問題么!一般的企業級路由都可以支持100人左右同時在線,運營商級別也可以達到幾千,能同時上網除了硬體上支持之外,主要還是帶寬,2M的帶寬50個人同時在線,用再好的路由,再好的流控也沒用,不信你試試
linux 下 tc 命令,用一些 qdisc 創建策略iptables 和其 l7protocol 擴展標記流量,分配到具體策略上。實現網路帶寬的優先規則。
joome的wifi覆蓋範圍能有多少,我指的是面積,還有除了北京,joome有沒有計劃在外省市開展業務,比如山西
AP+後端AC控制器
- 用的可能不是「一般路由器」;
- 「一般路由器」做點硬體改造,性能可能就不一般了;
- 把連接上熱點的每個設備和系統中的用戶關聯上,根據用戶的屬性限制其帶寬,避免佔用過多資源,這也不難。
不就用了mesh和流量分配限制嗎?再怎麼弄也得底子好,再牛的路由器出口帶寬也要大了才行。當然密集部署防止自干擾就是工程具體事情了
推薦閱讀:
※4G LTE 是否會代替 Wi-Fi 乃至影響路由器的市場?
※寬頻運營商將用戶IP換成內網IP是否合理?
※計算機網路中的路由器與家裡用的路由器是一個概念么?
※怎樣解決電腦顯示wifi受限,或者網速很慢,電腦是win8.1的thinkpad T450s?
※如今家用 802.11 ac 路由的區域網傳輸實際速率能有多少?