本文参考 High Performance Browser Networking,获取更多详细内容请查看原文。
无线网络现象
无线网络的效率一直是技术界讨论的热门话题,特别是在第六章中探讨无线网络的性能时。WiFi技术利用了免许可的ISM频段,让任何人都能轻易部署这项技术,所以快速成为了最常用的无线标准之一。
💡 WiFi商标: “WiFi”这个名字实际上是WiFi联盟的注册商标,该联盟致力于推动无线局域网技术的发展,同时确保设备之间的互操作性。经认证的设备可以使用WiFiname和徽标,而实际上,这一术语通常也被用来指代所有遵循IEEE 802.11标准的产品。
1997年,最初的802.11协议被制定,实际上就是对以太网标准(IEEE 802.3)在无线环境中的适应。而直到1999年802.11b标准的发布,WiFi设备市场才真正开始走上了快速发展的道路。这种技术的优势在于它的易用性和灵活性,尤其是在2.4 GHz ISM频段的运行,使得任何人都能很方便地为自己的局域网提供无线扩展。如今,绝大多数的新型台式机、笔记本电脑、平板电脑、智能手机以及几乎所有智能设备都支持WiFi连接。
从有线到无线的飞跃
802.11无线标准是基于以太网(802.3)的改良和扩大而创造的。虽然以太网常被称作局域网的标准,而802.11系列则被称作无线局域网(WLAN)。对于技术爱好者而言,值得注意的是,以太网的构思很大程度上受到70年代开发的ALOHAnet协议的启示,ALOHAnet是在夏威夷大学推出的第一种无线网络技术。
这一区分的重要性在于这三者(ALOHAnet、以太网、WiFi)在处理通信时如何管理共享资源。无论是以太网的有线方式还是WiFi的无线功能,它们都将共享的传输媒介视作”随机接入”通道,这意味着并没有中心控制来决定谁可以在什么时间点上传输数据。相反,每个设备都需要自行判断,以便协调工作,确保良好的共享性能。
🔍 CSMA原理: 以太网通过概率性载波监听多址(CSMA)协议来管理数据传输。这种方法可简化为”先听后说”的原则:确认频道是否繁忙。如果频道占用,则需等待到空闲时再发送。当频道空闲,可以立即发送数据。
当然,数据的传播是有时间延迟的,因此冲突仍然可能发生。为了解决这个问题,以太网还添加了冲突检测(CSMA/CD)机制,一旦发生冲突,所有数据发送者将立即停止发送,同时随机等待一段时间再继续尝试。
WiFi则遵循稍有不同的策略,由于无线信号的特性,它在发送过程中无法监测冲突。因此,WiFi采用冲突避免机制(CSMA/CA),在此机制下,发送方只有在检测到信道空闲时才会发送数据,同时在消息成功传输后等待接收者的确认回应。
尽管细节众多,归根结底就是这些技术共同塑造了以太网和无线网络如何管理共享媒介的方式。在有线网络中,媒介是物理连接的电缆,而在无线网络中则是空气中的无线电波。
在实际应用中,概率访问模型在负载较低时可得较好效果。虽然不在此赘述复杂的数学原理,但可以肯定的是,为了获取理想状态下的信道效率,信道的负载应控制在10%以下。如果信道负载过高,重叠的访问将导致冲突增加,进而影响整体网络性能的稳定性。
如果你曾在高负载的无线网络环境中体验过,比如大型会议场馆中,可能观察到网络性能不稳定的现象,概率调度方式往往是影响的重要因素之一。
WiFi标准的演变与技术
802.11b标准使WiFi进入了大众生活,但随着技术的发展,IEEE 802标准委员会积极发布更高性能的协议,以满足不断增长的需求。新标准具有更高的吞吐量、更优的调制技术以及多流传输功能,推动了无线网络不断向前发展(见表6-1)。
802.11协议 | 发布 | 频率(GHz) | 带宽(MHz) | 每流数据速率(Mbit/s) | 最大MIMO流 |
---|---|---|---|---|---|
b | 1999年 | 1、2、5.5、11 | - | - | - |
g | 2003年6月 | 2.4 | 20 | 6-54 | 1 |
n | 2009年10月 | 2.4、5 | 20、40 | 7.2-150 | 4 |
ac | ~2014年 | 5 | 20、40、80、160 | 高达866.7 | 8 |
如今,802.11b和802.11g标准仍然是最普及的技术,它们为空间有限的2.4 GHz ISM频段提供支持,能满足一般用户需求。
那么,对于未来无线网络性能应该如何提升呢?802.11n与即将到来的802.11ac标准将带宽从每信道20 MHz提升至40 MHz,利用更先进的调制技术,并添加多路信号传送技术(MIMO),这些改进在理想情况下将带来更理想的吞吐量表现。
WiFi性能优化和测量
在此,我们对“理想条件”的概念应保持谨慎的态度。WiFi的广泛应用伴随着新的挑战:频繁的区间和邻近干扰。由于无线网络缺乏中央调度机制,造成每个客户端的带宽或延迟无法得到保证。
无论是无线多媒体(WMM)扩展也好,还是路由器对于服务质量(QoS)策略的设定,用户仍无法有效控制周围其他WiFi网络带来的流量影响。WiFi的高效部署让其广泛应用,但也导致了许多性能问题。在任何人流密集的都市或办公区域,通常会发现数十个重叠的WiFi网络。
此时,2.4 GHz频段的无线电信道提供了三个不重叠的20 MHz信道:1、6和11,而且不同国家对于信道使用的规定也不完全一致。当周边存在多个WiFi网络时,它们必然在同一频段内竞争带宽。
此时的802.11g客户端和路由器虽然理论上能达到54 Mbps,但一旦邻居们也在这个频道上传输HD视频,往往会导致你的带宽大幅下降,甚至糟糕到无法使用。接入点在这种情况下并不能发挥很好的作用,这实际上是其设计的特性。
而延迟表现则通常也缺乏保障。在盛行多个重叠网络的环境中,你会发现高延迟的现象,第一跳的延迟可能上下波动很大。
但是,如果你是早期使用者,机会在于开放的802.11n和802.11ac技术,它们允许使用相对宽广的5 GHz频段。在许多情况下,这片频谱还是相对干净的。双频路由器则兼顾了与传统2.4 GHz设备的兼容性,同时提升了对5 GHz网络的性能表现。
综上所述,WiFi的性能总结为:
- WiFi未提供带宽或延迟保障。
- WiFi会根据信噪比变化带宽输出。
- WiFi发射功率通常限制在200 mW。
- 2.4 GHz与新推5 GHz频段的频谱数量有限。
- 接入点的信道存在重叠。
- 各接入点都在争抢同一个无线电信道。
WiFi的性能因地域、标准、用户设备及周围环境的不同而有所差别。若处于相对隔离的环境,也许会获取较高的带宽和低延迟。但一旦参与到密集的网络环境中,延迟和带宽的可变性会显著增加。
WiFi网络中的数据包丢失
WiFi的信号调度机制可能会导致多个设备间的干扰,但这种情况并不总是直接导致TCP数据包丢失率增高。WiFi协议内置的重传和纠错机制使得从上层网络堆栈的应用看不到无线的冲突。
尽管TCP数据包丢失是WiFi传输中面临的挑战之一,但由于无线的特性,通常即使是TCP的数据包丢失率也不会显著高于有线网络。在802.11n引入帧聚合功能之前,WiFi协议在发送一帧数据时需要等待ACK确认,而802.11n使得多个帧的同时更新成为可能。
优化WiFi网络
然而,以上问题可能令WiFi的整体表现显得不佳,然而大部分情况下,它还是”足够好”的,毕竟无无线网络的便利几乎是无可替代的、你现在更可能遇到有线网络的限制,而非无线网络的缺失。
因此值得关注的是,是否可以通过了解和优化WiFi网络,进一步提升应用程序的性能。
利用未计量的带宽
通常情况下,WiFi网络是有线局域网的延伸,而后者又通过DSL、光纤或电缆连接到广域网。对美国普通用户而言,这大约意味着边缘带宽约为8.6 Mbps,总的全球平均值在3.1 Mbps。因此,许多WiFi终端用户的性能往往受限于下游WAN带宽,而非WiFi网络本身——尤其是在”无线天气”良好的时候。
虽然这个观点在很多场景下是对的,但有时并不成立,比如连接3G或4G网络的设备。在这种情况下,未计量的互联网接入可能会呈现出另一种图景。
因此,为了完成大负荷或更新工作的情况下,应鼓励用户使用WiFi进行上传,以确保更大的数据传输效果。许多移动运营商建议利用”Wi-Fi卸载”,明确提示用户切换到WiFi,或利用WiFi进行数据的后台同步。
适应带宽的变化
正如前面提到的,WiFi没有保证任何稳定的带宽或延迟。尽管用户路由器可能设置一些QoS策略来尝试平衡网络中多设备的使用,但无线电接口对QoS的支持有限。而且,不同WiFi网络之间亦显得缺乏协作。
因此,用户在不同的环境和时间段都可能感受到带宽的波动,例如,当进行HD视频播放时,期望获得几兆比特的带宽,很多情况下WiFi标准在正常情况下都能满足这一需求,但实际隐忧在于吞吐量会有大起大落的现象。
根据视频的编码与分辨率,实际的比特速率会受到影响(见表6-3),网络条件的微小变化可能会造成播放的中断或缓冲。
视频分辨率 | 编码 | 视频比特率(Mbit/s) |
---|---|---|
360p | H.264 | 0.4-1 |
480p | H.264 | 1-1.5 |
720p | H.264 | 2-2.9 |
1080p | H.264 | 3-4.3 |
相较于此,虽然带宽未必可预测,但可以借助基于实时监测的自适应流技术进行动态调整,从而尽可能减少不必要的卡顿。
调整对延迟的适应
最终,也正如WiFi无法保证带宽一样,传输延迟也同样无法提前预知。并不是说在理想环境下,几乎零延迟的情况不会发生,但在实际中重叠的WiFi信号将使得延迟变得复杂且多变。
在高流量的环境,这种竞争很可能使得第一个无线跳的延迟从毫秒到十几毫秒不等。在最坏情况下,延迟高达几百毫秒并不少见。