原文连接:

http://www.zhihu.com/question/20890194

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下行)
  • 管理混乱(没有控制每个客户端设备流量)。

实际上这个发布会远不是最有挑战的无线接入,真正有挑战的是这个:Super Bowl plans to handle 30,000 Wi-Fi users at once
超级碗的主办方需要对付73208个用户,安排了700多个个接入点,能够同时支持30000个连接(比例低一点儿,这么热烈的比赛,用户花在看手机上的时间应该比新闻发布会少得多)。

美国人的课堂也很可怕,清一水的苹果笔记本,还不包括他们包包里的平板和手机!!!!!(存疑,@胡渣-大叔说是WWDC大会的照片)

大型发布会现场的 Wi-Fi 应该如何搭建(密集人群部署wifi抗干扰)?的更多相关文章

  1. 【技术贴】大型发布会现场的WiFi网络应该如何搭建?

    WiFi网络的部署要远远比一般人想象的复杂,不是说放上几十个AP带宽就自动增加几十倍,恰恰相反,简单放几十个AP带宽会由于AP之间的竞争而 迅速使带宽下降为几乎不可用.实际上这个问题完全可以写一本书了 ...

  2. git 大型灾难现场

    由于某种原因,需要重建git仓库.因此删了所有分支,重建git仓库. 删除整个过程 删除所有分支(除master外) git branch -d {branch_name}  # 删除本地分支 git ...

  3. 大型面试现场:一条update sql执行都经历什么?

    导读 Hi,大家好!我是白日梦!本文是MySQL专题的第 24 篇. 今天我要跟你分享的MySQL话题是:"从一条update sql执行都经历什么开始,发散开一系列的问题,看看你能抗到第几 ...

  4. ForkJoinPool大型图文现场(一阅到底 vs 直接收藏)

    知识回顾 并发工具类我们已经讲了很多,这些工具类的「目标」是让我们只关注任务本身,并且忽视线程间合作细节,简化了并发编程难度的同时,也增加了很多安全性.工具类的对使用者的「目标」虽然一致,但每一个工具 ...

  5. 【大型网站技术实践】初级篇:搭建MySQL主从复制经典架构

    一.业务发展驱动数据发展 随着网站业务的不断发展,用户量的不断增加,数据量成倍地增长,数据库的访问量也呈线性地增长.特别是在用户访问高峰期间,并发访问量突然增大,数据库的负载压力也会增大,如果架构方案 ...

  6. 江西省移动物联网发展战略新闻发布会举行-2017年10月江西IDC排行榜与发展报告

    编者按:当人们在做技术创新时,我们在做“外包产业“:当人们在做制造产业,我们在做”服务产业“:江人们在做AI智能时,我们在做”物联网“崛起,即使有一个落差,但红色热土从不缺少成长激情. 本期摘自上月初 ...

  7. 如何科学地完成一场 AR 发布会?全在这份超细节活动策划 Xmind 里了

    你们在哪个酒店搭的景? 5 月 28 日,网易智慧企业完成了一场实景人物拍摄 + 虚拟舞台渲染的 AR 线上见面会.非常有趣的是,在直播过程中,不止一位观众问我们,“你们是在哪个酒店搭的景?”.看来我 ...

  8. 面试现场:说说char 和 varchar的区别你了解多少?

    Hi,大家好!我是白日梦!本文是MySQL专题的第 26 篇. 下文还是白日梦以自导自演的方式,围绕"说说char 和 varchar的区别你了解多少?"展开本话题.看看你能抗到第 ...

  9. 大型网站的 HTTPS 实践(三)——基于协议和配置的优化

    详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt389 1 前言 上文讲到 HTTPS 对用户访问速度的影响. 本文就为大家介 ...

随机推荐

  1. Hmtl5 <input>中placeholder属性(新属性)

    Hmtl5 <input>中placeholder属性(新属性) 一.定义和用法 placeholder 属性提供可描述输入字段预期值的提示信息(hint). 该提示会在输入字段为空时显示 ...

  2. 网络安全、Web安全、渗透测试之笔经面经总结(一)

    本篇文章总结涉及以下几个方面: 对称加密非对称加密? 什么是同源策略? cookie存在哪里?可以打开吗 xss如何盗取cookie? tcp.udp的区别及tcp三次握手,syn攻击? 证书要考哪些 ...

  3. (探讨贴)POJ 1463 树形DP解法的不正确性

    POJ1463是一个典型的树状DP题. 通常解法如下代码所示: using namespace std; ; ]; int pre[maxn]; int childcnt[maxn]; int n; ...

  4. c++ 判断容器是否为空

    #include <iostream> #include <vector> #include <string> using namespace std; int m ...

  5. BeginInit与EndInit的实践总结

    在项目中,遇到这种情况,总结随便如下: 初始化时:添加操作,BeginInit{flag=true}  警情是一条条加入的,全部都加入后,图表再一次性生成   EndInit{flag=false} ...

  6. Rails 5 Test Prescriptions(everday Rspectest作者推荐) 目录 1-3章

    总文档连接: RSpec.info/documentation/ 如何使用TDD 和 自动化测试来建立一个Rails app. TDD让你用测试来探索代码的设计.你将学习可利用的工具,并学习用什么工具 ...

  7. UVA-307 Sticks (DFS+剪枝)

    题目大意:用n根长度未必相等的木棒匹配出最多数量的等长木棒. 题目分析:枚举所有可能的等长木棒的长度,通过DFS的方式逐根匹配,在此过程中要剪枝.先将木棒长度按从大到小排序,也就是说匹配每一根等长木棒 ...

  8. [Python开发工具] Pycharm之快捷键

    [Python开发工具] Pycharm之快捷键 1 全局搜索: Ctrl+Shift+F,不过PyCharm的更强大, 你可以点选左侧某个目录后再按Ctrl+Shift+F, 这样默认会搜索改目录; ...

  9. xtrabackup备份之增量备份(二)

    测试了差不多一周的xtrabackup,本篇主要聊一下xtrabackup的增量备份.我一开始不是很了解,为什么每周都需要做全备份,每天都需要做增量备份,现在想想这个和技术无关.但是有一个新问题,如果 ...

  10. 控制反转(IOC)模式

    控制反转(Inversion of Control):提倡实现松耦合层.组件和类的设计原则,颠倒程序的控制流程.IoC使用分离执行特定问题处理代码的概念: IoC意味着将你设计好的对象交给容器控制,而 ...