Multiple IPv4 address and port number - IPv6 address mapping encapsulation (M4P6E)
draft-matsuhira-m4p6e-06

Document Type Active Internet-Draft (individual)
Last updated 2019-05-31
Stream (None)
Intended RFC status (None)
Formats plain text pdf htmlized bibtex
Stream Stream state (No stream defined)
Consensus Boilerplate Unknown
RFC Editor Note (None)
IESG IESG state I-D Exists
Telechat date
Responsible AD (None)
Send notices to (None)
Network Working Group                                       N. Matsuhira
Internet-Draft                                           Fujitsu Limited
Intended status: Informational                              June 1, 2019
Expires: December 3, 2019

      Multiple IPv4 address and port number - IPv6 address mapping
                         encapsulation (M4P6E)
                        draft-matsuhira-m4p6e-06

Abstract

   This document specifies Multiple IPv4 address and port number - IPv6
   address mapping encapulation (M4P6E) specification.

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 [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 December 3, 2019.

Copyright Notice

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

Matsuhira               Expires December 3, 2019                [Page 1]
Internet-Draft                    M4P6E                        June 2019

   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  . . . . . . . . . . . . . . . . . . . . . . . . . 3
   2.  Architecture of M4P6E . . . . . . . . . . . . . . . . . . . . . 3
   3.  M4P6E address format  . . . . . . . . . . . . . . . . . . . . . 3
   4.  Using M4P6E in client server environments . . . . . . . . . . . 4
     4.1.  Client environments . . . . . . . . . . . . . . . . . . . . 4
     4.2.  Server environments . . . . . . . . . . . . . . . . . . . . 5
     4.3.  Data Center Environments  . . . . . . . . . . . . . . . . . 5
   5.  Port Number Issue . . . . . . . . . . . . . . . . . . . . . . . 6
   6.  IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 6
   7.  Security Considerations . . . . . . . . . . . . . . . . . . . . 7
   8.  References  . . . . . . . . . . . . . . . . . . . . . . . . . . 7
     8.1.  Normative References  . . . . . . . . . . . . . . . . . . . 7
     8.2.  References  . . . . . . . . . . . . . . . . . . . . . . . . 7
   Author's Address  . . . . . . . . . . . . . . . . . . . . . . . . . 7

Matsuhira               Expires December 3, 2019                [Page 2]
Internet-Draft                    M4P6E                        June 2019

1.  Introduction

   This document provides Multiple IPv4 address and port number - IPv6
   address mapping encapulation (M4P6E) base specification.

   M4P6E provide IPv4 address sharing function without Network Address
   Translation (NAT [RFC1631]).  M4P6E require IPv6 network.

2.  Architecture of M4P6E

   Figure 1 shows M4P6E address architecture.  M4P6E address consists
   four parts, M4P6E prefix, IPv4 network plane ID, IPv4 address, and
   Port number.

   |                      |                |                |         |
   |    80 - m bits       |   m bits       |    32 bits     | 16 bits |
   +----------------------+----------------+----------------+----:----+
   |  M4P6E prefix        | IPv4 network   |  IPv4 address  |  port   |
   |                      | plane ID       |                | number  |
   +----------------------+----------------+----------------+----:----+
   |<--------------- Locator (128 -n bits  )-------------------->:<-->|
   |                                                             : ID |
   |                                                            (n bits)

                                 Figure 1

   In M4P6E, boundary of locator and identifier is in port number part,
   that mean, M4P6E use upper part of port number as locator, and lower
   part of port number as identifier.

3.  M4P6E address format

   Figure 2 show a example of M4P6E address format.  In this example,
   16bits IPv4 network plane ID is used, that provide 65535 IPv4 network
   plane.

    | 3 |      45bits      |  16bits |  16 bits|   32bits   | 16 bits |
    +---+------------------+---------+---------+------------+---------+
    |001|  routing prefix  |subnet id| plane ID|IPv4 address| Port #  |
    +---+------------------+---------+----------------------+---------+

Matsuhira               Expires December 3, 2019                [Page 3]
Internet-Draft                    M4P6E                        June 2019

                                 Figure 2

4.  Using M4P6E in client server environments

4.1.  Client environments

   Figure 3 shows a example of M4P6E usage in client environments.  In
   this document, NAPT is IPv4 - IPv4 Netowrk address and port number
   translator.  Coopetation with NAPT, M4P6E provide IPv4 address
   sharing with different users.

    +--------------+
    |              |    +---------+  +--------+     +---------+
    |              +----|  M4P6E  |--|  NAPT  |--+--| Clients |
    |              |    +---------+  +--------+  |  +---------+
    |              |                             |  +---------+
    |              |                             +--| Clients |
    | Backbone     |                             |  +---------+
    |              |                             :
    |              |                             |  +---------+
    |   Network    |                             +--| Clients |
    |              |                                +---------+
    |              |
    |              |    +---------+  +--------+     +---------+
    |              +----|  M4P6E  |--|  NAPT  |--+--| Clients |
    |              |    +---------+  +--------+  |  +---------+
    |              |                             |  +---------+
    |              |                             +--| Clients |
    |              |                             |  +---------+
    |              |                             :
    |              |                             |  +---------+
    |              |                             +--| Clients |
    |              |                                +---------+
    :              :        :             :              :
    |              |    +---------+  +--------+     +---------+
    |              +----|  M4P6E  |--|  NAPT  |--+--| Clients |
    |              |    +---------+  +--------+  |  +---------+
    |              |                             |  +---------+
    |              |                             +--| Clients |
    |              |                             |  +---------+
    |              |                             :
    |              |                             |  +---------+
    |              |                             +--| Clients |
    |              |                                +---------+
    +--------------+

Matsuhira               Expires December 3, 2019                [Page 4]
Internet-Draft                    M4P6E                        June 2019

                                 Figure 3

4.2.  Server environments

   Figure 4 shows an example of M4P6E usage in server environments.  In
   this example, server terminate M4P6E tunnel.  This case, Server
   require at least one port number per server, that mean, 128bits host
   route advertise for server access via IPv4.  This case, full access
   is provided via IPv6.

    +--------------+
    |              |    +------------+
    |              +----|Server with |
    |              |    |M4P6E       |
    | Backbone     |    |function    |
    |              |    +------------+
    |              |    +------------+
    |  Network     +----|Server with |
    |              |    |M4P6E       |
    |              |    |function    |
    |              |    +------------+
    :              :           :
    |              |    +------------+
    |              +----|Server with |
    |              |    |M4P6E       |
    |              |    |function    |
    |              |    +------------+
    +--------------+

                                 Figure 4

4.3.  Data Center Environments

   Figure 5 shows an example of M4P6E usage in Data Center environments.
   In this example, M4P6E is used only in Data Center Backend Network
   closely.  Client which is connected via backbone network does not
   know the exists of M4P6E. M4P6E can provide at least one port number
   per server, this case, 128bits host route is advertised, however this
   route in advertised only in data center backbone network.  Ofcource,
   IPv6 address may allocated to the server, so full access is provided
   via IPv6.

Matsuhira               Expires December 3, 2019                [Page 5]
Internet-Draft                    M4P6E                        June 2019

                                .
    +--------+                  .        +-------+
    |        |  +-------+       .        |       | +-----------------+
    |        +--+       |       .        |       |-|  Server w/M4P6E |
    |        |  | Data  |       .        | Data  | +-----------------+
    |Backbone+--+Center |  +----------+  |Center | +-----------------+
    |        |  |       +--|   M4P6E  |--+       |-|  Server w/M4P6E |
    |        |  |Front  |  +----------+  |Backend| +-----------------+
    |Network |  |Network|       .        |Network| +-----------------+
    |        |  |       |  +----------+  |       |-|  Server w/M4P6E |
    |        |  |       +--|   M4P6E  |--+       | +-----------------+
    |        |  |       |  +----------+  |       | +-----------------+
    :        :  :       :       .        |       |-|  Server w/M4P6E |
    |        |  |       |       .        |       | +-----------------+
    |        |  |       |       .        |       |         :
    |        |  |       |       .        |       | +-----------------+
    |        |  |       |       .        |       |-|  Server w/M4P6E |
    |        |  +-------+       .        |       | +-----------------+
    +--------+                  .        +-------+
                                .
    -Normal IPv4 communication->.<----- M4P6E ----->
                                .     communication
                                .
    ------- Normal IPv6 communication ----------------->
                                .

                                 Figure 5

5.  Port Number Issue

   M4P6E require port number of transport layer.  M4P6E can not support
   ICMPv4 [RFC0792].  The function provided by ICMPv4 does not work in
   M4P6E environments, such as Path MTU Discovery [RFC1191], ping
   command, etc.

   M4P6E can not also support IPv4 IPsec ESP [RFC4303] because transport
   header is encrypted.

6.  IANA Considerations

   This document makes no request of IANA.

   Note to RFC Editor: this section may be removed on publication as an
   RFC.

Matsuhira               Expires December 3, 2019                [Page 6]
Internet-Draft                    M4P6E                        June 2019

7.  Security Considerations

   M4P6E use automatic tunneling technologies.  Security consideration
   related tunneling technologies are discussed in RFC2893 [RFC2893],
   RFC2267 [RFC2267], etc.

8.  References

8.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,
              <http://www.rfc-editor.org/info/rfc2119>.

8.2.  References

   [RFC0792]  Postel, J., "Internet Control Message Protocol", STD 5,
              RFC 792, DOI 10.17487/RFC0792, September 1981,
              <http://www.rfc-editor.org/info/rfc792>.

   [RFC1191]  Mogul, J. and S. Deering, "Path MTU discovery", RFC 1191,
              DOI 10.17487/RFC1191, November 1990,
              <http://www.rfc-editor.org/info/rfc1191>.

   [RFC1631]  Egevang, K. and P. Francis, "The IP Network Address
              Translator (NAT)", RFC 1631, DOI 10.17487/RFC1631,
              May 1994, <http://www.rfc-editor.org/info/rfc1631>.

   [RFC2267]  Ferguson, P. and D. Senie, "Network Ingress Filtering:
              Defeating Denial of Service Attacks which employ IP Source
              Address Spoofing", RFC 2267, DOI 10.17487/RFC2267,
              January 1998, <http://www.rfc-editor.org/info/rfc2267>.

   [RFC2893]  Gilligan, R. and E. Nordmark, "Transition Mechanisms for
              IPv6 Hosts and Routers", RFC 2893, DOI 10.17487/RFC2893,
              August 2000, <http://www.rfc-editor.org/info/rfc2893>.

   [RFC4303]  Kent, S., "IP Encapsulating Security Payload (ESP)",
              RFC 4303, DOI 10.17487/RFC4303, December 2005,
              <http://www.rfc-editor.org/info/rfc4303>.

Matsuhira               Expires December 3, 2019                [Page 7]
Internet-Draft                    M4P6E                        June 2019

Author's Address

   Naoki Matsuhira
   Fujitsu Limited
   17-25, Shinkamata 1-chome, Ota-ku
   Tokyo,   144-8588
   Japan

   Phone: +81-3-3735-1111
   Fax:
   Email: matsuhira@jp.fujitsu.com

Matsuhira               Expires December 3, 2019                [Page 8]