Why are you doing this?

We believe IPv6 is far too complicated and deployment will not reach the entire planet or the universe as is intended.




Who are you?

We are a mixture of sysadmins, programmers, and researchers. We have nothing to gain financially. We just think Enhanced IP is cool. Maybe you will too.




What does Enhanced IP work with?

ssh, samba, http, and more.




How many addresses does Enhanced IP support?

2^64.


What does an IPv4 Address look like?

192.0.2.2




What does an Enhanced IP Address look like?

192.0.2.2.10.0.0.1




192.0.2.2.10.0.0.1 looks like two IP addresses concatenated together. Is it that simple?

That's exactly what it is! The first IP is used to route the packet over the Internet while the second routes the packet over a second IP network. E.g. often your local LAN.




Is there space for this extra addressing in the IPv4 header?

Yes, if you use IP options. This is what Enhanced IP uses to get the extra address space. 12 extra bytes per packet to be exact.




Are IP options evil?

Some are rumored to be and some in fact are evil. We use IP option #26. It is not evil.




How does DNS work with Enhanced IP?

You can use your current DNS server and specify a AAAA record 192.0.2.2.10.0.0.1 like so:
      hostname IN AAAA 2001:0101:C000:0202:0a00:0001::0;

The 2001:0101 is the IPv6 experimental prefix. C0=192 00=0 02=2 02=2 0a=10 00=0 00=0 01=1. ::0 means to put 32-bits of zero to make the entire 128-bit dns record.


Doesn't the core router infrastructure block some IP options packets?

Edge routers and firewalls have a variety of policies regarding IP options. We've got an IP options traceroute tool that has shown us that the core of the Internet passes IP options. More testing needed. Volunteers?
If you're a Cisco shop 'ip options ignore' is a command that passes IP options on core routers. If you're a Juniper shop 'allow-ip-options 26' will pass IP option 26.




What about customer premises equipment?

If it's a NAT box, it will have to be patched. Our kernel patch is appoximately 400 lines of code. It is simple. The IPv6 stack on Linux is approximately 47000 lines of code. Needless to say it's easier to port Enhanced IP to new NAT platforms.




What exactly is Enhanced IP?

It's a patch to NAT that adds back in end-to-end addressing, it does this in such a way that no state has to be maintained on a per packet basis in the NAT. This makes it fast. It adds 12 extra bytes of data to each Enhanced IP packet. It uses IPv6 experimental DNS records for name lookup. If you're trying to configure IPv6 and getting lost, it offers hope because it is simpler at the concept level. If you're a hacker looking for something to work on, it offers a fun playground of challenging coding to do.




What about layer 2, dhcp, and routing protocols?

Since Enhanced IP packets travel as IPv4 datagrams, there is no need to upgrade ARP, DHCPv4, RIP, EIGRP, BGP, etc. to work with it.




What about IPv6?

IPv6 requires repeering of BGP on a large scale. Today approximately 8500 AS's are peered for IPv6, Today 47470 AS's are peered on IPv4. This is as of June 30, 2014. Customer premises equipment upgrades are necessary also.


Why are there so many IPv6 tunnelling protocols?

We can't help but think that the availability of good support for passing IP options across the Internet might make for a good IPv6 tunnelling protocols, one that doesn't require tunnel gateways.