Windows 7 : Using WDS for Multicast Deployments (part 1) - How WDS Multicast Works

11/21/2013 7:56:35 PM

Any project designed to deploy Windows 7 in an organization will probably require that entire teams, departments, or offices be migrated in as short a time as possible. That means you could have dozens or even hundreds of machines all trying to download an image from a WDS server at the same time. Even a handful of WDS clients could congest the network. This congestion would slow down the image deployment. Worse still, it could negatively affect the other production systems on the network and prevent people from doing their jobs. Windows Server 2008 added the ability to do a multicast deployment to resolve this issue.

Normally, network conversations are one-to-one (sender-to-recipient) transmissions. In such a transmission, a sender sends each packet out once for each recipient. If a stream of data contains 1,000 packets and there are 100 recipients, then the sender transmits 100,000 packets. There will be 100 simultaneous conversations and the network might become congested. In a multicast transmission, a sender transmits each packet on the network to multiple simultaneous recipients. One packet is sent out at a time and each recipient listens for that packet. Using the previous example, the sender will transmit 1,000 packets. Each of the 100 recipients will listen to the transmission and pick up the data. There is much less data transmitted at once and the network is much less likely to be congested by the transmission.

In this section you will read about why multicast is important to WDS administrators, how multicast works, and how to set up a multicast deployment.

1. Why Multicast Deployments Are Needed

Imagine that you are working on a Windows 7 deployment project. You are using WDS to deploy a 7 GB installation image to a number of machines. Because a deployment is quick, the organization has decided that you can do this one team at a time during the workday. You start working on the first team where there are 20 machines to be updated. You go to each machine, start up the WDS client, and start a deployment. All 20 machines are installing at the same time. That's when your phone starts to ring.

Figure 1 illustrates what has happened. Twenty WDS clients have simultaneously started downloading a single 7 GB installation image over the network. This is the default configuration for WDS and it will flood the network, resulting in the following:

  • The deployment will take much longer because each client has a one-to-one session with the WDS server and the installation image will take longer to download. The cumulative effect will cause all 20 machines to take much longer to install than they should have. That means the users of those machines cannot work for longer than expected.

  • The network congestion will affect other users' ability to use network services such as file shares, SharePoint servers, email, and so on.

  • Your hearing will be affected when your boss screams through the phone at you.

Figure 1. A default nonmulticast deployment

Imagine if this was a much bigger deployment. A larger enterprise might decide to upgrade hundreds of machines at once. The network would not be able to handle this load and the WDS server might also struggle.

If you are deploying an identical installation image to a number of machines, wouldn't it make sense if the WDS server could transmit it once on the network and all the clients received the transmission at the same time? Doing so would drastically reduce the impact on the network. In this scenario, around 1/20th of the original amount of data would be transmitted. That is the idea behind a multicast deployment.

2. How WDS Multicast Works

The basic idea of a multicast is that a server with data (the WDS server with an installation image) will transmit data once on the network and a number of listening clients (WDS clients) receive the data. This greatly reduces the workload on the server and the amount of congestion on the network. You can see how Figure 2 compares with Figure 1.

Figure 2. A multicast deployment

That option sounds pretty easy, but it's not quite that simple. There are a few considerations:

Multicast IP Address Range

A multicast client will require a special IP range. You can configure a WDS server to obtain these IPv4 or IPv6 addresses from DHCP. You can also set up the WDS server to provide configurations to WDS clients from a range of IPv4 or IPv6 addresses that are configured on the WDS server. If you have multiple WDS servers in a site, you must ensure that they have nonoverlapping IP ranges if the WDS server will provide the IPv4 and IPv6 configurations.

WDS Clients with Differing Network Connections

It is likely that a WDS server will have to work with clients that have connections of different speeds. For example, there may be machines with 10 Gbps, 1 Gbps, and 100 Mbps network cards. A multicast deployment of an installation image will, by default, run at a single speed that suits all of the multicast WDS clients. In other words, the deployment will run at the speed of the slowest client (also known as the master client). That may mean that many 10 Gbps clients will download an installation image at 100 Mbps if a single slow WDS client joins the multicast session.

WDS allows you to limit how clients on slow network connections will delay clients on faster network connections. You can configure a multicast to run at different speeds. Clients can be divided up into three sessions (slow, medium, and fast) or two sessions (slow and fast). You can even specify a minimum supported connection speed in Kbps that a WDS client must meet in order to join the session.

WDS Clients Not Starting at the Same Time

It is possible that some WDS clients will start up later than others. For example, you might start a multicast deployment for 100 computers. You cannot boot up all 100 machines into the WDS client at the same time. That means that the multicast deployment will start before all of the clients are ready. WDS gives you two solutions to this.

By default, the late WDS clients will join the existing session and download the image. They are joining the bottom of the session and will be missing the first part of the image. Eventually the WDS server will reach the end of the transmission. All of those WDS clients that received the complete image will continue with their installation. The WDS server will not hang up. It knows that there are existing WDS clients that have a partial image. It will restart the multicast transmission from the start. Each of the late WDS clients will complete their download of the installation image. They will sign off and start their installation as the missing part of the image is downloaded. Eventually all WDS clients will complete their download and the WDS server can terminate the multicast. That means there may be more than one multicast of the installation image. It is much better than the default one-to-one behavior of WDS, but it is not as efficient as it could be in a large simultaneous deployment.

WDS supports scheduled multicasts. The WDS clients can be started up in advance. The WDS clients will wait for the multicast to start. The scheduled cast can be triggered to start when one of three possible conditions is met. An administrator can manually start it. It can start once a minimum number of WDS clients join the multicast, or it can be started at a specified date or time.

Disk Space on the Client

WDS client behavior is slightly different in a multicast deployment. In a normal nonmulticast deployment, the WDS client expands the installation image as it is downloaded. In a multicast deployment, the complete image is downloaded to the local disk of the WDS client before it can be expanded. In this way, a WDS client can join an existing WDS session and download a partial image before the missing piece can be retransmitted by the WDS server.

The requirements for multicast deployments are as follows:

Network Appliances

The devices on the network, such as switches and routers, must support multicast transmissions. Internet Group Membership Protocol (IGMP) snooping should be enabled on all devices that reside between the WDS server and the WDS clients. This will optimize the multicast transmission by ensuring that the multicast packets are sent only to the relevant multicast clients. If you do not enable IGMP snooping, the multicast will actually be a broadcast that is sent to all machines on the network.

Boot Image

If you are deploying Windows 7, you will probably be using a boot image that is created from the Windows 7 media or the latest version of the Windows Automated Installation Kit. The boot image will have support for multicast deployments.

  •  Windows 7 : Tweaking Your WDS Server - Manage Domain Membership Using WDS
  •  Windows Server 2003 : Distributing Software with Group Policy (part 3) - Deploying Software with Group Policy
  •  Windows Server 2003 : Distributing Software with Group Policy (part 2) - Setting Windows Installer Package Properties
  •  Windows Server 2003 : Distributing Software with Group Policy (part 1) - Specifying Software Deployment Properties for the GPO
  •  Windows 7 : Tweaking Your WDS Server - Using WDS to Name Machines
  •  Windows 7 : Microsoft Deployment Toolkit 2010 - Deploying Your First Image
  •  Windows 7 : Microsoft Deployment Toolkit 2010 - Creating and Populating a Deployment Share (part 6) - Updating the Deployment Share
  •  Windows 7 : Microsoft Deployment Toolkit 2010 - Creating and Populating a Deployment Share (part 5) - Creating a Task Sequence
  •  Windows 7 : Microsoft Deployment Toolkit 2010 - Creating and Populating a Deployment Share (part 4) - Populating the Deployment Share - Importing Drivers, Importing Packages
  •  Windows 7 : Microsoft Deployment Toolkit 2010 - Creating and Populating a Deployment Share (part 3) - Populating the Deployment Share - Importing Applications
    Most View
    SQL Server 2008 : Policy-based management - Policy-based management terms
    Canon i-Sensys LBP7680Cx
    Oracle Coherence 3.5 : Planning Your Caches - Backing maps
    WD My Net N900 Central 1TB - Humble Broadband Router
    Sony Xperia Tablet Z - Slick Design And Useful Features (Part 2)
    Overview On UPnP Network Protocol (Part 1)
    Corsair Dominator Platinum Dual-Channel DDR3 Memory Kits (Part 3)
    Samsung 45mm f/1.8 NX i-Function Lens
    Windows Server 2008 and Windows Vista : Using .adm Template Language (part 7)
    Not Bad For A Monkey (Part 3) : What's a Fusion Drive?
    - First look: Apple Watch

    - 3 Tips for Maintaining Your Cell Phone Battery (part 1)

    - 3 Tips for Maintaining Your Cell Phone Battery (part 2)
    - How to create your first Swimlane Diagram or Cross-Functional Flowchart Diagram by using Microsoft Visio 2010 (Part 1)

    - How to create your first Swimlane Diagram or Cross-Functional Flowchart Diagram by using Microsoft Visio 2010 (Part 2)

    - How to create your first Swimlane Diagram or Cross-Functional Flowchart Diagram by using Microsoft Visio 2010 (Part 3)
    Popular Tags
    Microsoft Access Microsoft Excel Microsoft OneNote Microsoft PowerPoint Microsoft Project Microsoft Visio Microsoft Word Active Directory Biztalk Exchange Server Microsoft LynC Server Microsoft Dynamic Sharepoint Sql Server Windows Server 2008 Windows Server 2012 Windows 7 Windows 8 Adobe Indesign Adobe Flash Professional Dreamweaver Adobe Illustrator Adobe After Effects Adobe Photoshop Adobe Fireworks Adobe Flash Catalyst Corel Painter X CorelDRAW X5 CorelDraw 10 QuarkXPress 8 windows Phone 7 windows Phone 8 BlackBerry Android Ipad Iphone iOS
    Top 10
    3 Tips for Maintaining Your Cell Phone Battery (part 2) - Discharge Smart, Use Smart
    3 Tips for Maintaining Your Cell Phone Battery (part 1) - Charge Smart
    OPEL MERIVA : Making a grand entrance
    FORD MONDEO 2.0 ECOBOOST : Modern Mondeo
    BMW 650i COUPE : Sexy retooling of BMW's 6-series
    BMW 120d; M135i - Finely tuned
    PHP Tutorials : Storing Images in MySQL with PHP (part 2) - Creating the HTML, Inserting the Image into MySQL
    PHP Tutorials : Storing Images in MySQL with PHP (part 1) - Why store binary files in MySQL using PHP?
    Java Tutorials : Nested For Loop (part 2) - Program to create a Two-Dimensional Array
    Java Tutorials : Nested For Loop (part 1)