I do not usually deal with VLANs, IPv4/6 … but when I do, maybe I can remember some of this.
IPv6 101
What’s the deal with the ‘:’ in IPv6 ?
IPv6’s 128 bits are represented as 8 groups of 4 hex chars, separated by :.
Consecutive : denote 1 or more groups with value 0. :: can only appear once (otherwise ambiguous).
0000:0000:0000:0000:0000:0001:0002:0003=>::1:2:3
fe80:0001:0000:0000:dead:beef:dead:0000=>fe80:1::dead:beef:0
Network and subnet
/ notation is used to denote the network prefix.
fe80::/64denotes all addresses likefe80:0:0:0:X:Y:W:Z
Standard dictates maximum prefix length of /64 (otherwise stateless configuration protocols break).
- This allows a subnet address to be unique (although not mandatory) across the whole internet !
MAC, EUI-48, EUI-64, wtf ?!
- MAC = EUI-48
- You can transform EUI-48 into EUI-64
de:ad:aa:cc:be:ef=>dead:aa+ff:fe+cc:beef
Invert bit at index 6 (start from left)
dead:aaff:fecc:beef=>11011110 ad:aaff:ccfe:beef=>11011100 ad:aaff:ccfe:beef=>dcad:aaff:ccfe:beef - EUI-64 transformation is a stateless way to obtain an unique IP within a subnet
Special IP ranges
Multicast address semantics
Stateless auto configuration in IPv6 is based on well known multicast groups. A multicast address can be decomposed as follows :
ff<4-bit flag><4-bit scope><16-bit reserved><64-bit network id><32-bit group id>
Where scope denotes the part of the network addressed.
- 0x1 interface local loopback
- 0x2 link local (L2)
- 0x8 organisation local
- 0xe global internet
Some well known link local well known multicast groups :
- All nodes in link :
ff02::1 - All routers in link :
ff02::2
| IPv4 | IPv6 | |
|---|---|---|
| Multicast | 224.0.0.0 - 239.255.255.255 |
ff<scope>:?:?:?:?:?:?:<group> (cf above) |
| Anycast | NO dedicated range | NO dedicated range |
| Link-local | 169.254.?.?/16 |
fe80:0:0:0:?:?:?:?/64 |
| Private | 10.?.?.?/8172.16.0.0/12 - 172.31.255.255/12192.168.?.?/16 |
fc?:?:?:?:?:?:?:? - fd?:?:?:?:?:?:?:? |
| IPv4 mapped | N/A | ::ffff:0:<ipv4 addr> when translated by network agents::ffff:<ipv4 addr> when mapped by host dual stack |
| IPv4 mapped (well known prefixes) |
N/A | 64:ff9b::<ipv4 addr> when IPv4 sits behind NAT (RFC6052)2001:0:<ipv4 addr>:?:?:?:? teredo tunneling2002:<ip addr>:?:?:?:?:? 6to4 tunneling |
| Any address | 0.0.0.0 |
:: |
| Localhost | 127.0.0.1 |
::1ff01:: interface local multicast |
| Broadcast | 255.255.255.255 |
Deprecated in favor of multicastff0e:: internet scope multicast prefix |