L2TPEXT Working Group                            M. Konstantynowicz, Ed.
Internet-Draft                                             G. Heron, Ed.
Intended status: Standards Track                           Cisco Systems
Expires: August 22, 2015                                   R. Schatzmayr
                                                     Deutsche Telekom AG
                                                           W. Henderickx
                                                    Alcatel-Lucent, Inc.
                                                       February 18, 2015


                           Keyed IPv6 Tunnel
                draft-ietf-l2tpext-keyed-ipv6-tunnel-02

Abstract

   This document describes a simple L2 Ethernet over IPv6 tunnel
   encapsulation with mandatory 64-bit cookie for connecting L2 Ethernet
   attachment circuits identified by IPv6 addresses.  The encapsulation
   is based on L2TPv3 over IP.

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

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 22, 2015.

Copyright Notice

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




Konstantynowicz, et al.  Expires August 22, 2015                [Page 1]


Internet-Draft                                             February 2015


   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
   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.  Static 1:1 Mapping Without a Control Plane  . . . . . . . . .   3
   3.  64-bit Cookie . . . . . . . . . . . . . . . . . . . . . . . .   3
   4.  Encapsulation . . . . . . . . . . . . . . . . . . . . . . . .   4
   5.  Fragmentation and Reassembly  . . . . . . . . . . . . . . . .   7
   6.  OAM Considerations  . . . . . . . . . . . . . . . . . . . . .   7
   7.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   8
   8.  Security Considerations . . . . . . . . . . . . . . . . . . .   8
   9.  Contributing Authors  . . . . . . . . . . . . . . . . . . . .   8
   10. Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .   9
   11. References  . . . . . . . . . . . . . . . . . . . . . . . . .   9
     11.1.  Normative References . . . . . . . . . . . . . . . . . .   9
     11.2.  Informative References . . . . . . . . . . . . . . . . .   9
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  10

1.  Introduction

   L2TPv3, as defined in RFC3931 [RFC3931], provides a dynamic mechanism
   for tunneling Layer 2 (L2) "circuits" across a packet-oriented data
   network (e.g., over IP), with multiple attachment circuits
   multiplexed over a single pair of IP address endpoints (i.e. a
   tunnel) using the L2TPv3 session ID as a circuit discriminator.

   Implementing L2TPv3 over IPv6 provides the opportunity to utilize
   unique IPv6 addresses to identify Ethernet attachment circuits
   directly, leveraging the key property that IPv6 offers, a vast number
   of unique IP addresses.  In this case, processing of the L2TPv3
   Session ID may be bypassed upon receipt as each tunnel has one and
   only one associated session.  This local optimization does not hinder
   the ability to continue supporting the multiplexing of circuits via
   the Session ID on the same router for other L2TPv3 tunnels.








Konstantynowicz, et al.  Expires August 22, 2015                [Page 2]


Internet-Draft                                             February 2015


2.  Static 1:1 Mapping Without a Control Plane

   Static local configuration creates a one-to-one mapping between the
   access-side L2 attachment circuit and the IP address used in the
   network-side IPv6 encapsulation.  The L2TPv3 Control Plane defined in
   RFC3931 is not used.

   The IPv6 L2TPv3 tunnel encapsulating device uniquely identifies each
   Ethernet L2 attachment connection by a port ID or a combination of
   port ID and VLAN ID(s) on the access side, and by an IPv6 address on
   the network side.

   Any service-delimiting IEEE 802.1Q [IEEE802.1Q] or IEEE 802.1ad
   [IEEE802.1ad] VLAN IDs - S-tag, C-tag or tuple (S-tag, C-tag) - are
   treated with local significance within the Ethernet L2 port and are
   not forwarded over the IPv6 L2TPv3 tunnel.  The IPv6 address is
   treated as the identifier of the IPv6 L2TPv3 tunnel endpoint.

   Certain deployment scenarios may require using a single IPv6 address
   to identify a tunnel endpoint for multiple IPv6 L2TPv3 tunnels.  For
   such cases the tunnel encapsulating device identifies each tunnel by
   a unique combination of tunnel source and destination IPv6 addresses.

   As mentioned above Session ID processing is not required as each
   keyed IPv6 tunnel has one and only one associated session.  However
   for compatibility with existing RFC3931 implementations, the packets
   need to be sent with Session ID.  The router implementing L2TPv3
   according to RFC3931 can be configured with multiple L2TPv3 tunnels,
   with one session per tunnel, to interoperate with the router
   implementing the keyed IPv6 tunnel as specified by this document.

   Note that a previous IETF draft [I.D.ietf-pppext-l2tphc] introduces
   the concept of an L2TP tunnel carrying a single session and hence not
   requiring session ID processing.

3.  64-bit Cookie

   In line with RFC3931, the 64-bit cookie is used for additional tunnel
   endpoint context check.  All packets MUST carry the 64-bit L2TPv3
   cookie field.  The cookie MUST be 64 bits long in order to provide
   sufficient protection against spoofing and brute force blind
   insertion attacks.  The cookie values SHOULD be randomly selected.

   In the absence of the L2TPv3 Control Plane, the L2TPv3 encapsulating
   router must be provided with local configuration of the 64-bit cookie
   for each local and remote IPv6 endpoint - note that cookies are
   asymmetric, so local and remote endpoints may send different cookie
   values, and in fact SHOULD do so.  The value of the cookie MUST be



Konstantynowicz, et al.  Expires August 22, 2015                [Page 3]


Internet-Draft                                             February 2015


   able to be changed at any time in a manner that does not drop any
   legitimate tunneled packets - i.e. the receiver must be willing to
   accept both "old" and "new" cookie values during a change of cookie
   value.  Cookie values SHOULD be changed periodically.

   Note that this requirement constrains interoperability with existing
   RFC3931 implementations to those supporting a 64-bit cookie.

4.  Encapsulation

   The ingress router encapsulates the entire Ethernet frame, without
   the preamble and frame check sequence (FCS) in L2TPv3 as per RFC4719
   [RFC4719].  The L2TPv3 packet is encapsulated directly over IPv6
   (i.e. no UDP header is carried).

   Any service-delimiting VLAN tag (or in the multi-stack access case
   the S-tag and C-tag) SHOULD be removed before the packet is
   encapsulated.

   The full encapsulation is as follows:































Konstantynowicz, et al.  Expires August 22, 2015                [Page 4]


Internet-Draft                                             February 2015


       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |  Ver  | Traffic Class |             Flow Label                |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |        Payload Length         |  Next Header  |   Hop Limit   |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                    Source address (0:31)                      |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                    Source address (32:63)                     |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                    Source address (64:95)                     |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                    Source address (96:127)                    |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                  Destination address (0:31)                   |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                  Destination address (32:63)                  |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                  Destination address (64:95)                  |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                  Destination address (96:127)                 |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                    Session ID (32 bits)                       |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                        Cookie (0:31)                          |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                        Cookie (32:63)                         |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                      Payload (variable)                       |
      |                              ?                                |
      |                              ?                                |
      |                              ?                                |
      |                              ?                                |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


   The combined IPv6 and L2TPv3 header contains the following fields:

   o  Ver. Set to 0x6 to indicate IPv6.

   o  Traffic Class.  May be set by the ingress router to ensure correct
      PHB treatment by transit routers between the ingress and egress,
      and correct QoS disposition at the egress router.

   o  Flow Label.  May be set by the ingress router to indicate a flow
      of packets from the client which may not be reordered by the




Konstantynowicz, et al.  Expires August 22, 2015                [Page 5]


Internet-Draft                                             February 2015


      network (if there is a requirement for finer grained ECMP load
      balancing than per-circuit load balancing).

   o  Payload Length.  Set to the length of the packet, excluding the
      IPv6 header (i.e. the length from the Session ID to the end of the
      packet).

   o  Next Header.  Set to 0x73 to indicate that the next header is
      L2TPv3.

   o  Hop Limit.  Decremented by one by each router in the path to the
      egress router.  A hop limit of 0x40 is recommended.

   o  Source Address.  IPv6 source address for the tunnel.  In the
      "Static 1:1" case the IPv6 source address may correspond to a port
      or VLAN being transported as an L2 circuit, or may be a loopback
      address terminating inside the router (e.g. if L2 circuits are
      being used within a multipoint VPN), or may be an anycast address
      terminating on a data center virtual machine.

   o  Destination Address.  IPv6 destination address for the tunnel.  As
      with the source address this may correspond to a port or VLAN
      being transported as an L2 circuit or may be a loopback or anycast
      address.

   o  Session ID.  In the "Static 1:1 mapping" case described in
      Section 2, the IPv6 address resolves to an L2TPv3 session
      immediately, thus the Session ID may be ignored upon receipt.  For
      compatibility with other tunnel termination platforms supporting
      only two-stage resolution (IPv6 Address + Session ID), this
      specification recommends supporting explicit configuration of
      Session ID to any value other than zero.  For cases where both
      tunnel endpoints support one-stage resolution (IPv6 Address only),
      this specification recommends setting the Session ID to all ones
      for easy identification in case of troubleshooting.  The Session
      ID of zero MUST NOT be used, as it is reserved for use by L2TP
      control messages as specified in RFC3931.

   o  Cookie. 64 bits, configured and described as in Section 3.  All
      packets for a destined L2 Circuit (or L2TPv3 Session) MUST match
      the configured Cookie value.  Any packets that do not contain the
      required cookie value MUST be discarded (see RFC3931 for more
      details).

   o  Payload.  The customer data, with VLAN tag or S-tag/C-tag removed.
      As noted above preamble and FCS are stripped before encapsulation.
      Since a new FCS is added at each hop when the IP packet is
      transmitted the payload is protected against bit errors.



Konstantynowicz, et al.  Expires August 22, 2015                [Page 6]


Internet-Draft                                             February 2015


5.  Fragmentation and Reassembly

   Using tunnel encapsulation, Ethernet L2 datagrams in IPv6 in this
   case, will reduce the effective MTU of the Ethernet L2 datagram.

   The recommended solution to deal with this problem is for the network
   operator to increase the MTU size of all the links between the
   devices acting as IPv6 L2TPv3 tunnel endpoints to accommodate both
   the IPv6 L2TPv3 encapsulation header and the Ethernet L2 datagram
   without fragmenting the IPv6 packet.

6.  OAM Considerations

   OAM is an important consideration when providing circuit-oriented
   services such as those described in this document, and all the more
   so in the absence of a dedicated tunnel control plane, as OAM becomes
   the only way to detect failures in the tunnel overlay.

   Note that in the context of keyed IP tunnels, failures in the IPv6
   underlay network can be detected using the usual methods such as
   through the routing protocol.

   Since keyed IP tunnels always carry an Ethernet payload, and since
   OAM at the tunnel layer is unable to detect failures in the Ethernet
   service processing at the ingress or egress router, or on the
   Ethernet attachment circuit between the router and the Ethernet
   client, this document recommends that Ethernet OAM as defined in IEEE
   802.1ag [IEEE802.1ag] and/or ITU Y.1731 [Y.1731] is enabled for keyed
   IP tunnels.  More specifically the following Connecitivity Fault
   Management ( CFM ) and/or Ethernet continuity check ( ETH-CC )
   configurations are to be used in conjunction with keyed IPv6 tunnels:

   o  Connectivity verification between the tunnel endpoints across the
      tunnel - use an Up MEP located at the tunnel endpoint for
      transmitting the CFM PDUs towards, and receiving them from the
      direction of the tunnel.

   o  Connectivity verification from the tunnel endpoint across the
      local attachment circuit - use a Down MEP located at the tunnel
      endpoint for transmitting the CFM PDUs towards, and receiving them
      from the direction of the local attachment circuit.

   o  Intermediate connectivity verifcation - use a MIP located at the
      tunnel endpoint to generate CFM PDUs in response to received CFM
      PDUs.

   In addition the Pseudowire Virtual Circuit Connectivity Verfication (
   VCCV ) RFC5085 [RFC5085] MAY be used.



Konstantynowicz, et al.  Expires August 22, 2015                [Page 7]


Internet-Draft                                             February 2015


7.  IANA Considerations

   None.

8.  Security Considerations

   Packet spoofing for any type of Virtual Private Network (VPN)
   tunneling protocol is of particular concern as insertion of carefully
   constructed rogue packets into the VPN transit network could result
   in a violation of VPN traffic separation, leaking data into a
   customer VPN.  This is complicated by the fact that it may be
   particularly difficult for the operator of the VPN to even be aware
   that it has become a point of transit into or between customer VPNs.

   Keyed IPv6 encapsulation provides traffic separation for its VPNs via
   use of separate 128-bit IPv6 addresses to identify the endpoints.
   The mandatory use of the 64 bit L2TPv3 cookie provides an additional
   check to ensure that an arriving packet is intended for the
   identified tunnel.

   In the presence of a blind packet spoofing attack, the 64 bit L2TPv3
   cookie provides security against inadvertent leaking of frames into a
   customer VPN, as documented in section 8.2 of RFC3931.

   For protection against brute-force, blind, insertion attacks, a 64-
   bit Cookie MUST be used with all tunnels.

   Note that the Cookie provides no protection against a sophisticated
   man-in-the-middle attacker who can sniff and correlate captured data
   between nodes for use in a coordinated attack.

   The L2TPv3 64-bit cookie must not be regarded as a substitute for
   security such as that provided by IPsec when operating over an open
   or untrusted network where packets may be sniffed, decoded, and
   correlated for use in a coordinated attack.

9.  Contributing Authors

   Peter Weinberger
   Cisco Systems

   Email: peweinbe@cisco.com

   Michael Lipman
   Cisco Systems

   Email: mlipman@cisco.com




Konstantynowicz, et al.  Expires August 22, 2015                [Page 8]


Internet-Draft                                             February 2015


   Mark Townsley
   Cisco Systems

   Email: townsley@cisco.com

10.  Acknowledgements

   The authors would like to thank Carlos Pignataro for his suggestions
   and review.

11.  References

11.1.  Normative References

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

   [RFC3931]  Lau, J., Townsley, M., and I. Goyret, "Layer Two Tunneling
              Protocol - Version 3 (L2TPv3)", RFC 3931, March 2005.

   [RFC4719]  Aggarwal, R., Townsley, M., and M. Dos Santos, "Transport
              of Ethernet Frames over Layer 2 Tunneling Protocol Version
              3 (L2TPv3)", RFC 4719, November 2006.

   [RFC5085]  Nadeau, T. and C. Pignataro, "Pseudowire Virtual Circuit
              Connectivity Verification (VCCV): A Control Channel for
              Pseudowires", RFC 5085, December 2007.

11.2.  Informative References

   [I.D.ietf-pppext-l2tphc]
              Valencia, A., "L2TP Header Compression", December 1997.

   [IEEE802.1Q]
              IEEE, "802.1Q-2014 - IEEE Standard for Local and
              metropolitan area networks - Bridges and Bridged
              Networks", 2014.

   [IEEE802.1ad]
              IEEE, "802.1ad-2005 - IEEE Standard for Local and
              Metropolitan Area Networks - Virtual Bridged Local Area
              Networks - Amendment 4: Provider Bridges", 2005.

   [IEEE802.1ag]
              IEEE, "IEEE Standard for Local and metropolitan area
              networks - Virtual Bridged Local Area Networks, Amendment
              5: Connectivity Fault Managements", 2007.




Konstantynowicz, et al.  Expires August 22, 2015                [Page 9]


Internet-Draft                                             February 2015


   [Y.1731]   ITU, "ITU-T Recommendation G.8013/Y.1731 - OAM functions
              and mechanisms for Ethernet based networks", 2011.

Authors' Addresses

   Maciek Konstantynowicz (editor)
   Cisco Systems

   Email: maciek@cisco.com


   Giles Heron (editor)
   Cisco Systems

   Email: giheron@cisco.com


   Rainer Schatzmayr
   Deutsche Telekom AG

   Email: rainer.schatzmayr@telekom.de


   Wim Henderickx
   Alcatel-Lucent, Inc.

   Email: wim.henderickx@alcatel-lucent.com
























Konstantynowicz, et al.  Expires August 22, 2015               [Page 10]