RE: [BEHAVE] STUN relay with push mode QoS reservation

"Dan Wing" <dwing@cisco.com> Sat, 21 July 2007 02:28 UTC

Return-path: <behave-bounces@ietf.org>
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1IC4he-0003Nb-JB; Fri, 20 Jul 2007 22:28:18 -0400
Received: from behave by megatron.ietf.org with local (Exim 4.43) id 1IC4hd-0003Mc-4j for behave-confirm+ok@megatron.ietf.org; Fri, 20 Jul 2007 22:28:17 -0400
Received: from [10.90.34.44] (helo=chiedprmail1.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1IC4hc-0003Jo-Mj for behave@ietf.org; Fri, 20 Jul 2007 22:28:16 -0400
Received: from sj-iport-6.cisco.com ([171.71.176.117]) by chiedprmail1.ietf.org with esmtp (Exim 4.43) id 1IC4hb-0007qq-RH for behave@ietf.org; Fri, 20 Jul 2007 22:28:16 -0400
Received: from sj-dkim-1.cisco.com ([171.71.179.21]) by sj-iport-6.cisco.com with ESMTP; 20 Jul 2007 19:28:15 -0700
X-IronPort-AV: i="unknown"; a="185987825:sNHT0"
Received: from sj-core-2.cisco.com (sj-core-2.cisco.com [171.71.177.254]) by sj-dkim-1.cisco.com (8.12.11/8.12.11) with ESMTP id l6L2SFSg008792; Fri, 20 Jul 2007 19:28:15 -0700
Received: from dwingwxp ([10.32.240.196]) by sj-core-2.cisco.com (8.12.10/8.12.6) with ESMTP id l6L2SA6C017737; Sat, 21 Jul 2007 02:28:10 GMT
From: Dan Wing <dwing@cisco.com>
To: "'Asveren, Tolga'" <tasveren@sonusnet.com>
Subject: RE: [BEHAVE] STUN relay with push mode QoS reservation
Date: Fri, 20 Jul 2007 19:28:09 -0700
Message-ID: <00a801c7cb3e$ca605430$c4f0200a@amer.cisco.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
X-Mailer: Microsoft Office Outlook 11
X-Mimeole: Produced By Microsoft MimeOLE V6.00.2900.3138
In-Reply-To: <033458F56EC2A64E8D2D7B759FA3E7E71880AB@sonusmail04.sonusnet.com>
Thread-Index: AcfCZAO7A1/ZbloTTE2atfpP5sNV+wAALusAAiMJvVAAExgTEA==
DKIM-Signature: v=0.5; a=rsa-sha256; q=dns/txt; l=5479; t=1184984895; x=1185848895; c=relaxed/simple; s=sjdkim1004; h=Content-Type:From:Subject:Content-Transfer-Encoding:MIME-Version; d=cisco.com; i=dwing@cisco.com; z=From:=20=22Dan=20Wing=22=20<dwing@cisco.com> |Subject:=20RE=3A=20[BEHAVE]=20STUN=20relay=20with=20push=20mode=20QoS=20 reservation |Sender:=20; bh=uYyNWOSfLTPfshpbmWepUUVodG6EX/GdmxU33b2DKG8=; b=sT3Hn/KMGGnnL51jJvJGIodhzZBjSyGIwD6AuHD4xW99/k9sF0MwyK2WdGdkOZxBuHVMNub8 jmRLfkkQnAgoxCBlIbHmuDwTyTMdz/FODptQ2RJzh4RDYaI90TRmBRlK5ApMEhM/aRnH44RJDg YBHQv9NCIkoTDJCbJZbhJsvx0=;
Authentication-Results: sj-dkim-1; header.From=dwing@cisco.com; dkim=pass (s ig from cisco.com/sjdkim1004 verified; );
X-Spam-Score: 0.0 (/)
X-Scan-Signature: d2b46e3b2dfbff2088e0b72a54104985
Cc: behave@ietf.org
X-BeenThere: behave@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: mailing list of BEHAVE IETF WG <behave.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/behave>, <mailto:behave-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/behave>
List-Post: <mailto:behave@ietf.org>
List-Help: <mailto:behave-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/behave>, <mailto:behave-request@ietf.org?subject=subscribe>
Errors-To: behave-bounces@ietf.org

 

> -----Original Message-----
> From: Asveren, Tolga [mailto:tasveren@sonusnet.com] 
> Sent: Friday, July 20, 2007 11:22 AM
> To: Jonathan Rosenberg; behave@ietf.org
> Subject: RE: [BEHAVE] STUN relay with push mode QoS reservation
> 
> 
> AFAICS <rel-addr> and <rel-port> helps if NAT is between UA and access
> endpoint, e.g. a cable modem. Is there anything else, which would help
> for the following case:
> 
> 
>   UA ------Access Endpoint--- Access Termination--NAT-----STUN
>                           ^    (enforces QoS)        ^    Relay
>                           |                          |
>                           |                          |
>                         What is needed             rel-addr
>                         for QoS reservation        rel-port

For that, I believe you want to indicate the 'base' in the SDP;
there isn't a mechanism to do that in ICE-17.  At least, in
this situation, the UA does have all the information necessary.

> or for the following:
> 
> 
>  UA---NAT----Access Endpoint--- Access Termination--NAT-----STUN
>                             ^    (enforces QoS)        ^    Relay
>                             |                          |
>                             |                          |
>                           What is needed             rel-addr
>                           for QoS reservation        rel-port

ICE-17 doesn't have a way to indicate that, either.

However, in this situation, there is a more difficult problem:  
how would the UA learn the IP address and UDP port being used by 
that first NAT (the NAT closest to the UA).  

The UA could could be learned via UPnP or Bonjour; however, if
you throw another NAT into the diagram, that won't work, either:
 
UA--NAT--NAT--Access Endpoint--- Access Termination--NAT---STUN
     1    2                ^    (enforces QoS)        ^    Relay
                           |                          |
                           |                          |
                         What is needed             rel-addr
                         for QoS reservation        rel-port

In the diagram above, UPnP or Bonjour on NAT-1 will only help you 
learn the public address and UDP port on NAT-1; but you need to 
learn the public address and UDP port on NAT-2.  UPnP and Bonjour
don't help (as neither work across NATs).  

If the outer-most NAT (the one closest to the STUN relay in
the figures above) were to support draft-wing-behave-nat-control-stun-usage,
then the UA could query that outer-most NAT and learn the IP address
and UDP port that you need to communicate.


Alternatively, you could declare such nested NATs as 'too hard'
and skip that problem, and just stick with the diagram you
had in your email, and use UPnP or Bonjour to learn the public
IP address and UDP port.

-d

> 
>     Thanks,
>     Tolga
> 
> > -----Original Message-----
> > From: Asveren, Tolga
> > Sent: Monday, July 09, 2007 4:10 PM
> > To: Jonathan Rosenberg
> > Cc: behave@ietf.org; Dan Wing
> > Subject: RE: [BEHAVE] STUN relay with push mode QoS reservation
> > 
> > >
> > > >>>   <rel-addr> and <rel-port>:  convey transport 
> addresses related
> > to
> > > > the
> > > >>>       candidate, useful for diagnostics and other purposes.
> > > > <rel-addr>
> > > >>>       and <rel-port> MUST be present for server 
> reflexive, peer
> > > >>>       reflexive and relayed candidates.  If a candidate is
> server
> > or
> > > >>>       peer reflexive, <rel-addr> and <rel-port> is 
> equal to the
> > base
> > > > for
> > > >>>       that server or peer reflexive candidate.  If 
> the candidate
> > is
> > > >>>       relayed, <rel-addr> and <rel-port> is equal to 
> the mapped
> > > > address
> > > >>>       in the Allocate Response that provided the client with
> that
> > > >>>       relayed candidate (see Appendix B.3 for a discussion of
> its
> > > >>>       purpose).  If the candidate is a host candidate 
> <rel-addr>
> > and
> > > >>>       <rel-port> MUST be omitted.
> > > >>
> > > >> This server reflexive related-address is exactly what you'd use
> in
> > > > push
> > > >> mode QoS.
> > > > [TOLGA]Yes, it is one of the addresses needed (the 
> internal remote
> > > > transport address). AFAICS, the other address needed is internal
> > local
> > > > transport address of STUN relay. What I was wondering was how
> > internal
> > > > local transport address is signaled to the proxy.
> > >
> > > I'm not sure which address you mean. For packets 
> forwarded from the
> > TURN
> > > server, towards the client, the destination address is the
> > > server-reflexive address towards the TURN server, laerned 
> as above.
> > THe
> > > source address is the IP/port of the TURN server itself. 
> Is it that
> > one
> > > you are talking about? That one is not signaled. I don't 
> see why you
> > > need it though.
> > [TOLGA]Yes it was the address I was talking about but you are right
> that
> > it is actually not needed. We are dealing with a NAT whose mapping
> > depends on address/address port in this case. Just specifying the
> server
> > reflexive address for the QoS filtering rule should be enough to
> define
> > the flow unambiguously.
> 
> 
> _______________________________________________
> Behave mailing list
> Behave@ietf.org
> https://www1.ietf.org/mailman/listinfo/behave


_______________________________________________
Behave mailing list
Behave@ietf.org
https://www1.ietf.org/mailman/listinfo/behave