![]() |
|
|
| |
|
||||
IPv6 is version 6 of the Internet Protocol; it was initially called IP Next Generation (IPng) when it was picked as the winner in the IETF's IPng selection process. IPv6 is intended to replace the previous standard, IPv4, which only supports up to about 4 billion (4 × 109) addresses, whereas IPv6 supports up to about 3.4 × 1038 (3.4 duodecillion) addresses. This is the equivalent of 4.3 × 1020 (4.3 quintillion) addresses per inch² (6.7 × 1017 (6.7 quadrillion) addresses/mm²) of the Earth's surface. It is expected that IPv4 will be supported until at least 2025, to allow time for bugs and system errors to be corrected. The compelling reason behind the formation of IPv6 was lack of address space, especially in the heavily populated countries of Asia such as India and China. See the article IPv4 address exhaustion for more on this topic. However since the introduction of NAT this is not such a big problem any more. Currently the big drive for IPv6 is new uses, such as mobility, quality of service, privacy extension and so on. IPv6 is the second version of the Internet Protocol to be formally adopted for general use. (There was also an IPv5, but it was not a successor to IPv4; rather, it was an experimental flow-oriented streaming protocol, intended to support voice, video, and audio.) The plan is for IPv6 to form the basis for future expansion of the Internet. Although IPv6 was adopted by the IETF as the successor to IPv4 over ten years ago (in 1994), worldwide IPv6 deployment as a publicly-accessible internet is still only a few percent [1] (http://bgp.potaroo.net/index-v6.html) of the size of the worldwide IPv4 Internet [2] (http://bgp.potaroo.net/index-bgp.html).
IPv6 addressingThe most dramatic change from IPv4 to IPv6 is the length of network addresses. IPv6 addresses, as defined by RFC 2373 and RFC 2374, are 128 bits long; this corresponds to 32 hexadecimal digits, which are normally used when writing IPv6 addresses, as described in the following section. The number of possible addresses in IPv6 is 2128 ≈ 3.4 x 1038. The number of IPv6 addresses can also be thought of as 1632 as each of the 32 hexadecimal digits can take 16 values (see combinatorics). In many situations, IPv6 addresses are composed of two logical parts: a 64-bit network prefix, and a 64-bit host-addressing part, which is often automatically generated from the interface MAC address. It is often argued that 128-bit addresses is overkill, and that the Internet will never need that much. It should be noted that the rationale for the 128-bit address space is not primarily to make sure that addresses never run out, but rather to ensure that routing can be handled smoothly by keeping the address space unfragmented, rather than as the current situation is with IPv4, where a great number of discrete netblocks can be, and often are, assigned to one organization. Notation for IPv6 addressesIPv6 addresses are 128 bits long but are normally written as eight groups of 4 hexadecimal digits each. For example, 2001:0db8:85a3:08d3:1319:8a2e:0370:7344 is a valid IPv6 address. If a 4 digit group is 0000, it may be omitted. For example, 2001:0db8:85a3:0000:1319:8a2e:0370:7344 is the same IPv6 address as 2001:0db8:85a3::1319:8a2e:0370:7344 Following this rule, if more than two consecutive colons result from this omission, they may be reduced to two colons, as long as there is only one group of two or more consecutive colons. Thus 2001:0DB8:0000:0000:0000:0000:1428:57ab 2001:0DB8:0000:0000:0000::1428:57ab 2001:0DB8:0:0:0:0:1428:57ab 2001:0DB8:0::0:1428:57ab 2001:0DB8::1428:57ab are all valid and mean the same thing, but 2001::25de::cade is invalid. (As it is ambiguous how many 0000 groups should be on each side.) Also leading zeros in all groups can be omitted, thus 2001:0DB8:02de::0e13 is the same thing as 2001:DB8:2de::e13 If the address is an IPv4 address in disguise, the last 32 bits may be written in decimal; thus ::ffff:192.168.89.9 is the same as ::ffff:c0a8:5909, but not the same as ::192.168.89.9 or ::c0a8:5909. The ::ffff:1.2.3.4 format is called an IPv4-mapped address, and is deprecated. The ::1.2.3.4 format is an IPv4-compatible address. IPv4 addresses are easily convertible to IPv6 format. For instance, if the decimal IPv4 address was 135.75.43.52 (in hexadecimal, 0x874B2B34), it could be converted to 0000:0000:0000:0000:0000:0000:874B:2B34 or ::874B:2B34. Then again, one could use the hybrid notation (IPv4-compatible address), in which case the address would be ::135.75.43.52. Special addressesThere are a number of addresses with special meaning in IPv6. This is a brief table of these, in CIDR notation – see the linked page for more information.
IPv6 packetThe IPv6 packet is composed of two main parts; the header, and the payload. The header is in the first 40 bytes of the packet and contains both source and destination addresses (128 bits each), as well as the version (4 bit IP version), traffic class (8 bit, Packet Priority), flow label (20 bits, QoS management), payload length (16 bit), next header (for backwards compatibility), and hop limit (8 bits, time to live). Next comes the payload, which must be at least 1280 bytes long, or 1500 bytes long in an environment with a flexible MTU size. The payload can go up to 65,535 in standard mode, or can be set to a "jumbo payload" option. There have been two very slightly different versions of IPv6; the (now-obsolete) initial version, described in RFC 1883, differs from the current proposed standard version, described in RFC 2460, in one field. This is the traffic class, which has its size increased from 4 to 8 bits. All other differences are minor. Fragmentation is handled in the host only in IPv6. In IPv6, options also move out of the standard header and are specified by a Next Protocol field, similar in function to IPv4's Protocol field. As a handwaving example, whereas in IPv4 one would add a Strict Source and Record Routing (SSRR) option to the IPv4 header itself in order to enforce a certain route for the packet, in IPv6 one would make the Next Header field indicate that a Routing header comes next. The Routing header would then specify the additional routing information for the packet, and then indicate that the, for example, TCP header comes next. This is analogous to the handling of AH and ESP in IPSec for IPv4 (which applies to IPv6 as well, of course). IPv6 and the Domain Name SystemIPv6 addresses are represented in the Domain Name System by AAAA records (so-called quad-A records) for forward lookups (by analogy with A records for IPv4); reverse lookups take place under ip6.arpa (previously ip6.int), where address space is delegated on nibble boundaries. This scheme is defined in RFC 3596. The AAAA scheme was one of two proposals at the time the IPv6 architecture was being designed. The other proposal would have had A6 records for the forward lookup and a number of other innovations such as bit-string labels and DNAME records. It is defined in the experimental RFC 2874 and its references. While the AAAA scheme is a simple generalisation of the IPv4 DNS, the A6 scheme was an overhaul of the DNS to be more general, and hence more complex:
The AAAA scheme was effectively standardized on in August 2002 by RFC 3363 (with further discussion of the pros and cons of both schemes in RFC 3364). IPv6 deploymentOn 20 July 2004 ICANN announced[3] (http://icann.org/announcements/announcement-20jul04.htm) that the root DNS servers for the Internet had been modified to support both IPv6 and IPv4. Disadvantages:
To do: Transition mechanismsUntil IPv6 native connectivity becomes widely available and supported by the routing infrastructure, it is necessary to use transition mechanisms to tunnel IPv6 through IPv4 networks. That can be achieved with:
These tunnels work by encapsulating IPv6 packets into IPv4 packets with IP next-layer protocol number 41, hence the name proto-41. Similarly, ISATAP allows the transmission of IPv6 packets through an internal IPv4-only networking infrastructure. It also uses protocol number 41. When IPv6 connectivity is desired from behind a NAT device, many of which do not forward proto-41 packets properly, one may use the Teredo protocol which encapsulates IPv6 over UDP over IPv4. It is also possible to use IPv6-to-IPv4 and IPv6-to-IPv6 proxies, though that is typically application-layer specific (eg. HTTP). Major IPv6 announcements
Related IETF working groups
Further reading
External links
de:IPv6 es:IPv6 fr:IPv6 ko:IPv6 it:IPv6 nl:Internet Protocol Version 6 ja:IPv6 pl:IPv6 pt:IPv6 fi:IPv6 zh:IPv6 |
||||||||||
|
|
|
|
|
|
Copyright 2008 WordIQ.com - Privacy Policy
::
Terms of Use
:: Contact Us
:: About Us This article is licensed under the GNU Free Documentation License. It uses material from the Wikipedia article "AAAA record". |