Connected: An Internet Encyclopedia
2.2. Message Header

Up: Connected: An Internet Encyclopedia
Up: Requests For Comments
Up: RFC 2136
Up: 2. Update Message Format
Prev: 2.1. Transport Issues
Next: 2.3. Zone Section

2.2. Message Header

2.2. Message Header

The header of the DNS Message Format is defined by [RFC 1035 4.1]. Not all opcodes define the same set of flag bits, though as a practical matter most of the bits defined for QUERY (in [ibid]) are identically defined by the other opcodes. UPDATE uses only one flag bit (QR).

The DNS Message Format specifies record counts for its four sections (Question, Answer, Authority, and Additional). UPDATE uses the same fields, and the same section formats, but the naming and use of these sections differs as shown in the following modified header, after [RFC1035 4.1.1]:

                                      1  1  1  1  1  1
        0  1  2  3  4  5  6  7  8  9  0  1  2  3  4  5
      |                      ID                       |
      |QR|   Opcode  |          Z         |   RCODE   |
      |                    ZOCOUNT                    |
      |                    PRCOUNT                    |
      |                    UPCOUNT                    |
      |                    ADCOUNT                    |

These fields are used as follows:

A 16-bit identifier assigned by the entity that generates any kind of request. This identifier is copied in the corresponding reply and can be used by the requestor to match replies to outstanding requests, or by the server to detect duplicated requests from some requestor.

A one bit field that specifies whether this message is a request (0), or a response (1).

A four bit field that specifies the kind of request in this message. This value is set by the originator of a request and copied into the response. The Opcode value that identifies an UPDATE message is five (5).

Reserved for future use. Should be zero (0) in all requests and responses. A non-zero Z field should be ignored by implementations of this specification.

Response code - this four bit field is undefined in requests and set in responses. The values and meanings of this field within responses are as follows:

              Mneumonic   Value   Description
              NOERROR     0       No error condition.
              FORMERR     1       The name server was unable to interpret
                                  the request due to a format error.
              SERVFAIL    2       The name server encountered an internal
                                  failure while processing this request,
                                  for example an operating system error
                                  or a forwarding timeout.
              NXDOMAIN    3       Some name that ought to exist,
                                  does not exist.
              NOTIMP      4       The name server does not support
                                  the specified Opcode.
              REFUSED     5       The name server refuses to perform the
                                  specified operation for policy or
                                  security reasons.
              YXDOMAIN    6       Some name that ought not to exist,
                                  does exist.
              YXRRSET     7       Some RRset that ought not to exist,
                                  does exist.
              NXRRSET     8       Some RRset that ought to exist,
                                  does not exist.
              NOTAUTH     9       The server is not authoritative for
                                  the zone named in the Zone Section.
              NOTZONE     10      A name used in the Prerequisite or
                                  Update Section is not within the
                                  zone denoted by the Zone Section.

The number of RRs in the Zone Section.

The number of RRs in the Prerequisite Section.

The number of RRs in the Update Section.

The number of RRs in the Additional Data Section.

Next: 2.3. Zone Section

Connected: An Internet Encyclopedia
2.2. Message Header