Solo3021 said:
IPv6 is the upgrade from IPv4 which allows us many more IP addresses.
Instead of using the 32-bit IP addressing scheme in IPv4 (4 Octets) it now uses 16 Hexidecimal Fields (64-bit addressing scheme).
In IPv4 theoretically there are 255 to the 4th IP addresses. Though we must rule out addresses with the first of last octect of all 1's or 0's and all reserved addresses.
IPv6 will theorectically be capable of hosting 16 to the 16th available IP addresses. Once again minus the strings of all 1's and 0's at the beginning and end of the network and host (node) addresses and all reserved addresses.
Are you sure about 16 to the 16th power? Let me help you with this.
32bit addressing under IPV4 follows under 2 ^ 32 = 4294967296 billlion IP address world wide.
Yes you are right for Ipv4 and its reservations of NAT, classful subnetting, multicasting, and loopback and other resevered IPs which physically account for more IPs in a realistic and physical case. Most networks today utilize CIDR "Classless Inter Domain Routing" regardless. (Supernetting etc and getting many IPs from an assigned classed IP) In all, the theoritically supported number under IPV4 is what it is 2 ^32 and 1 and 0 as the values.
IPv6 is 2^128, which is something like 340,282,366,920,938,
463,374,607,431,768,211,456 adresses. Not 16^16. You are seeing 16 because the sets of numbers are represented in Hexadecimal. The actual values and representation of physical addresses are truly 2 ^128bit.
IPv6 is coded in Hexidecimal 0-F 0=0, and F=15 16 bits from 0 to F. Where A stands for 9.
In essence, there are 128 bits but broken into 8 groups of 16 bits (Hexadecimal 0 to F). IPv4 would nicely fit into the last 2 sets of the 16bits LSD. (furthest to the left. Let x=16 bits Let y=full Ipv4 address as in z.z.z.z in 32bit octets.
x.x.x.x.x.x.y.y
the 32bit octet in IPv4 is split into 16bits to fit nicely into IPv6.
The reason behind using hex, that it makes it easier for a computer or network processor, or router to read large chunks of data much easier than your typical binary set.
If you must convert between binary and hex, there are the methods that are used in programming, and in electronics. Divide by base and subtract method, and multiply and add methods.
Here is where I have obtained the information from to support this.
http://www.midrangeserver.com/tfh/tfh082902-story03.html
http://playground.sun.com/pub/ipng/html/INET-IPng-Paper.html#CH4