Using Transport Server

Applies To: Windows Server 2008

This topic only applies to Windows Server 2008. If you have Windows Server 2008 R2, see Configuring Transport Server.

You have two options when installing the Windows Deployment Services role in Windows Server 2008. You can install both the Deployment Server and Transport Server role services (which is the default) or you can install only the Transport Server role service. The second configuration is for advanced scenarios, such as environments without Active Directory Domain Services (AD DS), Domain Name System (DNS), or Dynamic Host Configuration Protocol (DHCP). You can configure Transport Server to enable you to boot from the network using Pre-Boot Execution Environment (PXE) and Trivial File Transfer Protocol (TFTP), a multicast server, or both. Note that Transport Server does not contain or support the Windows Deployment Services image store.

In This Topic

  • Comparison of Deployment Server and Transport Server

  • Configuring Transport Server

  • Using a Transport Server to Boot from the Network

  • Using a Transport Server for Multicasting

    • How to create a namespace with Transport Server

    • How to join a client computer to a namespace by using Wdsmcast.exe

    • How to perform common tasks

Comparison of Deployment Server and Transport Server

The following table compares these two installation options. In general, Deployment Server enables the end-to-end Windows Deployment Services deployment solution. Transport Server is a platform that you can use to create a custom multicast deployment solution.

  Deployment Server Transport Server

Server requirements

Requires AD DS, Dynamic Host Configuration Protocol (DHCP), and Dynamic Name Services (DNS) in the environment.

Does not require other servers in the environment.

PXE

Supports network boot with the default PXE provider.

A PXE provider is not installed so you must create a custom PXE provider.

Image server

Includes the Windows Deployment Services image server.

Does not include the Windows Deployment Services image server.

Transmission method

Allows both unicasting and multicasting.

Allows only multicasting.

Management tools

Is managed using either the Windows Deployment Services MMC snap-in or the WDSUTIL command-line tool.

Is managed only by the WDSUTIL command-line tool.

Application on the client computer

Uses the Windows Deployment Services client (which is basically Setup.exe and supporting files), Wdsmcast.exe (which is included in the Windows AIK), or a custom multicast application.

Uses only Wdsmcast.exe or custom application.

The server architectures are illustrated in the following diagram. The blue parts are installed with Transport Server and the Deployment Server. The grey parts are installed with the Deployment Server only. The yellow parts are not installed with either, but can be written using guidelines in the Windows SDK.

Configuring Transport Server

Transport Server does not require any configuration. However, the following configurations are optional. After configuring any of these settings, you must restart the WDSServer service to apply the changes (at an elevated command prompt, run net stop wdsserver, and then run net start wdsserver.)

  • Configure how to obtain IP addresses. If multiple servers are using multicast functionality on a network (Transport Server, Deployment Server, or another solution), it is important that each server is configured so that the multicast IP addresses do not collide. Otherwise, you may encounter excessive traffic when you enable multicasting. Note that each Windows Deployment Services server will have the same default range. To work around this issue, specify static ranges that do not overlap to ensure that each server is using a unique IP address, or configure each of the servers to obtain multicast addresses from a Multicast Address Dynamic Client Allocation Protocol (MADCAP) server.

    • To use MADCAP for IP addresses, run WDSUTIL /Set-TransportServer /ObtainIPv4From:DHCP at an elevated command prompt.

    • To defined range for IP addresses, run WDSUTIL /Set-TransportServer /ObtainIPv4From:Range /Start:<start Ipv4 Address> /End:<end Ipv4 Address> at an elevated command prompt.

  • Set the network profile. The network profile specifies the network speed of the Transport Server. Each profile contains settings to optimize performance for the specified speed (such as the maximum transport window size, the transport cache size, and the block size). You can view the profiles at HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WDSServer\Providers\WDSMC\Profiles. Specify Custom if you want to customize the settings yourself by editing the registry. You should not modify the other profiles that are provided. You should use the custom profile even if you only want to change one setting. To set the profile, run WDSUTIL /Set-TransportServer [/Server:<name>] /Profile:{10Mbps|100Mbps|1Gbps|Custom} at an elevated command prompt.

  • Set the UDP port range. To do this, run WDSUTIL /Set-TransportServer [/Server:<name>] /StartPort:x /EndPort:y at an elevated command prompt.

Using a Transport Server to Boot from the Network

A PXE server consists of two parts: a PXE listener that accepts incoming traffic, and a PXE provider that determines how best to respond to it. Transport Server contains only the PXE listener. In order to use Transport Server to boot a computer from the network, you will need to write a custom PXE provider, and register the provider with Windows Deployment Services, as documented in the Windows Server 2008 Software Development Kit (SDK). For more information about these components, see Windows Deployment Services Server Components.

Using a Transport Server for Multicasting

The multicast server in Windows Deployment Services also has two parts – the multicast provider (which transmits data over the network) and the content provider (which understands the data and passes it to the multicast provider). The content provider (installed with both Transport Server and Deployment Server) can be used to transfer any file. It also has specific knowledge of the .wim format, which it uses to transfer images while other images are added to the image group. You can create a custom content provider for cases where the default provider is not sufficient (for example when using Transport Server to deploy an operating system from inside a .vhd image). See the Windows Server 2008 SDK for guidelines and samples for authoring and registering the provider.

How to create a namespace with Transport Server

Transport Server transmits data by using multicast functionality through an object called a namespace. A namespace is analogous to a multicast transmission used by Deployment Server. A namespace consists of content to transfer (determined by the content provider with a configuration string), configuration settings (for example, Scheduled-Cast or Auto-Cast), and the names of connected clients. In this section:

  • Prerequisites for creating a namespace

  • To create a namespace

Prerequisites for creating a namespace

To create a namespace with Transport Server, you need the following:

  • A content provider. You can use the Windows Deployment Services content provider (named WDS) that is included when you install Transport Server. Or you can create your own content provider by using the tools in the Windows Server 2008 SDK.

  • Data to transmit. You can transmit any data that your content provider knows how to find (for example operating system images, data files, or an MP3 archive). The Windows Deployment Services content provider knows how to find any file within a folder.

  • Familiarity with WDSUTIL. The only way to manage Transport Server is through the WDSUTIL command-line tool.

  • A way to boot clients. This is because Transport Server does not include a PXE provider (such as BINLSVC).

  • Routers. The routers in your environment must support multicasting. In particular, your network infrastructure needs to support the Internet Group Management Protocol (IGMP) to properly forward multicast traffic. Without the IGMP, multicast packets are treated as broadcast packets, which can lead to network flooding.

To create a namespace

Like with Deployment Server, you can create Scheduled-Cast and Auto-Cast namespaces. For more information about each parameter, see Options.

  • To create a Scheduled-Cast namespace

    Syntax: WDSUTIL /New-Namespace [/Server:<server name>] /Namespace:<namespace name> /FriendlyName:<friendly name> [/Description:<description>] /ContentProvider:<name> /ConfigString:<config string> /NamespaceType:ScheduledCast [/Time:<YYYY/MM/DD:hh:mm>] [/Clients:<number of clients>]

    For example: WDSUTIL /New-Namespace /Server:MyWDSServer /FriendlyName:"Custom Scheduled Namespace" /Namespace:"Custom Scheduled 1" /ContentProvider:WDS /ConfigString:D:\Images /NamespaceType:ScheduledCast /Time:"2006/11/20:17:00" /Clients:20

  • To create an Auto-Cast namespace

    Syntax: WDSUTIL /New-Namespace [/Server:<server>] /Namespace:<namespace name> /FriendlyName:<friendly name> [/Description:<description>] /ContentProvider:<name> /ConfigString:<config string> /NamespaceType:AutoCast

    For example:

    WDSUTIL /New-Namespace /FriendlyName:"Custom AutoCast Namespace" /Namespace:"Custom Auto 1" /ContentProvider:WDS /ConfigString:D:\Images /NamespaceType:AutoCast

How to join a client computer to a namespace by using Wdsmcast.exe

The Windows Deployment Services client user interface will not work with Transport Server. Therefore, to connect a client to a namespace, you have two options:

  • Use Wdsmcast.exe, which is included in the Windows Automated Installation Kit (AIK). This is a command-line utility you can use to connect to any namespace or multicast transmission that uses the Windows Deployment Services content provider. For more information about this, see the following procedure.

  • Use a custom deployment client. You can do this by using the APIs of the Windows Deployment Services transport client. You will need to create a custom client if you are using a custom content provider. For instructions on how to do this, see the Windows Server 2008 SDK.

To join a namespace by using Wdsmcast.exe

  1. Download and install the Windows AIK.

  2. Run Copype.cmd to create a Microsoft Windows Preinstallation Environment (Windows PE) image.

  3. Mount the image by using Imagex.exe, and then copy the Wdsmcast.exe into the Windows PE image.

  4. If the content that you are multicasting is a .wim image, copy Imagex.exe into the Windows PE image that you just created. This is so the image can be applied after it is transmitted.

  5. Unmount the image and commit the changes.

  6. Boot the client computer to the image (from a CD, DVD, or USB drive, or by using the PXE capability in Transport Server).

  7. Start Windows PE networking by running WPEINIT on the client computer.

  8. From the client computer, run a command with the following syntax (the following table explains these options):

    WDSMCAST /Transfer-File /Server:<server name> /Namespace:<namespace name> /Username:<domain and user name> [/Password:<password>] /SourceFile:<file path> /DestinationFile:<file path>

Syntax:

Option Description

/Server:<server name>

The name of the Windows Deployment Services server. This can be either the NetBIOS name or the fully qualified domain name (FQDN). If the server name is not specified, the name of the local server will be used.

/Namespace:<namespace name>

The name of the namespace. This value should match the name given when creating the namespace on the server. This is not the "friendly" name, and it must be unique.

Note
When using this option with Deployment Server, the syntax is as follows: /Namespace:WDS:<ImageGroup>/<ImageName>/<Index>. For example: WDS:ImageGroup1/install.wim/1

Note

To view all namespaces that currently exist on the server, run WDSUTIL /get-allnamespaces.

/Username:<domain and user name>

The domain name and user name to connect to the server. These can be either in the format Domain\User or the format User@Domain.

[/Password:<password>]

The password for the user. If this is not specified, you will be prompted to enter it.

/SourceFile:<file path>

Path to the name of the file to be transferred, relative to the directory specified in the /ConfigString path of the namespace. For example, if you specified WDSUTIL /New-Namespace /ConfigString:C:\RemoteInstall\Images, specify /SourceFile:ImageGroup\install.wim.

/DestinationFile:<file path>

The complete file path and name for the destination file.

How to perform common tasks

The following are the most commonly used commands with Transport Server. For more information about each parameter, see Options.

  • To start the transmission. To start a transmission, the transmission must be a Scheduled-Cast namespace, and there must be at least one client that has requested the transmission of data.

    Syntax: WDSUTIL /Start-Namespace /Namespace:<name>

  • To display information for the clients that are connected to a namespace (for example, computer name, MAC address, IP address, speed, and percent complete)

    Syntax: WDSUTIL /Get-Namespace /Namespace:<name> /Show:Clients

  • To remove a namespace

    Syntax: WDSUTIL /Remove-Namespace [/Server:<server name>] /Namespace:<namespace name> [/Force]

    For example:

    • To remove the namespace after current client downloads are complete, run:

      WDSUTIL /Remove-Namespace /Namespace:"Custom Auto 1"

    • To remove the namespace immediately and stop any current client downloads, run:

      WDSUTIL /Remove-Namespace /Server:MyWDSServer /Namespace:"Custom Auto 1" /Force

  • To stop a client installation completely

    Syntax: WDSUTIL /Disconnect-Client /ClientID:<id> /Force

Important

You should use this option with caution because the installation will fail and the computer could be left in an unusable state. You might consider using this option if you do not recognize a client and you are concerned about security, or if you are very concerned about bandwidth.

  • To discontinue the download for a client but continue to transfer the image through another method (such as SMB copy). The client will fall back to another method of transfer only if the client implementation supports this behavior. Although the Windows Deployment Services client will fall back to SMB transfer, note that Wdsmcast.exe does not support any fallback mechanism.

    Syntax: WDSUTIL /Disconnect-Client /ClientID:<id>

  • To view the client <id> for each namespace

    Syntax: WDSUTIL /Get-Namespace /Namespace:<name> /show:clients

  • To view all clients connected to all namespaces on the server

    Syntax: WDSUTIL /Get-AllNamespaces

Options

The options in the following table apply to the sections "Creating a namespace with Transport Server" and "Using common commands" earlier in this chapter.

Option Description

/Server:<server name>

The name of the Windows Deployment Services server. This can be either the NetBIOS name or the FQDN. If the server name is not specified, the name of the local server will be used.

/Namespace:<Namespace name>

The name of the namespace. This value should match the name given when creating the namespace on the server. Note that this is not the "friendly" name, and it must be unique.

Note
When using this option with Deployment Server, the syntax is as follows: /Namespace:WDS:<ImageGroup>/<ImageName>/<Index>. For example: WDS:ImageGroup1/install.wim/1

Note

To view all namespaces that currently exist on the server, run WDSUTIL /get-allnamespaces.

/FriendlyName:<friendly name>

The friendly name of the namespace. Note that this name does not need to be unique.

/Description:<description>

A short description of the namespace.

/ContentProvider:<name>

The name of the content provider that supplies data to the multicast server. If you are using the Windows Deployment Services content provider, specify WDS.

/ConfigString:<config string>

The configuration string for the content provider. If you are using the Windows Deployment Services content provider (WDS), specify the path to the folder where content is stored (for example, D:\Photos\Landscapes). This path can be anywhere on the server.

/NamespaceType: {AutoCast|ScheduledCast}

The type of namespace to be created.

/Time:<YYYY/MM/DD:hh:mm>

The time on the server when the namespace will start (note that you can set this option only for Scheduled-Cast transmissions).

/Clients:<Num of Clients>

The number of clients to wait for before the namespace will start (note that you can set this option only for Scheduled-Cast transmissions).

/Force

An option that deletes the transmission, even if there are current client installations. If you do not specify /Force, the transmission will be in the Delete Pending state, meaning that the transmission will be removed after clients' downloads are completed.