January 30th, 2003, 09:05 PM
Intro to IPv6 Addressing
Introduction to IPv6 Addressing.
The following is an introduction to IPv6 addressing structure.
Letís begin with the biggest difference between IPv6 and IPv4.
IPv4 uses 32 bits in its address, divided into 4 blocks of 8 bits known as an Octet and is written in dotted decimal notation
IPv6 uses 128 bits, divided into 8 blocks of 16 bits. referred to as a Hexatet, and is written in colon hexadecimal notation
Due to the large numbers of 0 included in the address, we can compress contiguous series of all zero hexatet by using :: (double colon)
Therefor the above address can be expressed as FF02::0002
You can only compress one set of contiguous hexatets in a full address.
The reason for this is because we need to identify how many bits are expressed by the ::
The following formula can be used to work out the number of bits in the zero compression
8 - hexatets shown * 16
So based on our example above FF02::0002 we take 2 away from 8 = 6. Then multiple 6 * 16 = 96 bits
(To determine number of hexatets divide the number of bits by 16)
If a hexatet contains leading zeros
We can also remove the leading zeros so the above address can be expressed as FF02::2 and this does not affect the zero compression.
Each hexatet must contain at least one bit, if not using compressed zeroís
There are no subnet masks within IPv6 but the CIDR notation is still used to identify the Network part of the address.
So the address FF80::2AA:FF:FE9A:4CA2/64 indicates that the first 64 bits are used for the Network ID, and can be expressed as FF80::2AA::/64
Because the above represents a Network ID and includes the number of bits representing the Network ID we can compress multiple contiguous zero hexatets, as we are told how many bits are in the Network ID
Now it gets interesting;
IPv6 addresses are expressed along nibble (4 bit) boundaries. To correctly express a subnet where the prefix is not a multiple of 4, we must convert the hexadecimal to binary to determine the correct identifier.
The first 3 hexatets contain 48 bits so the 4th hexatet takes us over the boundary for the Network ID.
The 4th hexatet can be broken down as follows;
2 = 4 bits
F = 4 bits
3 = 4 bits
B = 4 bits
So 48 + 4 = 52 (within Network ID)
52 + 4 = 56 (within Network ID)
56 + 4 = 60 (this is where the split is)
Convert the 3rd nibble (in this example 3) to binary
0011 (4 bits)
Now the network prefix is /59 so the 59th bit is the last bit of the Network ID.
We must then split the binary value to include the bits required to make up the Network ID in this case the first 3 bits.
Then convert the binary value of the bits required for the Network ID back to hexadecimal.
8 4 2 | 1 Binary Values
0 0 1 | 1
The above address can now be expressed as follows;
(notice the 4 nibble of the 4th hexatet is expressed as zero)
The above address notation now tells use that the first 59 bits are used to identify the network and the last 69 bits are used as host identifiers
Hopefully I will get time to continue this tutorial into IPv6, in the mean time hope this is usefull
January 31st, 2003, 12:11 AM
Pretty nice one . A bit strange for me to get used to IPV6, but must be only a matter of practice.. Well, I hope you have time to write some more on the subject. Are you planning to discuss the datagram and the IP ranges available (IANA's list of assigned ips and to whom/what they are assigned to.) . Oh, sure, i could check it on my own.. :blush: but it would be pretty nice for the tutorial.. .
January 31st, 2003, 01:56 AM
Hmm...theres something a little peculiar here. Oh i see what it is! the sentence is talking about itself! do you see that? what do you mean? sentences can\'t talk! No, but they REFER to things, and this one refers directly-unambigeously-unmistakably-to the very sentence which it is!