Tuesday 11 December 2012

what is IPv6?

Why a new IP generation ?
-> IPv4 adresses become a scarce resource (32 bits, nominally about 4.3'' adresses)

-> The final block of IPv4 address has been allocated this year (2011).

-> The shortage of IPv4 addresses is a practical problem

-> An initial addressing crisis in IPv4 was alleviated by CIDR (-> more flexible allocation of address blocks)...
->   ... giving IPv4 addressing a bit more lifetime.

IPv6 Design Goals:

-  simple header structure
-  improved routing by address aggregation
-  better multi-casting and any-casting
-  possibility of using Quality of Service
-  integrated security
-  support and identification of traffic flows

Transition to IPv6 - 3 Basic Methods:

-> Dual Stack
        Implemented in hosts to allow interworking with IPv6 and IPv4 networks
-> Tunnels
        Used for IPv6 to IPv6 interworking via an IPv4 network
-> Translators
        Used for IPv6 to IPv4 interworking by translating the headers

Types of IPv6 Addresses:

Like IPv4…
1.Unicast
   An identifier for a single interface. A packet sent to a unicast address is delivered to the interface identified by that address.
2.Multicast (a mandatory part of IPv6)
   An identifier for a set of interfaces (typically belonging to different nodes). A packet sent to a multicast address is delivered to all interfaces identified by that address.
3. Anycast:
   An identifier for a set of interfaces (typically belonging to different nodes). A packet sent to an anycast address is delivered to the "nearest" one, according to the routing protocols' measure of distance.

What is not in IPv6

Broadcast
* There is no broadcast in IPv6.
* This functionality is taken over by multicast.
* One consequence of this is that the “all 0s” and “all 1s” addresses are legal in IPv6.

IPv6 addresses

Representation of Addresses:

-> All IPv6 addresses are 128 bits
-> Written as 8 sets of 4 hex digits (16 bits each) separated by colons
      Leading zeros in group may be omitted
      One contiguous set of all-zero groups may be replaced by “::”
      Only one such group can be replaced
-> Example
          3ffe:3700:0200:00ff:0000:0000:0000:0001
-> This can be written as
        3ffe:3700:200:ff:0:0:0:1 or   3ffe:3700:200:ff::1
-> All three reduction methods are used here.

Examples of types of Unicast Addresses:

-> Normal addresses
2001:0db8:85a3:0000:0000:8a2e:0370:7334
-> Unspecified address
      All zeros (::) - no such host
      Used as source address during initialization
      Also used in representing default
-> Compatible IPv4 addresses
     E.g. form ::ffff:a.b.c.d where a.b.c.d is the Ipv4 address
     Provides IPv6 stations with access to IPv4 stations
-> Loopback address
     Low-order one bit (::1)
     Same as 127.0.0.1 in IPv4

Ipv6 Addresses:

-> Multicast
     FF/8
      FFfs                                 f=flags, s=scope
-> Anycast
     subnet-prefix::0
-> Unicast is everything else, 
     eg.  D202:23F8:17::12A1:0:A3
-> Site local like 10..., 172.16.., 192.168..
     FE/8
-> Example address (used in documentation)
     2001:DB8...

Embedding IPv6 addresses in URL’s

To use a literal IPv6 address in a URL, the address should be enclosed in "[" and "]" characters. For example the following IPv6 addresses:
FEDC:BA98:7654:3210:FEDC:BA98:7654:3210
3ffe:2a00:100:7031::1
::ffff:192.9.5.5
2010:836B:4179::836B:4179
would be represented as in the following example URLs: 
http://[2001:BA98:7654:3210::BA98:7654:3210]:80/index.html
http://[3ffe:2a00:100:7031::1]
http://[::ffff:192.9.5.5]/ipng
http://[2010:836B:4179::836B:4179]
Source: RFC 2732

Compatibility with IPv4 Applications:

-> Applications should be able to hold a combination of IPv4/TCP, IPv4/UDP, IPv6/TCP and IPv6/UDP sockets simultaneously within the same process.
-> Applications using the original API should continue to operate as they did on systems supporting only IPv4. That is, they should continue to interoperate with IPv4 nodes.
-> The IPv4 address is encoded into the low-order 32 bits of the IPv6 address, and the high-order 96 bits hold a set prefix 0:0:0:0:0:FFFF. IPv4-mapped addresses are written as follows:
                                         : : FFFF:<IPv4-address>
-> These addresses can be generated automatically by the getaddrinfo() function.
-> Applications may use AF_INET6 sockets to open TCP connections to IPv4 nodes, or send UDP packets to IPv4 nodes, by simply encoding the destination's IPv4 address as an IPv4-mapped IPv6 address.

No comments:

Post a Comment