在一个小办公室里面,如果大家(通常是五人)都坐下来打开笔电,一起用同一个AP无线上网,然后就说出标题这句经典名言:『为什么我的Wifi这么慢?』
然后神奇的事情发生了,你什么设定都不要改,就教一半的人插上网路线,问题就消失了。
所以这篇要科普的说,为什么你 人品不好, 无线网路会比有线网路慢。
首先有线网路中通常中间都是透过交换器Switch,它在身上的线如果有两个人同时送封包产生碰撞时,会做储存再送(Store and Forward),所以整体会慢一点点,但不会慢到伤害了办公室内的和气。
但无线网路看似无限,实际上频宽与频谱是固定的,遇到碰撞时用的机制叫做CSMA/CA(Carrier Sense Multiple Access with Collision Avoidance),因此两个users同时使用同一个通道产生碰撞时,抱歉,就撞到了,所以就 对不起,敬个礼 两个都做废,然后大家使用乱数种子进行下一轮碰撞。
CSMA/CA协定主要使用两种方法来「避免」碰撞:
会先检测channel是否有人使用,若channel idle则依照传送讯息的不同而等待相对应的时间,此方法可以减少碰撞的机会。
RTS-CTS handshake
传送讯框前,会先送出一个RTS(Request to Send)讯框,接收端收到RTS讯框后,会间隔SIFS的时间后送出允许传送CTS(Clear to Send)讯框,利用RTS-CTS握手(handshake)程序,确保接下来传送资料时不会被碰撞。
简单的说,就是利用时间换取空间,来「避免」碰撞。
如果今天大家用量都很稀少,空中碰撞不是常态,就可以相安无事。就像在沙漠开碰碰车,想撞到车比自撞还困难。而如果陷入高碰撞的高峰用量,就会变成一发不可收拾的恶梦,做的越慢赚得越多,然后就像今年航运股票就一飞沖天。然后最神奇的事情是,你会看到明明很大的频宽,流量少的可怜,每个人都在不停的等待与自我虐待。
所以前面说最简单的解决方法就是把一些端点流量接回有线网路,无线通讯就乾净了,突然就快了。