1.7 Versioning and Capability Negotiation

This document covers versioning issues in the following areas:

  • Supported Transports: The Distributed File System: Replication (DFS-R) Protocol is implemented on top of RPC over TCP/IP, as specified in section 2.1.

  • Protocol Versions: DFS-R negotiates versioning as part of an RPC message; EstablishConnection is specified in section 3.2.4.1.2. This document specifies versions 0x00050000, 0x00050002, 0x00050003, and 0x00050004.

  • Security and authentication methods: DFS-R supports the NTLM (as specified in [MS-NLMP]) and Kerberos (as specified in [MS-KILE]) authentication methods. These are specified in section 2.1.

  • Localization: DFS-R does not expose any functionality that is localization-dependent.

  • Capability negotiation: DFS-R performs explicit capability negotiation as part of the protocol-version negotiation. Furthermore, on Windows, RDC similarity (as specified in [MS-RDC] section 3.1.5.4) is enabled only for Enterprise SKUs, as specified in sections 2.2.1.2.1 and 3.2.4.1.2.

DFS-R registers itself with RPC using a single UUID, as specified in section 2.1. It always uses the same RPC Protocol version 1.0 and negotiates specific extensions using the custom protocol negotiation scheme that uses the method EstablishConnection (section 3.2.4.1.2) to establish the further set of methods that can be used between a DFS-R client and a server. All but two methods can be used in the current two existing protocol versions, 0x00050000 and 0x00050002. The methods applicable to both protocol versions are specified in sections 3.2.4.1.1 through 3.2.4.1.14. The only method that is specific to protocol version 0x00050002 is specified in section 3.2.4.1.15. The capability of using similarity for speeding up downloads of RDC files can be controlled by using flags specified in section 2.2.1.2.1; the flags are communicated using the EstablishConnection method.