Outer Header Translator
Naoki Matsuhira
Neptela
Japan
matsuhira.ietf@gmail.com
26 February 2024
Network address translation technology has a convenient aspect, however, it has the side effect of breaking end-to-end transparency. This document proposes a technology that achieves both network address translation and end-to-end transparency. This technology may provide solutions for mobility, migration, multihoming, policy routing, etc.

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
NAT was devised as a short-term solution to the exhaustion of IPv4 addresses, and is placed at the boundary between a private network (Intranet) built using private addresses and the Internet. Communication closed to the intranet is made possible by using private addresses. A global address is required only for hosts communicating with the Internet, and this is achieved by NAT performing address translation.This technology supported the expansion of the Intranets and the Internet.
After that, technology was developed that allows multiple hosts to share a single global IPv4 address. This technology is called NAPT (Network Address Port Translation). This technology was primarily used in SOHO (small office/home office) networks and supported the expansion of SOHO networks and the Internet.
On the other hand, 8+8/GSE was proposed in the early stages of the IPv6 discussion. This proposal involves translating the prefix part of the IPv6 address. Therefore, it has the side effects of NAT. As a result, there was a lot of discussion. Note that this has nothing to do with IPv4 address exhaustion.
Furthermore, as for the transition technology from IPv4 to IPv6, technologies that involve address translation such as NAT-PT were considered, but this is also a technology similar to NAT and has a lot of discussion.
Internet Transparency is summarized in RFC2775.

Concept of Architecture
End-to-end transparency can be maintained by encapsulating packets generated by the host and subjecting only the encapsulated outer IP header to address translation. That is, internal packets must not be translation.
Figure 1 shows encapsulation. IP Encapsulation within IP is described in RFC2003.

                                       +-------------------------+
                                       |                         |
                                       |     Outer IP Header     |
                                       |                         |
     +-------------------------+       +-------------------------+
     |                         |       |                         |
     |        IP Header        |       |        IP Header        |
     |                         |       |                         |
     +-------------------------+ ====> +-------------------------+
     |                         |       |                         |
     |                         |       |                         |
     |        IP Payload       |       |        IP Payload       |
     |                         |       |                         |
     |                         |       |                         |
     +-------------------------+       +-------------------------+

Typically, the destination IP address in the outer header is the address of the tunnel endpoint. However, in this concept, the outer header is a copy of the inner header. If the outer header is not translated, the outer header remains the same as the internal header. After encapsulation, the outer header of the packet is subject to translate.

Terminoligy
This section defines terminologies.
Outer Header Translator:
Refers to the device or processing module that performs this processing.
Outer Header Translation:
Show the method.
Outer Header Translation Table:
Outer Header Translation Table
Outer Header Translation Relay:
Indicates communication via one or more Outer Header Translators
Outer Header Translation Domain:
Indicates a domain using OHT.

Network Configuration
This section describes network configuration with OHT.
Figure 2 shows sample network configuration with OHT.

              ~~~~~~~~~~                  ~~~~~~~~~
+-------+    /   IP    /    +-------+    /   IP    /    +-------+
|  OHT  |----/ Network /----|  OHT  |----/ Network /----|  OHT  |
+----+--+    /         /    +-------+    /         /    +--+----+
     |       ~~~~~~~~~~~                 ~~~~~~~~~~        |
---+-+----                                             ----+-+---
   |                                                         |
+--+---*                                                 +---+--*
| HOST |                                                 | HOST |
+------*                                                 +------*

Typically, OHT is implemented in a router. Encapsulation and decoupling are also implemented in routers. However, other implementations are possible. For example, encapsulation and decapsulation may be implemented in the host.

OHT Processing

Support IP protocol versions
Figure 3 shows possible IP protocol versions, i.e. IPv4 and IPv6 combinations.

  +---------------------------+----------------------------+
  |  Outer IP Header Version  | Inner IP Protocol Version  |
  +---------------------------+----------------------------+
  |                           |     IPv6                   |
  |           IPv6            +----------------------------+
  |                           |     IPv4                   |
  +---------------------------+----------------------------+
  |                           |     IPv6                   |
  |           IPv4            +----------------------------+
  |                           |     IPv4                   |
  +---------------------------+----------------------------+

There are four combinations, and dealing with all of them would be complicated. Therefore, it would be good if the Outer IP Header could be limited to IPv6 only.

Encapsulation / Decapsulation
In this concept, the outer header is a copy of the inner header.
In this concept, the outer header is essentially a copy of the inner header. According to this, the possible combinations of IP protocol versions are IPv6 over IPv6 and IPv4 over IPv4. If it is assumed that it will be applied to an IPv6 only backbone, accommodation of IPv4 will be possible with IPv6 over IPv6 over IPv4. In this case, the IPv6 Addresses with Embedded IPv4 Addresses can be used as the IPv6 address in the internal IPv6 header.
If support for IPv4 private addresses, M46A might be useful.

OHT Table
Figure 4 shows the structure of OHT table.

+------+------+------+------+------+------+------+------++------+------+
| Inner| Inner| Inner| Inner| Inner| Inner| Inner| Outer|| Next | Next |
| Src  | Src  | dst  | dst  | Next | src  | dst  | Src  || Outer| Outer|
| IP   | IP   | IP   | IP   | Hdr  | port | port | IP   || Src  | Dst  |
| addr | mask | addr | mask |      |      |      | addr || IP   | IP   |
|      |      |      |      |      |      |      |      || addr | addr |
+------+------+------+------+------+------+------+------++------+------+
|      |      |      |      |      |      |      |      ||      |      |
+------+------+------+------+------+------+------+------++------+------+
|      |      |      |      |      |      |      |      ||      |      |
+------+------+------+------+------+------+------+------++------+------+
|   :  |   :  |   :  |   :  |   :  |   :  |   :  |   :  ||   :  |   :  |
|   :  |   :  |   :  |   :  |   :  |   :  |   :  |   :  ||   :  |   :  |
+------+------+------+------+------+------+------+------++------+------+

The table may contain Traffic Class and Flow Label.

Address Type
Figure 5 shows possible address type combinations for outer header destination addresses and inner header destination addresses are shown.

+------------------------------------------------------------+
|  outer header              +---------+---------+-----------+
|                            | unicast | anycast | multicast |
|                            | address | address | Address   |
|                            | Global  |         |           |
+-+-----------+--------------+---------+---------+-----------+
|i| unicast   | Global       |    o    |    o    |    ?      |
|n| address   +--------------+---------+---------+-----------+
|n|           | Embedded IPv4|    o    |    o    |    ?      |
|e|           +--------------+---------+---------+-----------+
|r|           | Link-Local   |    x    |    x    |    x      |
| |           +--------------+---------+---------+-----------+
|h|           | Unique Local |    o    |    o    |    ?      |
|d+-----------+--------------+---------+---------+-----------+
|r| anycast address          |    o    |    o    |    ?      |
| +--------------------------+---------+---------+-----------+
| | multicast address        |    o    |    o    |    o      |
+-+--------------------------+---------+---------+-----------+

Possible Solutions
OHT provides solutions for mobility, migration, multi-homing, policy routing, service function chaining, etc. More details will be provided in the future versions.

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

Security Considerations
IPsec for internal packets works because internal packets are forwarded unchanged.

Acknowledgements
It may be listed in the future.

Normative References

Informative References