当客户在 smb2 中达到零学分时会发生什么?
what happens when a client reaches zero credits in smb2?
我有一个连接的跟踪记录,其中收取的信用数超过了服务器授予的信用数。
此外,客户端是否可以在此之后发送更多请求,而服务器不会授予更多信用?
在那之后,我有更多的阅读请求,客户的学分变为零。
根据 MS-SMB2,客户端在发送更多请求之前应等待服务器授予新信用。 SMB2 header 的 CreditCharge 字段不能大于序列 window 中的可用信用。如果需要的积分多于客户端可用的积分,则客户端不应发送请求。一个技巧是减少请求的读取操作的长度,以便您可以将其放入序列 window.
根据MS specifications for SMB2,服务器必须确保客户端不能达到零信用,否则客户端将无法再发送更多消息:
The server MUST ensure that the number of credits held by the client
is never reduced to zero. If the condition occurs, there is no way for
the client to send subsequent requests for more credits.
因此,如果客户端没有剩余信用,则表明存在服务器错误。
我有一个连接的跟踪记录,其中收取的信用数超过了服务器授予的信用数。 此外,客户端是否可以在此之后发送更多请求,而服务器不会授予更多信用? 在那之后,我有更多的阅读请求,客户的学分变为零。
根据 MS-SMB2,客户端在发送更多请求之前应等待服务器授予新信用。 SMB2 header 的 CreditCharge 字段不能大于序列 window 中的可用信用。如果需要的积分多于客户端可用的积分,则客户端不应发送请求。一个技巧是减少请求的读取操作的长度,以便您可以将其放入序列 window.
根据MS specifications for SMB2,服务器必须确保客户端不能达到零信用,否则客户端将无法再发送更多消息:
The server MUST ensure that the number of credits held by the client is never reduced to zero. If the condition occurs, there is no way for the client to send subsequent requests for more credits.
因此,如果客户端没有剩余信用,则表明存在服务器错误。