Export (0) Print
Expand All

7 Appendix B: Product Behavior

The information in this specification is applicable to the following Microsoft products or supplemental software. References to product versions include released service packs:

  • Windows 2000 operating system

  • Windows Server 2003 operating system

  • Windows Server 2008 operating system

  • Windows Server 2008 R2 operating system

  • Windows Server 2012 operating system

  • Windows Server 2012 R2 operating system

Exceptions, if any, are noted below. If a service pack or Quick Fix Engineering (QFE) number appears with the product version, behavior changed in that service pack or QFE. The new behavior also applies to subsequent service packs of the product unless otherwise specified. If a product edition appears with the product version, behavior is different in that product edition.

Unless otherwise specified, any statement of optional behavior in this specification that is prescribed using the terms SHOULD or SHOULD NOT implies product behavior in accordance with the SHOULD or SHOULD NOT prescription. Unless otherwise specified, the term MAY implies that the product does not follow the prescription.

<1> Section 1.3: Windows FRS uses File Object ID (as specified in [MS-FSCC] section 2.1.3) as the ID of the files and folders inside a replica set. To get the object ID, FRS first checks if the file or folder already has an object ID. If an object ID does not exist, FRS creates a new GUID and save it on the file or folder. If an object ID already exists, FRS may either use it or reset it to a new value if an object ID is already set on a remote machine for the same file.

<2> Section 1.5: The Windows implementation of FRS works with Active Directory, as specified in [MS-ADTS].

<3> Section 1.7.2:

  • Windows 2000 Server uses FRS version 0.3.

  • Windows 2000 Server SP3 QFE uses FRS version 0.6.

  • Windows 2000 Server SP3 QFE+1 uses FRS version 0.7.

  • Windows Server 2003 and Windows Server 2008 use FRS version 0.8.

  • Windows 2000 Server SP4 and Windows Server 2008 R2 use FRS version 0.9.

    Note  Although Windows 2000 Server is an earlier version of Windows than Windows Server 2003, Windows 2000 Server SP4 was released subsequent to the initial release of Windows Server 2003—thus its later version number.

  • Windows Server 2012 uses FRS version 0.9.

  • Windows Server 2012 R2 uses FRS version 0.9.

<4> Section 2.1: Windows FRS runs under the security context of the local system account.

<5> Section 2.2.3.2: The file or folder USN number in the NTFS file system.

<6> Section 2.2.3.2: Latest USN number contributing to this change order.

<7> Section 2.2.3.2: First USN number contributing to this change order.

<8> Section 2.2.3.2: Old local replica set ID number.

<9> Section 2.2.3.2: New local replica set ID number.

<10> Section 2.2.3.4: The value 0 is used for Windows 2000 Server. The value 1 is used for Windows Server 2003, Windows Server 2008, Windows Server 2008 R2, Windows Server 2012, and Windows Server 2012 R2. There is no difference in the content or handling of version 0 and version 1 of CHANGE_ORDER_RECORD_EXTENSION.

<11> Section 2.2.3.6.12: These are the only two values used by Windows.

<12> Section 2.2.3.6.13: The maximal size of data in bytes is 0x10000. Windows sends, and expects to receive, at most 0x10000 bytes of Data.

<13> Section 2.2.3.10: By default, Windows has staging file compression enabled. Staging file compression can be disabled by setting registry key [HKLM\SYSTEM\CurrentControlSet\Services\NtFrs\Parameters\Compress Staging Files] to 0.

<14> Section 2.2.3.10: Windows 2000 Server uses a Minor value of NTFRS_STAGE_MINOR_1. Windows 2000 Server SP3 and Windows 2000 SP4 use a Minor value of NTFRS_STAGE_MINOR_2. Windows Server 2003, Windows Server 2008, Windows Server 2008 R2, Windows Server 2012, and Windows Server 2012 R2 use a Minor value of NTFRS_STAGE_MINOR_3.

<15> Section 2.3: Windows FRS creates the objects in the directory after the first reboot during DC promotion. The objects mentioned above are created by administrators through Active Directory tools. In Windows, these objects are created by administrators using the DFS user interface or DCPromo.exe.

<16> Section 2.3: Windows also uses objectGuid and uSNChanged attributes for every object.

<17> Section 2.3: Windows uses objectGuid and distinguishedName to identify this object in its internal memory structure, as specified in [MS-ADSC] section 2.260.

<18> Section 2.3: Windows uses uSNChanged to calculate a checksum on all Active Directory objects' uSNChanged value returned by an Active Directory poll. It then waits until two polling cycles return the same check sum before using the DS data. This avoids using a set of Active Directory objects that is still changing, as specified in [MS-ADSC] section 2.260.

<19> Section 2.3.1.2: If no value is set for this attribute, the Windows implementation of FRS uses a value of "*.tmp,*.bak,~*", which is also the default value for this attribute in Active Directory.

When the filter changes, FRS applies the new filter to all files and folders that are subsequentially modified or created.

FRS will not replicate old files that were excluded before but are allowed with the new filter. FRS will replicate these files only when there are some changes made to the old files.

Similarly, files that were replicated before the filter changed will not be deleted by FRS, but they will be excluded thereafter.

For example, if a filter is changed from "*.tmp, *.bak" to "*.tmp, *.doc", then FRS will not replicate any previously created *.bak files, but any changes made to existing *.bak file or any new *.bak file will be replicated. Similarly, any previously replicated *.doc file will not be removed from any member. However, any new or changed *.doc file will not be replicated out by FRS after the filter change.

FRS does not replicate NTFS mount points, nor does it replicate files and folders that have been encrypted by the Encrypting File System (EFS).

<20> Section 2.3.1.2: Windows does not specify a default value for this attribute in Active Directory.

<21> Section 2.3.1.2: Windows does not set this value by default.

<22> Section 2.3.1.2: This attribute is only available on Windows 2000 Server and Windows Server 2003.

<23> Section 2.3.1.6: Windows sets the default value of the attribute to FRS working path where FRS will store its implementation-specific data.

<24> Section 2.3.1.6: Windows sets the default value of the attribute to FRS working path where FRS will store its implementation-specific data.

<25> Section 2.3.1.6: Windows sets the default priority for DFSreplica set replication to 7.

<26> Section 2.3.1.8: Windows sets the default value of the attribute to FRS working path where FRS will store its implementation-specific data.

<27> Section 2.3.2.2: The default replica set name for a SYSVOL object is "Domain System Volume (SYSVOL share)"; however, any name can be used, and the name can be changed during promotion. Windows creates the following two attributes in Active Directory, but never reads or uses them after creation:

  • frsReplicaSetGUID: Binary {00000000-0000-0000-0000-00000000000}

  • frsVersionGuid: Binary {00000000-0000-0000-0000-00000000000}

<28> Section 2.3.2.4: Windows sets the default priority, as indicated by the priority bits in the NTDS Connection object's Options attribute, for SYSVOLreplica set replication to 0.

<29> Section 2.4: Windows responds to requests for FRS performance counter statistics through the Windows Remote Registry Protocol.

<30> Section 2.4: Windows collects these statistics by querying the implementation-specific internal data structures inside the FRS process memory space.

<31> Section 3.1.1.5: Windows uses the NTFS file reference number as the unique key to identify the file in NTFS.

<32> Section 3.1.1.7: Change orders remain in the outbound log for seven days. This value is saved as minutes inside the registry using 4 bytes.

<33> Section 3.1.1.8: In Windows Server 2008, Windows Server 2008 R2, Windows Server 2012, and Windows Server 2012 R2 read-only domain controllers (RODCs) are supported. To support RODCs in Windows Server 2008, Windows Server 2008 R2, Windows Server 2012, and Windows Server 2012 R2 no outbound connections are created for the RODC Member objects. Because no outbound connections exist for RODC members, no changes on RODCs can ever be replicated out.

<34> Section 3.1.1.9: The only type of reparse point that is replicated as a reparse point by Windows implementations of FRS is IO_REPARSE_TAG_SYMLINK. Reparse point types IO_REPARSE_TAG_SIS and IO_REPARSE_TAG_HSM are replicated as normal files rather than as reparse points. No other reparse point types (IO_REPARSE_TAG_MOUNT_POINT, IO_REPARSE_TAG_DFS, and so on) are replicated, neither as reparse points nor as normal files.

<35> Section 3.1.1.10.2: The default value is 3,000, which is stored in the following registry entry: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NtFrs\Parameters\ Maximum CO Retry Count.

<36> Section 3.1.1.10.2: The default value is 10,080 (which is 7 days expressed in minutes), stored in the following registry entry: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NtFrs\Parameters\Maximum CO Retry Timeout In Minutes.

<37> Section 3.1.2: For domain controllers, the default short and long polling intervals are 5 minutes each. Domain controllers always use the short interval, regardless of the long interval setting.

For member servers, the default short polling interval is 5 minutes, and the long polling interval is 60 minutes.

<38> Section 3.1.2: If there have been no FRS configuration changes in Active Directory after the completion of eight short polling intervals, FRS automatically begins polling according to the long polling interval. If one of the following events occurs, the polling cycle is reset:

  • Replica Member is added or removed (see section 3.1.1.3).

  • Connection is added or removed.

  • Schedule is changed.

  • File or folder filter is changed.

<39> Section 3.1.3: In Windows implementations, change orders remain in the outbound log for seven days by default. This value is saved as minutes inside the registry entry [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NtFrs\Parameters\Outlog Change History In Minutes].

<40> Section 3.1.3: Windows servers use the registry entry RPC TCP/IP Port Assignment under [HKLM\SYSTEM\CurrentControlSet\Services\NtFrs\Parameters\] to restrict replication traffic to a specific port.

<41> Section 3.1.5.1: Windows modifies the following registry entries when removing a machine from the replica set:[HKLM\System\CurrentControlSet\Services\NtFrs\Parameters\Replica Sets\<ReplicaSetGuid>] is deleted and [HKLM\System\CurrentControlSet\Services\NtFrs\Parameters\Cumulative Replica Sets\<ReplicaSetGuid>] is deleted. Also, values are added to [HKLM\SYSTEM\CurrentControlSet\Control\BackupRestore\FilesNotToBackup] (or [HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FilesNotToBackup] if the former does not exist) and [HKLM\\SYSTEM\CurrentControlSet\Control\BackupRestore\KeysNotToRestore] to ensure that NtBackup does not back up the files of the deleted replica and does not restore the deleted registry keys of deleted replica.

<42> Section 3.1.5.1: Encrypting File System (EFS)–encrypted files and folders are not replicated by the Windows implementation of FRS.

<43> Section 3.1.5.1: Windows Server 2008 and Windows Server 2008 R2, with domain functional level set to DS_BEHAVIOR_2000 or DS_BEHAVIOR_2003, use FRS to replicate the SYSVOL replica sets. Windows 2000 and Windows Server 2003 will always use FRS to replicate SYSVOL replica sets.

<44> Section 3.1.5.1: Windows FRS also creates the DFSRSYSVOLreplica set object in the DS, and then starts the DFSR service and allows it to replicate the SYSVOLreplica set, as specified in [MS-DFSRH]. If the domain functional level is DS_BEHAVIOR_WIN2008, DS_BEHAVIOR_WIN2008R2, DS_BEHAVIOR_WIN2012, or DS_BEHAVIOR_WIN2012R2 (as specified in [MS-ADTS] section 6.1.4.3), FRS removes the SYSVOLreplica set object in the Directory Service (DS) and stops replicating the SYSVOLreplica set. DFSR, not FRS, is used to replicate the SYSVOLreplica set when the domain functional level is DS_BEHAVIOR_WIN2008, DS_BEHAVIOR_WIN2008R2, DS_BEHAVIOR_WIN2012, or DS_BEHAVIOR_WIN2012R2.

<45> Section 3.2.3: Windows enables or disables the user or process to change the Active Directory polling interval, according to the value of the registry subkey under [HKLM\SYSTEM\CurrentControlSet\Services\NtFrs\Parameters\Access Checks\Set Ds Polling Interval\Access, checks are [Enabled or Disabled]].

If the registry subkey is not present, Windows considers IsSetDsPollingIntervalAccessCheckEnabled to have a value of "Enabled".

<46> Section 3.2.3: Windows allows the user or process to change the access to read/write, according to the value of the registry subkey under [HKLM\SYSTEM\CurrentControlSet\Services\NtFrs\Parameters\Access Checks\Set Ds Polling Interval\Access, checks require [Full Control or Read]].

If the registry subkey is not present, Windows considers SetDsPollingIntervalAccessRequired to have a value of "Read".

<47> Section 3.2.3: Windows enables or disables the user or process to get the information about the Active Directory polling interval, according to the value of the registry subkey under [HKLM\SYSTEM\CurrentControlSet\Services\NtFrs\Parameters\Access Checks\Get Ds Polling Interval\Access, checks are [Enabled or Disabled]].

If the registry subkey is not present, Windows considers IsGetDsPollingIntervalAccessCheckEnabled to have a value of "Enabled".

<48> Section 3.2.3: Windows allows the user or process to change the access to read/write, according to the value of the registry subkey under [HKLM\SYSTEM\CurrentControlSet\Services\NtFrs\Parameters\Access Checks\Get Ds Polling Interval\Access, checks require [Full Control or Read]].

If the registry subkey is not present, Windows considers GetDsPollingIntervalAccessRequired to have a value of "Read".

<49> Section 3.2.3: Windows enables or disables the user or process to get the internal information about FRS, according to the value of the registry subkey under [HKLM\SYSTEM\CurrentControlSet\Services\NtFrs\Parameters\Access Checks\Get Internal Information\Access, checks are [Enabled or Disabled]].

If the registry subkey is not present, Windows considers IsGetInfoWAccessCheckEnabled to have a value of "Enabled".

<50> Section 3.2.3: Windows allows the user or process to change the access to read/write, according to the value of the registry subkey under [HKLM\SYSTEM\CurrentControlSet\Services\NtFrs\Parameters\Access Checks\Get Internal Information\Access, checks require [Full Control or Read]].

If the registry subkey is not present, Windows considers GetInfoWAccessRequired to have a value of "Read".

<51> Section 3.2.3: Windows enables or disables the FRS writer to issue commands. according to the value of the registry subkey under [HKLM\SYSTEM\CurrentControlSet\Services\NtFrs\Parameters\Access Checks\Writer Commands\Access, checks are [Enabled or Disabled]].

If the registry subkey is not present, Windows considers IsWriterCommandCheckEnabled to have a value of "Enabled".

<52> Section 3.2.3: Windows allows the user or process to change the access to read/write, according to the value of the registry subkey under [HKLM\SYSTEM\CurrentControlSet\Services\NtFrs\Parameters\Access Checks\Writer Commands\Access, checks require [Full Control or Read]].

If the registry subkey is not present, Windows considers WriterCommandAccessRequired to have a value of "Read".

<53> Section 3.2.3: Windows enables or disables the FRS writer to issue commands. according to the value of the registry subkey under [HKLM\SYSTEM\CurrentControlSet\Services\NtFrs\Parameters\Access Checks\Is Path Replicated\Access, checks are [Enabled or Disabled]].

If the registry subkey is not present, Windows considers IsPathReplicatedCheckEnabled to have a value of "Enabled".

<54> Section 3.2.3: Windows allows the user or process to change the access to read/write, according to the value of the registry subkey under [HKLM\SYSTEM\CurrentControlSet\Services\NtFrs\Parameters\Access Checks\Is Path Replicated\Access, checks require [Full Control or Read]].

If the registry subkey is not present, Windows considers ReplicatedPathAccessRequired to have a value of "Read".

<55> Section 3.2.3: Windows enables or disables the FRS writer to issue commands, according to the value of the registry subkey under [HKLM\SYSTEM\CurrentControlSet\Services\NtFrs\Parameters\Access Checks\Force Replication\Access, checks are [Enabled or Disabled]].

If the registry subkey is not present, Windows considers IsForceReplicationCheckEnabled to have a value of "Enabled".

<56> Section 3.2.3: Windows allows the user or process to change the access to read/write, according to the value of the registry subkey under [HKLM\SYSTEM\CurrentControlSet\Services\NtFrs\Parameters\Access Checks\Force Replication\Access, checks require [Full Control or Read]].

If the registry subkey is not present, Windows considers ForceReplicationAccessRequired to have a value of "Read".

<57> Section 3.2.4: Windows enables or disables the access check on each FRSAPI message according to the value of the registry subkey that is associated with the message under [HKLM\SYSTEM\CurrentControlSet\Services\NtFrs\Parameters\Access Checks\FunctionName\Access checks are [Enabled or Disabled]].

If the access check is enabled for an FRS message, Windows restricts user access to this FRS message by impersonating the caller with an RPC impersonation level of RPC_C_IMPL_LEVEL_IMPERSONATE, as specified in [MS-RPCE] section 2.2.1.1.9, and opening the key [HKLM\SYSTEM\CurrentControlSet\Services\NtFrs\Parameters\Access Checks\FunctionName\Access checks require [Full Control or Read]] with the access specified in the key.

FunctionName is one of the following:

  • Set Ds Polling Interval

  • Get Ds Polling Interval

  • Get Internal Information

  • Is Path Replicated

  • Writer Commands

  • Force Replication

<58> Section 3.2.4.1: Windows implementation persists the long interval in a registry key to use it across service restarts. This value persisted in registry is in the range of 0 to 0x00008BCF inclusive. Any value higher is truncated to 0x00008BCF.

<59> Section 3.2.4.1: Windows implementation persists the short interval in a registry key to use it across service restarts. This value persisted in registry is in the range of 0 to 0x00008BCF inclusive. Any value higher is truncated to 0x00008BCF.

<60> Section 3.2.4.3: The following information is returned inside the BLOB by this method in Windows FRS:

<61> Section 3.2.4.3: Windows FRS uses NTFRSAPI_INFO data structures (as specified in section 2.2.2.1) in Blob. This field is transmitted across the wire as a BLOB, and is not marshaled by RPC. Data in the Windows BLOB includes memory usage, outbound log, and so on).

<62> Section 3.2.4.3: Windows supplies the following information in this call:

  1. FRS version information

  2. FRS internal information on replica sets

  3. FRS internal information on DS

  4. FRS internal information on memory usage

  5. FRS internal information on Jet DB tables

<63> Section 3.2.4.4: The path is in the following formats (there is no Windows-based client tool that uses this method):

  • [DriveLetter]:\[FolderPath]

  • \??\Volume{Volume GUID}\[FolderPath]

  • \\.\Volume{Volume GUID}\[FolderPath]

  • \\?\Volume{Volume GUID}\[FolderPath]

<64> Section 3.3.4.1: Windows servers send the NetBIOS name whenever the upstream partner fails to find the FQDN of the downstream partner.

<65> Section 3.3.4.1: In Windows implementations, the FRS server does not validate the parameter and requires the client to send the correct data, as specified in section 2.2.3.6.3.

<66> Section 3.3.4.1: In Windows implementations, the FRS server does not validate the parameter and requires the client to send the correct data, as specified in section 2.2.3.6.4.

<67> Section 3.3.4.1: Windows servers send the NetBIOS name whenever the upstream partner fails to find the FQDN.

<68> Section 3.3.4.1: In Windows implementations, the FRS server does not validate the parameter and requires the client to send the correct data, as specified in section 2.2.3.6.4.

<69> Section 3.3.4.1: In Windows implementations, the FRS server does not validate the parameter and requires the client to send the correct data, as specified in section 2.2.3.6.5.

<70> Section 3.3.4.1: In Windows implementations, the FRS server does not validate the parameter and requires the client to send the correct data, as specified in section 2.2.3.6.6.

<71> Section 3.3.4.1: In Windows the volume allocation size for the staging file is used.

<72> Section 3.3.4.1: In Windows this field specifies the time stamp of the update sequence number (USN) change.

<73> Section 3.3.4.1.1: In Windows, the FRS also uses CO_LOCATION_MOVEIN, CO_LOCATION_MOVEIN2, and CO_LOCATION_MOVEDIR.

<74> Section 3.3.4.1.4: In Windows, the FRS also uses CO_LOCATION_MOVEIN, CO_LOCATION_MOVEIN2, and CO_LOCATION_MOVEDIR.

<75> Section 3.3.4.1.5: In Windows, the FRS also uses CO_LOCATION_MOVEOUT.

<76> Section 3.3.4.2: Windows sets PartnerAuthLevel to 0x0.

<77> Section 3.3.4.2: Newly created DCs create volatile connections to improve the speed of initial sync.

<78> Section 3.3.4.4.1: For non-connection establishment communications: If the client is an upstream partner, the timeout is at least 30 seconds. If the client is a downstream partner, the timeout is at least 60 seconds.

<79> Section 3.3.4.4.1: Windows servers use the NetBIOS name whenever the upstream partner fails to find the FQDN of the downstream partner.

<80> Section 3.3.4.4.1: Windows servers send the NetBIOS name whenever the upstream partner fails to find the FQDN.

<81> Section 3.3.4.4.4: Default Maximum Partner Clock Skew is 30 minutes and is configurable through the Windows registry.

<82> Section 3.3.4.4.4.1.1: Volume allocation size for the staging file is used.

<83> Section 3.3.4.4.4.1.1: The time stamp of the update sequence number (USN) change.

<84> Section 3.3.4.4.6: In Windows implementations, the registry key [HKLM\SYSTEM\CurrentControlSet\Services\NtFrs\Parameters\ Suppress Identical Updates to Files] can be created or updated to 0 to force identical updates to replicate.

<85> Section 3.3.4.4.6: The Windows downstream partner sends 65,536 bytes of staging file data in the CMD_RECEIVING packet.

<86> Section 3.3.4.4.7: In Windows, the CocExt structure is only filled for downstream partners that are running Windows 2000 Server. Windows 2000 Server partners will have a FRS Minor version of NTFRS_COMM_MINOR_3 or below.

<87> Section 3.3.4.6: If the server does not reply to the client in 10 seconds, the client tries again. The client doubles the interval every retry and stops retrying after 1 hour.

 
Show:
© 2015 Microsoft