Sunday, August 4, 2013

IPv6

I have yet to lab IPv6, so most of these comments are needing to be simply committed to memory for the exam.  I have every intention of labbing this up in the coming months, however, as the Internet (which we know drives all technology in the world of networking) is starting to move that direction.  But for now, we memorize facts and gather concepts in hopes of knowing enough to pass the exam...(I feel a little dirty about that last statement)

IPv6 was developed to address the fact that we are running out of IP addresses worldwide.  The growth of the Internet was not anticipated, and experts suggest that each individual on earth would one day require over 250 unique IP addresses for their own personal gadget use (Ed. note:  I find that disturbing and fascinating all at the same time)

Work on IPv6 began in 1991, once the coming exhaustion of IPv4 addresses was predicted to be between 2005 and 2015.

 Some of the shortfalls of IPv4:
  1. LAN latency caused by ARP requests which are processed as interrupts on the Ethernet port
  2. No mobility - no way to allocate addresses to mobile devices, such as phones or PDAs
  3. Routing issues - with large routing tables, routing can become problematic
  4. No built-in security, rather it is left to applications
IPv6 uses 128-bit addresses, compared to IPv4's 32-bits.  The first half of the address is the L2 and the second part of the address is the L3, and no subnet mask is required.  Rather, IPv6 uses NDP (Neighbor Discovery Protocol) for L2-L3 mapping, replacing ARP.  The first part of the address is the link-layer address which identifies the destination host, while the 2nd part identifies the destination network.

UPDATE:  I have to retract my above statement, as I think I misunderstood it.  The first 64 bits of an IPv6 address contains the global routing information, as well as the provider network.  The second half of the address is the host ID, and can be generated by inserting FFFE into the middle of the MAC address and inverting the U/L bit (which is the 7th bit from the left).  I apologize if I confused anyone beside myself...

RFC1884 is the specification for IPv6, and it states that addresses should be expressed as 8 groups of 4 hex digits separated by colons.  We therefor refer to it as "coloned hex."  There are 2^128 addresses available in IPv6, which means there are approximately 5*10^28 addresses for each individual on earth.

The RFC also states that leading zeros can be eliminated and successive zeros can be replaced with double colons in the expression of the address, but that there can only be one pair of double-colons in an address.  The double-colon can begin the address or end the address - beginning the address would be when using an IPv4-compatible or IPv4-mapped format where you tag the IPv4 address to the end of the IPv6 address.

In IPv6, broadcasts are replaced with multicasts and anycasts.

Unicast in IPv6 is the same as in IPv4, where a packet is sent to a single destination.

Anycast packets are sent to any address assigned to a group of interfaces, but will go to the first to accept the packet - such as used in load balancing.

Multicast delivered to all interfaces defined in the group.

Migrating to IPv6 from IPv4 will be done in one of two methods:
  1. Dual-stack - preferred because both protocol stacks are running on the network and the stack to be used is identified by the destination address.  A DNS server is required, and all interfaces are assigned both an IPv4 and IPv6 address.  If you add the IPv6 address onto an interface along with an IPv4 address, you have a dual stack.
  2. Tunneling - the IPv4 header of 20 bytes is appended on to the IPv6 address.  The IPv6 packet is encapsulated within the IPv4 packet.  All routers in the network need to support the dual stack, since they will need to route all traffic.
IPv6 requires that each interface on the network have a unique Interface Identifier, which is the MAC address with FFFE inserted into the middle of the address.

Routing for IPv6 can be done with:
  1. Static routes
  2. OSPFv3
  3. RIPng
  4. EIGRP for IPv6
  5. ISIS for IPv6
  6. MP-BGP4

Commands for configuring:

R1#(config) ipv6 unicast-routing
R1#(config)interface fast ethernet 0/0
R1#(config-if)ip address 192.168.1.2 255.255.255.0
R1#(config-if)ipv6 address 2eef:c001:b14:2::c12/125
R1#(config-if)end
R1#

 NOTE:  I added a couple IPv6 address to a GNS3 lab and was able to ping it.  I will need to do some further reading and lab work to fully grasp these concepts...


No comments:

Post a Comment