Network Working Group M.S. Smith
Internet-Draft Insieme Networks
Intended status: Experimental D.D. Dutt
Expires: January 12, 2013 Cumulus Networks
D.F. Farinacci
F.M. Maino
Cisco Systems
July 13, 2012

Layer 2 (L2) LISP Encapsulation Format
draft-smith-lisp-layer2-01

Abstract

This memo describes an encapsulation method for carrying Ethernet and IEEE 802 media access control (MAC) frames within the Locator/ID Separation Protocol (LISP).

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

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 12, 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 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

LISP [I-D.ietf-lisp] specifies an architecture and method for separating the location of an endpoint from its network identifier. It does this by using two separate name spaces: EIDs representing the network identifier of the endpoint and RLOCs representing the network location of the endpoint. This document extends the LISP specifications to allow Ethernet/IEEE 802 MAC frames to be carried within the LISP frame. The MAC addresses of the encapsulated Ethernet/IEEE 802 MAC frames will be used as EIDs.

2. Basic Overview

L2 LISP specifies the mechanism on which to carry L2 traffic over a LISP network. Within an L2 LISP environment, the source and destination MAC addresses of the Ethernet/IEEE 802.3 packet are used as the source and destination EIDs. The RLOCs can use IPv4 or IPv6 addressing. The entire MAC frame is encapsulated with the exception of the preamble and trailing FCS. It should be noted that L2 LISP introduces the possibility of packet reordering during route topology changes due to the usage of IP as the network substrate.

This memo addresses the data plane and frame format details of L2 LISP. The control plane details are outside the scope of this memo.

3. Layer 2 LISP Encapsulation

     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
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |            IPv4 or IPv6 Header  (with RLOC addresses)         |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  / |       Source Port = xxxx      |       Dest Port = 4341        |
UDP +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  \ |           UDP Length          |        UDP Checksum           |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
L   |N|L|E|V|I|flags|            Nonce/Map-Version                  |
I \ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
S / |                 Instance ID/Locator Status Bits               |
P   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

The layer 2 LISP encapsulation is based on the LISP header defined in the LISP specification [I-D.ietf-lisp]. The UDP and LISP headers are shown below for reference. For header fields description see section 5.3 of [I-D.ietf-lisp].

When the headers are used for encapsulating L2 frames, the UDP Destination Port is set to 8472.

3.1. VXLAN

The VXLAN [I-D.mahalingam-dutt-dcops-vxlan] header is achieved by setting the L2 LISP header bits as shown in the figure below. According to [I-D.mahalingam-dutt-dcops-vxlan] the I flag MUST be set to 1 for a valid VXLAN Network ID (VNI). The figure shows the whole VXLAN frame, including the original inner L2 frame.

     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
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |            IPv4 or IPv6 Header  (with RLOC addresses)         |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  / |       Source Port = xxxx      |       Dest Port = 8472        |
UDP +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  \ |           UDP Length          |        UDP Checksum           |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
L   |0 0 0 0|I|0 0 0|                 Not Used                      |
I \ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
S / |                 Instance ID                   |   Not Used    |
P   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  / |             Inner Destination MAC Address                     |
 I  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 n  | Inner Destination MAC Address | Inner Source MAC Address      |
 n  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
 e  |                Inner Source MAC Address                       |
 r  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    | Opt. Eth.type = C-Tag [802.1Q]| Inner.VLAN Tag Information    | 
 L  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 2  | Ethertype of Original Payload |                               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               |
 F  |                                                               |
 r  |                                                               |
 a  |                   Original Ethernet Payload                   |
 m  |                                                               |        
 e  |                                                               |
  \ | (Note that the original Ethernet Frame's FCS is not included) |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |     FCS (Frame Check Sequence) for Outer Ethernet Frame       |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

3.2. L2 LISP

An L2 LISP frame may optionally use the entire set of fields in the LISP header to support all of the features of the LISP protocol.

The figure below shows the whole L2 LISP frame, including the original inner L2 frame.

     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
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |            IPv4 or IPv6 Header  (with RLOC addresses)         |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  / |       Source Port = xxxx      |       Dest Port = 8472        |
UDP +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  \ |           UDP Length          |        UDP Checksum           |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
L   |N|L|E|V|I|flags|            Nonce/Map-Version                  |
I \ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
S / |                 Instance ID/Locator Status Bits               |
P   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  / |             Inner Destination MAC Address                     |
 I  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 n  | Inner Destination MAC Address | Inner Source MAC Address      |
 n  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
 e  |                Inner Source MAC Address                       |
 r  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    | Opt. Eth.type = C-Tag [802.1Q]| Inner.VLAN Tag Information    | 
 L  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 2  | Ethertype of Original Payload |                               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               |
 F  |                                                               |
 r  |                                                               |
 a  |                   Original Ethernet Payload                   |
 m  |                                                               |        
 e  |                                                               |
  \ | (Note that the original Ethernet Frame's FCS is not included) |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |     FCS (Frame Check Sequence) for Outer Ethernet Frame       |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

4. MTU Considerations

Since additional tunnel headers are prepended, the packet becomes larger and can exceed the MTU of any link traversed from the ITR to the ETR. [I-D.ietf-lisp] recommends in IPv4 that packets do not get fragmented as they are encapsulated by the ITR. Instead, the packet is dropped and an ICMP Too Big message is returned to the source. Section 5.4 of [I-D.ietf-lisp] recommends procedure to mitigate MTU issues for IPv4 or IPv6 packets.

5. Overlays for Network Virtualization

A notable use case for layer 2 LISP encapsulation is the use as an overlay-based network virtualization architecture to support multi-tenancy in large data center networks, as stated in [I-D.narten-nvo3-overlay-problem-statement]. In this use case, the 24-bit Instance ID serves as virtual network instance ID (VNID) that is typically used to identify the tenants in large multi-tenant data centers.

Packet replication in the underlay network to support broadcast, unknown unicast and multicast overlay services can be done by:

[I-D.ietf-lisp-multicast] and [I-D.farinacci-lisp-mr-signaling] specify how to map a multicast flow in the EID space during distribution tree setup and packet delivery in the underlay network.

6. LISP Mapping System

When the LISP mapping database system is used with L2 LISP, it must support the LISP Canonical Address Format (LCAF) specified in [I-D.farinacci-lisp-lcaf]. More specifically the mapping database system must support the use of MAC Addresses as LISP EIDs, and the use of Instance IDs as part of the lookup key.

According to [I-D.farinacci-lisp-lcaf] the encoding format for the 2-tuple <Instance-ID, MAC-address> is:

     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
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |           AFI = 16387         |    Rsvd1     |     Flags      |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |    Type = 2   | IID mask-len  |            Length             |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                         Instance ID                           |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |             AFI = 6           |    Layer-2 MAC Address  ...   |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                    ... Layer-2 MAC Address                    |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

In the case of a single instance of mapping database, no Instance ID is necessary, and the encoding format for the MAC address is shown below. In this case an Ethernet IEEE 802.1Q VLAN tag may be part of the lookup key (encoded in an Instance ID field).

     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
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |             AFI = 6           |    Layer-2 MAC Address  ...   |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                    ... Layer-2 MAC Address                    |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

A mapping database system that supports both the LISP Canonical Address Format, and Instance ID is the LISP Delegated Database Tree [I-D.fuller-lisp-ddt].

7. Security Considerations

Security in a network carrying L2 LISP should be similar to security in a normal IPv4 network. Packet filtering on the L2 LISP inner frames will require that a firewall look inside the L2 LISP packet or that filtering is done at the ITR/ETR.

8. IANA Considerations

The IANA registry has allocated UDP port number 8472 for the L2 LISP data packets.

9. Acknowledgements

The authors would like to thank Sumeet Singh, and Ajit Sanzgiri for their technical and editorial commentary.

10. References

10.1. Normative References

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

10.2. Informative References

[I-D.ietf-lisp] Farinacci, D, Fuller, V, Meyer, D and D Lewis, "Locator/ID Separation Protocol (LISP)", Internet-Draft draft-ietf-lisp-23, May 2012.
[I-D.narten-nvo3-overlay-problem-statement] Narten, T, Sridhavan, M, Dutt, D, Black, D and L Kreeger, "Problem Statement: Overlays for Network Virtualization", Internet-Draft draft-narten-nvo3-overlay-problem-statement-02, June 2012.
[I-D.mahalingam-dutt-dcops-vxlan] Sridhar, T, Bursell, M, Kreeger, L, Dutt, D, Wright, C, Mahalingam, M, Duda, K and P Agarwal, "VXLAN: A Framework for Overlaying Virtualized Layer 2 Networks over Layer 3 Networks", Internet-Draft draft-mahalingam-dutt-dcops-vxlan-01, February 2012.
[I-D.fuller-lisp-ddt] Fuller, V and D Lewis, "LISP Delegated Database Tree", Internet-Draft draft-fuller-lisp-ddt-01, March 2012.
[I-D.farinacci-lisp-lcaf] Farinacci, D, Meyer, D and J Snijders, "LISP Canonical Address Format (LCAF)", Internet-Draft draft-farinacci-lisp-lcaf-07, March 2012.
[I-D.ietf-lisp-multicast] Farinacci, D, Meyer, D, Zwiebel, J and S Venaas, "LISP for Multicast Environments", Internet-Draft draft-ietf-lisp-multicast-14, February 2012.
[I-D.farinacci-lisp-mr-signaling] Farinacci, D and M Napierala, "LISP Control-Plane Multicast Signaling", Internet-Draft draft-farinacci-lisp-mr-signaling-00, July 2012.

Authors' Addresses

Michael Smith Insieme Networks California USA EMail: michsmit@insiemenetworks.com
Dinesh Dutt Cumulus Networks California USA EMail: ddutt@cumulusnetworks.com
Dino Farinacci Cisco Systems 170 Tasman Drive San Jose, California 95134 USA EMail: dino@cisco.com
Fabio Maino Cisco Systems 170 Tasman Drive San Jose, California 95134 USA EMail: fmaino@cisco.com