Subject: [MMUSIC] Re: ICE and IPv6 transition

From: Jonathan Rosenberg <[email-masked]>
Date: Thu, 04 Jan 2007 17:24:08 -0500

Here are my thoughts on this.

I recall discussing this issue way back when with Gonzalo. We had agreed 
that ANAT would be complementary to ICE. ANAT would be used in cases 
where you were multihomed with v4 and v6, and not worrying about NAT 
traversal per se. ICE added a lot of complexity just to deal with 
something as simple as picking the right IP version. Also, ICE had the 
problem that it had one address as the primary (in the m/c-line) and the 
other candidates were secondary, in candidate lines. We wanted a 
solution where both addresses were really equivalently treated.

Under these assumptions, you would use ANAT when you had both v4 and v6 
public addresses, but public versions of both. If you needed NAT 
traversal, you'd use ICE. If you had both v4 and v6 and needed nat 
traversal, you'd use both ANAT and ICE. There'd be an m line for v4, one 
for v6. ANAT would select which. Then, under the v4 m-line, you'd have 
all of your v4 candidates. Under the v6 m-line, all of your v6. Thats 
why the ICE spec talks about using ICE to select between native v6 and 
6to4 addresses, for example.

However, a few things have changed since we originally made that 
decision. Firstly, we've seen that even in the absence of NAT traversal, 
ICE is valuable (passive mode, voice hammer prevention, keepalive timing 
control). Furthermore, ICE's design now treats the m/c-line address as a 
fallback for non-ICE endpoints. We also now have an option tag, so you 
could use ICE like ANAT gets used; with an option tag so you can do 
something different if the far end doesn't support it.

Another point is, one of the benefits of ICE over ANAT for selection of 
v4 vs. v6 is that, you may run into scenarios where both side have v6 
but they turn out to be unconnected; that is, its two phones both 
sitting on v6 networks that are not connected together. I don't know how 
common it is to have v6 islands unconnected, but it would not surprise 
me if this happens every once in a while.

So, technically, at this point I think ICE is probably able to provide a 
superset of ANAT. One option is to recommend ANAT for the simplest case 
(no NAT traversal, dual-homed clients with public IP), and then ICE for 
anything more. THe problem with that is, from an interop standpoint, ICE 
implementations would also need to do ANAT and it would be more 
complicated. Plus, having ICE support on devices that aren't interested 
in nat traversal per se is critical for allowing the OTHER side to 
support nat traversal (this is why we've been pushing passive mode).
I also suspect it will generally be confusing to the industry to have 
two specifications that are very similar.

So, my recommendation would be to have ICE obsolete ANAT when its 
published. I don't know if its being used yet at all, which might make 
this an issue.

Thoughts?

-Jonathan R.

> Gonzalo Camarillo wrote:
> 
>> Hi,
>>
>> the current ICE draft seems to tackle IPv4 and IPv6 candidates for the
>> same media stream. In the past, we developed ANAT to separate them so
>> that a single m line used a single IP version. In particular, the
>> SIPPING IPv6 transition document recommends the use of ANAT.
>>
>> We need to align all these efforts.
> 
> 
> Probably sooner rather than later if it has any impact on
> the SIPPING IPv6 transition draft, since it has already been WGLCd
> and is in the "Publication Requested" state.
> 
> Thanks,
> 
> - vijay

-- 
Jonathan D. Rosenberg, Ph.D.                   600 Lanidex Plaza
Cisco Fellow                                   Parsippany, NJ 07054-2711
Cisco Systems
[email-masked]                              FAX:   (973) 952-5050
http://www.jdrosen.net                         PHONE: (973) 952-5000
http://www.cisco.com

_______________________________________________
mmusic mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/mmusic

---

From: Gonzalo Camarillo <[email-masked]>
Date: Tue, 16 Jan 2007 22:51:11 +0200

Hi,

I agree ICE is useful even in the absence of NATs and that every 
endpoint should implement it. I also agree that even endpoints using 
ANAT should use ICE. What we have to analyze is the advantage of using 
ICE on a single m line versus using ICE on each of the two m lines (one 
for IPv6 and one for IPv4). That is, it is not ANAT vs. ICE. It is an m 
line per address type vs. a single m line for everything.

I believe that having a separate m line per address type is cleaner. 
However, having separate m lines would keep an IPv6-only host from 
trying to send data to an IPv4-only host through a NAT-PT. Covering this 
scenario may justify not using ANAT and using ICE on a single m line 
instead.

Cheers,

Gonzalo