Multiple Ethernet - IPv6 address mapping encapsulation - prefix resolution
Naoki Matsuhira
WIDE Project
Japan
naoki.matsuhira@gmail.com
4 April 2022
IPv6
Ethernet
This document specifies Multiple Ethernet - IPv6 address mapping encapsulation - Prefix Resolution (ME6E-PR) specification. ME6E-PR makes expantion ethernet network over IPv6 backbone network with encapsuation technoogy. And also, E6ME-PR can stack multiple Ethernet networks. ME6E-PR work on non own routing domain.

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 RFC 2119.

Introduction
This document provide Multiple Ethernet - IPv6 address mapping encapsulation - Prefix Resolution (ME6E-PR) specification.
ME6E-PR make many virtual ethernet network over IPv6 network with unicast base technology.
ME6E-PR can use on both own routing domain and non own routing domain, i.e. can or cannot advertise routes to the network.

Basic Network Configuration
Figure 1 shows network configuration with ME6E-PR. The network consists of three parts, backbone network, nodes (host or router), and ME6E-PR.
Backbone network can be operated with dual stack or IPv6 only. Node may physical node or virtual node, and have Ethernet Interface.
ME6E-PR connects IPv6 network and nodes. ME6E-PR connect to node with Ethernet (Layer2), and ME6E-PR connect to IPv6 network with IPv6 (Layer3).
/---------------------------------------------------\
|                                                   |
|                  IPv6 Network                     |
|          (Dual stack or IPv6 only)                |
|                                                   |
\---------------------------------------------------/
       |                             |
   +-------+            +------------------------+
   |E6ME-PR|            |        E6ME-PR         |
   +-------+            +------------------------+
       |                    |                |
 /--------------\   /--------------\   /--------------\
 |              |   |              |   |              |
 | Node         |   | Node         |   | Node         |
 |(Host/Router) |   |(Host/Router) |   |(Host/Router) |
 |              |   |              |   |              |
 \--------------/   \--------------/   \--------------/

Basic Function of ME6E-PR
ME6E-PR has mainly two function.
One is encapsulate from Ethernet frame to IPv6 packet, and decapsulate from IPv6 packet to Ethernet frame. Another is generate a table where Ethernet MAC address belong to IPv6 network.

Ethernet over IPv6 Encapsulation
ME6E-PR encapsulates Ethernet frame to IPv6 packet from node to IPv6 network, and decapsulates IPv6 packet to Ethernet frame from IPv6 network to node. Figure 2 shows frame and packet format on both IPv6 network and IPv6 network.

     +--------+------------+       +----------+--------+------------+
     |Ethr Hdr|    Data    |  -->  | IPv6 Hdr |Ethr Hdr|    Data    |
     +--------+------------+       +----------+--------+------------+

     +--------+------------+       +----------+--------+------------+
     |Ethr Hdr|    Data    |  <--  | IPv6 Hdr |Ethr Hdr|    Data    |
     +--------+------------+       +----------+--------+------------+

    /-------------------\  +----------+  /-----------------------------\
    |   Node            |--| ME6E-PR  |--|       IPv6 Network          |
    |(Host or Router)   |  +----------+  |(Dual stack or IPv6 only)    |
    \-------------------/                \-----------------------------/

The value of next header field of IPv6 header is TBD. The value of EtherIP(RFC3378) EtherIPmay used, however new value for this protocol may assigned.
When encapsulated IPv6 Packet size exceed path MTU , ME6E-PR fragment Ethernet frame, and then send them.

Multiple Ethernet - IPv6 mapped address (ME6A) architecture
ME6A[I-D.matsuhira-me6a] is a IPv6 address used in outer IPv6 header which encapsulate ethernet frame by ME6E-PR. Figure 3 shows ME6A architecture.
 |  96 - m -n bits          |         m bits         |     n bits     |
 +--------------------------+------------------------+----------------+
 |   ME6 address prefix     | Multiple net plane ID  |Ethernet address|
 +--------------------------+------------------------+----------------+

ME6E address consists of three parts as follows.
ME6 address prefix:
ME6 address prefix. This value is resolved by ME6E-PR.
Multiple network plane ID:
Multiple network plane ID is an identifier of Ethernet network over IPv6 backbone network. This value is preconfigured depend on the ME6E-RP belong which ethernet network plane. This value is just like VLAN-ID of IEEE802.1Q, tag VLAN.
EThernet address:
Ethernet MAC address in inner Ethernet frame. EUI-48 address or EUI-64 address.

Resolving ME6E address
ME6E-PR resolve ME6 address using ME6E Prefix Resolution Table (ME6E-PR Table). ME6E-PR generate ME6E-PR address resolving ME6E-PR prefix from Multiple network plane ID and Ethernet MAC address. Figure 4 show this processing.
 |  96 - m -n bits          |         m bits         |     n bits     |
 +--------------------------+------------------------+----------------+
 |  ME6 address prefix      | Multiple net plane ID  |Ethernet address|
 +--------------------------+------------------------+----------------+

 \--------------------------/\--------------------------------------/
            ^                                     |
            |                                     |
            |                                     v
 +------------------------------------------------------------------+
 |                                                                  |
 |       ME6E Prefix Resolution Table (ME6E-PR Table)               |
 |                                                                  |
 +------------------------------------------------------------------+

Figure 5 show ME6E-PR Table. This table consists four parts, Multiple network plane ID, Ehernet address, netmask, and ME6 address prefix.
   +---------------------+----------------+-------++-------------------+
   |Multiple net plane ID|Ethernet address|netmask|| ME6 address prefix|
   +---------------------+----------------+-------++-------------------+
   |Multiple net plane ID|Ethernet address|netmask|| ME6 address prefix|
   +---------------------+----------------+-------++-------------------+
   |Multiple net plane ID|Ethernet address|netmask|| ME6 address prefix|
   +---------------------+----------------+-------++-------------------+
   |Multiple net plane ID|Ethernet address|netmask|| ME6 address prefix|
   +---------------------+----------------+-------++-------------------+
                 :              :               :
   +---------------------+----------------+-------++-------------------+
   |Multiple net plane ID|Ethernet address|netmask|| ME6 address prefix|
   +---------------------+----------------+-------++-------------------+

ME6E-PR configured multiple network plane ID, so ME6E-PR know multiple network plane ID value the interface belongs.
Resolving destination address, ME6E-PR use pre-configured multiple network plane ID valude, and destination MAC address of Ehernet frame, and search the ME6E-PR table. ME6E-PR table return the ME6 address prefix value correspoiding multiple network plane ID and ethernet destination MAC address. Then ME6E-PR generate whole ME6 address.
Resolving source address, ME6E-PR already know multiple network plane ID value and IPv6 address prefix as ME6 prefix. So, searching the ME6E-PR table does not require for resolving source address.

Sample configuration
Figure 6 shows sample confiuration of ME6E-PR. In this example, there are three IPv4 stub network with the same IPv4 network plane.

 /------------\  /--------------------------------------------/
 |            |  | Stub Network #1                            |
 |            |  |  2001:0db8:0:1::/64                        |
 |            |  | +--------+  /----------------------------\ |
 |            |--| |ME6E-PR|-- |00:00:00:00:00:01(plane 1)  | |
 |            |  | +--------+  |                            | |
 |            |  |             \----------------------------/ |
 |           <--[2001:0db8:0:1::/64]                          |
 |            |  /--------------------------------------------/
 |            |
 |            |  /--------------------------------------------/
 |            |  | Stub Network #2                            |
 |            |  |  2001:0db8:0:2::/64                        |
 | Backbone   |  | +--------+  /----------------------------\ |
 | Network    |--| |ME6E-PR|-- |00:00:00:00:00:02(plane 1)  | |
 |            |  | +--------+  |                            | |
 |            |  |             \----------------------------/ |
 |           <--[2001:0db8:0:2::/64]                          |
 |            |  /--------------------------------------------/
 |            |
 |            |  /--------------------------------------------/
 |            |  | Stub Network #3                            |
 |            |  |  2001:0db8:0:3::/64                        |
 |            |  | +--------+  /----------------------------\ |
 |            |--| |ME6E-PR|-- |00:00:00:00:00:03(plane 1)  | |
 |            |  | +--------+  |                            | |
 |            |  |             \----------------------------/ |
 |           <--[2001:0db8:0:3::/64]                          |
 |            |  /--------------------------------------------/
 |            |
 \------------/

Figure 7 shows ME6E-PR table for sample network.
   +---------+-------------------+-------++----------------------+
   | plane ID|    MAC address    |netmask||ME6E-PR address prefix|
   +---------+-------------------+-------++----------------------+
   |    1    | 00:00:00:00:00:01 | /128  || 2001:0db8:0:1        |
   |    1    | 00:00:00:00:00:02 | /128  || 2001:0db8:0:2        |
   |    1    | 00:00:00:00:00:03 | /128  || 2001:0db8:0:3        |
   +---------+-------------------+-------++----------------------+

IANA Considerations
This document makes no request of IANA if using EtherIP Header.
Note to RFC Editor: this section may be removed on publication as an RFC.

Security Considerations
Security Considerations does not discussed in this memo.

Normative References
[I-D.matsuhira-me6a]

Multiple Ethernet - IPv6 mapped IPv6 address (ME6A)
N. Matsuhira
M
1 June 2019

Informative References