jCIFS (http://jcifs.samba.org/) is the product of an unlikely union between Sun’s Java and Microsoft’s SMB/CIFS file sharing suite. jCIFS provides all of the tools a Java coder needs to get along in a Windows Network Neighborhood; jCIFS dances elegantly with Samba; and jCIFS runs on everything from palmtops to mainframes. Where else but in open source could such a story be told?
Romance, drama, intrigue, pathos, and protocols. Shakespeare, move over.
SMB is the Server Message Block protocol. It was created at IBM back in the mid-’80s as a way of letting DOS personal computers share files with one another. In the early days, IBM collaborated with Microsoft and a few other companies on the development of SMB, which became a standard part of both OS/2 and Microsoft Windows. Since then, several third-party implementations were also written, and today the best-known of those is Samba, an open source SMB server suite first introduced in 1992.
Microsoft eventually took over control of SMB development, and, in the mid-’90s, they gave it a “marketing upgrade.” Microsoft renamed it the Common Internet File System, or CIFS, gussied it up a little, and trotted it out as a worthy competitor to Sun’s WebNFS.
The nineties were the heady days of the Internet, when establishing a new protocol as a de facto standard was seen as equivalent to staking a claim on a gold mine. Sun had already proposed WebNFS (basically a web-enabled version of NFS) as an Internet file sharing standard. Microsoft apparently felt the urge to compete.
WebNFS was an open protocol with published specifications. Microsoft had hopes that they could build support for their candidate by opening it up a little bit too, so they produced some IETF Internet Drafts to give outsiders a peek at the protocol innards — a big help to third-party implementers, such as the Samba Team. As things turned out, however, neither CIFS nor WebNFS ever really caught on as the universal standard for Internet file sharing, and Microsoft has since become more and more secretive about the workings of CIFS.
These days, most folks in the CIFS community use the name “SMB” when they want to talk about the core file sharing protocol, and “CIFS” when they want to talk about the suite as a whole. The distinction is useful because several sub-protocols have been created over the years to make SMB services more flexible and easier to manage. There are, for example, sub-protocols for name resolution, remote server management, and for organizing and presenting the Network Neighborhood. Each of these are intertwined with SMB in different ways.
To Windows users, CIFS typically looks something like Figure One. In older versions of Windows, this was called the “Network Neighborhood,” but newer Windows flavors call it “My Network Places” or “Computers Near Me.” No matter. It’s just a graphical view of the available CIFS file services, arranged into categories known as workgroups or domains.
No comments yet.