The Tolly group has written a new report (there was a previous one back in the pre-RTM days) on the performance of SMB2 in Windows Vista and Windows Server 2008.
If you didn’t know, there’s a serious amount of changes in the TCP stack and SMB2 to improve the performance of data and particularly file transfer between W2008 and Vista machines, e.g. W2008-Vista, Vista-Vista, W2008-W2008. I’ve written a chapter in the Mark Minasi book, "Mastering Windows 2008: Essential Technologies", on the subject. Between a new TCP stack that handles more data transfer with less overhead and a new SMB protocol to handle those greater loads as well as doing some meta data caching, things are much better over latent (e.g. WAN or Internet) links.
The benefits are seen across many scenarios. Using a Vista client to use Outlook over HTTPS access of a W2008 hosted Exchange server over the Internet is faster. Using Sharepoint over the WAN is faster. Using a W2008 iSCSI based server is much faster. I recently did a test when I was at TechEd EMEA in Barcelona with a proof-of-concept box that I had hosted in our data centre in Dublin. It was running W2008 Server Std with WSS 3.0. I used my vista laptop to browse and upload/download files. It was almost like I was in the same building as the server. I was very impressed.
I’m not saying that the improvements will be a cure-all for centralising all your servers out of the branch office. But it’s definitely an improvement and improves some services which are already suitable for consolidation and centralisation such as Exchange and SharePoint. You might want to look at things like VDI, Terminal Services (and the TS based solutions) and web interfaces as end-user access technologies if you have other services to centralise or consolidate.
Windows 7 and Windows Server 2008 R2 are bringing things to another level. I was chatting with Mark Minasi at TechEd after one of the presentations and he thought that these were the branch office solution releases. I’d agree with that. Windows Vista and W2008 gave us the foundation in the new TCP stack and W7 and W2008 R2 build on that to give us the solutions.
The most interesting of these is BranchCache. The idea is pretty simple. In a server-less office, when a Win7 client accesses a remote W2008R2 hosted file or HTTP service it can cache the files that are downloaded. Each file is uniquely identified using a caching algorithm. If another W7 client in the same office network requires files from a remote W2008R2 server it broadcasts on the network with the ID’s (in synch with the server telling it what blocks make up the download). If another W7 client has cached the data then it’s transmitted from one W7 client to the other over the LAN – no unnecessary data transfer over the WAN. Data security is maintained by ensuring the user/client accessing the data have rights on the download’s ACL. You can optimise this by using a W2008 server in the branch office to act as a caching server. Instead of wasteful LAN broadcasts, the branch office client will just consult the caching server to see if it has the files and downloads from there (if it has permission based on the original hosting server). This process is not used for saving changes. That’s not perfect but most cross latent network data transfers are read only anyway.
This has the potential to really change branch office infrastructure on a Windows network. It will be interesting to see how cross WAN data transfers will compare between Windows 7-Windows Server 2008 R2 with BranchCache and Windows XP-Windows Server 2003. If you’ve used Windows Server DFS-R with Cross File Replication and monitored the results then you’ll have an idea of what to expect. It hopefully won’t be too dissimilar to the results from appliances provide by Riverbed and Citrix (although they optimise all unencrytped and unsigned TCP traffic; not just SMB and HTTP. They also do it in both directions).