关闭 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 的发行版中下载,它们是一样的。