Wi-Fi 信号之间是如何防止干扰的?

admin 2024年3月15日19:28:21评论10 views字数 1831阅读6分6秒阅读模式
wi-fi的频段不是很宽,不同的wifi信号之间是如何抗干扰的?wi-fi信号没有像FM那样的有规定什么电台用什么频率的,但是我们任然能够收到不同的wi-fi信号。

Wi-Fi 信号之间是如何防止干扰的?

Wi-Fi防止干扰的方法,就是发言(发射信号)之前,先听是否有人在发言,如果没有,那么再发言。如果每个人都严格遵守这个规则,可极大概率避免发言冲突(同时发射信号)。这个规则的名字就是CSMA/CA
现在,假设有2个用户(Alex与Bob)需要发射信号,他们严格遵守以上的发言规则,发现信道忙,于是都耐心地等待直到信道空闲。
好,信道终于空闲了。于是乎,
Alex将信号发射到信道上去。
Bob也将信号发射到信道上去。
冲突发生了,怎么办?
CSMA/CA规则发现这个bug,于是定义了一个backoff机制。通俗地说,
Alex、Bob在发现信道IDLE时,不能立即发射信号,而是要等待随机选取整数倍的backoff slot。假设
  • Alex选取的整数 = 6,Alex倒计时计数器=6
  • Bob选取的整数= 15,Bob倒计时计数器=15
Alex 计数器开始倒计时,6、5、4、3、2、1、0
与此同时
Bob 计数器同时倒计时,15、14、13、12、11、10、9
当Alex发现计数器=0时,此时检测信道依然空闲IDLE,Alex信号发射出去。
此时的Bob在干嘛?
当Bob的计数器=9时,检测信道忙BUSY,立马将倒数定时器按掉,计数器数字定格在9。
为何信道会忙啊
当然是Alex在发射信号。
通过以上的CSMA/CA Backoff机制可以大概率避免Alex、Bob同时发射信号。
可是,既然Alex、Bob分别独立地、随机地挑选整数值(0-31),万一Alex、Bob挑选的整数相等,都是6,是否就无法避免Alex、Bob同时发射信号?
是的。两者的信号会同时出现在信道里,造成信号冲突。
假设以上冲突情况确实发生,且Alex、Bob的数据接收方无法正确接收数据。自然就无法ACK确认Alex、Bob。
Alex、Bob在ACK定时器结束时,没有收到ACK报文,会意识到自己的数据丢了。于是分别将随机整数的池子double到(0-63),然后再分别挑选随机整数。由于整数的池子双倍,挑选同一个整数的概率缩小1/2
如果再发生类似情况,这个整数池子double的游戏会一直玩下去,冲突的概率不断在缩小1/4、1/8、1/16、1/32.。如果经过连续8轮的重传依然没有将数据成功发射出去,数据被Wi-Fi 的MAC层扔了(放弃),并耐心等待来自上层的数据重传。
如果Alex、Bob的独立的、随机数真的是独立的、随机的,那么经过1-2轮的冲突之后,大概率会重传成功,而不会一直冲突下去。
可是,这个游戏规则的第一轮整数池子位于(0-31)一共32个整数,意味着如果有>32个用户在同时竞争信道,无论他们如何随机挑选整数,总会发生冲突的情况发生。因为总会有至少2个用户挑选相同的整数。
没关系,发生冲突的用户会在失败之后的第二轮在(0-63)之间挑数,随着失败次数的增加,竞争(0-31)池子的用户不断减少,成功的概率在缓慢增大。
此时,用户的直观感受就是网速极其慢,慢的原因固然是因为信号同时传输造成冲突,信号无法成功发送(发送/ACK)。但造成这个信号冲突的本质原因是同时竞争信道的用户数量 > 32。
无线路由器无法限制用户同时竞争信道,但是无线路由器有一个朴素的价值观。
如果将接入(Associated)到无线路由器的用户限制在一个小范围,比如25、32,就可以将同时竞争信道的用户数量牢牢地按死在地板上摩擦。
可是,一个无线路由器可以限制自己的接入用户的数量。却无法限制与自己处于同一个空域信道(co-channel)的其它无线路由器的存在,数量可能1个、也可能2个或更多。以及他们接入的用户数量。
处于同一个channel的用户共同遵守CSMA/CA规则,即同时竞争信道的用户N个。这N个用户可能接入在同一个路由器,也可能是多个路由器。随着N的不断增长,冲突的概率越来越大。一旦用户超出32,冲突概率=100%,成功发射数据的概率=0,彻底内卷!
当用户抱怨网速越来越慢时,并不是网速在变慢,而是慢在内耗上。
解决方案
如果无线路由器工作的channel,没有其它路由器的信道竞争,那么同时竞争信道的只有接入本路由器的用户,这个数量通常为个位数,冲突为小概率事件,网速就会飞起!

原文始发于微信公众号(车小胖谈网络):Wi-Fi 信号之间是如何防止干扰的?

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年3月15日19:28:21
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Wi-Fi 信号之间是如何防止干扰的?http://cn-sec.com/archives/2578485.html

发表评论

匿名网友 填写信息