Fear and Loathing in Windows 7: Some of my Branch Cache Testing Results

A couple of people were wondering why my last post didn't include actual results from my Branch Cache testing.  Well... my last post wasn't meant to actually talk about the results from my testing (thus the lack of results).  Instead, I was trying to share something.  That being said, I figured I would start sharing some of my results...  I seemed only fair.

First off, there is not a lot of hard core details about what Branch Cache is and how it works.  While Microsoft did provide some information in its early adopters guide, like Direct Access (another post I should do) you are left with a lot of questions when attempting to figure out Branch Cache.  To make matters worse, Branch Cache is kinda of a black hole.  Thus, to the casual observer it may be hard to tell what this feature is doing and what benefits it is brining to you.

So... being that I was starved for information, I went digging through the MSDN site.  Unknown to a lot of people, Microsoft has been getting better about posting the protocol specifications that they build into their products.  For Branch Cache you can find its protocol specifications here:

Believe it or not from these links, you can learn a lot about what Branch Cache is doing under the covers (ohhhh).

Anyhow, to talk about all the stuff contained in these links, what I tested, and my thoughts may take a bit of time.  So... to start on what will need to be a multi-blog posting series.  I thought some summary tidbits of things not really known might be good.

Summary Items:

  1. Branch Cache for network files (SMB) is tied to Offline Files (referred to as transparent cache).  If you disable Offline Files it breaks Branch Cache for network files.  Yes, kinda of odd considering that Offline Files also seems to mess with how files are cached.  Hence the troubleshooting tip in the early adopters guide telling you to clear transparent cache. :>)
  2. Content is sliced and diced into 32MB segments which are in turn sliced further into 64 KB blocks.  These are hashed, and furthermore also encrypted for "secure" transmission.  So, this is far from being like IE cache.
  3. There is limited control over what to cache or not to cache.  Furthermore, I'm a bit concerned over how to control the lifecycle of the cache and the content that it contains.  I.E. content updates, rights management, etc.  But, some of those concerns are the same with Offline Files.
  4. Did I mention that this feature was kinda of BlackBox.  To peer into what this feature is doing you can either:
    1. Rely on some basic performance counters.
    2. Run commands via NetSH to figure out the cache status.
    3. Watch the event log for random event messages.
    4. Monitor you network for traffic exchanges.
  5. However, outside of that, there really isn't any way to extensively debug the feature.  I.E. why are my clients not advertising their content their local hosted cache server?
  6. Oh, did I mention that hosted cache servers download their content from Branch Cache clients.  Trust me, I was just as surprised.  To summarize, a client pulls content from a server, the client then caches the content locally, and then advertises the content blocks to the hosted cache server, that server then pulls the content blocks directly from the clients.

Ok... time to break for some sleep.  I promise, I will dive a little deeper into this over the next couple of days.  Please feel free to post any questions you want.  I do want to share.  But, direction is always helpful.

If you like this, check out some other posts from Tyson:

Or if you want, you can also check out some of Tyson's latest publications:

Lastly, visit the Microsoft Subnet for more news, blogs, and opinions from around the Internet.  Or, sign up for the bi-weekly Microsoft newsletter.  (Click on News/Microsoft News Alert)


Copyright © 2009 IDG Communications, Inc.

The 10 most powerful companies in enterprise networking 2022