BranchCache

Applies To: Windows Server 2008 R2

With BranchCache™, Windows 7 and Windows Server 2008 R2 reduce wide area network (WAN) utilization while simultaneously increasing the responsiveness of network applications at remote offices. When IT professionals enable BranchCache in Windows 7 and Windows Server 2008 R2, data retrieved from Web and file servers on the enterprise wide area network (WAN) is stored on the local branch office network.. If another client at the same branch requests the same content, the client can access it directly from the local network, without fetching the entire file across the WAN. Clients are always authorized by the server at the datacenter before they can retrieve the content from the local branch network.

BranchCache can operate in one of two modes:

  • Distributed Cache. Using a peer-to-peer architecture, Windows 7 clients cache content retrieved from Windows Server 2008 R2 and send the content directly to other Windows 7 clients as they need it, without those clients having to retrieve the same content over the WAN link. A distributed cache is the best choice for branches without a computer running Windows Server 2008 R2.

  • Hosted Cache. Using a client/server architecture, Windows 7 clients copy content to a local computer (Hosted Cache) running Windows Server 2008 R2 that has BranchCache enabled. Other client computers that need the same content retrieve it directly from the Hosted Cache. Compared to the Distributed Cache, Hosted Cache increases the cache availability because content is available even if the client that originally requested the data is offline. Additionally, a Hosted Cache works across subnets and reduces multicast traffic on the local network.

    Typically, administrators can configure an existing computer running Windows Server 2008 R2 to act as the Hosted Cache, because the Hosted Cache does not require a dedicated server.

Figure 2   Comparison of BranchCache Distributed Cache and Hosted Cache modes

BranchCache currently supports the following protocols and is fully compatible with end-to-end encryption such as IPsec:

  • HTTP (including HTTPS). The standard protocol for Web transfers, used by applications such as Internet Explorer®, Windows Media®, and Windows SharePoint®.

  • SMB (including signed SMB). The standard protocol for network file transfers when connecting to shared folders from Windows Explorer.

When BranchCache is enabled on both the client computer and server computer, the client computer follows this process to retrieve data using HTTP or SMB:

  1. The client computer running Windows 7 connects to a computer running Windows Server 2008 R2 at the datacenter and requests content exactly as it would if it were to retrieve content without using BranchCache.

  2. The server computer at the datacenter authenticates the user and verifies that the user is authorized to access the data.

  3. The server computer at the datacenter returns identifiers (hashes) of the requested content to the client computer instead of sending the content itself. The server computer does so over the same channel that the content would have normally been sent.

  4. Using the retrieved identifiers, the client computer does the following:

    1. If configured to use Distributed Cache, the client computer multicasts on the local network to find other client computers that have already downloaded the content.

    2. If configured to use Hosted Cache, the client computer looks up content availability on the Hosted Cache.

  5. If the content is available in the branch (either on one or more clients or the Hosted Cache), the client computer retrieves the data from within the branch, and ensures that the data is current and has not been tampered with or corrupted.

  6. If the content is not available in the branch, the client computer retrieves the content directly from the server computer at the datacenter and either makes it available on the local network to other requesting client computers or sends it to the Hosted Cache, where it is made available to other client computers.

All content transfers between client computers or between a client computer and the Hosted Cache are encrypted.

For more information about BranchCache, see BranchCache for Windows Server 2008 R2.