IPv4 Residual Deployment

Last updated

IPv4 Residual Deployment (4rd) is an IPv6 transition mechanism for Internet service providers for deployment of Internet Protocol version 6 (IPv6), while maintaining IPv4 service to customers. The protocol and sample applications are specified in RFC 7600.

Contents

Features

IPv4 Residual Deployment has three main features:

Compared to other IETF-specified mechanisms having the same main features, i.e., MAP-E (RFC 7597, RFC 7598, RFC 2473) and MAP-T (RFC 7599, RFC 7598, RFC 6145), its distinctive property is that it simultaneously supports:

MAP-E only supports the former, and MAP-T only supports the latter.

If an ISP wants to offer residual IPv4 service across an IPv6-only domain, and provides customer-premises equipment to all its customers of this domain, it can choose any of MAP-E, MAP-T, or 4rd, with due awareness that MAP-E and MAP-T are specified in standards-track RFCs, while 4rd is, at least so far, specified in an experimental-track RFC (see the History section below): the chosen mechanism remains purely internal to each domain.

Principles

The key that permits to combine IPv4-fragmentation transparency with IPv6 deep packet Inspection in a single design is the use of a reversible packet translation at Domain Entries and Exits. [3] This is possible because IPv6 packet headers, duly complemented with their Fragment headers whenever needed, are large enough to encode in them, in an ad hoc way detailed in RFC 7600, all useful IPv4-header information. (This was not possible in 6rd, the tunneling mechanism for IPv6 across IPv4-only domains, because IPv4 headers are too small to contain all IPv6-header information).

IP-layer options of IPv4 are not supported in 4rd, but without practical consequence because end systems are already adapted to the fact that, for security reasons, IPv4 IP-layer options are filtered by many routers. [4]

Another issue about which the 4rd specification goes beyond those of MAP-E and MAP-T concerns fragmented IPv4 datagrams. In MAP-E and MAP-T specifications, the only fully described behaviors involves datagram reassembly at domain entry before forwarding. [5] [6] In order to improve user-perceived performance, to reduce domain-entry processing, and to reduce attack opportunities, the 4rd specification includes an algorithm whereby received fragments of large datagrams are forwarded one by one on the fly. [7]

History

The first "4rd" specification, unlike the current one of RFC 7600, used IPv4 encapsulation in IPv6 packets, the only known tunneling approach at that time to ensure complete IPv4 preservation across IPv6-only domains. It was the first proposal that combined stateless address mapping, mesh topology, and A+P. [8] [9]

Another stateless-mesh-A+P approach was next proposed, called dIVI. [10] Instead of encapsulation, it used two successive translations (from IPv4 to IPv6 and then conversely), based on the existing SIIT one-way translations of RFC 2765. Compared to encapsulation, it had the advantage of making IPv6 packet inspections applicable to translated UDP and TCP IPv4 packets, but, due to limitations of SIIT, lacked full compatibility with IPv4 fragmentation (and consequently, as mentioned above, compatibility with path MTU Discovery recommended in RFC 6349).

In this context, approval of one of the two designs as single standard seemed out of reach, despite the general wish for standard unicity. Two different directions were then taken.

After a long debate, the Softwire working group [15] decided, in August 2012, that MAP-E alone would be standardized, and that work could continue on both 4rd and MAP-T, but only as experimental. [12]

Finally, in December 2014 the Softwire working group [15] changed its previous decision, and decided to put MAP-T on Standards Track in parallel with MAP-E, provided a note in the MAP-T RFC would signal its incompatibility with the path MTU Discovery of RFC 4821. [16]

This left 4rd alone in the Experimental category (yet with ISPs' possibility to deploy it, for its functional advantages, in domains where they provide customer premises equipment to all their customers).

Real-world deployment

The French ISP Free is deemed to have deployed 4rd for its experiment of FTTH in "lesser-dense areas", starting from December 2015. The implementation of the A+P model implies the attribution of four contiguous port ranges to different customers for each IPv4 address. Free was also known to be the first implementer of 6rd. [17]

Related Research Articles

<span class="mw-page-title-main">Internet Protocol version 4</span> Fourth version of the Internet Protocol

Internet Protocol version 4 (IPv4) is the fourth version of the Internet Protocol (IP). It is one of the core protocols of standards-based internetworking methods in the Internet and other packet-switched networks. IPv4 was the first version deployed for production on SATNET in 1982 and on the ARPANET in January 1983. It is still used to route most Internet traffic today, even with the ongoing deployment of Internet Protocol version 6 (IPv6), its successor.

<span class="mw-page-title-main">IPv6</span> Version 6 of the Internet Protocol

Internet Protocol version 6 (IPv6) is the most recent version of the Internet Protocol (IP), the communications protocol that provides an identification and location system for computers on networks and routes traffic across the Internet. IPv6 was developed by the Internet Engineering Task Force (IETF) to deal with the long-anticipated problem of IPv4 address exhaustion, and was intended to replace IPv4. In December 1998, IPv6 became a Draft Standard for the IETF, which subsequently ratified it as an Internet Standard on 14 July 2017.

The Internet Protocol (IP) is the network layer communications protocol in the Internet protocol suite for relaying datagrams across network boundaries. Its routing function enables internetworking, and essentially establishes the Internet.

Multiprotocol Label Switching (MPLS) is a routing technique in telecommunications networks that directs data from one node to the next based on labels rather than network addresses. Whereas network addresses identify endpoints the labels identify established paths between endpoints. MPLS can encapsulate packets of various network protocols, hence the multiprotocol component of the name. MPLS supports a range of access technologies, including T1/E1, ATM, Frame Relay, and DSL.

In computing, Internet Protocol Security (IPsec) is a secure network protocol suite that authenticates and encrypts packets of data to provide secure encrypted communication between two computers over an Internet Protocol network. It is used in virtual private networks (VPNs).

<span class="mw-page-title-main">Network address translation</span> Protocol facilitating connection of one IP address space to another

Network address translation (NAT) is a method of mapping an IP address space into another by modifying network address information in the IP header of packets while they are in transit across a traffic routing device. The technique was originally used to bypass the need to assign a new address to every host when a network was moved, or when the upstream Internet service provider was replaced, but could not route the network's address space. It has become a popular and essential tool in conserving global address space in the face of IPv4 address exhaustion. One Internet-routable IP address of a NAT gateway can be used for an entire private network.

<span class="mw-page-title-main">Subnet</span> Logical subdivision of an IP network

A subnetwork or subnet is a logical subdivision of an IP network. The practice of dividing a network into two or more networks is called subnetting.

In Internet networking, a private network is a computer network that uses a private address space of IP addresses. These addresses are commonly used for local area networks (LANs) in residential, office, and enterprise environments. Both the IPv4 and the IPv6 specifications define private IP address ranges.

The Neighbor Discovery Protocol (NDP), or simply Neighbor Discovery (ND), is a protocol of the Internet protocol suite used with Internet Protocol Version 6 (IPv6). It operates at the link layer of the Internet model, and is responsible for gathering various information required for network communication, including the configuration of local connections and the domain name servers and gateways.

In computer networking, the multicast DNS (mDNS) protocol resolves hostnames to IP addresses within small networks that do not include a local name server. It is a zero-configuration service, using essentially the same programming interfaces, packet formats and operating semantics as unicast Domain Name System (DNS). It was designed to work as either a stand-alone protocol or compatibly with standard DNS servers. It uses IP multicast User Datagram Protocol (UDP) packets, and is implemented by the Apple Bonjour and open source Avahi software packages, included in most Linux distributions. Although the Windows 10 implementation was limited to discovering networked printers, subsequent releases resolved hostnames as well. mDNS can work in conjunction with DNS Service Discovery (DNS-SD), a companion zero-configuration networking technique specified separately in RFC 6763.

Anything In Anything (AYIYA) is a computer networking protocol for managing IP tunneling protocols in use between separated Internet Protocol networks. It is most often used to provide IPv6 transit over an IPv4 network link when network address translation masquerades a private network with a single IP address that may change frequently because of DHCP provisioning by Internet service providers.

Internet Control Message Protocol version 6 (ICMPv6) is the implementation of the Internet Control Message Protocol (ICMP) for Internet Protocol version 6 (IPv6). ICMPv6 is an integral part of IPv6 and performs error reporting and diagnostic functions.

6LoWPAN was a working group of the Internet Engineering Task Force (IETF). It was created with the intention of applying the Internet Protocol (IP) even to the smallest devices, enabling low-power devices with limited processing capabilities to participate in the Internet of Things.

An IPv6 transition mechanism is a technology that facilitates the transitioning of the Internet from the Internet Protocol version 4 (IPv4) infrastructure in use since 1983 to the successor addressing and routing system of Internet Protocol Version 6 (IPv6). As IPv4 and IPv6 networks are not directly interoperable, transition technologies are designed to permit hosts on either network type to communicate with any other host.

<span class="mw-page-title-main">Locator/Identifier Separation Protocol</span>

Locator/ID Separation Protocol (LISP) is a "map-and-encapsulate" protocol which is developed by the Internet Engineering Task Force LISP Working Group. The basic idea behind the separation is that the Internet architecture combines two functions, routing locators and identifiers in one number space: the IP address. LISP supports the separation of the IPv4 and IPv6 address space following a network-based map-and-encapsulate scheme. In LISP, both identifiers and locators can be IP addresses or arbitrary elements like a set of GPS coordinates or a MAC address.

<span class="mw-page-title-main">IPv6 address</span> Label to identify a network interface of a computer or other network node

An Internet Protocol Version 6 address is a numeric label that is used to identify and locate a network interface of a computer or a network node participating in a computer network using IPv6. IP addresses are included in the packet header to indicate the source and the destination of each packet. The IP address of the destination is used to make decisions about routing IP packets to other networks.

An IPv6 packet is the smallest message entity exchanged using Internet Protocol version 6 (IPv6). Packets consist of control information for addressing and routing and a payload of user data. The control information in IPv6 packets is subdivided into a mandatory fixed header and optional extension headers. The payload of an IPv6 packet is typically a datagram or segment of the higher-level transport layer protocol, but may be data for an internet layer or link layer instead.

dIVI Translation IPv4/IPv6 translation technique

dIVI Translation refers to a dual stateless IPv4/IPv6 translation technique. dIVI is an extension of 1:1 stateless IPv4/IPv6 translation with features of IPv4 address sharing and dual translation. dIVI-PD is a further extension of dIVI to be well used in Wireline and Wireless (3G/4G) access environment, where the prefix delegation is preferred. dIVI-PD is now standardized as MAP-T in the IETF.

<span class="mw-page-title-main">Rémi Després</span>

Rémi Després is a French engineer and entrepreneur known for his contributions on data networking.

Mapping of Address and Port (MAP) is a proposal that combines A+P port address translation with the tunneling of legacy IPv4 protocol packets over an ISP's internal IPv6 network.

References

  1. Wu, J.; Cui, Y.; Metz, C.; Rosen, E. (2009). "IPv4-over-IPv6 mesh scenario". doi: 10.17487/RFC5565 .{{cite journal}}: Cite journal requires |journal= (help)
  2. "Does Linux have an Equivalent of Windows PMTU Blackhole Router Discovery?".
  3. 1 2 Despres, R.; Penno, R.; Lee, Y.; Chen, G.; Chen, M.; Chen, M. (2015). Jiang, S. (ed.). "Reversible Packet Translations at Domain Entries and Exits". doi:10.17487/RFC7600.{{cite journal}}: Cite journal requires |journal= (help)
  4. Dugal, D.; Pignataro, C.; Dunn, R. (2011). "Design Trade-Offs - in RFC 6192". doi: 10.17487/RFC6192 .{{cite journal}}: Cite journal requires |journal= (help)
  5. Dec, W.; Li, X.; Bao, C.; Matsushima, S.; Murakami, T.; Murakami, T.; Taylor, T. (2015). Troan, O.; Taylor, T. (eds.). "Receiving IPv4 Fragments on the MAP domain borders (MAP-E case )". doi: 10.17487/RFC7597 .{{cite journal}}: Cite journal requires |journal= (help)
  6. Li, X.; Bao, C.; Troan, O.; Matsushima, S.; Murakami, T.; Murakami, T. (2015). Dec, W. (ed.). "Receiving IPv4 Fragments on the MAP domain borders (MAP-T case)". doi: 10.17487/RFC7599 .{{cite journal}}: Cite journal requires |journal= (help)
  7. Despres, R.; Penno, R.; Lee, Y.; Chen, G.; Chen, M.; Chen, M. (2015). Jiang, S. (ed.). "Ports of Fragments Addressed to Shared-Address CEs (4rd case)". doi:10.17487/RFC7600.{{cite journal}}: Cite journal requires |journal= (help)
  8. "Public IPv4 addresses and IPv4E prefixes across IPv6-only Domains 4rd". Ietf Datatracker.
  9. "IPv4 Residual Deployment across IPv6-Service networks (4rd) ISP-NAT's made optional". Ietf Datatracker.
  10. "draft-xli-behave-divi-02". Ietf Datatracker.
  11. "draft-ietf-softwire-map-00". Ietf Datatracker.
  12. 1 2 3 "IETF-84 - Softwire WG - Meeting minutes".
  13. "draft-ietf-softwire-map-00".
  14. "4rd Implementation Report".
  15. 1 2 "IETF Softwires (softwire) Working Group".
  16. "[Softwires] MAP-T to Standards Track".
  17. Champeau, Guillaume (15 February 2016). "Free peut attribuer la même adresse IP à plusieurs abonnés". Numerama (in French). Retrieved 29 February 2016.