3 Basic concepts

SMB is a server/client mechanism. At a basic level, On an SMB server, certain folders are designated as shared folders. Each shared folder has an identifier that uniquely identifies it. In addition, a server also needs to declare the workgroup (for a non-NT based network) or domain name (for a all-NT based network) that it is a part of.

A client host can associate with any number of shared folders on a server. In Windows, each shared folder appears can be mounted as a “drive letter”. In a Linux client host, however, each server shared folder can be mounted like any other mount points: it can be anywhere in the directory structure.

Besides shared folders, SMB is actually quite a bit more flexible than that. SMB provides the foundation of RPC (remote procedure call), which permits a service be implemented on one host, while it is used by a program on another host. The flexibility of RPC goes well beyond that of file sharing among hosts. This includes the ability to access printers remotely.