ON THIS PAGE
Introduction
The Juniper Networks vMX lw4o6 VNF is an elastic, high-performance solution that carriers can use to expand their existing pool of public IPv4 network addresses. It is available for Juniper Networks vMX virtual routers running Junos OS 16.1R3 or later.
As shown in Figure 1, it is common for Network Address Port Translation (NAPT) at the subscribers’ home gateway to perform IPv4 encapsulation in IPv6 packets for transmission over the IPv6 cloud. At the other end of the cloud, however, there might or might not be a corresponding NAPT to decapsulate the IPv6 packets for transmission across an IPv4 network. The vMX lw4o6 VNF fills this gap by providing highly scalable Address Family Transition Router (AFTR) tunnel termination. The AFTR is stateless, which simplifies redundancy because there is no need to synchronize the session state. Multiple AFTRs share the same tunnel address (similar to anycast), and they share the workload using equal-cost multipath (ECMP).

The vMX lw4o6 VNF is packaged with Snabb, an open-source fast
packet networking engine, in a Docker container so that all dependencies
are kept together in a controlled environment. The vMX provides all
network protocol functions, including ARP, IPv6 NDP, OSPF, BFD, BGP,
SNMP, syslog, and NETCONF. The vMX consists of a Packet Forwarding
Engine VNF, virtual forwarding plane (VFP), and a control plane VNF
(that is, the Routing Engine, or virtual control plane, VCP). Traffic
between the Snabb and the VFP is provided by the vhost-user
infrastructure. Juniper’s operating system, Junos OS, provides
a uniform control plane, and Juniper’s JET (through YANG and
NETCONF) extends the management plane across the VNF for additional
ease of use. Snabb provides lw4o6 encapsulation and decapsulation,
ICMP processing, and any fragmentation, reassembly, or both that might
occur. Binding tables and any Snabb-related configurations (with the
exception of the Snabb-assigned PCI address), are located within the
Junos OS CLI.
For more information, see the Juniper white paper vMX Lightweight 4over6 Virtual Network Function .
How the Solution Works
With lw4o6, carriers can effectively subdivide a single IPv4 address into many hosts by combining the IP with a unique TCP/UDP port range. Each IPv4-port combination can then be mapped to a unique IPv6 address for use on public networks, as shown in Table 1.
This example of the IPv6 to IPv4 binding shows the same public IPv4 address being shared with multiple customers. Source NAT is used with a range of 1024 ports, which in this case allows 63 subscribers to share the same IPv4 address. Other sharing ratios are also possible.
Table 1: IPv4 to IPv6 Binding Table
Subscriber Public IPv6 | Shared Public IPv4 | UDP/TCP Port Range |
---|---|---|
2001:db8:1:1::1 | 193.5.1.1 | 1024 – 2047 |
2001:db8:1:1::2 | 193.5.1.1 | 2048 – 3071 |
2001:db8:1:1::3 | 193.5.1.1 | 3072 – 4095 |
... | ... | ... |
2001:db8:1:1::63 | 193.5.1.1 | 64512 - 65535 |
2001:db8:1:1::64 | 193.5.1.2 | 1024 - 2047 |
Common ports, in the range of 0 through 1023, are reserved for inbound services such as SSH and HTTP. Carriers thus have the option of mapping this range to select subscribers, or providing the services at an additional charge.