Route Prefix - /xx

In IPv4 we are used to the subnet mask which is used in conjunction with the IP address to identify the network & broadcast address.  In IPv6, because the address is so long and so hard to remember (and communicate it to anohter human being) it just doesn't make sense to keep using subnet mask so it was removed and Prefix is used instead.  In a sense Prefix & subnet are the same - it's a numerical value written in CIDR notation that we use to determine how many bits (counting from the left) are used for the network/subnet portion of the IP address.

Unlike subnet mask, prefix doesn't get converted to same address format as that of the IP itself (like the quad dot format of IPv4) since if that's the case we would have two long strings to deal with.  As a matter of fact, it's much simpler to keep it as a decimal number since it's much shorter and easier to remember.  An IPv6 prefix is written as a "/" followed by a decimal number between 1 and 128.

A typical IPv6 address has a 48 bit global routing prefix as illustrated below:

  • 48 bitsGlobal Routing Prefix
  • 16 bitsSubnet
  • 64 bitsInterface ID
  • 2000:0000:0000
  • 0000
  • 0000:0000:8190:3426

Within any given site or organization, this might be broken up into smaller subnets thus the prefix can change from 48 to 64 (48 + 16 = 64).  That's the proposed standard for IPv6 addressing which would work seemlessly with automatic statless configuration.  However, there's been a lot of confusion over what prefix should be assigned to individual host so IETF has decided to drop the proposal and let everyone do whatever they want.  In my opinion, this has caused much confusion and further delay the roll out of IPv6.

Click on this link to examine IPv6 address and play with the prefix using the Advanced Online IPv6 Subnet Calculator: 2000:0000:0000:0000:0000:0000:8190:3426