Re: [BEHAVE] DNS64 handling of multicast addresses

Stig Venaas <stig@venaas.com> Fri, 14 August 2009 18:07 UTC

Return-Path: <stig@venaas.com>
X-Original-To: behave@core3.amsl.com
Delivered-To: behave@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 44C203A69D8 for <behave@core3.amsl.com>; Fri, 14 Aug 2009 11:07:15 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.207
X-Spam-Level:
X-Spam-Status: No, score=-0.207 tagged_above=-999 required=5 tests=[AWL=0.097, BAYES_00=-2.599, FH_HOST_EQ_D_D_D_D=0.765, HELO_EQ_IP_ADDR=1.119, HOST_MISMATCH_COM=0.311, RDNS_DYNAMIC=0.1]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id eE0EerIQTDfx for <behave@core3.amsl.com>; Fri, 14 Aug 2009 11:07:14 -0700 (PDT)
Received: from ufisa.uninett.no (ufisa.uninett.no [IPv6:2001:700:1:2:158:38:152:126]) by core3.amsl.com (Postfix) with ESMTP id 7BF493A6ACF for <behave@ietf.org>; Fri, 14 Aug 2009 11:07:13 -0700 (PDT)
Received: from [128.107.163.89] (dhcp-128-107-163-89.cisco.com [128.107.163.89]) by ufisa.uninett.no (Postfix) with ESMTP id 30A4D390F1; Fri, 14 Aug 2009 20:07:15 +0200 (CEST)
Message-ID: <4A85A7CB.7070600@venaas.com>
Date: Fri, 14 Aug 2009 11:07:07 -0700
From: Stig Venaas <stig@venaas.com>
User-Agent: Thunderbird 2.0.0.22 (Windows/20090605)
MIME-Version: 1.0
To: liu dapeng <maxpassion@gmail.com>
References: <4A7A7FCF.3070606@teliasonera.com> <25e1aaa40908140708m7c19e2c9i70874ec198b16d79@mail.gmail.com>
In-Reply-To: <25e1aaa40908140708m7c19e2c9i70874ec198b16d79@mail.gmail.com>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
Cc: behave@ietf.org, Jyrki Soini <jyrki.soini@teliasonera.com>
Subject: Re: [BEHAVE] DNS64 handling of multicast addresses
X-BeenThere: behave@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: mailing list of BEHAVE IETF WG <behave.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/behave>, <mailto:behave-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/behave>
List-Post: <mailto:behave@ietf.org>
List-Help: <mailto:behave-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/behave>, <mailto:behave-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 14 Aug 2009 18:07:15 -0000

liu dapeng wrote:
> Hi Jyrki:
> 
> Why should we consider multicast address in DNS64?

It would be very useful to have the exact same mechanism for multicast
as for unicast, except of course that you need different prefix(es) when
you synthesize AAAAs.

Let me try to describe how it might work in the scenarios in DNS64. The
scenarios in the DNS64 draft is:

    DNS64 is used with an IPv6/IPv4 translator to enable client-server
    communication between an IPv6-only client and an IPv4-only server,
    without requiring any changes to either the IPv6 or the IPv4 node,
    for the class of applications that work through NATs.  This document
    specifies DNS64, and provides suggestions on how it should be
    deployed in conjunction with IPv6/IPv4 translators.

If you add multicast to this scenario, it would become how IPv6-only
multicast applications (clients) can receive from IPv4-only multicast
sources (streaming servers etc).

In practice it would work something like this:

The IPv6 application may receive an SDP file telling it which multicast
group to join, but by domain name rather than a literal address. The
application does a DNS lookup, this goes through DNS64. DNS64 finds just
an A record with an IPv4 multicast address. It then synthesizes an AAAA
record with an IPv6 multicast address. Application receives this and
joins the IPv6 multicast group.

The join reaches the translator which knows the mapping, joins the IPv4
group... IPv4 multicast packets coming back are translated into IPv6.

There is some complexity as to which exact prefixes to use. Anyway,
which prefix to apply to which multicast address ranges must be
configured the same on DNS64 and the translator, just like the unicast
prefix must be configured on both. It might be sufficient to distinguish
SSM from other multicast.

The scenario here (but not DNS) is described in 
draft-venaas-behave-mcast46-01 and section 5.1 talks about how IPv4
multicast addresses might be embedded into IPv6 multicast addresses
using multiple prefixes.

Much of this is also discussed in
draft-venaas-behave-v4v6mc-framework-00 which I presented in Stockholm.

Note that that document doesn't say much about DNS. It mostly says that
DNS is not much used for multicast. But it is used to some extent, and
to aid transition it may be a good idea to use it to a much larger
extent. It is easier to use a DNS ALG than to use other ALGs for
rewriting literal addresses on a whole bunch of other protocols.

I plan to add more on DNS to that document.

I think it might be a good idea to add multicast to DNS64. Alternatively
someone might at some point have to write a separate document.

I think the addition to DNS64 could be just 1-2 paragraphs, and it need
not go into much detail. I would be happy to provide further suggestions
or text.

If there is no multicast in DNS64, then it should specifically point out
that it must check that an address is an IPv4 unicast address before
synthesizing an AAAA record. And perhaps add that the same technique
could be used for multicast, but that it would require a multicast
prefix.

I think we might just as well write a slightly longer text that says
how to handle multicast.

BTW, I wonder whether there are other IPv4 addresses that DNS64 should
check against. I think it would be useful to configure which IPv4 ranges
should get which IPv6 prefix, and also allow for e.g. excluding RFC1918.

If you have that flexibility by configuration, DNS64 could be configured
to properly handle multicast, without any specific support for multicast.

Stig

> 
> BR,
> Dapeng Liu
> 2009/8/6, Jyrki Soini <jyrki.soini@teliasonera.com>:
>> Should DNS64 draft say something specific on how to handle multicast IP
>> addresses?
>> --
>> Jyrki Soini
>>
>>
>> _______________________________________________
>> Behave mailing list
>> Behave@ietf.org
>> https://www.ietf.org/mailman/listinfo/behave
>>
> _______________________________________________
> Behave mailing list
> Behave@ietf.org
> https://www.ietf.org/mailman/listinfo/behave