[Docs] [txt|pdf|xml|html] [Tracker] [Email] [Diff1] [Diff2] [Nits]

Versions: 00 01 02 03 04

6man                                                           R. Bonica
Internet-Draft                                          Juniper Networks
Intended status: Standards Track                              J. Halpern
Expires: September 24, 2019                                     Ericsson
                                                                   N. So
                                                                   F. Xu
                                                            Reliance Jio
                                                                 G. Chen
                                                                   Baidu
                                                                  Y. Zhu
                                                                 G. Yang
                                                           China Telecom
                                                                 Y. Zhou
                                                               ByteDance
                                                          March 23, 2019


                    The IPv6 Segment Endpoint Option
                    draft-bonica-6man-seg-end-opt-03

Abstract

   This document defines the IPv6 Segment Endpoint Option.  Source nodes
   can use this option to convey internet-layer information to selected
   segment endpoints along a packet's delivery path.

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 https://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 September 24, 2019.

Copyright Notice

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




Bonica, et al.         Expires September 24, 2019               [Page 1]


Internet-Draft           Segment Endpoint Option              March 2019


   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (https://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
   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.  Requirements Language . . . . . . . . . . . . . . . . . . . .   3
   4.  Option Format . . . . . . . . . . . . . . . . . . . . . . . .   3
   5.  Option Processing . . . . . . . . . . . . . . . . . . . . . .   5
   6.  Mutability  . . . . . . . . . . . . . . . . . . . . . . . . .   6
   7.  Security Considerations . . . . . . . . . . . . . . . . . . .   6
   8.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   7
   9.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .   7
   10. References  . . . . . . . . . . . . . . . . . . . . . . . . .   7
     10.1.  Normative References . . . . . . . . . . . . . . . . . .   7
     10.2.  Informative References . . . . . . . . . . . . . . . . .   7
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   8

1.  Introduction

   IPv6 [RFC8200] options convey optional internet-layer information to
   selected nodes along a packets delivery path.  IPv6 options can be
   encoded as follows:

   o  In a Hop-by-hop Options header.

   o  In a Destination Options header that precedes a Routing header.

   o  In a Destination Options header that precedes an upper-layer
      header.

   If an option is encoded in a Hop-by-hop Options header, it conveys
   information to every node along the packet's delivery path, including
   the destination node.  (See NOTE 1).  If an option is encoded in a
   Destination Options header that precedes a Routing header, it conveys
   information to every segment endpoint along the packet's delivery
   path, including the destination node.  If an option is encoded in a
   Destination Options header that precedes an upper-layer header, it
   conveys information to the destination node only.  (See Section 4.3.4
   of [RFC8200] )



Bonica, et al.         Expires September 24, 2019               [Page 2]


Internet-Draft           Segment Endpoint Option              March 2019


   This document defines the IPv6 Segment Endpoint option.  The IPv6
   Segment Endpoint option provides a mechanism through which a source
   node can convey optional internet-layer information to selected
   segment endpoints.  For example, assume that a packet's delivery path
   contains three segments.  The source node can use the Segment
   Endpoint option to convey one piece of information to the first
   segment endpoint, another piece of information to the second segment
   endpoint, and no information to the third segment endpoint.

   NOTE 1: As per IPv6 [RFC8200], it is now expected that nodes along a
   packet's delivery path only examine and process the Hop-by-Hop
   Options header if explicitly configured to do so.

2.  Terminology

   o  Segment Endpoint - A packet that contains a Routing header
      traverses multiple segments.  Each segment has an endpoint.  The
      first destination that appears in the IPv6 Destination Address
      identifies the first segment endpoint.  Subsequent destinations
      listed in the Routing header identify subsequent segment
      endpoints.  A packet that does not contain a Routing Header
      traverses exactly one segment had has exactly one segment endpoint
      (i.e., the packet's ultimate destination).

3.  Requirements Language

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
   "OPTIONAL" in this document are to be interpreted as described in BCP
   14 [RFC2119] [RFC8174] when, and only when, they appear in all
   capitals, as shown here.

4.  Option Format

   The Segment Endpoint option MAY appear in a Destination Options
   header, regardless of whether that Destination Options header
   precedes a Routing header or an upper-layer header.  The Segment
   Endpoint option MUST NOT appear in a Hop-by-hop Options header.

   Figure 1 depicts the Segment Endpoint option.











Bonica, et al.         Expires September 24, 2019               [Page 3]


Internet-Draft           Segment Endpoint Option              March 2019


        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
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |  Option Type  |  Opt Data Len |    Option Data
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-



                     Figure 1: Segment Endpoint Option

   o  Option Type - Segment Endpoint option.  Value TBD by IANA.  See
      NOTE 1 and NOTE 2, below.

   o  Opt Data Len - 8-bit unsigned integer.  Length of the Option Data
      field, in octets.

   o  Option Data - See Figure 2.

        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
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       | Segments Left |   Containers  |   Container List
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-



                           Figure 2: Option Data

   Option Data contains the following fields:

   o  Segments Left - 8-bit unsigned integer.  Number of route segments
      remaining.  If the packet also contains a Routing header, this
      value MUST be identical to the value of the Segments Left field in
      the Routing heder.  See Section 5.

   o  Containers - 8-bit unsigned integer.  The number of containers in
      the Container List.

   o  Container List - A list of Containers (Figure 3).












Bonica, et al.         Expires September 24, 2019               [Page 4]


Internet-Draft           Segment Endpoint Option              March 2019


        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
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |  Segment ID   |     IPv6 Options
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-



                           Figure 3: A Container

   Each element of Container List contains the following fields:

   o  Segment ID - 8-bit unsigned integer.  Identifies the segment that
      should process the IPv6 Option contained by this container.  See
      Section 5.

   o  IPv6 Options - Any IPv6 Options [IPv6-OPT] except for the Segment
      Endpoint Option.

   Within a Container list, Containers MUST be sorted in descending
   order by Segment ID.  A Segment ID MUST NOT appear more than once in
   the Container list.

   NOTE 1: The highest-order two bits of the Option Type (i.e., the
   "act" bits) are 10.  These bits specify the action taken by a
   destination node that does not recognize Segment Endpoint option.
   The required action is to discard the packet and send an ICMPv6
   [RFC4443] Parameter Problem, Code 2, message to the packet's Source
   Address, pointing to the Segment Endpoint option Type.

   NOTE 2: The third highest-order bit of the Option Type (i.e., the
   "chg" bit) is 1.  This indicates that Option Data can be modified
   along the path between the packet's source and its destination.

5.  Option Processing

   If the option appears in a Hop-by-hop Options header, the processing
   node discards the packet and sends an ICMPv6 [RFC4443] Parameter
   Problem, Code 2, message to the packet's Source Address, pointing to
   the Segment Endpoint option Type.

   If the option appears in a Destination Options header, the processing
   node locates the following fields in Option Data:

   o  Segments Left.

   o  Containers.




Bonica, et al.         Expires September 24, 2019               [Page 5]


Internet-Draft           Segment Endpoint Option              March 2019


   o  Container List.

   It then processes each member of the Container List as follows:

   o  Locate the Segment ID and IPv6 Option field in the container.

   o  If Segments Left less than the Segment ID, skip over the
      container.

   o  If Segments Left equals the Segment ID, and the IPv6 Option is a
      Segment Endpoint option, skip over the container.

   o  If Segments Left equals the Segment ID, and the IPv6 Option is not
      a Segment Endpoint option, process the IPv6 Option as per
      [RFC8200].

   o  If Segments Left is greater than Segment ID, skip over all
      remaining members of the Container List.

   Finally, decrement the Segment ID field and process the next option
   or header.

6.  Mutability

   The Segments Left field of the Segment Endpoint option is mutable.
   Intermediate nodes MAY change the value of this field.

   All other fields in the Segment Endpoint option are immutable.
   Intermediate nodes MUST NOT change the values of these fields.

7.  Security Considerations

   The Segment Endpoint Option shares many security concerns with IPv6
   routing headers.  In particular, any boundary filtering protecting a
   domain from external routing headers should also protect against
   external Segment Endpoint Options being processed inside a domain.
   This occurs naturally if encapsulation is used to add routing headers
   to a packet.  If external routing headers are allowed, then
   protections must also include ensuring that any provided Segment
   Endpoint option before the routing header is properly protect, e.g.
   with an IPSEC AH header or other suitable means.

   As with Routing headers, the security assumption within a domain is
   that the domain is trusted to provide, and to avoid improperly
   modifying, the Segment Endpoint Option.






Bonica, et al.         Expires September 24, 2019               [Page 6]


Internet-Draft           Segment Endpoint Option              March 2019


8.  IANA Considerations

   IANA is requested to allocate a codepoint from the Destination
   Options and Hop-by-hop Options registry
   (https://www.iana.org/assignments/ipv6-parameters/
   ipv6-parameters.xhtml#ipv6-parameters-2).  This option is called
   "Segment Endpoint".  The "act" bits are 10 and the "chg" bit is 1.

9.  Acknowledgements

   Thanks to Fred Baker and Shizhang Bi for their careful review of this
   document.

10.  References

10.1.  Normative References

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

   [RFC4443]  Conta, A., Deering, S., and M. Gupta, Ed., "Internet
              Control Message Protocol (ICMPv6) for the Internet
              Protocol Version 6 (IPv6) Specification", STD 89,
              RFC 4443, DOI 10.17487/RFC4443, March 2006,
              <https://www.rfc-editor.org/info/rfc4443>.

   [RFC8174]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
              2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
              May 2017, <https://www.rfc-editor.org/info/rfc8174>.

   [RFC8200]  Deering, S. and R. Hinden, "Internet Protocol, Version 6
              (IPv6) Specification", STD 86, RFC 8200,
              DOI 10.17487/RFC8200, July 2017,
              <https://www.rfc-editor.org/info/rfc8200>.

10.2.  Informative References

   [IPv6-OPT]
              IANA, ""Destination Options and Hop-by-Hop Options"",
              August 1987, <https://www.iana.org/assignments/ipv6-
              parameters/ipv6-parameters.xhtml#ipv6-parameters-2>.








Bonica, et al.         Expires September 24, 2019               [Page 7]


Internet-Draft           Segment Endpoint Option              March 2019


Authors' Addresses

   Ron Bonica
   Juniper Networks
   2251 Corporate Park Drive
   Herndon, Virginia  20171
   USA

   Email: rbonica@juniper.net


   Joel Halpern
   Ericsson
   P. O. Box 6049
   Leesburg, Virginia  20178
   USA

   Email: joel.halpern@ericsson.com


   Ning So
   Reliance Jio
   3010 Gaylord PKWY, Suite 150
   Frisco, Texas  75034
   USA

   Email: Ning.So@ril.com


   Fengman Xu
   Reliance Jio
   3010 Gaylord PKWY, Suite 150
   Frisco, Texas  75034
   USA

   Email: Fengman.Xu@ril.com


   Gang Chen
   Baidu
   No.10 Xibeiwang East Road Haidian District
   Beijing  100193
   P.R. China

   Email: phdgang@gmail.com






Bonica, et al.         Expires September 24, 2019               [Page 8]


Internet-Draft           Segment Endpoint Option              March 2019


   Yongqing Zhu
   China Telecom
   109 West Zhongshan Ave, Tianhe District
   Guangzhou
   P.R. China

   Email: zhuyq.gd@chinatelecom.cn


   Guangming Yang
   China Telecom
   109 West Zhongshan Ave, Tianhe District
   Guangzhou
   P.R. China

   Email: yanggm.gd@chinatelecom.cn


   Yifeng Zhou
   ByteDance
   Building 1, AVIC Plaza, 43 N 3rd Ring W Rd Haidian District
   Beijing  100000
   P.R. China

   Email: yifeng.zhou@bytedance.com


























Bonica, et al.         Expires September 24, 2019               [Page 9]


Html markup produced by rfcmarkup 1.129c, available from https://tools.ietf.org/tools/rfcmarkup/