[Jool-list] BIB-less NAT64 (was: NAT64 performance)
Tore Anderson
tore at fud.no
Tue Sep 5 05:24:05 CDT 2017
* Alberto Leiva
> There should (in theory) exist a quick way for Jool to tell whether the
> pool4 has been exhausted (ie. there is one existing BIB entry for every
> available pool4 address). If this information were available, it should
> be able to skip *an entire tree traversal* for every translated packet
> that needs the creation of a new BIB entry.
This reminds me of something I've been wondering about. Would it be
possible to do NAT64 with the BIB completely disabled?
The reason I'm asking is a «problem» I've seen with Jool's NAT64: it can
only handle 2^16 * $number_of_addresses_in_pool4 concurrent connections
(per protocol). That means you need quite a lot of IPv4 addresses to
service a large IPv6 user base.
I think it should be possible to re-use IPv4 transport addresses between
IPv6 clients though. You could could end up with session table
containing entries like this:
IPv6 client:port Public v4:port Dest v4:port
#1: [2001:db8::1]:60000 -> 192.0.2.1:54321 -> ebay.co.uk:443
#2: [2001:db8::a]:40000 -> 192.0.2.1:54321 -> amazon.com:443
#n: [.................] -> 192.0.2.1:54321 -> [............]
This would of course not be RFC compliant, and would break externally
initiated sessions. But that might be an acceptable trade-off, as you
can now support much larger IPv6 user populations behind the same amount
of public IPv4 addresses.
Sander: Nice work with the performance testing! I would be interested in
seeing results for SIIT[-DC] too - what's the baseline performance with
a small (or no) EAMT, and what impact does adding a lot of EAMs have?
Tore
More information about the Jool-list
mailing list