Dynamic DNS Error

Parent Previous Next

Dynamic DNS Error





Dynamic DNS is defined in RFC 2136, and it uses the DNS UPDATE mechanism (different from standard queries).



1. Dynamic DNS Request


Sent by a client (e.g., DHCP server or host) to a DNS server to add, delete, or modify DNS records dynamically.


The request format is the same DNS message structure (header + sections), but:


Opcode = 5 (UPDATE) instead of 0.


Instead of only “questions,” it contains:


Zone section – the zone being updated.


Prerequisite section – conditions that must be met (e.g., "record must exist").


Update section – records to add/delete.


Additional section – optional extra info.


Example (simplified):


Header:

   ID: 0x3f21

   Flags: Opcode=5 (Update), QR=0 (query)

Zone Section:

   example.com. IN SOA

Prerequisite Section:

   (none)

Update Section:

   Add: host1.example.com. 300 IN A 192.0.2.55

Additional Section:

   (optional)



2. Dynamic DNS Response


Sent by the server back to the client.


Opcode = 5 (UPDATE) (echoed back).


Rcode indicates success or failure.


The Answer/Authority/Additional sections are usually empty.


Example (success):


Header:

   ID: 0x3f21

   Flags: QR=1 (response), Opcode=5 (Update), Rcode=0 (NoError)

Zone Section: example.com.

Prerequisite Section: empty

Update Section: empty



3. DNS Opcode (in DDNS)


Opcode = 5 (UPDATE) → signals this is a Dynamic DNS update.

(Compare: standard queries use Opcode=0.)



4. DNS Rcode (in DDNS)


These are the same 4-bit codes, but some have special meaning for UPDATE:


Rcode        Meaning (for DDNS)

0        NoError – update succeeded

1        FormErr – format error

2        ServFail – server failure

3        NXDomain – name doesn’t exist

4        NotImp – operation not implemented

5        Refused – server refused update

6        YXDomain – name exists when it should not

7        YXRRSet – RR set exists when it should not

8        NXRRSet – RR set does not exist

9        NotAuth – server not authoritative for zone

10        NotZone – name not inside zone specified


Summary


Dynamic DNS Request: A DNS UPDATE message with Opcode=5, carries zone/prerequisite/update sections.


Dynamic DNS Response: Opcode=5, Rcode set to success/failure.


Opcode: 5 (UPDATE).


Rcode: tells if the update succeeded (0=NoError) or failed (3=NXDomain, 5=Refused, etc.).

www.traceinside.com