【技术贴】大型发布会现场的WiFi网络应该如何搭建?
WiFi网络的部署要远远比一般人想象的复杂,不是说放上几十个AP带宽就自动增加几十倍,恰恰相反,简单放几十个AP带宽会由于AP之间的竞争而 迅速使带宽下降为几乎不可用。实际上这个问题完全可以写一本书了,此处只有挂一漏万,简明扼要地讲个大概。对于大型活动做WiFi的规划,要按照这几步来 做:
情况调查:首先从主办方取得场地大小和人数、分布,包括场地地图。对于网络的规模和部署有个大概的估计。
一般来讲要为每个人规划至少1个客户端设备,以往经验值可以按0.5个客户端来规划,由于智能手机和平板的普及,未来估计要往1.5~2个客户端靠拢了。
手机和笔记本或者平板电脑有可能同时在上网。
带宽估计:发
布会要保证参与者能正常使用比较轻量级的互联网应用,最基本每个设备要分配500kbps的可用带宽。在这个基础上要考虑大型活动的特点。如果是新闻发布
会,那么会有很多人上传视频,带宽分配需要重新考虑,每个人至少有一个设备应保证1Mbps带宽。如果是小组讨论会,那么带宽需求就会小得多。下图是一些
典型应用通常需要的带宽。
根据如上两点可以算出每个区域的带宽需求,下一步就是AP规划。
虽然11g号称54Mbps带宽,实际可用的最多只有25Mbps,也就是说最多能保证50个设备同时浏览网页(在这个情况下由于客户端相互竞争,用户体
验已经非常糟糕了,一般打个对折)。11n对于大部分手机只能保证35Mbps,对于笔记本电脑等支持MIMO的可以保证到70Mbps甚至更高。按照这
个原则相应地在图上标出每个AP应该覆盖的区域。为了保证通信质量,为了保证比较好的体验,实际上应该控制每个AP接入的设备不超过刚才计算出的数目的一
半。
下一步就是分配信道。
由于国内只能用2.4GHz的频段,这个频段虽然号称有11个信道(有的国家有13个),实际上只有1,6,11三个互相不重叠的信道可以用。把这三个信
道尽可能互不重叠地在上图中覆盖起来(见上图)。有时候如果无法做到不重叠地覆盖,那么还要考虑用扇区天线把覆盖区域细分成几个扇区。
信道分配完成后就要实地部署无线网络了
(实际上在上述理论工作之前就应该做实地勘探,考虑墙壁和各种反射物的影响,此处为了简化略去)。部署时应该考虑用高增益天线,但是降低每个AP的发射功
率,让其覆盖区域基本与规划的区域吻合。注意这里功率不是越大越好,应该让每个AP只覆盖规划好的区域,别越俎代庖。部署时可能需要用一些现场测量工具对
于部署的效果进行评价,防止由于多径干扰出现死角。下图就是用11g部署和11n网络部署后整片区域的差异。红色区域表示覆盖不理想的情况,可以看出
11n网络对于多径干扰抑制非常好。再过几年尽量就不要考虑兼容问题,部署时不要开启11g模式了。目前看起来还是需要通过11g接入点自身功率和天线调
整,甚至增加额外接入点来弥补。
·有线网络规划部署:每个11g的AP应该接入至少百兆上行口,11n的AP应该接入千兆上行口。最后出口也要保证足够上下行带宽,上行传现场资料,下行供大家无聊或者需要查相关资料用,也要按上面第二步计算的总结果的按一定比例保留(取决于活动性质)。若是国内还要考虑多个运营商的出口。
·SSID的分配:实际上除了少数情况用户实现已经分配好座位,大部分情况没有办法把用户固定在某个AP上,所以更常见的做法是所有AP设置同一个SSID。这里实际上涉及到瘦AP和AP控制器的管理问题,由于各家方案都不相同,就不细数了。
·用户认证和带宽控制:为了防止恶意蹭网,最好能对用户做基本的认证,比如凭入场券领取账号名和密码。同时对于每个账号要限制带宽使用,这也会涉及到用户认证和带宽管理,通常需要额外的服务器来处理。
·拒绝弱信号客户端接入:
谢谢@魏冰然和@曹梦迪,通过和他们互动我觉得这点也非常重要,所以单独补充一下。通过AP测量到的客户端信号强度给客户端分配合适的AP,如果某个AP
能接收到客户端信号,但是强度太弱不足以支持某个门限速率,就拒绝客户端从这个AP的接入,防止这个猪一样的队友占有过多带宽(他传1bit时间你能传
54bit!),用最低速率把整个AP性能拉低。
至此一个较简单的WiFi网络才部署完毕。你给的链接找不到原文,我只能根据新闻说有3000人到场,猜测主办方低估了参会者带宽需求,原因无非是
·AP数目不足(应该100个左右,至少50个)
·AP规划不合理(太多包碰撞)
·或者AP崩溃(每个AP接入用户太多)
·或者AP控制器崩溃(无法同时响应这么多AP接入/断开请求)
·或者认证服务器崩溃(无法同时认证这么多用户)
·或者出口带宽太窄(按我的估计需要至少300MB上行,300MB下行)
·管理混乱(没有控制每个客户端设备流量)。
超级碗的主办方需要对付73208个用户,安排了700多个个接入点,能够同时支持30000个连接(比例低一点儿,这么热烈的比赛,用户花在看手机上的时间应该比新闻发布会少得多)。
美国人的课堂也很可怕,清一水的苹果笔记本,还不包括他们包包里的平板和手机!
【技术贴】大型发布会现场的WiFi网络应该如何搭建?的更多相关文章
- 大型发布会现场的 Wi-Fi 应该如何搭建(密集人群部署wifi抗干扰)?
原文连接: http://www.zhihu.com/question/20890194 WiFi网络的部署要远远比一般人想象的复杂,不是说放上几十个AP带宽就自动增加几十倍,恰恰相反,简单放几十个A ...
- 如何使用Reaver破解Wi-Fi网络的WPA密码
via: http://lifehacker.com/5873407/how-to-crack-a-wi+fi-networks-wpa-password-with-reaver 译者:Mr小眼儿 本 ...
- 主机WIFI网络环境下,Linux虚拟机网络设置
在主机使用WIFI网络环境下,怎么样进行虚拟机静态ip设置和连接互联网呢,原理什么太麻烦,另类的网络共享而已: 1.其实简单将网络连接模式设置成NAT模式即可. 2.虚拟网络编辑器依旧是桥接模式,选择 ...
- 九、Android学习第八天——广播机制与WIFI网络操作(转)
(转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 九.Android学习第八天——广播机制与WIFI网络操作 今天熟悉了An ...
- 如何在 Arch Linux 的终端里设定 WiFi 网络
如果你使用的是其他 Linux 发行版 而不是 Arch CLI,那么可能会不习惯在终端里设置 WiFi.尽管整个过程有点简单,不过我还是要讲一下.在这篇文章里,我将带领新手们通过一步步的设置向导,把 ...
- Android监听WIFI网络的变化并且获得当前信号强度
MainActivity如下: package cc.testwifi; import android.os.Bundle; import android.app.Activity; /** * De ...
- android 中获取网络状态、判断3G、2G、wifi网络、判断wifi是否打开、获取本机地址、获取本机串号IMEI整理
代码如下:package com.android.xym; import java.io.IOException; import java.net.HttpURLConnection; import ...
- WiFi网络WPA2 KRACK漏洞分析报告
作者:东帆@阿里安全技术平台团队 -------- 0x00 漏洞概述 安全研究员Mathy Vanhoef发现的WPA2协议的KRA(Key Reinstallation Attacks)漏洞, ...
- 在 iOS 上通过 802.11k、802.11r 和 802.11v 实现 Wi-Fi 网络漫游
原文: https://support.apple.com/zh-cn/HT202628 了解 iOS 如何使用 Wi-Fi 网络标准提升客户端漫游性能. iOS 支持在企业级 Wi-Fi 网络上 ...
随机推荐
- MySQL基础(非常全)
MySQL基础 一.MySQL概述 1.什么是数据库 ? 答:数据的仓库,如:在ATM的示例中我们创建了一个 db 目录,称其为数据库 2.什么是 MySQL.Oracle.SQLite.Access ...
- 解决jQuery多个版本,与其他js库冲突方法
jQuery多个版本或和其他js库冲突主要是常用的$符号的问题,这个问题 jquery早早就有给我们预留处理方法了,下面一起来看看解决办法. 1.同一页面jQuery多个版本或冲突解决方法. < ...
- SQLite浅析
对于iOS工程师有一道常考的面试题,即iOS数据存储的方式 标答如下: Plist(NSArray\NSDictionary) Preference (偏好设置\NSUserDefaults) NSC ...
- scrollWidth,clientWidth,offsetWidth的区别
通过一个demo测试这三个属性的差别. 说明: scrollWidth:对象的实际内容的宽度,不包边线宽度,会随对象中内容超过可视区后而变大. clientWidth:对象内容的可视区的宽度,不包 ...
- Java中的Atomic包
Atomic包的作用 方便程序员在多线程环境下,无锁的进行原子操作 Atomic包核心 Atomic包里的类基本都是使用Unsafe实现的包装类,核心操作是CAS原子操作: 关于CAS compare ...
- winform(四)——简单计算器制作
效果图: 代码区: using System; using System.Collections.Generic; using System.ComponentModel; using System. ...
- JavaScript:内存泄露、性能调优
1.在进行JS内存泄露检查之前,先要了解JS的内存管理: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Memory_Manageme ...
- The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path。问题
JSP页面顶端出现“红色”的报错信息:The superclass "javax.servlet.http.HttpServlet" was not found on the Ja ...
- 标题栏Menu
标题栏menu就是指下图中红框里面的菜单按钮. 标题栏上所有的按钮或者其他元素都定义在xml文件里面,这些文件资源称为menu resource.要在标题栏添加按钮,需要在项目的/res/menu/路 ...
- ELF Format 笔记(十一)—— 程序头结构
ilocker:关注 Android 安全(新手) QQ: 2597294287 程序头表 (program header table) 是一个结构体数组,数组中的每个结构体元素是一个程序头 (pro ...