NAT64 Calculator
Synthesise the IPv6 address a NAT64 gateway maps an IPv4 destination to, and size the translator's state table.
Inputs
Synthesised IPv6 Address
64:ff9b:cb00:712a
Embedded IPv4 (hex)
cb00712a
Translator State Memory
38 MiB
Translation Ports Required
250,000
Step by step
Values used
IPv4 destination = 203.0.113.42; NAT64 prefix = 64:ff9b::; Concurrent sessions = 250,000 sessions; State per session = 160 bytes
NAT64
With the well-known /96 prefix the 32-bit IPv4 address is appended directly, giving prefix::a.b.c.d in hex form.
Synthesised IPv6 Address
= 64:ff9b:cb00:712a
Embedded IPv4 (hex)
= cb00712a
Translator State Memory
= 40,000,000
Translation Ports Required
= 250,000
How it works
RFC 6052 embeds the IPv4 address in the low bits of a NAT64 prefix. With a /96 the whole address fits in the last two groups, so the mapping is a direct hex conversion. Each translated flow consumes a state entry and a port on the translator. IPv6-only networks reach the legacy internet through NAT64, and the translator's state table — not bandwidth — is what fails first under load.
Formula
NAT64
With the well-known /96 prefix the 32-bit IPv4 address is appended directly, giving prefix::a.b.c.d in hex form.
- 64:ff9b::/96
- Well-known prefix reserved by RFC 6052 for NAT64
- sessions
- Concurrent translated flows held in state
Frequently Asked Questions
How is NAT64 calculated?
With the well-known /96 prefix the 32-bit IPv4 address is appended directly, giving prefix::a.b.c.d in hex form. RFC 6052 embeds the IPv4 address in the low bits of a NAT64 prefix. With a /96 the whole address fits in the last two groups, so the mapping is a direct hex conversion. Each translated flow consumes a state entry and a port on the translator.
Why does NAT64 matter?
IPv6-only networks reach the legacy internet through NAT64, and the translator's state table — not bandwidth — is what fails first under load.
What values do I need to enter?
This calculator takes 4 inputs: IPv4 destination, NAT64 prefix, Concurrent sessions, State per session. The pre-filled defaults are a realistic starting point — replace them with figures from your own environment for a result you can act on.