关闭IPv6或调整IPv6优先级以解决微软模拟飞行更新下载过慢的问题
太长不看:关闭IPv6或许可以解决。如果你平时要用到IPv6,那就在更新之前先禁用IPv6,更新完了再打开;如果开不开IPv6对你来说没区别的话,那永久关闭也不是不可以。当然如果你愿意,下文提到的改注册表的方案也是可用的。
这两天在给微软模拟飞行下载更新的时候,就算挂着网易UU,速度也一直很慢,时常在0.5MB/s~5MB/s之间波动,不论怎么换节点也不能跑出正常的速度。今天经过一顿上网冲浪,发现这个问题的根源,在IPv6。
其实网上针对这个问题已经有一些解决方案了,但内容看下来都一样,不外乎教你怎么关掉IPv6。但我一方面要用到IPv6,另一方面也不想那么粗暴的解决问题,所以又稍微做了点研究,顺便写了个小工具方便其他有这个问题的玩家。 经过一段时间的试用后发现,临时/永久关闭IPv6实际上是最优雅的方案……
起先为了测试,我先禁用了IPv6,然后开启网易UU并开始更新微软模拟飞行,结果很符合预期,下载速度达到了150MB/s,那么可以确定,IPv6就是这个问题的元凶。
解决这个问题的突破点,在微软的这篇文档:为高级用户配置 Windows IPv6 的指南,里面提到我可以设定首选IPv4还是IPv6,于是我就在保留IPv6启动的同时,看了眼注册表里HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters路径下的DisabledComponents这个键,它的值转换成二进制是0000 1000,也就是说,目前我是首选使用IPv6进行连接的。
那么,根据文档中的计算方法,我把第5个位改成了1,也就是改成了0010 1000,然后重启电脑,再挂上加速器并开始更新,这次果然速度也提升到了150MB/s,说明这个修改有效了。
顺便我又到https://test-ipv6.com/测试了一下,结果是你已经有 IPv6 地址了,但你的浏览器不太愿意用,那么可以确定,我现在仍然可以使用IPv6,但默认情况下系统将优先使用IPv4。
考虑到其他玩家可能也有类似的困扰,我顺手写了一个小工具来做这件事,代码开源在GitHub。你们可以到Releases下载我编译好的版本。如果你访问GitHub有困难,也可以到GitEE的发行版中下载,它们是一样的。