Multicast has been around for a long time. If you don’t do any unique configurations to SCCM, it sends all packages as Unicast.
Unicast is fine if you are installing a few computers at a time. However, for every computer you add, the network and disk burden grows. For example, if you work at a school and need to reinstall 50 computers at a time, it might not be a good idea to use Unicast, but instead multicast.
In this blog post, I cover what multicast is and how you configure it in SCCM.
What is multicast?
Multicast provides an optimized way of sending packages over the network at the same time.
Multicast is the opposite of unicast, where only one package is delivered at the same time.
How multicast works
In short, multicast works in the following way:
- A single datagram is sent instead of one per computer, as in unicast.
- The datagram is sent to the multicast group address, a class D address, with the range of 22.214.171.124 -> 126.96.36.199.
- The clients connect to the stream.
- The clients are deployed simultaneously.
Addresses in the range of 188.8.131.52 to 184.108.40.206 (220.127.116.11/24) are reserved for local subnet multicast traffic. Routers do not forward datagrams sent to addresses in this range.
Addresses between 18.104.22.168 to 22.214.171.124 are known as globally scoped addresses, which means we can use them for multicasting across an intranet or the Internet. Some addresses are reserved within this range by the Internet Assigned Numbers Authority (IANA) for particular purposes.
Addresses between 126.96.36.199 to 188.8.131.52 (184.108.40.206/8) are reserved for administratively scoped addresses. As defined by RFC 2365, administratively scoped addresses are used to prevent multicast traffic across boundaries configured for the address.
Multicast will start a “wave” which clients connect to, so it doesn’t matter if you are installing 1 or 50 computers. The network and disk usage will be the same.
It might be a good idea to use scheduled multicast. Configure scheduled multicast here:
When to use multicast in SCCM
When deciding if you want to use multicast or not, take in consideration:
1. How many computers are you installing at a time
2. How important is timeliness?
3. Would your network support multicast?
4. Network bandwidth
One cool thing with multicast is that you can monitor the WDS server on the Distribution Point.
Wdsutil /get-allnamespaces /details:Clients
The speed of the transfer will depend on your slowest client. It will become the “Master Client.”
How to enable multicast in SCCM
When turning on multicast, make sure that the packages are transferred using multicast. I have seen this several times at customers, where they think everything is being transferred in multicast, but it transfers them using unicast.
To get multicast to work, you need to:
- Allow multicast in your network.
- Allow multicast on your Distribution Point.
- Allow multicast on the packages you want to be transferred using multicast. A recommendation is to have it on your OS image. Remember that if you enable multicast on your Distribution Point or your packages, you will need to update the Distribution Points.
- Update Distribution Points or the OS image after you have enabled multicast for the Distribution Point. If not, you will most likely run into a hash mismatch error.
Step 1 – Enable multicast in your network
Contact your networking team and inform them that you want to run multicast in the network.
Communication is crucial, as not all network infrastructure support multicast.
You will need to verify that the routers in your environment support:
- Internet Group Membership Protocol (IGMP)
- Multicast forwarding
- Multicast routing protocols
Step 2 – Enable multicast on your Distribution Point in SCCM
In the SCCM console, go to Administration -> Distribution Points.
Open up Properties for your Distribution Point and go to the Multicast tab.
Enable the option Enable multicast to simultaneously send data to multiple clients.
You can further conserve bandwidth by configuring when the operating system image is deployed from the distribution point.
This merges the client requests into a specific time frame, optimizing the benefits of multicast but might require clients to wait before the operating system package is available. The multicast session starts when it replies to a service location request from a client computer.
It can configure the distribution point to require a specified number of requests before it begins to multicast, or it can wait a specified number of minutes after the first request before it begins to multicast. The multicast session ends when the maximum number of client requests is reached. Clients can join a multicast session already in progress. When the multicast is complete, the client will then download missing portions of the package.
When you deploy a task sequence, with content configured for multicast, the content referenced by the task sequence must be downloaded locally from the distribution point to the destination computers.
When you deploy your task sequence, you can specify that the content is downloaded locally when the task sequence needs it or downloads the content before it runs the task sequence.
Step 3 – Allow multicast on the OS image in SCCM
The last step to enable multicast in your SCCM environment is to enable your operating system image to multicast.
In the SCCM console, go to Software Library -> Operating Systems -> Operating System Images and select your Operating System Image.
Right-click -> Properties and go to the Distribution Settings tab.
At the bottom of the windows, enable Allow this package to be transferred via multicast (WinPE only).
Once enabled, re-distribute the OS image to your Distribution Points.
The decision to use multicast or not in your SCCM environment should be based on:
- How many computers do you need to deploy simultaneously?
- Does your network support multicast?
- What hardware you are deploying to?
Are you deploying operating systems using multicast? Why did you make that decision? Please leave a comment below!