Re: [alto] Adopting draft-kiesel-alto-xdom-disc as WG item?

Gao Kai <gaok12@mails.tsinghua.edu.cn> Sat, 16 July 2016 02:47 UTC

Return-Path: <gaok12@mails.tsinghua.edu.cn>
X-Original-To: alto@ietfa.amsl.com
Delivered-To: alto@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 18E8312B00C for <alto@ietfa.amsl.com>; Fri, 15 Jul 2016 19:47:49 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.188
X-Spam-Level:
X-Spam-Status: No, score=-3.188 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RP_MATCHES_RCVD=-1.287, SPF_HELO_PASS=-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 cek-hWexjm-R for <alto@ietfa.amsl.com>; Fri, 15 Jul 2016 19:47:44 -0700 (PDT)
Received: from tsinghua.edu.cn (smtp07.tsinghua.edu.cn [166.111.204.31]) by ietfa.amsl.com (Postfix) with ESMTP id 3213C12D1D8 for <alto@ietf.org>; Fri, 15 Jul 2016 19:47:43 -0700 (PDT)
Received: from [192.168.1.4] (unknown [59.66.206.48]) by app1 (Coremail) with SMTP id CsxvpgCnN0tLoIlXvUkZAQ--.3769S3; Sat, 16 Jul 2016 10:47:39 +0800 (CST)
To: Sebastian Kiesel <ietf-alto@skiesel.de>
References: <D3AAB578.7DF072%w.roome@alcatel-lucent.com> <20160712210913.GM3915@gw01.ehlo.wurstkaes.de> <57884A02.3000207@mails.tsinghua.edu.cn> <20160715151444.GC3919@gw01.ehlo.wurstkaes.de> <57890C88.7090305@mails.tsinghua.edu.cn> <20160715211909.GE3919@gw01.ehlo.wurstkaes.de>
From: Gao Kai <gaok12@mails.tsinghua.edu.cn>
X-Enigmail-Draft-Status: N1110
Message-ID: <5789A04B.7050205@mails.tsinghua.edu.cn>
Date: Sat, 16 Jul 2016 10:47:39 +0800
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.8.0
MIME-Version: 1.0
In-Reply-To: <20160715211909.GE3919@gw01.ehlo.wurstkaes.de>
Content-Type: multipart/alternative; boundary="------------040308070607000701060804"
X-CM-TRANSID: CsxvpgCnN0tLoIlXvUkZAQ--.3769S3
X-Coremail-Antispam: 1UD129KBjvJXoW3Aw1UKrWfWFW8Aw4kKr18AFb_yoW7Ar43pF WrKw13tFn7Jr17KF1kZ3y5KrWruF4kXFW5G398K3yYvwsxXr1vqF17KayF9FWUCFsavwn0 qw4Yv3Z8u3ZxZa7anT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnRJUUUylb7Iv0xC_Kw4lb4IE77IF4wAFF20E14v26r1j6r4UM7CY07I2 0VC2zVCF04k26cxKx2IYs7xG6rWj6s0DM7CIcVAFz4kK6r1j6r18M28lY4IEw2IIxxk0rw A2z4x0Y4vE2Ix0cI8IcVAFwI0_tr0E3s1l84ACjcxK6xIIjxv20xvEc7CjxVAFwI0_GcCE 3s1l84ACjcxK6I8E87Iv67AKxVW0oVCq3wA2z4x0Y4vEx4A2jsIEc7CjxVAFwI0_GcCE3s 1lnxkEFVAIw20F6cxK64vIFxWle2I262IYc4CY6c8Ij28IcVAaY2xG8wAv7VC0I7IYx2IY 67AKxVWUJVWUGwAv7VC2z280aVAFwI0_Jr0_Gr1lOx8S6xCaFVCjc4AY6r1j6r4UM4x0Y4 8IcVAKI48JMx8GjcxK6IxK0xIIj40E5I8CrwCYjI0SjxkI62AI1cAE67vIY487MxkIecxE wVAFwVW8JwCF04k20xvY0x0EwIxGrwC20s026c02F40E14v26r106r1rMI8I3I0E7480Y4 vE14v26r106r1rMI8E67AF67kF1VAFwI0_Jrv_JF1lIxkGc2Ij64vIr41lIxAIcVC0I7IY x2IY67AKxVWUJVWUCwCI42IY6xIIjxv20xvEc7CjxVAFwI0_Jr0_Gr1lIxAIcVCF04k26c xKx2IYs7xG6rW3Jr0E3s1lIxAIcVC2z280aVAFwI0_Jr0_Gr1lIxAIcVC2z280aVCY1x02 67AKxVWUJVW8JbIYCTnIWIevJa73UjIFyTuYvj7UU6GJUUUUU
X-CM-SenderInfo: 5jdryi2s6ptxtovo32xlqjx3vdohv3gofq/
Archived-At: <https://mailarchive.ietf.org/arch/msg/alto/1gmnGUyJVzZCXNVRNtBIbnCEzSE>
Cc: IETF ALTO <alto@ietf.org>
Subject: Re: [alto] Adopting draft-kiesel-alto-xdom-disc as WG item?
X-BeenThere: alto@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: "Application-Layer Traffic Optimization \(alto\) WG mailing list" <alto.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/alto>, <mailto:alto-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/alto/>
List-Post: <mailto:alto@ietf.org>
List-Help: <mailto:alto-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/alto>, <mailto:alto-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 16 Jul 2016 02:47:49 -0000

Hi Sebastian and all,

On 16/07/16 05:19, Sebastian Kiesel wrote:
> Hi Kai,
>
> On Sat, Jul 16, 2016 at 12:17:12AM +0800, Gao Kai wrote:
>> Hi Sebastian and all,
>>
>> On 15/07/16 23:14, Sebastian Kiesel wrote:
>>> Hi Kai and all,
>>>
>>> On Fri, Jul 15, 2016 at 10:27:14AM +0800, Gao Kai wrote:
>>>> On 13/07/16 05:09, Sebastian Kiesel wrote:
>>>>> On Tue, Jul 12, 2016 at 02:55:52PM -0400, Wendy Roome wrote:
>>>>>> My comments on draft-kiesel-alto-xdom-disc-02:
>>>>>> Section 3.2:
>>>>>>
>>>>>> If a client wants the cost from X => Y, why just do cross-domain discovery
>>>>>> on address X? Why not do it for Y instead? Or do it for both X & Y?
>>>>> This is again to cope with the not so well-defined "routingcost" metric.
>>>>>
>>>>> Our assumtion is that XDOM-DISC(X) will discover one ALTO server,
>>>>> which will be able to express costs (X,Y) and costs (X,Z) using a
>>>>> (locally) consistent routingcost metric, i.e., with the meaning that
>>>>> a lower value indicates a higher preference.
>>>>>
>>>>> If we used XDOM-DISC(Y) and XDOM-DISC(Z) we would probably discover
>>>>> two servers, which could use completely incompatible definitions.
>>>>>
>>>>>
>>>>> In other words, the example query given in sec. 11.5.1.7. of RFC 7285
>>>>> should be sent to the server yielded from XDOM-DISC(192.0.2.2).
>>>>>
>>>>> If the "srcs" list contained more than one IP address, the query
>>>>> should be split up in several queries, each containing only one
>>>>> IP address in "srcs" (but keep all in "dsts"), and each of these
>>>>> "sub-queries" would need its own call to XDOM-DISC.
>>>> I had the same question as Wendy because for me, sources and
>>>> destinations are somewhat symmetric 
>>> if src/dst and the costs between are really symmetric, it doesn't
>>> make a difference.
>>>
>>>> so it is tempting to think there
>>>> should be something like XDOM-DISC(X, Y), which might be overcomplicated
>>>> though.
>>> That would be too complicated indeed.
>> Actually my first feeling is that may be we can use XDOM-DISC(LCP(X,Y))
>> where LCP stands for longest common prefix.  This can be extended to
>> multiple addresses, for example, use the ALTO server XDOM-DISC(LCP(X, Y,
>> Z)) for both scenarios described below.
> I don't think that this idea will work in practice.  LCP(X,Y) will most
> often be outside of the in-addr.arpa. subtrees delegated to X's or Y's ISP.
> Often, LCP(X,Y) will result in 0.0.0.0/0  - we would need some
> "top-level ALTO server" or something like that?
>
> Our proposal is much easier to implement:
>
> If an IP address (or prefix) X belongs to an ISP or the IT department
> of a company/university/etc., they should know the costs from X to all 
> other destinations in the Internet and vice versa.  They can put them
> in their ALTO server, i.e., that ALTO server will be able to answer whether
> routingcost(src=X, dst=Y) > routingcost(src=X, dst=Z).
> and whether
> routingcost(src=Y, dst=X) > routingcost(src=Z, dst=X).
> They can adjust their DNS so that XDOM-DISC(X) will find this ALTO
> server.
>
> Of course, other ALTO servers operated by various parties may also know
> information related to X, but XDOM-DISC(X) points to one IRD URI
> endorsed by the ISP/operator of X.
>
>
>
> On the other hand, if you have a deployment scenario where
> XDOM-DISC(LCP(X,Y)) makes sense, we don't need any change in
> the specification of XDOM-DISC() and nobody will prevent you from
> calling XDOM-DISC with the output from LCP.
I have no intention to change the specification of XDOM-DISC, which I
think is pretty clear.  But it does occur to me that a shorter prefix
may suggest the associated ALTO server has better knowledge on queries
for end points in a larger range.
>
>>>> I think whether to use the source/destination or to split up queries
>>>> depends on the application.  If it is selecting a destination for a
>>>> given source, it certainly can choose XDOM-DISC(SRC).  If the selection
>>>> is about sources, probably XDOM-DISC(DST) is more reasonable. 
>>> I agree.  So the idea is, that we call XDOM-DISC(X), in oder to find an
>>> ALTO server that can answer both ECS queries, whether
>>>
>>> routingcost(src=X, dst=Y) > routingcost(src=X, dst=Z).
>>>
>>> and whether
>>>
>>> routingcost(src=Y, dst=X) > routingcost(src=Z, dst=X).
>>>
>>>
>>> In other words, we use the common address X that appears in all the
>>> tuples we want to compare as parameter for the XDOM-DISC.
>> Yes.  Also, I think maybe it is better to change the tone a bit with
>> "SHOULD"/"MIGHT" to indicate preferences instead of "MUST"/"HAVE TO"
>> which make it a rule, because judging the quality of ALTO services only
>> by their location is not very convincing.
> First, the whole section 3 does not use RFC2119 keywords.  Its purpose
> is to illustrate how this algorithm should be used.  Other ways of
> using XDOM-DISC are possible; nevertheless, our description should
> not become too vague.
>
> Second, what do you mean with "judging the quality of ALTO services only
> by their location is not very convincing."?
> My view on this algorithm is that those people who control the reverse
> DNS for a specific IP address or prefix X (i.e., usually an ISP or 
> IT department) can use the DNS to announce that if you want to optimize
> traffic from or to X, you should use the indicated ALTO server.
My apologies.  I once questioned ([1]) about the meaning of the IP
address used in the XDOM-DISC and how servers should register the DNS
records but it's very clear now.  I got the wrong impression because LIS
is most likely to be looking for a nearby server.
>
> Thanks
> Sebastian

Regards,
Kai

[1] https://mailarchive.ietf.org/arch/msg/alto/SbFtzE_Xen6wULDyt8Nmn5gLo28