← Back to team overview

maria-developers team mailing list archive

Ipv6

 

Dear Folks,

With 5 billion devices connected on the internet, and only a total of
4 billion ip(v4) addreses, available ipv4 addresses are becoming more
and more scarcely. Latest estimates are that it will take less than a
year before IANA has no more ipv4 addresses to distribute to LIR's
(APNIC, RIPE, etc), and some time after that it will be really, really
difficult for anybody to get an ipv4 address. Luckily there's a
solution for that in the form of ipv6. Ipv6 is very common in certain
parts of Asia (Japan) where students are only given a block of ipv6
addresses with a mere tunnel to access ipv4 hosts. In France one of
the biggest ISP's ( http://free.fr ) is giving every residential dsl
connection a block of ipv6 addresses, and in The Netherlands more and
more shared webhosters assign each individual website its own ipv6
address (obviously together with a shared ipv4 address) since Direct
Admin ( http://directadmin.com competitor of cpanel and plesk) fully
supports ipv6. All in all, the world is calling for ipv6 and products
that suppoort it.

Whereas ipv4 is 32bit, resulting in a total number of 2^32 (=4billion)
ip's, ipv6 is 128bit, giving 2^128 addresses. A number large enough
for me not to spell it out for you :D Though an ipv6 address does have
several hexadecimal notations, it still simply is a 128bit unsigned
integer. And as such, I'm sending this email requesting to support it.
My proposal would be to introduce two new datatypes, one for 128bit
integers, and one extending the 128bit integer type for ipv6
addresses. Meaning that the latter accept ipv6 addresses only, but
relies on the first one for storing it, and displaying it again as
ipv6 address. With ipv6 one usually will do much more rangechecks than
ipv4 because with ipv6 residential homes simply get a /64 block
(2^(128-64)= a lot of addresses) instead of simply one address.
Therefore a nice feature would be to allow queries like: `SELECT *
FROM table WHERE columnName IN 2001:db8:85a3::8a2e:370:7334/62` which
essentially would select all rows where columnName is in the same /64
block as 2001:db8:85a3::8a2e:370:7334 is.

I'm a simple PHP developer so I can't supply a patch, but I would be
really curious in what you think about the above, and hope someone is
able and willing to pick it up.

Regards,

Dolf Schimmel
-- Freeaqingme

P.s. I'm sorry if the first paragraph is stating the obvious only.
Some people know everything about ipv6, and some don't at all. Which
is why I figured an introduction wouldn't hurt.



Follow ups