1. Introduction to IPv6
Part 1
University of Nairobi
By Mwendwa Kivuva
@LordMwesh
1
Some material adopted from
2. State why we need to transition to IPv6;
Read IPv6 addresses, classifications, and prefixes;
Understand the IPv6 protocol; and
Describe IPv6 improvements in routing and address
assignment.
Objectives
2
3. together with engineers from within the
Internet community, recognized the exponential
growth of the Internet and exhaustion of the IPv4
address space.
They designed and developed a suite of protocols and
standards now known as Internet Protocol Version 6
(IPv6), to provide a much bigger IP address space,
correct some of the deficiencies of IPv4, and simplify
the way that addresses are configured and handled
by Internet hosts.
What is IPv6?
3
4. By developing IPv6, IETF have dealt with the following
issues:
IPv4 address exhaustion
Need for simpler auto-configuration and re-
numbering
Requirement for security at the IP level (IPSec)
Improved protocol design
New possibilities of managing flows
Advantages and Enhancements
4
6. The final IPv4 addresses were allocated by IANA to
the five RIRs on February 3, 2011, and since then the
RIRs have been running out of IPv4 addresses.
IPv4 Address Exhaustion
6
7. IPv6 is a long term solution as it offers a theoretical
maximum of 3.4x10^38 addresses - over 340 trillion
trillion trillionindividual IPv6 addresses
IPv4 addresses 32 bits (binary digits) long. Example in
binary:
10101100 00010000 11111110 00000001
Divided into 8 bits in each octet, and Written in decimal
notation as: 172.16.254.1
Anatomy of an IPv6 address
7
8. An IPv6 address has 128 bits
0010000000000001 0000110110111000
0000000000000000 0000000000000000
0000000000000000 0000000000000000
0000000000000000 0000000000000001
Divided into 16 bits of 8 blocks, and Written in
hexadecimal notation (8*16=128)
2001:0db8:0000:0000:0000:0000:0000:0001
Anatomy of an IPv6 address
8
9. IPv6 addressing has a hierarchical structure similar to
that of IPv4. This means that IPv6 addresses can be
subnetted for performance and security reasons in
the same way as IPv4
2c0f:fe08:ffff:7000: 2dcd:79dc:d4:2d3f / 64
NETWORK potion HOST address potion PREFIX
All devices whose IP addresses have the same PREFIX,
and share the same NETWORK component of the
address, are part of a subnet
IPv6 Prefixes
9
10. There are 2 methods we can use to reduce the
size of the notation making it even easier to
read.
2001:0db8:ac10:0000:0000:8a2e:0000:0a52
'Zero Compression',
2001:0db8:ac10::8a2e:0000:0a52
'Zero Suppression'.
2001:db8:ac10::8a2e:0:a52
Shortening IPv6 addresses
10
11. Subnet Number of IPs
/128 1
LAN Segment – /64 18,446,744,073,709,551,616
Residential – /56 4,722,366,482,869,645,213,696
Business – /48 1,208,925,819,614,629,174,706,176
ISP – /32
79,228,162,514,264,337,593,543,95
0,336
/16
5,192,296,858,534,827,628,530,496
,329,220,096
/8
1,329,227,995,784,915,872,903,807
,060,280,344,576
IPv6 Subnets
11
12. Unicast : The IETF has assigned binary prefix 001 (HEX
prefix 2000::/3) to IANA for unicast addresses on the
Internet. Example 2000::a12:34ff:fe56:7890
Anycast: Anycast addresses are allocated from the
Unicast address space and are not distinguishable
from unicast addresses
Multicast: all begin with the same prefix –ff00::/8.
IPv6 Address types
12
13. Unicast
13
Probably the IPv6 address you are using now.
An IPv6 unicast address identifies a single
interface. Packets sent to a unicast address are
delivered to that specific interface. So unicast is
communication between a single sender and a
single receiver over a network.
In addition to global unicast addresses, IPv6
also recognizes other sub-sets of unicast
addresses including link-local, site-local, unique
local IPv6 unicast, and special addresses.
14. Anycast
14
IPv6 anycast addresses identify groups of
interfaces.
Packets destined to an anycast address
are sent to the nearest interface in the
group, as determined by the active
routing protocols.
15. Multicast
15
An IPv6 multicast address identifies a
group of interfaces, again typically
belonging to different nodes. Packets
sent to a multicast address are delivered
to all interfaces in the group.
So multicast addresses facilitate
communication between a single sender
and multiple receivers.
16. Link-Local addresses are unicast addresses to be used
on a single link (broadcast domain / network
segment).
Packets with a Link-Local source or destination
address will not be forwarded to other links.
These addresses are used for neighbor discovery,
automatic address configuration, and in
circumstances when no routers are present.
Link-Local unicast addresses
(fe80::/10)
16
17. This all zeros address refers to the host when the host
does not know its own address.
The unspecified address is typically used in the source
field by a device seeking to have its IPv6 address
assigned.
Unspecified address (::/128)
17
18. This group of addresses is for local use, within a site
or group of sites.
Although globally unique, these addresses are not
routable on the global Internet.
ULA is a kind of upgraded RFC 1918 (private) address
space for IPv6
Unique local unicast addresses
(fc00::/7)
18
19. IPv6 has a single address for the loopback function,
instead of a whole block as in IPv4 127.0.0.1/8
try ping ::1
Loopback address (::1/128)
19
20. A /96 prefix leaves 32 bits, exactly enough to hold an
embedded IPv4 address.
IPv4 Mapped IPv6 addresses are used to represent an
IPv4 node’s address as an IPv6 address.
This address type was defined to help with the
transition from IPv4 to IPv6.
IPv4-Mapped addresses
(::ffff:0:0/96)
20
21. Lowest-order 64-bit field of unicast address
may be assigned in several different ways:
Auto-configured from a 64-bit EUI-64, or
expanded from a 48-bit MAC address (e.g.,
Ethernet address)
Auto-generated pseudo-random number (to
address privacy concerns)
Assigned via DHCP
Manually configured
Interface Identifiers
21
22. Dual-stack techniques, to allow IPv4 and IPv6
to co-exist in the same devices and networks
Tunneling: Tunnels to Get Through IPv6-
Ignorant Routers. Encapsulate IPv6 packets
inside IPv4 packets (or MPLS frames)
Translation techniques, to allow IPv6-only
devices to communicate with IPv4-only
devices
Transition mechanisms
22
23. IPv6 only network. Requires upgrading all devices.
Valid when IPv6 traffic will become preponderant
Tunneling > Dual Stacking > IPv6 only network.
End Result
23
We are here
24. the IPv6 header contains only the necessary
information for each packet.
The IPv6 header is more efficient than IPv4, with
more flexibility for extensions and additions in the
future.
IPv6 header structure
24
27. Version: contains the version number of the IP packet (in
IPv6 packets the version field is set to 6). This field allows
IPv4 and IPv6 traffic to be mixed in a single network.
Traffic Class: used to mark packets for differentiated
services. This practice is commonly called Class of Service
(CoS) or Quality of Service (QoS) – Priority value
Flow Label: intent is to label sequences of packets (flows)
that require special handling.
Payload Length: specifies the length of everything in the
packet that follows this header. It includes any extension
headers, and the data being carried.
IPv6 header structure
27
28. Next Header: identifies the type of header that
immediately follows this IPv6 header.
Hop Limit: Like Time To Live (TTL) in the IPv4 header,
this 8 bit integer is decremented by 1 each time the
packet is forwarded. If the Hop Limit reaches 0, the
packet is discarded.
Source Address: The 128 bit IPv6 address of the node
sending this packet
Destination Address: The 128 bit IPv6 address of the
node intended to receive this packet.
IPv6 header structure
28
29. The IPv6 neighbor discovery process uses Internet
Control Message Protocol (ICMP) messages to
determine the link layer address of a neighbor on the
same network, verify the reachability of a neighbor,
and track neighboring devices.
Neighbor Discovery
29
30. Hosts send Router Solicitation messages to the multicast
address. Routers on the host's network immediately
respond with a Router Advertisement.
Routers periodically send out Router Advertisement
messages to:
announce their presence;
advertise prefixes that are on the link;
assist in address configuration; and
share other information about the link.
Router Solicitation
30
32. IPv6 nodes communicate their link layer addresses
(MAC address) to each other using:
Neighbor Solicitation; and
Neighbor Advertisement.
These messages are also used to detect duplicate
addresses and test reachability
Neighbor Discovery
32
35. IPv6 nodes rely on positive confirmation of packet delivery.
This is accomplished in two ways.
First, nodes "listen" for new acknowledgements being
returned, or for similar upper layer protocol confirmation
that packets sent to a neighbor are in fact reaching their
destination.
When such confirmation is absent, the node sends
unicast Neighbor Solicitation messages to confirm next-
hop reachability.
Neighbor Unreachability
Detection
35
36. ICMPv6 Redirect message is used by routers to
inform on link hosts of a better next hop for a given
destination.
The intent is to allow the router(s) to help hosts make
the most efficient local routing decisions possible.
Redirects
36
38. provides a lightweight address configuration that
provides plug-and-play IP connectivity in two phases
Phase 1 - Link Local Addresses,
Phase 2 - Global Addresses.
Stateless Address Auto
Configuration (SLAAC)
38
39. All IPv6 nodes require a link-local address which is
derived from the MAC address of each network
interface (an example isb5:ea:97:6d:67:9f) and the
link local prefix - fe80::/10. We then add ff:fe to the
address to extend the MAC address.
An example of the link local address
is: fe80::b5ea:97ff:fe6d:679f
Duplicate Detection
Link Local Address Assignment
Link Local Address Generation
39
40. Router Advertisement: The node sends a Router
Solicitation to prompt all on-link routers to send it
router advertisements. As long as the router is
enabled to provide stateless auto configuration
support, the router advertisement will contain a
subnet prefix for use by neighboring hosts.
An example of this subnet is: 2001:db8::/32
SLAAC - Global Address
Generation
40
41. Once the host receives a subnet prefix from a router,
the host generates a global address by appending the
interface id(fe80::b5ea:97ff:fe6d:679f) to the
supplied prefix (2001:db8::/32).
In our example, it would look like this:
2001:db8::b5ea:97ff:fe6d:679f/32
Duplicate Address Detection: The host again
performs Duplicate Address Detection (DAD), this
time for the new global address.
Global Address Assignment: Assuming that the
address is not a duplicate, the host assigns it to the
interface.
Global Address Generation
41
42. Assigned block: 2c0f:fe08:ffff::/48
Search on AFRINIC whois
http://www.afrinic.net/services/whois-query
network range:
2c0f:fe08:ffff:0000:0000:0000:0000:0000 to
2c0f:fe08:ffff:ffff:ffff:ffff:ffff:ffff
total IP addresses 1,208,925,819,614,629,174,706,176
or 2^80
University of Nairobi
Implementation
42
44. Implementation in Routers,
switches
Enable IPv6 on the router / switch
Router (config)#ipv6 unicast-routing
Assign DHCPv6 pools an IPv6 address prefix, and DNS
server
Assign VLANs to the DHCPv6 pools, and a IPv6
address,
Assign the WAN interface an IPv6 address
Most IP and IPv6 commands are the same. Replace IP
with IPv6 on commands e.g.
show ipv6 dhcp binding
show ipv6 neighbors
44
46. UoN Status as of May 2015
COVERED CAMPUSES CAMPUS YET TO DEPLOY
Main campus UNIPLAZA MOMBASA
Chiromo Kisumu
CAVS Parklands*
SOB – Lower Kabete CAVS - Kanyiriri farm*
CEES IAS – Museum*
Kenya Science Dental School*
CHS UNES*
SOB-AMBANK*
All Extramural centres*
UNIPEN*
* Non IPv6 compliant core routers or switches …
46
47. Main campus, Chiromo, CAVS, SOB – Lower Kabete,
CEES, Kenya Science, CHS … each device on DHCP has
IPv6.
This campuses constitute more than 70% of all ICT
infrastructure
% Migration
47
48. Each device on DHCPv6 on compliant campuses has
IPv6
For static IPv6 allocation, use an IPv6 address on the
reserved addresses issued to you by the OiC. Make a
record of any manual allocation.
The following screenshots demonstrate how to
enable IPv6 protocol in windows, and how to assign
IPv6 manually or enable DHCPv6
On Windows
48
53. Legacy devices, non IPv6 compliant devices – routers,
switches, operating systems
OS support – Windows XP and below has challenges
MIS support – hard coded IPv4, lack of use of DNS for
servers
Learning curve
Challenges
53
54. Upgrade IoS
Upgrade computers with legacy OS
Upgrade core routers and switches
Use DNS names for MIS and servers
Use SLAAC on networks where routers don’t have
DHCPv6 capability
Solutions
54
as the difficulty and cost of obtaining IPv4 address space increases, it is inevitable that some sites will only support IPv6.
Connectivity with such sites (and customers) will require IPv6
1. AFRICA has had overreliance of NAT hence the slow pace of depletion
2. Fewer devices in Africa
There are no broadcast addresses in IPv6.
The functions served by broadcast addresses in IPv4 are served by Multicast in IPV6
So this type of address facilitates communication between any sender and the nearest of a group of receivers in a network.
Anycast addresses are allocated from the Unicast address space and are not syntactically distinguishable from unicast addresses
This is an example of a Multicast address: ff01:0:0:0:0:0:0:2
This simplified IPv6 (fixed-length 40 byte) header lowers the bandwidth and processing costs for all common-case packets, as the optional Extension Headers are only added to packets that require them, and are only processed by routers when necessary.
In most cases, intermediate routers need only read the first 40 bytes of any packet to know how and where to forward it.
Router solicitation: A host asks, is there a router here?
Router Advertisement: A router says “I am a router. Anybody wants services from me?”