Proposed optimization to multicast DNS
"Brian Zill" <bzill@microsoft.com> Thu, 12 July 2001 06:30 UTC
Received: from psg.com (exim@psg.com [147.28.0.62]) by ietf.org (8.9.1a/8.9.1a) with SMTP id CAA02349 for <dnsext-archive@lists.ietf.org>; Thu, 12 Jul 2001 02:30:28 -0400 (EDT)
Received: from lserv by psg.com with local (Exim 3.31 #1) id 15KZQK-0000DD-00 for namedroppers-data@psg.com; Wed, 11 Jul 2001 22:54:04 -0700
Received: from rip.psg.com ([147.28.0.39] ident=exim) by psg.com with esmtp (Exim 3.31 #1) id 15KZQK-0000D7-00 for namedroppers@ops.ietf.org; Wed, 11 Jul 2001 22:54:04 -0700
Received: from randy by rip.psg.com with local (Exim 3.30 #1) id 15KZPb-000L8v-00 for namedroppers@ops.ietf.org; Wed, 11 Jul 2001 22:53:19 -0700
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
From: Brian Zill <bzill@microsoft.com>
To: namedroppers@ops.ietf.org
Subject: Proposed optimization to multicast DNS
Sender: owner-namedroppers@ops.ietf.org
Precedence: bulk
Message-Id: <E15KZQK-0000DD-00@psg.com>
Date: Wed, 11 Jul 2001 22:54:04 -0700
Content-Transfer-Encoding: 7bit
I'd like to propose the following optimization to the multicast DNS draft. It is only applicable to IPv6, since it takes advantage of the larger multicast address space available in IPv6. The current version of the draft (draft-ietf-dnsext-mdns-01.txt) uses a single well-known link-local multicast address for all queries. This causes all responders to perform some packet processing on each query, even though in most cases this processing is merely to determine that the packet should be dropped (i.e. the query isn't for a record belonging to that responder). This is an analogous situation to IP address resolution, where queries are sent to discover a node's link-layer address. In IPv4 over Ethernet, the ARP protocol uses broadcast packets (which is equivalent to using a single multicast address that everyone listens to). In IPv6, however, Neighbor Discovery uses a more efficient scheme where nodes listen on a multicast address that is derived from their IP address -- this is the "solicited node multicast address". By basing the address to query on the very thing that is being queried, only those nodes that can actually respond to that query are likely to ever receive the packet. I propose something similar for multicast DNS. All IPv6 responders should listen to multicast queries on a "solicited name multicast address" instead of a single well-known multicast address. They derive their solicited name multicast address(es) by combining a 104-bit well-known link-local multicast prefix with the 24-bit result of a hash over the first portion of the name of the record(s) for which they are authoritative. Senders wishing to issue a query for a given record would first generate the solicited name multicast address corresponding to the record they wish to lookup. Then they would send the query to that address. Only those nodes listening to that particular multicast address would receive the packet, thus reducing significantly the amount of packet processing required by nodes participating in multicast DNS. Open issues: Size of multicast prefix and hash result. I chose 104 and 24, respectively, simply because those are the lengths used for solicited node multicast addresses. A smaller hash result would increase the likelihood of collisions, but the smaller address range might be more palatable to IANA. The choice of hash function might also figure in here. What hash function to use? Any half-way reasonable hash function would do, so it might be wise to use a hash function that all IPv6 implementations are required to have anyway. But MD5 and SHA-1 both seem a little overkill for this purpose. The internet checksum isn't great, and only yields 16 bits, but the code is present everywhere. There are plenty of other possibilities. Comments? --Brian to unsubscribe send a message to namedroppers-request@ops.ietf.org with the word 'unsubscribe' in a single line as the message text body.
- Proposed optimization to multicast DNS Brian Zill
- Re: Proposed optimization to multicast DNS Jun-ichiro itojun Hagino
- Re: Proposed optimization to multicast DNS David Terrell