none
SMB2 request ordering and processing. RRS feed

  • Question

  • Hello:

    Given MS-SMB2 (v20120328):

    In section 3.2.4.1.6 it states, "The client MUST use the lowest available sequence number in its allowable set for each request".

    In section 3.3.1.1 it states, "The server MUST allow requests to be received out of sequence".

    In section 3.3.5.2.7.2 it states, "The server MUST handle each individual request that is described in the [Compounded-Related] chain in order."

    While 3.3.5.2.7.2 seems explicit, I'm still left wondering if there are any order/sequence requirements that apply to a server's replies? Can the server reply in any order? FIFO? Message Id?

    Thanks in advance for any insight!

    -Ken

    Wednesday, May 16, 2012 7:24 PM

Answers

  • Hi Ken

    Per analysis, Windows server does not send responses in any defined order like FIFO. Responses are sent when processing on the server completes as a result it can be in any order. MessageId is used by the client to locate a request for the received response and does not influence processing order on the server. I have captured a trace illustrating this behavior and glad to share the same if you can please drop me a mail to dochelp at microsoft dot com, ATTN: Tarun Chopra

    Thanks.


    Tarun Chopra | Escalation Engineer | Open Specifications Support Team

    • Marked as answer by a7FFEFF10 Wednesday, May 23, 2012 4:56 PM
    Tuesday, May 22, 2012 7:57 PM

All replies

  • Hi Ken:

    I have alerted the open specification team redarding your inquiry. A member of the team will be in touch soon through this thread.


    Regards, Obaid Farooqi

    Wednesday, May 16, 2012 7:57 PM
    Owner
  • Hi Ken

    Thank you for contacting Microsoft. I am researching this for you and will contact you in case of any further clarification or update.

    Thanks


    Tarun Chopra | Escalation Engineer | Open Specifications Support Team

    Wednesday, May 16, 2012 9:07 PM
  • Hi Ken

    Per analysis, Windows server does not send responses in any defined order like FIFO. Responses are sent when processing on the server completes as a result it can be in any order. MessageId is used by the client to locate a request for the received response and does not influence processing order on the server. I have captured a trace illustrating this behavior and glad to share the same if you can please drop me a mail to dochelp at microsoft dot com, ATTN: Tarun Chopra

    Thanks.


    Tarun Chopra | Escalation Engineer | Open Specifications Support Team

    • Marked as answer by a7FFEFF10 Wednesday, May 23, 2012 4:56 PM
    Tuesday, May 22, 2012 7:57 PM
  • Hi Tarun:

     Thank you very much for your investigation and response!

    -Ken

    Wednesday, May 23, 2012 4:56 PM