Monday 13 August 2012

IPv6 and IPv4 - Differences between them (for CCNA Exam)

IPv6 is one of those topics where you are certain to get a few questions in the CCNA exam AND the database of possible questions is quite small. Therefore it is a topic well worth revising the night before your exam!

A typical question is - you are asked to say what are the characteristics of an IPv6 address from 5 or 6 choices that you are given. Typically some of the answers will relate to IPv4 addresses so you need to be very clear on the differences between the two.

Differences between IPv6 and IPv6 Addresses

Total Length:
IP v4  is 32 bits (or 4 bytes) long. IPv6 is 128 bits (or 16 bytes) long. This is four times the length of IPv4

Length of Each Part: IPv4 is divided into 4 parts called octets, each of which is 8 bits long (the word Octet means Eight). IPv6 is divided into 8 parts called fields, each of which is 16 bits long.

Note that the number of parts/fields in an IPv6 address is twice that of  IPV4 and the number of bits in each part is also twice that of IPv4. But 2 X 2 = 4. Therefore the total number of bits in an IPv6 address is FOUR times that of IPv6. (128 bits vs 32 bits.)

No of Addresses: While IPv6 has 4 times the number of bits of IPv4 the difference between the number of possible addresses is enormously greater. IPv4 has 4,200,000,000 (4.2 billion) possible address nodes of which 3.7 billion can actually be used as addresses. The number of possible address for IPv6 is enormously greater - in trillions or nonillions.  If a multi-choice answer refers to "Billions", it cannot be IPv6!

Decimal and Hexadecimal Notation:
A computer sees bits (binary digits 0 and 1)  but we humans find these difficult to understand. Therefore the 32 bits in an IPv4 address are written down in Decimal format. The 128-bit IPv6 address is so long that writing it in decimal would still produce a very long address so we use Hexadecimal format instead.

Hexadecimal  uses a total of 16 characters -  the 10 digits 0 to 9 plus 6 other characters i.e.
Hex A = decimal 10 (and Binary 1010)
Hex B = decimal 11 (and Binary 1011)
Hex C = decimal 12 (and Binary 1100)
Hex D = decimal 13 (and Binary 1101)
Hex E = decimal 14 (and Binary 1011)
Hex F = decimal 15 (and Binary 1111)
(Note that in the exam  IPv6 multi-choice answers may include illegal characters like G or W.)

Examples of IPv4 and IPv6 addresses are:
IPv4   192.168.200.1
4 octets each 8 bits long  giving a total of 32 bits (thus 192 in Decimal notation equals 11000000 in Binary)

IPv6    2031:0000:130F:0000:0000:09C0:876A:130B
8 fields each 16 bits long giving a total of 128 bits (the first field 2031 is a Hexadecimal number that translates into the16 bit Binary Number 0010 0000 0011 0001).
You can use small letters a, b, c, d, e and f instead of capitals.

Note that the 4 fields/octets in IPv4 are separated by dots - this is called Dotted Decimal Notation' In contrast the 8 fields in IPv6 are separated by colons.

No Broadcasts with IPv6
No broadcasts are associated with IPv6. With IPv4, the broadcasts created generate a high level of traffic within the network. This traffic creates an event known as a broadcast storm and the entire network ceases to function. IPv6 replaces broadcasts with multicasts and anycasts.
  • The primary type of IPv6 address is called Unicast. Unicast sends packets to one specific device with one specific address. 
  • Multicast sends a packet to every member of a group. It is a One-to-Many type of address.
  • Anycast  addresses send a packet to any one member of the group of devices that has an anycast address assigned. For efficiency, a packet that is sent to an anycast address is delivered to the closest interface. For that reason, anycast can also be thought of as a One-to-Nearest type of address. (Anycast addresses can be used for things like the nearest DNS server or the  nearest DHCP server etc. The address is allocated to a group of servers but the packet is only delivered to the nearest one.)  
"Anycast" addresses
See following question:
Which of the following is NOT a feature of Anycast addressing in IPv6?
a. Same IPv6 address assigned to multiple nodes
b. Routing protocol makes the “nearest” determination
c. Supports many future potential applications 
d. Provides an any-to-many communication model 
Answer: D

IPSec (IP Security) is the IEFT standard for IP network security (i.e. it is NOT a Cisco proprietary standard). Note that it is available for both IPv4 AND IPv6. The IP network security functions are essentially identical for both IPv4 and IPv6. However IPSec is more fully integrated in IPv6 and can be enabled on every IPv6 node.

Mobile IP. Mobility enables people with mobile network devices to move around in networks. Mobile IP is also an IEFT standard that is available for both IPv4 AND IPv6. However the mobility feature is enhanced in IPv6. "Mobility is an IPv6 feature" according to the Cisco CCNA Discovery course.

Simpler Header. The Header used for IPv6 increases routing efficiency by reducing the number of entries in routing tables. A number of fields in the IPv4 Header are dropped in IPv6  including "Flags" and "Header Checksum". (The fact that routers do NOT need to re-calculate a Header Checksum for every packet is an important advantage of IPv6).) Other fields have their names and positions changed. The only fields that remain completely unchanged in the IPv6 header are "Version", "Source Address" and "Destination Address".

IPv6 Address Representation
Unlike IPv4, the IPv6 address string format is not fixed. The following guidelines are used for IPv6 address string notations:
  • The leading 0s in a field are optional: 09C0 equals 9C0 and 0000 equals 0.
  • One or more groups of 0s can be omitted and replaced with "::"
  • Only one "::"  is allowed in an address.
  • An unspecified address is written as "::" because it contains only 0s.
Therefore the IPv6 address 2031:0000:130F:0000:0000:09C0:876A:130B
 can be shortened to 2031:0:130F :: 9C0:876A:130B
( Note that the :: is only used once. Since an IPv6 address consists of eight fields it is clear that the :: represents two fields of 0s in this example. One of the other six fields is 0 which represents  0000 - leading 0s are dropped)

Note that the following are valid IPv6 addresses:
0;0:0:0:0:0:0:0  This is shortened to :: which in this example represents eight fields of 0s
0:0:0:0:0:0:0:1   This is shortened to ::1

EUI-64 Address in IPv6 and MAC Address in IPv4 (automatic addressing)
One of IPv6's key benefits over IPv4 is its capability for automatic interface addressing. By implementing the IEEE's 64-bit Extended Unique Identifier (EUI-64) format, a host can automatically assign itself a unique 64-bit IPv6 interface identifier without the need for manual configuration or DHCP. This is done by using  the already unique 48-bit MAC address, and adding inserting a further 16 bits in order to arrive at the 64 bits needed for  the interface part of the 128-bit IPv6 address.


The main step is to convert the 48-bit MAC address to a 64-bit value. To do this, we break the MAC address into its two 24-bit halves: the Organizationally Unique Identifier (OUI) and the NIC specific part. The 16-bit hex value FFFE is then inserted between these two halves to form a 64-bit address.
For example take a MAC address 00:12:7F:EB:6B:40 which can also be written as 0012:7FEB:6B40 . The first 6 Hexadecimal digits of the MAC are the OUI and the second six are the NIC specific part. The MAC address is turned into a 64-bit EUI-64 by inserting FFFE in the middle. Thus we get 0012:7FFF:FEEB:6B40 as the interface portion of the IPv6 address. This is typically done both for the Link-Local address and the Glabal Unicast address for a specific interface. (Of course the Prefix for the two addresses will be completely different.)

Thus based on the above example you can have an interface that has 
(a) a Link Local Address of FE80::0012:7FFF:FEEB:6B40/64 (prefix is FE80:: or FE80:0000:0000:0000 AND
(b) a Global Unique Address of say 2001:99:ab:1:0012:7FFF:FEEB:6B40/64 (Prefix is 2001:99:ab:1 )


DHCPv6 - Available But Not Necessary
In IPv4 DHCP is used to dynamically assign the interface address and default gateway of a PC in a network. In IPv6 there is a Stateful DHCPv6 that performs similar functions but it is not necessary as these functions are normally performed by Autoconfiguration and by Neighbor Discovery Protocol.
   
(a) Stateless autoconfiguration creates the IPv6 address in two steps; it first finds the prefix from some nearby router and next it calculates the interface ID by using the EUI-64 format (See above paragraph for a description of the EUI-64 format).
(b) Note that Autoconfiguration creates the IPv6 inteface address of a device but does not find the default gateway. Neighbor Discovery Protocol does both.
(See questions A-4 and A-5 of my IPv6 Questions and Answers for CCNA Exam )

RIPng (Routing Information Protocol - next generation)

RIPng is a distance vector router protocol designed for IPv6.  It is based on the RIP version 2 routing protocol used in IPv4 and is very similar to RIPv2 but uses IPv6 for transport. Thus it is a distance vector routing standard with a limit of 15 hops that uses Split Horizon and Poison Reverse to prevent  routing loops.
The multicast group address FF02::9 identifies all RIPng enabled routers.

For post on "Transition between IPv4 and IPv6" see

http://ccnaexam4dummies.blogspot.ie/2012/08/transition-from-ipv4-to-ipv6.html


TO BE CONTINUED

No comments:

Post a Comment