深入了解SMB协议:实现Linux与Windows的集成
1. Windows 98与Samba的性能问题
Windows 98的资源管理器(可能还有其他程序)在向网络共享发送写入请求时,会错误地设置 “sync” 位。这会导致严重的性能下降,因为Samba会在每次写入后正确地对文件执行fsync()操作。再加上Windows 98资源管理器使用的写入大小非常小(约1.5k),最终结果会变得非常糟糕。
不过,从Samba 1.9.18p10 及以后的版本开始,对Samba进行了修改,默认情况下会忽略这些错误的同步请求。这使得在使用Windows 98资源管理器时性能有了显著提升。如果需要恢复原来较慢的行为,可以使用 “strict sync” 选项。
2. “your server software is being unfriendly” 错误解析
当使用smbclient尝试连接服务器时,如果收到 “your server software is being unfriendly” 的错误信息,这意味着smbclient已经与服务器建立了TCP连接,但在打开的套接字上尝试进行NBT “会话请求” 时,收到的是无效数据(或没有收到任何数据)。“不友好” 这个说法源于客户端期望收到规范(如RFC1001/1002)中定义的一系列可能的错误代码之一,但实际收到的却是完全不同的内容。
通常,这意味着根本没有成功与SMB服务器进行通信,套接字连接到了其他东西。如果服务器是Samba,常见原因是smbd未能正确