Escolar Documentos
Profissional Documentos
Cultura Documentos
IPv4
IPv4 was standardized in 1981,
provisioning 4.29 billion (232) IP
addresses for a world population
of 4.41 billion people. *
4
What is happening with the ISPs
Private Address
Space
10.0.0.0/8
172.16.0.0/12
192.168.0.0/16
https://www.google.com/intl/es/ipv6/statistics.html
IPv6 Adoption Statistics
https://www.akamai.com/uk/en/our-thinking/state-of-
the-internet-report/state-of-the-internet-ipv6-
adoption-visualization.jsp
Introducing IPv6
340 undecillion
= 340,282,366,920,938,463,463,374,607,431,768,211,456
IPv6 Introduction
• 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 Features
Benefits
• Native dual stack does not require any tunneling
mechanisms on internal networks
• Both IPv4 and IPv6 run independent of each other
• Dual stack supports gradual migration of endpoints,
networks, and applications
Tunneling – 6to4
• Simpler IPv6
header.
• Fixed 40 byte
IPv6 header.
• Lets look at
the
differences…
IPv6 Version
IPv4
• IPv4 Version contains 4.
• IPv6 Version contains 6.
• Version 5?- Internet Stream Protocol
(ST2)
IPv6
IPv4 Internet Header Length
IPv4
• IPv4 Internet Header Length (IHL) 1
• Length of IPv4 header in 32-bit 2
words including any Options or 3
Padding. 4
• IPv6 5
• IHL for IPv6 is not needed. ?
• IPv6 header is fixed at 40 bytes.
IPv6
8 bytes
8 bytes
40 bytes = 8 bytes
8 bytes
8 bytes
IPv6 Traffic Class
IPv6
7 6 5 4 3 2 1 0
IP Precedence Unsused
DiffServ Code Point (DSCP) IP ECN
IPv6 Flow Label
11001011000101100
10110010111000111
IPv6
IPv6 Payload Length
IPv4 Header Data (Payload)
• IPv4 Total Length – Number of bytes
of the IPv4 header (options) + data. IPv4
• IPv6 Payload Length – Number of
bytes of the payload.
• Does not include the main IPv6
header.
• Includes extension headers + data
IPv6
Payload
IPv6 Extension
IPv6 Header Header (Optional) Data
IPv6 No Fragmentation
• Common values:
• 6 = TCP IPv6
• 17 = UDP
• 58 = ICMPv6
• 88 = EIGRP IPv6 Next Data
• 89 = OSPF Header Header (Protocol: TCP, UDP, ICMPv6, etc.)
IPv6 Hop Limit
IPv6
IPv4 Header Checksum
• Because it’s
not in IPv6, IPv6
the UDP
checksum is
now
mandatory.
IPv6 Extension Header
2001:0DB8:AAAA:1111:0000:0000:0000:0100
2001:DB8:1000::1
Rule 2: Double Colon :: Choices
RFC 5952
2001 : DB8 :: 1234 : 0 : 0 : 5678
or
… RFC 5952 states that the longest string of zeroes must be replaced with the :: and if
they are equal then the first string of 0’s 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
IPv4: Subnet Mask
and Prefix Length
Prefix Subnet
Binary Mask Length Mask
11111111 00000000 00000000 00000000 /8 255.0.0.0
11111111 10000000 00000000 00000000 /9 255.128.0.0
11111111 11000000 00000000 00000000 /10 255.192.0.0
11111111 11100000 00000000 00000000 /11 255.224.0.0
11111111 11110000 00000000 00000000 /12 255.240.0.0
IPv4 Network portion
Host
11111111 portion
11111000 00000000 00000000 /13 255.248.0.0
Prefix 11111111 11111100 00000000 00000000 /14 255.252.0.0
11111111 11111110 00000000 00000000 /15 255.254.0.0
11111111 11111111 00000000 00000000 /16 255.255.0.0
11111111 11111111 10000000 00000000 /17 255.255.128.0
• IPv4, the prefix, the network 32 11111111 11111111 11000000
bits 00000000 /18 255.255.192.0
11111111 11111111 11100000 00000000 /19 255.255.224.0
portion of the address, can 11111111 11111111 11110000 00000000 /20 255.255.240.0
be identified by: 11111111 11111111 11111000 00000000 /21 255.255.248.0
11111111 11111111 11111100 00000000 /22 255.255.252.0
• Dotted decimal subnet 11111111 11111111 11111110 00000000 /23 255.255.254.0
mask 11111111 11111111 11111111 00000000 /24 255.255.255.0
11111111 11111111 11111111 10000000 /25
• Prefix length 255.255.255.128
• The number of bits in the 11111111 11111111 11111111 11000000 /26
255.255.255.192
prefix or network portion of 11111111 11111111 11111111 11100000 /27
the address. 255.255.255.224
11111111 11111111 11111111 11110000 /28
255.255.255.240
11111111 11111111 11111111 11111000 /29
255.255.255.248
11111111 11111111 11111111 11111100 /30
255.255.255.252
11111111 11111111 11111111 11111110 /31
255.255.255.254
IPv6 Prefix Length
Prefix Interface ID
2001:0DB8:0000:0000:0000:0000:0000:0001
Prefix length /32 /48/52
/56 /64
/60
IPv6 Address Types…. Road Map
IPv6 Addresses
IPv6
IP Address Types
Global Unicast Address
GUA
IPv6 Internet
Range:
001
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
32 bits
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 /64
16 bits 16 bits 16 bits 16 bits 16 bits 16 bits 16 bits 16 bits
3 + 1 = 4 (/64) : 4
2001:0DB8:CAFE:0001:0000:0000:0000:0100/64
2001:DB8:CAFE:1::100/64
Subnetting IPv6
/64
2001:DB8:0000:0000:0000:0000:0000:0000
64-bit Interface ID
/60 = 16 /64’s
/56 = 256 /64’s
/52 = 4,096 /64’s
/32 = 65,536 /48’s /48 = 65,536 /64’s (Many sites will get this prefix length)
Hexadecimal 00 03 6B E9 D4 80
Step 1: Split the MAC address
Binary 0000 0000 0000 0011 0110 1011 1110 1001 1101 0100 1000 0000
Binary 0000 0010 0000 0011 0110 1011 1111 1111 1111 1110 1110 1001 1101 0100 1000 0000
Binary 02 03 6B FF FE E9 D4 80
IPv6 Address Types
IPv6 Addresses
Link-local Unicast
IPv6
Link-Local Unicast Range
Link-Local Communications
PC> ipconfig
Windows IP Configuration
Ethernet adapter Local Area Connection:
Connection-specific DNS Suffix :
Link-local IPv6 Address . . . . :
fe80::50a5:8a35:a5bb:66e1
IPv4 Address. . . . . . . . . . : 192.168.1.101
Subnet Mask . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . : 192.168.1.1
• IPv6 is automatically enabled with Windows, MAC and Linux operating systems.
• Windows XP and Windows Server 2003 Generates the local link address through the
process EUI-64.
• Windows Vista® or Windows Server® 2008 by default generate random interface IDs
for non-temporary autoconfigured IPv6 addresses, including public and link-local
addresses, rather than EUI-64-based interface IDs
• Can communicate with other devices on the link, including the router.
An Important Role in IPv6
Routing Protocol
Messaging
From: Link-local
ICMPv6 Router From: Link-local or
To: Multicast
Solicitation unspecified address
To: Multicast
From: Link-local ICMPv6 Router I will use
To: Multicast Advertisement your link-
local as my
default
gateway,
• Used as a source IPv6 address before a device gets one
dynamically (SLAAC and DHCPv6).
• Router’s link-local address is used by devices as the default
gateway.
• Routers exchange routing messages.
• Router use the link-local address as the next-hop address in the
routing table: via link-local address.
Loopback 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
Multicast
Addresses
• Anycast Address
• A unicast address that is assigned to more than one interface (typically
different devices).
Summary: IPv6 Address Types
IPv6 Addresses
Next
All ICMPv6 IPv6 Main Header ICMPv6
Data
messages Header 58 Header
ICMPv6 Messages
Next
IPv6 Header Header = ICMPv6 Message
58
0 8 16 24 31
Type Code Checksum
Message Body
Code Values
0 - No route to destination
0 8 16 24 31 1 - Communication with destination
Type = 1 Code Checksum administratively prohibited
2 - Beyond scope of source
Unused address
3 - Address unreachable
As much of invoking packet as possible without the 4 - Port unreachable
ICMPv6 packet exceeding the minimum IPv6 MTU. 5 - Source address failed
ingress/egress policy
6 - Reject route to destination
0 8 16 24 31
Type = 2 Code = 0 Checksum
MTU of the next hop link
2
ICMPv6 Packet Too Big
Use MTU 1350
3
IPv6 Packet
MTU 1350
Error Message: Time Exceeded
IPv6
0 8 16 24 31
Type = 3 Code = 0 Checksum
Unused
?
Next Next
IPv6 Main Header Extension Header TCP
Header Data
Header 138 6 Header
• Type 4
• Generated when a receiving device finds a problem with a field
in the main IPv6 header such as the Next Header field – packet
is discarded.
ICMPv6
Echo Request and Echo Reply
Type 128 = Echo Request
Type 129 = Echo Reply
0 8 16 24 31
Type = 128/129 Code = 0 Checksum
Identifier Sequence Number
Data
• Redirect Message
Similar to ICMPv4 redirect message
Router-to-Device messaging
Dynamic Address Allocation
in IPv4
DHCPv4 Server
1
I need IPv4
addressing
information.
Here is everything
you need.
Dynamic Address Allocation
in IPv6
To all IPv6 routers: I might not be
I need IPv6 address needed.
information.
DHCPv6 Server
To all IPv6 devices: ICMPv6 Router Advertisement
Let me tell you how
to do this … 1. SLAAC
2. SLAAC with
Stateless DHCPv6
3. Stateful DHCPv6
SLAAC
(Stateless Address Autoconfiguration)
RA Message Options
2 1 Neighbor
Know
My IPv6!
Neighbor Neighbor Cache IPv6, what
Here is the
Advertisement Solicitation is the
MAC?
MAC?
2001:DB8:CAFE:1::200/64 2001:DB8:CAFE:1::100/64
FF02::1:FF00:200 (Solicited Node Multicast)
MAC Address MAC Address
PC2 00-1B-24-04-A2-1E 00-21-9B-D9-C6-44 PC1
1
PC1> ping 2001:DB8:CAFE:1::200
4 3 Neighbor Cache 2 5
Neighbor Neighbor <empty until step 5>
Advertisement Solicitation
PC1
Neighbor Cache
IPv6 Address MAC Address
2001:DB8:ACAD:1::10 0021.9bd9.c644 IPv6 - 2001:DB8:ACAD:1::10
?
MAC - 0021.9bd9.c644
• Neighbor Cache – Maps IPv6 addresses with Ethernet MAC addresses
• Similar to ARP Cache for IPv4
• 5 States (2 noticeable and 3 transitory):
• Reachable: Packets have recently been received providing confirmation that
this device is reachable.
• Stale: A certain time period has elapsed since a packet has been received from
this address.
• Transitory States: INCOMPLETE, DELAY, PROBE
Neighbor Cache
Windows
C:\> netsh interface ipv6 show neighbor