Internet-Draft | M46E-FP | April 2023 |
Matsuhira | Expires 6 October 2023 | [Page] |
This document specifies Multiple IPv4 - IPv6 address mapping encapsulation - fixed prefix (M46E-FP) specification. M46E-FP makes backbone network to IPv6 only. And also, M46E-FP can stack many IPv4 networks, i.e. the networks using same IPv4 (private) addresses, without interdependence.¶
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].¶
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 https://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 6 October 2023.¶
Copyright (c) 2023 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 (https://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 Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License.¶
This document provides Multiple IPv4 - IPv6 address maping encapsulation - fixed prefix (M46E-FP) specification.¶
The basic strategy for IPv6 deployment is dual stack. Viewing this strategy from operational side, operation cost of dual stack is higher than single stack operation. Viewing from future, IPv6 only operation is more reasonable rather than IPv4 only operation. Therefore IPv6 only operation is desired.¶
M46E-FP makes backbone network to IPv6 only and privide IPv4 connectivities. And also, M46E-FP can stack many IPv4 networks, i.e. the networks using same IPv4 (private) address, without interdependence.¶
IP address contain two information, one is locator information, and another is identifier information. This is basic architecture of internet protocol, and also the Internet, and no difference between IPv4 and IPv6.¶
Locater is a information related "Where", and indentifier is a information related "Who". That mean, IP address's semantics is "Where's Who" meaning. Host is identified whole IP address information, that is "Where's Who", however route to the host is identified just locator information in IP address, that is "Where". See Figure 1.¶
In IPv4 address space, some host has IPv4 address, which consist n bits length identifier and 32 - n bits locator. In Where's Who representation, 32 - n bits "Where" and n bits "Who".¶
Keeping such "Where's Who" relation, IPv4 address can be represent as IPv6 address by expanding "Where" information from 32 - n bits to 128 - n bits. Expanding " Where" information, IPv4 address can be mapped to IPv6 address. Figure 2 shows such expanding.¶
IPv4 address space contain private address, that is non globally unique IP address. If some identifier which distinguish private address can introduce in IPv6 address space, we can treate IPv4 private address as different address in IPv6 address space. This document define such identifier as "IPv4 network plane ID". "IPv6 network plane ID" can provide VPN (Virtual Private Network) like service.¶
That is M46A. In M46E-FP address, "Where" information's bit length is 128 -n bits, and "Who" information's bit length is n bits. Figure 3 shows summary of IPv4 address and M46E-FP address relation.¶
Figure 4 shows network configuration with M46E-FP. The network consists of three parts. Backbone network, stub network, and M46E-FP.¶
Backbone network is operated with IPv6 only. Stub network has three cases. IPv4 only, Dual Stack (both IPv4 and IPv6), and IPv6 only.¶
M46E-FP connects backbone network and stub network in case IPv4 still works in that stub network. If stub network is IPv6 only, M46E-FP is not needed.¶
Campus network, corporate network, ISP and datacenter network are the example for such network.¶
M46E-FP has mainly two function. One is IPv4 over IPv6 Encapsulation / Decapsulation, and another is advertise route for stub network.¶
M46E-FP encapsulates IPv4 packet to IPv6 from stub network to backbone network, and decapsulates IPv6 packet to IPv4 from backbone network to stub network. Figure 5 shows such movement.¶
M46E-FP MUST support tunnel MTU discovery [RFC1853]. When encapsulated IPv6 Packet size exceed path MTU and inner IPv4 packet have the Don't Fragment bit is set, M46E-FP MUST return ICMP Destination unreachable message with Type3 Code4, fragmentation needed and DS set [RFC0792].¶
In case IPv6, M46E-FP just relays IPv6 packet.¶
By IPv4 over IPv6 function, M46E-FP make backbone network to IPv6 only.¶
M46A is a IPv6 address used in outer IPv6 header which encapsulate IPv4 packet by M46E-FP. M46A is described in M46A [I-D.draft-matsuhira-m46a].¶
Figure 7 shows M46A address architecture¶
M46A consists of three parts as follows.¶
M46A is resolved copying IPv4 address in inner IPv4 packet, and preconfigured values, M46A prefix and IPv4 network plane ID.¶
M46E-FP converts stub network's IPv4 route to M46E-FP IPv6 route and advertises to backbone network. And reverse direction, M46E-FP converts M46E-FP IPv6 route to IPv4 route, that advertises other IPv4 stub networks.¶
The IPv4 route for stub network is map to M46E-FP IPv6 route one to one, so number of route of IPv4 is same as number of route of M46E-FP IPv6 route. Total number of route is same as when backbone network operate dual stack, without M46E-FP.¶
In stub network, usual dynamic routing protocol for IPv4 and IPv6 can be used such as RIPv2 [RFC2453], RIPng [RFC2080], OSPFv2 [RFC2328], OSPFv3 [RFC2740] and IS-IS [RFC1195][RFC5308]. Similarly, in backbone network, usual dynamic routing protocol for IPv6 can be used such as RIPng [RFC2080], OSPFv3 [RFC2740] and IS-IS [RFC5308] .¶
If want using default route, default M46E-FP advertise the route [M46E-FP address prefix/( 96 - m )] as default route. If want using different default route by IPv4 network plane ID, default M46E-FP in IPv4 network plane #1 advertise the route [ M46E-FP address prefix + IPv4 network plane ID #1 / 96] as default route. Figure 10 in Section 7 show the example using default route.¶
M46E-FP can provide VPN like service to stub networks by using different IPv4 network plane ID value.¶
If backbone network operator provide IPv4 privates network service to Organization A, backbone network operator sets IPv4 network plane ID value =1 to the M46E-FP which connects stub network of organization A. If there are five stub network of organization A, backbone network operator sets same IPv4 network plane ID = 1, to five M46E-FPs which connect stub network of organization A. If there are one hundred stub network of organization B, backbone network operator sets same IPv4 network plane ID = 2, to one hundred M46E-FPs which connect stub network of organization B. If a new stub network in organization B join, backbone network operator configures same IPv4 network plane ID = 2, to the new stub network only, which connect stub network of organization B, and no configuration is needed to one hundred M46E-FPs which are already connected.¶
Such configuration, that means same stub network group to same IPv4 network plane ID value, is simple and easy to understand, so, it is expected that possibility of misconfiguration is very low. And also, number of configuration is minimum, that mean, number of configuration is same as number of stub networks, and add new stub network, configure to new one only.¶
Describe above, M46E-FP can provide VPN like service, for example, Intranet or extranet. And, after IPv4 global address running out, some service provider may want to reuse IPv4 private address. M46E-FP can provide such IPv4 private address networks over single IPv6 backbone network. By M46E-FP, some service providers may reuse IPv4 private address.¶
M46E-FP brings no limit for redundancy. Figure 8 shows such example in case two connection between backbone network and stub network. Number of link between backbone network and stub network is not limited, and different type of link can be used, for example, for wire and wireless.¶
Configuration of M46E-FPs, which connect same stub network, is same. That mean same M46E-FP prefix and same IPv4 network plane ID value.¶
Figure 9 shows M46E-FP operation which does not use IPv4 network plane ID. In this example, two stub network is connected to backbone network via M46E-FP. One stub network is 10.1.1.0/24 sub network, and the other is 10.1.2.0/24 sub network.¶
When M46E-FP receives IPv4 route advertisement, then M46E-FP convert this IPv4 route to IPv6 route by address resolution to M46E-FP address, and advertise this IPv6 route to backbone network. When M46E-FP receives IPv6 route advertisements, then M46E-FP converts this IPv6 route to IPv4 route if this IPv6 route is match M46E-FP address ( same prefix with M46E-FP), and advertise this IPv4 route to stub network.¶
In this example. IPv4 route, 10.1.1.0/24 is converted to IPv6 route, <M46E-FPprefix>:10.1.1.0/120,and IPv4 route, 10.1.2.0/24 is converted to IPv6 route, <M46E-FPprefix>:10.1.2.0/120 at M46E-FP from stub network to backbone network. And, from backbone network to stub network, IPv6 route, <M46E-FPprefix>:10.1.1.0/120 is converted to IPv4 route, 10.1.1.0/24, and IPv6 route, <M46E-FPprefix>:10.1.2.0/120 is converted to IPv4 route, 10.1.2.0/24.¶
Figure 10 shows the example using default route. Default route is useful in case most packets are routed same path. Typically, access network is one of the example. Although using default route, communication between stub networks can be done. Communication between host 10.1.1.1 and host 10.1.2.1 can be done inside in access network, and does not pass over default M46E-FP.¶
Figure 11 shows M46E-FP operation which uses IPv4 network plane ID. In this example, there are two planes, and two stub network in each plane is connected to backbone network via M46E-FP. In each plane, one stub network is 10.1.1.0/24 sub network, and the other is 10.1.2.0/24 sub network, that means same IPv4 address is used in different plane.¶
When M46E-FP receives IPv4 route advertisements, then M46E-FP converts this IPv4 route to IPv6 route by address resolution to M46E-FP address, and advertise this IPv6 route to backbone network. When M46E-FP receives IPv6 route advertisements, then M46E-FP converts this IPv6 route to IPv4 route if this IPv6 route is match M46E-FP address ( same prefix with M46E-FP), and advertises this IPv4 route to stub network.¶
In this example in plane #1. IPv4 route, 10.1.1.0/24 is converted to IPv6 route, <M46E-FPprefix><#1>:10.1.1.0/120,and IPv4 route, 10.1.2.0/24 is converted to IPv6 route, <M46E-FPprefix><#1>:10.1.2.0/120 at M46E-FP from stub network to backbone network. And, from backbone network to stub network, IPv6 route, <M46E-FPprefix><#1>:10.1.1.0/120 is converted to IPv4 route, 10.1.1.0/24, and IPv6 route, <M46E-FPprefix><#1>:10.1.2.0/120 is converted to IPv4 route, 10.1.2.0/24.¶
And also, In this example in plane #2. IPv4 route, 10.1.1.0/24 is converted to IPv6 route, <M46E-FPprefix><#2>:10.1.1.0/120,and IPv4 route, 10.1.2.0/24 is converted to IPv6 route, <M46E-FPprefix><#2>:10.1.2.0/120 at M46E-FP from stub network to backbone network. And, from backbone network to stub network, IPv6 route, <M46E-FPprefix><#2>:10.1.1.0/120 is converted to IPv4 route, 10.1.1.0/24, and IPv6 route, <M46E-FPprefix><#2>:10.1.2.0/120 is converted to IPv4 route, 10.1.2.0/24.¶
In IPv6 space, address <M46E-FPprefix><#1>:10.1.1.1 and address <M46E-FPprefix><#2>:10.1.1.1 are different address, route <M46E-FPprefix><#1>:10.1.1.0/120 and route <M46E-FPprefix><#2>:10.1.1.0/120 are different route, although in IPv4 space, address 10.1.1.1 in plane #1 and 10.1.1.1 in plane#2 are same address, route 10.1.1.0/24 in plane#1 and route 10.1.1.0/24 in plane#2 are same route.¶
Figure 12shows the example using default route with IPv4 network plane. In this case, default M46E-FP may configure different by each IPv4 network plane.¶
M46E-FP has following useful characteristics.¶
This document makes no request of IANA.¶
Note to RFC Editor: this section may be removed on publication as an RFC.¶
M46E-FP use automatic Encapsulation / Decapsulation technologies. Security consideration related tunneling technologies are discussed in RFC2893[RFC2893], RFC2267[RFC2267], etc.¶