[CDNi] redirect target capability object

Ori Finkelman <orif@qwilt.com> Sun, 15 April 2018 15:07 UTC

Return-Path: <orif@qwilt.com>
X-Original-To: cdni@ietfa.amsl.com
Delivered-To: cdni@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 696DA1270B4 for <cdni@ietfa.amsl.com>; Sun, 15 Apr 2018 08:07:38 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.65
X-Spam-Level:
X-Spam-Status: No, score=-1.65 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, HTML_OBFUSCATE_05_10=0.26, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, T_DKIMWL_WL_MED=-0.01] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=qwilt-com.20150623.gappssmtp.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 Jk626vhBp_WN for <cdni@ietfa.amsl.com>; Sun, 15 Apr 2018 08:07:33 -0700 (PDT)
Received: from mail-yb0-x22f.google.com (mail-yb0-x22f.google.com [IPv6:2607:f8b0:4002:c09::22f]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 65966127275 for <cdni@ietf.org>; Sun, 15 Apr 2018 08:07:33 -0700 (PDT)
Received: by mail-yb0-x22f.google.com with SMTP id c10-v6so6204074ybn.7 for <cdni@ietf.org>; Sun, 15 Apr 2018 08:07:33 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qwilt-com.20150623.gappssmtp.com; s=20150623; h=mime-version:from:date:message-id:subject:to:cc; bh=lvIBGnMQO0FramtVn+YOpqPXf5r2ESo3ZquwAuC8lqw=; b=RtxCpIFCEQ92AxX28XmJlcRDxm1uGgpUTNl2MTRDBWhsb76gSUHi1TiF0VcnQXm/Kh LJsDu7TOCv8p8yuEjam6E1qD+61Yi3sGYqaD99rv2VDvHYp//xkUeRKUit64sXR/6SDh +ZZ0DSUt8TJy/yvmkWApEuKWDKUvLA/day24A63oe8hmqxynmJ0UOcLX1OIRshRYbBZO WI0wRWPmJZv3YgH6c+2xbSuv7TMTLmjU9Lv/jVQHNuBBin6QRjOclcrNO3fTJhQZikyO Iw+K571DQTLlxpoiWOmzeVpcz0x0MEDQ5k2GesurWRJCP4ta5lueRNe54+6XIyDZStfb IMYw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to:cc; bh=lvIBGnMQO0FramtVn+YOpqPXf5r2ESo3ZquwAuC8lqw=; b=jbTXEFTmi13ki4HCYAgxAwATdzmB1wcy9HBhi7RnlApsIdkR1W5WHUFnhDRPnBnEPi d4XNMYRPNaekI4syHAoUz7y654zjs3DdXp4W6S+KDoEu7BSgElZMd73vUIjGywm9aC8q qElQARt5UavybRQ6Z0KOU8xax3H41jCwGq9RsMn+HVZZ+EtysybZERUdQfW/hd8aXvLY l+cd21a0h+cuBrOKVSE9Ls3ederhuNLcOjH4GP7N5B2U8J22mp+XRZ340GLotonGnCek rtugsrwiLZu6vjOSuBk6bjat5PaVg+hvev8qcUEY3yjTJLucnI5J+3dF4jVpWcaVrQHA Hdxg==
X-Gm-Message-State: ALQs6tBT2INnafAHcayNAcTBa5hEHMsB0XfDnT3hiSrFk6EeHWO7jMHQ cfVlcekUDz5zLI3Wm69AaTF7qHe8leoytX28gTDKlg==
X-Google-Smtp-Source: AIpwx4/w0JPfbw3ZFiRakI2sSWkAaToIpZy/pcNIPCINEtGbctgoDZJ/U4nrDqd7g1YdESYQrd4lper0twjPlgoa3EU=
X-Received: by 2002:a25:c9c7:: with SMTP id z190-v6mr9042396ybf.402.1523804852414; Sun, 15 Apr 2018 08:07:32 -0700 (PDT)
MIME-Version: 1.0
Received: by 2002:a25:d38b:0:0:0:0:0 with HTTP; Sun, 15 Apr 2018 08:07:01 -0700 (PDT)
From: Ori Finkelman <orif@qwilt.com>
Date: Sun, 15 Apr 2018 18:07:01 +0300
Message-ID: <CAMb9nTv7r6eTpTqT2v2=EJmLQjL7=aYN_rHjCS16Gtpo9woiSA@mail.gmail.com>
To: Ben Niven-Jenkins <ben@niven-jenkins.co.uk>
Cc: "<cdni@ietf.org>" <cdni@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000ef81a60569e476b3"
Archived-At: <https://mailarchive.ietf.org/arch/msg/cdni/hwX540rFdq1966hS3F-2-3Sm4y8>
Subject: [CDNi] redirect target capability object
X-BeenThere: cdni@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: "This list is to discuss issues associated with the Interconnection of Content Delivery Networks \(CDNs\)" <cdni.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/cdni>, <mailto:cdni-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/cdni/>
List-Post: <mailto:cdni@ietf.org>
List-Help: <mailto:cdni-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/cdni>, <mailto:cdni-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 15 Apr 2018 15:07:38 -0000

[renames thread. this thread discusses the redirect target capability
object proposed in  draft-finkelman-cdni-rr-sva-extensions-00.txt]

Hi,
Here is my proposal for the fixed redirect target object.
Comments are within the JSON object for clarity.
A few points for discussion below the object.

 {
     "capabilities": [
       {
         "capability-type": "FCI.RedirectTarget",
         "capability-value": {
     "ucdn-hosts": [ endpoints ],

# a list of uCDN hosts that this redirect target applies to
# a ucdn-host is a host which is mapped to a specific metadata HostMatch
object
# the ucdn-hosts is optional. The default is this target for redirect of
all services of the uCDN

             "dns-target": {
     "host" :"<endpoint>"
# a host name, used for CNAME redirect from uCDN to dCDN
# I have allowed a single host here rather than an array as I don't see the
case of allowing the uCDN to choose to which dCDN target to redirect the
traffic. Load balancing should be done within the dCDN by other means.
     },
# the dns-target is optional, but either dns-target or http-target MUST be
present and non-empty
 "http-target": {
     "host" : "<endpoint>",
# a hostname use for the HTTP redirect from uCDN to dCDN. Mandatory
# I have allowed a single host here rather than an array as I don't see the
case of allowing the uCDN to choose to which dCDN target to redirect the
traffic. Load balancing should be done within the dCDN by other means.
     "path-prefix": "<path>"
# path prefix for the HTTP redirect. the original path is appended after
this prefix.
# optional. the default is for the uCDN to prepend the uCDN host, as it
appears in the HostMatch metadata object, as the first path segment.
     }
         },
# the http-target is optional, but either dns-target or http-target MUST be
present and non-empty
         "footprints": [
           <Footprint objects>
         ]
       }
     ]
    }


*Discussion points*
1. Single or multiple targets - we have tried to find a use case in which
it is beneficial for the uCDN to be aware of multiple targets for a given
footprint, and I couldn't find such. Therefore I have enabled a single
target rather than an array. Would be good to get feedback about this.

2. I am using the endpoint object which is defined in
https://tools.ietf.org/html/rfc8006#section-4.3.3 however, this allows
using a dotted IP notation, which is not relevant in most of the cases, for
example it can't be used for CNAME delegation. Still I don't think this
calls for definition of a new object that will allow only FQDN ? thoughts ?

3. We need clear definition of how to use the path-prefix. Here is an
initial proposal
+ If path-prefix is not present, the uCDN should set it's own hostname, as
appears int he ucdn-hosts field, and the respective metadata HostMatch
object, as the fast path segment.
+ If path-prefix is present and not empty, the uCDN should use ONLY this
path prefix.
+ If path-prefix is present but empty, the uCDN should not prepend any
prefix and use it's own content path as is.

Thanks,
Ori


On Sun, Apr 15, 2018 at 4:18 PM, Ori Finkelman <orif@qwilt.com> wrote:

> Hi,
> Here is my proposal for the fixed redirect target object.
> Comments are within the JSON object for clarity.
> A few points for discussion below the object.
>
>  {
>      "capabilities": [
>        {
>          "capability-type": "FCI.RedirectTarget",
>          "capability-value": {
>      "ucdn-hosts": [ endpoints ],
>
> # a list of uCDN hosts that this redirect target applies to
> # a ucdn-host is a host which is mapped to a specific metadata HostMatch
> object
> # the ucdn-hosts is optional. The default is this target for redirect of
> all services of the uCDN
>
>              "dns-target": {
>      "host" :"<endpoint>"
> # a host name, used for CNAME redirect from uCDN to dCDN
> # I have allowed a single host here rather than an array as I don't see
> the case of allowing the uCDN to choose to which dCDN target to redirect the
> traffic. Load balancing should be done within the dCDN by other means.
>      },
> # the dns-target is optional, but either dns-target or http-target MUST
> be present and non-empty
>  "http-target": {
>      "host" : "<endpoint>",
> # a hostname use for the HTTP redirect from uCDN to dCDN. Mandatory
> # I have allowed a single host here rather than an array as I don't see
> the case of allowing the uCDN to choose to which dCDN target to redirect the
> traffic. Load balancing should be done within the dCDN by other means.
>      "path-prefix": "<path>"
> # path prefix for the HTTP redirect. the original path is appended after
> this prefix.
> # optional. the default is for the uCDN to prepend the uCDN host, as it
> appears in the HostMatch metadata object, as the first path segment.
>      }
>          },
> # the http-target is optional, but either dns-target or http-target MUST
> be present and non-empty
>          "footprints": [
>            <Footprint objects>
>          ]
>        }
>      ]
>     }
>
>
> *Discussion points*
> 1. Single or multiple targets - we have tried to find a use case in which
> it is beneficial for the uCDN to be aware of multiple targets for a given
> footprint, and I couldn't find such. Therefore I have enabled a single
> target rather than an array. Would be good to get feedback about this.
>
> 2. I am using the endpoint object which is defined in
> https://tools.ietf.org/html/rfc8006#section-4.3.3 however, this allows
> using a dotted IP notation, which is not relevant in most of the cases, for
> example it can't be used for CNAME delegation. Still I don't think this
> calls for definition of a new object that will allow only FQDN ? thoughts ?
>
> 3. We need clear definition of how to use the path-prefix. Here is an
> initial proposal
> + If path-prefix is not present, the uCDN should set it's own hostname, as
> appears int he ucdn-hosts field, and the respective metadata HostMatch
> object, as the fast path segment.
> + If path-prefix is present and not empty, the uCDN should use ONLY this
> path prefix.
> + If path-prefix is present but empty, the uCDN should not prepend any
> prefix and use it's own content path as is.
>
>
>
> Thanks,
> Ori
>
>
> On Mon, Mar 26, 2018 at 12:12 PM, Ori Finkelman <orif@qwilt.com> wrote:
>
>> Hi Ben, all,
>> Took me some time to get back to this.
>>
>> A few questions regarding your proposal.
>>
>>
>> Your proposal splits between dns-targets and http-targets, which make
>> sense.
>> However this makes me think that we should be more flexible and instead
>> of using the method name prepended to the "-target" we could have a
>> separate field indicating which type of redirection mode it applies to,
>> choosing from redirection modes  available in https://tools.ietf.org/html
>> /rfc8008#section-6.2 ) (i.e DNS-I, DNS-R, HTTP-I, HTTP-R etc.)
>>
>>
>> The object you have defined relates the <host/FQDN> to the dns targets,
>> but not to the http-targets. Wouldn't it be more flexible to allow this
>> also for the http-targets, and by that enabling different dCDN host names
>> for different services also in HTTP redirect ?
>> I am not quite sure about this, as the mapping for services in HTTP
>> redirection is supposed to work by putting the uCDN host name as the first
>> path segment in the dCDN path, as proposed in https://tools.ietf.org/html
>> /rfc7336#section-3.2
>> However, maybe there are use cases in which it would be beneficial to set
>> the dCDN target address per the uCDN host name ? I am looking for feedback
>> / ideas about this.
>>
>>
>> As for the uri-prefixes, I think that is a good idea. Did you meant the
>> uri-prefixes for http-targets should include the endpoints with them (e.g.
>> http://<host>/<path-prexif>) as you have removed the endpoints fields ?
>>
>>
>> Thanks,
>> Ori
>>
>>
>>
>>
>>
>>
>>
>> On Tue, Mar 6, 2018 at 5:31 PM, Ben Niven-Jenkins <
>> ben@niven-jenkins.co.uk> wrote:
>>
>>> Hi Ori & Sanjay
>>>
>>> I read your draft and I am not sure the objects you define contain
>>> sufficient information for the Footprint & Capabilities use case you have.
>>>
>>> My understanding is that you want a dCDN to advertise its request router
>>> address(es) by geography.
>>>
>>> The FCI object you define does not provide a mapping between the FQDN
>>> the client is requesting and the name/URI the dCDN would like that FQDN to
>>> be redirected to.
>>>
>>> With DNS redirection the uCDN needs to know what CNAME to return to the
>>> client’s DNS resolver and the dCDN’s request router needs to use a
>>> different CNAME per “CDN service” so it can look up the appropriate
>>> metadata for that “CDN service”.
>>>
>>> With HTTP redirection, what you have works if you assume a static
>>> mapping between the URI the client requests from the uCDN and the
>>> redirection URI in the dCDN, although I wonder if having the dCDN advertise
>>> a URI prefix explicitly might be better to provide the dCDN some choice in
>>> what mapping it uses.
>>>
>>> Therefore I think you need to change your object from:
>>>
>>> "target-addresses": [ { “endpoints": [] } ]
>>>
>>> to something that also includes the host/FQDN the client will use in its
>>> request to the uCDN, e.g.:
>>>
>>> “hosts": { “<host/FQDN>”: { "dns-targets": [ { “endpoints”: [] } ] },
>>> “http-targets": [ { “uri-prefixes”: [] } }
>>>
>>> Regards
>>> Ben
>>>
>>>
>>>
>>> On 12 Feb 2018, at 14:32, Ori Finkelman <orif@qwilt.com> wrote:
>>>
>>> Dear Colleagues,
>>> Please see the new draft for the SVA request routing extensions.
>>>
>>> Best regards,
>>> Ori
>>>
>>>
>>> ---------- Forwarded message ----------
>>> From: <internet-drafts@ietf.org>
>>> Date: Mon, Feb 12, 2018 at 4:30 PM
>>> Subject: New Version Notification for draft-finkelman-cdni-rr-sva-ex
>>> tensions-00.txt
>>> To: Sanjay Mishra <sanjay.mishra@verizon.com>, Ori Finkelman <
>>> orif@qwilt.com>
>>>
>>>
>>>
>>> A new version of I-D, draft-finkelman-cdni-rr-sva-extensions-00.txt
>>> has been successfully submitted by Ori Finkelman and posted to the
>>> IETF repository.
>>>
>>> Name:           draft-finkelman-cdni-rr-sva-extensions
>>> Revision:       00
>>> Title:          CDNI SVA Request Routing Extensions
>>> Document date:  2018-02-12
>>> Group:          Individual Submission
>>> Pages:          9
>>> URL:            https://www.ietf.org/internet-
>>> drafts/draft-finkelman-cdni-rr-sva-extensions-00.txt
>>> Status:         https://datatracker.ietf.org/
>>> doc/draft-finkelman-cdni-rr-sva-extensions/
>>> Htmlized:       https://tools.ietf.org/html/d
>>> raft-finkelman-cdni-rr-sva-extensions-00
>>> Htmlized:       https://datatracker.ietf.org/
>>> doc/html/draft-finkelman-cdni-rr-sva-extensions-00
>>>
>>>
>>> Abstract:
>>>    The Open Caching working group of the Streaming Video Alliance is
>>>    focused on the delegation of video delivery requests from commercial
>>>    CDNs to a caching layer at the ISP.  In that aspect, Open Caching is
>>>    a specific use case of CDNI, where the commercial CDN is the upstream
>>>    CDN (uCDN) and the ISP caching layer is the downstream CDN (dCDN).
>>>
>>>
>>>
>>>
>>>
>>> Please note that it may take a couple of minutes from the time of
>>> submission
>>> until the htmlized version and diff are available at tools.ietf.org.
>>>
>>> The IETF Secretariat
>>>
>>>
>>>
>>>
>>> --
>>>
>>> *Ori Finkelman*Qwilt | Work: +972-72-2221647 <072-222-1647> | Mobile:
>>> +972-52-3832189 <052-383-2189> | orif@qwilt.com
>>> _______________________________________________
>>> CDNi mailing list
>>> CDNi@ietf.org
>>> https://www.ietf.org/mailman/listinfo/cdni
>>>
>>>
>>>
>>
>>
>> --
>>
>> *Ori Finkelman*Qwilt | Work: +972-72-2221647 | Mobile: +972-52-3832189 |
>> orif@qwilt.com
>>
>
>
>
> --
>
> *Ori Finkelman*Qwilt | Work: +972-72-2221647 | Mobile: +972-52-3832189 |
> orif@qwilt.com
>



-- 

*Ori Finkelman*Qwilt | Work: +972-72-2221647 | Mobile: +972-52-3832189 |
orif@qwilt.com