通过VPN缓慢文件下载

我们正在通过VPN连接到我们的networking的Windows Server 2003遇到困难。

除了将文件共享下载到本地机器之外,一切似乎都可以正常工作。

本地机器正在运行Windows XP。 远程桌面连接到相同的服务器工作很好。 上传到文件共享也可以工作。 (这是令人惊讶的,因为我们之间的networking实际上对下载的评价高于上传。)

将文件拖放到本地系统时,任何进度栏活动之前都会有大于10秒的延迟。 通过命令提示符下载文件具有相同的特征。 每个文件都要传输延迟,而不是整个连接一次。 我已经尝试ping address -f -l 1472来validation这不是一个“黑洞路由器”的问题http://support.microsoft.com/kb/314825 。 无论是使用映射驱动器还是使用UNCpath,还是通过指定IP地址(而不是主机名)来build立连接,都是相同的延迟。 禁用“通过TCP / IP的NetBIOS”也没有帮助。 registry没有任何高级TCP / IP设置(如MTU)从默认值更改。 我试图减lessregistry中的MTU,也没有帮助。

有任何想法吗? 此外,如果可能,将不胜感激涉及调整本地XP机器configuration而不是LAN / WAN或服务器configuration的解决方法。

嗅探客户端和服务器之间的stream量,看看发生了什么事情。 没有更好的方法来达到一个协议问题的底部,而不是看看电脑之间的对话。

在通过潜在networking运行时,SMB协议是一条完整的 。 我还怀疑,由于Windowsshell程序的实现工件,上传时会更早地看到“进度条”活动,而不是因为数据实际上正在被更快地传输。 我的猜测是每个文件传输都会发生同样的事情。 每个文件的延迟都会给这个结论留下一些不妥。

在过去,我们通过减lessMTU来解决文件传输问题(特别是通过VPN)。 使用MTU阈值附近的数据包大小进行Pingtesting是没有用的; 确实,你排除黑洞,但如果你有一个黑洞,你可能无法通过VPN做任何有用的事情。

我们的问题是专门针对SMB文件传输,我相信由于数据包碎片。 将MTU降至1400-1420的范围显着。 请记住,VPN封装为每个数据包添加了更多的标题(这是一段时间,所以我忘记了具体细节,我今天懒得谷歌它),但1472 + ESP + AH +以太网远远超过1500(假设你使用IPSec / ESP + AH)。 根据我的经验,过度分散不是一个黑色或白色的问题; 只是因为某些testing在某些时候通过并不意味着你可以在以后排除。

由于服务器在这种情况下正在发送数据,因此您可能会看到是否可以在服务器上设置MTU。 这也是所有SMB客户端连接的共同点,所以一旦改变MTU就不需要在所有客户端上设置MTU(因为pathMTU是在端点之间协商的)。

而且,对于那些告诉他跑Wireshark的人 – 你会告诉他要寻找什么? 我不确定这是否是一个“协议错误” – SMB可能会因为潜在的延迟和/或数据包丢失而重置其连接,所以SMB在技术上正在完成其工作(这只是一个脆弱的协议) – 而我我不确定tcpdump / sniffer / wireshark是否会将他们指向一个解决scheme。 我喜欢跟下一个CCNP一样追踪networking对话,但是在错误的手中,手术刀是无用的/危险的。 他已经表示,他不是一个networkingpipe理员…