This document explains how to configure Domain Time to use (a) a different
subnet than the machine's default, or (b) multiple subnets. This discussion
applies to the following products:
Domain Time Server
Domain Time Client (both Full and Thin)
Domain Time Manager
Domain Time Monitor Service
Domain Time Update Service
Audit Server
Broadcasting and Subnets
By default, TCP/IP broadcasts are limited to a single subnet. For most machines and networks,
this is exactly the desired behavior. For example, on a Class C network with IP numbers
172.16.208.1 through 172.16.208.254, the subnet is 172.16.208, and the subnet mask is
255.255.255.0. A subnet mask of 255.255.255.0 always represents a Class C network; a
subnet mask of 255.255.0.0 represents a Class B and so on. The subnetting options are
extensive, but Class C and Class B subnets are the most common configurations.
When an application broadcasts to its local subnet, a special broadcast address of
255.255.255.255 is used. The last octet is significant for Class C networks, and
the last two octets for Class B networks.
Routers are usually programmed to toss any packets with an address of 255.255.255.255,
so such packets only reach machines on the local network. Again, this is usually
the desired behavior. Most people and companies don't want their broadcast packets
going out to the rest of the world, and the rest of the world doesn't want to see them.
An automatic Domain Time client will perform a local network broadcast on UDP port 9909 to locate a Domain Time II Server.
Note that UDP broadcasts sent to the local network usually do not cross routers.
Domain Time II servers respond via the Domain Time II protocol to inform the client they are available to serve time.
The client then contacts and syncs with the server.
In our first example, with the class C subnet of 172.16.208, a broadcast address of
255.255.255.255 will allow broadcast packets to be seen by any machine on the local
network with an IP address of 172.16.208.1 through 172.16.208.254 (the entire Class C
useable range). Routers, and often other equipment, including network adapter cards,
will make sure that packets addressed this way only reach the 172.16.208 network.
One could, however, set the broadcast address to 172.16.208.255. In this case,
routers will (usually) pass the packet, allowing machines in the 172.16.208 subnet
to receive the packet, even if the Class C has been subdivided into multiple subnets.
A packet with a broadcast address of 172.16.255.255 would reach any machine in the
172.16 Class B network (assuming the various routers along the way agree to pass
the packet).
When additional broadcast addresses are defined for an automatic client, it will send broadcasts to those subnets. This diagram shows
both a broadcast to the local subnet and a broadcast to a remote subnet being passed by the router.
Domain Time II servers respond via the Domain Time II protocol to inform the client they are available to serve time.
The client then contacts and syncs with the server..
Domain Time Broadcasting
Domain Time uses broadcasts for a number of purposes. Clients discover servers
by broadcasting a special discover packet. Slave Servers broadcast a signal to
their clients when the Slave's time has changed. The management tools use
broadcasts to discover local Domain Time installations on the network. The
amount of broadcast traffic is very small, but important for proper synchronization.
Since there should always be a Server on the same subnet as a client, the default
broadcast address of 255.255.255.255 is usually acceptable. Occasionally, however,
you may have a client on a different subnet from its server. Additionally, if
your network is set up with multiple subnets, you probably will want to change
the defaults for the management tools, so you can manage all of the subnets
from one location.
Changing the Broadcast Subnet Masks
You can easily change the Broadcast Subnet Masks for most Domain Time II components
by using the remote control features of
Domain Time II Manager to set the Broadcast Address options.
You can also use Registry Editor (regedt32.exe) to edit the broadcast subnet masks used by
Domain Time components. Each product has its own registry key with its own setting:
HKEY_LOCAL_MACHINE
Software
Greyware
Product Name
Parameters
Replace Product Name above with the name of the product you want to
modify. For example, to edit the monitor service's settings, substitute
Domain Time II Monitor for Product Name. Below is a complete
list of registry key names:
Domain Time II Monitor
Domain Time II Manager
Domain Time Server
Domain Time Client
In the Parameters subkey, you will find a REG_MULTI_SZ entry called
Broadcast Addresses. The default value is 255.255.255.255. Double-click
to bring up the Multi-String Editor. Edit the default value, or add
additional subnets (one per line) to match your network's requirements.
When Domain Time needs to send a broadcast message, it will send it to
each of the subnets listed in sequence.
Caution: Do not remove the default subnet unless you replace
it with something else suitable for your network! Domain Time broadcasts
only to the subnets listed. If you leave the local subnet off,
Domain Time will not direct any packets to it.
Technical Note: Always use all four octets for the broadcast
address, and set the broadcast portion of your subnet to all ones. Only
list valid dotted-decimal IP address strings, one per line. Win95/Win98
machines treat REG_MULTI_SZ values as binary data, and won't show you
the values on separate lines. In this case, terminate
each entry with a single octet of zero, and terminate the entire array
with two octets of zero.
Changes you make to the Broadcast Addresses array take effect immediately.
You do not need to reboot the machine or restart any services.
Using DHCP to Instruct Clients to Use Servers on Another Subnet
Domain Time Thin Client and Full Client (when configured in Automatic Configuration mode) have
an alternative to the Domain Time broadcast method of automatically discovering time servers described above.
Automatic clients examine the time server options on any DHCP server they locate using DHCP
discovery broadcasts. If the DHCP server is configured to provide the IP address of one or more time servers,
then the client will automatically use those servers. Any IP address for a time server can be assigned using
the DHCP method, not just one on the local subnet.
Since modifying the broadcast addresses is somewhat cumbersome and results in extra network
broadcast traffic, if you have a number of clients that need to contact servers on another subnet, it is
recommended that you use the DHCP method of assigning server addresses, or use
Full Client in manual mode to specify the server addresses directly
in the client configuration.
See Using DHCP to Specify Time Servers for
a detailed explanation of how Domain Time II Clients use DHCP).
An automatic Domain Time client with DHCP enabled will broadcast to locate a DHCP Server. Note that DHCP broadcasts usually do not cross routers.
If DHCP options 004 or 042 are configured, the DHCP server will respond with the IP address of the time server.
The client then uses the IP address provided by the DHCP server to contact and sync with the designated time server, even across a router.