I've recently been studying the fundamentals on IPv6, but there are some things that I don't quite understand about how the addressing is structured.

What I don't understand is the slash notation ranges with some of the address types. For example:

Global Unicast

2000::/3

FE80::/10

Unique Local

FC00::/7

With the above three address types for example, could someone please explain to me what the slash notations indicate? I can't seem to find a proper explanation for this anywhere.

For the Global Unicast address for example, I've mostly seen 2001:0000 etc etc addresses. Does the notation mean the most I can go up to is 2003 as it's a /3?The same with the Link Local and Unique Local. The slash notations just don't make sense to me, and the books just don't seem to bring any logic to the table. I'm more than likely way off with my assumptions here, so some clarity would be good.

I'd really like to understand this, rather than just assigning 2001:0000 etc etc Global Unicast addresses, without truly understanding why I'm doing it.

The slash notation is another way of writing the subnet mask. It works the same for IPv4 and IPv6.

The number /3 indicates the number of consecutive 1's in the mask. Since the mask is the same size as the address, that means that for IPv6, the subnet mask is three 1's followed by 125 0's (3+125=128 bits).

For an IPv4 address it means three 1's followed by 29 0's (3+29=32 bits). It can also be written as 192.0.0.0.

• Wouln't 192.0.0.0 correspond to the first two bits? I'd say the first three bits set to 1 and the rest to 0 would give an ipv4 range starting at 128+64+32=224.0.0.0 May 30, 2017 at 6:27

The number after the slash means the number of mask bits: the number of bits in the address that don't change.

For instance, `2000::/3` means every address from `2000::` to `3fff:ffff:ffff:ffff:ffff:ffff:ffff:ffff`.

You need to dig deeper into addressing. THE ULA range, `fc00::/7`, has some rules. The first half of the addresses in that range, `fc00::/8`, are reserved to be assigned by a global authority, and the second half of the addresses, `fd00::/8`, are available to use, but you are required to use 40 random bits for the Global ID portion of the addresses.

With a few exceptions IPv6 subnets should be `/64`. Using other subnet sizes breaks things in IPv6. Exceptions to this are things like host addresses (`/128`) and point-to-point links (`/127`).

Same answer as Ron T. and Ron M.. I will just add what it took me to understand this.

People don't do this because it takes up space, but sometimes I forget we are dealing with binary sequences/addresses and this is necessary for understanding.

Expanding the text `2000::` to a sequence of a 1's and 0's, each of the following lines represent `hhhh` of the `hhhh:hhhh:hhhh:hhhh:hhhh:hhhh:hhhh:hhhh` notation.

`0010 0000 0000 0000` (first hextet)
`0000 0000 0000 0000`
`0000 0000 0000 0000`
`0000 0000 0000 0000`

`0000 0000 0000 0000`
`0000 0000 0000 0000`
`0000 0000 0000 0000`
`0000 0000 0000 0000` (last hextet)

What the `/3` means is hold three of these binary locations constant, the first three. So you'd get something like this, where x's mean either 1 or 0.

`001x xxxx xxxx xxxx` (first hextet)
`xxxx xxxx xxxx xxxx`
`xxxx xxxx xxxx xxxx`
`xxxx xxxx xxxx xxxx`

`xxxx xxxx xxxx xxxx`
`xxxx xxxx xxxx xxxx`
`xxxx xxxx xxxx xxxx`
`xxxx xxxx xxxx xxxx` (last hextet)

Substituting x's so you can get your maximum with 1's and you get:

`0011 1111 1111 1111` (first hextet)
`1111 1111 1111 1111`
`1111 1111 1111 1111`
`1111 1111 1111 1111`

`1111 1111 1111 1111`
`1111 1111 1111 1111`
`1111 1111 1111 1111`
`1111 1111 1111 1111` (last hextet)

Converting the binary back into hexadecimal, you would get the maximum address `3fff:ffff:ffff:ffff:ffff:ffff:ffff:ffff` as Ron M. said.

I wont type it out, but `/7` and `/10` work the same way. Ipv4 masks also work this way.