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:
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.