Network Virtualization Overlays Working Group Q. Wu
Internet-Draft Huawei
Intended status: Standards Track 2013
Expires: December 25, 2016

MAC address learning in NVO3 using ARP
draft-wu-nvo3-mac-learning-arp-00

Abstract

[I.D-ietf-nvo3-framework] discusses using Dynamic data plane learning or control plane protocol to build and maintain the mapping tables and deliver encapsulated packets to their proper destination. However, there is no relevant work to discuss how those capabilities can be realized at the NVEs. This document goes into details to discuss how MAC address learning works through data plane and control plane.

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 December 25, 2016.

Copyright Notice

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

[I.D-ietf-nvo3-framework] discusses using Dynamic data plane learning or control plane protocol to build and maintain the mapping tables and deliver encapsulated packets to their proper destination. However, there is no relevant work to discuss how those capability can be realized at the NVEs. This document goes into details to discuss how MAC address learning works through data plane and control plane.

2. Conventions used in this document

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

3. Overview of MAC address learning using ARP

This document addresses how to build and maintain mapping table at the NVE associated with the tenant system through data plane learning or control plane.

Figure 1 shows the example architecture for MAC learning using ARP. This example architecture assumes that:

                         ,---------.
                       ,'  Backend  `.
                      (    Oracle    )
                       `.           ,'
                         `-+------+'
                      +--+--+   +-+---+
                      |DC GW|+-+|DC GW|
                      +-+---+   +-----+
                         |         |
                    .--..--. .--. ..
                   (    '           '.--.
                .-.'        L3          '
               (         Underlay       )
                (                     '-'
  MAP Table entry  .'--'._.'.-._.'.-._)  MAP Table entry
(TESID,MAC_X,IP_X) //                \\ (TESID,MAC_Y,IP_Y)
            +------+              +-------+
          .-|NVE X |              | NVE Y |
        (   +------+--.         ( +-------+.--.
      .-.'              '     .-.'              '
     (    DC Site X     )    (    DC Site Y     )
      (             .'-'      (             .'-'
       '--'._.'.    )          '--'._.'.    )
               '--'              /     '--'
            /     \             /       \
         __/_      \           /_       _\__
  '--------'   '--------'   '--------'   '--------'
  : Tenant :   : Tenant :   : Tenant :   : Tenant :
  : SystemA:   : SystemC:   : SystemD:   : SystemB:
  '--------'   '--------'   '--------'   '--------'
    TESID=                                  TESID=
(VNID,MAC_A,IP_A)                      (VNID,MAC_B,IP_B)

Figure 1: Figure 1 Example of MAC learning using ARP

4. MAC learning using ARP Resolution

MAC addresses of the Tenant systems also can be learnt by NVE through data plane and control plane. The following section outlines several examples for MAC learning using ARP resolution.

4.1. MAC learning using flooding without MAC hiding

The packet flow and control plane operation for MAC learning are as follows:

4.2. MAC learning using NVE-oracle interaction

The packet flow and control plane operation for MAC learning are as follows:

4.3. MAC learning using control plane operation and MAC hiding

MAC addresses of the Tenant systems also can be learnt by NVE through control plane.

When tenant system A is attached to NVE X, the mapping table TESID=<VNID,IP_A,MAC_A> should be populated at the local NVE A. In order to enable tenant system A to communicate with any tenant system that is not under NVE X, the mapping table should be distributed to all the remote NVEs that belong to the same VN even through there is no tenant system which communicates with tenant system A behind the remote NVE. In order to achieve this, NVE X should know the list of remote NVE that belong to the same VN as NVE X and distribute the mapping table to each remote NVE. Alternatively, backend Oracle may know a list of tenant systems that is in communication with tenant system A and which remote NVE these tenant systems are attached to. So NVE X distribute the mapping table to the backend Oracle which in turn determine which remote NVE should populate mapping table and distribute mapping table to the corresponding remote NVE. The packet flow for MAC learning in data plane are as follows:

4.4. MAC learning using control plane operation without MAC hiding

MAC addresses of the Tenant systems also can be learnt by NVE through control plane.

When tenant system A is attached to NVE X, the mapping table TESID=<VNID,IP_A,MAC_A> should be populated at the local NVE A. In order to enable tenant system A to communicate with any tenant system that is not under NVE X, the mapping table should be distributed to all the remote NVEs that belong to the same VN even through there is no tenant system which communicate with tenant system A behind the remote NVE. In order to achieve this, NVE X should know the list of remote NVE that belong to the same VN as NVE X and distribute the mapping table to each remote NVE. Alternatively, backend Oracle may know a list of tenant systems that is in communication with tenant system A and which remote NVE these tenant systems are attached to. So NVE X distribute the mapping table to the backend Oracle which in turn determine which remote NVE should populate mapping table and distribute mapping table to the corresponding remote NVE. The packet flow for MAC learning in data plane are as follows:

5. IANA Considerations

This document has no actions for IANA.

6. Security Considerations

TBC.

7. Normative References

[I.D-ietf-nvo3-framework] Lasserre, M., "Framework for DC Network Virtualization", ID draft-ietf-nvo3-framework-00, September 2012.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", March 1997.

Author's Address

Qin Wu Huawei 101 Software Avenue, Yuhua District Nanjing, Jiangsu 210012 China EMail: bill.wu@huawei.com