What Is IPv6?
IPv6 - is a new (sixth) version of the Internet Protocol, which is going to replace the current fourth version IPv4. Currently IPv6 is being gradually deployed into the work. Many devices and Internet hosts already support IPv6 protocol. For example, our web-site is also available to users who are connected to the Internet using IPv6. Many of our tools are compatible and support this protocol. For example, on our site you can ping or trace IPv6 hosts.
IPv6 addresses are 128 bits long, which gives a total of
In fact, by the rules of allocation of IPv6 addresses it was decided to give to the end user whole subnet address with the prefix 64 bits long. Which in practice means that each of the world's population will be given a huge number of addresses that will connect a myriad of different devices, each of which will be seen to the Internet with their "white" and fair IP-address, and, of course them could be addressed in the network directly! All this in theory will greatly simplify routing and network infrastructure.
Address representation in IPv6
IPv6 addresses in the standard form agreed to write to the eight blocks of four hexadecimal numbers from 0x0000 to 0xFFFF, separated by a colon. For example:
Leading zeros groups can be omitted:
Moreover, if the groups contain only zeros, they can be simplified and replaced by a double colon, thus it can be made in only one place (to avoid any ambiguity). For example, the above address may be reduced to the form:
If there are several groups of zeros, for example:
Than the longest group should be compressed:
If the zero groups are equal:
Than the most left should be compressed:
For example, the address of the local 0000:0000:0000:0000:0000:0000:0000:0001 in IPv6 representation can be written as ::1, and the address of the current network (known as unspecified address) 0000:0000:0000:0000:0000:0000:0000:0000 can be shortened to :: respectively.
Also, when recording IPv6 addresses it is preferred to use lower-case letters in hexadecimal numbers. So it's preferable to write:
Structure of IPv6 addresses. Global and Individual Addresses
IPv6 address 128 bits length: ------------------------------------------------------- | Prefix Provider | Network | Interface ID | | 48 bits | 16 bits | 64 bits | ------------------------------------------------------- | Subnet prefix | ----------------------------- | Global prefix | -------------------
Methods for allocation of IPv6 addresses from the global address space are determined precisely the address structure. The first 48 bits of the address represent global prefix and these blocks are usually allocated to providers and various organizations. Those, in turn, are able to use the next 16 bits of address for the organization of their subnets. The remaining 64 bits are the interface ID of the user's device. As we can see, in theory, it allows you to connect to the same subnet
Addressing In IPv6
In IPv6, has identified several types of addresses that define the addressing of packets:
- Unicast. This is the usual unary address. Such addresses are tied to a single network interface, and it is always well known who gets the packet sent to this address.
- Anycast. This address is essentially a group of network interfaces. When you send a packet to this address, it will be received by an interface closest according to the routing table from the group of interfaces associated with this address. Such addresses can be assigned only to routers. With the help of anycast addresses it is possible to organize the group of computers which externally looks like a single host. As added value it gives an ability to redistribute the load between them, by sending packets to the closest. For example, such scheme could be useful for organization of the DNS Root servers or other similar distributed systems. Nevertheless, at the moment this implementation of the addressing scheme can be somewhat problematic in a real deployment, as it is not a complete description.
- Multicast. These addresses allow you to organize multicast data transmission. Packets sent to this address will reach all the network interfaces belonging to that address. FOr example, could be used as implementation of IP-TV and radio.
IPv6 over IPv4
There is a transition mechanism to transmit IPv6 packets over existing IPv4 networks. This mechanism is necessary in order to allow some hosts to connect to the IPv6 network, if the provider is not currently able to allocate real IPv6 addresses to that hosts (websites or users).
According to the standard RFC-6890, the following special IPv6 addresses and subnets are reserved for different needs:
|Network (or address)||Description||Reserved by |
|100::/64||Discard-Only Address Block||No||RFC-6666|
|2001::/23||IETF Protocol Assignments||No||RFC-2928|
Main Changes In Comparison To IPv4
- Significantly increased address space.
- Simplified routing (no packets breakdown, there is no checksum in the structure of the packets)
- Despite the fact that the address length is increased 4 times (from 32 to 128 bits), the total elongation of the packet header only increased 2 times - from 20 to 40 bytes.
- In high-speed networks, there is support for very large packages - jumbograms, up to 4 gigabytes length.
- Flow labels and traffic classes are introduced, which makes it possible to effectively control the priority of data transmission.
- Introduced multicast addresses, which, in theory, should give the opportunity to simplify, for example, broadcasting (TV and radio) on IP-networks.
If you want to learn a bit more about the differences of IPv4 and IPv6 addresses, you can read our brief comparison table.