Re: [sipcore] Suresh Krishnan's Discuss on draft-ietf-sipcore-dns-dual-stack-07: (with DISCUSS)

Suresh Krishnan <suresh.krishnan@ericsson.com> Tue, 30 August 2016 14:59 UTC

Return-Path: <suresh.krishnan@ericsson.com>
X-Original-To: sipcore@ietfa.amsl.com
Delivered-To: sipcore@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id DCE1412D5FB; Tue, 30 Aug 2016 07:59:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.202
X-Spam-Level:
X-Spam-Status: No, score=-4.202 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id HWhwuUeAGfGP; Tue, 30 Aug 2016 07:59:06 -0700 (PDT)
Received: from usplmg20.ericsson.net (usplmg20.ericsson.net [198.24.6.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 9FC6612D907; Tue, 30 Aug 2016 07:52:54 -0700 (PDT)
X-AuditID: c618062d-980fb98000000a08-15-57c59f2b289e
Received: from EUSAAHC004.ericsson.se (Unknown_Domain [147.117.188.84]) by (Symantec Mail Security) with SMTP id B5.0D.02568.B2F95C75; Tue, 30 Aug 2016 16:58:51 +0200 (CEST)
Received: from EUSAAMB107.ericsson.se ([147.117.188.124]) by EUSAAHC004.ericsson.se ([147.117.188.84]) with mapi id 14.03.0301.000; Tue, 30 Aug 2016 10:48:19 -0400
From: Suresh Krishnan <suresh.krishnan@ericsson.com>
To: "Gonzalo Salgueiro (gsalguei)" <gsalguei@cisco.com>
Thread-Topic: Suresh Krishnan's Discuss on draft-ietf-sipcore-dns-dual-stack-07: (with DISCUSS)
Thread-Index: AQHR+liDPs9b1GwnaEqwCt9fLb9v3w==
Date: Tue, 30 Aug 2016 14:48:18 +0000
Message-ID: <E87B771635882B4BA20096B589152EF643E83EF7@eusaamb107.ericsson.se>
References: <87k2fc7b8f.fsf@hobgoblin.ariadne.com> <39AEA207-8847-4178-8079-F31D1B50653F@cisco.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [147.117.188.12]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrFLMWRmVeSWpSXmKPExsUyuXRPiK72/KPhBm1HNC32/F3EbvH1nKLF 3Cl+FjP+TGS26P28kNni649NbA5sHlN+b2T1WLLkJ5PHrJ1PWAKYo7hsUlJzMstSi/TtErgy vm28zV6w0qzifeM9xgbGnTpdjBwcEgImEi19ZV2MXBxCAhsYJZ4s2ccG4SxnlJjxZj9TFyMn BxtQ0Yadn8FsEQFziT2/W8CKmAXeMkqsvH+IGSQhLJAgcfv7CzaQqSICiRJL+2Uh6vUkTl/u BSthEVCV+P6miw3E5hXwlej538ECYgsJpErcOXkcrIZRQEzi+6k1YLuYBcQlbj2ZD2ZLCAhI LNlznhnCFpV4+fgfK4StJDHn9TVmiHodiQW7P7FB2NoSyxa+ZobYJShxcuYTlgmMIrOQjJ2F pGUWkpZZSFoWMLKsYuQoLS7IyU03MtjECIyRYxJsujsY70/3PMQowMGoxMOrUHEkXIg1say4 MvcQowQHs5II77c5R8OFeFMSK6tSi/Lji0pzUosPMUpzsCiJ84o9UgwXEkhPLEnNTk0tSC2C yTJxcEo1MHabZfroKadP3bJK2ka4ufnSodi+ha9Lbd6cKFJ1O+rZ577h4/c5n6XTHD17pE86 r4iQ+5y6tGSqO8ualE9fOWT0n8b9kQwMjG0o090ltOR+VumaeRV2fDuz7fmaXgTvLt5fN7Ha pHSXtvn/WwlXly4utZ/3P5rxk+BLjuxt308UxCx5fmiDmRJLcUaioRZzUXEiABZr3taNAgAA
Archived-At: <https://mailarchive.ietf.org/arch/msg/sipcore/vFS0es7NIAVNVN73ll1brWa7Gm4>
Cc: SIPCORE <sipcore@ietf.org>, "draft-ietf-sipcore-dns-dual-stack@ietf.org" <draft-ietf-sipcore-dns-dual-stack@ietf.org>, The IESG <iesg@ietf.org>, "sipcore-chairs@ietf.org" <sipcore-chairs@ietf.org>
Subject: Re: [sipcore] Suresh Krishnan's Discuss on draft-ietf-sipcore-dns-dual-stack-07: (with DISCUSS)
X-BeenThere: sipcore@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: SIP Core Working Group <sipcore.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/sipcore>, <mailto:sipcore-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/sipcore/>
List-Post: <mailto:sipcore@ietf.org>
List-Help: <mailto:sipcore-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/sipcore>, <mailto:sipcore-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 30 Aug 2016 14:59:08 -0000

Hi Gonzalo,
   Looks good to me. I will clear once the new rev hits.

Thanks
Suresh

Gonzalo Salgueiro (gsalguei) wrote:
> Hi Suresh -
>
>
> Just following up on this.  The updated draft (-08) attempts to address your
> DISCUSS.  You can see the diffs here:
>
> https://www.ietf.org/rfcdiff?url1=draft-ietf-sipcore-dns-dual-stack-07&url2=http://svn.resiprocate.org/rep/ietf-drafts/worley/draft-ietf-sipcore-dns-dual-stack-08.txt
>
> and the entire current draft can be found here:
>
> http://svn.resiprocate.org/rep/ietf-drafts/worley/draft-ietf-sipcore-dns-du=
> al-stack-08.txt
> <http://svn.resiprocate.org/rep/ietf-drafts/worley/draft-ietf-sipcore-dns-dual-stack-08.txt>
>
> Once you confirm your points are addressed we will publish the -08 version.
>
> Thanks,
>
> Gonzalo
>
>
>> On Aug 19, 2016, at 4:30 PM, Dale R. Worley <worley@ariadne.com
>> <mailto:worley@ariadne.com>> wrote:
>>
>> "Suresh Krishnan" <suresh.krishnan@ericsson.com
>> <mailto:suresh.krishnan@ericsson.com>> writes:
>>> * Section 3.1
>>>
>>> It is not clear to me what exactly the normative addendum is requiring
>>> the client to do as regards to the DNS query while implementing "The
>>> dual-stack client SHOULD look up all address records". Does this mean
>>> that the client should do a AAAA (28) query followed by (or in parallel
>>> or preceded ) for a A (1) query? I think it would be good to clarify the
>>> types and ordering/concurrency of the queries.
>>
>> Given that the responses to DNS queries do not depend on the order in
>> which they are done, it seems to me that the only necessity is to
>> specify that the client must do both A and AAAA queries.
>>
>> In regard to the specific record types, one of our goals was that the
>> wording should be robust to the possibility of additional address
>> families being created.  Thus we used the wording
>>
>>      The dual-stack client SHOULD look up all address records [...] for
>>      all address family(ies) that it supports [...] for the domain name
>>      and add the resulting addresses to the list of IP addresses to be
>>      contacted.
>>
>> Assuming that the client supports exactly IPv4 and IPv6, the queries to
>> obtain address records for those families are A and AAAA.  I don't see
>> that the text can be interpreted in a different way.
>>
>>> * Section 4
>>>
>>> I am a bit puzzled by the merging of the address lists from two separate
>>> DNS queries in relation to RFC6724. This is how I see the destination
>>> address selection in RFC6724. The application ends up calling some kind
>>> of name resolution API (something like getaddrinfo()) with a
>>> hostname/FQDN (say sip-1.example.com <http://sip-1.example.com>) and this
>>> results in a set of
>>> addresses being returned. The destination address selection algorithm
>>> specified in Section 6 of RFC6724 then orders these addresses and picks
>>> one. I am not seeing how the second FQDN and its associated set of
>>> addresses become involved in the RFC6724 process. Is this something that
>>> you are adding on top of RFC6724? Please clarify.
>>
>> One way of looking at it is that the full process of resolving the
>> server's address is the process for SRV records (RFC 2782) on top of the
>> destination address selection process (RFC 6724).  You've identified
>> that correctly.
>>
>> The full process is fairly complicated, and the full documentation
>> involves the interaction of RFC 3263, RFC 2782, and RFC 6724.  But
>> restricting our attention to the case in question:
>>
>> - The SRV records for domain name in the destination SIP URL are looked
>>  up.  (RFC 3263)
>>
>> - Depending on the priority and weight fields (and the randomization
>>  implied by them!), the "target" domain names of the SRV records are
>>  listed in a particular order.  (RFC 2782)
>>
>> The case in question is when there are more than one SRV records for the
>> destination domain name, and hence more than one target domain name.
>>
>> - Each of those target domain names is expanded into a group of IPv4 and
>>  IPv6 addresses by looking up the A and AAAA records for the name.  Each
>>  group is sorted by the destination selection algorithm.  (This can be
>>  accomplished by calling getaddrinfo() on the target domain name.)
>>  (RFC 6724)
>>
>> - The sorted groups of addresses for the target domain names are
>>  concatenated in the order of the target domain names.
>>
>> The crucial point here is that the destination selection reordering is
>> only within the groups that result from the target domain names of the
>> SRVs -- The whole algorithm is a two-field sort with the "major" sort
>> being done by the SRV algorithm and the "minor" sort being done by
>> destination selection.
>>
>> The original RFC 3263 specification describes the first two steps, but
>> presumes that the third step does not explicitly sort the addresses that
>> are obtained for the target domain name.  As a general rule, people who
>> have digested the rules of RFC 3263 agree that the "naturally correct"
>> way to incorporate destination selection (now that it exists for IPv6)
>> is to expand the third step to include that sortation -- and,
>> critically, that destination selection cannot reorder two addresses
>> between groups that derive from different target domain names.
>>
>> The purpose of section 4 is to make that understanding normative.
>>
>> Now, comparing what I have written here with the text in section 4, I
>> see that section 4 does not make explicit the ordered list of target
>> domain names from the SRV records.  And I can see that if the reader is
>> not thoroughly familiar with RFC 3263, that makes the overall process
>> significantly less clear, because it doesn't make step 2 above explicit.
>>
>> I've updated the draft -08 to show the list of target domain names.
>> You can see the difference in
>> https://www.ietf.org/rfcdiff?url1=draft-ietf-sipcore-dns-dual-stack-07&url2=http://svn.resiprocate.org/rep/ietf-drafts/worley/draft-ietf-sipcore-dns-dual-stack-08.txt
>> and the entire current draft in
>> http://svn.resiprocate.org/rep/ietf-drafts/worley/draft-ietf-sipcore-dns-dual-stack-08.{txt,html}
>>
>> Dale
>