1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389
|
<pre>Network Working Group W. Simpson
Request for Comments: 1788 Daydreamer
Category: Experimental April 1995
<span class="h1">ICMP Domain Name Messages</span>
Status of this Memo
This document defines an Experimental Protocol for the Internet
community. This does not specify an Internet standard of any kind.
Discussion and suggestions for improvement are requested.
Distribution of this memo is unlimited.
IESG Note:
An Internet Engineering Steering Group comment from the co-Area
Director for IPng: Please note well that this memo is an individual
product of the author. It presents one view of the IN-ADDR
mechanism, motivated by discussion in the IPNG WG of the difficulty
of secure, dynamic update of the reverse tree. Other IETF discussion
and ongoing standards work on this area will be found in the IP Next
Generation (ipngwg), DNS IXFR, Notification, and Dynamic Update
(dnsind), DNS Security (dnssec) working groups.
Abstract
This document specifies ICMP messages for learning the Fully
Qualified Domain Name associated with an IP address.
<span class="grey">Simpson [Page 1]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-2" ></span>
<span class="grey"><a href="./rfc1788">RFC 1788</a> ICMP Domain Name April 1995</span>
Table of Contents
<a href="#section-1">1</a>. Introduction .......................................... <a href="#page-2">2</a>
<a href="#section-1.1">1.1</a> Direct Query .................................... <a href="#page-3">3</a>
<a href="#section-1.2">1.2</a> Multicast ....................................... <a href="#page-3">3</a>
<a href="#section-1.3">1.3</a> Domain Names .................................... <a href="#page-3">3</a>
<a href="#section-1.4">1.4</a> Messages ........................................ <a href="#page-4">4</a>
<a href="#section-2">2</a>. Domain Name Request ................................... <a href="#page-4">4</a>
<a href="#section-3">3</a>. Domain Name Reply ..................................... <a href="#page-5">5</a>
SECURITY CONSIDERATIONS ...................................... <a href="#page-6">6</a>
REFERENCES ................................................... <a href="#page-6">6</a>
ACKNOWLEDGEMENTS ............................................. <a href="#page-7">7</a>
AUTHOR'S ADDRESS ............................................. <a href="#page-7">7</a>
<span class="h2"><a class="selflink" id="section-1" href="#section-1">1</a>. Introduction</span>
The Domain Name System (DNS) is described in [<a href="./rfc1034">RFC-1034</a>]. The IN-ADDR
domain of the DNS is specified [<a href="./rfc1035">RFC-1035</a>] to perform address to
domain name resolution, and to facilitate queries to locate all
gateways (routers) on a particular network in the Internet.
Neither function has been remarkably successful. The IN-ADDR domain
is not reliably populated.
As multiple routers were used at boundaries and within networks, the
IN-ADDR mechanism was found to be inadequate. The location of
routers by hosts is now performed using "ICMP Router Discovery
Messages" [<a href="./rfc1256">RFC-1256</a>].
As network numbers migrated to "classless" routing and aggregation,
the IN-ADDR delegation granularity has fragmented, and requires
overlapping administration. The "reverse" IN-ADDR administration
frequently does not follow the same delegation as the "forward"
domain name tree. This structure is not amenable to cooperative
secure updating of the DNS.
As application servers have appeared which require the Domain Name
for user interaction and security logging, the IN-ADDR servers have
been inundated with queries. This produces long user visible pauses
at the initiation of sessions.
<span class="grey">Simpson [Page 2]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-3" ></span>
<span class="grey"><a href="./rfc1788">RFC 1788</a> ICMP Domain Name April 1995</span>
<span class="h3"><a class="selflink" id="section-1.1" href="#section-1.1">1.1</a>. Direct Query</span>
This document proposes that each unicast address be queried directly
for its corresponding Domain Name. This has the advantages that the
naming is under the same administration as the address assignment,
and the queries are distributed in the same fashion as IP routing.
In effect, the routing is used to index the database.
<span class="h3"><a class="selflink" id="section-1.2" href="#section-1.2">1.2</a>. Multicast</span>
Only a few well-known multicast addresses are populated in the IN-
ADDR domain. The ephemeral nature of most multicast addresses is not
conducive to cooperative secure updating of the DNS.
However, the technique described here is not useful for multicast
addresses. A query to a multicast address could result in a storm of
replies. Most multicast groups are not named, or the member nodes
are not configured with the name.
The IN-ADDR method SHOULD continue to be used for reverse lookup of
well-known multicast addresses in the range 224.0.0.0 to
224.0.255.255. Other multicast addresses are an issue for futher
study.
<span class="h3"><a class="selflink" id="section-1.3" href="#section-1.3">1.3</a>. Domain Names</span>
Each Domain Name is expressed as a sequence of labels. Each label is
represented as a one octet length field, followed by that number of
octets. Since every Domain Name ends with the null label of the
root, a Domain Name is terminated by a length byte of zero. The most
significant two bits of every length octet must be '00', and the
remaining six bits of the length field limit the label to 63 octets
or less.
When the most significant two bits of the length octet are '11', the
length is interpreted as a 2 octet sequence, indicating an offset
from the beginning of the message (Type field). Further details are
described in [<a href="./rfc1035">RFC-1035</a>] "Message Compression".
To simplify implementations, the total length of a Domain Name
(including label octets and label length octets) is restricted to 255
octets or less.
<span class="grey">Simpson [Page 3]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-4" ></span>
<span class="grey"><a href="./rfc1788">RFC 1788</a> ICMP Domain Name April 1995</span>
<span class="h3"><a class="selflink" id="section-1.4" href="#section-1.4">1.4</a>. Messages</span>
The datagram format and basic facilities are already defined for ICMP
[<a href="./rfc792">RFC-792</a>].
Up-to-date values of the ICMP Type field are specified in the most
recent "Assigned Numbers" [<a href="./rfc1700">RFC-1700</a>]. This document concerns the
following values:
37 Domain Name Request
38 Domain Name Reply
<span class="h2"><a class="selflink" id="section-2" href="#section-2">2</a>. Domain Name Request</span>
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Code | Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Identifier | Sequence Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type 37
Code 0
Checksum The ICMP Checksum.
Identifier If Code is zero, a value to aid in matching requests
and replies. For example, it might be used like a
port in TCP or UDP to identify a session. May be
zero.
Sequence Number If Code is zero, a value to aid in matching requests
and replies. For example, the number might be
incremented on each request sent. May be zero.
A separate Domain Name Request is used for each IP Destination
queried.
An ICMP Domain Name Request received with a broadcast or multicast
Destination MUST be silently discarded.
On receipt of an ICMP error message, the implementations MAY attempt
to resolve the Domain Name using the IN-ADDR method.
<span class="grey">Simpson [Page 4]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-5" ></span>
<span class="grey"><a href="./rfc1788">RFC 1788</a> ICMP Domain Name April 1995</span>
<span class="h2"><a class="selflink" id="section-3" href="#section-3">3</a>. Domain Name Reply</span>
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Code | Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Identifier | Sequence Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Time-To-Live |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Names ...
+-+-+-+-+-+-+-+-
Type 38
Code 0
Checksum The ICMP Checksum.
Identifier Copied from the request.
Sequence Number Copied from the request.
Time-To-Live The number of seconds that the name may be cached.
For historic reasons, this value is a signed 2s-
complement number.
Names zero or more Fully Qualified Domain Names. The
length of this field is determined from the total
length of the datagram.
When no names are known, the field is eliminated
(zero length), but the Reply is sent as an
authoritative indication that no name is known.
When more than one name is known, all such names
SHOULD be listed.
Any name which cannot entirely fit within the Reply
MTU is not sent.
The IP Source in a Reply MUST be the same as the IP Destination of
the corresponding Request message.
Every host and router MUST implement an ICMP Domain Name server
function that receives Domain Name Requests and sends corresponding
Domain Name Replies.
<span class="grey">Simpson [Page 5]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-6" ></span>
<span class="grey"><a href="./rfc1788">RFC 1788</a> ICMP Domain Name April 1995</span>
A host SHOULD also implement an application- layer interface for
sending a Domain Name Request and receiving a Domain Name Reply, for
diagnostic purposes.
Security Considerations
A primary purpose of this specification is to provide a mechanism for
address to name resolution which is more secure than the IN-ADDR
reverse tree. This mechanism is amenable to use of the IP Security
Protocols for authentication and privacy.
Although the routing infrastructure to the Destination does not
provide security in and of itself, it is as least as reliable as
delivery of correspondence for the other sessions with the same peer.
A DNS cryptographic signature, located by using the reply in the
forward DNS direction, can be used to verify the reply itself.
References
[<a id="ref-RFC-792">RFC-792</a>]
Postel, J., "Internet Control Message Protocol", STD 5,
<a href="./rfc792">RFC 792</a>, USC/Information Sciences Institute, September
1981.
[<a id="ref-RFC-1034">RFC-1034</a>]
Mockapetris, P., "Domain Names - Concepts and Facilities",
STD 13, <a href="./rfc1034">RFC 1034</a>, USC/Information Sciences Institute,
November 1987.
[<a id="ref-RFC-1035">RFC-1035</a>]
Mockapetris, P., "Domain Names - Implementation and
Specification", STD 13, <a href="./rfc1035">RFC 1035</a>, USC/Information
Sciences Institute, November 1987.
[<a id="ref-RFC-1256">RFC-1256</a>]
Deering, S., Editor, "ICMP Router Discovery Messages",
<a href="./rfc1256">RFC 1256</a>, Xerox PARC, September 1991.
[<a id="ref-RFC-1700">RFC-1700</a>]
Reynolds, J., and J. Postel, "ASSIGNED NUMBERS", STD 2,
<a href="./rfc1700">RFC 1700</a>, USC/Information Sciences Institute, October 1994.
<span class="grey">Simpson [Page 6]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-7" ></span>
<span class="grey"><a href="./rfc1788">RFC 1788</a> ICMP Domain Name April 1995</span>
Acknowledgements
The DNSIND and IPng Working Groups contributed substantial amounts of
discussion.
Additional comments should be submitted to the
namedroppers@internic.net mailing list.
Author's Address
Questions about this memo can also be directed to:
William Allen Simpson
Daydreamer
Computer Systems Consulting Services
1384 Fontaine
Madison Heights, Michigan 48071
Bill.Simpson@um.cc.umich.edu
bsimpson@MorningStar.com
Simpson [Page 7]
</pre>
|