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::/64 denotes all addresses like fe80:0:0:0:X:Y:W:Z

Standard dictates maximum prefix length of /64 (otherwise stateless configuration protocols break).

MAC, EUI-48, EUI-64, wtf ?!

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.

Some well known link local well known multicast groups :

  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.?.?.?/8
172.16.0.0/12 - 172.31.255.255/12
192.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 tunneling
2002:<ip addr>:?:?:?:?:? 6to4 tunneling
Any address 0.0.0.0 ::
Localhost 127.0.0.1 ::1
ff01:: interface local multicast
Broadcast 255.255.255.255 Deprecated in favor of multicast
ff0e:: internet scope multicast prefix

Isolating L2 segments using VLANs

Network_VLAN.svg