Documentation
    
1) IPv4
IPv4 address formats
- CIDR: Classless Inter-Domain Routing, this is a normal IP address in the format IP/mask. Example: 192.168.1.42/24
- IP and netmask: 192.168.1.42 255.255.255.0
Overview of common IPv4 subnets and masks
Mask Hosts  Usable Netmask          Hex Mask
/30  4      2      255.255.255.252  fffffffc  this is 1/64 of a Class C net
/29  8      6      255.255.255.248  fffffff8  this is 1/32 of a Class C net
/28  16     14     255.255.255.240  fffffff0  this is 1/16 of a Class C net
/27  32     30     255.255.255.224  ffffffe0  this is 1/8 of a Class C net
/26  64     62     255.255.255.192  ffffffc0  this is 1/4 of a Class C net
/24  256    254    255.255.255.0    ffffff00  this is a Class C net
/23  512    510    255.255.254.0    fffffe00  these are 2 Class C net
/22  1024   1022   255.255.252.0    fffffc00  these are 4 Class C net
/21  2048   2046   255.255.248.0    fffff800  these are 8 Class C net
/20  4096   4094   255.255.240.0    fffff000  these are 16 Class C net
/19  8192   8190   255.255.224.0    ffffe000  these are 32 Class C net
/18  16384  16382  255.255.192.0    ffffc000  these are 64 Class C net
/17  32768  32766  255.255.128.0    ffff8000  these are 128 Class C net
/16  65536  65534  255.255.0.0      ffff0000  these are 256 Class C net = Class B net
IPv4 Multicast addresses (224.0.0.0/4)
All multicast addresses can easily be recognized because they
start with the bit pattern "1110".
- 224.0.0.0 - 224.0.0.255 Link-local scope multicast address
 
- 224.0.1.0 - 238.255.255.255  Globally-scoped (Internet-wide) multicast addresses
 
- 239.0.0.0 - 239.255.255.255  Local multicast addresses
Well known multicast addresses are listed at http://www.iana.org/assignments/multicast-addresses/multicast-addresses.xhtml
Multicast addresses use a destination Mac-address in the range from
01:00:5E:00:00:00 to 01:00:5E:7F:FF:FF
The IP address maps directly to a Mac address. 
The lower 23 Bits of the multicast IPv4 Address are added
to the lower 23 Bits of the Mac address. Example: 224.0.0.210 would
be send to the Mac address 01:00:5E:00:00:D2.
Ethernet frames with a value of 1 in the least-significant bit
of the first octet of the destination address (logical AND with
01:00:00:00:00:00) are sent to all ports on the same switch unless the
switch is VLAN aware and there is a VLAN tag between ethernet and IP layer.
In other words the Ethernet address and the VLAN tag define together
to which ports a packets is sent.
IPv4 special and private address ranges
Private address ranges are not routed on the Internet and
can be freely allocated in any private network. NAT (network
address translation) is required when connecting such a network
to the Internet.
Private network addresses (RFC1597/RFC1918 addresses):
- 10.0.0.0 - 10.255.255.255  A 24-bit block, /8, class A network
 
- 172.16.0.0 - 172.31.255.255  A 20-bit block, /12, set of 16 contiguous class B network numbers
 
- 192.168.0.0 - 192.168.255.255  A 16-bit block, /16, set of 255 contiguous class C network numbers
Special addresses:
- 127.0.0.0 - 127.255.255.255 Special address range for the
localhost. You can normally not use those addresses for anything else.
- 127.0.0.1 is generally assigned to the loopback device
 
- 0.0.0.0  Unspecified address. A special host address commonly reserved for the default route or used to indicated that no address is assigned.
2) IPv6 address types
Some of this information is taken from https://www.ripe.net/manage-ips-and-asns/ipv6/ipv6-address-types
- ::/128, Unspecified addressThis address may only be used as a source address by an initialising host
before it has learned its own address.  This is equivalent to 0.0.0.0 in ipv4.
- ::1/128, Loopback addressThis address is used when a host talks to
itself over IPv6. This often happens when
one program sends data to another.
This is equivalent to 
127.0.0.1 in ipv4.
- 0:0:0:0:0:FFFF:a.b.c.d/96 or ::FFFF:a.b.c.d/96, IPv4-Mapped addressExample: ::ffff:192.0.2.47
 These addresses are used to embed
IPv4 addresses in an IPv6 address. One
use for this is in a dual stack transition
scenario where IPv4 addresses can be
mapped into an IPv6 address. See RFC
4038 for more details.
- fc00::/7, Unique Local Addresses, private addressesExample: fdf8:f53b:82e4::53
 
 Unique Local Addresses (ULAs)
These addresses are reserved for local
use in home and enterprise environments
and are not public address space.
 
 This is equivalent to the ipv4
private, or RFC 1918 address space (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16)
 
 These addresses might not be unique,
and there is no formal address
registration. Packets with these
addresses in the source or destination
fields are not intended to be routed on
the public Internet but are intended
to be routed within the enterprise or
organisation.
See RFC 4193 for more details.
-  fe80::/10, Link-Local AddressesExample:
fe80::200:5aee:feaa:20a2
 
 These addresses are used on a single
link or a non-routed common access
network, such as an Ethernet LAN. They
do not need to be unique outside of that
link.
IPv4 equivalent:
169.254.0.0/16
 
 Link-local addresses may appear as the
source or destination of an IPv6 packet.
Routers must not forward IPv6 packets if
the source or destination contains a linklocal address.
Link-local addresses may appear as the
source or destination of an IPv6 packet.
Routers must not forward IPv6 packets if
the source or destination contains a linklocal address.
- 2001:0000::/32, Teredo addressExample:
2001:0000:4136:e378:8000:63bf:3fff:fdd2
 This is a mapped address allowing IPv6
tunneling through IPv4 NATs. The address is
formed using the Teredo prefix, the server's
unique IPv4 address, flags describing the type
of NAT, the obfuscated client port and the
client IPv4 address, which is probably a private
address. It is possible to reverse the process
and identify the IPv4 address of the relay server,
which can then be looked up in the relevant
RIR's Whois database.
- 2001:0002::/48, Benchmarking addressesExample:
2001:0002:6c::430
These addresses are reserved for use in
documentation. They should not be used as
source or destination addresses.
- 2001:0010::/28, Orchid addressesExample:
2001:10:240:ab::a
 
 These addresses are used for a fixed-term
experiment. They should only be visible on an
end-to-end basis and routers should not see
packets using them as source or destination
addresses.
- 2002::/16, 6to4Example:
2002:cb0a:3cdd:1::1
 
 6to4
A 6to4 gateway adds its IPv4 address to this
2002::/16, creating a unique /48 prefix. As the
IPv4 address of the gateway router is used to
compose the IPv6 prefix, it is possible to reverse
the process and identify the IPv4 address, which
can then be looked up in the relevant RIR's
Whois database.
 
 There is no equivalent in IPv4 but
192.88.99.0/24 has been reserved as
the 6to4 relay anycast address prefix
by the IETF.
- 2001:db8::/32, Documentation addressesExample:
2001:db8:8:4::2
 
 These addresses are used in examples and
documentation. They should never be source or
destination addresses.
IPv4 equivalent: 192.0.2.0/24, 198.51.100.0/24, 203.0.113.0/24
- 2000::/3, Global Unicast addressThe operators of networks using these
addresses can be found using the Whois servers
of the RIRs listed in the registry at:
http://www.iana.org/assignments/ipv6unicast-address-assignments
- ff00::/8, Multicast addressesExample:
ff01:0:0:0:0:0:0:2
 
 These addresses are used to identify multicast
groups. They should only be used as destination
addresses, never as source addresses.
The IPv4 equivalent is 224.0.0.0/4.
Written by Guido Socher, MIT license