[MS-WINSRA]:

Windows Internet Naming Service (WINS) Replication and Autodiscovery Protocol

Intellectual Property Rights Notice for Open Specifications Documentation

§  Technical Documentation. Microsoft publishes Open Specifications documentation for protocols, file formats, languages, standards as well as overviews of the interaction among each of these technologies.

§  Copyrights. This documentation is covered by Microsoft copyrights. Regardless of any other terms that are contained in the terms of use for the Microsoft website that hosts this documentation, you may make copies of it in order to develop implementations of the technologies described in the Open Specifications and may distribute portions of it in your implementations using these technologies or your documentation as necessary to properly document the implementation. You may also distribute in your implementation, with or without modification, any schema, IDL's, or code samples that are included in the documentation. This permission also applies to any documents that are referenced in the Open Specifications.

§  No Trade Secrets. Microsoft does not claim any trade secret rights in this documentation.

§  Patents. Microsoft has patents that may cover your implementations of the technologies described in the Open Specifications. Neither this notice nor Microsoft's delivery of the documentation grants any licenses under those or any other Microsoft patents. However, a given Open Specification may be covered by Microsoft Open Specification Promise or the Community Promise. If you would prefer a written license, or if the technologies described in the Open Specifications are not covered by the Open Specifications Promise or Community Promise, as applicable, patent licenses are available by contacting .

§  Trademarks. The names of companies and products contained in this documentation may be covered by trademarks or similar intellectual property rights. This notice does not grant any licenses under those rights. For a list of Microsoft trademarks, visit www.microsoft.com/trademarks.

§  Fictitious Names. The example companies, organizations, products, domain names, e-mail addresses, logos, people, places, and events depicted in this documentation are fictitious. No association with any real company, organization, product, domain name, email address, logo, person, place, or event is intended or should be inferred.

Reservation of Rights. All other rights are reserved, and this notice does not grant any rights other than specifically described above, whether by implication, estoppel, or otherwise.

Tools. The Open Specifications do not require the use of Microsoft programming tools or programming environments in order for you to develop an implementation. If you have access to Microsoft programming tools and environments you are free to take advantage of them. Certain Open Specifications are intended for use in conjunction with publicly available standard specifications and network programming art, and assumes that the reader either is familiar with the aforementioned material or has immediate access to it.

Preliminary Documentation. This Open Specification provides documentation for past and current releases and/or for the pre-release version of this technology. This Open Specification is final documentation for past or current releases as specifically noted in the document, as applicable; it is preliminary documentation for the pre-release versions. Microsoft will release final documentation in connection with the commercial release of the updated or new version of this technology. As the documentation may change between this preliminary version and the final version of this technology, there are risks in relying on preliminary documentation. To the extent that you incur additional development obligations or any other costs as a result of relying on this preliminary documentation, you do so at your own risk.

Revision Summary

Date / Revision History / Revision Class / Comments /
8/10/2007 / 1.0 / Major / Version 1.0 release
9/28/2007 / 1.0.1 / Editorial / Changed language and formatting in the technical content.
10/23/2007 / 2.0 / Major / Revised Windows Behavior sections.
1/25/2008 / 2.0.1 / Editorial / Changed language and formatting in the technical content.
3/14/2008 / 2.0.2 / Editorial / Changed language and formatting in the technical content.
6/20/2008 / 2.0.3 / Editorial / Changed language and formatting in the technical content.
7/25/2008 / 2.0.4 / Editorial / Changed language and formatting in the technical content.
8/29/2008 / 3.0 / Major / Updated and revised the technical content.
10/24/2008 / 3.0.1 / Editorial / Changed language and formatting in the technical content.
12/5/2008 / 4.0 / Major / Updated and revised the technical content.
1/16/2009 / 5.0 / Major / Updated and revised the technical content.
2/27/2009 / 5.1 / Minor / Clarified the meaning of the technical content.
4/10/2009 / 5.2 / Minor / Clarified the meaning of the technical content.
5/22/2009 / 6.0 / Major / Updated and revised the technical content.
7/2/2009 / 6.0.1 / Editorial / Changed language and formatting in the technical content.
8/14/2009 / 6.0.2 / Editorial / Changed language and formatting in the technical content.
9/25/2009 / 6.1 / Minor / Clarified the meaning of the technical content.
11/6/2009 / 6.1.1 / Editorial / Changed language and formatting in the technical content.
12/18/2009 / 7.0 / Major / Updated and revised the technical content.
1/29/2010 / 7.0.1 / Editorial / Changed language and formatting in the technical content.
3/12/2010 / 8.0 / Major / Updated and revised the technical content.
4/23/2010 / 8.0.1 / Editorial / Changed language and formatting in the technical content.
6/4/2010 / 8.0.2 / Editorial / Changed language and formatting in the technical content.
7/16/2010 / 8.0.2 / None / No changes to the meaning, language, or formatting of the technical content.
8/27/2010 / 9.0 / Major / Updated and revised the technical content.
10/8/2010 / 9.1 / Minor / Clarified the meaning of the technical content.
11/19/2010 / 9.1 / None / No changes to the meaning, language, or formatting of the technical content.
1/7/2011 / 9.1 / None / No changes to the meaning, language, or formatting of the technical content.
2/11/2011 / 9.1 / None / No changes to the meaning, language, or formatting of the technical content.
3/25/2011 / 9.1 / None / No changes to the meaning, language, or formatting of the technical content.
5/6/2011 / 9.1 / None / No changes to the meaning, language, or formatting of the technical content.
6/17/2011 / 9.2 / Minor / Clarified the meaning of the technical content.
9/23/2011 / 9.2 / None / No changes to the meaning, language, or formatting of the technical content.
12/16/2011 / 9.2 / None / No changes to the meaning, language, or formatting of the technical content.
3/30/2012 / 9.2 / None / No changes to the meaning, language, or formatting of the technical content.
7/12/2012 / 9.2 / None / No changes to the meaning, language, or formatting of the technical content.
10/25/2012 / 9.2 / None / No changes to the meaning, language, or formatting of the technical content.
1/31/2013 / 9.2 / None / No changes to the meaning, language, or formatting of the technical content.
8/8/2013 / 10.0 / Major / Updated and revised the technical content.
11/14/2013 / 10.0 / None / No changes to the meaning, language, or formatting of the technical content.
2/13/2014 / 10.0 / None / No changes to the meaning, language, or formatting of the technical content.
5/15/2014 / 10.0 / None / No changes to the meaning, language, or formatting of the technical content.
6/30/2015 / 11.0 / Major / Significantly changed the technical content.

Table of Contents

1 Introduction 7

1.1 Glossary 7

1.2 References 9

1.2.1 Normative References 9

1.2.2 Informative References 10

1.3 Overview 10

1.4 Relationship to Other Protocols 12

1.5 Prerequisites/Preconditions 12

1.6 Applicability Statement 12

1.7 Versioning and Capability Negotiation 12

1.8 Vendor-Extensible Fields 12

1.9 Standards Assignments 12

2 Messages 13

2.1 Transport 13

2.2 Message Syntax 13

2.2.1 Replication Partner AutoDiscovery Message 13

2.2.2 Common Replication Message Header 14

2.2.3 Association Start Request Message 14

2.2.4 Association Start Response Message 15

2.2.5 Association Stop Request Message 16

2.2.6 Owner-Version Map Request Message 17

2.2.7 Owner-Version Map Response Message 17

2.2.7.1 Owner Record 18

2.2.8 Update Notification Message 19

2.2.9 Name Records Request Message 20

2.2.10 Name Records Response Message 21

2.2.10.1 Name Record 21

2.2.10.1.1 Address Record for a Special Group or Multihomed Machine 24

2.2.10.1.1.1 Owner and Member IPv4 Address 24

3 Protocol Details 25

3.1 Common Details 25

3.1.1 Abstract Data Model 25

3.1.1.1 Name Record 25

3.1.1.2 Version 25

3.1.2 Timers 26

3.1.3 Initialization 26

3.1.4 Higher-Layer Triggered Events 26

3.1.5 Processing Events and Sequencing Rules 26

3.1.5.1 Association Setup and Shutdown between Replication Partners 26

3.1.6 Timer Events 27

3.1.7 Other Local Events 28

3.2 Pull Partner Details 29

3.2.1 Abstract Data Model 29

3.2.2 Timers 29

3.2.3 Initialization 29

3.2.4 Higher-Layer Triggered Events 29

3.2.5 Processing Events and Sequencing Rules 29

3.2.5.1 Standard Pull Replication 29

3.2.5.2 Push Notification Triggered Pull Replication 30

3.2.5.3 Data Verification Pull Replication 31

3.2.5.4 Updating Time Stamps During Pull Replication 31

3.2.5.5 Name Conflict Resolution During Pull Replication 32

3.2.6 Timer Events 38

3.2.7 Other Local Events 38

3.3 Push Partner Details 39

3.3.1 Abstract Data Model 39

3.3.2 Timers 39

3.3.3 Initialization 39

3.3.4 Higher-Layer Triggered Events 39

3.3.5 Processing Events and Sequencing Rules 39

3.3.5.1 Sending Push Notifications 39

3.3.5.2 Processing Pull Replication Requests 40

3.3.6 Timer Events 40

3.3.7 Other Local Events 41

3.4 Replication Partner Autodiscovery Details 41

3.4.1 Abstract Data Model 41

3.4.2 Timers 41

3.4.3 Initialization 41

3.4.4 Higher-Layer Triggered Events 41

3.4.5 Processing Events and Sequencing Rules 41

3.4.6 Timer Events 41

3.4.7 Other Local Events 41

4 Protocol Examples 42

4.1 Merging Owner-Version Maps from Different Partners 42

4.2 Pull Replication without Persistent Association 43

4.3 Propagation of Push Notification with Persistent Association 44

5 Security 46

5.1 Security Considerations for Implementers 46

5.2 Index of Security Parameters 46

6 Appendix A: Product Behavior 47

7 Change Tracking 49

8 Index 51

1  Introduction

Windows Internet Name Service (WINS) is the Microsoft implementation of NetBIOS Name Server (NBNS), a name server for NetBIOS names.

NBNS supports resolution of NetBIOS names to IPv4 addresses. The NBNS database is distributed. Networks normally have more than one NBNS server to help improve availability and scalability of NetBIOS name service. The mappings registered by the clients on one server are replicated across all NBNS servers for consistent NetBIOS name resolution. This document specifies the replication protocol while the [RFC1001] and [RFC1002] specify the NetBT protocol.

Sections 1.8, 2, and 3 of this specification are normative and can contain the terms MAY, SHOULD, MUST, MUST NOT, and SHOULD NOT as defined in [RFC2119]. Sections 1.5 and 1.9 are also normative but do not contain those terms. All other sections and examples in this specification are informative.

1.1  Glossary

The following terms are specific to this document:

active: The state of a name record, in which it has been registered but not released.

active record: A name record that has been registered but not released.

b-node: A NetBT node configured to use broadcast NetBIOS name queries for name registration and resolution.

domain: A set of users and computers sharing a common namespace and management infrastructure. At least one computer member of the set must act as a domain controller (DC) and host a member list that identifies all members of the domain, as well as optionally hosting the Active Directory service. The domain controller provides authentication (2) of members, creating a unit of trust for its members. Each domain has an identifier that is shared among its members. For more information, see [MS-AUTHSOD] section 1.1.1.5 and [MS-ADTS].

dynamic record: A name record that is created through NetBT name registration by a client.

extinction interval: The interval at which released names are changed to the tombstone state.

extinction timeout: This is also known as Tombstone timeout. Extinct (or tombstone) records that are older than extinction timeout are removed from the database.

host name: The name of a host on a network that is used for identification and access purposes by humans and other computers on the network.

Internet Protocol security (IPsec): A framework of open standards for ensuring private, secure communications over Internet Protocol (IP) networks through the use of cryptographic security services. IPsec supports network-level peer authentication, data origin authentication, data integrity, data confidentiality (encryption), and replay protection. The Microsoft implementation of IPsec is based on standards developed by the Internet Engineering Task Force (IETF) IPsec working group.

little-endian: Multiple-byte values that are byte-ordered with the least significant byte stored in the memory location with the lowest address.

local record: Local record is a name record that is owned by the local NBNS server.

migration on: Migration on is a setting to ease the process of making a b-node an h-node, p-node, or m-node (NetBT client). If set, the static nature of unique names changes in that these records are now treated as pseudo-static.

m-node: A NetBT node type that uses a mix of b-node and p-node communications to register and resolve NetBIOS names. M-node first uses broadcast resolution; then, if necessary, it uses a server query.

multicast interval: The interval for sending NBNS replication partner AutoDiscovery message.

name record: The NetBIOS name-to-IPv4 address mapping.

name server: The server that resolves names for hosts by providing NetBIOS name-to-IPv4 address mappings.

NBNS AutoDiscovery: A mechanism with which an NBNS server dynamically detects other NBNS servers in an administrative domain.

NBNS pull partner: A NetBIOS name server that requests new NBNS name records (replicas) from its partner.

NBNS push partner: A push partner is an NBNS server that pushes or notifies other NBNS servers (those configured as a pull partner) of the need to replicate their name records.

NBNS replication partner: An NBNS server that is configured or discovered as a partner to exchange the NBNS database.

NetBIOS: A particular network transport that is part of the LAN Manager protocol suite. NetBIOS uses a broadcast communication style that was applicable to early segmented local area networks. The LAN Manager protocols were the default in Windows NT operating system environments prior to Windows 2000 operating system. A protocol family including name resolution, datagram, and connection services. For more information, see [RFC1001] and [RFC1002].