A1_Survey_Paper - Lyle School of Engineering

advertisement
Transition of Ipv4 to Ipv6
By
Anita Kanuganti
Hemanth Rao
Under The Able
Guidance Of
Professor
Dr.Mohamed Khalil
1
---------------------------------------------------Abstract: The Internet Engineering Task force
began an effort to develop a successor to the IPv4
protocol. A prime motivation for this effort was the
realization that the 32-bit IP address space was
beginning to be used up, with new networks and IP
nodes being attached to the internet(and being
allocated unique IP addresses) at a breathtaking
rate. To respond to this need for a large IP address
space, a new IP protocol was developed. But as the
saying goes, that every action has a equal and
opposite reaction, this solution lead to a more
serious problem, of how to make this transition of
changing all the IPv4 enabled nodes into IPv6
enabled nodes.
The different methods in which these transitions
can be implemented is the main point of discussion
in this paper. We will discuss all the methods and
their respective advantages and disadvantages. We
will also give a brief description of the IPv6
Protocol.
I. Introduction
The format of the IPv6 packet is shown in the
below described figure.
Version
Payload
Traffic
Class
Flow label
Next Hdr
Hop limit
Source Address
(128 bits)
Destination Address
(128 bits)
Data
Expanded addressing capabilities: IPv6
increases the size of the IP address from 32
---------------------------------------------------to bits to 128 bits. In addition to unicast
and multicast address, it also implements a
new type of address called the any cast
address. This allows a packet addressed to
an any cast address to be delivered to any
one of group of hosts. The IPv6 datagram
has the following fields defined.
1. Version This four bit field identifies
the IP version number. The IPv6
carries a value of “6” in this field.
Note that putting a “4” in this field
does not create a valid IPv4
datagram.
2. Traffic Class The eight-bit field is
similar in spirit to the ToS field that
we saw in the IPv4
3. Flow label This 20 bit field is used
to identify a “flow” of data grams
4. Payload length This 16 bit value is
treated as an unsigned integer
giving the number of bytes in the
IPv6 data grams following the fixed
length, 40 byte packet header.
5. Next header This field identifies the
protocol to which the contents (data
field) of this datagram will be
delivered. The field uses the same
value as the protocol field in the
IPv4 header.
6. Hop limit The contents of this field
are decremented by one by each
router that forwards the datagram. If
the hop limit count reaches zero, the
datagram is discarded.
7. Source destination address The
various formats of the IPv6 128 bit
address
8. Data This is the payload portion of
the IPv6 datagram.
There is also a new ICMP for IPv6. The
ICMP message is used by IP nodes to
report error conditions and provide limited
information for the end system. A new
version of the ICMP has been developed
2
for IPv6. This is discussed in the RFC
2463. In addition to reorganizing the
existing ICMP type and code definitions,
ICMPv6 also added new types and codes
required by the new IPv6 functionality.
These include the “Packet too big” type and
many more.
II. Requirements for Smooth Transitions
When we talk about the transition from
IPv4 to IPv6, we have to take into
consideration every component in the
network.
What we exactly mean here is that, every
node, every router in the network must be
made IPv6 compatible. But that does not
mean that they will be losing their IPv4
datagram processing capabilities.
The actual transition process from IPv4 to
IPv6 can be compared to the migration
processes of smaller scale that take place
all the time. Operating system and software
development environment version changes
are good examples of such migration. The
main constraints set for the IPng transition
should be generally the same as in any
smaller scale migration. However, for the
global Internet community the fulfillment
of the constraints is much more important,
and few shortcuts can be tolerated.
Constraints for the Transition:
Step wise transition: We are already aware
of that the transition cycle will take years
and there is no way to synchronize the
process on different sites. A distributed
approach is necessary. Presumably only the
smallest user organizations are able to
switch over to IPv6 in a single step. All
others must be able to make their own
staged transition plan, and proceed in it
with as few interdependencies as possible.
IPv4 and IPv6 network equipment must be
allowed to coexist and interoperate. It
should even be realized that some old,
small-scale systems may never be capable
of running IPv6. They will maintain the old
protocol suite in the network to the end of
the old hardware usage time
Coexistence and internetworking: The
transition independency means that the
order of migration on unique computers
and network devices is not tied to the
upgrade of some other systems in the
network. The release dates of new
computer systems, routers and application
software
cannot
be
commonly
synchronized. Old equipment and software
will be used in the network while the IPngbased systems and applications are
deployed. The old systems should run
without modifications and be able to
communicate with both the old and new
systems. In practice this means a strict
requirement for simultaneous support for
both IPv4 and IPv6 on all new systems.
Feasible address mapping scheme: IPng
brings the advantage of a very large address
space where even multiple addresses can be
easily reserved for each host. In addition to
the complex scheme of 128-bit IPv6
address distribution, a simplified method is
necessary. To make the transition process
easier an optional simple mapping from an
old IPv4 address is desirable. Since it is not
possible to assume that all IPv4 addresses
used are globally unique, the mapping may
be site-specific in some cases instead of a
fixed prefix.
Smart management tools: During the
transition and existence of dual protocol
networks the demand for a whole set of
management tools is clear. The new tools
must be clever enough to separate IPv4 and
IPv6 characteristics on multiple levels.
Detection of different routes and possible
translation points must be implemented. A
mechanism for checking the IPng
3
capability of remote hosts and devices is
essential. Without appropriate management
applications the complexity of a dual
protocol network will become a nightmare.
III. Transition Components
Hosts: In practice the concept of stepwise
transition means that for many years the
global Internet contains both hosts
restricted to traditional IPv4 operation and
hosts equipped with IPv6 capability. To
allow seamless interoperation, all hosts
running IPng must still be able to
communicate with the older technology. On
the application level software designed for
IPv4 uses the older API while new IPng
applications use the new API. Thus the
application actually knows which protocol
suite it is using. The IPv4 API and standard
applications should be available on IPv6
hosts as well if interoperation with common
tools (e.g. FTP, Telnet) is expected with
older IPv4 hosts.
Routers and routing protocols: From the
protocol version support point of view of
the routers must follow the same rules as
individual hosts. New devices with IPng
capability cannot assume that all other
systems they are interacting with are
equipped with the latest protocol support.
The compatibility constraint applies to
routing protocols as well. While
commercial issues gain more and more
interest within the Internet infrastructure,
IPng routing procedures must allow routing
based on traffic source and destination in
detail. Especially policy routing and
accounting are necessary for funding
agencies.
Domain Name System: During the
transition phase the new IPng capable hosts
have both a 32-bit IPv4 address and a 128bit IPv6 address. Old systems not upgraded
yet naturally have an IPv4 address.
However, an IPv6 address may already
have been assigned to them as well. DNS
has to reply with both addresses, if
available, for queries from IPng hosts. It is
then the decision of the communicating
host to select which protocol to use. For
old-fashioned queries from IPv4-only hosts
the response is the IPv4 address only. A
special condition arises when an IPv6
address has been attributed to a specific
host in DNS, but the host is not really IPng
capable yet. This is called a black hole in
the IPng address space and the associated
protocol software on communicating hosts
must handle such exceptions in an
acceptable way.
Component
Dependencies:
The
dependencies apply to the order of
transition of different network components,
the less resistance and delays are faced.
DNS servers are the first physical devices
to upgrade after a suitable IPng address
allocation and mapping scheme is
available. This allows new IPv6 hosts to
perform name service lookups for IPv6
addresses. Furthermore, the order of
migration on host and router software is
less critical. The concept of protocol
dualism allows IPv4 systems to continue
their operation without any modifications.
The changes in routing protocols can also
be performed with no hurry as the number
of IPng capable routers increases.
IV. Transition Techniques
During the years of transition, we can have
three different types of IP nodes, depending
on their capabilities, to support different
protocols.
1. IPv4 only node: A host or router
that implements only IPv4. An
IPv4-only node does not understand
IPv6. The installed base of IPv4
hosts and routers existing before the
transition begins are IPv4-only
nodes.
4
2. IPv6/IPv4 node: A host or router
that implements both IPv4 and
IPv6.
3. IPv6 node only: A host or router
that implements IPv6 and does not
implement IPv4. These are not
feasible for general purpose Internet
use until the transition has
proceeded into a phase where most
of the communities have upgraded
to IPng.
Simplified addressing mapping: One of the
major constraints set for the transition
process was the alternative for simple and
straightforward
IPv4-to-IPv6
address
mapping. This is performed by placing the
32-bit IPv4 address to the rightmost four
bytes of the 128-bit IPv6 address and
substituting a fixed site-specific or global
prefix to the remaining 96 bits.
For automated protocol compatibility
mechanisms
like
IPv6
in
IPv4
encapsulation (tunneling), a special prefix
of all zeros has been reserved. This is
called an IPv4 compatible address. The rest
of the IPv6 address space is reserved for
pure IPng addresses, termed IPv6-only
addresses. However, direct mapping of
IPv4 addresses may still occur using
service provider specific prefixes. This is
mainly to help the configuration and
administration of the address dualism in
user organizations
Dual IP layer: The most straightforward
procedure to satisfy the requirement for full
intersystem compatibility is to include a
complete IPv4 implementation to new IPv6
systems. This is what we call an IPv6/IPv4
node. They are able to transmit both IPv4
and IPv6 packets and thus interact with all
IP systems in the network. When combined
with protocol encapsulation, interaction of
IPv6 applications will be possible between
two IPv6/IPv4 nodes, even if the devices on
the route have not yet been upgraded to
IPng. The dual stack approach does not
necessary imply that the system should
contain
two
separate
protocol
implementations. It just should act as if it
did. From the application point of view
there are still two separate APIs and the
true decision whether IPv4 or IPv6 is used
is made on the application level
As shown in the below diagram, we have
six nodes, out of which A,B,E,F are IPv6
enabled and C,D are IPv4 are enabled.
A
B
F
C
D
E
We see, in this diagram the disadvantages
of the Dual stack approach, assuming that
node A wants to communicate with the
node F. Node A creates a IPv6 datagram
and transmits it to the next node that is
Node B, which is also IPv6 capable.
However node B must create an IPv4
5
datagram to send to node C. Here the data
field of the IPv6 packet can be copied into
the data field of the IPv4 datagram, and
appropriate address mapping can be done.
However, in performing the conversion
from IPv6 to IPv4, there will be IPv6specific fields in the IPv6 datagram that
have no counterpart in IPv4.The
information in these fields will be lost, and
hence the data will be lost.
Protocol Encapsulation/ Tunneling: During
the deployment of IPv6 the construction of
the new IPng compliant routing
infrastructure will take time. It would be an
intolerable limitation if IPv6 hosts on the
different edges of the network cannot
interoperate using IPng capabilities until all
intermediate routers are upgraded. This
issue can be solved using a technique called
IPv6-in-IPv4 encapsulation or IPv6-overIPv4 tunneling. Tunneling of IPv6 data
grams takes place by encapsulating them
within IPv4 packets. This way IPv6/IPv4
hosts and routers can tunnel IPv6 traffic
over regions of IPv4 routing topology. In
the simplest form the encapsulating node
adds an IPv4 header to the packet and
transmits it. The decapsulating node
removes the IPv4 header and processes the
remaining IPv6 packet as if it were
normally received via IPv6 topologies. In
practice the mechanism is not this simple.
The tunneling procedures must handle
several special conditions properly.
Physical View:
IPv6
IPv6
IPv4
IPv6
IPv4
Logical View:
IPv6
IPv6
IPv6
IPv4 tunnel
1. Fragmentation to several data grams
when the original IPv6 packet is too
big to fit into the data area of a
resulting
IPv4
packet.
The
discovery of optimal MTU sizes for
the path may be used to minimize
the fragmentation process.
2. Implementation of proper hop limits
(TTL). By default, the IPv6-overIPv4 tunnel, regardless how long it
actually is, is seen as a single hop
on the route from the IPv6 point of
view. The TTL values to
encapsulating IPv4 headers must be
set in an implementation dependent
manner.
3. Handling of IPv4 ICMP errors. If
IPv4 ICMP errors are detected
inside the tunnel path, special
mechanisms may be necessary to
6
pass the error information back to
the original initiator.
Two different types of tunneling may
occur. In configured tunneling the tunnel
path endpoint IPv4 address is defined in the
configuration of the encapsulating node.
This approach does not require any
interdependency between IPv4 and IPv6
addresses but requires a lot of effort to
manage. In automatic tunneling the tunnel
endpoint address is directly translated from
the original destination IPv6 address. The
IPv6 addresses used must be IPv4compatible addresses.
DNS "AAAA" records: A new DNS
resource record type named "AAAA" is
used for 128-bit IPv6 addresses. For
IPv6/IPv4 nodes the name service must
also contain the traditional 32-bit IPv4 "A"
record. The resolver libraries will then
retrieve the address that is actually
requested by the application (using IPv4 or
IPv6 API). For IPv4-compatible IPv6
addresses it is not necessary to respond to
queries with both "AAAA" and "A" records
if the IPv6 resolver library is able to extract
the IPv4 address directly from the 128-bit
form.
IP header translation: A technical
alternative for the dual IP layer approach
presented above would be to use dynamic
header translation between IPv4 and IPv6
packets. However, the practical difficulties
seen in this concept have been considered
to be too big, and this alternative has been
abandoned by the IETF. Since IPng
functionality is richer than IPv4
functionality,
successful
translation
between the protocols without losing the
new advanced features is difficult without
complex
manual
configuration
of
interworking applications and translators.
The administration of translator units
would also be very impractical unless they
are completely automatic and constantly
aware of the transition state of other hosts
in the network.
Before I conclude, there is one more
important topic to be considered here, that
is how to migrate the applications that are
dependent on the IP transport layer
protocol.
Migrating the applications: A very large
number of existing applications using an IP
transport layer protocol, like TCP, have
been implemented over the years. The main
concern in all this software is that the
network addresses are handled in a very
low level form, in practice by assuming that
the IP host address length is the IPv4 fixed
32 bits and usually internally storing the
address in a 32-bit wide application
variable. Thus the immediate conclusion is
that an existing TCP/IP application cannot
directly address an IPv6-only host.
Socket API changes: The IPv4 socket API
structures are defined to contain a 32-bit
field for IP addresses. For IPv6 these
structures will definitely change. Should
major modifications to the application
source code occur, depends on the way the
program handles the addresses and
especially the variable syntax used for
allocating space for them. At the easiest
form the conversion could be a simple
recompilation using the new API structure
definitions. At the worst form a lot of code
must be changed, reviewed and debugged
to produce a properly functioning and
robust module. To avoid this kind of
massive software modification demands in
the future, a new, network protocol
independent transport layer specification in
being written.
Binary compatibility: In hosts equipped
with both IPv4 and IPv6 support the
preservation of existing IPv4 binaries is
expected. In practice this can be
implemented by running them over the
7
native IPv4 stack, or by automatically
converting the traffic to take place over
IPv6. The latter alternative still restricts the
functionality to the IPv4 features and may
encounter problems, for example, if manual
mapping of IPv6 addresses to addresses
used by the application is required.
V. Conclusion
It is clearly a challenge to release IPng in a
form that is rapidly and commonly
accepted by the large commercial user
organizations of Internet. The home users
and educational sites are not a problem.
The transition risk is small and the
technological perspective is often seen as
the primary factor for the decision. In an
ideal transition concept the pushing force
would be the technical advantage and new
features offered by IPng, not any
commonly decided timetable that is
justified by the termination of support for
the older technology, the IPv4.
The transition techniques specified by the
IETF so far satisfy the general requirements
rather well. The represented scheme is easy
to adopt. The main areas of improvement
are in the configuration and administration
tasks which may get complicated during the
transition phase protocol dualism.
One important lesson that we can learn
from the IPv6 experience is that it is
enormously difficult to change network
layer protocols. Since the early 1990’s,
numerous new layer protocols have been
trumpeted as the next major revolution for
the Internet, but most of these protocols
have had limited penetration to date.
Indeed, introducing new protocols into the
network
layer is like replacing the
foundation of a house-it is difficult to do
without tearing the whole house down or at
least temporarily relocating the residents of
the House.
8
9
Download