1: Introduction to IPv6
Rick Graziani
Cabrillo College
Rick.Graziani@cabrillo.edu
For more information please check out my Cisco Press book and video series:
IPv6 Fundamentals: A Straightforward
Approach to Understanding IPv6
By Rick Graziani
ISBN-10: 1-58714-313-5
IPv6 Fundamentals LiveLessons: A
Straightforward Approach to Understanding IPv6
By Rick Graziani
ISBN-10: 1-58720-457-6
1.1: Beginning with IPv4
Beginning with IPv4
IPv4 (Internet Protocol version 4)
Developed in the early 1980s
RFC 760 Jan 1980 obsoleted
by RFC 791 Sep 1981
IPv4
10.1.1.1
10.1.0.2
32-bit addresses represented in dotted-decimal notation.
Provides 4.29 billion addresses.
Why not more addresses?
It seemed like a lot of addresses at the time!
IPv4
IPv4 was standardized in 1981,
provisioning 4.29 billion (232) IP
addresses for a world population
IPv4 - 1981
of 4.41 billion people.
= 100,000,000
= 100,000,000
*www.census.gov
IPv4 Addresses
World Population 1980
4.29 billion addresses, about a 1:1 ratio with the worlds
population.
What was the Internet like in 1981?
No WWW, no mobile devices, and most people never heard of
the Internet
Mostly mainframe and minicomputers
The IBM PC was introduced trying to overtake the Apple II
Images courtesy of Computer History Museum
The Internet Begins to Take Off
1990s introduced the World Wide Web.
Everyone was getting on the Internet.
Internet routing tables growing rapidly 20,000 routes in 1994.
IETF realized that it would soon run out of IPv4 address space.
Image courtesy of Computer History Museum
IPv4: Running Out of Addresses
Private
Private Address
Address
Space
Space
10.0.0.0/8
10.0.0.0/8
172.16.0.0/12
172.16.0.0/12
192.168.0.0/16
192.168.0.0/16
Short term solutions included:
NAT (Network Address Translation)
Private address space
CIDR (Classless Inter-Domain Routing)
Long-term solution: IPv6
IPv4
1.2 Introducing IPv6
Introducing IPv6
Not a new protocol.
Developed mid to late
1990s.
Much learned from IPv4.
128-bit address space,
written in hexadecimal.
This gives us 340
undecillion addresses!
2001:DB8:CAFE:0001::100
128 bits
128 bits
340 undecillion
= 340,282,366,920,938,463,463,374,607,431,768,211,456
IPv6
How many is 340 undecillion?
340 undecillion addresses is 10
nonillion addresses per person!
Internet is a much different place
and will continue to evolve:
Mobile devices
Video on demand
Internet of Everything
A critical part in how we live,
work, play, and learn.
10 nonillion
= 10,000,000,000,000,000,000,000,000,000,000
IPv6
IPv6 is not just about more
addresses:
Stateless autoconfiguration
End-to-end reachability without
private addresses and NAT
Better support for mobility
Peer-to-peer networking easier to
create and maintain, and
services such as VoIP and
Quality of Service (QoS) become
more robust.
IPv6: A Brief History
1993, IETF announced a call for white papers with RFC 1550
IP: Next Generation (IPng) White Paper Solicitation.
IETF chose Simple Internet Protocol Plus (SIPP) written by
Steve Deering, Paul Francis, and Bob Hinden but changed the
address size from 64 bits to 128 bits.
1995, IETF published RFC 1883 Internet Protocol, Version 6
(IPv6) Specification - later obsoleted by RFC 2460 in 1998.
RFC 1190
What About IPv5?
4 = IPv4
5 = ST2
6 = IPv6
In the late 1970s, a family of experimental protocols was
developed intended to provide quality of service (QoS) for realtime multimedia applications such video and voice.
Known as Internet Stream Protocol (ST) and later ST2 (RFC
1190 and RFC 1819).
Although it was never known as IPv5, when encapsulated in IP,
ST uses IP Protocol version 5.
1.3: The Need for IPv6
The Need for IPv6
We are running out of
IPv4 address space.
Monday, January 31,
2011 IANA allocated the
last /8 IPv4 address
blocks to the RIRs.
RIRs have very few, if
any IPv4 address left.
Many ISPs are severely
limited and some have
already run out.
Actual or projected dates
as of November 2014
Source: www.potaroo.net/tools/ipv4
Note: APNIC and RIPE are not completely out of addresses
but they are very restrictive on allocation of addresses.
Running Out of IPv4
The regions with the largest populations have the lowest
percentages of people connected to the Internet
Graphic from Internet World Stats, www.internetworldstats.com/stats.htm
Internet of
Everything
Cisco defines the Internet of Everything (IoE) as bringing
together people, process, data, and things to make networked
connections more relevant and valuable than ever before.
Cisco estimates that there will be 50 billion connected devices
by 2020. (Source: The Internet of Things by Dave Evans)
NAT
Customer Network
192.168.1.0/24
No More NAT as We Know It
ISP Network
Public IPv4
Internet
Public IPv4
(RFC 1918)
NAT has been used to help hide customers and works for many clientinitiated applications.
However, NAT also creates some issues, like peer-to-peer networking
and accessing our hidden systems from other networks.
Using NAT to hide IPv6 networks has been the source of some
debate.
IETF continues to state that NAT is not a security feature.
Benefits of IPv6
As mentioned previously the benefits of
IPv6 include:
Larger address space
Stateless autoconfiguration
End-to-end reachability without private
addresses and NAT
Better mobility support
Peer-to-peer networking easier to create
and maintain, and services such as VoIP
and Quality of Service (QoS) become
more robust.
The killer application for the Internet is
the Internet itself.
Graphic from IPv6 Forum, www.ipv6ready.org
1.4: Transitioning to IPv6
Transitioning to IPv6?
IPv4 and IPv6 will coexist for
the foreseeable future.
Dual-stack Device running
both IPv4 and IPv6.
Enterprises and ISPs have to
support both protocols, which
is a reason to eventually go to
only IPv6.
IPv4 IPv6
Happy Eyeballs
RFC6555 Happy Eyeballs:
Success with Dual-Stack Hosts
The dual-stack code may get two
addresses back from DNS
Which one does it use?
In order to use applications over
IPv6, it is necessary that users enjoy
nearly identical performance as
compared to IPv4.
IPv4
IPv6
RFC6555 Happy Eyeballs:
Success with Dual-Stack Hosts
www.facebook.com
www.facebook.com
Query
Query A
A record?
record?
www.facebook.com
www.facebook.com
Connect
Connect to:
to:
31.13.77.65
31.13.77.65
Query
Query AAAA
AAAA record?
record?
www.facebook.com
www.facebook.com
Connect
Connect to:
to:
2a03:2880:f016:401:face:b00c:01:1
2a03:2880:f016:401:face:b00c:01:1
GET
GET HTTP/1.1
HTTP/1.1
www.facebook.com
www.facebook.com
Happy Eyeballs in a nutshell
Attempt
Attempt IPv6
IPv6 lookup
lookup and
and
connect
connect
User:
User:
www.facebook.com
www.facebook.com
Ultimately, it depends on how the OS
and application wants to handle it.
Retrieve
Retrieve and
and display
display
First come, first served
Attempt
Attempt IPv4
IPv4 lookup
lookup and
and
connect
connect
300ms
300ms
TIME
TIME
Transitioning to IPv6
Tunneling Various protocols to encapsulate IPv6
packets inside IPv4 packets.
NAT64 Translating between IPv4 and IPv6.
Native IPv6 All IPv6 (our focus and the goal of every
organization).
Learn, Use, and Familiarize Yourself with IPv6
Get behind the wheel of IPv6.
Test lab for IPv6.
Implement in a part of your network.
Develop an IPv6 implementation plan including an addressing
plan.
You Are Probably Already Running IPv6
IPv4
RS
IPv4
IPv6
R1
Here is an
IPv6 prefix
and
gateway
Rogue
RA
IPv4
IPv6
I need an
IPv6 prefix
Windows Vista or later, Mac OSX, Linux already running IPv6
Packet analyzer (Wireshark)
Potential man-in-the-middle attack
RS (Router Solicitations) and RA (Router Advertisements) described
in other lessons. (Mitigation techniques like RA Guard are available.)
Get familiar with IPv6!
People Icon: Occupations set 5 Copyright Fredy Sujono
2: Comparing IPv4 and IPv6
Rick Graziani
Cabrillo College
Rick.Graziani@cabrillo.edu
2.1: Comparing the IPv4 and IPv6 Headers
Lets Begin with the IPv6 Header
Understanding IPv6 begins with the IPv4
IPv6 header.
IPv6 takes advantage of 64-bit
CPUs.
Several differences between IPv4
64-bit memory word
IPv6IPv6
headers.
and
Simpler
header.
IPv6
Fixed 40 byte
IPv6 header.
Lets look at
the
differences
Similar fields
IPv6 Version
IPv4 Version contains 4.
IPv6 Version contains 6.
Version 5?
Internet Stream Protocol (ST2)
IPv4
IPv6
IPv4 Internet Header Length
IPv4 Internet Header Length (IHL)
Length of IPv4 header in 32-bit
words including any Options or
Padding.
IPv6
IHL for IPv6 is not needed.
IPv6 header is fixed at 40 bytes.
IPv4
1
2
3
4
5
?
IPv6
8 bytes
8 bytes
40 bytes =
8 bytes
8 bytes
8 bytes
IPv6 Traffic Class
IPv4 Type of Service
IPv6 Traffic Class
Not mandated by any IPv6 RFCs.
Same functionality as IPv4.
Uses same Differentiated Services
technique (RFC 2474) as IPv4.
IPv4
IPv6
7
IP Precedence
Unsused
DiffServ Code Point (DSCP)
IP ECN
IPv6 Flow Label
IPv4
New field in IPv6 not part of IPv4.
Flow label is used to identify the packets in a common stream or flow.
Traffic from source to destination share a common flow label.
RFC 6437 IPv6 Flow Label Specification
11001011000101100
10110010111000111
IPv6
IPv6 Payload Length
IPv4 Header
IPv4 Total Length Number of bytes of
the IPv4 header (options) + data.
IPv6 Payload Length Number of bytes
of the payload.
Does not include the main IPv6
header.
Includes extension headers + data
Data (Payload)
IPv4
IPv6
Payload
IPv6 Header
IPv6 Extension
Header (Optional)
Data
IPv4 Fragmentation
IPv4 fields used for fragmentation and
reassembly.
Intermediate devices such as IPv6
routers do not perform fragmentation.
Any fragmentation needed will be
handled by the source using an
extension header.
IPv4
IPv6
IPv6 Next Header
IPv4 Protocol
IPv4
IPv6 Next Header
For both protocols, the field indicates
the type of header following the IP
header.
Common values:
6 = TCP
IPv6
17 = UDP
58 = ICMPv6
IPv6
Next
88 = EIGRP
Header
Header
89 = OSPF
Data
(Protocol: TCP, UDP, ICMPv6, etc.)
IPv6 Hop Limit
IPv4 TTL (Time to Live)
IPv6 Hop Limit
Renamed to more accurately reflect
process.
Set by source, every router in path
decrements hop limit by 1.
When 0,
IPv6
drop packet.
IPv4
IPv6 Source and Destination Addresses
IPv6 Source and Destination
addresses have the same basic
functionality as IPv4.
IPv4 32-bit addresses.
IPv6 128-bit addresses.
Some significant changes in IPv6.
IPv4
IPv6
IPv4 Header Checksum
IPv4 Header Checksum
Not used in IPv6.
Upper-layer protocols generally have
a checksum (UDP and TCP).
So, in IPv4 the UDP checksum is
optional.
Because its
not in IPv6, IPv6
the UDP
checksum is
now
mandatory.
IPv4
IPv4 Options and Padding
IPv4 Options and Padding
Not used in IPv6.
Variable length, optional.
IPv4 Options are handled using
extension headers in IPv6.
Padding makes
sure IPv4 options
fall on a 32-bit
IPv6
boundary.
IPv6 header is
fixed at 40 bytes.
IPv4
40 bytes =
IPv6 Extension Header
Next Header identifies:
The protocol carried in the
data portion of the packet.
The presence of an extension header.
Extension headers are optional and follow the main IPv6 header.
Provide flexibility and features to the main IPv6 header for future
enhancements without having to redesign the entire protocol.
Allows the main IPv6 header to have a fixed size for more
efficient processing.
IPv6 Main
Header
Next
Header
Extension
Header
Next
Header
Data
(Protocol: TCP, UDP, ICMPv6, etc.)
IPv6 Extension Header
Next Header Value
(Decimal)
Extension Header
Name
Extension Header Description
Hop-by-Hop Options
Used to carry optional information, which must be examined by every
router along the path of the packet.
43
Routing
Allows the source of the packet to specify the path to the destination.
44
Fragment
Used to fragment IPv6 packets.
50
Encapsulating
Security Payload
(ESP)
Used to provide authentication, integrity, and encryption.
51
Authentication Header
(AH)
Used to provide authentication and integrity.
60
Destination Options
Used to carry optional information that only needs to be examined by a
packets destination node(s).
IPv6 Main
Header
Next
Header
Hop-by-Hop
Extension
Header
Next
Header
51
AH Extension
Header
Next
Header
TCP
Header
Data
2.2: A Brief Look at IPv6 Address Types
More details in
Lessons 3, 4, 5 & 6
IPv6 Address Types
IPv6 Addresses
Unicast
Multicast
Assigned
FF00::/8
Anycast
Solicited Node
FF02::1:FF00:0000/104
Global
Unicast
Link-Local
Loopback
Unspecified
Unique
Local
Embedded
IPv4
2000::/3
FE80::/10
::1/128
::/128
FC00::/7
::/80
2.3: A Brief Look at ICMPv6
Neighbor Discovery
ICMPv6
Internet Control Message Protocol for IPv6
ICMPv6 is defined in RFC 4443.
Similar to ICMPv4, describes two types of
messages:
Informational
Error
ICMPv6 Neighbor Discovery is described in RFC
4861.
Much more robust than ICMP for IPv4.
Contains new functionality and improvements.
More than just messaging but how IPv6
conducts business.
Next
IPv6 Main
All ICMPv6
messages
Header
Header
58
ICMPv6
Header
Data
ICMPv6 Neighbor Discover Protocol
ICMPv6 Neighbor Discovery defines 5 different packet types:
Router Solicitation Message
Router Advertisement Message
Used with dynamic address allocation
Router-Device
Router-Device
Messaging
Messaging
Neighbor Solicitation Message
Neighbor Advertisement Message
Used with address resolution (IPv4 ARP)
Device-Device
Device-Device
Messaging
Messaging
Redirect Message
Similar to ICMPv4 redirect message
Router-to-Device messaging
Router Solicitation & Router Advertisement Messages
ICMPv6 Neighbor Discovery defines 5 different packet types:
Router Solicitation Message
Router Advertisement Message
Used with dynamic address allocation
Router-Device
Router-Device
Messaging
Messaging
Neighbor Solicitation Message
Neighbor Advertisement Message
Used with address resolution (IPv4 ARP)
Device-Device
Device-Device
Messaging
Messaging
Redirect Message
Similar to ICMPv4 redirect message
Router-to-Device messaging
Dynamic Address Allocation in IPv4
DHCPv4 Server
1
2
II need
need IPv4
IPv4
addressing
addressing
information.
information.
Here
Here is
is everything
everything
you
you need.
need.
Dynamic Address Allocation in IPv6
To
To all
all IPv6
IPv6 routers:
routers:
II need
need IPv6
IPv6 address
address
information.
information.
II might
might not
not be
be
needed.
needed.
ICMPv6
ICMPv6 Router
Router Solicitation
Solicitation
DHCPv6 Server
To
To all
all IPv6
IPv6 devices:
devices:
Let
Let me
me tell
tell you
you how
how
to
to do
do this
this
ICMPv6
ICMPv6 Router
Router Advertisement
Advertisement
1. SLAAC
2. SLAAC with
Stateless DHCPv6
SLAAC
(Stateless Address Autoconfiguration)
Router Solicitations
Router Advertisements
3. Stateful DHCPv6
Neighbor Solicitation & Neighbor Advertisement Messages
ICMPv6 Neighbor Discovery defines 5 different packet types:
Router Solicitation Message
Router Advertisement Message
Used with dynamic address allocation
Router-Device
Router-Device
Messaging
Messaging
Neighbor Solicitation Message
Neighbor Advertisement Message
Used with address resolution (IPv4 ARP)
Device-Device
Device-Device
Messaging
Messaging
Redirect Message
Similar to ICMPv4 redirect message
Router-to-Device messaging
Address Resolution: IPv4 and IPv6
ARP Request: Broadcast
IPv4: ARP over Ethernet
Ethernet
ARP Request/Reply
ARP
Cache
My
My IPv4!
IPv4!
Here
Here is
is the
the
MAC?
MAC?
PCB
2
2
1
1
ARP
ARP Reply
Reply
ARP
ARP Request
Request
2
2
My
My IPv6!
IPv6!
Here
Here is
is the
the
MAC?
MAC?
Neighbor
Neighbor
Solicitation
Solicitation
Neighbor
Neighbor
Advertisement
Advertisement
IPv6: ICMPv6 over IPv6 over Ethernet
NS: Multicast NS: Solicited Node Multicast
Ethernet
IPv6 Header
PCA
1
1
Neighbor
Cache
Know
Know
IPv4,
IPv4, what
what
is
the
is the
MAC?
MAC?
Know
Know
IPv6,
IPv6, what
what
is
the
is the
MAC?
MAC?
Neighbor Solicitations
Neighbor Advertisements
ICMPv6: Neighbor Solicitation/Advertisement
Redirect Message
ICMPv6 Neighbor Discovery defines 5 different packet types:
Router Solicitation Message
Router Advertisement Message
Used with dynamic address allocation
Router-Device
Router-Device
Messaging
Messaging
Neighbor Solicitation Message
Neighbor Advertisement Message
Used with address resolution (IPv4 ARP)
Device-Device
Device-Device
Messaging
Messaging
Redirect Message
Similar to ICMPv4 redirect message
Router-to-Device messaging
ICMPv6 Redirect
Network X
R1
R2
Destination:
Network
PCB
X Host
IPv6
Network A PCA
PCB
IPv6
Network B
Similar functionality as ICMPv4.
Like IPv4, a router informs an originating host of the IP address of a router that
is on the local link and is closer to the destination.
Unlike IPv4, a router informs an originating host that the destination host (on a
different prefix/network) is on the same link as itself.
ICMPv6 Neighbor Discover Protocol
ICMPv6 Neighbor Discovery defines 5 different packet types:
Router Solicitation Message
Router Advertisement Message
Used with dynamic address allocation
Router-Device
Router-Device
Messaging
Messaging
Neighbor Solicitation Message
Neighbor Advertisement Message
Used with address resolution (IPv4 ARP)
Device-Device
Device-Device
Messaging
Messaging
Redirect Message
Similar to ICMPv4 redirect message
Router-to-Device messaging
More details in Lessons 7, 8 & 10
3: IPv6 Address Representation and
Address Types
Rick Graziani
Cabrillo College
Rick.Graziani@cabrillo.edu
3.1: Understanding Hexadecimal Numbers
Simple Number System Rules
For all number systems, the first digit is 0
A Base-n number system has n number of digits:
Decimal: Base-10 has 10 digits: 0,1,2,3,4,5,6,7,8,9
Binary: Base-2 has 2 digits: 0,1
Hexadecimal: Base-16 has 16 digits
The first column is always the number of 1s
Each of the following columns is n times the previous column (n
= Base-n)
Base 10: 10,000
1,000
100
10
1
Base 2:
16
8
4
2
1
Base 16: 65,536
4,096
256
16
1
Hexadecimal: 16 digits
Decimal
10 digits,
starting with 0
Hexadecimal
16 digits,
starting with 0
Dec
0
1
2
3
4
5
6
7
Hex
0
1
2
3
4
5
6
7
Dec
8
9
10
11
12
13
14
15
Hex
8
9
A
B
C
D
E
F
The Beauty of Hexadecimal: 4 bits = 1 hex digit
Binary
Binary
Dec Hex 8421
Dec Hex 8421
0
0
8
8
0000
1000
1
1
9
9
0001
1001
2
2
10
A
0010
1010
3
3
11
B
0011
1011
4
4
12
C
0100
1100
5
5
13
D
0101
1101
6
6
14
E
0110
1110
7
7
15
F
0111
1111
3.2: Representing an IPv6 Address
IPv6 Address Notation
2001:0DB8:AAAA:1111:0000:0000:0000:0100
2001 : 0DB8 : AAAA : 1111 : 0000 : 0000 : 0000 : 0100
16 bits
1
16 bits
2
16 bits
3
16 bits
4
16 bits
5
16 bits
6
16 bits
7
16 bits
8
IPv6 addresses are 128-bit addresses represented in:
Hexadecimal: 1 hex digit = 4 bits
Eight 16-bit segments or hextets (not a formal term) between 0000 and FFFF
Separated by colons
Reading and subnetting IPv6 is easier than IPv4. Really!
128-bit Address: How Many Is That?
2001:0DB8:AAAA:1111:0000:0000:0000:0100
128 bits
Number of IPv6
Addresses
IPv4
4.3 billion
IPv4 addresses:
4.3 billion
IPv6 addresses:
340 undecillion
Number name
Scientific
Notation
1 Thousand
10
1,000
1 Million
10
1,000,000
1 Billion
10
1,000,000,000
1 Trillion
10
12
1,000,000,000,000
1 Quadrillion
10
15
1,000,000,000,000,000
1 Quintillion
10
18
1,000,000,000,000,000,000
1 Sextillion
10
21
1,000,000,000,000,000,000,000
1 Septillion
10
24
1,000,000,000,000,000,000,000,000
1 Octillion
10
27
1,000,000,000,000,000,000,000,000,000
1 Nonillion
10
30
1,000,000,000,000,000,000,000,000,000,000
Number of zeros
33
1,000,000,000,000,000,000,000,000,000,000,000
1 Decillion
10
340,282,366,920,938,463,463,374,607,431,768,211,456
IPv6
340 undecillion
1 Undecillion
10
36
1,000,000,000,000,000,000,000,000,000,000,000,00
0
Number of IPv6 Addresses
340 undecillion addesses or
340 trillion trillion trillion addresses or as some people have
put it.
10 nonillion addresses for every person on earth or.
655,570,793,348,866,943,898,599 addresses for every
square meter of the Earth's surface.
Two Rules for Compressing IPv6 Addresses
Rule 1: Omitting Leading 0s
Two rules for reducing the size of written IPv6 addresses.
First rule: Leading zeroes in any 16-bit segment do not have to be written.
2001:0DB8:0001:1000:0000:0000:0ef0:bc00
2001:DB8:1:1000:0:0:ef0:bc00
2001:0DB8:010d:000a:00dd:c000:e000:0001
2001:DB8:10d:a:dd:c000:e000:1
2001:0DB8:0000:0000:0000:0000:0000:0500
2001:DB8:0:0:0:0:0:500
Two Rules for Compressing IPv6 Addresses
Rule 1: Omitting Leading 0s
Only leading 0s can be excluded, trailing 0s must be included.
Or leads to ambiguity
?
2001:0DB8:ab:1234:5678:9abcd:ef12:3456
2001:0DB8:00ab:1234:5678:9abcd:ef12:3456
2001:0DB8:ab00:1234:5678:9abcd:ef12:3456
2001:0DB8:0ab0:1234:5678:9abcd:ef12:3456
Two Rules for Compressing IPv6 Addresses
Rule 2: Double Colon ::
The second rule can reduce this address even further:
Second rule: Any single, contiguous string of one or more 16-bit segments
consisting of all zeroes can be represented with a double colon (::).
First rule
Second rule
First rule
2001:0DB8:1000:0000:0000:0000:0000:0001
2001:DB8:1000::1
2001:DB8:1000::1
Rule 2: Double Colon :: Choices
Only a single contiguous string of all-zero segments can be represented with a
double colon.
Although the rule states that both of these are correct
2001:DB8:0000:0000:1234:0000:0000:5678
RFC 5952
2001:DB8::1234:0:0:5678
or
2001:DB8:0:0:1234::5678
RFC 5952 states that the longest string of zeroes must be replaced with the :: and if they
are equal then the first string of 0s should use the :: representation.
Maximum reduction of the address is known as the compressed format.
Rule 2: Double Colon :: Only Once
Using the double colon more than once in an IPv6 address can create ambiguity
because of the ambiguity in the number of 0s.
2001:DB8::1234::5678
2001:DB8:0000:0000:0000:1234:0000:5678
2001:DB8:0000:0000:1234:0000:0000:5678
2001:DB8:0000:1234:0000:0000:0000:5678
3.3: The IPv6 Prefix Length
IPv4: Subnet Mask
and Prefix Length
IPv4
Network portion
Prefix
IPv4, the prefix, the network 32
portion of the address, can
be identified by:
Dotted decimal subnet
mask
Prefix length
The number of bits in the
prefix or network portion of
the address.
PrefixSubnet
BinaryMaskLengthMask
11111111000000000000000000000000/8255.0.0.0
11111111100000000000000000000000/9255.128.0.0
11111111110000000000000000000000/10255.192.0.0
11111111111000000000000000000000/11255.224.0.0
11111111111100000000000000000000/12255.240.0.0
11111111111110000000000000000000/13255.248.0.0
Host portion
11111111111111000000000000000000/14255.252.0.0
11111111111111100000000000000000/15255.254.0.0
11111111111111110000000000000000/16255.255.0.0
11111111111111111000000000000000/17255.255.128.0
11111111111111111100000000000000/18255.255.192.0
bits
11111111111111111110000000000000/19255.255.224.0
11111111111111111111000000000000/20255.255.240.0
11111111111111111111100000000000/21255.255.248.0
11111111111111111111110000000000/22255.255.252.0
11111111111111111111111000000000/23255.255.254.0
11111111111111111111111100000000/24255.255.255.0
11111111111111111111111110000000/25255.255.255.128
11111111111111111111111111000000/26255.255.255.192
11111111111111111111111111100000/27255.255.255.224
11111111111111111111111111110000/28255.255.255.240
11111111111111111111111111111000/29255.255.255.248
11111111111111111111111111111100/30255.255.255.252
11111111111111111111111111111110/31255.255.255.254
11111111111111111111111111111111/32255.255.255.255
IPv6 Prefix Length
IPv6 prefixes are always identified by prefix length.
Prefix length - The number of bits in the Prefix portion of the
address (equivalent to the network portion of the address).
Separates the Prefix portion from the Interface ID (equivalent to
the host portion of the address).
Written immediately following the IPv6 address, usually no space.
The prefix length does not have to fall on a nibble (4-bit) boundary.
Prefix
Interface ID
2001:0DB8:0000:0000:0000:0000:0000:0001
Prefix length /32
/48/52
/56
/64
/60
IPv6 Prefix Length
The prefix length does not have to fall on a nibble boundary.
What about a /62?
Prefix lengths can fall within a nibble but with with such a large
address space this is usually not required or recommended.
bits
0000
Prefix
Interface ID
2001:0DB8:0000:0000:0000:0000:0000:0001
Prefix length
/62
/64
/60
IPv6 Prefix Length
Prefix (network address) examples:
2001:DB8::/32
You will become more familiar
2001:DB8:1::/48
with these addresses.
In Lesson 4 we will see how
2001:DB8:CAFE::/48
easy IPv6 addresses are to use.
2001:DB8:CAFE:1::/64
Really!
2001:DB8:CAFE:1234::/64
IPv6 device address examples:
2001:DB8:CAFE::1/48
2001:DB8:CAFE::99:2/48
2001:DB8:CAFE:1::100/64
2001:DB8:CAFE:1:AAAA:BBBB:CCCC:DDDD/64
3.4: Overview of IPv6
Address Types
IPv6 Address Types. Road Map
IPv6 Addresses
Lesson 6
Unicast
Lesson 4
Multicast
Lesson 5
Anycast
Assigned
Solicited Node
FF00::/8
FF02::1:FF00:0000/104
Global
Unicast
Link-Local
Loopback
Unspecified
Unique
Local
Embedded
IPv4
2000::/3
FE80::/10
::1/128
::/128
FC00::/7
::/80
IPv6 does not have a broadcast address.
IPv6 Source and Destination Addresses
IPv6 Source Always a unicast
IPv6 Destination Unicast,
multicast or anycast.
IPv4
IPv6
Unicast Addresses
IPv6 Internet
Global Unicast Address (GUA) More in Lesson 4
2000::/3 (Range 2000::/64 thru 3fff:fff:fff:fff::/64)
Globally unique, routable, similar to public IPv4 addresses
2001:DB8::/32 - RFC 2839 reserves this range of addresses for
documentation
These are the addresses we will be referring to the most.
Unicast Addresses
Link-local Unicast More in Lesson 5
FE80::/10 (First hextet: FE80::10 to FEBF::/10)
Not routable off the link (link = network or subnet)
Unique only on the link
An IPv6 device must have at least a link-local address.
Used by:
Hosts to communicate to the IPv6 network before it has a GUA.
Routers link-local address is used by hosts as the default gateway
address.
Adjacent routers to exchange routing updates.
Next-hop addresses in IPv6 routing tables.
Unicast Addresses
Loopback Address
::1/128
Used by a node to send an IPv6 packet to itself, typically when testing the
TCP/IP stack
Same functionality as IPv4 loopback 127.0.0.1
Not routable.
Unspecified Address
:: (all-0s)
Indicates the absence or anonymity of an IPv6 address (RS source address)
Used as a source IPv6 address during duplicate address detection process
Unicast Addresses
Note: Site local addresses (FEC0::/10)
has been deprecated.
Unique Local Address
FC00::/7 (First hextet: FC00::7 to FDFF::/7)
Similar to RFC 1918 IPv4 addresses but not meant to be translated to a global
unicast (for security purposes)
Should not be routable in the global Internet.
To be used in a more limited area such as within a site or devices inaccessible
from the global Internet.
FC00::/7 1111 110x (x = local flag bit)
FC00::/8 (x = 0) - /48 prefix assigned using RFC 4193 algorithm (dormant)
FD00::/8 (x = 1) - /48 prefix locally locally assigned.
Unicast Addresses
All 0s
96 bits
IPv4 Address
32 bits
Embedded IPv4 Address
Was used by dual-stack devices that support both IPv4 and IPv6.
Rarely used and is now deprecated.
Other transition methods now used when required to send IPv6 packets
over IPv4-only networks, such as tunneling and NAT64.
Multicast Addresses
Multicast Addresses - Used to send a single packet to multiple destinations
simultaneously (one-to-many).
Assigned Multicast Address More in Lesson 6
FF02::/8 Multicast addresses with link-local scope
Similar to assigned multicast addresses for IPv4.
FF02::1 All IPv6 devices
FF02::2 All IPv6 routers
FF02::5 All OSPFv3 routers
Multicast Addresses
Much more in Lesson 6 Multicast Addresses
Solicited Node Multicast Address More in Lesson 6
FF02:0:0:0:0:1:FF00::/104 (FF02::1:FFxx:xxxx)
Automatically created using a special mapping of the devices unicast
address.
Every global unicast and link-local unicast has an associated solicited
node multicast address.
Used during ICMPv6 neighbor discovery address resolution (ARP in IPv4)
Anycast Addresses
Best path selected
by router
2001:DB8:A:B::1
2001:DB8:A:B::1
2001:DB8:A:B::1
Anycast Address
A unicast address that is assigned to more than one interface (typically
different devices).
Similar to IPv4 anycast, a packet sent to an anycast address is routed to
the nearest interface having that address, according to the routers
routing table
Summary: IPv6 Address Types
IPv6 Addresses
Lesson 6
Unicast
Lesson 4
Lesson 5
Multicast
Anycast
Assigned
Solicited Node
FF00::/8
FF02::1:FF00:0000/104
Global
Unicast
Link-Local
Loopback
Unspecified
Unique
Local
Embedded
IPv4
2000::/3
FE80::/10
::1/128
::/128
FC00::/7
::/80
4: Global Unicast Addresses (GUA)
Rick Graziani
Cabrillo College
Rick.Graziani@cabrillo.edu
4.1: Purpose and Format of GUA
IPv6 Address Types
IPv6 Addresses
Unicast
Multicast
Anycast
Assigned
Solicited Node
FF00::/8
FF02::1:FF00:0000/104
Global
Unicast
Link-Local
Loopback
Unspecified
Unique
Local
Embedded
IPv4
2000::/3
FE80::/10
::1/128
::/128
FC00::/7
::/80
IPv6 does not have a broadcast address.
IPv6 Source and Destination Addresses
IPv6 Source Always a unicast
(link-local or GUA)
IPv6 Destination Unicast,
multicast, or anycast.
IPv4
IPv6
Global Unicast Address
IPv6 Internet
Global Unicast Address (GUA)
2000::/3 (First hextet: 2000::/3 to 3FFF::/3)
Globally unique and routable
Similar to public IPv4 addresses
2001:DB8::/32 - RFC 2839 and RFC 6890 reserves this range of addresses
for documentation
These are the addresses we will be referring to the most.
Global Unicast Address Range
Global Routing Prefix Subnet ID
001
Range:
2000:
3FFF:
Interface ID
0010 0000 0000 0000 :
0011 1111 1111 1111 :
First hextet
Global Unicast Address (GUA)
2000::/3
Range 2000::/64 thru 3fff:fff:fff:fff::/64
1/8th of IPv6 address space
IANAs allocation of IPv6
address space in 1/8th sections
Global Unicast Address Range
Global Routing Prefix Subnet ID
001
Interface ID
Range:
2000::/64 thru 3fff:fff:fff:fff::/64
Except under very specific circumstances, all end users will have a
global unicast address.
Note: A host (an interface) can potentially have multiple IPv6
addresses on the same or different networks.
Terminology:
Prefix equivalent to the network address of an IPv4 address
Prefix length equivalent to subnet mask in IPv4
Interface ID equivalent to host portion of an IPv4 address
Parts of a Global Unicast Address
IPv4 Unicast Address
Network portion
/?
Subnet portion Host portion
32 bits
IPv6 Global Unicast Address
/64
/48
16-bit
Global Routing Prefix
Subnet ID
Interface ID
128 bits
64-bit Interface ID = 18 quintillion (18,446,744,073,709,551,616) devices/subnet
16-bit Subnet ID (initially recommended) = 65,536 subnets
/64 Global Unicast Address and the 3-1-4 Rule
/48
16 bits
16 bits
16 bits
/64
16 bits
Global Routing Prefix Subnet ID
16 bits
16 bits
16 bits
16 bits
Interface ID
2001 : 0DB8 : CAFE : 0001 : 0000 : 0000 : 0000 : 0100
3 + 1 = 4 (/64) :
4
2001:0DB8:CAFE:0001:0000:0000:0000:0100/64
2001:DB8:CAFE:1::100/64
4.2: Subnetting IPv6
Subnetting IPv6
Can you count in hex?
Just increment by 1 in Hexadecimal:
2001:0DB8:CAFE:0000::/64
2001:0DB8:CAFE:0001::/64
2001:0DB8:CAFE:0002::/64 ...
2001:0DB8:CAFE:0009::/64
3-1-4 Rule
2001:0DB8:CAFE:000A::/64
Valid abbreviation is to remove the leading 0s:
2001:DB8:CAFE:1::/64
For Demonstration Purposes Only
Extending the Subnet ID
/80
/64
/48
48-bit
16-bit Fixed
32-bit
Subnet
ID
Global Routing Prefix
Interface
ID
Interface
ID
Subnet ID
Prefix
Note:
It Global
is highly
recommendedSubnet-ID
to NOT subnet into
the /64
Routing Prefix
Interface ID
interface ID portion of the address to configure subnets.
0DB8exception
: CAFE : 0000
: 0000
: 0000
: 0000infrastructure
: 0000
2001
The:only
would
be for
network
2001
: 0DB8 : CAFE :
0000 router-to-switch
: 0001 : 0000 : 0000
: 0000
(router-to-router
links,
links,
etc.).
2001 : 0DB8 : CAFE : 0000 : 0002 : 0000 : 0000 : 0000
Networks with an
end system attached should be a /64.
thru
2001 : 0DB8 : CAFE : FFFF : FFFE : 0000 : 0000 : 0000
2001 : 0DB8 : CAFE : FFFF : FFFF : 0000 : 0000 : 0000
For Demonstration Purposes Only
Subnetting on a Nibble Boundary
/68
/48
Global Routing Prefix
Subnet ID
20 bits
Interface ID
60 bits
/68 Prefix
Subnetting on a nibble (4 bit) boundary makes it easier to list the subnets:
/68
/64, /68, /72, etc.
2001:0DB8:CAFE:0000:0000::/68
2001:0DB8:CAFE:0000:1000::/68
2001:0DB8:CAFE:0000:2000::/68 through
2001:0DB8:CAFE:FFFF:F000::/68
For Demonstration Purposes Only
Subnetting within a Nibble
/70
/48
Global Routing Prefix
Subnet ID
Interface ID
58 bits
22 bits
/70 Prefix
Binary
2001:0DB8:CAFE:0000:0000::/70
0000
2001:0DB8:CAFE:0000:0400::/70
0100
2001:0DB8:CAFE:0000:0800::/70
1000
2001:0DB8:CAF:0000:0C00::/70
1100
Four Bits:
Two leftmost bits:
Subnet-ID
Two rightmost bits:
Associated with the
Interface ID
Do I Need the IPv6 Equivalent to an IPv4 /30?
/127
/48
Global Routing Prefix
Subnet ID
79 bits
1bit
RFC 6164 - Using 127-Bit IPv6 Prefixes on Inter-Router Links
Ping-Pong Attack
Neighbor Cache Exhaustion Issue
There are mitigation techniques for both.
If you want to use a /127, reserve a separate /64 for each /127. Really!
Allocate Separate /64s
/127
/48
Global Routing Prefix
F001
F000
Subnet ID
79 bits
For each /127 allocate an
entire /64:
2001:DB8:CAFE:F000::/64
2001:DB8:CAFE:F001::/64
2001:DB8:CAFE:F000::/64
2001:DB8:CAFE:F000::0/127
2001:DB8:CAFE:F000::1/127
2001:DB8:CAFE:F002::/64
2001:DB8:CAFE:F003::/64
And so on...
2001:DB8:CAFE:F001::/64
000
3 bits 1bit
0 or 1
All 0s ::
can be
confusing
2001:DB8:CAFE:F001::0/127
2001:DB8:CAFE:F001::1/127
Use a Different Last 3 bits for the Subnet ID
/127
/48
Global Routing Prefix
F001
F000
Subnet ID
79 bits
Be careful which two
interfaces addresses you
choose.
::9 and ::A are not on the
same /127 subnet
2001:DB8:CAFE:F000::/64
2001:DB8:CAFE:F000::A/127
101
3 bits 1bit
0 or 1
2001:DB8:CAFE:F000::B/127
2001:DB8:CAFE:F001::/64
2001:DB8:CAFE:F001::A/127
2001:DB8:CAFE:F001::B/127
IPv6 Addressing Plan
RFC 1878 VLSM
IPv4 subnetting is used to help
conserve IPv4 address space.
Managing a limited space
VLSM
/30s for point-to-point links
IPv6 address conservation does not
need to be as aggressive as IPv4.
Developing an address plan that is:
Makes sense.
Easy to manage.
NANOG BCOP: IPv6 Subnetting
Cisco: IPv6 Address Guide
RIPE NCC: Preparing an IPv6
Addressing Plan - RIPE Network
4.3: IPv6 Address Allocation
IPv6 Address Allocation
Global Routing Prefix
/23 /32
I am getting a /64 at home
/48 /56
/64
Subnet
Sub
ID
Interface ID
*RIR
*ISP Prefix
*Site Prefix
Possible Home Site Prefix
Internet Service
Provider
Subnet Prefix
* This is a minimum allocation. The prefix-length may be shorter if it can be justified.
Global Routing Prefix determines number of /64 subnets *
/64
2001:DB8:0000:0000:0000:0000:0000:0000
64-bit Interface ID
/60 = 16 /64s
/56 = 256 /64s
/52 = 4,096 /64s
/32 = 65,536 /48s
/48 = 65,536 /64s (Many sites will get this prefix length)
/44 = 1,048,576 /64s
/40 = 16,777,216 /64s
/36 = 268,435,456 /64s
/32 = 4,294,967,296 /64s
PI versus PA Address Space
RIR
/32
Global Routing Prefix
/48
ISP
Subnet
ID
Interface ID
Provider Independent (PI) Address Space
Address space that is assigned by the RIR.
Remains assigned to the customer regardless of provider
No prefix renumbering needed if change providers
Provider Aggregatable (PA) Address Space
Address space that is typically assigned by an ISP to a customer.
Change provider, must get new address space
Customer must do prefix renumbering (Helpful IETF RFCs)
4.4: Configuring a Static GUA
Configuring a Global Unicast Address
Global Unicast
Overview only
Manual
Dynamic
Stateless
Static
IPv6
unnumbered
Similar to IPv4 unnumbered
Static + EUI 64
Stateful
SLAAC
DHCPv6
SLAAC +
DHCPv6
DHCPv6-PD
Details, including the operations and configurations of SLAAC (Stateless Address
Autoconfiguration) in Lesson 7 and DHCPv6 in Lessons 8.
Static GUA
Configuration
2001:DB8:CAFE:1::/64
:100
:100
A
B
G0/0
:1
:1
G0/1
2001:DB8:CAFE:3::/64
R1
:1
S0/0/0
2001:DB8:CAFE:2::/64
R1(config)#interface gigabitethernet 0/0
R1(config-if)#ipv6 address 2001:db8:cafe:1::1/64
R1(config-if)#no shutdown
R1(config-if)#exit
No space
Exactly the same as an IPv4 address only different.
No space between IPv6 address and Prefix-length.
IOS commands for IPv6 are very similar to their IPv4 counterpart.
All 0s and all 1s are valid IPv6 host IPv6 addresses.
Static GUA
Configuration
2001:DB8:CAFE:1::/64
:100
:100
A
B
G0/0
:1
:1
G0/1
2001:DB8:CAFE:3::/64
R1
:1
S0/0/0
2001:DB8:CAFE:2::/64
R1(config)#interface gigabitethernet 0/1
R1(config-if)#ipv6 address 2001:db8:cafe:2::1/64
R1(config-if)#no shutdown
R1(config-if)#exit
R1(config)#interface serial 0/0/0
R1(config-if)#ipv6 address 2001:db8:cafe:3::1/64
R1(config-if)#no shutdown
R1(config-if)#exit
I love the 3-1-4
rule and
subnetting IPv6!
The ipv6 unicast-routing global configuration command is required for
forward IPv6 packets it is not required to configure IPv6 addresses.
Verifying
Address Using
Running
Configuration
2001:DB8:CAFE:1::/64
:100
:100
A
B
G0/0
:1
:1
G0/0
2001:DB8:CAFE:3::/64
R1
:1
S0/0/0
2001:DB8:CAFE:2::/64
R1# show
running-config
<output omitted for brevity>
interface GigabitEthernet0/0
no ip address
IPv4 address
duplex auto
speed auto
ipv6 address 2001:DB8:CAFE:1::1/64
!
IPv6 address
Verifying Unicast Addresses on R1
R1# show ipv6 interface brief
GigabitEthernet0/0
[up/up]
FE80::FE99:47FF:FE75:C3E0
2001:DB8:CAFE:1::1
! <output omitted>
Link-local unicast address
Global unicast address
Link-local and global unicast addresses are displayed.
Link-local address automatically created when (before) the global unicast address
is.
Link-local addresses are used for communicating with other devices on the same
link (not routable).
We will discuss link-local addresses in Lesson 5.
Static GUA Configuration on PC
Same as IPv4 devices:
Servers, printers, routers, etc.
Can also be a linklocal unicast address
of the router.
Verifying Unicast Addresses on PC
PCA>ipconfig
WindowsIPConfiguration
EthernetadapterLocalAreaConnection:
ConnectionspecificDNSSuffix:
IPv6Address..........:2001:db8:cafe:1::100
LinklocalIPv6Address....:
fe80::50a5:8a35:a5bb:66e1
DefaultGateway.......:2001:db8:cafe:1::1
Link-local addresses are created automatically.
Recent Microsoft operating systems use a random 64-bit Interface ID for linklocal address (coming soon)
Verifying IPv6 Connectivity
PCA> ping 2001:db8:cafe:1::1
Pinging 2001:db8:cafe:1::1 from 2001:db8:cafe:1::100 with 32 bytes of data:
Reply
Reply
Reply
Reply
from
from
from
from
2001:db8:cafe:1::1:
2001:db8:cafe:1::1:
2001:db8:cafe:1::1:
2001:db8:cafe:1::1:
time=1ms
time=1ms
time=1ms
time=1ms
Ping statistics for 2001:db8:cafe:1::1:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 1ms, Maximum = 1ms, Average = 1ms
PCA>
IPv6 General Prefix: Making your life easier
Router(config)# ipv6 general-prefix ?
WORD General prefix name
Router(config)# ipv6 general-prefix MyGUA 2001:db8:cafe::/48
Router(config)# interface gigabitethernet 0/0
Router(config-if)# ipv6 address MyGUA 0:0:0:88::1/64
Router(config-if)# no shutdown
Router(config-if)# exit
Router(config)# interface gigabitethernet 0/1
Router(config-if)# ipv6 address MyGUA 0:0:0:99::1/64
Router(config-if)# no shutdown
Router(config-if)# end
Router# show ipv6 interface brief
GigabitEthernet0/0
[up/up]
FE80::7EAD:74FF:FECC:5380
2001:DB8:CAFE:88::1
GigabitEthernet0/1
[[up/up]
FE80::7EAD:74FF:FECC:5381
2001:DB8:CAFE:99::1
<output omitted>
The general-prefix option can be used
as a short-cut or alias for just about
any command requiring an IPv6
address, addressing, ACLs, etc.
IPv6 General Prefix: Renumbering
Router(config)# no ipv6 general-prefix MyGUA 2001:db8:cafe::/48
Router(config)# ipv6 general-prefix MyGUA 2001:db8:beef::/48
Router(config-if)# end
Router# show ipv6 interface brief
GigabitEthernet0/0
[up/up]
FE80::7EAD:74FF:FECC:5380
2001:DB8:BEEF:88::1
GigabitEthernet0/1
[[up/up]
FE80::7EAD:74FF:FECC:5381
2001:DB8:BEEF:99::1
<output omitted>
Router# show running-config
<partial output>
ipv6 general-prefix MyGUA 2001:DB8:BEEF::/48
!
interface GigabitEthernet0/0
ipv6 address MyGUA ::88:0:0:0:1/64
!
interface GigabitEthernet0/1
ipv6 address MyGUA ::99:0:0:0:1/64
!
It is also greatly simplifies network
renumbering and allows for automated
prefix definition.
4.5: Configuring a Static GUA with
EUI-64
Configuring a Static GUA + EUI-64
Global Unicast
Manual
Dynamic
Stateless
Static
IPv6
unnumbered
Similar to IPv4 unnumbered
Static + EUI 64
Stateful
SLAAC
DHCPv6
SLAAC +
DHCPv6
DHCPv6-PD
Configuring a Static GUA + EUI-64
R1(config)#interfacegigabitethernet0/1
R1(configif)#ipv6address2001:db8:cafe:99::/64?
eui64Useeui64interfaceidentifier
All 0s is ok!
<cr>
R1(configif)#ipv6address2001:0db8:cafe:99::/64eui64
R1(configif)#
R1
G0/1
2001:DB8:CAFE:99::/64
A 64-bit Interface ID is created with EUI64 using:
48-bit MAC address
Inserting 16 bits: FF-FE
Flipping the U/L (Universal/Local) bit
Modified EUI-64 Format (Extended Unique Identifier64)
OUI (24 bits)
00
03
Device Identifier (24 bits)
6B
E9
D4
80
Insert FF-FE
00
03
6B
FF
FE
E9
D4
80
00
03
6B
FF
FE
E9
D4
80
FF
FE
E9
D4
80
0000 0010
0000
U/L bit flipped
02
03
6B
Configuring a Static GUA + EUI-64
R1(config)#interfacegigabitethernet0/1
R1(configif)#ipv6address2001:db8:cafe:99::/64eui64
R1#showinterfacegigabitethernet0/1
GigabitEthernet0/1isup,lineprotocolisup
HardwareisAmdFE,addressis0003.6be9.d480(bia0003.6be9.d480)
<outputomitted>
64-bit prefix from configuration
64-bit Interface
R1#showipv6interfacegigabitethernet0/1
ID using EUI-64
GigabitEthernet0/1isup,lineprotocolisup
IPv6isenabled,linklocaladdressisFE80::203:6BFF:FEE9:D480
Globalunicastaddress(es):
EUI-64: 48-bit MAC address
2001:DB8:CAFE:99:203:6BFF:FEE9:D480,
subnetis2001:DB8:CAFE:99::/64
with FFFE (16 bits) inserted
<outputomitted>
and 7th bit flipped
4.6: Overview of Dynamic IPv6 Address Allocation
and DHCPv6)
(SLAAC
Dynamic IPv6 Address Allocation
Global Unicast
Overview only
Manual
Dynamic
Stateless
Static
IPv6
unnumbered
Similar to IPv4 unnumbered
Static + EUI 64
Stateful
SLAAC
DHCPv6
SLAAC +
DHCPv6
DHCPv6-PD
Dynamic IPv4 Address Allocation
I need IPv4 addressing
information from a DHCP server.
DHCP Server
DHCP Client
Here is your IPv4
address, subnet mask,
default gateway and
DNS server addresses.
ICMPv6
Internet Control Message
Protocol for IPv6
ICMPv6 than just messaging but how
IPv6 conducts business.
ICMPv6 Neighbor Discovery (RFC
4861) used in dynamic address
allocation.
More later!
Once again ICMPv6 Neighbor Discovery
ICMPv6 informational messages used by Neighbor
Discovery (RFC 4861):
Router Solicitation Message
Router Advertisement Message
Used for dynamic address allocation.
Neighbor Solicitation Message
Neighbor Advertisement Message
Used with address resolution (IPv4 ARP)
and with DAD
Redirect Message (Similar to ICMPv4)
Router-Device
Router-Device
Messaging
Messaging
Device-Device
Device-Device
Messaging
Messaging
It Begins with the RA Message
ICMPv6
ICMPv6 Router
Router Advertisement
Advertisement
ICMPv6
ICMPv6 Router
Router Solicitation
Solicitation
Multicast: To all
IPv6 devices,
let me tell you how
to do this
Multicast: To all
IPv6 routers, I need
IPv6 address
information
DHCPv6
Server
I might not even be
needed.
An ICMPv6 Router Advertisement (RA) suggests to all IPv6 devices on the
link how it will receive IPv6 Address Information.
Sent periodically by an IPv6 router or
when the router receives a Router Solicitation message from a host.
It Begins with the RA Message
ICMPv6
ICMPv6 Router
Router Advertisement
Advertisement
Router(config)# ipv6 unicast-routing
DHCPv6
Server
Router Advertisement (RA) Message
Part of ICMPv6 (Internet Control Message Protocol for IPv6)
RA messages are sent by an IPv6 router, ipv6unicastrouting command
Forwards IPv6 Packets
Enables IPv6 dynamic routing
Sends ICMPv6 Router Advertisements
Routers can be configured with IPv6 addresses without being an IPv6 router.
IPv6 static routes can be configured but the router will only forward locally
generated packets it will not forward packets that transit through the router.
Option 1 and 2: Stateless Address Autoconfiguration
Router Advertisement:
3 Options
DHCPv6 Server does not maintain state of addresses
Option 3: Stateful Address Configuration
Address received from DHCPv6 Server
Router(config)# ipv6 unicast-routing
DHCPv6
Option 1: SLAAC No DHCPv6 (Default on Cisco routers)
DHCPv6 Server
Im everything you need (Prefix, Prefix-length, Default Gateway)
Option 2: SLAAC + Stateless DHCPv6 for DNS address
Here is my information but you need to get other information such
as DNS addresses from a DHCPv6 server. (DNS can be in RA)
RA
RA
Option 3: All addressing except default gateway DHCPv6
I cant help you. Ask a DHCPv6 server for all your information.
Dynamic IPv6 Address Allocation
Global Unicast
Manual
Lesson 7
Dynamic
Stateless
Static
IPv6
unnumbered
Similar to IPv4 unnumbered
Static + EUI 64
Stateful
SLAAC
DHCPv6
SLAAC +
DHCPv6
DHCPv6-PD
Lesson 8
ICMPv6 Lesson 9
ICMPv6 Neighbor Discovery including packet captures Lesson 10
For more information please check out my Cisco Press book and video series:
IPv6 Fundamentals: A Straightforward
Approach to Understanding IPv6
By Rick Graziani
ISBN-10: 1-58714-313-5
IPv6 Fundamentals LiveLessons: A
Straightforward Approach to Understanding IPv6
By Rick Graziani
ISBN-10: 1-58720-457-6