Check out the new USENIX Web site.

WINS IN THE LEHMAN INFRASTRUCTURE

an integration of wins, and moira

 

abstract

 

This document describes the proposed method for creating a more stable implementation of the Windows Internet Naming System. It begins with an overview of WINS, explaining what it is and how it works. This is followed by a description of the WINS server that will be used in this implementation. Finally, the WINS server integration with Moira and its use in the Lehman environment is detailed.

 

wins overview

 

WINS allows Windows-based clients to easily locate shared network resources on a TCP/IP network. WINS servers maintain databases of static and dynamic resource name and IP address mappings. NetBIOS is a session level interface used by NetBIOS-compatible transports such as TCP/IP. WINS is designed to provide a flexible solution to the problem of locating NetBIOS resources in routed, TCP/IP based networks. WINS servers are designed to alleviate the administrative difficulties that are inherent in the use of IP broadcasts, and static mapping files such as LMHOSTS files. WINS servers use a replicated database containing records of NetBIOS name to IP address mappings. When Windows based computers log on to the network, their computer name and IP address registered to the WINS database, providing support for dynamic updates. To provide redundancy, and to eliminate duplicate computer names, the WINS database is replicated among WINS servers in a LAN and WAN environment.

 

How it works

 

When a WINS-enabled computer is started, the WINS client service attempts to directly contact the WINS server to register the client names and corresponding IP address. The type of name sent by the client is referred to as a name registration request. The WINS client sends one name registration request for the computer, logged-on user, and networking services running on the computer. When a WINS server receives a name registration request, it checks the WINS database to ensure that the name in the request is unique, and does not exist in the WINS database. The server responds with either a positive or negative name registration response. WINS clients must renew their name registrations before the time-to-live (TTL) value expires. The TTL value indicates how long the client can own that name. When a WINS client renews its name registration, it sends a name refresh request directly to the WINS server. The name refresh request includes the WINS client’s IP address and the name that the client is requesting to have refreshed. The WINS server responds to the name refresh request with a name refresh response that includes a new TTL for the name. A WINS client first attempts to refresh its name registrations after one-half of the TTL has expired. If the WINS client does not receive a name refresh response from the server, it sends name refresh requests every two minutes, until one-half of the TTL has expired.

If the WINS client does not receive a name refresh response and one-half the TTL is expired, the WINS client begins to send name refresh requests to a secondary WINS server, if configured to do so. The WINS client continues to send name refresh requests until it gets a response, or one-half of the TTL has expired. If the WINS client cannot contact the secondary server, it reverts back to the primary server. After a WINS client successfully refreshes its name registrations, it does not start subsequent name registration requests until one-half of the TTL has expired.

When a WINS-enables computer is correctly stopped, the WINS client sends a name release request to the WINS server. A name release request is sent for each name associated with the computer, logged on user, and network client service that is registered with the WINS server. The name release request includes the computer IP address and the name that should be released from the WINS server database. Because the WINS-enabled client is configured with the IP address of the WINS server, the name release requests are sent directly to the WINS server. When a WINS server receives the name release request it checks the WINS server database for the specified name. Based on the results of the database check, the WINS server sends back a positive or negative name release response to the WINS client and removes the name from the database. The name release response contains the name released and a TTL of zero.

WINS clients perform NetBIOS computer name-to-IP-address mapping resolution. A Windows NT based computer is automatically configured to use on of the four different NetBT name resolution methods, based on how the TCP/IP is configured for the computer.

Netbios name resolution node type

description

b-node

Uses IP broadcast messages to register and resolve NetBIOS names to IP addresses.

p-node

Uses point-to-point communications with a NetBIOS name server (WINS) to register and resolve computer names to IP addresses.

m-node

Uses a combination (mix) of b-node and p-node communications to register and resolve computer names to IP addresses. M-Node first uses b-node; then, if necessary, p-node. M-Node is typically not the best choice for large networks because it’s preference to use b-node broadcast increases network traffic.

h-node

Uses a hybrid combination of b-node and p-node. When configured to use h-node, a computer always tries p-node first, and then b-node only if that fails. When a Windows NT based computer is configured as a WINS client, it is by default configured as h-node.

 

When a WINS enabled client attempts to use a network resource, such as a share, it must resolve the specified computer name into its IP address. Depending on the type of node the computer is configured as, it issues a name query request to the WINS server. The WINS server issues either a positive or negative response depending upon whether the requested computer name is in its database. If the response is positive, the name query response contains the requested computer name and its associated IP address. The negative response will contain the requested computer name, and an error code explaining why the lookup failed.

 

samba wins overview

 

Samba is a suite of programs which work together to allow clients to access a server's filespace and printers via the SMB (Server Message Block) protocol. Nmbd, the NetBIOS name server, is the tool that will be used in Lehman’s implementation of WINS. Nmbd can be configured to act as a WINS server. What this basically means is that it will respond to all name requests that it receives that are not broadcasts, as long as it can resolve the name. It will also listen and process all requests for name registration from WINS-enabled clients. Nmbd also supports static NetBIOS entries to its database from entries in a plain text file. Nmbd will read this static host file, and treat the entries as if they were learned off the wire. This is a subtle feature that allows the dynamic and volatile nature of Microsoft WINS servers to be reduced.

 

Wins and MOIRA integration

Lehman Moira is a configuration management system, used to effectively manage related service information. Lehman Moira is an enterprise management tool. It manages on a global scale the information found in the NIS directories of SUN LANs.

Taking the knowledge that Moira can manage this vast information, and the fact that the Samba Nmbd can accept a text file containing NetBIOS computer names, combining the two is the next logical step. By pushing out a daily updated static hosts file, similar to the LMHOSTS file maintained on Microsoft Windows-based computers, the Nmbd server will constantly be updated with the current Lehman computing environment. Ultimately, this static host file will be updated through the Moira database when new devices are added to the network. Moira will then proceed nightly to push the new file to the nmbd server. The nmbd server will, upon successful receipt of the static host file, reload it and thus complete the updating procedure. The nmbd server will return to answering queries for NetBIOS-to-IP address mappings, and answer with the current, updated information.