调整TCP缓冲区大小提升传输效率
家里Wi-Fi看视频老是卡?可能是TCP缓冲区没设对。默认情况下,系统给网络数据预留的缓存偏小,尤其在千兆宽带环境下容易成为瓶颈。可以手动调大接收和发送缓冲区,比如在Linux类路由系统中修改net.ipv4.tcp_rmem和tcp_wmem参数。
<code>net.ipv4.tcp_rmem = 4096 87380 16777216</code>
<code>net.ipv4.tcp_wmem = 4096 65536 16777216</code>这组数值分别代表最小、默认和最大缓冲尺寸。把上限提到16MB后,长距离大文件传输会更稳,视频加载也更快。
启用TCP快速打开减少延迟
网页打开慢,不一定是因为带宽不够,可能只是握手过程太啰嗦。开启TCP Fast Open(TFO)能让浏览器在第一次发请求时就带上数据,省去一次往返等待。OpenWRT这类开源固件支持通过sysctl开启:
<code>net.ipv4.tcp_fastopen = 3</code>值设为3表示同时允许作为客户端和服务端使用TFO。实测访问高频网站如购物平台或在线办公系统,首屏时间能缩短近20%。
合理设置MTU避免分片损耗
很多人忽略MTU设置,结果导致游戏掉线或者视频通话卡顿。如果光猫用了PPPoE拨号,建议将路由出口MTU从默认1500改为1492,否则数据包太大被强制拆分,反而增加出错概率。测试方法很简单,在电脑上用ping命令加-f标志:
<code>ping -f -l 1460 www.baidu.com</code>若提示“需要拆分”,说明当前MTU偏高。逐步降低测试包大小直到不触发拆分,再加28字节头信息就是合适的MTU值。
关闭无用协议减轻CPU负担
有些老设备还在广播NetBIOS或LLMNR,不仅占带宽还可能引发内网风暴。检查路由日志发现大量来自机顶盒或打印机的多播请求时,可以直接在防火墙规则里封禁对应端口。例如屏蔽5355端口的LLMNR流量:
<code>iptables -I INPUT -p udp --dport 5355 -j DROP</code>一台运行三年以上的家用路由器,清理掉这些冗余协议后,CPU占用常能下降10%以上,连带着WiFi信号也更稳定。
利用ECN改善拥塞控制
你家宽带高峰期像“堵车”?试试开启显式拥塞通知(ECN)。它能让路由器在数据拥堵前打个标记,而不是直接丢包重传。在支持的设备上启用:
<code>net.ipv4.tcp_ecn = 1</code>开启后手机刷短视频时切换清晰度更顺滑,直播弹幕几乎不会堆积延迟。注意部分老旧ISP节点不兼容,若发现网页加载异常可临时关闭验证。