Tuesday, April 26, 2011

Introduction to IPv6

With the announcement of the last IPv4 block being handled we all should start working with IPv6 as we are used to work with IPv4. For this reason I am going to do all my posts with IPv6 unless IPv4 is explicitly required. This way I will train myself with IPv6 and I will give you some hints that you will be able to use in the future.

Reserved block for documentation



The IETF reserved and IPv6 block for documentation purposes which is 2001:DB8::0/32. This block should not be advertised by any provider and defined as non-routable. You can find more details on the RFC3849.

How to use IPv6



IPv6 uses 8 blocks of 16 bits each for the address space which means that we have to deal with a larger IP address. However, there is a technique to make easier our task.

If we return to our reserved block for documentation 2001:DB8::0/32 you will note that all 8 blocks are not specified. This is because IPv6 address can be compressed without loosing information:


  • Leading 0's can be ignored. Our block representing DB8 is an example, the full block is 0DB8 but we do not need to represent it.

  • One or more groups of four 0's can be omitted *ONCE*. This is very delicate, in our example we are compressing 5 blocks of four 0's with a single '::'. We can do this because we are defining two blocks and with this information we know without any doubt that the remaining blocks have to be 0000 if we want to complete the 8 blocks. If we had an IP like 2001:DB8:0:0:1:0:0:0 we could compress only one of the two groups if we want to complete the 8 blocks without any doubt, you have use either 2001:DB8::1:0:0:0 or 2001:0DB8:0:0:1::0, or even 2001:DB8:0:0:1::


This has been a very quick introduction for IPv6. Internet is full of information if you want to complete your IPv6 training. The purpose of this post to inform that I will try to use IPv6 for the labs and do a quick introduction to IPv6 addressing and nomenclature.

No comments: