10.0 Appendix A—NETBIOS Transport over TCP

When operating CIFS over the NETBIOS transport over TCP, connections are established and messages transferred as specified in RFC 1001 and RFC 1002.

Message transport is done using NETBIOS session service (see Section 5.3 of RFC 1001 and Section 4.3 of RFC 1002).

10.1 Connection Establishment

After the server name has been resolved to an IP address, a connection to the server needs to be established if one has not already been set up. Connection establishment is done using the NETBIOS session service, which requires the client to provide a "calling name" and a "called name." The calling name is not significant in CIFS, except that an identical name from the same transport address is assumed to represent the same client; the called name is always "*SMBSERVER      ." Connection establishment results in a "Session Request" packet to port 139 (see Section 4.3.2 of RFC 1002).

10.1.1 Backwards Compatibility

If a CIFS client wishes to interoperate with older SMB servers, then if the server rejects the session request, it can retry with a new called name. The choice of the new called name depends on the name resolution mechanism used. If DNS was used, the called name should be constructed from the first component of the server's DNS name, truncated to 15 characters if necessary, and then padded to 16 characters with blank (20 hex) characters. If NETBIOS was used, then the called named is just the NETBIOS name. If these fail, then a NETBIOS "Adapter Status" request may be made to obtain the server's NETBIOS name, and the connection establishment retried with that as the called name.

10.2 Server-side Connection Procedures

A CIFS server running over NETBIOS must accept any session request specifying a called name of "*SMBSERVER     ."

In addition, if it wishes to support older SMB clients, it may have one or more NETBIOS names and accept session request, specifying them as the called name.