- 127.0.0.1 (local loopback)
- 10.0.0.1 (typical local IP address)
- 22.214.171.124 (public IP address of this blog)
IPv6 uses eight 16-bit hexadecimal values, seperated by a colon ":".
- ::1 (local loopback)
- fec0::3010:2ffe:fe21:2640 (typical local IP address)
- 2001:db2:31:1041:204a::1337 (random public IPv6 address)
The first thing you should know, is that IPv6 addresses can be abbreviated. The local loopback address, written in the example as "::1", is actually the shortened version of 0000:0000:0000:0000:0000:0000:0000:0001.
Leading zeros in IPv6 can usually be left out. This would shorten our local loopback address to 0:0:0:0:0:0:0:1.
To further reduce the length of the address (and add to its confusion, at first), one sequence of zeros, seperated by colons, can be removed and replaced by a double colon "::". Since our example holds seven zero's, it's shortened to ::1.
For instance, the IPv6 address 2001:af40:0401:0000:0000:a401:0000:f010 can be abbreviated like this.
2001:af40:0401:0000:0000:a401:0000:f010 (full form)
2001:af40:0401::a401:0000:f010 (series of zeros replaced by ::)
2001:af40:401::a401:0:f010 (leading zeros removed)
Replacing a series of zeros, can only occur once. The following isn't a legal IPv6 address: 2001:af1::50:1002::5, because there is no way to determine if the address should be
Since IPv6 no longer uses points to seperate values, but colons, it poses a direct problem for specifying portnumbers, as its default notation is <ip>:<port>. This can be solved by placing the IP address in between brackets, such as [::3]:8080 (which addresses the local loopback address, on port 8080). For websites that use the IP for access, this should be http://[ip-address]:port.