Rohit's nukkad

Saturday, March 03, 2007

Samba software

A lot of times we do things without getting to know much details about it, but once we find out the results may be very surprising. One of such things which I practiced at work has been mapping a network folder on my local machine. A very common practice in school and work places having a Client/Server or network setup. One has network accounts (your files are not on your local machine but on a network server) so to have a Windows interface we map the drive to our local machine. Click on following link to know how to map drive.
One of things which hit me like a brain wave the other day was the names of these network drives. In different organizations I worked with the general setup was \\server_name\shared_folder where server_name is the name of the server where the required folder resides and the shared_folder the folder one wants on the local machine. The server might be e.g. blogger.com or google.com however a lot of times ( for me it was always) while mapping the server name was Samba.blogger.com or Samba.google.com or Samba.xyz.com. So the name Samba caught my curiosity and I wanted to know what this Samba is, why different server names but Samba remains the same.
As it turns out "Samba is open source software that can be run on a platform other than Microsoft Windows, for example, UNIX, Linux, IBM System 390, OpenVMS, and other operating systems. Samba uses the TCP/IP protocol that is installed on the host server. When correctly configured, it allows that host to interact with a Microsoft Windows client or server as if it is a Windows file and print server". In layman terms , Samba runs on Unix platform but communicates with Windows as a native.
So how is this possible, well it all happens using the protocol suite called "Common Internet Files System' (CIFS). To know more details about Samba click here. (Don't miss the story at the top the web page).
Is Samba the only one providing the CIFS networking, the answer is no, there are commercial CIFS products for Macintosh and other platforms (including several others for Unix).
However CIFS is not the only implementation of Samba, it has dozens of other protocols and services available.

Further reading
Samba - homepage
Samba - wikipedia