TTLs' and notifies

Mark_Andrews at isc.org Mark_Andrews at isc.org
Mon Aug 19 17:56:14 UTC 2002


> Mark Andrews wrote:
> 
> 
> >	The algorithm is:
> >
> >	If there is a SOA record in the notify message and the serial
> >	is greater than we currently have and it is from our master
> >	then trigger a refresh query.
> 
> I am trying to understand the NOTIFY protocol.  RFC 1996 has
> 
>    3.7. A NOTIFY request has QDCOUNT>0, ANCOUNT>=0, AUCOUNT>=0,
>    ADCOUNT>=0.  If ANCOUNT>0, then the answer section represents an
>    unsecure hint at the new RRset for this <QNAME,QCLASS,QTYPE>.  A
>    slave receiving such a hint is free to treat equivilence of this
>    answer section with its local data as a "no further work needs to be
>    done" indication.  If ANCOUNT=0, or ANCOUNT>0 and the answer section
>    differs from the slave's local data, then the slave should query its
>    known masters to retrieve the new data.
> 
>    3.8. In no case shall the answer section of a NOTIFY request be used
>    to update a slave's local data, or to indicate that a zone transfer
>    needs to be undertaken, or to change the slave's zone refresh timers.
> 
> Does this mean that if the NOTIFY packet contains an SOA record, then
> the slave makes a test:
> 
>     if (SOA serial number == current slave serial number) then do nothin g.
>     if (SOA serial number >  current slave serial number) then
>     {
>         Dont' trust the SOA serial number.  (per 3.8)
>         Do an SOA query from the master.  (per the last sentence of 3.7)
>         If that SOA query serial number > current slave serial number
>              then request a zone transfer from the master.
>     }


	if (!from master) 
		do nothing.
	else if (no SOA record) {
		acknowledge
		initiate soa refresh check (rate limited).
	} else if (dialup) {	/* ignore SOA serial */
		acknowledge
		initiate soa refresh check (rate limited).
	} else if (SOA serial number <= current slave serial number) {
		acknowledge
	} else if (SOA serial number >  current slave serial number) {
		acknowledge
		initiate soa refresh check (rate limited).
	}

	
> ----------------------------------------------------------------------
> Barry S. Finkel
> Electronics and Computing Technologies Division
> Argonne National Laboratory          Phone:    +1 (630) 252-7277
> 9700 South Cass Avenue               Facsimile:+1 (630) 252-4601
> Building 222, Room D209              Internet: BSFinkel at anl.gov
> Argonne, IL   60439-4828             IBMMAIL:  I1004994
> 
> 
--
Mark Andrews, Internet Software Consortium
1 Seymour St., Dundas Valley, NSW 2117, Australia
PHONE: +61 2 9871 4742                 INTERNET: Mark.Andrews at isc.org


More information about the bind-users mailing list