查看文章 |
XP打开共享时异常缓慢
2008-01-17 22:00
A: 客户端是XP,访问某些主机的共享时,异常缓慢,具体表现为"start \\<ip>\"列出 目标主机所有共享时,长达30秒出不来任何信息,但"start \\<ip>\<share name>" 则很快。已经文件夹选项中清除"自动搜索网络文件夹和打印机"。 用smbclient访问同一台Server,无此缓慢现象。 D: lyx@nsfocus 2007-06-28 16:00 用Wireshark抓包观察,发现"start \\<ip>\"之后Client试图访问Server的135/TCP 口,而Server上PFW禁止135/TCP的入连接,缺省行为是扔掉SYN包而不是RST对方,于 是Client在那傻等TCP连接超时,这个超时一般为75秒。 在Server端的PFW上允许135/TCP的入连接,前述缓慢现象消失。再次抓包观察,发现 Client访问Server的135/TCP试图获取"338cd001-2244-31f1-aaaa-900038001003/1.0" RPC服务的注册信息,这个接口对应远程注册表服务。为什么访问共享时想顺带着访 问远程注册表,原因不明。 D: scz@nsfocus 2007-06-28 19:00 在Server端上开启远程注册表服务,确保Client能访问到该服务。抓包观察,发现在 访问HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SchedulingAgent。 执行"start \\<ip>\"成功后,不但出现了常规共享目录,还出现了"任务计划"。停 止远程注册表服务,则不会出现"任务计划"。 XP Client试图访问Server端远程注册表服务,以了解远端的"任务计划"。Client尝 试访问winreg命名管道,当远程注册表服务停用时Server端没有该命名管道,此次尝 试失败。Client假设远程注册表服务开启但未采用ncacn_np协议序列,而是采用其它 协议序列,比如ncacn_ip_tcp、ncadg_ip_udp,于是通过135/TCP访问EPM接口,试图 获取相关信息。如果因某种原因,135/TCP口没有立即响应SYN+ACK或RST包,就会使 Client陷入75秒的TCP连接超时。这就是前述缓慢现象的最终原因。 访问winreg命名管道时用的是"NT Create AndX (0xa2)",这个走的是SMB会话,失败 过程很快。访问135/TCP时就是标准的TCP连接了,超时很长。 在Server端做配置可以解决特定的Server端问题。如果能在Client端做配置,使资源 管理器访问远程共享时不要顺带去了解远端的"任务计划",就可以一劳永逸地解决前 述缓慢现象。 根据前面的分析在搜索引擎中搜索"任务计划 网络共享",很快找到了最终解决方案。 -------------------------------------------------------------------------- Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer \RemoteComputer\NameSpace] [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer \RemoteComputer\NameSpace\{2227A280-3AEA-1069-A2DE-08002B30309D}] @="Printers" [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer \RemoteComputer\NameSpace\{D6277990-4C6A-11CF-8D87-00AA0060F5BF}] @="Scheduled Tasks" -------------------------------------------------------------------------- "Printers"表示列出远程共享打印机,"Scheduled Tasks"表示列出远程共享任务计 划。将下述内容存成.reg文件,双击导入注册表: -------------------------------------------------------------------------- Windows Registry Editor Version 5.00 [-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer \RemoteComputer\NameSpace\{2227A280-3AEA-1069-A2DE-08002B30309D}] 这样操作不会影响对远程共享打印机的使用。重启OS使之生效,前述缓慢现象消失。 |
最近读者: