Wednesday, April 16, 2014

IPV6 Introduction


The Solution for IPv4 Exhaustion is IPv6
IPv6 was designed to solve the problem of IPv4 address exhaustion, as well as adding a number of additional features. Where the IPv4 address is made up of 32 bits, IPv6 addresses are made up of 128 bits, and that means IPv6 can allocate 2128  IPv6 addresses to the Internet connected devices.  The rest of this article focus on the features of IPv6  addressing.

IPV6 Comparison with IPV4
1. IPV6 is very different from IPV4
2. IPV4 is composed of 32 bits & is written in dotted-decimal notation
3. IPV6 made up of 128bits & is written in colon-hexadecimal notation
Ex: – 192.168.1.10 / 2001:f0d0:1002:0011:0000:0000:0000:0002
8 fields separated by colons / each filed is made up of 16 bits represented by 4 hex digits
Each hexa digit represents 4 bits (4hexa x 4bits = 16 bits)
16+16+16+16+16+16+16+16=128bits
4. The first 64 bits (4 fields) network prefix / network address
     2001:f0d0:1002:0011:0000:0000:0000:0002
Subnet is a part of this network prefix, though for private n/w you can have this be any length
5. Next portion is the host addresses number (last 64 bits – last 4 fields)
This is the address number for the network interface within the n/w
6. With IPV6 you will have multiple unicast addresses associated to your n/w interface device.
it includes the link-local address along with other addresses you have assigned to it for your n/w.

IP V6 – Header
Version (4 bits): IP version always 6.
Traffic class (8 bits): Used for QoS. Like the TOS field in IPv4.
Flow label (20 bits): Used for packet labelling, End-to-end QoS.
Payload length (16 bits): Length of the payload header in bytes. Limits packet size to 64 KB.
Next header (8 bits): Code for the extension header or UL protocol. Like protocol type field in IPv4.
Hop limit (8 bits): Number of hops until the packet gets discarded. TTL in IPv4.
Source address (128 bit): IPv6 source address.
Destination addresses (128 bits): IPv6 destination address.

ICMP V6 – Header
ICMP type (8 bits): Error messages have a 0 high-order-bit (types 0 to 127), info messages have a 1 highorder-bit (types 128 to 255).
ICMP code (8 bits): Further specifies the kind of message along with the type.  type 1 code 4 is   “Destination port unreachable”.
ICMP checksum (16 bits): Checksum to prevent data corruption.

IPV6 Benefits
1. Virtually unlimited amount of IP Addresses in comparison to ipv4
2. QOS (Quality of Service) having a traffic-class field & flow in IP header
3. IPV6 has upgraded multicast capabilities, this includes a reserved address range for multicast traffic
Multicast is required to be supported in IPV6, there is not a broadcast address
4. Ability to have end to end IP-SEC
5. NODES have ability to have local addresses accessible on the local n/w without the need of     assignment
6. Ability to obtain auto configuration of gateways settings and optionally DNS settings on the n/w using
NDP- Neighborhood discovery protocol [ability to use DHCP with IPV6 also]

IPV6 Disadvantages
1. In some cases IPV4 faster due to many routers having h/w acceleration to that allows them to route IPV4   packets faster than IPV6 packets
2. Some applications can have potential slowdown on DNS Lookups. Applications will look up both the IPV4 & IPV6 record for a given address. Leading to the DNS Lookup to take twice as long or more
3. All software is ipv6 capable. Especially legacy software (if you want ipv6 best to start with RHEL 6)
4. IPV6 is not inoperable with IPV4

Zero Compression in IPV6
To make IPV6 addresses easier you can use a technique known as Zero Compression
2001:f0d0:1002:0011:0000:0000:0000:0002
Or
2001:f0d0:1002:11:0:0:0:2
Or
2001:f0d0:1002:11::2
We can remove one or more leading zeros from one or more groups of hexadecimal digits
0000 to 0
0008 to 8
0070 to 70
0120 to 120
We can remove consecutive fields of zeros using a double colon ” :: ” this can be done once in an address
0000:0000:0000:0000:0000:0000:0000:0001  to ::1
2001:0000:0000:0000:0000:0000:0000:0000  to 2001::
2001:f0d0:1002:0011:0000:0000:0000:0002       to 2001:f0d0:1002:0011::2
2001:0000:0000:1011:0000:0000:2044:1005      to 2001:0:0:01011::2044:1055
2001:0000:0000:1011:0000:0000:2044:1005      to 2001::01011:0:0:2044:1055


Link-Local Address & Loopback Addresses
  • This address is always associated with the n/w interface enabling IPV6 support.
  • IPV6 Addresses beginning with FE80 are known as link local addresses
  • These addresses cannot be routed and are only accessible on the local network
  • Link local addresses start with FE80 but the last 4 fields (64 bits) per 3 Fields (48 bits)
  • Represent a value calculated based off of the mac address of the network interface on the machine
 FE80::224:d7ff:fec6:7286 –> FE80 is called as link local prefix
  • Think these addresses as locally accessible addresses, Unlike IPV4 if you connect two or more machines on to a  Private n/w they can instantly have access to each other and have their own unique generated IP’s, without the hassle of setting up a IP and subnet for individual machines
  • The Link Local address is calculated differently on different operating systems.
  • On Linux the Link-Local address uses the 48bit MAC address to compose a 64-bit identifier for the specific host using EUI-64 format.

Loopback Address
  • IPV4 loop back is 127.0.0.1
  • IPV6 loop back is ::1

IPv6 Address Scopes
  • ::/128 unspecified addresses
  • ::1/128 localhost
  • fe80::/10 link local scope
  • fec0::/10 site local scope, intended as RFC 1918 successor, deprecated in RFC 3879
  • fc00::/7 unique local unicast scope, RFC 4193, divided into:
  • fc00::/8 centrally assigned by unknown (see http://bit.ly/IETFfc00), routed within a site
  • fd00::/8 free for all, global ID must be generated randomly, routed within a site
  • ff00::/8 multicast scope, after the prefix ff there are 4 bits for flags (0RPT) and 4 bits for the scope
  • ::/96 IPv4-compatible IPv6 address, example: ::192.168.1.2, deprecated with RFC 4291
  • ::ffff:0:0/96 IPv4-mapped IPv6 address, example: ::ffff:192.168.2.1, see RFC 4038
  • 2000::/3 global unicast scope, divided into:
  • 2001::/16 /32 subnets assigned to providers, they assign /48, /56 or /64 to the customer
  • 2001:db8::/32 reserved for use in documentation
  • 2001:678::/29 Provider Independent (PI) addresses and anycasting TLD nameservers
  • 2002::/16 6to4 scope, 2002:c058:6301:: is the 6to4 public router anycast (RFC 3068)
  • 3ffe::/16 6Bone scope, returned to IANA with RFC 3701, you should not see these
  • 64:ff9b::/96 prefix used for representing IPv4 addresses in the IPv6 address space, see RFC 6052

Well Known Multicast Addresses (T-Flag = 0)
  • ff0X::1 all nodes address (scopes 1 and 2)
  • ff0X::2 all routers address (scopes 1, 2 and 5)
  • ff05::1:3 all site-local DHCP servers
  • ff02::9 all link-local RIP routers
  • ff02::1:ff/104 solicited-node address, the 24 low-order bits are equal to the interfaces IP 24 low-order bits
  • ff02::1:2 all link-local DCHP relay agents and servers
  • ff0X::fb Multicast Domain Name Service v6 (all scopes)
  • ff0X::101 Network Time Protocol (all scopes)





No comments:

Post a Comment