几乎所有房屋都配有 WiFi,人们通过不同的设备连接 WiFi。笔记本电脑、PC、智能手机,甚至物联网解决方案也即将问世。
我有一个非常基本的需求。我想知道哪个设备正在消耗 WiFi 的带宽,因为其他设备的速度和连接性都很糟糕。
但我找不到可以做到这一点的软件。我的意思是,我不是网络专业人士,但这似乎是一个非常普遍的需求。找出网络连接缓慢的原因的第一步是找出是什么在消耗它。我说得对吗?
我们是否有一个应用程序可以轻松找出连接的设备及其使用情况和流量?
答案1
您的前提是错误的(即这不是一个非常基本的需求),这意味着这些信息出奇地难以获得。大多数家庭用户级路由器都没有办法获取它。
如果你有支持 DD-WRT 或类似软件的路由器,你可以用这个软件刷新你的路由器,然后使用软件 adon 来监控每个 IP 的数据——可能山药
答案2
我知道这个答案似乎与您的要求相差甚远,但请耐心听我说完。您需要消除的第一个可能性是缓冲区膨胀。我来解释一下。
在大多数家庭中,Wi-Fi 不常用于 LAN 到 LAN 的流量,而主要用于互联网流量。因此,当人们说家里的 Wi-Fi 用的人越多,网速就越慢时,他们实际上的意思是,用的人越多,上网的速度就越慢。
典型家庭互联网流量中可能的拥塞点不是您的 Wi-Fi 通话时间,更可能是您的宽带链路。有些人误以为,当网络链路拥塞时,延迟(延迟、ping 往返时间等)增加是自然结果。但事实并非如此。如果在链路拥塞时延迟激增,则表明您的一个或多个网络设备(调制解调器/网关/路由器/AP)存在一个众所周知的漏洞,称为缓冲区膨胀。
缓冲区膨胀是指网络设备在处理拥塞时,只是缓冲所有内容,并让缓冲数据包的积压越来越长,而不会丢弃任何数据包。旧式路由器不会这样做。在互联网早期,RAM 更昂贵,因此路由器没有足够的 RAM 来缓冲大量数据包,因此当发生拥塞时,它们很快就会耗尽缓冲区空间并开始丢弃数据包。TCP 的拥塞控制算法会检测到丢弃的数据包,并以此作为触发拥塞控制算法启动的触发器。但现在 RAM 很便宜,现代路由器可以缓冲大量数据包,在这样做时,它们会意外隐藏正在发生拥塞的事实,因此 TCP 拥塞控制永远不会启动。这些臃肿的缓冲区队列所做的就是增加网络延迟,使网络感觉非常慢。
因此,每当人们感觉家里的网络很慢时,他们需要做的第一件事就是运行一个工具,例如dslreports.com/speedtest它提供缓冲区膨胀延迟等级。当您注意到网络速度很慢时,请运行它。如果您的缓冲区膨胀等级很差,那么请先解决缓冲区膨胀问题,然后再试图指责某个用户、设备或进程占用了带宽。通常不需要使用 QoS(或训斥家庭成员)来惩罚高带宽流量。首先修复缓冲区膨胀。
解决缓冲区膨胀问题的一种方法是启用缓冲区膨胀感知“智能队列管理”(SQM) 算法,例如网络前端路由器上的 FQ-CoDel。如果您的路由器可以运行任何知名的售后开源 Linux 路由器固件发行版,例如 LEDE、OpenWrt 或 DD-WRT,您可以按照在线说明进行操作。这些说明还将告诉您如何调整路由器的流量整形功能,以使路由器成为网络的轻微瓶颈。通过使缓冲区膨胀感知路由器成为轻微瓶颈,它将允许 TCP 拥塞控制在网络上的任何其他机器发生缓冲区膨胀之前启动。
如果您不想摆弄售后固件发行版,您可以购买一站式缓冲区膨胀智能路由器解决方案,例如 evenroute.com 的 IQrouter。我自己没有用过它,所以我不能保证它的效果,但他们专门宣传它可以以我上面描述的方式解决缓冲区膨胀问题。
如果事实证明你确实没有缓冲区膨胀问题并且你的网络上确实发生了其他事情,我给你的最佳建议是记住,Wi-Fi 上的稀缺资源是播出时间,而不是带宽。根据您的 AP 和客户端设备支持的 Wi-Fi 类型,以及给定客户端与 AP 的距离,您网络上的某些 Wi-Fi 设备使用的空中时间效率可能比其他设备高出 1733 倍。因此,最先进的设备可以发送每秒千兆位的流量,但使用的空中时间仍然少于距离 AP 较远、仍使用旧 1Mbps 数据速率的旧设备。因此,如果您看带宽而不是空中时间,您会倾向于惩罚每秒千兆位的人,而实际上 1Mbps 的人才是消耗不合理空中时间的人。因此,请务必记住将给定设备的带宽使用量除以其平均 PHY 速率以获得空中时间,并比较空中时间使用量,而不是设备之间的带宽。