Let’s learn How to Handle SCCM Bandwidth Issues with Branch Cache Vs Peer Cache.
In the current IT world, organizations looking for lower operating expenses are investigating technology solutions that can directly lower costs and improve productivity and value add to the business.
This blog post will help you design SCCM Bandwidth optimization tips and tricks. In the upcoming blog posts, I will cover the SCCM and Delivery Optimization (DO) design options.
Abstract – SCCM Bandwidth Optimization
One area in which these organizations are seeking solutions is in the IT infrastructure supporting remote or branch offices and bandwidth optimization (SCCM Bandwidth Optimization).
A solution capability is enabled with Microsoft Branch cache and Peer cache in conjunction with SCCM for peer cache. We expect to see significant performance improvements in content sharing and bandwidth optimization.
Branch cache and Peer cache that reduces WAN bandwidth usage and improves application responsiveness when workstations in a remote location access content from the head office or data center by downloading and caching content on the local network as it is requested, making it immediately available to other clients that subsequently request the same content.
Introduction to Branch Cache
Branch Cache is a feature of Microsoft Windows 7 which can be utilized for businesses that operate from multiple office locations.
Branch Cache provides a file caching service for professional network administrators, enabling Windows servers to automatically retrieve and distribute the local copies of files accessed remotely by Windows 7 clients.
More tips and tricks about SCCM Bandwidth Optimization are given in the following sections.
Branch Cache can help increase network responsiveness of centralized applications when they are accessed from remote offices, and users in those offices can experience as if they are working on their local area network. Branch Cache also helps in reducing WAN utilization.
When you enable Branch Cache, a copy of data accessed from intranet Web and file servers is cached locally in the branch office, when another client on the same network requests that file, the client downloads it from the local cache without downloading the same content from the WAN link.
Your system must meet the following requirements to use Branch Cache:
- Client computers must use Windows 7, with the Branch Cache feature enabled.
- Web servers and File servers must use Windows Server 2008 R2, with the Branch Cache feature enabled on it.
What is Branch Cache
Branch Cache is a Windows Operating System component, predominantly used for bandwidth optimization (SCCM Bandwidth Optimization) which works independently of SCCM but integrates with it.
- It was introduced with Windows Server 2008 R2 and Windows 7
- Branch Cache clients can act as peer distribution points for other Branch Cache clients on the same subnet.
- Branch cache can be enabled on the client machine via AD Group Policies.
How Branch Cache Works
Branch Cache works in one of two modes: Distributed or Hosted Mode. Distributed allows clients to request cached content from one another, while Hosted Mode centralizes the cache on a Branch Cache server. How to branch cache helps to achieve SCCM Bandwidth Optimization.
Distributed Mode should be used when fewer than 50 clients are on the branch office network.
- A Branch Cache Content Server (BCS) breaks content into blocks with unique hashes for each block.
- A Branch Cache client requests content from the BCS. The BCS responds with a list of blocks and hashes.
- The client queries local peers for any of the blocks.
- If the blocks are found on the local subnet, they are retrieved from peers.
- If any block is not available from a peer, it is retrieved from the BCS. Once retrieved, it is made available to peers.
Branch Cache Operation Modes
Distributed cache mode: content cache at a branch office is distributed among client computers.
Hosted cache mode: content cache at a branch office is hosted on one or more server computers called hosted cache servers.
Note: Distributed cache mode is designed for small branch offices that do not contain a local server for use as a hosted cache server. Distributed cache mode allows your organization to benefit from Branch Cache without requiring additional hardware in branch offices.
Branch Cache Network Ports
- HTTP (port 80) for content retrieval using Branch Cache retrieval protocol
- WS-Discovery (port 3702 UDP) for content discovery in distributed cache mode
- HTTPS (port 443) for content upload in hosted cache mode using hosted cache protocol
Note: Web Services Dynamic Discovery (WS-Discovery) is a technical specification that defines a multicast discovery protocol to locate services on a local network. It operates over TCP and UDP port 3702 and uses IP multicast address 239.255.255.250
Branch Cache with SCCM
Distribution points also support a feature of Windows Server 2008 R2, Windows Server 2012 and Windows 7, and Windows 8.1 and Windows 10 for Branch Cache.
When enabled, a copy of content retrieved from a server is cached in the branch office. Branch Cache feature caches HTTP, HTTPS, BITS, or SMB-based content.
The only thing you need to do to configure is enabled your deployments to download and run the applications locally. SCCM only supports Distributed cache mode for Branch Cache
Note: To implement Branch Cache in SCCM, enable the Windows Branch Cache feature via the Console for each Distribution Point. To enable Branch Cache on the client machines, follow Client Settings with a couple of checkboxes in the “Client Cache’” section.
Branch Cache Design
The following illustration depicts a dual-mode installation, with one branch office configured for distributed cache mode and one branch office configured for hosted cache mode. Learn how you can design branch cache to achieve SCCM Bandwidth Optimization?
Introduction to Peer Cache
Peer Cache is a built-in SCCM solution that enables clients to share content with other clients directly from their local cache.
Peer Cache uses Boundary Groups to determine which peers are ‘local’ and will only attempt to find a peer Content Source if it is in a Boundary Group configured with a Slow Connection to the Distribution Point. Learn how to use peer cache to achieve SCCM Bandwidth Optimization in your enterprise environment.
Beginning with System Center SCCM 1610, you can use Peer Cache to help manage content deployment to clients in remote locations.
Your system must meet the following requirements to use Peer Cache:
- Peer Cache is supported on any Windows OS supported as an SCCM client.
- Non-Windows operating systems are not supported for Peer Cache.
- Clients can only transfer content from Peer Cache clients in their current boundary group.
Because the current boundary of a Peer Cache content source is determined by that client’s last hardware inventory submission, a client that roams to a network location and is in a different boundary group might still be considered a member of its former boundary group for Peer Cache.
This can result in a client being offered a Peer Cache content source that is not in its immediate network location. We recommend excluding clients prone to this configuration from participating as a Peer Cache source.
What is Peer Cache
Like Branch Cache, Peer Cache is also a bandwidth optimization (SCCM Bandwidth Optimization) solution native to SCCM. Introduced Beginning with SCCM version 1610.
- Was introduced Beginning with SCCM 1610
- Peer Cache clients can act as mini distribution Points.
- Peer Cache can be enabled on the client machine via SCCM Client Settings.
Note: Peer Cache does not replace the use of other solutions like Branch Cache but instead works side-by-side to give you more options to extend traditional content deployment solutions like distribution points
How Peer Cache Works with SCCM
Peer Cache works similarly to SCCM distribution Point. It can be treated as a kind of Mini Distribution Point.
- Peer Cache enables Peer-to-Peer (P2P) transfers of content between clients within the same Boundary Group.
- Peer Cache clients report their cache contents to the SCCM site.
- Other Peer systems can request that content.
- The content is located just like any other content lookup, except that SCCM returns a list of Peer Cache Systems and any Distribution Points that have the content.
- Once enabled, your Peer Cache Source clients will spin up a Web Service locally, which is used to act as a content server to other peers – This is known as the ‘SuperPeer’ service.
- Clients looking for content perform a content lookup as usual, and the Management Point will return a list of content locations.
- Any SuperPeers that have the requested content will be returned along with the regular Distribution Points.
- The client will then pick a local peer (if available), and from there, it performs a regular BITS download of the content.
How to Design Peer Cache Design
Peer Cache uses Boundary Groups to determine which peers are ‘local’ and will only attempt to find a peer Content Source if it is in a Boundary Group configured with a Slow Connection to the DP. Design peer cache to achieve SCCM Bandwidth Optimization for your organization’s network environment.
SCCM Bandwidth Optimization
Branch Cache and Peer Cache Comparison Chart
Peer Cache | Branch Cache |
Available from SCCM 1610 On-wards. | OS feature Was introduced with Windows Server 2008 R2 and Windows 7 |
Peer Cache requires clients within same boundary group and with peer cache enabled | Branch Cache shares content with clients within the same subnet |
Peer cache only works with SCCM content | Branch cache works with any content that is accessed via HTTP or SMB |
Peer cache clients can share content with each other even if they are not in the same sub-net | Branch cache clients can share content with each other only if they are in the same subnet |
Peer cache works at the SCCM package level. The unit of download is an SCCM package. An SCCM peer cache client can only start sharing content if it has completely downloaded the entire package. You can also tell which client has which content | Branch cache works at a block/segment level. The download unit is blocked, which is typically just a portion of a file. Blocks are identified by their hashes and not by their association to file. This allows a client to share content even if it only has portions of it. This also makes it is not easy to know which client has which content |
Peer cache only has one copy of the content, all in the CCMCache | Branch cache uses its cache which is separate from the actual content. There are essentially two copies of the content on the client |
Peer cache discovers content by asking the SCCM MP for the location of packages. WinPE clients also perform a broadcast on the sub-net, in addition to the MP look-up | Branch cache discovers content by broadcasting the hash of a block, and the clients that have the block will respond. This is the reason why clients need to be on the same sub-netfor this method to work |
Peer cache is very specific to SCCM | Not Specific to SCCM |
Peer Cache is only restricted by Boundary Group, which means that it’s good for multi-VLAN sites where the content transfers can cross sub-nets | Branch Cache is a subnet based |
Peer cache works from WINPE level | BC does not work from the WINPE level |
Note: Peer Cache works from the WINPE level are important especially performing the tasks like OSD where significant content is downloaded during the WINPE phase itself.
Key Change: From SCCM 1806 onwards, there has been a significant change in peer cache functionality that works at the sub-package level. That means it is capable enough to share the content before the whole actual package is downloaded.
Conclusion
Peer Cache is a great new addition to the SCCM. Branch Cache is the perfect method to backup Peer Cache. You can implement it and not worry too much. To ensure maximum P2P enables Branch Cache on all SCCM deployments.
Peer Cache needs to be handled with care – but implemented correctly. It has certain advantages of being tightly integrated with SCCM.
They work well together and enable the efficient way for bandwidth optimization (SCCM Bandwidth Optimization) in SCCM. Below is a graphical diagram representing the Client download source:
References
Author
Gurudatt is a Technical Architect with 15 years of experience in the End User Computing space. His main area of interest is the design and implementation of ConfigMgr Infrastructure. He has a vast knowledge of ConfigMgr infrastructure & Client-side troubleshooting.
Very Informative and great article
Excellent information.
Excellent ! Easily readable. Thanks a lot
what happens if we only enable the Branch Cache feature through SCCM. How we can see the content is downloading from its peers in same subnet. Is there any log files? where the content will store in branch cache client?
Try checking the below (not quite certain though)
– DataTransferService.log
– FileBits.log
– ContentTransferManager.log
– Locationservices.log
or Content Data Source from the Console
I see the setting on the Dp to enable branche cache, but what about peer cache? I only see clients and DP/Server settings for branch cache. Do we assume the DP IS the using peer cache (super peer) as its native file distribution protocol?
Is there any harm in enabling both?
We are getting some odd behaviour “waiting for content” when we enable branch cache. Uncheck it, and run an inventory/reboot/iisreset etc. clients start downloading again. Now, the Dp is on a different subnet, but why should they not be able to find content if we only add-on/enable branch cache? Its not like we are taking away their peer cache\http ability to the DP (ie. classic way).
Peer cache doesn’t replace the use of other solutions like Windows BranchCache or Delivery Optimization. Peer cache works along with other solutions. Peer cache is a custom solution with no reliance on BranchCache. If you don’t enable or use BranchCache, peer cache still works.
To enable Peer Cache, you need to create a new Client Settings & deploy it to your Peer Cache Source computers.
Hi,
is in place os upgrade support by Branch cache? we have low bandwidth location where we want to push the Latest OS. if it supports by BC we can push multiple computer at a time.
Can you please post the question in our forum https://forum.howtomanagedevices.com