简洁版本
- 从服务器下载 IPv4:快速地
- IPv4 上传至服务器:快速地
- 从服务器下载 IPv6:快速地
- IPv6 上传至服务器:慢的
完整版
我正在将文件从 GBe 桌面复制到 GBe 服务器。复制过程按可怕地慢的:
- 23kB/秒
- 即 0.2 Mbps
- 1% 的 GBe
但是如果我将文件复制到虚拟机托管里面同一 GBe 服务器,复制正常进行(512 Mbps = GBe 的 50%):
我心想,“Windows Server 2012 可能正在做什么,虚拟的Windows Server 2003 不是吗?"
关于什么...
- 这不可能是布线问题,因为两次传输都通过相同的电缆、相同的交换机进行。
- 这不可能是驱动器速度问题,因为两个文件副本的目标最终都位于同一驱动器(存储空间奇偶校验驱动器)上。
- 这不可能是驱动器写入速度问题,因为我可以在目标驱动器上以全速(111 MB/s = 888 Mbps)本地复制文件。
- 这不是网络速度,因为我可以下载以 994 Mbps 的速度从服务器传输。
当我对两台服务器进行 ping 操作时,我意识到我正在通信:
- 老的服务器结束IPv4
- 新的服务器结束IPv6
这让我面临最后且令人沮丧的考验:
- 通过 IPv6 从服务器下载
- 并通过 IPv4 上传回同一服务器
而且速度很快:
Desktop \\corsair (IPv6 identity)
+----------+ +--------------------------------+
| | 994Mbps | |
| |<──────────| |
| | | |
| | 0.2Mbps | |
| |──────────>| |
| | | |
| ┌─|<──────────| |
| │ | ┇ ┇
| │ | |\\192.168.1.245 (IPv4 Identity) |
| │ | 504Mbps | |
| └─|──────────>| |
| | | |
+----------+ +--------------------------------+
Windows Server 2012 做了什么导致它失败可怕地接收 IPv6 数据包?
笔记:我本来想尝试通过 IPv6 上传到虚拟机内部,但 Windows XP/Server 2003 不支持文件共享通过 IPv6(无法解析 NetBIOS 名称)。
机器
桌面:Windows 7 64位
IPv6 MTU:1472
IPv4 MTU:1472服务器:Windows 服务器 2012
IPv6 MTU:1472
IPv4 MTU:1472
奖励:客户端和服务器 1472 上的 MTU 设置:
>netsh interface ipv6 show subinterfaces
MTU MediaSenseState Bytes In Bytes Out Interface
------ --------------- --------- --------- -------------
1472 1 11739088006 581016212 Local Area Connection
问题
- 为什么上传 IPv6 慢吗?
- 为什么下载IPv6不慢吗?
- 为什么IPv4 不慢吗?
- 必须调整哪些设置才能修复此问题?
更新
一年多过去了,问题仍然没有解决。今天我将我的桌面切换回备份到网络服务器。几个小时后,备份仍在进行中。我记得 Windows Server 2012 在尝试向其发送 IPv6 数据包时速度很慢: