# IPv6 Addresses and Ranges

An IPv6 address is made of 8 groups of 16-bit hexadecimal values separated by colons as in `2001:0db8:85a3:0000:0000:8a2e:0370:7334`.

IPv6 addresses can be abbreviated by omitting leading zeroes in 16-bit values and by replacing each group of consecutive zeroes by a double colon. As such, `2001:0db8:85a3:0000:0000:8a2e:0370:7334` is equivalent to `2001:db8:85a3::8a2e:370:7334`.

An IPv6 address range must conform to one of the following forms:

- `*`: the range includes all valid IP addresses,

- `ipA-ipB`: the range includes the IPv6 addresses between `ipA` and `ipB`,

- `ipA/n`: the range includes all the IPv6 addresses which first `n` bits are identical to the first `n` bits of `ipA`,

- `ipA-ipB/n`: An IPv6 address that is included in this range is comprised between `ipA` and `ipB`, and has its first `n` bits identical to the first `n` bits of `ipA` and `ipB`.