Multicast has been around for a long time (source). If you don’t do any unique configurations to SCCM, all packages are sent 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. If you for example 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 220.127.116.11 -> 18.104.22.168
- The clients connect to the stream
- The clients are deployed simultaneously
Addresses in the range of 22.214.171.124 to 126.96.36.199 (188.8.131.52/24) are reserved for local subnet multicast traffic. Routers do not forward datagrams sent to addresses in this range.
Addresses in the range of 184.108.40.206 to 220.127.116.11 are known as globally scoped addresses, which means they can be used for multicasting across an intranet or the Internet. Some addresses within this range are reserved by the Internet Assigned Numbers Authority (IANA) for special purposes.
Addresses in the range of 18.104.22.168 to 22.214.171.124 (126.96.36.199/8) are reserved for administratively scoped addresses. Administratively scoped addresses, as defined by RFC 2365, are used to prevent the forwarding of multicast traffic across boundaries configured for the address.
Multicast will start a “wave” which clients connect to, which means that it doesn’t matter if you are installing 1 or 50 computers, the network and disk usage will be the same.
Might be a good idea to use scheduled multicast:
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 they are transferred using unicast.
In order 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 DP or your packages, you will need to Update the Distribution Points.
- Update Distribution Points for the OS image after you have enabled multicast for the Distribution Point. If not, you will most likely run into a hash mismatch error.
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
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 consolidates the client requests into a specific time frame, which optimizes 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.
The distribution point can be configured 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 the task sequence. that multicasts the operating system, 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 it is needed by the task sequence or that all the content is downloaded before the task sequence is run.
Allow multicast on the OS image in SCCM
The last step to enable multicast in your SCCM environment is to enable multicast for your operating system image.
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!