提升Wi-Fi速率的方法有哪些
Posted 苏导
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了提升Wi-Fi速率的方法有哪些相关的知识,希望对你有一定的参考价值。
“ 上一篇文章以实例梳理和介绍了Wi-Fi的速率的情况,对比说明了真实速率和宣称速率的差别,这一篇文章将从技术的角度分析实际影响Wi-Fi传输速率的因素,以及对应的优化方法。”
PHY(物理层)速率是一个理论极限速率,在某个时刻或许可以达到,但不可能持续保持该速率,因为要考虑实际使用场景的各种因素,如下对这些造成WiFi速率损失的因素,以及技术或使用上的优化方法进行说明。
01
Wi-Fi速率降低的因素
管理帧发送
-
管理帧发送必须于最低速率发送:需要确保所有版本的协议的WiFi设备能接收到,比如一个很早期的设备,也能够收到并识别该帧,这个最低速率为:
-
-
2.4GHz频带:1 Mbps
-
5GHz频带:6 Mbps
-
半双工
WiFi没有独立的下行频带和上行频带(Ethernet是全双工的,可以同时收和发),所有WiFi设备工作于某个信道,必须按照顺序进行发送和接收。另外发送时还会使用CSMA/CA(载波侦听多路接入/冲突规避)机制,任何一个设备在发送数据之前,都需要有时间消耗在侦听当前的频谱是否可用上。
IFS帧间距
每次WiFi发射前,需要在频谱上有一个空闲的间隙,WiFi有多种不同的IFS,IFS的用途是调节会话流,以及为某些类型的传输提供优先级。
PHY Signaling
无线通信都必须做同步,以获得可靠的帧接收。PHY Preamble(报头,一串bit流)就是用于此功能的。Preamble之后的PLCP Header将下一帧的属性传递给接收方,以便接收方知道该如何处理数据。比如人与人之间进行语音传递,Preamble和PLCP就好像说话者说:“你好,我准备说点什么。我要用20秒的时间说完,而且我会说得很快,所以请听好了”。
MAC Header
MAC层Header用于协商某些支持(或不支持)的特性和功能,这部分并非用户应用想传输的数据,因此是传输开销的一部分。在数据帧中,MAC报头非常小(通常以很高的数据速率传输),几乎不能算作开销。在其他的帧如802.11 Beacon帧中,开销比例相对要大。
Guard Interval
每个802.11符号(modulation)之间,必须有一段quiet period,称为Guard Interval(GI),在无线介质上允许先前的符号“稳定下来”。没有Guard Interval,一个符号可能会干扰先前的符号(Inter-synbol Interference)。Wi-Fi的正常保护间隔设置是800ns,也会看到有400ns,在802.11ax中还会有1600ns, 3200ns,和调制时的编码效率相关。
Acknowledgement(应答)
无线通信本身具有不可靠和有损的特性,许多类型的帧传输都需要确认。Acknowledgement本身就是开销(不传输有用数据),而且它们还需要额外的帧间间隔(即SIFS)。
Fragmentation(分片)
有效Payload较小的帧本身并非开销,开销在于其对无线媒介的低效使用。联盟规范中允许Frame Fragmentation(帧分片)的设计,其目的是将帧变得更小,以便尝试在嘈杂干扰的环境中减少冲突(较小的帧受干扰可能性小)。Frame Fragmentation目前用得很少,因为它增加开销的坏处大于它带来的好处。
Protection Mechanism(保护帧机制)
不兼容的PHY版本之间(如802.11b和802.11g)需要保护帧才能实现共存。保护帧通常在数据传输之前通过RTS/CTS交换或CTS-to-self帧来实现。还可以使用其他类型的保护帧(针对802.11n)。除了使用这些帧交换来进行保护之外,在其他时候(例如存在隐藏终端时),还可能被用来尝试改善整个网络的健康状况。这些保护帧本身是不传输有效用户数据的,过多的使用也会造成用户有效速率降低。
Random Backoff(随机退避)
WiFi为了避免干扰,但又需要让自己还能有机会将数据发射出去,WIFI设计了随机的Backoff机制来使用信道的频谱,需等待WIFI信道满足随机的Backoff时间内保持空闲,再尝试去发送数据。同时该机制也可以协助达成QoS优先次序机制。Random Backoff时间代表了n个"slot",这个Backoff时间内无线信道必须空闲。
Retransmission(重传)
当发送的帧未被预期的接收方正确接收(或未被确认)时,可能需要重传。多次传输同一个帧是明显的开销来源。当帧排队等待重传时,其他开销来源(如Random Backoff、IFS等)也会重复。
Interference(干扰)
干扰可以来自802.11和非802.11的射频干扰。WiFi使用CCA(Clear Channel Assessment)机制来监测当前信道是处于“繁忙”还是“空闲”,当监测到当前信道的干扰大于某个阈值时,就会等待而不发送数据。
终端隐藏
WiFi终端隐藏,如下图所示
当出现WiFi终端隐藏问题时,上图中A和B都有数据发送给AP,即使使用了RTS/CTS保护帧,但是因为距离原因A和B互相无法听到而起不到作用,最终A和B还是会同时发射数据,导致频谱冲突,最终造成A和B发送的丢失和重传。
02
Wi-Fi速率优化的方法
Interference(干扰问题)的解决
从干扰消除的角度处理。
-
非802.11干扰:只能找出干扰源并将其关掉,比如像微波炉等设备
-
WLAN干扰:尽量减少和其他Wi-Fi设备相互的无线介质的冲突,可通过AP位置和信道调整、传输功率设置、不必要的多余Wi-Fi设备关闭等来减小干扰。
控制必要的功能
大多数开销无法消除,如IFS、Random Backoff、PHY signaling和MAC Header。
但有一些减少这些必要功能影响的方法:
-
当STA接收到带有CRC错误的帧时,会产生一个超长帧间空间(EIFS)。尽量减少干扰可以使EIFS更短。
-
802.11b除了在MAC Header和有效Payload上使用低的PHY速率外,为了与802.11b兼容,像802.11g也得使用相当长的PHY Signaling(PHY Preamble和Header),其速率只能保持在和802.11b兼容的较低速率上。这里可行的解决方案是关闭802.11b(一般在路由器设置界面里可关掉)。
-
减少MAC(和PHY)开销的一个简单方法是消除不必要的Beacon流。使用动态用户策略分配,而不是使用单独的ssid来分隔WLAN服务。
减少不必要的广播、组播应用
Wi-Fi BroadCast, MultiCast(广播、组播)以低速率模式传输(通过路由器转发),干扰丢失时不会重传。局域网中大量的这类包会影响整个Wi-Fi空中速率。如果没有实际使用需要,可以限制不必要的广播、组播应用的使用,比较常见的此类应用如下:
-
Apple: Bonjour
-
Cisco: CDP(Cisco Discovery Protocol)
-
SSDP: Simple Service Discovery Protocol
Short Guard Interval
802.11n的short guard interval是400ns,可以提速10%,但是需要避免在高反射率的环境使用(仓库、制造业、工业环境等)。
Frame Aggregation and Block Acknowledgment(帧聚合与块确认技术)
802.11n更好地利用了帧聚合和块确认。早期的WLAN将帧缩小(碎片化)以避免冲突,而现代网络的更高物理速率允许更大的无线帧,这极大地提高了效率。在每个帧中封装更多的上层数据是减少开销的典型例子。如果每个聚合的帧都是独立传输的,那么我们会看到来自IFS、Backoff、PHY信号和MAC报头的开销要高得多。当使用帧聚合时,也会同时使用块确认功能。通过使用ack位图来表示对多个帧的成功接收的统一回应,而不是为每个接收帧发送单独的ack,从而提高了效率。在大多数情况下,启用帧聚合将产生显著的速率改进。如果有配置选项,选择A-MPDU而不是A-MSDU。
Protection Mechanism(保护机制的适时使用)
以前的技术需要更多的时间来处理PHY信号,除了自身处理速度比较慢,传统的WiFi终端还要求效率更高的终端来保护自己的数据传输,从而阻碍整体速率的进一步提升。通过分析保护帧的格式(比如RTS和CTS),会发现它们在MAC层实际上非常小。但是查看一下PHY层的格式,会看到实际的RTS/CTS交换需要较长的时间,这是因为PHY Preamble和PLCP头的耗费,同时还必须考虑一到两个SIFS,这就是启用保护机制的弊端。那么解决方案就是在业务场景允许的情况下摆脱旧的(特别是802.11b和更早的)WiFi终端,如果无法摆脱,那么最好的办法就是使用空中射频资源公平竞争机制,这样可以让更新的技术占据优先级而获得更快的传输效率。不过这种处理方式还是有弊端的,也不能说在任何时候都废弃使用保护功能,例如空间中本身存在着大量的干扰,且对性能造成了明显的影响,那么启用RTS/CTS或CTS-to- self也是有效果的。
Retrie(重试)尽量降低
在出现干扰的情况下,重试一般是网络的主要开销来源。重试通常由干扰引起的接收错误导致,当然也还有许多其他原因。对于重传,最大的弊端是,第一次(失败的)尝试已经耗费了一些时间,第二次尝试需要消耗更长的回退周期,而重传常常同时会导致速率转移(从更高的数据速率切换到更低的数据速率),用于提高可靠性。在空间实际部署网络和校验性能后,应该要确定好重试的基线。重试的目标一般是要少于10%,但也根据应用场景来定,比如哪些业务数据是必须可达要重试的,哪些是允许丢弃的,并且确保用户体验的前提下确定重试率。部署网络之后,且确定了重试目标,那么要通过提高信噪比和减少干扰来减少重试,使其降低到预期目标内。具体的方式可以是适当的调整AP的位置、信道的设置、天线和功率输出设置等。
Data Rate(数据速率)尽量使用高速率模式
数据速率的支持是无线局域网设计中的一个热点问题。前面有稍微讨论802.11b,会让网络工作于低速率,如果必须保留802.11b的WiFi终端,可以考虑禁用对1 Mbps和2 Mbps的支持。当BSS必须使用较低的数据速率时,大量的空中广播时间会被消耗掉,因为所有终端必须“接收”这些低速帧,因此禁用1 Mbps和2 Mbps是非常常见的一种手段。如果不支持802.11b,甚至可以禁用对6 Mbps的支持(或12 Mbps),让12 Mbps(或18 Mbps)成为最低速率。当然在高速率要求的应用中会这样做且做的极端点,但较低的速率还是有利于提高传输可靠性的,所以面向的场景不同,这些方法需要综合考虑再使用。
更多精彩内容请搜索关注“技塑未来”微信公众号。
以上是关于提升Wi-Fi速率的方法有哪些的主要内容,如果未能解决你的问题,请参考以下文章