The Background Intelligent
Transfer Service optimizes file transfers based on network conditions.
This optimization includes the following:
Automatically adjusting the rate of the transfer, based on available bandwidth
Suspending and resuming transfers that are interrupted
Providing rudimentary consistency checking
Using group policy and the Configuration Manager console to provide options for tuning BITS-enabled transfers
Let’s now look in depth at the BITS feature set, its use by ConfigMgr, and configuring BITS background transfers.
Configuration Manager
makes extensive use of BITS to efficiently use network bandwidth and
deal with network connections that are unreliable or not always
available. BITS supports downloads over both HTTP and HTTPS. SMS 2003
took advantage of BITS for downloading software from distribution points
to clients. Use of BITS in Configuration Manager 2007 has increased and
is integral for copying data to branch distribution points, which use
BITS to download and cache software packages from other distribution
points. BITS 2.0 or higher is a required ConfigMgr component. Here are
the key features of all BITS versions:
File transfers that occur quietly in the background, using only bandwidth that is not required by other applications
The ability to suspend and resume transfers interrupted by transient network conditions
BITS Versions for Configuration Manager Clients
BITS
has been a component of all Windows operating systems since Windows XP,
and it is available for Windows 2000. Microsoft has released several
versions of BITS, with added functionality in each revision. The
versions supported by Configuration Manager 2007 include the following:
BITS Version 2.0—
Supported for backward compatibility with systems running Windows 2000
Service Pack (SP) 4. Windows 2000 clients with earlier versions of BITS
are upgraded to version 2.0 during client installation.
BITS Version 2.5—
Installed on all clients which support that version during client
installation unless the client already has version 2.5 or higher. BITS
2.5 or higher is included on all systems running Windows Server 2008,
Windows Vista, and Windows XP Service Pack 3. Version 2.5 can also be
installed on machines running Windows Server 2003 SP 1 or SP 2 or
Windows XP SP 2.
BITS Version 3.0— Available on the Windows Server 2008 and Windows Vista operating systems only.
BITS versions 2.0 and 2.5 are available as
separate downloads. Because BITS upgrades require a reboot, you may want
to consider deploying the required BITS versions in advance to all
clients needing an upgrade, to avoid a required reboot during ConfigMgr
client deployment.
Tip: Advantage of Using Background Transfers
If you have ever initiated a large file
transfer and had your computer come to a crawl, you will appreciate the
concept of background transfers. BITS versions 1.0–2.0 used counters
from the network interface card (NIC) to determine demand for bandwidth
by other applications running on the local machine. All versions of BITS
throttle the bandwidth used, such that file transfers will only take
bandwidth not used by other applications. Foreground applications
therefore remain responsive to the user and other services are able to
operate without interruption. The transfers occur asynchronously,
meaning that the rate can vary over time.
Instead of a steady stream of data, you can
consider the data as being “drizzled” across the network. This also
allows a transfer that is interrupted to pick up where it left off when
connectivity is restored.
One problem with earlier versions of BITS is
that the system is only aware of the traffic passing through the NIC.
Even if the network segment to which the machine is connected is quite
congested, if there is little or no network activity on the local
machine it would appear to BITS that most of the bandwidth supported by
the card is available. Under these conditions BITS transmits data at a
high rate, potentially causing additional network congestion problems.
BITS 2.5 and higher versions get around this limitation by pulling usage
statistics from the Internet Gateway Device (IGD). Certain conditions
must be met in order to pull statistics from the IGD:
Universal Plug and Play (UPnP) must be enabled.
The device must support UPnP byte counters.
UPnP traffic (TCP 2869 and UDP 1900) is not blocked by any firewall device or software.
The device must respond to GetTotalBytesSent and GetTotalBytesReceived in a timely fashion.
The file transfer must traverse the gateway.
Note: Error 16393 if BITS Cannot Retrieve Information from IDG
If BITS is unable to retrieve counter data from the IDG, the following event is logged:
Event ID 16393 Source: Microsoft-Windows-Bits-Client
BITS has encountered an error communicating
with an Internet Gateway Device. Please check that the device is
functioning properly. BITS will not attempt to use this device until the
next system reboot. Error code: %1.
Modifying BITS Functionality Through Group Policy
In most circumstances, BITS will intelligently
manage the use of network bandwidth without additional configuration. If
you find that BITS-enabled transfers are consuming more bandwidth than
desired or if you want to provide extra protection for other
business-critical network activity, group policy can limit the bandwidth
BITS will consume. The setting is specified in Kbps, and its name
varies depending on the version of Windows you are running.
For Windows Server 2003 group policy, the setting is called “Maximum network bandwidth that BITS uses.”
For Windows Server 2008 group policy, the setting is “Maximum network bandwidth for BITS background transfers.”
In both versions of Windows Server, this setting
is found under Computer Configuration -> Administrative Templates
-> Network -> Background Intelligent Transfer Service. The
setting, shown in Figure 1
for Windows Server 2008 group policy, allows a limit for a specific
time interval (such as working hours) and a different limit for outside
that interval. All versions of BITS supported by ConfigMgr also have a
timeout for inactive transfers (defaulting to 90 days) that is
configurable through group policy.
BITS 3.0 introduces several new group policy
options. These allow you to control settings such as the maximum active
download time for BITS jobs, the number of jobs allowed per user and per
machine, and the maximum number of files per job.
Group
policy settings are only available in Active Directory domains.
Although group policies are generally applied at the domain or
Organizational Unit (OU) level, BITS-related policies are examples of a
policy that you might consider implementing at the site level.
An AD site is
generally a region of high network connectivity. By applying the
BITS-related policies to the site, you can control the behavior of all
systems in your AD forest based on network location, regardless of their
domain or OU membership.
Modifying BITS Functionality Within Configuration Manager
You can also define the maximum network
bandwidth for BITS background transfers using the ConfigMgr console. The
settings are specified on the BITS tab of the Computer Client Agent
property sheet, located under System Center Configuration Manager ->
Site Database -> Site Management -> <Site Code> <Site Name>
-> Site Settings -> Client Agents -> Computer Client Agent -
> BITS tab on the Configuration Manager console. As shown in Figure 2,
these settings are similar to the group policy settings, but in this
case they are applied either to all clients in the ConfigMgr site or to
branch distribution points only.
Comparative Advantages of Group Policy and ConfigMgr Settings for BITS
Unlike group policy settings, the settings on
the Computer Client agent apply to clients that are in workgroups or
untrusted domains. These are global settings for all clients in the
site, however, while group policy allows you to control the behavior of
BITS for clients in specific domains, OUs, individual computers, or AD
sites. You can achieve even more granular control of group policy by WMI
filtering and/or security group filtering. These filtering techniques
selectively apply group policy objects (GPOs) to users or computers
based on the results of WMI queries or security group membership. An
excellent resource on group policy management is available online at the
Windows Server 2003 Tech Center (http://technet2.microsoft.com/windowsserver/en/library/):
Windows Server 2008 group policy has a wider
range of BITS-related options for BITS version 3.0 than that available
through the ConfigMgr settings. Through ConfigMgr, however, you are able
to assign BITS settings specifically to branch distribution points.
Because there are different options available through group policy and
ConfigMgr settings, you may choose to use both to control BITS behavior.
Caution: Avoid Conflicts in Group Policy and ConfigMgr BITS Settings
If
you are using both group policy and ConfigMgr settings to govern BITS
functionality, be careful to avoid applying both methods to the same
systems. The domain policies will override locally stored ConfigMgr
settings and may produce unpredictable results. If systems requiring
ConfigMgr BITS settings reside in AD containers that have BITS policies
applied, you can use WMI filtering or security group filtering to block
application of group policy objects containing BITS settings. In any
case, you should plan and test such configurations carefully.
Other BITS Features
On client systems with multiple physical or
virtual interfaces, BITS uses the GetBestInterface function to select
the interface with the best route to the server it needs to access. Once
the file transfer is complete, BITS verifies that the file size is
correct. However, BITS does not perform a more extensive file integrity
check to detect corruption or tampering that may have occurred.
Enabling a Distribution Point for BITS
In order to enable a distribution point to use
BITS, the distribution point must be running IIS 6.0 or higher with
ASP.NET and WebDAV (Web-based Distributed Authoring and Versioning)
enabled. You can enable these features in various ways, depending on the
version of Windows Server you are running. After meeting these
prerequisites, you can enable a distribution point for BITS through a
check box on the distribution point properties page, as shown in Figure 3.
Note that BITS-enabled distribution points will download files to
clients and branch distribution points using BITS; however, programs
that run from the distribution point will use the standard SMB protocol.
Tip: WebDAV and Windows Server 2008
You must manually install WebDAV on Windows 2008.