Skip to main content

CLUE protocol
draft-ietf-clue-protocol-09

The information below is for an old version of the document.
Document Type
This is an older version of an Internet-Draft that was ultimately published as RFC 8847.
Authors Roberta Presta , Simon Pietro Romano
Last updated 2016-08-13
Replaces draft-presta-clue-protocol
RFC stream Internet Engineering Task Force (IETF)
Formats
Reviews
Additional resources Mailing list discussion
Stream WG state WG Document
Document shepherd Paul Kyzivat
IESG IESG state Became RFC 8847 (Experimental)
Consensus boilerplate Unknown
Telechat date (None)
Responsible AD (None)
Send notices to "Daniel C. Burnett" <danielcburnett@gmail.com>, "Paul Kyzivat" <pkyzivat@alum.mit.edu>
draft-ietf-clue-protocol-09
IPv6 maintenance Working Group (6man)                            F. Gont
Internet-Draft                                    SI6 Networks / UTN-FRH
Updates: 6564 (if approved)                                       W. Liu
Intended status: Standards Track                     Huawei Technologies
Expires: August 4, 2014                                 January 31, 2014

                    IPv6 Universal Extension Header
           draft-gont-6man-ipv6-universal-extension-header-00

Abstract

   This document analyzes a problem in the Uniform Format for IPv6
   Extension Headers specified in RFC 6564, which results in forwarding
   nodes and middle-boxes not being able to process an IPv6 Header Chain
   if it contains an unrecognized IPv6 Extension Header that follows the
   aforementioned Uniform Format.  Additionally, it specifies a new IPv6
   Extension Header - the Universal Extension Header - that overcomes
   the aforementioned problem, and enables the extensibility of IPv6
   without impairing middleboxes that need to process the entire IPv6
   Header Chain.  Finally, this document formally updates RFC 6564

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 August 4, 2014.

Copyright Notice

   Copyright (c) 2014 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

Gont & Liu               Expires August 4, 2014                 [Page 1]
Internet-Draft         Universal Extension Header           January 2014

   carefully, as they describe your rights and restrictions with respect
   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  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . .   3
   3.  Problem Statement . . . . . . . . . . . . . . . . . . . . . .   3
   4.  Updating RFC 6564 . . . . . . . . . . . . . . . . . . . . . .   3
   5.  Operation of the Universal Extension Header . . . . . . . . .   4
   6.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   5
   7.  Security Considerations . . . . . . . . . . . . . . . . . . .   5
   8.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .   5
   9.  Contributors  . . . . . . . . . . . . . . . . . . . . . . . .   5
   10. References  . . . . . . . . . . . . . . . . . . . . . . . . .   5
     10.1.  Normative References . . . . . . . . . . . . . . . . . .   5
     10.2.  Informative References . . . . . . . . . . . . . . . . .   6
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   6

1.  Introduction

   There has recently been a lot of work about IPv6 Extension Headers.
   Firstly, there has been research about the extent to which IPv6
   Extension Headers are dropped in the public Internet [GONT-IEPG], and
   debate about the motivation behind such policy
   [I-D.taylor-v6ops-fragdrop].  Secondly, there has been a fair share
   of work to improve some technicalities of IPv6 Extension Headers
   [I-D.ietf-6man-oversized-header-chain] [RFC7045], in the hopes that
   they can be reliably used in the public Internet.

   A key challenge for IPv6 Extension Headers to be "usable" in the
   public Internet is that they should not impair any middle-box's
   ability to inspect the upper layer header (e.g., TCP source and
   destination ports, etc.).  One of the steps in that direction has
   been the specification of a Uniform Format for IPv6 Extension Headers
   [RFC6564], which is meant to be employed by any IPv6 Extension
   Headers that might be defined in the future, such that middle-boxes
   can still process the entire IPv6 header chain if the new extension
   headers employ the Uniform Format.

   Section 3 discusses a flaw in the Uniform Format for Extension
   Headers specified in [RFC6564].  Section 4 formally updates
   [RFC6564], specifying the new Universal Extension Header (UEH).
   Section 5 explains how new IPv6 would be developed with the UEH.

Gont & Liu               Expires August 4, 2014                 [Page 2]
Internet-Draft         Universal Extension Header           January 2014

2.  Terminology

   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 RFC 2119 [RFC2119].

3.  Problem Statement

   A key problem with the Uniform Format for IPv6 Extension Headers lies
   on the fat that both IPv6 Extension Headers and Transport Protocols
   share the same namespace ("Next Header" registry/namespace).  Thus,
   there is now way to distinguish between an unrecognized IPv6
   Extension Header and an unrecognized transport protocol.  For
   example, if a node were to receive an IPv6 packet that employs an
   unsupported "Next Header" value, there is no way to tell whether the
   next header corresponds to an Extension Header employing the Uniform
   Format for IPv6 Extension Headers, or a new upper-layer protocol
   (such as a transport protocol).

   Clearly, employing the Uniform Format for IPv6 Extension Headers
   "enables" the future extension of IPv6 and the processing of entire
   IPv6 header chains containing unrecognized extension headers, at the
   expense of preventing the deployment of new transport protocols or
   other upper layer protocols.

4.  Updating RFC 6564

   The entire Section 4 of [RFC6564] is hereby replaced as follows:

   New IPv6 Extension Headers MUST NOT be specified.  Any IPv6
   extensions that would require a new IPv6 Extension Header MUST be
   implemented with the Universal Extension Header specified in this
   document.  This minimizes breakage in intermediate nodes that examine
   these extension headers.

   This document specifies a new IPv6 Extension Header: Universal
   Extension Header.  This Extension Header is identified by the value
   [TBD] of [IANA-IP-PROTO].  The syntax of the Universal Extension
   Header is:

Gont & Liu               Expires August 4, 2014                 [Page 3]
Internet-Draft         Universal Extension Header           January 2014

       0                   1                   2                   3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |  Next Header  |  Hdr Ext Len  |    Subtype    |               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+               +
      |                                                               |
      .                                                               .
      .                   Subtype Specific Data                        .
      .                                                               .
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   where:

   Next Header
      8-bit selector.  Identifies the type of header immediately
      following the extension header.  Uses the same values as the IPv4
      Protocol field [IANA-IP-PROTO].

   Hdr Ext Len
      8-bit unsigned integer.  Length of the extension header in 8-octet
      units, not including the first 8 octets.

   Subtype
      8-bit unsigned integer.  Specifies the subtype for this extension
      header.  It uses a new namespace managed by IANA [IANA-UEH].

   Subtype Specific Data
      Variable length.  Fields specific to this extension header/
      Subtype.

   The Universal Extension Header specified in this document MAY appear
   multiple times in the same IPv6 packet.

5.  Operation of the Universal Extension Header

   This section discusses de operation of the Universal Extension
   Header.

   The goal of the UEH is to provide for a common syntax for all future
   IPv6 extensions.  Any future extension headers will be encoded in a
   UEH, and will be identified by a specific UEH Subtype assigned by
   IANA at the time the corresponding specification is published.  The
   UEH thus provides for the "common syntax" required to process
   "unrecognized extensions", and the Subtype field identifies the
   specific extension being encoded in the UEH.  Any "future extension

Gont & Liu               Expires August 4, 2014                 [Page 4]
Internet-Draft         Universal Extension Header           January 2014

   & email address to contact for further information: Simon
   Pietro Romano (spromano@unina.it).

   Intended usage: LIMITED USE

   Author/Change controller: The IETF

   Other information: This media type is a specialization of
   application/xml [RFC7303], and many of the considerations described
   there also apply to application/clue+xml.

12.4.  CLUE Protocol Registry

   The document requests that the IANA creates new registries for CLUE
   messages and response codes.

12.4.1.  CLUE Message Types

   The following summarizes the registry for CLUE messages:

   Related Registry: CLUE Message Types Registry

   Defining RFC: RFC XXXX [[NOTE TO IANA/RFC-EDITOR: Please replace XXXX
   with the RFC number for this specification.]]

Presta & Romano         Expires February 14, 2017              [Page 48]
Internet-Draft         draft-ietf-clue-protocol-09           August 2016

   Registration/Assignment Procedures: Following the policies outlined
   in [RFC5226], the IANA policy for assigning new values for the CLUE
   message types for the CLUE protocol is Specification Required.

   Registrant Contact: IETF CLUE working group (clue@ietf.org), Simon
   Pietro Romano (spromano@unina.it).

   The initial Message table is populated using the CLUE messages
   described in Section 5 and defined in the XML schema in Section 9.

   +-------------------+-----------------------------------+-----------+
   | Message           | Description                       | Reference |
   +-------------------+-----------------------------------+-----------+
   | options           | "OPTIONS" in this document.  Sent | RFCXXXX   |
   |                   | by the CI to the CR in the        |           |
   |                   | initiation phase to specify the   |           |
   |                   | roles played by the CI, the       |           |
   |                   | supported versions and the        |           |
   |                   | supported protocol options.       |           |
   | optionsResponse   | "OPTIONS RESPONSE" in this        | RFCXXXX   |
   |                   | document.  Sent by the CI to the  |           |
   |                   | CR in reply to an OPTIONS message |           |
   |                   | to finally estabilsh the version  |           |
   |                   | and the options to be used in the |           |
   |                   | following CLUE messages exchange. |           |
   | advertisement     | "ADVERTISEMENT" or "ADV" in this  | RFCXXXX   |
   |                   | document.  Sent by the MP to the  |           |
   |                   | MC to specify the telepresence    |           |
   |                   | capabilities of the MP expressed  |           |
   |                   | according to the CLUE framework.  |           |
   | ack               | "ACK" in this document.  Sent by  | RFCXXXX   |
   |                   | the MC to the MP to acknowledge   |           |
   |                   | the reception of an ADVERTISEMENT |           |
   |                   | message.                          |           |
   | configure         | "CONFIGURE" or "CONF" in this     | RFCXXXX   |
   |                   | document.  Sent by the MC to the  |           |
   |                   | MP to specify the desired media   |           |
   |                   | captures among those specified in |           |
   |                   | the ADVERTISEMENT.                |           |
   | configureResponse | "CONFIGURE RESPONSE" or "CONF     | RFCXXXX   |
   |                   | RESPONSE" in this document.  Sent |           |
   |                   | by the MP to the MC in reply to a |           |
   |                   | CONFIGURE message to communicate  |           |
   |                   | if the configuration request has  |           |
   |                   | been successfully processed or    |           |
   |                   | not.                              |           |
   +-------------------+-----------------------------------+-----------+

Presta & Romano         Expires February 14, 2017              [Page 49]
Internet-Draft         draft-ietf-clue-protocol-09           August 2016

                                 IANA-CLUE

12.4.2.  CLUE Response Codes

   The following summarizes the requested registry for CLUE response
   codes:

   Related Registry: CLUE Response Code Registry

   Defining RFC: RFC XXXX [[NOTE TO IANA/RFC-EDITOR: Please replace XXXX
   with the RFC number for this specification.]]

   Registration/Assignment Procedures: Following the policies outlined
   in [RFC5226], the IANA policy for assigning new values for the
   Response codes for CLUE shall be Specification Required.

   Registrant Contact: IETF CLUE working group (clue@ietf.org), Simon
   Pietro Romano (spromano@unina.it).

   The initial Response-code table is populated using the Response codes
   defined in Section 5.7 as follows:

   +--------+-----------------+----------------------------+-----------+
   | Number | Default         | Description                | Reference |
   |        | Response String |                            |           |
   +--------+-----------------+----------------------------+-----------+
   | 200    | Success         | The request has been       | RFCXXXX   |
   |        |                 | successfully processed.    |           |
   | 300    | Syntax errors   | The XML syntax of the      | RFCXXXX   |
   |        | and             | message is not correct or  |           |
   |        | inconsistencies | there are invalid values.  |           |
   | 301    | Bad syntax      | The XML syntax of the      | RFCXXXX   |
   |        |                 | message is not correct.    |           |
   | 302    | Invalid value   | The message contains an    | RFCXXXX   |
   |        |                 | invalid parameter value.   |           |
   | 303    | Conficting      | The message contains       | RFCXXXX   |
   |        | values          | values that cannot be used |           |
   |        |                 | together.                  |           |
   | 400    | Semantic errors | Semantic errors in the     | RFCXXXX   |
   |        |                 | received CLUE protocol     |           |
   |        |                 | message.                   |           |
   | 401    | Version not     | The protocol version used  | RFCXXXX   |
   |        | supported       | in the message is not      |           |
   |        |                 | supported.                 |           |
   | 402    | Invalid         | The sequence number of the | RFCXXXX   |
   |        | sequencing      | message is out of date.    |           |

Presta & Romano         Expires February 14, 2017              [Page 50]
Internet-Draft         draft-ietf-clue-protocol-09           August 2016

   | 403    | Invalid         | The identifier used in the | RFCXXXX   |
   |        | identifier      | message is no valid or     |           |
   |        |                 | unknown.                   |           |
   | 404    | ADV Expired     | The number of the ADV the  | RFCXXXX   |
   |        |                 | CONF refers to is out of   |           |
   |        |                 | date.                      |           |
   | 405    | Subset choice   | The subset choice is not   | RFCXXXX   |
   |        | not allowed     | allowed for the specified  |           |
   |        |                 | MCC.                       |           |
   +--------+-----------------+----------------------------+-----------+

13.  Diff with draft-ietf-clue-protocol-06

   o  XML schema definition of <version> has been changed to match
      pattern "X.Y", where X and Y are single digits.

   o  100, 200, 300, 400 defined as catch-all response codes.

   o  Updates in IANA section.

14.  Diff with draft-ietf-clue-protocol-05

   o  This document corrects some versioning errors of
      draft-ietf-clue-protocol-05.

15.  Diff with draft-ietf-clue-protocol-04

   o  The document has been revised based on feedback recevied on the
      ML.  No major modification is included in this version.

16.  Diff with draft-ietf-clue-protocol-03

   o  Response codes section updated.

   o  maxCaptureEncodings removed from examples, allowSubsetChoice
      added.

   o  State machines descriptions aligned with pictures.

   o  Applied recommended updates indicated in Christian's review (2015-
      03-19).

17.  Diff with draft-ietf-clue-protocol-02

   o  CLUE Participant state machine: TERMINATED state replaced with
      IDLE.

Presta & Romano         Expires February 14, 2017              [Page 51]
Internet-Draft         draft-ietf-clue-protocol-09           August 2016

   o  MP and MC state machines: SDP O/A state removed.

   o  Diff mechanism (and related example) removed.

   o  Schema updates: versionType used as the data type for all versions
      fields, xs:unsignedInt used as the data type for all sequence
      number fields, diff support removed from the ADV definition.

18.  Diff with draft-ietf-clue-protocol-01

   o  The diff mechanism for the ADV message has been introduced.

   o  READV and READV RESPONSE message have been both removed.

   o  The state machines have been deeply reviewed and changed.

   o  References: references have been updated and splitted into
      Informative references and Normative references as in framework
      v17.

   o  Schema: <globalSceneEntries> changed in <globalViews>,
      <participants> in <people>

   o  Terminology: many definitions added.

   o  Response codes updated.

19.  Diff with draft-ietf-clue-protocol-00

   1.  The XML schema of the ADVERTISEMENT and of the READV have been
       aligned with the current definitions in
       [I-D.ietf-clue-data-model-schema] (example of updates:
       <participants> --> <people>, <globalCaptureEntries> -->
       <globalSceneEntries>)

   2.  Text has been added to clarify that, in the OPTIONS RESPONSE,
       when the response code is not an error response code, both
       <mediaProvider> and <mediaConsumer> are mandatory.

   3.  The content of the "v" attribute and of the <version> elements
       carried in the OPTIONS and OPTIONS RESPONSE messages has been
       described more precisely.

   4.  Advertisement examples have been added.

Presta & Romano         Expires February 14, 2017              [Page 52]
Internet-Draft         draft-ietf-clue-protocol-09           August 2016

20.  Diff with draft-presta-clue-protocol-04

   1.  The response code type error in the OPTIONS response (and in
       other parts) has been corrected.

21.  Diff with draft-presta-clue-protocol-03

   1.  The XML Schema has been deeply revised and completed.

   2.  The descriptions of the CLUE messages have been added.

   3.  The distinction between major version numbers and minor version
       numbers has been cut and pasted from [I-D.ietf-clue-signaling].

   4.  Besides the two way one, a three way mechanism for the options
       negotiation has been proposed and provided to foster discussion.

22.  Diff with draft-presta-clue-protocol-02

   1.  "Terminology" section added.

   2.  Introduced the concept of "CLUE Participant" - an Endpoint or a
       MCU able to use the CLUE protocol within a telepresence session.
       A CLUE Participant can act as a Media Provider and/or as a Media
       Consumer.

   3.  Introduced the ACK/NACK mechanism for the ADVERTISEMENT.

   4.  MP and MC state machines have been updated.  The CP state machine
       has been added.

23.  Acknowledgments

   The authors thank all the CLUErs for their precious feedbacks and
   support, in particular Paul Kyzivat, Christian Groves and Scarlett
   Liuyan.

24.  References

24.1.  Normative References

   [I-D.ietf-clue-data-model-schema]  Presta, R. and S. Romano, "An XML
                                      Schema for the CLUE data model", d
                                      raft-ietf-clue-data-model-schema-
                                      16 (work in progress), June 2016.

   [I-D.ietf-clue-datachannel]        Holmberg, C., "CLUE Protocol data
                                      channel",

Presta & Romano         Expires February 14, 2017              [Page 53]
Internet-Draft         draft-ietf-clue-protocol-09           August 2016

                                      draft-ietf-clue-datachannel-14
                                      (work in progress), August 2016.

   [I-D.ietf-clue-framework]          Duckworth, M., Pepperell, A., and
                                      S. Wenger, "Framework for
                                      Telepresence Multi-Streams",
                                      draft-ietf-clue-framework-25 (work
                                      in progress), January 2016.

   [I-D.ietf-clue-signaling]          Kyzivat, P., Xiao, L., Groves, C.,
                                      and R. Hansen, "CLUE Signaling",
                                      draft-ietf-clue-signaling-09 (work
                                      in progress), March 2016.

   [RFC2119]                          Bradner, S., "Key words for use in
                                      RFCs to Indicate Requirement
                                      Levels", BCP 14, RFC 2119,
                                      DOI 10.17487/RFC2119, March 1997,
                                      <http://www.rfc-editor.org/info/
                                      rfc2119>.

   [RFC3550]                          Schulzrinne, H., Casner, S.,
                                      Frederick, R., and V. Jacobson,
                                      "RTP: A Transport Protocol for
                                      Real-Time Applications", STD 64,
                                      RFC 3550, DOI 10.17487/RFC3550,
                                      July 2003, <http://
                                      www.rfc-editor.org/info/rfc3550>.

   [RFC3688]                          Mealling, M., "The IETF XML
                                      Registry", BCP 81, RFC 3688,
                                      DOI 10.17487/RFC3688,
                                      January 2004, <http://
                                      www.rfc-editor.org/info/rfc3688>.

   [RFC3958]                          Daigle, L. and A. Newton, "Domain-
                                      Based Application Service Location
                                      Using SRV RRs and the Dynamic
                                      Delegation Discovery Service
                                      (DDDS)", RFC 3958, DOI 10.17487/
                                      RFC3958, January 2005, <http://
                                      www.rfc-editor.org/info/rfc3958>.

   [RFC5226]                          Narten, T. and H. Alvestrand,
                                      "Guidelines for Writing an IANA
                                      Considerations Section in RFCs",
                                      BCP 26, RFC 5226, DOI 10.17487/
                                      RFC5226, May 2008, <http://

Presta & Romano         Expires February 14, 2017              [Page 54]
Internet-Draft         draft-ietf-clue-protocol-09           August 2016

                                      www.rfc-editor.org/info/rfc5226>.

   [RFC7303]                          Thompson, H. and C. Lilley, "XML
                                      Media Types", RFC 7303,
                                      DOI 10.17487/RFC7303, July 2014, <
                                      http://www.rfc-editor.org/info/
                                      rfc7303>.

24.2.  Informative References

   [RFC1122]                          Braden, R., Ed., "Requirements for
                                      Internet Hosts - Communication
                                      Layers", STD 3, RFC 1122,
                                      DOI 10.17487/RFC1122,
                                      October 1989, <http://
                                      www.rfc-editor.org/info/rfc1122>.

   [RFC4353]                          Rosenberg, J., "A Framework for
                                      Conferencing with the Session
                                      Initiation Protocol (SIP)",
                                      RFC 4353, DOI 10.17487/RFC4353,
                                      February 2006, <http://
                                      www.rfc-editor.org/info/rfc4353>.

   [RFC6120]                          Saint-Andre, P., "Extensible
                                      Messaging and Presence Protocol
                                      (XMPP): Core", RFC 6120,
                                      DOI 10.17487/RFC6120, March 2011,
                                      <http://www.rfc-editor.org/info/
                                      rfc6120>.

   [RFC7262]                          Romanow, A., Botzko, S., and M.
                                      Barnes, "Requirements for
                                      Telepresence Multistreams",
                                      RFC 7262, DOI 10.17487/RFC7262,
                                      June 2014, <http://
                                      www.rfc-editor.org/info/rfc7262>.

   [RFC7667]                          Westerlund, M. and S. Wenger, "RTP
                                      Topologies", RFC 7667,
                                      DOI 10.17487/RFC7667,
                                      November 2015, <http://
                                      www.rfc-editor.org/info/rfc7667>.

Presta & Romano         Expires February 14, 2017              [Page 55]
Internet-Draft         draft-ietf-clue-protocol-09           August 2016

Authors' Addresses

   Roberta Presta
   University of Napoli
   Via Claudio 21
   Napoli  80125
   Italy

   EMail: roberta.presta@unina.it

   Simon Pietro Romano
   University of Napoli
   Via Claudio 21
   Napoli  80125
   Italy

   EMail: spromano@unina.it

Presta & Romano         Expires February 14, 2017              [Page 56]