Yes… I keep getting yelled at. Post your results, talk about more details… So, as promised this is the first post in a series of posts that will dive into the technical details about Windows 7 BranchCache. Once you have all been satisfied, I plan on discussing other subjects/features from Windows 7 and Windows Server 2008 R2. However, first things first, all of the information that I present in these posts can be found in the BranchCache Early Adopter’s Guide and on MSDN as I referenced in my previous post:
In other words, this is not super secret knowledge, and I’m not breaking any NDAs. Sorry… Instead, I’m merely trying to digest the information for you while also injecting my take on these new features. Hopefully this is helpful.
There are two distribution modes in BanchCache: Distributed Cache Mode and Hosted Cache Mode. Considering that Distributed Cache mode is the easier of the two to implement, this will be the first mode that discuss.
Distributed Cache Mode is a Peer-2-Peer caching scheme that is used to cache intranet web site or a file server (SMB) content within a branch office without the need of a local hosted cache server.
By default, BranchCache is not something that is not enabled. To enable it on an application server (Web server) or a file server you need to perform a couple of steps:
Additionally, for file servers, you would also have to a few extra things:
Hmmmmm… what about this Hash Publication stuff? Well, in my previous BranchCache posting and at the beginning of this post I’ve referenced some links from several MSDN protocol specification documents. Within one of these links you can find some very valuable information around how content is protected, kinda split-up, and also identified. Yes, as you might have guessed (because of the hash references), content is being hashed when a BranchCache client requests it.
Well kinda of… What actually happens is the content is first divided into 32MB segments, which is then sub-divided into 64KB data blocks. These blocks and segments are hashed. The resulting hashes are then used by clients to not only identify, verify, and reassemble content when it is retrieved, but to also determine if the content should be retrieved from the source content server, or a peer or hosted cache server. These hashes are stored in something that is called a Content Information (ContentInfo) block.
There is a Content Information block for each data segment and it contains the following items:
It is important to note that the Segment Secret is used to encrypt the data blocks. So the data is technically protected once it has been cached by a BranchCache client. Also, as equally important, is that the content server caches all of these Content Information blocks. This is why you need to define the HashStorageLimitPercent registry value.
Obviously, I do have questions about all of this:
Ok… that’s enough for tonight. In my next post, I will go over the client side configuration and the discovery protocol.
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)
With more than ten years of experience in IT, Tyson Kopczynski has become a specialist in Active Directory, Information Assurance, Windows automation, PKI, and IT security practices. Tyson is also the founding author of the Windows PowerShell Unleashed series and has been a contributing author for such books as Microsoft Internet Security and Acceleration (ISA) Server 2006 Unleashed and Microsoft Windows Server 2008 R2 Unleashed. He has also written many detailed technical papers and guides covering various technologies. As a consultant at Convergent Computing, Tyson works with and provides feedback for next generation Microsoft technologies since their inception and has also played a key role in expanding the automation and security practices at CCO. Tyson also holds such certifications as the Certified Information Systems Security Professional (CISSP), the SANS Security Essentials Certification (GSEC) and SANS Certified Incident Handler (GCIH), and the MCTS (Application Platform, Active Directory, and Network Infrastructure).
Certifications:
Publications:
Other Stuff: