# IVI Translation

> Mediated Wiki article. Canonical URL: https://mediated.wiki/source/IVI_Translation
> Markdown URL: https://mediated.wiki/source/IVI_Translation.md
> Source: https://en.wikipedia.org/wiki/IVI_Translation
> Source revision: 1243012594
> License: Creative Commons Attribution-ShareAlike 4.0 International (https://creativecommons.org/licenses/by-sa/4.0/)

**IVI Translation** refers to a stateless IPv4/IPv6 translation technique.[1] It allows hosts in different address families ([IPv4](/source/IPv4) and [IPv6](/source/IPv6)) communicate with each other and keeps the end-to-end address transparency.[2]

Stateless NAT64 can be used in 4 different scenarios:[3]

- An IPv6 network to the IPv4 Internet
- The IPv4 Internet to an IPv6 network
- An IPv6 network to an IPv4 network
- An IPv4 network to an IPv6 network

Stateless NAT64 is a replacement of [SIIT](/source/Stateless_IP/ICMP_Translation_algorithm) (RFC 6145).

## Naming

The name "IVI" represents the number 4 (IV) and 6 (VI) in [roman numerals](/source/Roman_numerals) merged to represent the IPv4/IPv6 translation.[2]

## How it works

### Stateless NAT64 building blocks

- Address translation defined in RFC 6052 [4] is a stateless mapping scheme, which embeds [IPv4 address](/source/IPv4_address) in network specific [IPv6 prefix](/source/IPv6_address#Networks) and forms IPv4-converted and IPv4-translatable addresses. The IPv4-converted IPv6 addresses are the IPv6 addresses used to represent IPv4 nodes in an IPv6 network. The IPv4-translatable IPv6 addresses are the IPv6 addresses assigned to IPv6 nodes for use with stateless translation.
- Header translation and ICMP translation defined in RFC 6145 [5] are algorithms to perform header translation between [IPv4](/source/IPv4) and [IPv6](/source/IPv6), as well as between [ICMP](/source/Internet_Control_Message_Protocol) and [ICMPv6](/source/ICMPv6).
- [DNS](/source/Domain_Name_System) record translation ([DNS64](/source/DNS64)) defined in RFC 6147 [6] describes mapping from [A record](/source/A_record) to [AAAA record](/source/AAAA_record) defined in RFC 6052.[4]

### Stateless NAT64 extensions

- Address sharing stateless NAT64 enables multiple IPv6 nodes sharing a single public IPv4 address, with each node managing a different range of ports. This can be achieved by defining suffix of the address format RFC 6052.[4][7]
- Dual stateless translation is also called [dIVI Translation](/source/DIVI_Translation). Due to the stateless nature, after the second translation, the original IPv4 address can be restored. The advantage of stateless NAT464 is that the [DNS64](/source/DNS64) and [application-level gateway](/source/Application-level_gateway) (ALG) are not needed.

### Case study

- RFC 6219: China Education and Research Network (CERNET)'s IVI translation design and deployment for the IPv4/IPv6 coexistence and transition.[2]
- RFC 7599: [MAP-T](/source/Mapping_of_Address_and_Port) is being used on the IPv6-only "CERNET2", expanding on the work done with CERNET.[8]

### Relation to Stateful NAT64

- The stateless NAT64 also forms the basic building blocks for stateful [NAT64](/source/NAT64). Additional building block is the maintaining of the translation states defined in RFC 6146.[9]

### Relation to Stateless NAT464 (dIVI, dIVI-PD)

- Due to stateless nature, the second stateless translator can be introduced to translate the IPv4-translatable IPv6 address back to IPv4. In this case, the DNS64 and ALG are not required. See [dIVI Translation](/source/DIVI_Translation)

## References

1. ["Home"](https://web.archive.org/web/20111102140659/http://www.ivi2.org/). *ivi2.org*. Archived from [the original](http://www.ivi2.org/) on 2011-11-02. Retrieved 2011-08-12.

1. RFC 6219 China Education and Research Network (CERNET)'s IVI translation design and deployment for the IPv4/IPv6 coexistence and transition

1. RFC 6144 Framework for IPv4/IPv6 Translation

1. RFC 6052 IPv6 Addressing of IPv4/IPv6 Translators

1. RFC 6145 IP/ICMP Translation Algorithm

1. RFC 6147 DNS64: DNS extensions for Network Address Translation from IPv6 Clients to IPv4 Servers

1. draft-bcx-address-fmt-extension Extended IPv6 Addressing for Encoding Port Range ([https://datatracker.ietf.org/doc/draft-bcx-address-fmt-extension/](https://datatracker.ietf.org/doc/draft-bcx-address-fmt-extension/))

1. ["China's first IPv6-only backbone network to connect a further 1,200 campuses"](https://blog.apnic.net/2017/01/31/chinas-first-ipv6-backbone-network-connect-1200-campuses/). 31 January 2017.

1. RFC 6146 Stateful NAT64: Network Address and Protocol Translation from IPv6 Clients to IPv4 Servers

---
Adapted from the Wikipedia article [IVI Translation](https://en.wikipedia.org/wiki/IVI_Translation) by Wikipedia contributors ([contributor history](https://en.wikipedia.org/wiki/IVI_Translation?action=history)). Available under [Creative Commons Attribution-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-sa/4.0/). Changes may have been made.
