admin管理员组

文章数量:1565841

2024年3月17日发(作者:)

干扰问题

1.降低物理数据传输率;

降低AP的数据传输速率并不能达到预期的效果。数据包滞空时间变得更长,

这意味着需要花费更多的时间进行接收,因此掉包的几率更大。这反而让他们对

周期性干扰更为敏感。这一解决办法基本上没什么效果,这导致所有共用这一

AP的用户都受到了影响。

2.减少受干扰AP的传输功率;

这需要减少共用同一个AP的设备的数量,这样做可以提高性能。但是降低

了传输功率也会降低信号的接收强度。这就变成了降低数据传输率,同时wifi

覆盖将出现漏洞。这些漏洞需要使用更多的AP进行填补。可以想象,增加AP

的数量将会导致更多的干扰。

3.调整AP的信道分配。

干扰通常都具有间歇性和变化无常的特点,由于可供改变的信道数量有限,

这一技术反而会带来更多的问题。AP改变信道需要连接的客户端断开连接,重

新进行连接。

在设备使用相同的信道或是无线电频率传输和接收wifi信号时,这些设备会

彼此干扰,这种干扰称为通信到干扰。

希望:更强的信号和更少的干扰。

预测wifi系统性能如何的通用单位是信噪比(SNR)。SNR显示了接收信号

的强度与底噪的差值。通常在高SNR的情况下,极少出现误码,吞吐量也较高。

但是随着干扰的出现,还需要考虑信号与干扰和噪声比(SINR)。

SINR是信号与干扰之间的差值。高SINR意味着碰上跟高的数据传输率和更

强的频谱性能。为了取得高SINR值,wifi系统个必须要增强信号增益或是减少

干扰。

/*****************************************************************************/

UDP丢包问题

1.发送频率过高导致丢包

很多人会不理解发送速度过快为什么会产生丢包,原因就是UDP的SendTo

不会造成线程阻塞,也就是说,UDP的SentTo不会像TCP中的SendTo那样,直

到数据完全发送才会return回调用函数,它不保证当执行下一条语句时数据是否

被发送。(SendTo方法是异步的)这样,如果要发送的数据过多或者过大,那么

在缓冲区满的那个瞬间要发送的报文就很有可能被丢失。至于对“过快”的解释,

作者这样说:“A few packets a second are not an issue; hundreds or thousands may

be an issue.”(一秒钟几个数据包不算什么,但是一秒钟成百上千的数据包就不

好办了)。 要解决接收方丢包的问题很简单,首先要保证程序执行后马上开始监

听(如果数据包不确定什么时候发过来的话),其次,要在收到一个数据包后最

短的时间内重新回到监听状态,其间要尽量避免复杂的操作(比较好的解决办法

是使用多线程回调机制)。

2.报文过大丢包

至于报文过大的问题,可以通过控制报文大小来解决,使得每个报文的长度

小于MTU。以太网的MTU通常是1500 bytes,其他一些诸如拨号连接的网络MTU

值为1280 bytes,如果使用speaking这样很难得到MTU的网络,那么最好将报

文长度控制在1280 bytes以下。

3.发送方丢包

发送方丢包:内部缓冲区(internal buffers)已满,并且发送速度过快(即

发送两个报文之间的间隔过短); 接收方丢包:Socket未开始监听; 虽然UDP

的报文长度最大可以达到64 kb,但是当报文过大时,稳定性会大大减弱。这是

因为当报文过大时会被分割,使得每个分割块(翻译可能有误差,原文是

fragmentation)的长度小于MTU,然后分别发送,并在接收方重新组合

(reassemble),但是如果其中一个报文丢失,那么其他已收到的报文都无法返

回给程序,也就无法得到完整的数据了。

本文标签: 干扰数据报文需要信号