Subject: Re: [MMUSIC] ICE-13 & Foundation

From: Jonathan Rosenberg <[email-masked]>
Date: Sat, 03 Mar 2007 12:50:11 -0500

[email-masked] wrote:

> Hi,
> 
> The draft-ietf-mmusic-ice-13.txt specifies the foundation of a candiate
> as follows:
> 
> "Foundation: Each candidate has a foundation, which is an identifier
> that is distinct for two candidates that have different types, different
> interface IP addresses for their base, and different IP addresses for
> their STUN servers.  Two candidates have the same foundation when they
> are of the same type, their bases have the same IP address, and, for
> server reflexive or relayed candidates, they come from the same STUN
> server.  Foundations are used to correlate candidates, so that when one
> candidate is found to be valid, candidates sharing the same foundation
> can be tested next, as they are likely to also be valid."
> 
> This is otherwise ok, but how come the requirement about having the same
> STUN server IP address for server reflexive and/or relayed clients?
> If these are from different network interfaces or if they are otherwise
> obtained from different networks, that's of course understandable. But
> if not, then is there any reason why the candidates should be acquired
> from exactly the same server?

The reason is that you can have topologies like this:

   Please view in a fixed-width
      font such as Courier.

                          +-----+
                          |     |
                          |STUN |
                          |     |
                          +-----+

              +-------------+
              |    NAT      |
              +-------------+

                          +-----+
                          |     |
                          |STUN |
                          |     |
                          +-----+
              +-------------+
              |    NAT      |
              +-------------+

                +-------+
                |       |
                |  UA   |
                |       |
                +-------+

WHere the stun servers are behind different sets of NAT.

> 
> The concern is, that this forces the STUN (or TURN) candidates to be
> acquired from the same server (if we want to get the same foundation).
> This breaks the possible load balancing enabled by multiple STUN servers
> listed with DNS (SRV/A/AAAA). Also this forces the candidate gathering
> to be done in serial. Otherwise we could get candidates from different
> STUN servers.

You're going to have to do it in serial because of the pacing 
requirement; I don't see how changing the foundation affects that.

It is true that if you want the foundations to be the same, you would 
lose the ability to load balance *for a particular call*. My suggestion 
is: don't do that. Load balance by picking a stun server at the 
beginning of a call and getting all of your candidates from it. I'll add 
a note to that affect.

-Jonathan R.

-- 
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