Penguin

Differences between version 6 and predecessor to the previous major change of SOA.

Other diffs: Previous Revision, Previous Author, or view the Annotated Edit History

Newer page: version 6 Last edited on Wednesday, November 24, 2004 4:20:57 pm by MikeBeattie Revert
Older page: version 2 Last edited on Monday, December 8, 2003 8:20:56 pm by AristotlePagaltzis Revert
@@ -1 +1,43 @@
-An [Acronym] for StartOfAuthority
+An [Acronym] for __S__tart __O__f __A__uthority .  
+  
+A [DNS] [SOA] Record is used to define some information about a domain (called a zone, defined in a ZoneFile), such as a serial number defining the 'version' of the zone, and various timeout and caching values that should be used when records from a given zone are retrieved.  
+  
+An example [SOA] record looks like this:  
+  
+<pre>  
+ $TTL 604800  
+ $ORIGIN ethernal.tla.  
+ @ IN SOA ns1.ethernal.tla. root.ethernal.tla. (  
+ 2004111901 ; Serial  
+ 604800 ; Refresh (7 days)  
+ 86400 ; Retry (24 hours)  
+ 2419200 ; Expire (28 days)  
+ 604800 ) ; Neg TTL (7 days)  
+</pre>  
+  
+The format of a [SOA] [RR] is "<tt>name <ttl> class rr name-server email-address (serial refresh retry expire negttl)</tt>"  
+  
+The name is given as "<tt>@</tt>", since that is the shorthand for the value of <tt>$ORIGIN</tt>. [TTL] is missing from this example, as it takes the zone default defined above as <tt>$TTL</tt>. The class will usually always be IN, [RR] should be obvious :). The name-server field is bascally the [FQDN] of the PrimaryNameServer for the domain (don't forget the trailing '.'!). The email-address field is the address of the person responsible for the domain - the first dot should be read as an <tt>@</tt>, so above should be read as <tt>root@ethernal.tla</tt>.  
+  
+The values in parenthesis are described below:  
+  
+Serial number  
+ Generally given in YYYYMMDDXX format, giving 100 possible revisions of any given zone in a day (Usually more than enough).  
+  
+Refresh  
+ Defines the number of seconds before a SecondaryNameServer will refresh its copy of the zone by requesting a ZoneTransfer from the PrimaryNameServer.  
+  
+Retry  
+ Defines the number of seconds for a SecondaryNameServer to wait before retrying a zone refresh, after a failure.  
+  
+Expire  
+ Defines the number of seconds for a SecondaryNameServer to keep zone records, and answer authoritatively with them if it can't contact the PrimaryNameServer. (so, if the above refresh fails, and it's been retrying for this long).  
+  
+Neg TTL  
+ Defines the number of seconds that a client should remember that a negative response was received from this server. So, if a remote server asks us what the address for <tt>foo.ethernal.tla</tt> is but it doesn't exist, it will cache the negative answer we gave it for this many seconds, even if we add that name to the zone a couple of seconds later.  
+  
+----  
+Todo:  
+* Someone should explain TTLs a bit better, especially the use of <tt>$TTL</tt>  
+----  
+CategoryDns