Active Directory Replication Technologies
Active Directory Replication Technologies
• Only changes that have not been received are replicated to a destination.
Conflicts are resolved according to the last change that occurred, even when individual domain controller clocks are
•
not synchronized or when administrators at different domain controllers make changes to the same object.
The replication model also accommodates multimaster updates by enabling replicated changes to be stored on
destination domain controllers and forwarded to other domain controllers. This store-and-forward capability removes the
need for every domain controller on which updates originate to contact every other domain controller that requires the
updates.
Top of page
Active Directory Replication Topology
The replication topology is the current set of Active Directory connections by which domain controllers in a forest
communicate over local area networks (LANs) and wide area networks (WANs) to synchronize the directory partition
replicas that they have in common. The replication topology ensures the transfer of changes to all directory partition
replicas in the forest without redundancy. Replication topology generation is dynamic and adapts to network conditions
and availability of domain controllers.
To ensure a consistent replication topology, domain controllers use global configuration data to arrive at the same view of
domain controller data. They apply the same algorithm to this data to arrive at an identical replication topology.
Operating independently, each domain controller contributes to a uniform and efficient replication topology.
Replication topology generation is optimized for speed within sites and for cost between sites. Replication between
domain controllers in the same site occurs automatically in response to changes and does not require administrative
management. Replication within a site is sent uncompressed to reduce processing time. Replication between domain
controllers in different sites can be managed to control the scheduling and routing of replication over WAN links.
Replication between sites is compressed so that it uses less bandwidth when sent across WAN links, thereby reducing the
cost.
• Related Information
Active Directory replication is the means by which changes to directory data are transferred between domain controllers
in an Active Directory forest. The Active Directory replication model defines the mechanisms that allow directory updates
to be transferred automatically between domain controllers to provide a seamless replication solution for the Active
Directory distributed directory service.
Note
This discussion of the replication model and related mechanisms for transferring directory data between domain
•
controllers does not include the topic of replication topology. Replication topology is the set of connections that are
generated by the Knowledge Consistency Checker (KCC) to enable replication to take place between domain
controllers.
Active Directory is distributed by means of directory partitions. In addition to directory partitions that store forest-wide
data, each domain controller stores a replica of a single domain directory partition, which contains data that is specific to
one or more closely aligned business units—the users, computers, organizational units, and network resources that are
managed by the same set of service and data administrators. Because each domain controller stores only one domain
directory partition, Active Directory can scale to hundreds or thousands of domains storing millions of objects.
To efficiently synchronize data between domain controllers that store the same domain, Active Directory replication
transfers updates according to directory partition. Each domain controller receives directory updates to the data that is
stored in its domain only, as well as updates that are stored in the two directory partitions that store configuration and
schema data for the forest.
Note
In Windows Server 2003 forests, domain controllers can also store application directory partitions, which store
•
application data that can be replicated to only the domain controllers that store the directory partition, irrespective of
domain.
Active Directory replication manages the transfer of these updates to the appropriate domain controllers automatically,
keeping domain data up-to-date among all domain controllers in the domain, regardless of location. In the process, all
domain controllers in the forest are also updated with changes to forest-wide data.
Top of page
Replication Model Components
To globally distribute the directory service, the Active Directory replication model incorporates the components in the
following table.
Replication Model Components and Advantages
Multimaster Every domain controller can receive originating updates to data for Provides fault tolerance, eliminating
replication which it is authoritative, rather than having a single domain the dependency on a single domain
controller that receives all original updates (single-master controller to maintain directory
replication, such as Windows NT 4.0 replication). operations.
Pull replication Domain controllers request (pull) changes rather than send (push) Reduces unnecessary network traffic.
changes that might not be needed.
Store-and- Each domain controller communicates with a subset of domain Balances the replication load among
forward controllers to transfer replication changes, rather than one domain many domain controllers.
replication controller being responsible for communicating with every other
domain controller that requires the change.
State-based Each domain controller tracks the state of replication updates. Conflicts and unnecessary replication
Component Description Advantage
Replication Latency
Multimaster replication involves latency — the period of time for an update that occurs on the originating domain
controller to reach all other domain controllers that need it. To address replication latency, multimaster replication
ensures loose consistency with convergence, as follows:
Loose consistency means that the replicas are not guaranteed to be consistent with each other at any particular point
•
in time because changes can originate from any replica at any time.
Convergence means that if the system is allowed to reach a steady state in which no new updates are occurring and
•
all previous updates have been completely replicated, all replicas of the same directory partition are guaranteed to
converge on the same set of values.
With multimaster replication, it is not necessary for every domain controller to replicate with every other domain
controller. Instead, the system implements a robust set of connections that determines which domain controllers
replicate to which other domain controllers to ensure that networks are not overloaded with replication traffic and that
replication latency is not so long that it inconveniences users. The set of connections through which changes are
replicated to domain controllers in an enterprise is called the replication topology.
Although it involves latency, multimaster update capability provides high availability of write access to directory objects
because several servers can contain writable copies of an object. Each domain controller in the domain can accept
updates independently, without communicating with other domain controllers. Active Directory replication resolves any
conflicts that occur when multiple updates are made to a single directory object.
Top of page
Related Information
The following resources contain additional information that is relevant to this section.
• Urgent Replication
• Related Information
Active Directory data takes the form of objects that have properties, or attributes. Each object is an instance of an object
class, and object classes and their respective attributes are defined in the Active Directory schema. The values of the
attributes define the object, and a change to a value of an attribute must be transferred from the domain controller on
which it occurs to every other domain controller that stores a replica of that object.
Thus, Active Directory replicates directory data updates at the attribute level. In addition, updates from the same
directory partition are replicated as a unit to the corresponding replica on the destination domain controller over the
same connection to optimize network usage.
The information in this section applies to organizations that are designing, deploying, or operating an Active Directory
infrastructure that satisfies the following requirements:
A Domain Name System (DNS) infrastructure is in place that manages the name resolution for domain controllers in
•
the forest. Active Directory-integrated DNS is assumed, wherein DNS zone data is stored in Active Directory and is
replicated to all domain controllers that are DNS servers.
• All Active Directory sites have local area network (LAN) connectivity.
Component Description
Private DRS client Private version of Ntdsapi.dll that runs on domain controllers to make RPC calls for replication.
Asn.1 Encodes and decodes LDAP requests for transport over TCP/IP or UDP/IP.
Component Description
Drs.idl Set of functions for replication (for example, Get-Changes) and maintenance (for example, Get
replication status)
MAPI (address Entry protocol for address book applications such as Microsoft Outlook.
book)
Ntdsa.dll The directory service module, which supports the Windows Server 2003 and Windows 2000 replication
protocol and LDAP, and manages partitions of data.
ISMServ.exe Prepares replication data in e-mail message format for SMTP protocol transport.
CDO library Used by Ismserv.exe to package replication data into a mail message.
Protocol Description
LDAP The primary directory access protocol for Active Directory. Windows Server 2003 family, Windows XP,
Windows 2000 Server family, and Windows 2000 Professional clients, as well as Windows 98,
Windows 95, and Windows NT 4.0 clients that have the Active Directory client components installed,
use LDAP v3 to connect to Active Directory.
IP Routable protocol that is responsible for the addressing, routing, and fragmenting of packets by the
sending node. IP is required for Active Directory replication.
Replication RPC The Directory Replication Service (Drsuapi) RPC protocol, used in the enabling of administration and
monitoring of Active Directory replication, to communicate replication status and topology and
network topology from a client running administrative tools to a domain controller. RPC is required
by Active Directory replication.
Replication Simple Replication protocol that can be used by Active Directory replication over IP network transport for
Mail Transfer message-based replication between sites only and for non-domain replication only.
Protocol (SMTP)
Replication Subsystem
Within the directory service component of the Active Directory architecture, the replication subsystem interacts with the
operational layer to implement replication changes on the destination domain controller. The replication subsystem also
determines the changes that a replication partner already has or those that are needed.
The database layer manages the database capability of the directory service. The extensible storage engine (Esent.dll)
communicates directly with individual records in the directory data store.
The following diagram shows the replication subsystem components.
Replication Subsystem Components
The components of the replication subsystem are described in the following table.
Replication Subsystem Components
Component Description
Ntdsa.dll Directory system agent (DSA), which provides the interfaces through which directory clients and
other directory servers gain access to the directory database.
Replication Directory Replication System (DRS) interface, which communicates with the database through
RPC.
Operational layer Performs low-level operations on the database without regard for protocol.
Database layer API that resides within Ntdsa.dll and provides an interface between applications and the directory
database to protect the database from direct interaction with applications.
Extensible storage Manages the tables of records, each with one or more columns that comprise the directory
engine (ESE) database.
Multimaster All domain controllers accept LDAP requests for changes to attributes of Active LDAP update
replication Directory objects for which they are authoritative, subject to security constraints Directory partitions
that are in place. Each originating update is replicated to one or more other Change notification
domain controllers, which record it as a replicated update. Change tracking
Conflict resolution
Pull replication When an update occurs on a domain controller, it notifies its replication partner. DNS name resolution
The partner domain controller responds by requesting (pulling) the changes from Kerberos authentication
the source domain controller. Change tracking
Change notification
Change request
Store-and- Domain controllers store changes received from replication partners and forward Change tracking
forward the changes to other domain controllers so that the originating domain controller Kerberos authentication
replication for each change is not required to transfer changes to every other domain DNS name resolution
controller that requires the change. Change notification
Change request
State-based Active Directory replication is driven by the difference between the current Change-tracking
Component Description Related Mechanisms
replication “state” (the current values of all attributes) of the directory partition replica on metadata:
the source and destination domain controllers. This state includes metadata that
is used to resolve conflicts and to avoid sending the full replica on each
• Update sequence
number (USN)
replication cycle. counter
• Up-to-dateness
vector
• High-watermark
These mechanisms are implemented by the replication system in a sequence of events that occurs between two domain
controllers.
The following diagram shows a simplified version of the sequence between source and destination domain controllers
when the source initiates replication by sending a change notification.
Replication Sequence
Top of page
Active Directory Data Updates
When a change is made to an object in a directory partition, the value of the changed attribute or attributes must be
updated on all domain controllers that store a replica of the same directory partition. Domain controllers communicate
data updates automatically through Active Directory replication. Their communication about updates is always specific to
a single directory partition at a time.
Active Directory data is logically partitioned so that all domain controllers in the forest do not store all objects in the
directory. Active Directory objects are instances of schema-defined classes, which consist of named sets of attributes.
Schema definitions determine whether an attribute can be administratively changed. Attributes that cannot be changed
are never updated and therefore never replicated. However, most Active Directory objects have attribute values that can
be updated.
Different categories of data are stored in replicas of different directory partitions, as follows:
Domain data that is stored in domain directory partitions:
•
• Every domain controller stores one writable domain directory partition.
A domain controller that is a global catalog server stores one writable domain directory partition and a partial, read-
•
only replica of every other domain in the forest. Global catalog read-only replicas contain a partial set of attributes
for every object in the domain.
Configuration data: Every domain controller stores one writable configuration directory partition that stores forest-
•
wide data controlling site and replication operations.
Schema data: Every domain controller stores one writable schema partition that stores schema definitions for the
•
forest. Although the schema directory partition is writable, schema updates are allowed on only the domain controller
that holds the role of schema operations master.
Application data: Domain controllers that are running Windows Server 2003 can store directory partitions that store
•
application data. Application directory partition replicas can be replicated to any set of domain controllers in a forest,
irrespective of domain.
Changes to Attributes
Active Directory updates originate on one domain controller (originating updates) and the same update is subsequently
made on other domain controllers during the replication process (replicated updates).
Object update behavior is consistent and predictable: when a set of changes is made to a specific directory partition
replica, those changes will be propagated to all other domain controllers that store replicas of the directory partition.
How soon the changes are applied depends on the distance between the domain controllers and whether the change
must be sent to other sites.
The following key points are central to understanding the behavior of Active Directory updates:
• Changes occur at the attribute level; only the changed attribute value is replicated, not the entire object.
At the time of replication, only the current value of an attribute that has changed is replicated. If an attribute value
•
has changed multiple times between replication cycles (for example, between scheduled occurrences of intersite
replication), only the current value is replicated.
The smallest change that can be replicated in Windows 2000 Active Directory is an entire attribute; even if the
•
attribute is linked and multivalued, all values replicate as a single change. The smallest change that can be replicated
in Windows Server 2003 Active Directory is a separate value in a multivalued attribute that is linked. This
Windows Server 2003 feature is called linked-value replication.
The individual values of a multivalued attribute are replicated separately under the following conditions:
•
• The forest functional level is Windows Server 2003 interim or Windows Server 2003.
The attribute is linked. Linked attributes have the following characteristics:
•
. tax
The a t t r i bu te has d i s t ingu i shed name syn
The at t r i bu te i s marked as l i nked i n the schema.
• An attribute is available for replication as soon as it is written.
Replication is store-and-forward and moves sequentially through a set of connected domain controllers that host
•
directory partition replicas.
• Multimaster conflict resolution is effective without depending on clock synchronization.
Originating updates to a single object are written to the database in the same transaction, so partially written objects
•
are not possible and a consistent view of the object is maintained.
For replicated updates to large numbers of values in linked multivalued attributes, such as the member attribute of a
•
group, updates are not always guaranteed to be applied in the same transaction. In this case, the updates are
guaranteed to be applied in one or more subsequent transactions in the same replication cycle (all updates from one
source are applied at the destination).
After a replication cycle is initiated, all available changes to a directory partition on the source domain controller are
•
sent to the destination domain controller, including changes that occur while the replication cycle is in progress.
Originating Modify
All Modify operations replace the current value of an attribute with a new value. A modify request can specify one of the
following:
That an attribute be deleted from the object. Attribute deletion is best thought of as replacing the attribute value with
•
NULL. The NULL value occupies no storage of its own but does carry a stamp, as does any value that is stored as a
directory attribute.
That a value be added to the current value of an attribute, as when modifying an attribute that can have multiple
•
values. The effect is to replace the current values with the current values plus the added value.
For each attribute in the request, a Modify request compares the new value in the request with the existing value. If the
values are the same, the request to modify that attribute is ignored. If the resulting Modify request does not change any
attributes of the object, the entire request is ignored.
Otherwise, a Modify request computes a stamp in the metadata for each new replicated attribute value by reading the
version from the existing value (version=0 for an attribute that has never been written) and then adding 1 to this value.
The Modify request replaces the old stamp values with new stamp values.
Originating Move
A Move request is essentially a special Modify request for a single attribute, the name attribute. The operation proceeds
as described for the Modify request.
Originating Delete
A Delete request is essentially a special Modify request that does the following series of operations:
1. Sets the isDeleted attribute to TRUE, which marks the object as a tombstone (an object that has been deleted but
not fully removed from the directory).
2. Changes the relative distinguished name of the object to a value that cannot be set by an LDAP application (a value
that is impossible).
3. Strips all attributes that are not needed by Active Directory. A few important attributes (including objectGUID,
objectSid, distinguishedName, nTSecurityDescriptor, and uSNChanged) are preserved on the tombstone.
Note
Because these attributes are preserved, tombstones can be restored (reanimated) by applications that use the
•
LDAP API for undeleting an object.
On domain controllers running Windows Server 2003 with SP1, the sIDHistory attribute is also retained on
•
tombstone objects.
4. Moves the tombstone to the Deleted Objects container, which is a hidden container within those directory partitions
that allow deletions.
On domain controllers running Windows Server 2003, you can restore tombstones in the Deleted Objects container to an
active state.
The following information is transferred in the metadata of an updated attribute value from the source domain controller
to the destination domain controller:
The originating USN value for the updated attribute, which is the USN assigned by the domain controller on which the
•
update was made.
• The stamp, which is used to resolve conflicts.
The next diagram illustrates the change in the replicated object on DC2 when someone changes the password (the
userPassword property in the diagram) of the object on that domain controller. By this time, the current USN on DC2
has increased from 1746 to 2001. The update request changes the password and increments the current USN to 2002 on
DC2. The request also sets the password attribute’s originating USN and local USN to 2002 and creates a new stamp for
the password value. The version number of this password’s stamp is 2, which is one version number higher than the
version of the previous password.
3. Replication-related Data on DC2 After the User Password Value Has Been Changed on DC2
In the next diagram, the changed password is now replicated back to the original domain controller, whose current USN
has increased to 5039. The replicated update increments the current USN of DC1 to 5040. The per-attribute originating
USN and stamp (version, originating time, originating DC) are replicated from DC2 to DC1, and the per-attribute local
USN and per-object uSNChanged values are set to 5040.
4. Replication-related Data on DC1 After the Password Change Has Replicated to DC1
Replication Request Filtering
Destination domain controllers use the originating USN to track changes they have received from other domain
controllers with which they replicate. When requesting changes from a source domain controller, the destination informs
the source of the updates it has already received so that the source never replicates changes that the destination does
not need.
Two values are used by source and destination domain controllers to filter updates when the destination requests
changes from the source replication partner:
Up-to-dateness vector. The current status of the latest originating updates to occur on all domain controllers that
•
store a replica of a specific directory partition.
High-watermark (direct up-to-dateness vector). The latest originating update to a specific directory partition that
•
has been received by a destination from a specific source replication partner during the current replication cycle.
Both of these values specify the invocation ID of the source domain controller.
Attribute value A Modify operation sets the value of an The attribute value at all domain controllers is the value
conflict attribute. Concurrently, at another domain with the larger version number in its stamp.
controller, a Modify operation sets the value
of the same attribute to a different value.
Add or Move An Add or Move operation makes an object At all domain controllers, the parent object is deleted and
under deleted a child of parent object. Concurrently, at the child object is a child of the special LostAndFound
parent, Delete another domain controller, a Delete container in the directory partition. Stamps are not involved
non-leaf object operation deletes the parent object. in the resolution.
Relative An Add or Move operation names a child The child object whose naming attribute has the larger
distinguished object below a parent object. Concurrently, version number in its stamp keeps its given name. The
name conflict at another domain controller, an Add or child object whose relative distinguished name attribute
Move operation names a different child of (for example, CN for most objects, OU for organizational
the same parent with the same child name, units, DC for domain components) has the smaller version
resulting in two child objects with identical number in its stamp is named by the following convention:
relative distinguished name values below At all domain controllers, a system-assigned value that is
the same parent object. unique to the conflicting name and cannot conflict with any
client-assigned value is assigned to the child object. For
example, if the relative distinguished name of a child object
was “CN=ABC” before conflict resolution, its relative
distinguished name after resolution is
“CN=ABC*CNF:<GUID>,” where “*” represents a reserved
character, “CNF” is a constant that indicates a conflict
resolution, and “<GUID>” represents a printable
representation of the objectGUID attribute value.
Preservation of Replication Metadata
On domain controllers running Windows Server 2003 with no service pack installed, replication metadata of the NTDS
Settings object is maintained by default after Active Directory is removed from a domain controller. The mechanism for
preserving replication metadata is disabled in Windows Server 2003 SP1.
Linked Attributes
A linked attribute represents an interobject, distinguished-name reference. Linked attributes occur in pairs — forward link
and backward link (back-link). The forward link is the linked attribute on the source object (for example, the member
attribute on the group object), while the backward link is the linked attribute on the target object (for example, the
memberOf attribute on the user object). A back-link value on any object instance consists of the distinguished names of
all the objects that have the object's distinguished name set in their corresponding forward link. For example, manager
and directReports are a pair of linked attributes, where manager is the forward link and directReports is the back-
link. If Bill is Joe's manager and the distinguished name of Bill's user object is stored in the manager attribute of Joe's
user object, then the distinguished name of Joe's user object appears in the directReports attribute of Bill's user object.
A linked attribute can have either single or multiple values. For example, the manager attribute identifies the
distinguished name of a single manager of the object or objects that are managed. The directReports attribute of a
user object can have multiple values of user names.
The relationships between linked attributes are stored in a separate table in the directory database as link pairs. The
matching pair of Link IDs (defined as any two numbers 2N and 2N+1) tie the attributes together. For example, the
member attribute has a link ID of 2 and the memberOf attribute has a link ID of 3. Because the member and the
memberOf attributes are linked in the database and indexed for searching, the directory can be examined for all records
in which the link pair is member/memberOf and the memberOf attribute identifies the group (for example, “What user
objects have group X as a value in their memberOf attribute?”).
Attributes are marked in the schema as being linked. Attributes with the distinguished name syntax Object(DS-DN),
Object(DN-String), or Object(DN-Binary) can be linked, but not all such attributes are linked.
Nonlinked Attributes
Nonlinked, distinguished-name attributes reference other objects in the same way as linked attributes do except that
their behavior is different when a referred-to object is deleted, as described in “Replication of Deletion Updates” later in
this section. In addition, nonlinked, multivalued attributes have an approximate limit of 1200 values (increased from the
Windows 2000 Server limit of approximately 800 values). This limit is based on an approximate maximum page size of
8 kilobytes. For attributes of this maximum size, there are no storage or replication drawbacks or limitations. For more
information about data size requirements, see "How the Data Store Works."
• The forward link holder object that is referenced by the link value has been deleted.
• The backward link holder that is referenced by the link value (the target of the back-link) has been deleted.
When a target and source object are authoritatively restored together on a domain controller running
Windows Server 2003, whether the links are restored on the destination domain controller depends on which restored
object replicates out first:
If the restored group object replicates to a destination domain controller before the restored user object, the group
•
membership of the user is not restored because the user object does not exist on the destination.
If the user object replicates out ahead of the group object and if the functional level of the forest was
•
Windows Server 2003 or Windows Server 2003 interim when the back-link was created (that is, when the user was
added to the group), the group membership of the user is restored in the member and memberOf attributes on the
respective objects.
For more information about restoring back-links on authoritatively restored objects, see "Authoritative Restore" later in
this section.
• Prolonged misconfigurations.
• Prolonged errors in name resolution, authentication, or the replication engine that block inbound replication.
• Turning on a domain controller that has been offline for longer than the tombstone lifetime.
Advancing system time or reducing tombstone lifetime values in an attempt to accelerate garbage collection before
•
end-to-end replication has taken place for all directory partitions in the forest.
The condition of outdated objects can also occur due to hardware and software problems that render the domain
controller unreachable. Regardless of the reason, a deleted object can remain on a domain controller any time the
domain controller goes offline before receiving a deletion and remains offline for longer than the tombstone lifetime of
that deletion.
These outdated objects, called lingering objects, create inconsistency in the directory. If a change is made to an outdated
object on the reconnected domain controller, it is possible for the object to be recreated in the directory under certain
conditions. To avoid this situation, replication of an outdated object is prohibited by default in newly created Windows
Server 2003 forests.
• A “source” domain controller that you designate as the authoritative reference server.
A “destination” domain controller, which is the source replication partner that has attempted to replicate an outdated
•
object.
To use the repadmin /removelingeringobjects command, both source and destination domain controllers must be
running Windows Server 2003.
If the comparison reveals any mismatched objects, Repadmin either displays or removes the objects that are found on
the destination but not on the source, depending on the arguments that you use. The advisory mode argument allows
you to view the results of the command before you take action to remove any objects from the directory.
where
<Dest_DC_List> is the DNS or NetBIOS name of one or more domain controllers that you suspect of harboring
•
lingering objects. <DC_List> provides the ability to target specific domain controllers, such as all domain controllers in
a site, all global catalog servers, or domain controllers that hold specific operations master roles. To see the syntax for
DC_List, type repadmin /listhelp at the command prompt.
<Source DC GUID> is the GUID you obtained by running repadmin /showrepl against the source domain controller
•
that you are using as the authoritative server.
• <NC> is the distinguished name of the directory partition that contains the lingering object.
[/ADVISORY_MODE] is an optional switch that specifies that no deletions are performed on the destination domain
•
controller, but are displayed (logged) only. Using this switch is recommended prior to allowing Repadmin to remove
any objects.
To use this command, you must first obtain the GUID of the authoritative source domain controller by running repadmin
/showrepl <source_server>, where <source_server> is the name of the domain controller that has a writable copy of
the directory partition that will serve as the authoritative replica. The output of this command provides the “DC GUID,”
which the /removelingeringobjects command requires to identify the authoritative source.
RemoveLingeringObjects Implementation
When you run repadmin /removelingeringobjects, the tool performs the following steps to compare the directories of
the source and destination domain controllers and log (or remove) any found lingering objects:
1. Check to ensure that the directory partition and the source domain controller are valid.
2. Verify that the user has the DS-Replication-Manage-Topology extended right on the directory partition container
object specified in <NC>. This extended right is required to verify object state between two domain controllers.
Members of the Domain Admins group have this right by default.
3. Ensure that both source and destination use the same objects for comparison by merging the up-to-dateness vectors
to filter out any objects that have not replicated from the source to the destination or from the destination to the
source. This check rules out a lingering object on the destination if the destination has not received the tombstone
from the source, and vice versa. Any such nonreplicated objects are removed from the comparison.
4. Create the list of object GUIDs for each domain controller to be compared. Examine the metadata of each object and
use the merged up-to-dateness vector to determine whether the object should be present on both source and
destination.
5. For each GUID that is in the list for the destination, determine if it is in the list of GUIDs for the source.
6. If a GUID is not found on the source, the object is identified to be outdated on the destination and is either displayed
or deleted on the destination server. If advisory mode has been specified, the GUID is displayed only.
For more information about up-to-dateness vectors, see “Update Tracking by Domain Controllers” later in this section.
For more information about removing lingering objects, see "Troubleshooting Active Directory Replication Problems" in
the Active Directory Operations Guide.
Step 1
Prior to backup, DC1 maintains replication information about itself and its replication partners:
• Highest USN that it has committed for changes to the local database.
Replication metadata for its two replication partners, DC2 and DC3:
•
• Invocation ID of the local Active Directory database of each domain controller.
Step 2
Some changes have been made to the Active Directory database on DC1 since Step 1, which result in advancing the
current USN on DC1 to 35. At this point, DC1 is backed up.
Step 3
A total of 14 additional change changes have been made to the local Active Directory database on DC1, advancing the
highest committed USN on DC1 to 49. DC1 now begins replicating these changes to DC2. After replicating 12 of the 14
changes to DC2, DC1 becomes unavailable due to hard drive corruption. As a result, DC2 has USN 47 as the last change
it received from DC1. At this point, the up-to-dateness vector on DC2 shows a highest committed USN of 47 for DC1.
Step 4
A nonauthoritative restore has been completed and DC1 is restarted. During the restore process a new invocation ID has
been assigned to the local Active Directory database on DC1. For replication purposes, DC1 adds its old invocation ID
(GUID1) and highest committed USN of 35 to its up-to-dateness vector, effectively restoring it to its state as of Step 2.
Step 5
DC1 replicates in the 12 changes that were saved to DC2 before the restore (which corresponds to Step 3 in the
following table). The last two changes that occurred as originating updates on DC1 prior to going offline are lost.
DC1 Replication Metadata Values Pre- and Post-Nonauthoritative Restore
Step 1: Step2: Step 3: Step 4: Step 5:
Highest committed 20 35 49 35 47
USN on DC1
Authoritative Restore
The primary purpose of an authoritative restore is to reinstate objects that were deleted from Active Directory. To
reinstate objects that were intentionally or accidentally deleted, a nonauthoritative restore must be completed and
followed by an authoritative restore. Authoritative restore is performed by using Ntdsutil.exe.
The nonauthoritative restore process cannot reinstate deleted objects from a backup image because the backup media
that was used to restore the domain controller contains an image of Active Directory that was created before the objects
were deleted. In this case, the deletions would simply be replicated in from the up-to-date replication partner and
applied by the restored domain controller. To reinstate a deleted object, an authoritative restore is required.
The authoritative restore process works as follows:
1. The domain controller is restarted in Directory Services Restore Mode, and a nonauthoritative restore of Active
Directory is performed by using backup media that was created before the object was deleted.
2. Following the nonauthoritative restore but prior to restarting, the object metadata is altered by Ntdsutil.exe so that it
has a higher USN than any other possible version of the object (by default, the version number is increased by
100,000). The effect is to render the object or objects as authoritative and reinstates them in Active Directory.
The authoritative restore process does not affect objects that were created after the backup was created.
Note
Only the domain and configuration directory partitions can be marked as authoritative. The schema directory partition
•
cannot be authoritatively restored.
• The value for initial change notification delay is stored in the msDS-Replication-Notify-First-DSA-Delay attribute.
The value for subsequent notification delay is stored in the msDS-Replication-Notify-Subsequent-DSA-Delay
•
attribute.
These attributes do not exist in Windows 2000 Server.
Although the attribute values are present on all domain controllers that are running Windows Server 2003, the default
values of 15 seconds for initial notification delay and 3 seconds for subsequent notification delay are in effect only under
the conditions described in “Default Notification Delay Values” earlier in this section.
• Direct USN vector (high-watermark), which is the USN pair of object USN (OU) and property USN (PU).
• Domain controllers in the same domain that are located in the same site as the PDC emulator.
Domain controllers in the same domain that are located in the same site as the domain controller that handled the
•
account lockout.
Domain controllers in the same domain that are located in sites that have been configured to allow change notification
•
between sites (and, therefore, urgent replication) with the site that contains the PDC emulator or with the site where
the account lockout was handled. These sites include any site that is included in the same site link as the site that
contains the PDC emulator or in the same site link as the site that contains the domain controller that handled the
account lockout.
In addition, when authentication fails at a domain controller other than the PDC emulator, the authentication is retried at
the PDC emulator. For this reason, the PDC emulator locks the account before the domain controller that handled the
failed-password attempt if the bad-password-attempt threshold is reached.
Note
When a bad password is used in an attempt to change a password, the lockout count is incremented on that domain
•
controller only and is not replicated. As such, an attacker could try (of domain controllers)*(lockout threshold -1) + 1
guesses before the account is locked out. Although this scenario has a relatively small impact on account lockout
security, domains with an exceptionally high number of domain controllers represent a significant increase in the total
number of guesses available to an attacker. Because a user cannot specify the domain controller on which the
password change is attempted, an attack of this type requires an advanced tool.
Kerberos 88 88
DNS 53 53
• Related Information
Top of page
Active Directory Replication Tools
The following tools are associated with Active Directory replication.
Version compatibility
Active Directory Sites and Services runs on domain controllers that are running Windows Server 2003 and Windows 2000
Server.
On administrative workstations that are running Windows XP Professional with Service Pack 1, you can install the
Windows Server 2003 Administration Tools Pack (Adminpak.msi) from the i386 directory on the Windows Server 2003
operating system CD. This version of the Administration Tools Pack encrypts and signs LDAP traffic between the
administrative tool clients and domain controllers.
The Windows Server 2003 version of Active Directory Sites and Services (installed on the domain controller or on the
administrative workstation by using Administration Tools Pack) can target domain controllers that are running Windows
Server 2003 and Windows 2000 Server.
Active Directory Sites and Services provides a view into the Sites container of the configuration directory partition. Use
Active Directory Sites and Services to manage Active Directory replication topology. The following objects and their
properties can be managed by using this tool:
• Site link objects: Manage the site link properties for a set of sites.
• Subnets container: Add, remove, and configure subnets with IP addresses. Associate subnets with sites.
Reapdmin.exe: Repadmin
Category
Windows Server 2003 Support Tools, command-line tool.
Version compatibility
Repadmin runs on any computer on which Windows Server 2003 Support Tools can be installed, which includes Windows
Server 2003 family and Windows XP Professional.
Repadmin is used to view the replication information on domain controllers. You can determine the last successful
replication of all directory partitions, identify inbound and outbound replication partners, identify the current bridgehead
servers, view object metadata, and generally manage Active Directory replication topology. You can use Repadmin to
force replication of an entire directory partition or of a single object. You can also list domain controllers in a site.
Repadmin is extended in Windows Server 2003 to enable commands to target sets of domain controllers. For example,
you can target all domain controllers in a site or domain, or all domain controllers that are global catalog servers. In
Windows 2000 Server, Repadmin can report information about only one domain-controller at a time.
Repadmin has also been improved in Windows Server 2003 to include the RemoveLingeringObjects command, which
removes objects that are outdated (do not exist in a replica of the same directory partition on the source domain
controller).
For more information about removing lingering objects, see "Fixing Replication Lingering Object Problems (Event IDs
1388, 1988, 2042)" in the Windows Server 2003 Operations Guide at http://go.microsoft.com/fwlink/?LinkId=44131. For
more information about Repadmin, see Repadmin Overview.
Ntdsutil.exe: Ntdsutil
Category
Windows Server 2003 Support Tools, command-line tool.
Version compatibility
This tool is compatible with Windows Server 2003. An updated version of Ntdsutil is included with Windows Server 2003
Service Pack 1 (SP1).
Ntdsutil.exe provides management capabilities for Active Directory. You can use Ntdsutil.exe to perform Active Directory
database maintenance, manage and control single-master operations, and remove replication metadata left behind by
domain controllers that are removed from the network without uninstalling Active Directory. The version of Ntdsutil that
is included with Windows Server 2003 SP1 removes File Replication service (FRS) metadata in addition to Active
Directory replication metadata. You can also use Ntdsutil to create application directory partitions and perform
authoritative restore operations. This tool is intended for use by experienced administrators.
Top of page
Active Directory Replication Registry Entries
The information here is provided as a reference for use in troubleshooting or verifying that the required settings are
applied. It is recommended that you do not directly edit the registry unless there is no other alternative. Modifications to
the registry are not validated by the registry editor or by Windows before they are applied, and as a result, incorrect
values can be stored. This can result in unrecoverable errors in the system. When possible, use Group Policy or other
Windows tools, such as Microsoft Management Console (MMC), to accomplish tasks rather than editing the registry
directly. If you must edit the registry, use extreme caution.
The following registry settings cannot be modified by using Group Policy or other Windows tools.
Version
Windows 2000 Server.
Default value
Windows 2000 Server: 300 seconds.
The value for the delay between an originating update on a domain controller and the first change notification. On
domain controllers running Windows Server 2003, the value for initial change notification delay is stored in the
msDSReplicationNotifyFirstDSADelay attribute on the cross-reference object for each directory partition in the
Configuration container. The default value in Windows Server 2003 is decreased to 15 seconds when the forest functional
level is Windows Server 2003.
Version
Windows 2000 Server.
Default value
Windows 2000 Server: 30 seconds
The value for the delay before each subsequent change notification. On domain controllers running
Windows Server 2003, the value for subsequent notification delay is stored in the
msDSReplicationNotifySubsequentDSADelay attribute on the cross-reference object for each directory partition in
the Configuration container. The default value in Windows Server 2003 is decreased to 3 seconds when the forest
functional level is Windows Server 2003.
Version
Windows Server 2003, Windows 2000 Server.
Default value
Windows 2000 Server: 45 minutes; Windows Server 2003: 5 minutes.
The number of minutes between initiation of Active Directory replication and the RPC timeout. The domain controller
must be restarted before the change takes effect.
Version
Windows Server 2003, Windows 2000 Server with SP3.
Default value
Windows 2000 Server with SP3: off (0); Windows Server 2003: on (1)
The value that determines the treatment of replication of outdated objects that exist on reconnected domain controllers
that have not replicated in longer than a tombstone lifetime. If the destination domain controller has strict replication
consistency enabled, inbound replication of an outdated object is blocked. If the destination domain controller has strict
replication disabled, inbound replication of the full object occurs.
Version
Windows Server 2003, Windows 2000 Server.
Default value
1/1,000,000th the size of RAM, with a minimum of 100 objects and a maximum of 1,000 objects.
The maximum number of objects per packet for RPC replication within a site.
Default value
1/100th the size of RAM, with a minimum of 1 megabyte (MB) and a maximum of 10 MB.
The maximum size of objects per packet for RPC replication within a site.
Version
Windows Server 2003, Windows 2000 Server.
Default value
1/1,000,000th the size of RAM, with a minimum of 100 objects and a maximum of 1,000 objects.
The maximum number of objects per packet for RPC replication between sites.
Version
Windows Server 2003, Windows 2000 Server.
The maximum size of objects per packet for RPC replication between sites.
Default value
1/100th the size of RAM, with a minimum of 1 MB and a maximum of 10 MB.
Version
Windows Server 2003, Windows 2000 Server.
Default value
1/1,000,000th the size of RAM, with a minimum of 100 objects and a maximum of 1,000 objects.
The maximum number of objects per packet for SMTP replication between sites.
Version
Windows Server 2003, Windows 2000 Server.
Default value
1 MB.
The maximum size of objects per packet for SMTP replication between sites.
Version
Windows Server 2003.
Default value
3. For Windows 2000 Server compression, change the value to 2.
Determines the compression algorithm that is used on a site link (Windows Server 2003 algorithm or Windows 2000
Server algorithm).
Version
Windows Server 2003, Windows 2000 Server.
Default value
300 seconds.
Number of seconds to wait between the time Active Directory starts and the KCC performs the first topology check.
To find more information about Repl topology update delay (secs), see “Registry Reference” in Tools and Settings
Collection.
Version
Windows Server 2003, Windows 2000 Server.
Default value
900 seconds.
Interval between KCC replication topology checks.
To find more information about Repl topology update period (secs), see “Registry Reference” in Tools and Settings
Collection.
IntersiteFailuresAllowed
Registry path
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\NTDS\Parameters
Version
Windows Server 2003, Windows 2000 Server.
Default value
1.
Number of failed replication attempts prior to excluding nonresponding servers from the intersite topology.
MaxFailureTimeForIntersiteLink (sec)
Registry path
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\NTDS\Parameters
Version
Windows Server 2003, Windows 2000 Server.
Default value
7200 seconds (2 hours).
Time in seconds that must elapse prior to excluding nonresponding servers from the intersite topology.
NonCriticalLinkFailuresAllowed
Registry path
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\NTDS\Parameters
Version
Windows Server 2003, Windows 2000 Server.
Default value
1.
Number of failed replication attempts prior to excluding nonresponding servers from the intrasite topology.
MaxFailureTimeForNonCriticalLink (sec)
Registry path
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\NTDS\Parameters
Version
Windows Server 2003, Windows 2000 Server.
Default value
43200 seconds (12 hours).
Time in seconds that must elapse prior to excluding nonresponding servers from the intrasite topology.
CriticalLinkFailuresAllowed
Registry path
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\NTDS\Parameters
Version
Windows Server 2003, Windows 2000 Server.
Default value
0.
Number of failed replication attempts prior to excluding nonresponding servers for immediate neighbor connections
within a site.
MaxFailureTimeForCriticalLink (sec)
Registry path
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\NTDS\Parameters
Version
Windows Server 2003, Windows 2000 Server.
Default value
7200 seconds (2 hours).
Time in seconds that must elapse prior to excluding nonresponding servers for immediate neighbor connections within a
site.
TCP/IP Port
Registry path
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\NTDS\Parameters
Version
Windows Server 2003, Windows 2000 Server.
Default value
135.
TCP port that the directory service uses instead of using dynamic port 135. The domain controller must be restarted
before the change takes effect.
Version
Windows Server 2003 with SP 1
Default value
Half the value of the tombstone lifetime of the forest.
When the value is reached, logs event ID 2089 in the Directory Service event log, warning administrators and monitoring
applications to make sure that domain controllers are backed up before the tombstone lifetime expires.
Top of page
Active Directory Replication Group Policy Settings
The following table lists and describes the Group Policy settings that are associated with Active Directory replication
updates.
Group Policy Settings Associated with Active Directory Replication
Account Lockout Policy: Changes to these settings in the Domain Security Policy trigger urgent replication.
Group Policy Setting Description
• Account lockout
duration
• Account lockout
threshold
Password Policy: Changes to these settings in the Domain Security Policy trigger urgent replication.
• Enforce password
history
Contact PDC on logon Account lockout and domain password changes rely on contacting the primary domain
failure controller (PDC) emulator urgently to update the PDC emulator with the change. If Contact
PDC on logon failure is disabled, replication of password changes to the PDC emulator occurs
non-urgently.
To find more information about these Group Policy settings, see “Group Policy Settings Reference” in Tools and Settings
Collection.
Top of page
Active Directory Replication WMI Classes
The following table lists and describes the WMI classes that are associated with Active Directory replication. These
classes are shipped with Windows Server 2003, but are also compatible with Windows 2000 Server.
WMI Classes Associated with Active Directory Replication
Kerberos 88 88
DNS 53 53
• Related Information
Replication of updates to Active Directory objects are transmitted between multiple domain controllers to keep replicas of
directory partitions synchronized. Multiple domains are common in large organizations, as are multiple sites in disparate
locations. In addition, domain controllers for the same domain are commonly placed in more than one site.
Therefore, replication must often occur both within sites and between sites to keep domain and forest data consistent
among domain controllers that store the same directory partitions. Site objects can be configured to include a set of
subnets that provide local area network (LAN) network speeds. As such, replication within sites generally occurs at high
speeds between domain controllers that are on the same network segment. Similarly, site link objects can be configured
to represent the wide area network (WAN) links that connect LANs. Replication between sites usually occurs over these
WAN links, which might be costly in terms of bandwidth. To accommodate the differences in distance and cost of
replication within a site and replication between sites, the intrasite replication topology is created to optimize speed, and
the intersite replication topology is created to minimize cost.
The Knowledge Consistency Checker (KCC) is a distributed application that runs on every domain controller and is
responsible for creating the connections between domain controllers that collectively form the replication topology. The
KCC uses Active Directory data to determine where (from what source domain controller to what destination domain
controller) to create these connections.
Top of page
Replication Within and Between Sites
The KCC creates separate replication topologies to transfer Active Directory updates within a site and between all
configured sites in the forest. The connections that are used for replication within sites are created automatically with no
additional configuration. Intrasite replication takes advantage of LAN network speeds by providing replication as soon as
changes occur, without the overhead of data compression, thus maximizing CPU efficiency. Intrasite replication
connections form a ring topology with extra shortcut connections where needed to decrease latency. The fast replication
of updates within sites facilitates timely updates of domain data. In deployments where large datacenters constitute hub
sites for the centralization of mission-critical operations, directory consistency is critical.
Replication between sites is made possible by user-defined site and site link objects that are created in Active Directory
to represent the physical LAN and WAN network infrastructure. When Active Directory sites and site links are configured,
the KCC creates an intersite topology so that replication flows between domain controllers across WAN links. Intersite
replication occurs according to a site link schedule so that WAN usage can be controlled, and is compressed to reduce
network bandwidth requirements. Site link settings can be managed to optimize replication routing over WAN links. The
connections that are created between sites form a spanning tree for each directory partition in the forest, merging where
common directory partitions can be replicated over the same connection.
In remote branch locations, replication of updates from the hub sites is optimized for network availability. Thus, because
intrasite replication is optimized for speed, branch locations across WAN links can be assured of receiving data from hub
sites that is up-to-date and reliable; but because intersite replication is scheduled, branch sites receive this replication
only at intervals that are deemed appropriate and cost-effective for remote operations.
Top of page
Technologies Related to Active Directory Replication Topology
The following technologies interact with Active Directory replication.
Top of page
Related Information
The following resources contain additional information that is relevant to this section:
• Replication Transports
• Related Information
Active Directory implements a replication topology that takes advantage of the network speeds within sites, which are
ideally configured to be equivalent to local area network (LAN) connectivity (network speed of 10 megabits per second
[Mbps] or higher). The replication topology also minimizes the use of potentially slow or expensive wide area network
(WAN) links between sites.
When you create a site object in Active Directory, you associate one or more Internet Protocol (IP) subnets with the site.
Each domain controller in a forest is associated with an Active Directory site. A client workstation is associated with a site
according to its IP address; that is, each IP address maps to one subnet, which in turn maps to one site.
Active Directory uses sites to:
• Optimize replication for speed and bandwidth consumption between domain controllers.
• Locate the closest domain controller for client logon, services, and directory searches.
• Direct a Distributed File System (DFS) client to the server that is hosting the requested data within the site.
Replicate the system volume (SYSVOL), a collection of folders in the file system that exists on each domain controller
•
in a domain and is required for implementation of Group Policy.
The ideal environment for replication topology generation is a forest that has a forest functional level of Windows
Server 2003. In this case, replication topology generation is faster and can accommodate more sites and domains than
occurs when the forest has a forest functional level of Windows 2000. When at least one domain controller in each site is
running Windows Server 2003, more domain controllers in each site can be used to replicate changes between sites than
when all domain controllers are running Windows 2000 Server.
In addition, replication topology generation requires the following conditions:
A Domain Name System (DNS) infrastructure that manages the name resolution for domain controllers in the forest.
•
Active Directory–integrated DNS is assumed, wherein DNS zone data is stored in Active Directory and is replicated to
all domain controllers that are DNS servers.
• All physical locations that are represented as site objects in Active Directory have LAN connectivity.
• IP connectivity is available between each site and all sites in the same forest that host operations master roles.
Domain controllers meet the hardware requirements for Microsoft Windows Server 2003, Standard Edition; Windows
•
Server 2003, Enterprise Edition; and Windows Server 2003, Datacenter Edition.
• The appropriate number of domain controllers is deployed for each domain that is represented in each site.
This section covers the replication components that create the replication topology and how they work together, plus the
mechanisms and rationale for routing replication traffic between domain controllers in the same site and in different
sites.
Top of page
Active Directory KCC Architecture and Processes
The replication topology is generated by the Knowledge Consistency Checker (KCC), a replication component that runs as
an application on every domain controller and communicates through the distributed Active Directory database. The KCC
functions locally by reading, creating, and deleting Active Directory data. Specifically, the KCC reads configuration data
and reads and writes connection objects. The KCC also writes local, nonreplicated attribute values that indicate the
replication partners from which to request replication.
For most of its operation, the KCC that runs on one domain controller does not communicate directly with the KCC on
any other domain controller. Rather, all KCCs use the knowledge of the common, global data that is stored in the
configuration directory partition as input to the topology generation algorithm to converge on the same view of the
replication topology.
Each KCC uses its in-memory view of the topology to create inbound connections locally, manifesting only those results
that apply to itself. The KCC communicates with other KCCs only to make a remote procedure call (RPC) request for
replication error information. The KCC uses the error information to identify gaps in the replication topology. A request
for replication error information occurs only between domain controllers in the same site.
Note
The KCC uses only RPC to communicate with the directory service. The KCC does not use Lightweight Directory Access
•
Protocol (LDAP).
One domain controller in each site is selected as the Intersite Topology Generator (ISTG). To enable replication across
site links, the ISTG automatically designates one or more servers to perform site-to-site replication. These servers are
called bridgehead servers. A bridgehead is a point where a connection leaves or enters a site.
The ISTG creates a view of the replication topology for all sites, including existing connection objects between all domain
controllers that are acting as bridgehead servers. The ISTG then creates inbound connection objects for servers in its site
that it determines will act as bridgehead servers and for which connection objects do not already exist. Thus, the scope
of operation for the KCC is the local server only, and the scope of operation for the ISTG is a single site.
Each KCC has the following global knowledge about objects in the forest, which it gets by reading objects in the Sites
container of the configuration directory partition and which it uses to generate a view of the replication topology:
• Sites
• Servers
• Site links
Component Description
Knowledge The application running on each domain controller that communicates directly with the Ntdsa.dll to
Consistency Checker read and write replication objects.
(KCC)
Directory System The directory service component that runs as Ntdsa.dll on each domain controller, providing the
Agent (DSA) interfaces through which services and processes such as the KCC gain access to the directory
database.
Extensible Storage The directory service component that runs as Esent.dll. ESE manages the tables of records, each
Engine (ESE) with one or more columns. The tables of records comprise the directory database.
Remote procedure The Directory Replication Service (Drsuapi) RPC protocol, used to communicate replication status
call (RPC) and topology to a domain controller. The KCC also uses this protocol to communicate with other
KCCs to request error information when building the replication topology.
Intersite Topology The single KCC in a site that manages intersite connection objects for the site.
Generator (ISTG)
The four servers in the preceding diagram create identical views of the servers in their site and generate connection
objects on the basis of the current state of Active Directory data in the configuration directory partition. In addition to
creating its view of the servers in its respective site, the KCC that operates as the ISTG in each site also creates a view
of all servers in all sites in the forest. From this view, the ISTG determines the connections to create on the bridgehead
servers in its own site.
Note
A connection requires two endpoints: one for the destination domain controller and one for the source domain
•
controller. Domain controllers creating an intrasite topology always use themselves as the destination end point and
must consider only the endpoint for the source domain controller. The ISTG, however, must identify both endpoints in
order to create connection objects between two other servers.
Thus, the KCC creates two types of topologies: intrasite and intersite. Within a site, the KCC creates a ring topology by
using all servers in the site. To create the intersite topology, the ISTG in each site uses a view of all bridgehead servers
in all sites in the forest. The following diagram shows a high-level generalization of the view that the KCC sees of an
intrasite ring topology and the view that the ISTG sees of the intersite topology. Lines between domain controllers within
a site represent inbound and outbound connections between the servers. The lines between sites represent configured
site links. Bridgehead servers are represented as BH.
KCC and ISTG Views of Intrasite and Intersite Topology
Top of page
Replication Topology Physical Structure
The Active Directory replication topology can use many different components. Some components are required and others
are not required but are available for optimization. The following diagram illustrates most replication topology
components and their place in a sample Active Directory multisite and multidomain forest. The depiction of the intersite
topology that uses multiple bridgehead servers for each domain assumes that at least one domain controller in each site
is running Windows Server 2003. All components of this diagram and their interactions are explained in detail later in this
section.
Replication Topology Physical Structure
In the preceding diagram, all servers are domain controllers. They independently use global knowledge of configuration
data to generate one-way, inbound connection objects. The KCCs in a site collectively create an intrasite topology for all
domain controllers in the site. The ISTGs from all sites collectively create an intersite topology. Within sites, one-way
arrows indicate the inbound connections by which each domain controller replicates changes from its partner in the ring.
For intersite replication, one-way arrows represent inbound connections that are created by the ISTG of each site from
bridgehead servers (BH) for the same domain (or from a global catalog server [GC] acting as a bridgehead if the domain
is not present in the site) in other sites that share a site link. Domains are indicated as D1, D2, D3, and D4.
Each site in the diagram represents a physical LAN in the network, and each LAN is represented as a site object in Active
Directory. Heavy solid lines between sites indicate WAN links over which two-way replication can occur, and each WAN
link is represented in Active Directory as a site link object. Site link objects allow connections to be created between
bridgehead servers in each site that is connected by the site link.
Not shown in the diagram is that where TCP/IP WAN links are available, replication between sites uses the RPC
replication transport. RPC is always used within sites. The site link between Site A and Site D uses the SMTP protocol for
the replication transport to replicate the configuration and schema directory partitions and global catalog partial, read-
only directory partitions. Although the SMTP transport cannot be used to replicate writable domain directory partitions,
this transport is required because a TCP/IP connection is not available between Site A and Site D. This configuration is
acceptable for replication because Site D does not host domain controllers for any domains that must be replicated over
the site link A-D.
By default, site links A-B and A-C are transitive (bridged), which means that replication of domain D2 is possible between
Site B and Site C, although no site link connects the two sites. The cost values on site links A-B and A-C are site link
settings that determine the routing preference for replication, which is based on the aggregated cost of available site
links. The cost of a direct connection between Site C and Site B is the sum of costs on site links A-B and A-C. For this
reason, replication between Site B and Site C is automatically routed through Site A to avoid the more expensive,
transitive route. Connections are created between Site B and Site C only if replication through Site A becomes impossible
due to network or bridgehead server conditions.
Top of page
Performance Limits for Replication Topology Generation
Active Directory topology generation performance is limited primarily by the memory on the domain controller. KCC
performance degrades at the physical memory limit. In most deployments, topology size will be limited by the amount of
domain controller memory rather than CPU utilization required by the KCC.
Scaling of sites and domains is improved in Windows Server 2003 by improving the algorithm that the KCC uses to
generate the intersite replication topology. Because all domain controllers must use the same algorithm to arrive at a
consistent view of the replication topology, the improved algorithm has a forest functional level requirement of Windows
Server 2003 or Windows Server 2003 interim.
KCC scalability was tested on domain controllers with 1.8 GHz processor speed, 512 megabytes (MB) RAM, and small
computer system interface (SCSI) disks. KCC performance results at the Windows Server 2003 forest functional level are
described in the following table. The times shown are for the KCC to run where all new connections are needed
(maximum) and where no new connections are needed (minimum). Because most organizations add domain controllers
in increments, the minimum generation times shown are closest to the actual runtimes that can be expected in
deployments of comparable sizes. The CPU and memory usage values for the Local Security Authority (LSA) process
(Lsass.exe) indicate the more significant impact of memory versus percent of CPU usage when the KCC runs.
Note
Active Directory runs as part of the LSA, which manages authentication packages and authenticates users and
•
services.
Minimum and Maximum KCC Generation Times for Domain-Site Combinations
Domains Sites Connections KCC Generation Time Lsass.exe Memory Usage Lsass.exe CPU Usage
(seconds) (MB) (%)
Minimum 1 100 29
Minimum 2 149 28
Minimum 2 236 63
Minimum 2 126 71
Minimum 3 237 78
Minimum 5 325 77
Minimum 6 449 75
Minimum 34 624 69
Minimum 5 423 81
Minimum 12 799 96
• Store-and-forward replication makes efficient use of WAN links — each update crosses an expensive link only once.
• Replication occurs at intervals that you can schedule so that use of expensive WAN links is managed.
The intersite topology is a layering of spanning trees (one intersite connection between any two sites for each
•
directory partition) and generally does not contain redundant connections.
Site Objects
A site object (class site) corresponds to a set of one or more IP subnets that have LAN connectivity. Thus, by virtue of
their subnet associations, domain controllers that are in the same site are well connected in terms of speed. Each site
object has a child NTDS Site Settings object and a Servers container. The distinguished name of the Sites container is
CN=Sites,CN=Configuration,DC=ForestRootDomainName. The Configuration container is the topmost object in the
configuration directory partition and the Sites container is the topmost object in the hierarchy of objects that are used to
manage and implement Active Directory replication.
When you install Active Directory on the first domain controller in the forest, a site object named Default-First-Site-Name
is created in the Sites container in Active Directory.
Subnet Objects
Subnet objects (class subnet) define network subnets in Active Directory. A network subnet is a segment of a TCP/IP
network to which a set of logical IP addresses is assigned. Subnets group computers in a way that identifies their
physical proximity on the network. Subnet objects in Active Directory are used to map computers to sites. Each subnet
object has a siteObject attribute that links it to a site object.
Subnet-to-Site Mapping
You associate a set of IP subnets with a site if they have high-bandwidth LAN connectivity, possibly involving hops
through high-performance routers.
Note
LAN connectivity assumes high-speed, inexpensive bandwidth that allows similar and reliable network performance,
•
regardless of which two computers in the site are communicating. This quality of connectivity does not indicate that all
servers in the site must be on the same network segment or that hop counts between all servers must be identical.
Rather, it is the measure by which you know that if a large amount of data needs to be copied from one server to
another, it does not matter which servers are involved. If you find that you are concerned about such situations,
consider creating another site.
When you create subnet objects in Active Directory, you associate them with site objects so that IP addresses can be
localized according to sites. During the process of domain controller location, subnet information is used to find a domain
controller in the same site as, or the site closest to, the client computer. The Net Logon service on a domain controller is
able to identify the site of a client by mapping the client’s IP address to a subnet object in Active Directory. Likewise,
when a domain controller is installed, its server object is created in the site that contains the subnet that maps to its IP
address.
You can use Active Directory Sites and Services to define subnets, and then create a site and associate the subnets with
the site. By default, only members of the Enterprise Admins group have the right to create new sites, although this right
can be delegated.
In a default Active Directory installation, there is no default subnet object, so potentially a computer can be in the forest
but have an IP subnet that is not contained in any site. For private networks, you can specify the network addresses that
are provided by the Internet Assigned Numbers Authority (IANA). By definition, that range covers all of the subnets for
the organization. However, where several class B or class C addresses are assigned, there would necessarily be multiple
subnet objects that all mapped to the same default site.
To accommodate this situation, use the following subnets:
Server Objects
Server objects (class server) represent server computers, including domain controllers, in the configuration directory
partition. When you install Active Directory, the installation process creates a server object in the Servers container
within the site to which the IP address of the domain controller maps. There is one server object for each domain
controller in the site.
A server object is distinct from the computer object that represents the computer as a security principal. These objects
are in separate directory partitions and have separate globally unique identifiers (GUIDs). The computer object
represents the domain controller in the domain directory partition; the server object represents the domain controller in
the configuration directory partition. The server object contains a reference to the associated computer object.
The server object for the first domain controller in the forest is created in the Default-First-Site-Name site. When you
install Active Directory on subsequent servers, if no other sites are defined, server objects are created in Default-First-
Site-Name. If other sites have been defined and subnet objects have been associated with these sites, server objects are
created as follows:
If additional sites have been defined in Active Directory and the IP address of the installation computer matches an
•
existing subnet in a defined site, the domain controller is added to that site.
If additional sites have been defined in Active Directory and the new domain controller's IP address does not match an
•
existing subnet in one of the defined sites, the new domain controller's server object is created in the site of the
source domain controller from which the new domain controller receives its initial replication.
When Active Directory is removed from a server, its NTDS Settings object is deleted from Active Directory, but its server
object remains because the server object might contain objects other than NTDS Settings. For example, when Microsoft
Operations Manager or Message Queuing is running on a domain controller, these applications create child objects
beneath the server object.
• DC=Configuration,DC=ForestRootDomainName
DC=Schema,DC=Configuration,DC=ForestRootDomainNam
•
e
• DC=DomainName,DC=ForestRootDomainName
The msDSHasMasterNCs attribute is new in Windows Server 2003, and this attribute of the NTDS Settings object
contains values for the above-named directory partitions as well as any application directory partitions that are stored by
the domain controller. Therefore, on domain controllers that are DNS servers and use Active Directory–integrated DNS
zones, the following values appear in addition to the default directory partitions:
Connection Objects
A connection object (class nTDSConnection) defines a one-way, inbound route from one domain controller (the source)
to the domain controller that stores the connection object (the destination). The KCC uses information in cross-reference
objects to create the appropriate connection objects, which enable domain controllers that store the same directory
partitions to replicate with each other. The KCC creates connections for every server object in the Sites container that
has an NTDS Settings object.
The connection object is a child of the replication destination’s NTDS Settings object, and the connection object
references the replication source domain controller in the fromServer attribute on the connection object — that is, it
represents the inbound half of a connection. The connection object contains a replication schedule and specifies a
replication transport. The connection object schedule is derived from the site link schedule for intersite connections. For
more information about intersite connection schedules, see “Connection Object Schedule” later in this section.
A connection is unidirectional; a bidirectional replication connection is represented as two inbound connection objects.
The KCC creates one connection object under the NTDS Settings object of each server that is used as an endpoint for the
connection.
Connection objects are created in two ways:
• Two or more sites that are permitted to replicate with each other.
An administrator-defined cost value associated with that replication path. The cost value controls the route that
•
replication takes, and thus the remote sites that are used as sources of replication information.
• A schedule during which replication is permitted to occur.
An interval that determines how frequently replication occurs over this site link during the times when the schedule
•
allows replication.
For more information about site link properties, see “Site Link Settings and Their Effects on Intersite Replication” later in
this section.
• Replication between sites can use either RPC over IP or SMTP over IP.
Replication between sites over SMTP is supported for only domain controllers of different domains. Domain controllers
•
of the same domain must replicate by using the RPC over IP transport. Therefore, replication between sites over SMTP
is supported for only schema, configuration, and global catalog replication, which means that domains can span sites
only when point-to-point, synchronous RPC is available between sites.
The Inter-Site Transports container provides the means for mapping site links to the transport that the link uses. When
you create a site link object, you create it in either the IP container (which associates the site link with the RPC over IP
transport) or the SMTP container (which associates the site link with the SMTP transport).
For the IP transport, a typical site link connects only two sites and corresponds to an actual WAN link. An IP site link
connecting more than two sites might correspond to an asynchronous transfer mode (ATM) backbone that connects, for
example, more than two clusters of buildings on a large campus or connects several offices in a large metropolitan area
that are connected by leased lines and IP routers.
Replication Queue
Suppose a domain controller has five inbound replication connections. As the domain controller formulates change
requests, either by a schedule being reached or from a notification, it adds a work item for each request to the end of
the queue of pending synchronization requests. Each pending synchronization request represents one <source domain
controller, directory partition> pair, such as “synchronize the schema directory partition from DC1,” or “delete the
ApplicationX directory partition.”
When a work item has been received into the queue, notification and polling intervals do not apply — the domain
controller processes the item (begins synchronizing from that source) as soon as the item reaches the front of the queue,
and continues until either the destination is fully synchronized with the source domain controller, an error occurs, or the
synchronization is pre-empted by a higher-priority operation.
• The site link path between the sites has a lower cost than any IP/RPC site link that can reach the SMTP site.
You are not attempting to replicate writable replicas of the same domain (although replication of global catalog partial
•
replicas is supported).
• Each domain controller is configured to receive mail.
You must also determine if mail routing is necessary. If the two replicating domain controllers have direct IP connectivity
and can send mail to each other, no further configuration is required. However, if the two domain controllers must go
through mail gateways to deliver mail to each other, you must configure the domain controller to use the mail gateway.
Note
RPC is required for replicating the domain to a new domain controller and for installing certificates. If RPC is not
•
available to the remote site, the domain must be replicated and certificates must be installed over RPC in a hub site
and the domain controller then shipped to the remote site.
• For replication between sites, data that is replicated through either transport is compressed.
Active Directory can respond with only a fixed (maximum) number of changes per change request, based on the size
•
of the replication packet. The size of the replication packet is configurable. For information about configuring the
replication packet size, see “Replication Packet Size” later in this section.
• Active Directory can apply a single set of changes at a time for a specific directory partition and replication partner.
The response data (changes) are transported in one or many frames, based on the total number of changed or new
•
values.
• TCP transports the data portion by using the same algorithm for both SMTP and RPC.
• The packet size in bytes is 1/100th the size of RAM, with a minimum of 1 MB and a maximum of 10 MB.
The packet size in objects is 1/1,000,000th the size of RAM, with a minimum of 100 objects and a maximum of
•
1,000 objects. For general estimates when this entry is not set, assume an approximate packet size of 100 objects.
There is one exception: the value of the Replicator async inter site packet size (bytes) registry entry is always 1 MB
if it is not set (that is, when the default value is in effect). Many mail systems limit the amount of data that can be sent
in a mail message (2 MB to 4 MB is common), although most Windows-based mail systems can handle large 10-MB mail
messages.
Overriding these memory-based values might be beneficial in advanced bandwidth management scenarios. You can edit
the registry to set the maximum packet size.
Note
If you must edit the registry, use extreme caution. Registry information is provided here as a reference for use by only
•
highly skilled directory service administrators. It is recommended that you do not directly edit the registry unless, as
in this case, there is no Group Policy or other Windows tools to accomplish the task. Modifications to the registry are
not validated by the registry editor or by Windows before they are applied, and as a result, incorrect values can be
stored. Storage of incorrect values can result in unrecoverable errors in the system.
Setting the maximum packet size requires adding or modifying entries in the following registry path with the
REG_DWORD data type: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\NTDS\Parameters. These entries
can be used to determine the maximum number of objects per packet and maximum size of the packets. The minimum
values are indicated as the lowest value in the range.
For RPC replication within a site:
•
Replicator intra site packet size
•
(objects)
Range: >=2
Replicator intra site packet size (bytes)
•
Range: >=10 KB
For RPC replication between sites:
•
Replicator inter site packet size (objects)
•
Range: >=2
Replicator inter site packet size (bytes)
•
Range: >=10 KB
For SMTP replication between sites:
•
Replicator async inter site packet size (objects)
•
Range: >=2
Replicator async inter site packet size (bytes)
•
Range: >=10 KB
Transport Type
The transportType attribute of a connection object specifies which network transport is used when the connection is
used for replication. The transport type receives its value from the distinguished name of the container in the
configuration directory partition that contains the site link over which the connection occurs, as follows:
Connection objects that use TCP/IP have the transportType value of CN=IP,CN=Inter-Site
•
Transports,CN=IP,DC=Configuration,DC=ForestRootDomainName.
Connection objects that use SMTP/IP have the transportType value of CN=SMTP,CN=Inter-Site
•
Transports,CN=IP,DC=Configuration,DC=ForestRootDomainName.
For intrasite connections, transportType has no value; Active Directory Sites and Services shows the transport of
•
“RPC” for connections that are from servers in the same site.
If you move a domain controller to a different site, the connection objects from servers in the site from which it was
moved remain, but the transport type is blank because it was an intrasite connection. Because the connection has an
endpoint outside of the site, the local KCC in the server’s new site does not manage the connection. When the ISTG runs,
if a blank transport type is found for a connection that is from a server in a different site, the transportType value is
automatically changed to IP. The ISTG in the site determines whether to delete the connection object or to retain it, in
which case the server becomes a bridgehead server in its new site.
Top of page
Replication Between Sites
Replication between sites transfers domain updates when domain controllers for a domain are located in more than one
site. Intersite replication of configuration and schema changes is always required when more than one site is configured
in a forest. Replication between sites is accomplished by bridgehead servers, which replicate changes according to site
link settings.
Bridgehead Servers
When domain controllers for the same domain are located in different sites, at least one bridgehead server per directory
partition and per transport (IP or SMTP) replicates changes from one site to a bridgehead server in another site. A single
bridgehead server can serve multiple partitions per transport and multiple transports. Replication within the site allows
updates to flow between the bridgehead servers and the other domain controllers in the site. Bridgehead servers help to
ensure that the data replicated across WAN links is not stale or redundant.
Any server that has a connection object with a “from” server in another site is acting as a destination bridgehead. Any
server that is acting as a source for a connection to another site acts as a source bridgehead.
Note
You can identify a KCC-selected bridgehead server in Active Directory Sites and Services by viewing connection objects
•
for the server (select the NTDS Settings object below the server object); if there are connections from servers in a
different site or sites, the server represented by the selected NTDS Settings object is a bridgehead server. If you have
Windows Support Tools installed, you can see all bridgehead servers by using the command repadmin
/bridgeheads.
KCC selection of bridgehead servers guarantees bridgehead servers that are capable of replicating all directory partitions
that are needed in the site, including partial global catalog partitions. By default, bridgehead servers are selected
automatically by the KCC on the domain controller that holds the ISTG role in each site. If you want to identify the
domain controllers that can act as bridgehead servers, you can designate preferred bridgehead servers, from which the
ISTG selects all bridgehead servers. Alternatively, if the ISTG is not used to generate the intersite topology, you can
create manual intersite connection objects on domain controllers to designate bridgehead servers.
In sites that have at least one domain controller that is running Windows Server 2003, the ISTG can select bridgehead
servers from all eligible domain controllers for each directory partition that is represented in the site. For example, if
three domain controllers in a site store replicas of the same domain and domain controllers for this domain are also
located in three or more other sites, the ISTG can spread the inbound connection objects from those sites among all
three domain controllers, including those that are running Windows 2000 Server.
In Windows 2000 forests, a single bridgehead server per directory partition and per transport is designated as the
bridgehead server that is responsible for intersite replication of that directory partition. Therefore, for the preceding
example, only one of the three domain controllers would be designated by the ISTG as a bridgehead server for the
domain, and all four connection objects from the four other sites would be created on the single bridgehead server. In
large hub sites, a single domain controller might not be able to adequately respond to the volume of replication requests
from perhaps thousands of branch sites.
For more information about how the KCC selects bridgehead servers in Windows Server 2003, see “Bridgehead Server
Selection” later in this section.
In the preceding diagram, creating a third site link to connect the Boston and Portland sites is unnecessary and
counterproductive because of the way that the KCC uses cost to route replication. In the configuration that is shown, the
KCC uses cost to choose either the route between Portland and Seattle or the route between Portland and Boston. If you
wanted the KCC to use the route between Portland and Boston, you would create a site link between Portland and Boston
instead of the site link between Portland and Seattle.
• The site link change must replicate to the ISTG of each site by using the previous replication topology.
• The replication interval is the maximum of the intervals that are set for the site links along the path.
The options, if any are set, are computed by using the AND operation.
•
Note
Options are the values of the options attribute on the site link object. The value of this attribute determines special
•
behavior of the site link, such as reciprocal replication and intersite change notification.
Thus the site link schedule is the overlap of all of the schedules of the subpaths. If none of the schedules overlap, the
path is not used.
• Four sites have domain controllers for the same domain: Portland, Seattle, Detroit, and Boston.
• Three site links are configured: Portland-Seattle (PS), Seattle-Detroit (SD), and Detroit-Boston (DB).
• Two separate manual site link bridges link the outer site links PS and DB with the inner site link SD.
The presence of the PS-SD site link bridge means that an IP message can be sent transitively from the Portland site to
the Detroit site with cost 4 + 3 = 7. The presence of the SD-DB site link bridge means that an IP message can be sent
transitively from Seattle to Boston at a cost of 3 + 2 = 5. However, because there is no transitivity between the PS-SB
and SB-DB site link bridges, an IP message cannot be sent between Portland and Boston with cost 4 + 3 + 2 = 9, or at
any cost.
In the following diagram, the two manual site link bridges means that Boston is able to replicate directly only with Detroit
and Seattle, and Portland is able to replicate directly only with Seattle and Detroit.
Note
If you need direct replication between Portland and Detroit, you can create the PS-SB-DB site link bridge. By excluding
•
the PS site link, you ensure that connections are neither created nor considered by the KCC between Portland and
Detroit.
Two Site Link Bridges that Are Not Transitive
In the diagram, connection objects are not possible between DC4 in Detroit and DC3 in Portland because two site link
bridges are not transitive. For connection objects to be possible between DC3 and DC4, the site link DB must be added to
the PS-SB site link bridge. In this case, the cost of replication between DC3 and DC4 is 9.
Note
Cost is applied differently to a site link bridge than to a site link that contains more than two sites. To use the
•
preceding example, if Seattle, Boston, and Portland are all in the same site link, the cost of replication between any of
the two sites is the same.
Bridging site links manually is generally recommended for only large branch office deployments. For more information
about using manual site link bridging, see the “Windows Server 2003 Active Directory Branch Office Deployment Guide.”
Schedule implementation
The times that you can set in the Schedule setting on the site link are in one-hour increments. For example, you can
schedule replication to occur between 00:00 hours and 01:00 hours, between 01:00 hours and 02:00 hours, and so
forth. However, each block in the actual connection schedule is 15 minutes. For this reason, when you set a schedule of
01:00 hours to 02:00 hours, you can assume that replication is queued at some point between 01:00 hours and
01:14:59 hours.
Note
RPC synchronous inbound replication is serialized so that if the server is busy replicating this directory partition from
•
another source, replication from a different source does not begin until the first synchronization is complete. SMTP
asynchronous replication is processed serially by order of arrival, with multiple replication requests queued
simultaneously.
Specifically, a replication event is queued at time t + n, where t is the replication interval that is applied across the
schedule and n is a pseudo-random number from 1 minute through 15 minutes. For example, if the site link indicates
that replication can occur from 02:00 hours through 07:00 hours, and the replication interval is 2 hours (120 minutes),
t is 02:00 hours, 04:00 hours, and 06:00 hours. A replication event is queued on the destination domain controller
between 02:00 hours and 02:14:59 hours, and another replication event is queued between 04:00 hours and
04:14:59 hours. Assuming that the first replication event that was queued is complete, another replication event is
queued between 06:00 hours and 06:14:59 hours. If the synchronization took longer than two hours, the second
synchronization would be ignored because an event is already in the queue.
Replication can extend beyond the end of the schedule. A period of replication latency that starts before the end of the
schedule runs until completion, even if the period is still running when the schedule no longer allows replication to be
available.
Note
The replication queue is shared with other events, and the time at which replication takes place is approximate.
•
Duplicate replication events are not queued for the same directory partition and transport.
Replication Interval
For each site link object, you can specify a value for the replication interval (frequency), which determines how often
replication occurs over the site link during the time that the schedule allows. For example, if the schedule allows
replication between 02:00 hours and 04:00 hours, and the replication interval is set for 30 minutes, replication can occur
up to four times during the scheduled time.
The default replication interval is 180 minutes, or 3 hours. When the KCC creates a connection between a domain
controller in one site and a domain controller in another site, the replication interval of the connection is the maximum
interval along the minimum-cost path of site link objects from one end of the connection to the other.
• Value: Number of seconds to wait between the time Active Directory starts and the KCC runs for the first time.
Intrasite All Local Evaluate all servers in a site and create connection objects locally on
server this server from servers in the same site that are adjacent to this
server in the ring topology.
Intersite One domain controller per Local site Evaluate the servers in all sites and create connection objects both
site that has the ISTG role locally and on other servers in the site from servers in different sites.
Link All Local Translate connection objects into replica links (partnerships) for each
translation server server relative to each directory partition that it holds.
Connection Translation
All KCCs process their connection objects and translate them into connection agreements, also called “replica links,”
between pairs of domain controllers. At specified intervals, Active Directory replicates data from the source domain
controller to the destination for directory partitions that they have in common. These replication agreements do not
appear in the administrative tools; the replication engine uses them internally to track the directory partitions that are to
be replicated from specified servers.
For each directory partition that two domain controllers have in common and that matches the full and partial
characteristics of a replication source, the KCC creates (or updates) a replication agreement on the destination domain
controller. Replication agreements take the form of entries for each source domain controller in the repsFrom attribute
on the topmost object of each directory partition replica. This value is stored and updated locally on the domain
controller and is not replicated. The KCC updates this attribute each time it runs.
For example, suppose a connection object is created between two domain controllers from different domains. Assuming
that neither of these domain controllers is a global catalog server and neither stores an application directory partition,
the KCC identifies the only two directory partitions that the domain controllers have in common — the schema directory
partition and the configuration directory partition. If a connection object links domain controllers in the same domain, at
least three directory partitions are replicated: the schema directory partition, the configuration directory partition, and
the domain directory partition.
In contrast, if the connection object that is created establishes replication between two domain controllers that are global
catalog servers, then in addition to the directory partitions the domain controllers have in common, a partial replica of
each additional domain directory partition in the forest is also replicated between the two domain controllers over the
same connection.
For more information about replication agreements, see “How the Active Directory Replication Model Works.”
• The KCC generates a list of all servers in the site that hold that directory partition.
The next diagram illustrates replication between a global catalog server and three domains to which the global catalog
server does not belong. When a global catalog server is added to the site in DomainA, additional connections are
required to replicate updates of the other domain directory partitions to the global catalog server. The KCC on the global
catalog server creates connection objects to replicate from domain controllers for each of the other domain directory
partitions within the site, or from another global catalog server, to update the read-only partitions. Wherever a domain
directory partition is replicated, the KCC also uses the connection to replicate the schema and configuration directory
partitions.
Note
Connection objects are generated independently for the configuration and schema directory partitions (one
•
connection) and for the separate domain and application directory partitions, unless a connection from the same
source to destination domain controllers already exists for one directory partition. In that case, the same connection is
used for all (duplicate connections are not created).
Intrasite Topology for Site with Four Domains and a Global Catalog Server
• Connection objects from nonresponding servers are not deleted because the condition is expected to be transient.
• Location of domain directory partitions (calculate a replication topology for each domain).
• Bridgehead server availability in each site (at least one is available).
• With automatic site link bridging in effect, consider all implicit paths as a single path with a combined cost.
With manual site link bridging in effect, consider the implicit combined paths of only those site links included in the
•
explicit site link bridges.
With no site link bridging in effect, where the site links represent hops between domain controllers in the same
•
domain, replication flows in a store-and-forward manner through sites.
• This matrix is actually computed by Intersite Messaging and used by the KCC.
• By using the costs computed in the matrix, builds a spanning tree between sites that store the directory partition.
This method becomes inefficient when there are a large number of sites.
Note
• CPU time and memory is not an issue in a Windows 2000 forest as long as the following criteria apply:
• All domain controllers in the site are running Windows 2000 and one of them is upgraded to Windows Server 2003.
If at least one domain controller in a site is running Windows Server 2003, the ISTG role is assumed by a domain
controller that is running Windows Server 2003.
The viability of the current ISTG is assessed by all other domain controllers in the site. The need for a new ISTG in a site
is established differently, depending on the forest functional level that is in effect.
Windows 2000 functional level: At 30-minute intervals, the current ISTG notifies every other domain controller of its
•
existence and availability by writing the interSiteTopologyGenerator attribute of the NTDS Site Settings object for
the site. The change replicates to every domain controller in the forest. The KCC on each domain controller monitors
this attribute for its site to verify that it has been written. If a period of 60 minutes elapses without a modification to
the attribute, a new ISTG declares itself.
Windows Server 2003 or Windows Server 2003 interim functional level: Each domain controller maintains an up-to-
•
dateness vector, which contains an entry for each domain controller that holds a full replica of any directory partition
that the domain controller replicates. On domain controllers that are running Windows Server 2003, this up-to-
dateness vector contains a timestamp that indicates the times that it was last contacted by its replication partners,
including both direct and indirect partners (that is, every domain controller that replicates a directory partition that is
stored by this domain controller). The timestamp is recorded whether or not the local domain controller actually
received any changes from the partner. Because all domain controllers store the schema and configuration directory
partitions, every domain controller is guaranteed to have the ISTG for its site among the domain controllers in its up-
to-dateness vector.
This timestamp eliminates the need to receive periodic replication of the updated interSiteTopologyGenerator
attribute from the current ISTG. When the timestamp indicates that the current ISTG has not contacted the domain
controller in the last 120 minutes, a new ISTG declares itself.
The Windows Server 2003 method eliminates the network traffic that is generated by periodically replicating the
interSiteTopologyGenerator attribute update to every domain controller in the forest.
ISTG Eligibility
When at least one domain controller in a site is running Windows Server 2003, the eligibility for the ISTG role depends
on the operating system of the domain controllers. When a new ISTG is required, each domain controller computes a list
of domain controllers in the site. All domain controllers in the site arrive at the same ordered list. Eligibility is established
as follows:
If no domain controllers in the site are running Windows Server 2003, all domain controllers that are running
•
Windows 2000 Server are eligible. The list of eligible servers is ordered by GUID.
If at least one domain controller in the site is running Windows Server 2003, all domain controllers that are running
•
Windows Server 2003 are eligible. In this case, the entries in the list are sorted first by operating system and then by
GUID. In a site in which some domain controllers are running Windows 2000 Server, domain controllers that are
running Windows Server 2003 remain at the top of the list and use the GUID in the same manner to maintain the
order.
The domain controller that is next in the list of servers after the current owner declares itself the new ISTG by writing the
interSiteTopologyGenerator attribute on the NTDS Site Settings object.
If the current ISTG is temporarily disconnected from the topology, as opposed to being shut down, and a new ISTG
declares itself in the interim, then two domain controllers can temporarily assume the ISTG role. When the original ISTG
resumes replication, it initially considers itself to be the current ISTG and creates inbound replication connection objects,
which results in duplicate intersite connections. However, as soon as the two ISTGs replicate with each other, the last
domain controller to write the intersiteTopologyGenerator attribute continues as the single ISTG and removes the
duplicate connections.
Although the ISTG does not rebalance the load among the existing bridgehead servers in the hub site after the initial
connections are created, it does consider the added domain controllers as candidate bridgehead servers under either of
the following conditions:
• A new site is added that requires a bridgehead server connection to the hub site.
Kerberos 88 88
DNS 53 53
• Related Information
Top of page
Active Directory Replication Tools
The following tools are associated with Active Directory replication.
Version compatibility
Active Directory Sites and Services runs on domain controllers that are running Windows Server 2003 and Windows 2000
Server.
On administrative workstations that are running Windows XP Professional with Service Pack 1, you can install the
Windows Server 2003 Administration Tools Pack (Adminpak.msi) from the i386 directory on the Windows Server 2003
operating system CD. This version of the Administration Tools Pack encrypts and signs LDAP traffic between the
administrative tool clients and domain controllers.
The Windows Server 2003 version of Active Directory Sites and Services (installed on the domain controller or on the
administrative workstation by using Administration Tools Pack) can target domain controllers that are running Windows
Server 2003 and Windows 2000 Server.
Active Directory Sites and Services provides a view into the Sites container of the configuration directory partition. Use
Active Directory Sites and Services to manage Active Directory replication topology. The following objects and their
properties can be managed by using this tool:
• Site link objects: Manage the site link properties for a set of sites.
• Subnets container: Add, remove, and configure subnets with IP addresses. Associate subnets with sites.
Reapdmin.exe: Repadmin
Category
Windows Server 2003 Support Tools, command-line tool.
Version compatibility
Repadmin runs on any computer on which Windows Server 2003 Support Tools can be installed, which includes Windows
Server 2003 family and Windows XP Professional.
Repadmin is used to view the replication information on domain controllers. You can determine the last successful
replication of all directory partitions, identify inbound and outbound replication partners, identify the current bridgehead
servers, view object metadata, and generally manage Active Directory replication topology. You can use Repadmin to
force replication of an entire directory partition or of a single object. You can also list domain controllers in a site.
Repadmin is extended in Windows Server 2003 to enable commands to target sets of domain controllers. For example,
you can target all domain controllers in a site or domain, or all domain controllers that are global catalog servers. In
Windows 2000 Server, Repadmin can report information about only one domain-controller at a time.
Repadmin has also been improved in Windows Server 2003 to include the RemoveLingeringObjects command, which
removes objects that are outdated (do not exist in a replica of the same directory partition on the source domain
controller).
For more information about removing lingering objects, see "Fixing Replication Lingering Object Problems (Event IDs
1388, 1988, 2042)" in the Windows Server 2003 Operations Guide at http://go.microsoft.com/fwlink/?LinkId=44131. For
more information about Repadmin, see Repadmin Overview.
Ntdsutil.exe: Ntdsutil
Category
Windows Server 2003 Support Tools, command-line tool.
Version compatibility
This tool is compatible with Windows Server 2003. An updated version of Ntdsutil is included with Windows Server 2003
Service Pack 1 (SP1).
Ntdsutil.exe provides management capabilities for Active Directory. You can use Ntdsutil.exe to perform Active Directory
database maintenance, manage and control single-master operations, and remove replication metadata left behind by
domain controllers that are removed from the network without uninstalling Active Directory. The version of Ntdsutil that
is included with Windows Server 2003 SP1 removes File Replication service (FRS) metadata in addition to Active
Directory replication metadata. You can also use Ntdsutil to create application directory partitions and perform
authoritative restore operations. This tool is intended for use by experienced administrators.
Top of page
Active Directory Replication Registry Entries
The information here is provided as a reference for use in troubleshooting or verifying that the required settings are
applied. It is recommended that you do not directly edit the registry unless there is no other alternative. Modifications to
the registry are not validated by the registry editor or by Windows before they are applied, and as a result, incorrect
values can be stored. This can result in unrecoverable errors in the system. When possible, use Group Policy or other
Windows tools, such as Microsoft Management Console (MMC), to accomplish tasks rather than editing the registry
directly. If you must edit the registry, use extreme caution.
The following registry settings cannot be modified by using Group Policy or other Windows tools.
Version
Windows 2000 Server.
Default value
Windows 2000 Server: 300 seconds.
The value for the delay between an originating update on a domain controller and the first change notification. On
domain controllers running Windows Server 2003, the value for initial change notification delay is stored in the
msDSReplicationNotifyFirstDSADelay attribute on the cross-reference object for each directory partition in the
Configuration container. The default value in Windows Server 2003 is decreased to 15 seconds when the forest functional
level is Windows Server 2003.
Version
Windows 2000 Server.
Default value
Windows 2000 Server: 30 seconds
The value for the delay before each subsequent change notification. On domain controllers running
Windows Server 2003, the value for subsequent notification delay is stored in the
msDSReplicationNotifySubsequentDSADelay attribute on the cross-reference object for each directory partition in
the Configuration container. The default value in Windows Server 2003 is decreased to 3 seconds when the forest
functional level is Windows Server 2003.
Version
Windows Server 2003, Windows 2000 Server.
Default value
Windows 2000 Server: 45 minutes; Windows Server 2003: 5 minutes.
The number of minutes between initiation of Active Directory replication and the RPC timeout. The domain controller
must be restarted before the change takes effect.
Version
Windows Server 2003, Windows 2000 Server with SP3.
Default value
Windows 2000 Server with SP3: off (0); Windows Server 2003: on (1)
The value that determines the treatment of replication of outdated objects that exist on reconnected domain controllers
that have not replicated in longer than a tombstone lifetime. If the destination domain controller has strict replication
consistency enabled, inbound replication of an outdated object is blocked. If the destination domain controller has strict
replication disabled, inbound replication of the full object occurs.
Version
Windows Server 2003, Windows 2000 Server.
Default value
1/1,000,000th the size of RAM, with a minimum of 100 objects and a maximum of 1,000 objects.
The maximum number of objects per packet for RPC replication within a site.
Default value
1/100th the size of RAM, with a minimum of 1 megabyte (MB) and a maximum of 10 MB.
The maximum size of objects per packet for RPC replication within a site.
Version
Windows Server 2003, Windows 2000 Server.
Default value
1/1,000,000th the size of RAM, with a minimum of 100 objects and a maximum of 1,000 objects.
The maximum number of objects per packet for RPC replication between sites.
Version
Windows Server 2003, Windows 2000 Server.
The maximum size of objects per packet for RPC replication between sites.
Default value
1/100th the size of RAM, with a minimum of 1 MB and a maximum of 10 MB.
Version
Windows Server 2003, Windows 2000 Server.
Default value
1/1,000,000th the size of RAM, with a minimum of 100 objects and a maximum of 1,000 objects.
The maximum number of objects per packet for SMTP replication between sites.
Version
Windows Server 2003, Windows 2000 Server.
Default value
1 MB.
The maximum size of objects per packet for SMTP replication between sites.
Version
Windows Server 2003.
Default value
3. For Windows 2000 Server compression, change the value to 2.
Determines the compression algorithm that is used on a site link (Windows Server 2003 algorithm or Windows 2000
Server algorithm).
Version
Windows Server 2003, Windows 2000 Server.
Default value
300 seconds.
Number of seconds to wait between the time Active Directory starts and the KCC performs the first topology check.
To find more information about Repl topology update delay (secs), see “Registry Reference” in Tools and Settings
Collection.
Version
Windows Server 2003, Windows 2000 Server.
Default value
900 seconds.
Interval between KCC replication topology checks.
To find more information about Repl topology update period (secs), see “Registry Reference” in Tools and Settings
Collection.
IntersiteFailuresAllowed
Registry path
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\NTDS\Parameters
Version
Windows Server 2003, Windows 2000 Server.
Default value
1.
Number of failed replication attempts prior to excluding nonresponding servers from the intersite topology.
MaxFailureTimeForIntersiteLink (sec)
Registry path
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\NTDS\Parameters
Version
Windows Server 2003, Windows 2000 Server.
Default value
7200 seconds (2 hours).
Time in seconds that must elapse prior to excluding nonresponding servers from the intersite topology.
NonCriticalLinkFailuresAllowed
Registry path
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\NTDS\Parameters
Version
Windows Server 2003, Windows 2000 Server.
Default value
1.
Number of failed replication attempts prior to excluding nonresponding servers from the intrasite topology.
MaxFailureTimeForNonCriticalLink (sec)
Registry path
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\NTDS\Parameters
Version
Windows Server 2003, Windows 2000 Server.
Default value
43200 seconds (12 hours).
Time in seconds that must elapse prior to excluding nonresponding servers from the intrasite topology.
CriticalLinkFailuresAllowed
Registry path
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\NTDS\Parameters
Version
Windows Server 2003, Windows 2000 Server.
Default value
0.
Number of failed replication attempts prior to excluding nonresponding servers for immediate neighbor connections
within a site.
MaxFailureTimeForCriticalLink (sec)
Registry path
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\NTDS\Parameters
Version
Windows Server 2003, Windows 2000 Server.
Default value
7200 seconds (2 hours).
Time in seconds that must elapse prior to excluding nonresponding servers for immediate neighbor connections within a
site.
TCP/IP Port
Registry path
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\NTDS\Parameters
Version
Windows Server 2003, Windows 2000 Server.
Default value
135.
TCP port that the directory service uses instead of using dynamic port 135. The domain controller must be restarted
before the change takes effect.
Version
Windows Server 2003 with SP 1
Default value
Half the value of the tombstone lifetime of the forest.
When the value is reached, logs event ID 2089 in the Directory Service event log, warning administrators and monitoring
applications to make sure that domain controllers are backed up before the tombstone lifetime expires.
Top of page
Active Directory Replication Group Policy Settings
The following table lists and describes the Group Policy settings that are associated with Active Directory replication
updates.
Group Policy Settings Associated with Active Directory Replication
Account Lockout Policy: Changes to these settings in the Domain Security Policy trigger urgent replication.
Group Policy Setting Description
• Account lockout
duration
• Account lockout
threshold
Password Policy: Changes to these settings in the Domain Security Policy trigger urgent replication.
• Enforce password
history
Contact PDC on logon Account lockout and domain password changes rely on contacting the primary domain
failure controller (PDC) emulator urgently to update the PDC emulator with the change. If Contact
PDC on logon failure is disabled, replication of password changes to the PDC emulator occurs
non-urgently.
To find more information about these Group Policy settings, see “Group Policy Settings Reference” in Tools and Settings
Collection.
Top of page
Active Directory Replication WMI Classes
The following table lists and describes the WMI classes that are associated with Active Directory replication. These
classes are shipped with Windows Server 2003, but are also compatible with Windows 2000 Server.
WMI Classes Associated with Active Directory Replication
Kerberos 88 88
DNS 53 53