Internet DRAFT - draft-fossati-core-fp-link-format-attribute

draft-fossati-core-fp-link-format-attribute






Internet Engineering Task Force                               T. Fossati
Internet-Draft                                                 KoanLogic
Intended status: Standards Track                               S. Loreto
Expires: January 10, 2013                                       Ericsson
                                                            July 9, 2012


                   Resource Discovery through Proxies
             draft-fossati-core-fp-link-format-attribute-00

Abstract

   The aim of this draft is to open a discussion on how to make it
   possible to advertise the fact that a given resource hosted by a
   server can only be reached through a specific CoAP Proxy.

   This memo proposes the definition of the "fp" (forward proxy) CoAP
   link format attribute, that can be used to inform CoAP endpoints that
   a given resource can be reached by passing through the advertising
   Proxy.

Status of this Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on January 10, 2013.

Copyright Notice

   Copyright (c) 2012 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect



Fossati & Loreto        Expires January 10, 2013                [Page 1]

Internet-Draft     Resource Discovery through Proxies          July 2012


   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.


Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . . . 3
     1.1.  Requirements Language . . . . . . . . . . . . . . . . . . . 3
   2.  Proxied Discovery Scenario  . . . . . . . . . . . . . . . . . . 3
   3.  The fp Link Format Attribute  . . . . . . . . . . . . . . . . . 4
   4.  IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 5
     4.1.  fp Attribute  . . . . . . . . . . . . . . . . . . . . . . . 5
   5.  Security Considerations . . . . . . . . . . . . . . . . . . . . 5
   6.  References  . . . . . . . . . . . . . . . . . . . . . . . . . . 6
     6.1.  Normative References  . . . . . . . . . . . . . . . . . . . 6
     6.2.  Informative References  . . . . . . . . . . . . . . . . . . 6
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . . . 6
































Fossati & Loreto        Expires January 10, 2013                [Page 2]

Internet-Draft     Resource Discovery through Proxies          July 2012


1.  Introduction

   The discovery mechanism described in [I-D.ietf-core-link-format]
   assumes cheap and pervasive multicast.  However as discussed in
   [I-D.shelby-core-resource-directory] direct discovery of resources is
   not always practical due to limitations in the underlying radio link
   (see Section 1 of [I-D.ietf-6lowpan-nd]), the absence of a multicast
   routing protocol to bridge through different links, sleeping nodes,
   disperse networks.

   The Resource Directory (RD) provides a first solution hosting
   descriptions of resources held on other servers and allowing lookups
   to be performed for those resources.  The current solution however
   does not address the scenario where the URI (of the resource of
   interest) is associated to a CoAP origin server that can only be
   accessed through a CoAP proxies either for topological and/or
   security reasons or because it is a sleepy origin server.

   Given their topological role, CoAP Proxies (Section 5.7 of
   [I-D.ietf-core-coap]) can be used effectively to address the above
   mentioned scenarios.  However, in order to achieve this capability,
   the fact that a given resource is made available through a proxy must
   be made explicit to consuming endpoints, so that they can use the
   Proxy-Uri Option to dereference the final target.

   This memo defines the "fp" (forward proxy) CoAP link format
   attribute, that can be used to inform CoAP endpoints that a given
   resource can be reached by passing through the advertising Proxy.

1.1.  Requirements Language

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in [RFC2119].


2.  Proxied Discovery Scenario

   Consider the scenario depicted in Figure 1.  Two separate CoAP links
   are proxied by P. Node A hosts resource /res of type "x", and P knows
   it -- either through explicit or implicit mechanism (e.g. previous
   discovery on the local link, or a co-located RD, etc.)









Fossati & Loreto        Expires January 10, 2013                [Page 3]

Internet-Draft     Resource Discovery through Proxies          July 2012


                                |         |
            </res>;rt="x" (A)---+         |
                                |         |
                                +---(P)---+
                                |         |
                                |         +---(B)
                                |         |

                                 Figure 1

   We would like to allow B to discover that A hosts a resource with
   type "x" even if A can't be directly reached by B.

   P may in principle let this information filter from one link to the
   other, but given the mechanisms currently defined for the discovery
   via /.well-known/core (Section 2.1 of [I-D.ietf-core-link-format]),
   there is no way for a consuming node to ascertain that an advertised
   link is to be accessed through a given forward Proxy or by a direct
   route.

   We may choose to use the anchor parameter in the link and define a
   new relation name to express the "proxied by" relation, but this may
   actually have zero chance to succeed because of the freedom left to a
   consuming node to actually ignore anchored links (Section 2.3 of
   [I-D.ietf-core-link-format]).


3.  The fp Link Format Attribute

   The proposed solution, instead, envisages a new link format
   attribute, "fp" that is added by the Proxy to the original set of
   attributes of the linked resource to inform the requesting endpoint
   that the advertised (absolute) URI must be requested to the
   advertising Proxy using the Proxy-URI Option, as illustrated in
   Figure 2.  The "fp" link format attribute MAY be set to the Proxy IP
   address.

   When advertised on a link different from the one on which it resides,
   the original resource link SHALL be transformed by the Proxy into an
   absolute URI that can be used as-is in a Proxy-Uri Option by the
   requesting node.










Fossati & Loreto        Expires January 10, 2013                [Page 4]

Internet-Draft     Resource Discovery through Proxies          July 2012


       P      B
       |      |
       |<-----' Uri-Path: .well-known
       |  GET | Uri-Path: core
       |      | Uri-Query: rt=x
       |      |
       `----->| Content-Type: link-format
       | 2.05 | payload: <coap://A/res>;rt="x";fp="proxy IP address"

                                 Figure 2

   Note that in case the "fp" attribute is present, the URI-Reference in
   the link-value [RFC5988] MUST always be a URI and not a relative-ref
   [RFC3986].

   The forwarding path to /res is now set up, and B can reach it through
   P using the Proxy-Uri Options as follows:

                  A      P      B
                  |      |      |
                  |      |<-----' Proxy-Uri: coap://A/res
                  |      |  GET |
                  |<-----'      | Uri-Path: res
                  |  GET |      |
                  |      |      |
                  `----->|      |
                  | 2.05 |      |
                  |      `----->|
                  |      | 2.05 |


4.  IANA Considerations

4.1.  fp Attribute

   This section defines a new Web Linking [RFC5988] attribute for use
   with [I-D.ietf-core-link-format].  The "fp" (forward proxy) CoAP link
   format attribute, that can be used by Proxy nodes to inform CoAP
   endpoints that a given resource can be reached by passing through the
   advertising Proxy.


5.  Security Considerations

   The mechanism specified in this document shares the same security
   concerns as the discovery process described in
   [I-D.ietf-core-link-format].




Fossati & Loreto        Expires January 10, 2013                [Page 5]

Internet-Draft     Resource Discovery through Proxies          July 2012


   Especially critical to the CoAP network consistency, is the fact that
   in NoSec mode a malicious attacker could poison the response of a
   query to the /.well-known/core in order to re-route traffic.


6.  References

6.1.  Normative References

   [I-D.ietf-core-coap]
              Shelby, Z., Hartke, K., Bormann, C., and B. Frank,
              "Constrained Application Protocol (CoAP)",
              draft-ietf-core-coap-10 (work in progress), June 2012.

   [I-D.ietf-core-link-format]
              Shelby, Z., "CoRE Link Format",
              draft-ietf-core-link-format-13 (work in progress),
              May 2012.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC3986]  Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform
              Resource Identifier (URI): Generic Syntax", STD 66,
              RFC 3986, January 2005.

   [RFC5988]  Nottingham, M., "Web Linking", RFC 5988, October 2010.

6.2.  Informative References

   [I-D.ietf-6lowpan-nd]
              Shelby, Z., Chakrabarti, S., and E. Nordmark, "Neighbor
              Discovery Optimization for Low Power and Lossy Networks
              (6LoWPAN)", draft-ietf-6lowpan-nd-18 (work in progress),
              October 2011.

   [I-D.shelby-core-resource-directory]
              Krco, S. and Z. Shelby, "CoRE Resource Directory",
              draft-shelby-core-resource-directory-02 (work in
              progress), October 2011.











Fossati & Loreto        Expires January 10, 2013                [Page 6]

Internet-Draft     Resource Discovery through Proxies          July 2012


Authors' Addresses

   Thomas Fossati
   KoanLogic
   Via di Sabbiuno, 11/5
   Bologna  40100
   Italy

   Email: tho@koanlogic.com


   Salvatore Loreto
   Ericsson
   Hirsalantie 11
   Jorvas  02420
   Finland

   Email: salvatore.loreto@ericsson.com

































Fossati & Loreto        Expires January 10, 2013                [Page 7]