9.1 The Server Identifier

The first stop on our UNC tour of SMB is the server name field, which is really a server identifier field because it will accept addresses in addition to names . This book concerns itself with only two transports NBT and naked TCP transport so the only identifiers we care about are:

  • NetBIOS names,

  • DNS names, and

  • IP addresses.

NetBIOS and DNS names both resolve to IP addresses, so all three are equivalent.

Sort of...

Recall that the NBT SESSION REQUEST packet requires a CALLED NAME in order to set up an NBT session with the server. Without a correct CALLED NAME , the NBT SESSION REQUEST may be rejected (different implementations behave differently). So...

  • if the transport is NBT (not raw),

  • and the server is identified using a DNS name or IP address...

...then we're in a bit of a pickle . How do we find the correct NetBIOS name to put into the CALLED NAME field? There really is no "right" way to reverse-map an IP address to a particular NetBIOS service name. The solution to this problem involves some guessing, and it's not pretty. We will go into detail when we discuss the interface between SMB and the transport layer.

Of course, if SMB is running over raw transport then there is no NBT SESSION REQUEST message and, therefore, no CALLED NAME . In that case, the NetBIOS name isn't needed at all, which saves a lot of fuss and bother.



Implementing CIFS. The Common Internet File System
Implementing CIFS: The Common Internet File System
ISBN: 013047116X
EAN: 2147483647
Year: 2002
Pages: 210

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net