Mapping Address and Port using Translation
Mapping Address and Port using Translation (MAP-T) is an IPv6 transition solution for ISPs with IPv6 infrastructure to connect their IPv4 subscribers to the IPv4 internet<sub>. </sub>MAP-T
is built on stateless IPv4 and IPv6 address translation technologies. MAP-T is a mechanism that performs double translation (IPv4 to IPv6 and vice versa) on customer edge (CE) devices and border routers (in ISP core network).
In a MAP-T deployment, the CE device implements a combination of stateful NAPT44 translation and stateless NAT46 translation. The CE device obtains NAT-IP and the port-block to be used for translation through DHCPv6 or any other method.
When an IPv4 packet from a subscriber device arrives at the CE device, the CE device performs NAPT44 and stores the NAPT44 binding information. After NAT44 translation, the packet is subjected to NAT46 translation and then forwarded to the border router (BR) device located in the ISP’s core network. The BR device receives the IPv6 packets from the CE device, extracts and validates the NAT-IP and port-block embedded in the IPv6 header, and forwards the IPv4 packet to the IPv4 Internet. When the BR receives the IPv4 packet from the Internet, it translates the IPv4 packet to an IPv6 packet and send the IPv6 packet to the CE device.
MAP-T is stateless on a BR device, so it does not require the BR device to perform NAT on the traffic. Instead, NAT functionality is delegated to the CE devices. This delegation and stateless functionality in BR devices allows the BR deployment to scale in proportion to the volume of traffic.
The Citrix ADC appliance implements the BR functionality of a MAP-T solution as described by RFC 7599.
Configuring MAP-T
Configuring MAP-T on a Citrix ADC appliance consists of the following tasks:
- Add a default mapping rule
- Add a basic mapping rule
- Bind an IPv4 NAT address range of CE devices to a basic mapping rule
- Add a map domain and bind a basic mapping rule and default mapping rule to the domain
To add a default mapping rule by using the CLI
At the command prompt, type:
add MapDmr <name> -BRIpv6Prefix ( <ipv6_addr> | <*> )
show MapDmr <name>
<!--NeedCopy-->
To add a basic mapping rule by using the CLI
At the command prompt, type:
add MapBmr <name> -RuleIpv6Prefix <ipv6_addr> | <*> [-psidoffset <positive_integer>] [-EAbitLength <positive_integer>] [-psidlength <positive_integer>]
show MapBmr <name>
<!--NeedCopy-->
To bind IPv4 NAT address range of CE devices to a basic mapping rule by using the CLI
At the command prompt, type:
bind MapBmr <name> (-network <ip_addr> [-netmask <netmask>])
show MapBmr <name>
<!--NeedCopy-->
To add a map domain by using the CLI
At the command prompt, type:
add MapDomain <name> -MapDmrName <string>
show MapDomain <name>
<!--NeedCopy-->
To bind a basic mapping rule to a map domain by using the CLI
At the command prompt, type:
bind MapDomain <name> -MapBmrName <string>
show MapDomain <name>
<!--NeedCopy-->
Sample configuration
add mapdmr DMR-1 -BRIpv6Prefix 2002:db8::/64
Done
add mapbmr BMR-1 -ruleIpv6Prefix 2002:db8:89ab::/48 -eAbitLength 16 -psidlength 8 -psidoffset 6
Done
bind mapbmr BMR-1 -network 192.0.1.0 -netmask 255.255.255.0
Done
add MapDomain MAP-DOMAIN-1 -mapdmrname DMR-1
Done
bind MapDomain MAP-DOMAIN-1 -mapbmrname BMR-1
Done
<!--NeedCopy-->