Dynamic update is a new standard, specified in RFC 2136, that provides a means of dynamically updating zone data on a zone's primary server.
Originally, DNS was designed to support only static changes to a zone database. Because of the design limitations of static DNS, the ability to add, remove, or modify resource records could only be performed manually by a DNS system administrator.
For example, a DNS system administrator would edit records on a zone's primary server and the revised zone database is then propagated to secondary servers during zone transfer. This design is workable when the number of changes is small and updates occur infrequently, but can otherwise become unmanageable.
With dynamic update, on the other hand, the primary server for the zone can also be configured to support updates that are initiated by another computer or device that supports dynamic update. For example, it can receive updates from workstations registering A and PTR resource records, or from DHCP servers. Updates are sent using a standard UPDATE message format and can include the addition or deletion of individual resource records (RRs) or sets of resource records (RRsets). For information about the UPDATE message format, see RFC 2136.
In order for a request for a dynamic update to be performed, several prerequisite conditions can also be identified. Where prerequisites are set, all such conditions must be met before an update is allowed. Some examples of prerequisites that can be set are:
A required RR or RRset already exists or is in use prior to an update.
A required RR or RRset does not exist or is not in use prior to an update.
A requester is permitted to initiate an update of a specified RR or RRset.
Each prerequisite must be satisfied in order for an update to occur. After all prerequisites are met, the zone's primary server can then proceed with an update of its local zones. Multiple updates can be processed concurrently only if one update does not depend on the final result of another update.