IP, the Internet Protocol, is one of the pillars which supports the
Internet.
Almost 20 years old, first specified in a remarkably concise 45 pages
in RFC
791, IP is the network-layer protocol for the Internet.
In 1991, the IETF decided that the current version of IP, called IPv4,
had
outlived its design. The new version of IP, called either IPng (Next
Generation)
or IPv6 (version 6), was the result of a long and tumultuous process
which came
to a head in 1994, when the IETF gave a clear direction for IPv6.
IPv6 is designed to solve the problems of IPv4. It does so by creating
a new
version of the protocol which serves the function of IPv4, but without
the same
limitations of IPv4. IPv6 is not totally different from IPv4: what
you have
learned in IPv4 will be valuable when you deploy IPv6. The differences
between
IPv6 and IPv4 are in five major areas: addressing and routing, security,
network
address translation, administrative workload, and support for mobile
devices.
IPv6 also includes an important feature: a set of possible migration
and
transition plans from IPv4.
Since 1994, over 30 IPv6 RFCs have been published. Changing IP means
changing
dozens of Internet protocols and conventions, ranging from how IP
addresses are
stored in DNS (domain name system) and applications, to how datagrams
are sent
and routed over Ethernet, PPP, Token Ring, FDDI, and every other medium,
to how
programmers call network functions.
The IETF, though, is not so insane as to assume that everyone is going
to change
everything overnight. So there are also standards and protocols and
procedures
for the coexistence of IPv4 and IPv6: tunneling IPv6 in IPv4, tunneling
IPv4 in
IPv6, running IPv4 and IPv6 on the same system (dual stack) for an
extended
period of time, and mixing and matching the two protocols in a variety
of
environments.
So What’s In It?
Even if you’ve never studied IPv6, you may know about its most famous
feature:
big addresses. IPv4 uses 32-bit addresses, and with the growth of
the Internet,
these have become a scarce and valuable commodity. Organizations have
gone to
great lengths to deal with the shortage and high cost of IPv4 addresses.
The
most visible change in IPv6 is that addresses balloon from 32-bits
to 128-bits.
Feature Change
Address SpaceIncrease from 32-bit to 128-bit address space
ManagementStateless autoconfiguration means no more need to configure
IP
addresses for end systems, even via DHCP
PerformancePredictable header sizes and 64-bit header alignment mean
better performance from routers and bridges/switches
Multicast/MultimediaBuilt-in features for multicast groups, management,
and new "anycast" groups
Mobile IPEliminate triangular routing and simplify deployment of mobile
IP-based systems
Virtual Private NetworksBuilt-in support for ESP/AH
encrypted/authenticated virtual private network protocols; built-in
support for QoS taggingWith such a huge address space, ISPs will have
sufficient IP addresses to
allocate enough addresses to every customer so that every IP device
has a truly
unique address---whether it’s behind a firewall or not. NAT (network
address
translation) has become a very common technique to deal with the shortage
of IP
addresses. Unfortunately, NAT doesn’t work very well for many Internet
applications, ranging from old dependables, such as NFS and DNS, to
newer
applications such as group conferencing. NAT has also been an impediment
for
business-to-business direct network connections, requiring baroque
and elaborate
address translators to make everything work reliably, scaling poorly,
and
offering a highly vulnerable single point of failure. One of the goals
of IPv6’s
address space expansion is to make NAT unnecessary, improving total
connectivity, reliability, and flexibility. IPv6 will re-establish
transparency
and end-to-end traffic across the Internet.
Additional address space will also help the core of the Internet---it
is
hoped---by reducing the size and complexity of the global routing
tables.
Although IPv6 doesn’t solve the problems of routing in the Internet,
it can help
in several areas, reducing the initial size of the tables and offering
a
hierarchical address space.
The new IPv6 addresses are large and cumbersome to deal with, so IPv6
reduces
the number of people who have to read and write them. A second major
goal of
IPv6 is to reduce the total time which people have to spend configuring
and
managing systems. An IPv6 system can participate in "stateless"
autoconfiguration, where it creates a guaranteed-unique IP address
by combining
its LAN MAC address with a prefix provided by the network router---DHCP
is not
needed. Of couse, DHCP is still useful for other parameters, such
as DNS
servers, and is supported as DHCPv6 where needed. IPv6 also offers
a middle
ground between the two extremes with protocols such as SLP ("Service
Location
Protocol"), which may make the lives of network managers easier.
Although IPv4 is a simple protocol, it was not designed for giga-bit
and
tera-bit routers which need to look at millions of packets a second.
The third
major goal of IPv6 is to speed up the network, both from a performance
and from
a deployment point of view. IPv6 embodies the lessons learned at trying
to build
high-speed routers for IPv4 by changing the header of the IP packet
to be more
regular and to streamline the work of high-speed routers moving packets
across
the Internet backbone. IPv6 has fixed header sizes, and little-used
IPv4 fields
have been removed.
A side effect of the redesign of the IP packet header is that future
extensions
to IPv6 are simplified: adding a new option to IP can be done without
a major
re-engineering of IP routers everywhere.
High-bandwidth multimedia and fault tolerance applications are the
focus of the
fourth major goal of IPv6. Multimedia applications can take advantage
of
multicast: the transmission of a single datagram to multiple receivers.
Although
IPv4 has some multicast capabilities, these are optional and not every
router
and host supports them. With IPv6, multicast is a requirement. IPv6
also defines
a new kind of service, called "anycast." Like multicast, anycast has
groups of
nodes which send and receive packets. But when a packet is sent to
an anycast
group in IPv6, it is only delivered to one of the members of the group.
This new
capability is especially appropriate in a fault-tolerant environment:
web
servers and DNS servers could all benefit from IPv6’s anycast technology.
The fifth major goal of IPv6 is VPNs, virtual private networks. The
new IPSec
security protocols, ESP (encapsulating security protocol) and AH (authentication
header) are add-ons to IPv4. IPv6 builds-in and requires these protocols,
which
will mean that secure networks will be easier to build and deploy
in an IPv6
world.
Another aspect of VPNs built into IPv6 is QoS (Quality of Service).
IPv6
supports the same QoS features as IPv4, including the DiffServ indication,
as
well as a new 20-bit traffic flow field. Although the use of this
part of IPv6
is not defined, it is provided as a solid base to build QoS protocols.