Subject: Re: [tram] Review of draft-ietf-tram-turn-server-discovery-01

From: "Prashanth Patil (praspati)" <[email-masked]>
Date: Thu, 29 Jan 2015 20:22:42 +0000

Hi Tory,
Thanks for the review. Inline…

On 1/26/15, 1:27 PM, "tshields" <[email-masked]> wrote:

>-----BEGIN PGP SIGNED MESSAGE-----
>Hash: SHA512
>
>Overview
>
>Overall this draft was very clear and straight-forward. There was one
>more important question that jumped out at me as I was reviewing; it
>was somewhat unclear to me whether or not both mechanisms for TURN
>server discovery are really required, which one is prefered, and why.
>
>
>Major Issues/Questions:
>
>Section 1, Paragraph 2
>
>> The reason for providing two mechanisms is to maximize the
>> opportunity for discovery, based on the network in the which the
>> TURN client sees itself.
>
>So would someone implementing this use both mechanisms in order to
>maximize the opportunity for discovery, or would they choose the one
>that makes sense for them? Am I breaking the standard if I just
>implement one? I think the wording here could be a little more
>explicit. If I MUST implement both mechanisms then the document should
>make that clear.
>
>Section 3, Paragraph 1 does specify that the auto discovery algorithm
>MUST try service resolution first and then Anycast (steps 2 & 3). So
>at this point it becomes clear that both mechanisms must be implemented.
>
>However, it seems to me (based on the document) that Discovery using
>Anycast is a much simpler, more "elegant" solution. Does the document
>really care that I try to use Discovery Using Service Resolution
>first, or may I choose the order that makes sense to me as an
>implementer? If it does care, I think the reason should be stated in
>Paragraph 1 of Section 3 (or somewhere else that makes sense).

Both mechanisms MUST be implemented. Not all TURN servers may be
discovered using DHCP/NAPTR records; Similarly, not all TURN servers may
support anycast. For best results, the client MUST implement both. We¹ll
make this a MUST in the next revision.

Please note that it is not mandatory to switch to Discovery using Anycast
only after discovery using Service resolution. Both mechanisms can be
performed in parallel.

It is possible that you end up discovering more than one TURN servers, in
which case we¹re proposing
https://tools.ietf.org/html/draft-patil-tram-turn-serv-selection-00 that
provides guidelines that a client can follow to pick an appropriate TURN
server.

>
>
>Section 4.2.1, Paragraph 3
>
>> If this lookup fails, the discovery procedure is aborted without a
>> result.
>
>If this lookup fails then we give up entirely with dicovering a TURN
>server, or just for this domain/interface/address family combination?
>Do we move on to Discovery using Anycast at this point? Should be made
>more clear.

Lookup fails only for that particular domain/interface/address
combination. The client should move on to try other combinations.

>
>
>Minor Issues/Questions:
>
>Section 4, Paragraph 4
>
>> On hosts with more than one interface or address family (IPv4/v6),
>> the TURN server discovery procedure has to be run for each
>> combination of interface and address family.
>
>Out of curiosity, what is the maximum number of interfaces and address
>families that could be expected? Is there any concern that checking
>every combination of interface and address family could be too
>expensive of a task? My gut tells me it's not a problem but I thought
>I would at least ask the question.

You could have two address families per interface. I don¹t expect the
number of addresses to be too many to be a cause for concern.

I suppose we could suggest that a client could choose to discover a TURN
server only for the desired interface/address combination, but it seems
like an implementation detail.

>
>
>Nits:
>
>Section 3, Paragraph 3
>
>> Service Resolution : The TURN client attempts to perform TURN
>> service resolution using the DNS domain name that the host belongs
>> to OR the hosts' global IP address.
>
>Is it really multiple hosts ("hosts'") or a is it a single host
>("host's"). Also, im my opinion, the sentence can be altered to make
>it slightly more readable:
>
>"Service Resolution : The TURN client attempts to perform TURN service
>resolution using the host's DNS domain OR the host's global IP address."

Thanks, will do.

-Prashanth

>
>
>- -- 
>Troy Shields
>Developer of Awesome | Jive Communications, Inc.
>Jive.com | [email-masked]
>
>
>-----BEGIN PGP SIGNATURE-----
>Version: GnuPG/MacGPG2 v2.0.22 (Darwin)
>Comment: GPGTools - https://gpgtools.org
>
>iQIcBAEBCgAGBQJUxrEtAAoJEPpHBvvPaXlQPe8P/Rj4qj19jQRiefzibQ6EYXqc
>29OWBhIks1YCdQhuy3JIEML895HZrw1pCJEKQ6yckixL9Nf0zBCEZCe2HPejxSgO
>pgeZ6y7xzYTCOGm2+KMB0Ixt9mdOPglRpYsBqZaCediCz1VbqU8vRZXpy7dcFpzE
>ppzrcYhN5u71B6apN+jEC9a1Fo9J09jWlsSF4cFHXd2ZUBbe7LqmeiY8B9292cFt
>ReTVi8ltY4RbLkoekcuc88phZWIDPbG27IV/s5BZCecLNZpgarMI4otbnnD5MX9x
>CGCZACtTPkWpGzrN1ERllB/6BGtgt+e52EymYh2ulchCYEw/yZfQXHe58UTcc9o0
>YCXTHjiZ7J57OH9EGcZ0VfLE9VumaWIYciwdhcX759yGHAZ1mRmpSpTcXr54Sa09
>C4bs8w0MQ6M62eJ4pHnNL+7JwZOgHQVi3leVhImqZGAkM+oYfxy8oSOEtDU/SU+h
>ndz3vbXVS83UfNs4wv5tP9UpjjNFsB0B0qqeDZpkh5pWEdhJxOJ3nEp+E6PyJuhs
>sXFlplY2J96377vA1iQ9TevaoRHDK9xvmIA32yqxud2kXyf2cJPSOXLuTY4yY+1B
>FgJxW+LGJ+TilOXAe97Dpxmeq8DmAMcpJAvhScsI73slzMkJ7xVYQHPcukFv/CWo
>jiDGJlq/YRqRofW42fhk
>=vGbc
>-----END PGP SIGNATURE-----