Cisco Cisco Prime Network Registrar 8.1 Technical References
Detailed Description
Cisco Prime Network Registrar IPAM 8.1.1 CLI and API Guide
308
Detailed Description
The DNS Listener is a small multi-threaded program that listens for messages from DNS
servers. When notified of a change to a zone that a server is responsible for the listener
can request detailed information about those changes and then use this information to
update Cisco Prime Network Registrar IPAM. In this way Cisco Prime Network Registrar
IPAM is kept synchronized with the DNS as hosts join and leave the network.
The listener is composed of three long lived threads, one queue, and a short lived thread.
The listener is composed of three long lived threads, one queue, and a short lived thread.
See Figure 1. The notify thread is responsible for listening for notify messages from DNS
servers. When changes are made to the affected zones the DNS server will send a
NOTIFY message to the listener. Notify messages sent by DNS servers are sent to port
53 by default, which is a privileged port on most UNIX systems. For this reason the DNS
Listener defaults to port 5053. Both the port the server sends to and the port the listener
listens on can be changed as described below.
When the listener receives a NOTIFY message, the notify thread sends a message to the
When the listener receives a NOTIFY message, the notify thread sends a message to the
transfer manager thread which increments its count of notify messages for the server.
When the number of notify messages exceeds the listener.notifythreshold property, and
the transfer manager is not in the paused state, the transfer manager thread will create and
start a transfer thread. The transfer thread will request an IXFR from the appropriate
DNS server, place the resulting resource records on the queue, and then exit.
The resource record input manager thread is notified when records are placed on the
The resource record input manager thread is notified when records are placed on the
queue. When this happens the input manager compares the number of records on the
queue with the listener.maxrecords property. If there are more records than the
listener.maxrecords specifies, the input manager thread will send a pause message to the
transfer manager thread. When the transfer manager is in the pause state it will continue
to process notify messages from the notify thread, but will not start any new transfer
threads. The input thread will then sequentially remove the resource records from the
queue and process them as described above. When the number of records remaining on
the queue is less than the listener.maxrecords, a restart message will be sent to the transfer
manager.