Long the moody loner of network file services, Microsoft's SMB protocol is growing up and learning to play nice. This is one time "new & improved" really means it.
Fixing the old The most common version of SMB/CIFS (Server Message Block/Common Internet File System) - and the most commonly used network protocol today - was introduced in 1993. Yep, when we were all on dial-up if we were online at all.
Microsoft introduced the protocol to head off competition from NFS (Network File System), the Unix-based protocol developed by Sun. Undocumented and subject to unannounced changes - among other issues - SMB/CIFS was costly to reverse engineer.
Network nirvana? Hardly. SMB/CIFS is showing its age and origin: clumsy; bloated; and slow.
In with the new The coming thing - introduced with Vista - is SMB2. SMB2 makes important improvements:
- Loses aged DOS and OS/2 semantics
- Commands reduced from 75 to 19
- Better performance over WANs
- Reduced chattiness.
- Longer command chains.
- Supports Microsoft's new BranchCache that handles remote caching for improved performance.
- IPv6 support.
The average user won't know or care about all this. But if you're a sys admin tired of "slow network" complaints, this is for you.
IPv6? The IPv6 folks have been predicting address space disaster for at least a decade, leading some to think it will never happen. But it will.
As Moore's Law marches on for another decade, more and more devices will have the power to connect to the web - at ever lower prices. Our best hope is to make the migration a non-issue by building IPv6 into everything now.
Microsoft has done their part, supporting IPv6 since XP. They added Active Directory support over IPv6 in Vista, but not for XP.
SMB for the rest of us Does any of this matter to the sturdy yeomanry of Linux and Mac OS users? You bet it does.
The open source project Samba has been laboring for years to bring a sullen SMB into the larger community. It's part of Mac OS and the Linux kernel.
The new SMB2 documentation and architecture will make the Samba team's work much easier. For example, they've developed a clustered SAMBA server with good scaling.
Update: Samba team leader Jeremy Allison suggested noting the Samba Unix extensions project and I'm happy to do so. Samba 3.6.0 will ship with full SMB2 support integrated. End update.
The Storage Bits take Bottom line: integrating Windows and the fast growing non-Windows world - iOS and Android - is becoming easier, faster and more reliable. Regardless of your OS religion, that's a Very Good Thing.
But there's a larger lesson. Microsoft would never have done this without the EU forcing the matter.
idiots ideologues tell us that government intervention in "free" markets is bad, but that isn't true here. Microsoft didn't care about customers who had both Unix and Windows even though they bought billions worth of MS product.
But Microsoft's behavior imposed large costs on the non-Microsoft world and impeded competition and innovation. The network-using public has an interest too, and it is good that the EU forced Microsoft to behave.
Comments welcome, of course. A tip of the hat to Ubiqx Consulting, to whose SNIA Storage Developers Conference presentation this post owes its impetus.