A brief history of samba

Samba is a system that enables sharing files and other resources across networked machines. A simple thing as sharing files across machines needs some very complicated engineering indeed. The following article discusses the elements that complicate the sharing of files across machines and how they are addressed. In doing so we present a brief history of samba.

Network

The first obstacle in the path is solving the problem of communicating among machines. When the PC was first developed and TCP/IP was non existent or nascent, companies solved issues in communication like addressing, protocol etc differently. 

IBM and Sytec co-developed a simple networking system designed for building small LANs. The system included something called NetBIOS, or Network Basic Input Output System. NetBIOS was a chunk of software that was loaded into memory to provide an interface between programs and the network hardware. It included an addressing scheme that used 16-byte names to identify workstations and network-enabled applications.

File sharing

Once NetBIOS was developed, programs written for the PC used NetBIOS to communicate with machines over the network. 

Next, Microsoft added features to DOS that allowed disk I/O to be redirected to the NetBIOS interface, which made disk space share-able over the LAN. The file-sharing protocol that they used eventually became known as SMB.

This file sharing protocol was standardized and was named “Common Internet File System” or CIFS.

Interoptability

Andrew Tridgellwanted to serve out files from a Linux server and access it on a windows machine. Hence, he reverse engineered the smb protocol and created a server side component that would run on linux and would serve out the files using this protocol. This came to be known eventually as samba.

Reference: https://www.samba.org/samba/docs/SambaIntro.html

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s