更新
好的,我已经尝试了以下答案,但没有任何改变。我已将笔记本电脑中的芯片组识别为 NVIDIA nForce 520。我为 nForce 520 下载了最新的 Vista x64 驱动程序(NVIDIA 还没有针对 Win 7 的该芯片组的任何驱动程序)。我已经尝试安装附带的防火墙软件(认为它可能会干扰 - 它不是)。我已经完全卸载了我的防病毒软件(我正在使用 Avast!),认为它的网络过滤器驱动程序可能会导致问题,但这也没有帮助。
我把我的笔记本电脑带到了我兄弟家,并且能够通过他的 100Mbit 网络以 10 - 12 MB/s 的速度复制文件,所以我认为这不是硬件。
我运行 iperf 得到了一些令人惊讶的结果:
iperf 从笔记本电脑发送到服务器(上传)
> iperf -c naru
------------------------------------------------------------
Client connecting to naru, TCP port 5001
TCP window size: 8.00 KByte (default)
------------------------------------------------------------
[328] local 192.168.7.100 port 8549 connected with 192.168.7.6 port 5001
[ ID] Interval Transfer Bandwidth
[328] 0.0-10.0 sec 162 MBytes 136 Mbits/sec
> iperf -c naru -w 64k
------------------------------------------------------------
Client connecting to naru, TCP port 5001
TCP window size: 64.0 KByte
------------------------------------------------------------
[328] local 192.168.7.100 port 8550 connected with 192.168.7.6 port 5001
[ ID] Interval Transfer Bandwidth
[328] 0.0-10.0 sec 1.06 GBytes 909 Mbits/sec
iperf 从服务器发送到笔记本电脑(下载)
> iperf -c miyuki
------------------------------------------------------------
Client connecting to miyuki, TCP port 5001
TCP window size: 8.00 KByte (default)
------------------------------------------------------------
[256] local 192.168.7.6 port 51871 connected with 192.168.7.100 port 5001
[ ID] Interval Transfer Bandwidth
[256] 0.0-10.1 sec 25.2 MBytes 20.8 Mbits/sec
> iperf -c miyuki -w 64k
------------------------------------------------------------
Client connecting to miyuki, TCP port 5001
TCP window size: 64.0 KByte
------------------------------------------------------------
[256] local 192.168.7.6 port 51872 connected with 192.168.7.100 port 5001
[ ID] Interval Transfer Bandwidth
[256] 0.0-10.0 sec 21.1 MBytes 17.6 Mbits/sec
为了比较,这里是 HTPC 和服务器之间的 iperf 数
Server: Naru, Host: CC (CC sends to Naru)
iperf -c naru: 0.0-10.0 sec 363 MBytes 305 Mbits/sec
iperf -c naru -w 64k: 0.0-10.0 sec 1.06 GBytes 912 Mbits/sec
Server: CC, Host: Naru (Naru sends to CC)
iperf -c cc: 0.0-10.0 sec 322 MBytes 270 Mbits/sec
iperf -c cc -w 64k: 0.0-10.0 sec 1020 MBytes 855 Mbits/sec
使用 Wireshark 观察从服务器到笔记本电脑的传输,可以获取以下大量条目:
(:51aa is the server, :37a1 is the laptop)
No. Time Source Destination Proto Info
37785 27.286240 fe80::3820:2199:1623:37a1 fe80::1569:8500:b24a:51aa TCP [TCP Dup ACK 37753#13] 8360 > microsoft-ds [ACK] Seq=80228 Ack=40489174 Win=64800 Len=0 SLE=40499254 SRE=40517974
37786 27.286258 fe80::3820:2199:1623:37a1 fe80::1569:8500:b24a:51aa TCP [TCP Dup ACK 37753#14] 8360 > microsoft-ds [ACK] Seq=80228 Ack=40489174 Win=64800 Len=0 SLE=40499254 SRE=40519414
37787 27.286277 fe80::3820:2199:1623:37a1 fe80::1569:8500:b24a:51aa TCP [TCP Dup ACK 37753#15] 8360 > microsoft-ds [ACK] Seq=80228 Ack=40489174 Win=64800 Len=0 SLE=40499254 SRE=40520854
37788 27.286295 fe80::3820:2199:1623:37a1 fe80::1569:8500:b24a:51aa TCP [TCP Dup ACK 37753#16] 8360 > microsoft-ds [ACK] Seq=80228 Ack=40489174 Win=64800 Len=0 SLE=40499254 SRE=40522294
37789 27.286313 fe80::3820:2199:1623:37a1 fe80::1569:8500:b24a:51aa TCP [TCP Dup ACK 37753#17] 8360 > microsoft-ds [ACK] Seq=80228 Ack=40489174 Win=64800 Len=0 SLE=40499254 SRE=40523734
37790 27.286332 fe80::3820:2199:1623:37a1 fe80::1569:8500:b24a:51aa TCP [TCP Dup ACK 37753#18] 8360 > microsoft-ds [ACK] Seq=80228 Ack=40489174 Win=64800 Len=0 SLE=40499254 SRE=40525174
37791 27.286351 fe80::3820:2199:1623:37a1 fe80::1569:8500:b24a:51aa TCP [TCP Dup ACK 37753#19] 8360 > microsoft-ds [ACK] Seq=80228 Ack=40489174 Win=64800 Len=0 SLE=40499254 SRE=40526614
37792 27.286370 fe80::1569:8500:b24a:51aa fe80::3820:2199:1623:37a1 TCP [TCP Previous segment lost] [TCP segment of a reassembled PDU]
37793 27.286372 fe80::1569:8500:b24a:51aa fe80::3820:2199:1623:37a1 TCP [TCP segment of a reassembled PDU]
37794 27.286375 fe80::1569:8500:b24a:51aa fe80::3820:2199:1623:37a1 TCP [TCP Fast Retransmission] [TCP segment of a reassembled PDU]
37795 27.286377 fe80::1569:8500:b24a:51aa fe80::3820:2199:1623:37a1 TCP [TCP Out-Of-Order] [TCP segment of a reassembled PDU]
37796 27.286379 fe80::1569:8500:b24a:51aa fe80::3820:2199:1623:37a1 TCP [TCP Out-Of-Order] [TCP segment of a reassembled PDU]
37797 27.286382 fe80::1569:8500:b24a:51aa fe80::3820:2199:1623:37a1 TCP [TCP Out-Of-Order] [TCP segment of a reassembled PDU]
37798 27.286413 fe80::3820:2199:1623:37a1 fe80::1569:8500:b24a:51aa TCP [TCP Dup ACK 37753#20] 8360 > microsoft-ds [ACK] Seq=80228 Ack=40489174 Win=64800 Len=0 SLE=40528054 SRE=40529494 SLE=40499254 SRE=40526614
37799 27.286432 fe80::3820:2199:1623:37a1 fe80::1569:8500:b24a:51aa TCP [TCP Dup ACK 37753#21] 8360 > microsoft-ds [ACK] Seq=80228 Ack=40489174 Win=64800 Len=0 SLE=40528054 SRE=40530934 SLE=40499254 SRE=40526614
在这一点上,我完全不知道接下来要尝试什么。
原始问题
背景
我目前在新安装的 Windows 7 笔记本电脑上遇到问题。这个问题最初是在我安装了 Windows 7 RC 之后发生的。当 Windows Vista 和 Windows 7 Beta 1 安装在这台笔记本电脑上时,我能够以千兆位速度传输,同时将巨型帧打开到 9KB/9014 范围。笔记本电脑之间的两个交换机也支持巨型帧。
当将文件从我的服务器复制到我的笔记本电脑时,它们以蜗牛般的速度运行(通常小于 1 MB/秒),而通过相同交换机的其他设备可以以更高的速度传输(45 - 55 MB/秒)。从笔记本电脑复制到服务器的速度似乎更快,但并不像它应该的那样。
涉及的机器
- Miyuki:有问题的笔记本电脑。Windows 7 x64 RTM。HP Pavilion dv9700 首席技术官。使用 NVIDIA nForce 10/100/1000 Mbps 以太网适配器。(视频为 GeForce 8400M GS)
- Naru:带有文件的服务器。自定义 Windows Server 2008 R2 x64 SP2。使用 D-Link DGE-560T PCI Express 千兆适配器。
- CC:HTPC 在同一个交换机上没有问题。Windows Vista x86 SP2。使用板载 Realtek RTL8168B/8111B PCI-E GBE 适配器。
拍摄这些图像时,巨型帧已全部关闭。
图像
从笔记本电脑开始复制
服务器 -> 笔记本电脑(来源:gibixonline.com)
笔记本电脑 -> 服务器
从服务器启动复制
服务器 -> 笔记本电脑(来源:gibixonline.com)
出乎意料的是,让服务器将文件从笔记本电脑复制到自身会导致我期望的速度。(笔记本电脑 -> 服务器)(来源:gibixonline.com)
我之前说过,同一交换机上的另一台机器没有这个问题。高 DPI 已打开,因为它显示在 HDTV 上。
服务器 -> HTPC (来源:gibixonline.com)
自然地,作为测试,我决定看看我的笔记本电脑和 HTPC 之间的速度是多少。不幸的是,它们正是我所期望的。
HTPC -> 笔记本电脑(来源:gibixonline.com)
最后的笔记
我已经尝试了我能想到的一切。此时甚至巨型帧都已关闭,似乎没有任何影响。我尝试关闭我的防病毒保护以更换我使用的电缆。目前使用的所有电缆都是我制造的 CAT-5e。我尝试从 HTPC 中取出电缆并将其插入我的笔记本电脑,以查看电缆是否有问题。有问题的两个交换机是 D-Link DGS-1216T 和支持巨型帧的“哑”交换机 D-Link DGS-2208。