Mark Andrews (CSIRO)
INTERNET-DRAFT Paul Vixie (ISC)
<draft-andrews-dns-more-01.txt> June 1996
Updates: RFC 1035
Large Responses to DNS Queries (DNS MORE)
Status of This Memo
This document is an Internet-Draft. Internet-Drafts are working
documents of the Internet Engineering Task Force (IETF), its
areas, and its working groups. Note that other groups may also
distribute working documents as Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six
months and may be updated, replaced, or obsoleted by other docu-
ments at any time. It is inappropriate to use Internet-Drafts
as reference material or to cite them other than as ``work in
progress.''
To learn the current status of any Internet-Draft, please check
the ``1id-abstracts.txt'' listing contained in the Internet-
Drafts Shadow Directories on ftp.is.co.za (Africa),
nic.nordu.net (Europe), munnari.oz.au (Pacific Rim),
ds.internic.net (US East Coast), or ftp.isi.edu (US West Coast).
Abstract
DNS messages are limited to 64 kilobytes in size. At times it is
necessary to send a message that is greater that 64 kilobytes.
This is currently not possible. AXFR is the one exception. This
document describes how to send a sequence of messages, the total
length which may be greater than 64 kilobytes, by extending the
protocol.
In addition average message sizes are increasing and the 512
byte payload limit for UDP is now too small. This document
describes how servers can identify when they can send bigger
messages without necessarily resorting to TCP.
Expires December 1996 [Page 1]
INTERNET-DRAFT DNS MORE June 1996
1 - Protocol
This extension uses one of the RESERVED flags bits from DNS header
[RFC1035 4.1.1] to indicate when a server can send the extended
response. This flag bit shall be known as MORE.
The MORE flag's semantics depend upon the underlying transport protocol.
This document only defines the use of the MORE flag with the opcode
QUERY.
1.1 - TCP Usage
When using TCP a resolver sets the MORE flag to indicate that it is
capable of receiving a multi message response (which we call a ``message
sequence'').
To indicate that the message sequence is not complete the server shall
set the RCODE to CONTINUED (TBA) in all but the last message of the mes-
sage sequence.
The order of resource records in a multi message response MUST be the
same as if the response could have been sent is a single response. The
Questions first followed by, the Answer RRs, Authority RRs and Addi-
tional RRs.
Each message in a sequence will contain a header with the same ID value,
flags, opcode. Only the count fields and the rcode are permitted to
change. The counts shall represent the number of resource records in
this message. MORE MUST cleared in the response.
1.1.1 - TCP Example
The following example show how to send an answer with one question, 10
answer records, 14 authority records and 5 additional records. The
answer is split up across 3 messages.
MESSAGE 1: QCOUNT=1, ANCOUNT=10, AUCOUNT=0,
ADCOUNT=0, RCODE=CONTINUED
MESSAGE 2: QCOUNT=0, ANCOUNT=0, AUCOUNT=11,
ADCOUNT=0. RCODE=CONTINUED
MESSAGE 3: QCOUNT=0, ANCOUNT=0, AUCOUNT=3,
ADCOUNT=5, RCODE=NOERROR
Expires December 1996 [Page 2]
INTERNET-DRAFT DNS MORE June 1996
1.2 - UDP Usage
When using UDP, a resolver may set the MORE flag in a QUERY request to
indicate that its receive buffer is greater than 512 bytes in size,
rather than the 512 byte size given in [RFC1035 3.2.4]. The resolver is
expected to set this flag only if it knows that the host's reassembly
buffer is large enough to accommodate datagrams of the size indicated.
The new size is indicated by the RCODE is the query. The receive buffer
is 512 * (2 ^ RCODE) bytes in size.
RCODE SIZE
0 512
1 1024
2 2048
3 4096
4 8192
5 16384
6 32768
7 65536
8 131072
9 262144
10 524288
11 1048576
12 2097152
13 4194304
14 8388608
15 16777216
A server receiving a QUERY request with the MORE flag set is allowed to
transmit a response of up to the size indicated. If the response will
not fit in size indicated, then the rules given in [RFC1035 4.1.1,
4.2.1, 6.2] apply.
The server MUST clear the MORE flag in the response.
The server SHOULD disable path MTU discovery on the UDP response packet
resulting in host fragmentation.
Expires December 1996 [Page 3]
INTERNET-DRAFT DNS MORE June 1996
2 - Header Format
The header format is that described in [RFC1035 4.1.1] with the MORE
flag added:
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 |AA|TC|RD|RA|MO| Z | RCODE |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| QDCOUNT |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| ANCOUNT |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| NSCOUNT |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| ARCOUNT |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
Where MO is the MORE flag.
3 - Security Considerations
Though DNS is related to several security problems, no attempt is made
to fix them in this document.
This document is believed to introduce no additional security problems
to the current DNS protocol.
References
[RFC1035]P. Mockapetris, ``Domain Names - Implementation and Specifica-
tion,'' RFC 1035, USC/Information Sciences Institute, November
1987.
Expires December 1996 [Page 4]
INTERNET-DRAFT DNS MORE June 1996
Authors' Addresses
Mark Andrews
CSIRO - Division of Mathematics and Statistics
Locked Bag 17
North Ryde NSW 2113
AUSTRALIA
+61 2 325 3148
<Mark.Andrews@dms.csiro.au>
Paul Vixie
Internet Software Consortium
Star Route Box 159A
Woodside, CA 94062
USA
+1 415 747 0204
<paul@vix.com>
Expires December 1996 [Page 5]