LAN Man NetBIOS Performance Enhancement to Reserved Bits (63374)



The information in this article applies to:

  • Microsoft LAN Manager 2.0
  • Microsoft LAN Manager 2.1
  • Microsoft LAN Manager 2.1a
  • Microsoft LAN Manager 2.2

This article was previously published under Q63374

SUMMARY

Page 6-32 of the "IBM LAN Technical Reference" (dated November 1988) states that you should set the reserved bits in a DATA_ONLY_LAST frame to 0 (zero), and set bit 1 to 1 (one), if it is a NO_ACK send. In Microsoft NetBIOS version 2.0, bits 2 and 3 are sometimes set, and when they are, a regular send is treated much like SEND_NO_ACK.

To support piggyback acknowledge protocol, two additional bits (bits 2 and 3) have been defined (since the publication of the "IBM LAN Technical Reference") in the DATA1 field of the DATA_ONLY_LAST frame. This is part of NetBIOS Performance Enhancement done for OS/2 EE NetBIOS drivers. The new bits being defined are referenced as bits a and b as shown below:
   OFFSET       FIELD NAME       LENGTH    TYPE Description
   ------       ----------       ------    ----------------
   5            DATA1             1        DB   B'rrrrabxr'

      where a = Acknowledge_Included
            b = Ack_with_data_allowed
            x = NO_ACK indicator (old definition, no change)
            r = Reserved (must be zero)
            B = Binary data follows; for example, B'01'
				
The Acknowledge_Included bit will be set to ON (1) when NetBIOS sends an acknowledgment with the DATA_ONLY_LAST frame. It will only be set to ON if NetBIOS has previously received a DATA_ONLY_LAST frame that has the ACK_WITH_DATA_ALLOWED bit set to ON. The Acknowledge_Included bit indicates that an acknowledgment to a previous frame is "piggybacked" with this data frame, and that the correlator value has been placed into the xmit_correlator field.

The Ack_with_data_allowed bit indicates that the "piggyback acknowledge" protocol is supported, and that the partner NetBIOS can, at its option, use it.

In addition, the description of the xmit_correlator field in the DATA_ONLY_LAST frame must be changed as follows: X'nnnn', where "nnnn" is zero when no acknowledgment is sent with data, or "nnnn" equals the previously received response correlator of a DATA_ONLY_LAST frame in which the Ack_with_data_allowed indicator was set to ON. When an acknowledgment is sent, the Acknowledge_Included bit must be set to ON.

Modification Type:MajorLast Reviewed:9/30/2003
Keywords:KB63374