Understanding the Network Neighborhood
Microsoft networking protocols such as SMB, NetBIOS, and CIFS are used everywhere. Open source developers need to understand how they work in order for Linux to become a mainstream operating system.
SMB, the Server Message Block Protocol, is the most prevalent filesharing protocol on the planet for a very simple reason — it ships with every Microsoft Windows system and, like it or not, Windows still owns the desktop. Windows is also very common as a server platform in corporate networks. Not content with those markets, Windows is now finding its way into all sorts of new places, including embedded systems, palmtops, and consumer toys. As Windows moves onto new platforms, SMB does too.
Open source operating systems like Linux have been speaking SMB for quite a while now thanks to SAMBA, the well-known open source SMB Server suite. SAMBA, like Windows server products, is primarily a back-room tool. It runs on systems that are mounted in racks or stuck onto shelves in locked server rooms where only the geeks are brave enough to go. If Linux is going to move out of the datacenter and onto the corporate desktop (not to mention homes, hand-helds, cars, etc.), then Linux developers are going to need a working knowledge of SMB — the native language of the Microsoft Network Neighborhood.
In this article, we’ll look into SMB’s history and architecture, as well as how its components work together. You’ll also find a list of open source projects that aim to make it easier to add SMB support to Linux applications.
A Little History: NetBIOS