SMB/CIFS 流水线

SMB/CIFS 流水线

流水线是 SMB/CIFS 协议的一个功能吗?我发现 SMB2 确实有流水线机制,但对于以前的版本没有明确的答案。我有一个网络捕获,其中包含几个 SMB 事务辅助消息,位于几个 NetBIOS 会话服务消息之上,这在网络上常见吗?

答案1

是的,SMBv1/CIFS 具有特殊的“AndX”命令,这些命令可以链接到同一数据包中的另一个命令 - 尽管只有少数特定命令可以成为该链的一部分。(总共有 8 个“AndX”命令 - OPEN_ANDX、READ_ANDX、WRITE_ANDX 和其他一些命令)。

使用 AndX 构造的批量消息是在 LAN Manager 1.0 方言中引入的。批量消息通过在单个消息中发送多个命令请求或响应来减少完成一系列命令所需的消息数量。应用 AndX 构造的 SMB 命令称为“AndX 命令”,并由 NT LAN Manager 约定在命令名称后附加“_ANDX”来标识。这种类型的消息称为 AndX 消息。

AndX 消息包含一个结构,概念上类似于链接列表,用于连接批量块对。生成的列表称为 AndX 链。

每个 AndX 命令都有一个特定的命令列表,这些命令可以在 AndX 链中跟随它。每个命令的允许后续命令列表记录在 2.2.4 节“SMB 命令”中该命令的相应子节中。

引自微软官方协议文档:

相关内容