Scavenging stale records
DNS records are not always deleted correctly. When a user goes offline unexpectedly a computer can be disconnected before it can delete its resource records. These records are dubbed stale records and can create problems for DNS. A DNS server may inadvertently respond to a query with a stale record. Stale records also take up storage on the DNS server. A stale record may deny a valid client computer an update because the PTR record is owned by another object.
To avoid stale record problems, Windows 2000 DNS supports aging and scavenging, an excellent tool which can be configured to search for and delete records in the DNS database that meet specified criteria. DNS administrators can manage aging and scavenging by managing parameters:
- DNS servers by default are configured with scavenging disabled. An administrator must enable scavenging on a per-server basis. Only primary servers can be enabled to scavenge.
- Scavenging can be enabled on a zone-by-zone basis.
- Records are available for scavenging when they have gone a specified period without being refreshed.
To use DNS scavenging effectively, it is important to understand record aging. Record aging is based on updates and refreshes. A refresh is simply an update of the record's timestamp. Records are refreshed when the record is created, again when the record is updated. It is also refreshed when a DHCP client computer registers, or when the record is queried with a prerequisite-only update.
Refreshes are further restricted by no-refresh cycles. During the no-refresh interval, only a record update is allowed to change the timestamp. This starts the life cycle again. When the no-refresh interval expires, the record may be refreshed in any fashion for a specified period. When the refresh interval expires, the record is eligible for scavenging.
Records with a zero-value timestamp are never scavenged. Records created in any manner other than dynamic update have a zero-value timestamp. You can make that record available for scavenging by changing the timestamp to any non-zero value.
When scavenging, a server examines each record in the zone. If a record has a zero value, it is ignored; if the record is stale, it is deleted. A stale record has a non-zero timestamp that is less than the current time minus the refresh interval minus the no-refresh interval. More information on this topic may be obtained from MCSE "Windows 200 Network Infrastructure Design" a training guide.
Barrie Sosinsky ([email protected])is president of consulting company Sosinsky and Associates (Medfield MA). He has written extensively on a variety of computer topics. His company specializes in custom software (database and Web related), training and technical documentation.