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

"Gonzalo Salgueiro (gsalguei)" <gsalguei@cisco.com> Wed, 31 August 2016 20:49 UTC

Return-Path: <gsalguei@cisco.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 D6DAD12B063; Wed, 31 Aug 2016 13:49:56 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -15.069
X-Spam-Level:
X-Spam-Status: No, score=-15.069 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.548, SPF_PASS=-0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.com
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 m7rvCX2ZeBZU; Wed, 31 Aug 2016 13:49:55 -0700 (PDT)
Received: from alln-iport-7.cisco.com (alln-iport-7.cisco.com [173.37.142.94]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 414CC12D773; Wed, 31 Aug 2016 13:49:55 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=9062; q=dns/txt; s=iport; t=1472676595; x=1473886195; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=+DMSAU9NVZNzVzxaPXJz3ObUEyca0zVHAS2ZEvkEgE4=; b=QO9z5gWbRrRmiwg9wkyxYJfQejuLQRL0NfTOndw49S0XjfhYQph0pHip xXWiAFBs9xJ2BYj1JGYT1oMf4qR+pl6W6gTSw+Lxitt4Iet7X/b14yTRT NIUlyyeDPhoTg1ktwbeyUNwRrI5YwRuGfPyR1v/qguSRK2kTB+mEgbjlm o=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0AtAgDxQcdX/5FdJa1dg1ABAQEBAR5XfAeDQLJSgg+CAR+FfQIcgS04FAECAQEBAQEBAV4nhGEBAQQBIxE+BwULAgEIGAICIwMCAgIwFAEQAgQOBYg+CA6vMI8RAQEBAQEBAQEBAQEBAQEBAQEBAQEBHIEFhSqBeAiCTYQqgxgrgi8FhhKIEossAYYfgwGCeoMVgW2EXYkNjEiDeAEeNoJ6gTVwAQEBhWp/AQEB
X-IronPort-AV: E=Sophos;i="5.30,263,1470700800"; d="scan'208";a="317836219"
Received: from rcdn-core-9.cisco.com ([173.37.93.145]) by alln-iport-7.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 31 Aug 2016 20:49:54 +0000
Received: from XCH-RCD-009.cisco.com (xch-rcd-009.cisco.com [173.37.102.19]) by rcdn-core-9.cisco.com (8.14.5/8.14.5) with ESMTP id u7VKnsht010341 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL); Wed, 31 Aug 2016 20:49:54 GMT
Received: from xch-aln-009.cisco.com (173.36.7.19) by XCH-RCD-009.cisco.com (173.37.102.19) with Microsoft SMTP Server (TLS) id 15.0.1210.3; Wed, 31 Aug 2016 15:49:53 -0500
Received: from xch-aln-009.cisco.com ([173.36.7.19]) by XCH-ALN-009.cisco.com ([173.36.7.19]) with mapi id 15.00.1210.000; Wed, 31 Aug 2016 15:49:53 -0500
From: "Gonzalo Salgueiro (gsalguei)" <gsalguei@cisco.com>
To: Suresh Krishnan <suresh.krishnan@ericsson.com>
Thread-Topic: Suresh Krishnan's Discuss on draft-ietf-sipcore-dns-dual-stack-07: (with DISCUSS)
Thread-Index: AQHR/oPDG5fffFhK70W0JbKQU/W66A==
Date: Wed, 31 Aug 2016 20:49:53 +0000
Message-ID: <420D8F57-8B5C-4F05-9463-9ED72F02F53F@cisco.com>
References: <87k2fc7b8f.fsf@hobgoblin.ariadne.com> <39AEA207-8847-4178-8079-F31D1B50653F@cisco.com> <E87B771635882B4BA20096B589152EF643E83EF7@eusaamb107.ericsson.se>
In-Reply-To: <E87B771635882B4BA20096B589152EF643E83EF7@eusaamb107.ericsson.se>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [10.82.212.176]
Content-Type: text/plain; charset="utf-8"
Content-ID: <17D169F44259A941AFECB040AF17B53A@emea.cisco.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/sipcore/3fQmQB3a5ops7od7Rc37opzP8w0>
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: Wed, 31 Aug 2016 20:49:57 -0000

Hi Suresh - 

We’ve posted the new version.

Thanks,

Gonzalo



> On Aug 30, 2016, at 10:48 AM, Suresh Krishnan <suresh.krishnan@ericsson.com> wrote:
> 
> 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
>> 
>