Introduction to Internet Introduction to Internet Protocol Version 6Protocol Version 6
Joseph DaviesJoseph DaviesTechnical writerTechnical writerWindows Networking and Device TechnologiesWindows Networking and Device TechnologiesMicrosoft CorporationMicrosoft Corporation
Introduction to Internet Introduction to Internet Protocol Version 6Protocol Version 6
Joseph DaviesJoseph DaviesTechnical writerTechnical writerWindows Networking and Device TechnologiesWindows Networking and Device TechnologiesMicrosoft CorporationMicrosoft Corporation
2
AgendaAgenda
Introduction to Internet Protocol Version 6 Introduction to Internet Protocol Version 6 (IPv6)(IPv6)
IPv6 addressingIPv6 addressing
IPv6 headerIPv6 header
Internet Control Message Protocol for IPv6 Internet Control Message Protocol for IPv6 (ICMPv6) and Multicast Listener Discovery (ICMPv6) and Multicast Listener Discovery (MLD)(MLD)
Neighbor DiscoveryNeighbor Discovery
Address autoconfigurationAddress autoconfiguration
3
IntroductionIntroduction
Problems with IPv4Problems with IPv4
IPv6 featuresIPv6 features
IPv6 packets over local area network (LAN) IPv6 packets over local area network (LAN) mediamedia
IPv6 IPv6 implementations from Microsoftimplementations from Microsoft
4
Problems with IPv4Problems with IPv4
Public address space becoming exhaustedPublic address space becoming exhausted
Large routing tables for Internet backbone Large routing tables for Internet backbone routersrouters
Configuration could be simplerConfiguration could be simpler
IP-layer security is not requiredIP-layer security is not required
Need better support for prioritized deliveryNeed better support for prioritized delivery
5
IPv6 featuresIPv6 features
New header formatNew header format
Large address spaceLarge address space
Efficient and hierarchical addressing and Efficient and hierarchical addressing and routing infrastructurerouting infrastructure
Stateless and stateful address configurationStateless and stateful address configuration
6
IPv6 features IPv6 features (2)(2)
Built-in securityBuilt-in security
Better support for prioritized deliveryBetter support for prioritized delivery
New protocol for neighboring node New protocol for neighboring node interactioninteraction
ExtensibilityExtensibility
7
TCP/IP protocol architecture with IPv6TCP/IP protocol architecture with IPv6
IPv6
TCP
FTP
UDP
MLD
Telnet HTTP RIPngDNS SNMP
Internet Layer
Transport Layer
Application Layer
Network Interface Layer
Application Layer
Presentation Layer
Session Layer
Transport Layer
Network Layer
Data Link Layer
Physical Layer
OSI Model Layers
TCP/IP Protocol Architecture
Layers
TCP/IP Protocol Suite
Ethernet IEEE 802.11 Frame Relay ATM
ND
ICMPv6
8
An IPv6 packetAn IPv6 packet
PayloadIPv6
Header
IPv6 Packet
NetworkInterfaceHeader
Network InterfaceTrailer
Network Interface Layer Frame
9
IPv6 packets over LAN mediaIPv6 packets over LAN media
Ethernet II encapsulationEthernet II encapsulationUses EtherType value of 0x86DDUses EtherType value of 0x86DD
IEEE 802.x encapsulationIEEE 802.x encapsulationUses Sub-Network Access Protocol (SNAP) Uses Sub-Network Access Protocol (SNAP) header and EtherType value of 0x86DDheader and EtherType value of 0x86DD
10
IPv6 iIPv6 implementations from mplementations from MicrosoftMicrosoft
Microsoft® Windows Server® 2003 familyMicrosoft® Windows Server® 2003 family
Microsoft Windows® XP Service Pack 1 (SP1) Microsoft Windows® XP Service Pack 1 (SP1) and Windows XP Service Pack 2 (SP2)and Windows XP Service Pack 2 (SP2)
Windows CE .NET version 4.1 and later versionsWindows CE .NET version 4.1 and later versions
Windows Vista™ (now in beta testing) and Windows Vista™ (now in beta testing) and Windows Server "Longhorn" (now in beta testing)Windows Server "Longhorn" (now in beta testing)
Installed and enabled by defaultInstalled and enabled by default
11
IPv6 addressingIPv6 addressing
The IPv6 address spaceThe IPv6 address space
IPv6 address syntaxIPv6 address syntax
IPv6 address prefixesIPv6 address prefixes
Unicast IPv6 addressesUnicast IPv6 addresses
Multicast IPv6 addressesMulticast IPv6 addresses
IPv6 interface identifiersIPv6 interface identifiers
DNS supportDNS support
12
The IPv6 address spaceThe IPv6 address space
128-bit address space128-bit address space22128128 possible addresses possible addresses
340,282,366,920,938,463,463,374,607,431,768,211, 340,282,366,920,938,463,463,374,607,431,768,211, 456 addresses (3.4 x 10456 addresses (3.4 x 103838))
6.6 x 106.6 x 102323 addresses for every square meter of the addresses for every square meter of the Earth’s surfaceEarth’s surface
128 bits were chosen to allow for flexibility in 128 bits were chosen to allow for flexibility in creating multilevel, hierarchical, routing creating multilevel, hierarchical, routing infrastructureinfrastructure
13
IPv6 address syntaxIPv6 address syntax
IPv6 address in binary formIPv6 address in binary form0010000000000001000011011011100000000000000000000010111100111011 0010000000000001000011011011100000000000000000000010111100111011 00000010101010100000000011111111111111100010100010011100010110100000001010101010000000001111111111111110001010001001110001011010
14
IPv6 address syntax IPv6 address syntax (2)(2)
IPv6 address in binary formIPv6 address in binary form0010000000000001000011011011100000000000000000000010111100111011 0010000000000001000011011011100000000000000000000010111100111011 00000010101010100000000011111111111111100010100010011100010110100000001010101010000000001111111111111110001010001001110001011010
Divided along 16-bit boundariesDivided along 16-bit boundaries0010000000000001 0000110110111000 0000000000000000 0010111100111011 0010000000000001 0000110110111000 0000000000000000 0010111100111011
0000001010101010 0000000011111111 1111111000101000 10011100010110100000001010101010 0000000011111111 1111111000101000 1001110001011010
15
IPv6 address syntax IPv6 address syntax (3)(3)
IPv6 address in binary formIPv6 address in binary form0010000000000001000011011011100000000000000000000010111100111011 0010000000000001000011011011100000000000000000000010111100111011 00000010101010100000000011111111111111100010100010011100010110100000001010101010000000001111111111111110001010001001110001011010
Divided along 16-bit boundariesDivided along 16-bit boundaries0010000000000001 0000110110111000 0000000000000000 0010111100111011 0010000000000001 0000110110111000 0000000000000000 0010111100111011
0000001010101010 0000000011111111 1111111000101000 10011100010110100000001010101010 0000000011111111 1111111000101000 1001110001011010
Each 16-bit block is converted to hexadecimal and Each 16-bit block is converted to hexadecimal and delimited by using colonsdelimited by using colons
2001:0DB8:0000:2F3B:02AA:00FF:FE28:9C5A2001:0DB8:0000:2F3B:02AA:00FF:FE28:9C5A
16
IPv6 address syntax IPv6 address syntax (4)(4)
IPv6 address in binary formIPv6 address in binary form0010000000000001000011011011100000000000000000000010111100111011 0010000000000001000011011011100000000000000000000010111100111011 00000010101010100000000011111111111111100010100010011100010110100000001010101010000000001111111111111110001010001001110001011010
Divided along 16-bit boundariesDivided along 16-bit boundaries0010000000000001 0000110110111000 0000000000000000 0010111100111011 0010000000000001 0000110110111000 0000000000000000 0010111100111011
0000001010101010 0000000011111111 1111111000101000 10011100010110100000001010101010 0000000011111111 1111111000101000 1001110001011010
Each 16-bit block is converted to hexadecimal and Each 16-bit block is converted to hexadecimal and delimited by using colonsdelimited by using colons
2001:0DB8:0000:2F3B:02AA:00FF:FE28:9C5A2001:0DB8:0000:2F3B:02AA:00FF:FE28:9C5A
Suppress leading zeros within each blockSuppress leading zeros within each block2001:DB8:0:2F3B:2AA:FF:FE28:9C5A2001:DB8:0:2F3B:2AA:FF:FE28:9C5A
17
Compressing zerosCompressing zeros
Typical IPv6 addresses contain long sequences of Typical IPv6 addresses contain long sequences of zeroszeros
A single contiguous sequence of 16-bit blocks set A single contiguous sequence of 16-bit blocks set to 0 can be compressed to “::”to 0 can be compressed to “::”
18
Compressing zeros Compressing zeros (2)(2)
Typical IPv6 addresses contain long sequences of Typical IPv6 addresses contain long sequences of zeroszeros
A single contiguous sequence of 16-bit blocks set A single contiguous sequence of 16-bit blocks set to 0 can be compressed to “::”to 0 can be compressed to “::”
ExamplesExamplesFE80:0:0:0:2AA:FF:FE9A:4CA2 becomes FE80:0:0:0:2AA:FF:FE9A:4CA2 becomes FE80::2AA:FF:FE9A:4CA2FE80::2AA:FF:FE9A:4CA2
FF02:0:0:0:0:0:0:2 becomes FF02::2FF02:0:0:0:0:0:0:2 becomes FF02::2
19
Compressing zeros Compressing zeros (3)(3)
Typical IPv6 addresses contain long sequences of Typical IPv6 addresses contain long sequences of zeroszeros
A single contiguous sequence of 16-bit blocks set A single contiguous sequence of 16-bit blocks set to 0 can be compressed to “::”to 0 can be compressed to “::”
ExamplesExamplesFE80:0:0:0:2AA:FF:FE9A:4CA2 becomes FE80:0:0:0:2AA:FF:FE9A:4CA2 becomes FE80::2AA:FF:FE9A:4CA2FE80::2AA:FF:FE9A:4CA2
FF02:0:0:0:0:0:0:2 becomes FF02::2FF02:0:0:0:0:0:0:2 becomes FF02::2
You cannot use zero compression to include part You cannot use zero compression to include part of a 16-bit blockof a 16-bit block
FF02:30:0:0:0:0:0:5 does not become FF02:3::5, but FF02:30:0:0:0:0:0:5 does not become FF02:3::5, but FF02:30::5FF02:30::5
20
IPv6 address prefixesIPv6 address prefixes
Always use Always use addressaddress//prefix-lengthprefix-length notation notationAlso known as CIDR notationAlso known as CIDR notation
ExamplesExamples2001:DB8:0:2F3B::/64 is a subnet prefix for a 2001:DB8:0:2F3B::/64 is a subnet prefix for a subnetsubnet
2001:DB8::/48 is an address prefix for a 2001:DB8::/48 is an address prefix for a summarized routesummarized route
FF00::/8 is an address prefix for an address FF00::/8 is an address prefix for an address rangerange
21
IPv6 address prefixes IPv6 address prefixes (2)(2)
Always use Always use addressaddress//prefix-lengthprefix-length notation notationAlso known as CIDR notationAlso known as CIDR notation
ExamplesExamples2001:DB8:0:2F3B::/64 is a subnet prefix for a 2001:DB8:0:2F3B::/64 is a subnet prefix for a subnetsubnet
2001:DB8::/48 is an address prefix for a 2001:DB8::/48 is an address prefix for a summarized routesummarized route
FF00::/8 is an address prefix for an address FF00::/8 is an address prefix for an address rangerange
::/0 for the default route::/0 for the default route
22
Types of IPv6 addressesTypes of IPv6 addresses
UnicastUnicastAddress of a single interfaceAddress of a single interface
Delivery to single interfaceDelivery to single interface
MulticastMulticastAddress of a set of interfacesAddress of a set of interfaces
Delivery to all interfaces in the setDelivery to all interfaces in the set
AnycastAnycastAddress of a set of interfacesAddress of a set of interfaces
Delivery to a single interface in the setDelivery to a single interface in the set
No more broadcast addressesNo more broadcast addresses
23
Unicast IPv6 addressesUnicast IPv6 addresses
Global addressesGlobal addresses
Link-local addressesLink-local addresses
Site-local addressesSite-local addresses
Unique local addressesUnique local addresses
24
Global addressesGlobal addresses
Address scope is the whole IPv6 InternetAddress scope is the whole IPv6 InternetEquivalent to public IPv4 addressesEquivalent to public IPv4 addresses
Defined in RFC 3587Defined in RFC 3587
StructureStructureGlobal Routing PrefixGlobal Routing Prefix
Subnet IDSubnet ID
Interface IDInterface ID
Interface ID
64 bits
Subnet ID
45 bits
001 Global Routing Prefix
16 bits
25
Link-local addressesLink-local addresses
Address scope is a single linkAddress scope is a single linkEquivalent to APIPA IPv4 addressesEquivalent to APIPA IPv4 addresses
FE80::/64 prefixFE80::/64 prefix
UsageUsageSingle subnet, routerless configurationsSingle subnet, routerless configurations
Neighbor Discovery processesNeighbor Discovery processes
1111 1110 10 Interface ID
10 bits 64 bits
000 . . . 000
54 bits
26
Site-local addressesSite-local addresses
Address scope is a single siteAddress scope is a single siteEquivalent to private IPv4 addressesEquivalent to private IPv4 addresses
FEC0::/10 prefixFEC0::/10 prefix
Used for intranets that are not connected to Used for intranets that are not connected to the IPv6 Internet the IPv6 Internet
Recently made obsolete, but supported for Recently made obsolete, but supported for current implementationscurrent implementations
1111 1110 11 Interface ID
10 bits 64 bits54 bits
Subnet ID
27
Zone IDs for link-local and site-Zone IDs for link-local and site-local addresseslocal addresses
Link-local and site-local addresses are ambiguousLink-local and site-local addresses are ambiguousMultiple links (common)Multiple links (common)
Multiple sites (uncommon)Multiple sites (uncommon)
28
Zone IDs for link-local and site-Zone IDs for link-local and site-local addresses local addresses (2)(2)
Link-local and site-local addresses are ambiguousLink-local and site-local addresses are ambiguousMultiple links (common)Multiple links (common)
Multiple sites (uncommon)Multiple sites (uncommon)
Zone ID is used to identify a specific link or siteZone ID is used to identify a specific link or siteLink-local addressLink-local address
Zone ID is typically set to the interface index of the sending Zone ID is typically set to the interface index of the sending interfaceinterface
Site-local addressSite-local addressZone ID is typically 1 unless multiple sites are usedZone ID is typically 1 unless multiple sites are used
29
Zone IDs for link-local and site-Zone IDs for link-local and site-local addresses local addresses (3)(3)
Link-local and site-local addresses are ambiguousLink-local and site-local addresses are ambiguousMultiple links (common)Multiple links (common)
Multiple sites (uncommon)Multiple sites (uncommon)
Zone ID is used to identify a specific link or siteZone ID is used to identify a specific link or siteLink-local addressLink-local address
Zone ID is typically set to the interface index of the sending Zone ID is typically set to the interface index of the sending interfaceinterface
Site-local addressSite-local addressZone ID is typically 1 unless multiple sites are usedZone ID is typically 1 unless multiple sites are used
ExamplesExamplesping fe80::2b0:d0ff:fee9:4143%3ping fe80::2b0:d0ff:fee9:4143%3
tracert fec0::f282:2b0:d0ff:fee9:4143%2tracert fec0::f282:2b0:d0ff:fee9:4143%2
30
Unique local addressesUnique local addresses
Private to an organization, yet unique Private to an organization, yet unique across all the sites of the organization across all the sites of the organization
FD00::/8 prefixFD00::/8 prefix
Replacement for site-local addressesReplacement for site-local addresses
Global scope, no zone ID required Global scope, no zone ID required
1111 110 Interface ID
7 bits 64 bits
Global ID
40 bits
Subnet ID
16 bits
L
31
IPv6 interface identifiersIPv6 interface identifiers
Interface identifiers are based the following items.Interface identifiers are based the following items.Extended Unique Identifier (EUI)-64 addressExtended Unique Identifier (EUI)-64 address
Either assigned to a network adapter card or derived from IEEE Either assigned to a network adapter card or derived from IEEE 802 (MAC) addresses802 (MAC) addresses
A randomly generated value that changes over timeA randomly generated value that changes over time
A value assigned by a stateful address configuration A value assigned by a stateful address configuration protocol such as Dynamic Host Configuration Protocol protocol such as Dynamic Host Configuration Protocol for IPv6 (DHCPv6)for IPv6 (DHCPv6)
A value assigned during the establishment of a Point-to-A value assigned during the establishment of a Point-to-Point Protocol connectionPoint Protocol connection
A manually configured valueA manually configured value
32
IEEE 802 addressesIEEE 802 addresses
Company IDCompany ID
Extension IDExtension ID
u bit – Universally (=0)/Locally (=1) Administeredu bit – Universally (=0)/Locally (=1) Administered
g bit – Unicast (=0)/Group (=1) Addressg bit – Unicast (=0)/Group (=1) Address
ccccccug cccccccc cccccccc
24 bits 24 bits
xxxxxxxx xxxxxxxx xxxxxxxx
IEEE administered company ID Manufacturer selected extension ID
33
IEEE EUI-64 addressesIEEE EUI-64 addresses
Extended Unique IdentifierExtended Unique Identifier
Company IDCompany ID
Extension IDExtension ID
ccccccug cccccccc cccccccc
24 bits 40 bits
xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx
IEEE administered company ID Manufacturer selected extension ID
34
Mapping IEEE 802 addresses to EUI-Mapping IEEE 802 addresses to EUI-64 addresses64 addresses
ccccccug cccccccc cccccccc
24 bits 24 bits
xxxxxxxx xxxxxxxx xxxxxxxx
ccccccug cccccccc cccccccc
24 bits 24 bits
xxxxxxxx xxxxxxxx xxxxxxxx11111111 11111110
0xFF 0xFE
IEEE administered company ID Manufacturer selected extension ID
64 bits
35
Obtaining interface identifiers for Obtaining interface identifiers for IPv6 addressesIPv6 addresses
ccccccug cccccccc cccccccc xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx
ccccccUg cccccccc cccccccc xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx
EUI-64 Address
IPv6 Interface Identifier
Complement the universal/locally administered bit
36
Converting IEEE 802 addresses to Converting IEEE 802 addresses to IPv6 interface identifiersIPv6 interface identifiers
cccccc00 cccccccc cccccccc
24 bits 24 bits
xxxxxxxx xxxxxxxx xxxxxxxx
cccccc00 cccccccc cccccccc xxxxxxxx xxxxxxxx xxxxxxxx11111111 11111110
0xFF 0xFE
IEEE administered company ID Manufacturer selected extension ID
cccccc10 cccccccc cccccccc
64 bits
11111111 11111110 xxxxxxxx xxxxxxxx xxxxxxxxIPv6 Interface Identifier:
EUI-64 Address:
IEEE 802 Address:
37
EUI-64 interface ID exampleEUI-64 interface ID example
Host A has the MAC address of 00-AA-00-3F-2A-1CHost A has the MAC address of 00-AA-00-3F-2A-1C1. Convert MAC address to EUI-64 format1. Convert MAC address to EUI-64 format
00-AA-00-00-AA-00-FF-FEFF-FE-3F-2A-1C -3F-2A-1C
38
EUI-64 interface ID example EUI-64 interface ID example (2)(2)
Host A has the MAC address of 00-AA-00-3F-2A-1CHost A has the MAC address of 00-AA-00-3F-2A-1C1. Convert MAC address to EUI-64 format1. Convert MAC address to EUI-64 format
00-AA-00-00-AA-00-FF-FEFF-FE-3F-2A-1C-3F-2A-1C
2. Complement the U/L bit (seventh bit of first byte)2. Complement the U/L bit (seventh bit of first byte)The first byte in binary form is 00000000. When the seventh bit is The first byte in binary form is 00000000. When the seventh bit is complemented, it becomes 00000010 (0x02). complemented, it becomes 00000010 (0x02).
02-AA-00-FF-FE-3F-2A-1C 02-AA-00-FF-FE-3F-2A-1C
39
EUI-64 interface ID example EUI-64 interface ID example (3)(3)
Host A has the MAC address of 00-AA-00-3F-2A-1CHost A has the MAC address of 00-AA-00-3F-2A-1C1. Convert MAC address to EUI-64 format1. Convert MAC address to EUI-64 format
00-AA-00-00-AA-00-FF-FEFF-FE-3F-2A-1C-3F-2A-1C
2. Complement the U/L bit (seventh bit of first byte)2. Complement the U/L bit (seventh bit of first byte)The first byte in binary form is 00000000. When the seventh bit is The first byte in binary form is 00000000. When the seventh bit is complemented, it becomes 00000010 (0x02). complemented, it becomes 00000010 (0x02).
02-AA-00-FF-FE-3F-2A-1C02-AA-00-FF-FE-3F-2A-1C
3. Convert to colon hexadecimal notation3. Convert to colon hexadecimal notation::2AA:FF:FE3F:2A1C::2AA:FF:FE3F:2A1C
40
EUI-64 interface ID example EUI-64 interface ID example (4)(4)
Host A has the MAC address of 00-AA-00-3F-2A-1CHost A has the MAC address of 00-AA-00-3F-2A-1C1. Convert MAC address to EUI-64 format1. Convert MAC address to EUI-64 format
00-AA-00-00-AA-00-FF-FEFF-FE-3F-2A-1C-3F-2A-1C
2. Complement the U/L bit (seventh bit of first byte)2. Complement the U/L bit (seventh bit of first byte)The first byte in binary form is 00000000. When the seventh bit is The first byte in binary form is 00000000. When the seventh bit is complemented, it becomes 00000010 (0x02). complemented, it becomes 00000010 (0x02).
02-AA-00-FF-FE-3F-2A-1C02-AA-00-FF-FE-3F-2A-1C
3. Convert to colon hexadecimal notation3. Convert to colon hexadecimal notation::2AA:FF:FE3F:2A1C::2AA:FF:FE3F:2A1C
The link-local address for a node with the MAC address of The link-local address for a node with the MAC address of 00-AA-00-3F-2A-1C is FE80::2AA:FF:FE3F:2A1C00-AA-00-3F-2A-1C is FE80::2AA:FF:FE3F:2A1C
41
How to read an IPv6 unicast How to read an IPv6 unicast addressaddress
128-bit address is eight 16-bit blocks.128-bit address is eight 16-bit blocks.
42
How to read an IPv6 unicast How to read an IPv6 unicast address address (2)(2)
128-bit address is eight 16-bit blocks.128-bit address is eight 16-bit blocks.The first four blocks identify the network The first four blocks identify the network segment (subnet).segment (subnet).
The first block identifies the type of unicast The first block identifies the type of unicast address.address.
Starts with FE80: link-local addressStarts with FE80: link-local address
Starts with FEC-FEF: site-local addressStarts with FEC-FEF: site-local address
Starts with 2 or 3: global addressStarts with 2 or 3: global address
Starts with FD: unique local addressStarts with FD: unique local address
43
How to read an IPv6 unicast How to read an IPv6 unicast address address (3)(3)
128-bit address is eight 16-bit blocks.128-bit address is eight 16-bit blocks.The first four blocks identify the network The first four blocks identify the network segment (subnet).segment (subnet).
The first block identifies the type of unicast The first block identifies the type of unicast address.address.
Starts with FE80: link-local addressStarts with FE80: link-local address
Starts with FEC-FEF: site-local addressStarts with FEC-FEF: site-local address
Starts with 2 or 3: global addressStarts with 2 or 3: global address
Starts with FD: unique local addressStarts with FD: unique local address
The last four blocks identify the interface on The last four blocks identify the interface on the network segment.the network segment.
44
How to read an IPv6 unicast How to read an IPv6 unicast address address (4)(4)
Example 1: 2001:DB8:0:2F3B:2AA:FF:FE28:9C5AExample 1: 2001:DB8:0:2F3B:2AA:FF:FE28:9C5A2001:DB8:0:2F3B::/64 identifies the network segment2001:DB8:0:2F3B::/64 identifies the network segment
::2AA:FF:FE28:9C5A identifies the interface::2AA:FF:FE28:9C5A identifies the interface
45
How to read an IPv6 unicast How to read an IPv6 unicast address address (5)(5)
Example 1: 2001:DB8:0:2F3B:2AA:FF:FE28:9C5AExample 1: 2001:DB8:0:2F3B:2AA:FF:FE28:9C5A2001:DB8:0:2F3B::/64 identifies the network segment2001:DB8:0:2F3B::/64 identifies the network segment
::2AA:FF:FE28:9C5A identifies the interface::2AA:FF:FE28:9C5A identifies the interface
Example 2: FEC0::12:2AA:FF:FE9A:21ACExample 2: FEC0::12:2AA:FF:FE9A:21ACFEC0:0:0:12::/64 identifies the network segmentFEC0:0:0:12::/64 identifies the network segment
::2AA:FF:FE9A:21AC identifies the interface::2AA:FF:FE9A:21AC identifies the interface
46
Multicast IPv6 addressesMulticast IPv6 addresses
FlagsFlags
ScopeScope
Defined multicast addressesDefined multicast addressesFF02::1 (Link-local scope all-nodes address)FF02::1 (Link-local scope all-nodes address)
FF02::2 (Link-local scope all-routers address)FF02::2 (Link-local scope all-routers address)
1111 1111 Group ID
8 bits 32 bits
Flags
4 bits
Scope
4 bits 80 bits
000 … 000
47
Solicited-node addressSolicited-node address
Used for address resolutionUsed for address resolution
ExampleExampleFor FE80::2AA:FF:FEFor FE80::2AA:FF:FE28:9C5A28:9C5A, the corresponding , the corresponding solicited-node address is FF02::1:FFsolicited-node address is FF02::1:FF28:9C5A28:9C5A
Interface ID
64 bits
Unicast prefix
64 bits
FF02:
24 bits
:1:FF0:0:0:0
48
Mapping IPv6 multicast addresses to Mapping IPv6 multicast addresses to Ethernet addressesEthernet addresses
1111 1111 Group ID
8 bits 32 bits
Flags
4 bits
Scope
4 bits 80 bits
000 … 000
33-33-Ethernet MAC address:Ethernet MAC address:
ExamplesExamplesFor FF02::1, the corresponding Ethernet MAC address is 33-33-For FF02::1, the corresponding Ethernet MAC address is 33-33-00-00-00-0100-00-00-01
For solicited-node address FF02::1:For solicited-node address FF02::1:FF28:9C5AFF28:9C5A, the corresponding , the corresponding Ethernet MAC address is 33-33-Ethernet MAC address is 33-33-FF-28-9C-5AFF-28-9C-5A
49
DNS supportDNS support
Name to address recordsName to address recordsAAAA record type, equivalent to IPv4 A recordAAAA record type, equivalent to IPv4 A record
Example recordExample recordhost1.microsoft.com IN AAAA FEC0::1:2AA:FF:FE3F:2A1Chost1.microsoft.com IN AAAA FEC0::1:2AA:FF:FE3F:2A1C
50
DNS support DNS support (2)(2)
Name to address recordsName to address recordsAAAA record type, equivalent to IPv4 A recordAAAA record type, equivalent to IPv4 A record
Example recordExample recordhost1.microsoft.com IN AAAA FEC0::1:2AA:FF:FE3F:2A1Chost1.microsoft.com IN AAAA FEC0::1:2AA:FF:FE3F:2A1C
Address to name recordsAddress to name recordsNew reverse domain called IP6.ARPANew reverse domain called IP6.ARPA
Example recordExample recordFEC0::1:2AA:FF:FE3F:2A1C is FEC0::1:2AA:FF:FE3F:2A1C is FEC0:0000:0000:0001:02AA:00FF:FE3F:2A1CFEC0:0000:0000:0001:02AA:00FF:FE3F:2A1C
C.1.A.2.F.3.E.F.F.F.0.0.A.A.2.0.1.0.0.0.0.0.0.0.0.0.0.0.0.C.E.F. C.1.A.2.F.3.E.F.F.F.0.0.A.A.2.0.1.0.0.0.0.0.0.0.0.0.0.0.0.C.E.F. IP6.ARPA. IN PTR host1.microsoft.comIP6.ARPA. IN PTR host1.microsoft.com
51
DNS support DNS support (3)(3)
Name to address recordsName to address recordsAAAA record type, equivalent to IPv4 A recordAAAA record type, equivalent to IPv4 A record
Example recordExample recordhost1.microsoft.com IN AAAA FEC0::1:2AA:FF:FE3F:2A1Chost1.microsoft.com IN AAAA FEC0::1:2AA:FF:FE3F:2A1C
Address to name recordsAddress to name recordsNew reverse domain called IP6.ARPANew reverse domain called IP6.ARPA
Example recordExample recordFEC0::1:2AA:FF:FE3F:2A1C is FEC0::1:2AA:FF:FE3F:2A1C is FEC0:0000:0000:0001:02AA:00FF:FE3F:2A1CFEC0:0000:0000:0001:02AA:00FF:FE3F:2A1C
C.1.A.2.F.3.E.F.F.F.0.0.A.A.2.0.1.0.0.0.0.0.0.0.0.0.0.0.0.C.E.F. C.1.A.2.F.3.E.F.F.F.0.0.A.A.2.0.1.0.0.0.0.0.0.0.0.0.0.0.0.C.E.F. IP6.ARPA. IN PTR host1.microsoft.comIP6.ARPA. IN PTR host1.microsoft.com
DNS dynamic updateDNS dynamic updateHost registers global, site-local, and unique local Host registers global, site-local, and unique local addressesaddresses
52
Source and destination address Source and destination address selectionselection
A typical IPv6 host has multiple IPv6 addresses A typical IPv6 host has multiple IPv6 addresses assigned to multiple interfaces.assigned to multiple interfaces.
When multiple IPv6 addresses are returned When multiple IPv6 addresses are returned during DNS name resolution, IPv6 uses the during DNS name resolution, IPv6 uses the following algorithms.following algorithms.
A source address selection algorithm to select the A source address selection algorithm to select the best source address to use with a destination best source address to use with a destination addressaddress
A destination address selection algorithm to sort the A destination address selection algorithm to sort the list of possible destination addresses in order of list of possible destination addresses in order of preferencepreference
53
IPv4 addresses and IPv6 equivalentsIPv4 addresses and IPv6 equivalentsIPv4 Address IPv6 AddressInternet address classes Not applicable
Multicast addresses (224.0.0.0/4) IPv6 multicast addresses (FF00::/8)
Broadcast addresses Not applicable
Unspecified address is 0.0.0.0 Unspecified address is ::
Loopback address is 127.0.0.1 Loopback address is ::1
Public IP addresses Global addresses
Private IP addresses Site-local addresses (FEC0::/10)
APIPA addresses (169.254.0.0/16) Link-local addresses (FE80::/64)
Syntax: Dotted decimal notation Colon hexadecimal notation
Masks: Dotted decimal or prefix length Prefix length notation only
DNS forward: A resource record AAAA resource records
DNS reverse: IN-ADDR.ARPA domain IP6.ARPA domain
54
IPv6 headerIPv6 header
Structure of an IPv6 packetStructure of an IPv6 packet
IPv6 headerIPv6 header
IPv6 extension headersIPv6 extension headers
55
Structure of an IPv6 packetStructure of an IPv6 packet
IPv6Header
Upper LayerProtocol Data Unit
Payload
IPv6 Packet
ExtensionHeaders
56
IPv4 headerIPv4 headerVersion
Internet Header LengthType of Service
Total LengthIdentification
FlagsFragment Offset
Time to LiveProtocol
Header ChecksumSource Address
Destination AddressOptions . . .
57
IPv6 headerIPv6 headerVersion
Traffic Class
Flow Label
Payload Length
Next Header
Hop Limit
Source Address
Destination Address
58
Comparing the IPv4 and IPv6 headersComparing the IPv4 and IPv6 headers
IPv4 Header FieldIPv4 Header Field Change in IPv6Change in IPv6VersionVersion New value of 6New value of 6
Internet Header LengthInternet Header Length RemovedRemoved
Type of ServiceType of Service Traffic Class fieldTraffic Class field
Total LengthTotal Length Payload Length fieldPayload Length field
IdentificationIdentification Removed to Fragment extension headerRemoved to Fragment extension header
Fragmentation FlagsFragmentation Flags Removed to Fragment extension headerRemoved to Fragment extension header
Fragment OffsetFragment Offset Removed to Fragment extension headerRemoved to Fragment extension header
Time to LiveTime to Live Hop Limit fieldHop Limit field
ProtocolProtocol Next Header fieldNext Header field
Header ChecksumHeader Checksum RemovedRemoved
Source AddressSource Address Same, new 128-bit lengthSame, new 128-bit length
Destination AddressDestination Address Same, new 128-bit lengthSame, new 128-bit length
OptionsOptions Removed to extension headersRemoved to extension headers
60
IPv6 extension headers IPv6 extension headers (2)(2)
IPv6 HeaderNext Header = 6 (TCP)
TCP Segment
IPv6 HeaderNext Header = 43 (Routing)
TCP SegmentRouting HeaderNext Header = 6 (TCP)
61
IPv6 extension headers IPv6 extension headers (3)(3)
IPv6 HeaderNext Header = 6 (TCP)
TCP Segment
IPv6 HeaderNext Header = 43 (Routing)
TCP SegmentRouting HeaderNext Header = 6 (TCP)
Authentication HeaderNext Header = 6 (TCP)
IPv6 HeaderNext Header = 43 (Routing)
Routing HeaderNext Header = 51 (AH)
TCP Segment
62
Extension headers orderExtension headers order
1.1. Hop-by-Hop Options headerHop-by-Hop Options header
2.2. Destination Options header (for intermediate Destination Options header (for intermediate destinations when the Routing header is present)destinations when the Routing header is present)
3.3. Routing headerRouting header
4.4. Fragment headerFragment header
5.5. Authentication header (AH)Authentication header (AH)
6.6. Encapsulating Security Payload (ESP) headerEncapsulating Security Payload (ESP) header
7.7. Destination Options header (for the final Destination Options header (for the final destination)destination)
63
Extension headers order Extension headers order (2)(2)
1.1. Hop-by-Hop Options headerHop-by-Hop Options header
2.2. Destination Options header (for intermediate Destination Options header (for intermediate destinations when the Routing header is present)destinations when the Routing header is present)
3.3. Routing headerRouting header
4.4. Fragment headerFragment header
5.5. Authentication header (AH)Authentication header (AH)
6.6. Encapsulating Security Payload (ESP) headerEncapsulating Security Payload (ESP) header
7.7. Destination Options header (for the final Destination Options header (for the final destination)destination)
Intermediate destinations
Final destination
64
ICMPv6 and MLDICMPv6 and MLD
Internet Control Message Protocol for IPv6 Internet Control Message Protocol for IPv6 (ICMPv6) overview(ICMPv6) overview
ICMPv6 messagesICMPv6 messages
Path Maximum Transfer Unit (MTU) Path Maximum Transfer Unit (MTU) discoverydiscovery
Multicast Listener Discovery (MLD) Multicast Listener Discovery (MLD) overviewoverview
MLD messagesMLD messages
65
Overview of ICMPv6Overview of ICMPv6
Updated version of the Internet Control Message Protocol (ICMP) Updated version of the Internet Control Message Protocol (ICMP) for IPv6for IPv6
Reports delivery or forwarding errorsReports delivery or forwarding errors
Provides simple echo service for troubleshootingProvides simple echo service for troubleshooting
Provides a message format forProvides a message format forMulticast Listener Discovery (MLD) Multicast Listener Discovery (MLD)
Neighbor Discovery (ND)Neighbor Discovery (ND)
66
Types of ICMPv6 messagesTypes of ICMPv6 messages
Error messages Error messages Report errors in the forwarding or delivery of IPv6 packets by Report errors in the forwarding or delivery of IPv6 packets by either the destination node or an intermediate routereither the destination node or an intermediate router
Informational messages Informational messages Provide diagnostic functions and additional host functionalityProvide diagnostic functions and additional host functionality
67
ICMPv6 error messagesICMPv6 error messages
Destination UnreachableDestination UnreachableNo matching routeNo matching route
Communication prohibited by policyCommunication prohibited by policy
Destination address is beyond the scope of the source addressDestination address is beyond the scope of the source address
The destination address is unreachableThe destination address is unreachable
The destination port was unreachableThe destination port was unreachable
Packet Too BigPacket Too Big
Time ExceededTime Exceeded
Parameter ProblemParameter Problem
68
ICMPv6 informational messagesICMPv6 informational messages
Echo RequestEcho Request
Echo ReplyEcho Reply
Additional messages are used for MLD and Additional messages are used for MLD and NDND
69
Comparing ICMPv4 and ICMPv6 Comparing ICMPv4 and ICMPv6 messagesmessagesCommon ICMPv4 Message
Destination Unreachable- Network unreachable
Destination Unreachable-Protocol unreachable
Destination Unreachable-Port unreachable
Destination Unreachable-Fragmentation needed and DF set
Time Exceeded-TTL expired
Parameter Problem
Redirect
ICMPv6 Equivalent
Destination Unreachable-No route to destination
Parameter Problem-Unrecognized Next Header field
Destination Unreachable-Port unreachable
Packet Too Big
Time Exceeded-Hop Limit exceeded
Parameter Problem
Neighbor Discovery Redirect message
70
Path MTU discoveryPath MTU discovery
1.1. The sending node assumes that the path MTU isThe sending node assumes that the path MTU is the link MTU of the interface on the link MTU of the interface on which the traffic is being forwarded.which the traffic is being forwarded.
2.2. The sending node sends IPv6 packets at the link MTU size. The sending node sends IPv6 packets at the link MTU size.
3.3. A router that is unable to forward the packet sends an ICMPv6 Packet Too Big A router that is unable to forward the packet sends an ICMPv6 Packet Too Big message back to the sending node. This message contains the link MTU of the link message back to the sending node. This message contains the link MTU of the link on which the forwarding failed.on which the forwarding failed.
4.4. The sending node resets the path MTU to the value of the MTU field in the ICMPv6 The sending node resets the path MTU to the value of the MTU field in the ICMPv6 Packet Too Big message.Packet Too Big message.
71
Multicast Listener Discovery Multicast Listener Discovery (MLD) overview(MLD) overview
IPv6 equivalent of Internet Group Management IPv6 equivalent of Internet Group Management Protocol version 2 (IGMPv2) for IPv4Protocol version 2 (IGMPv2) for IPv4
Enables routers to discover the set of multicast Enables routers to discover the set of multicast addresses for which there are listening nodes for addresses for which there are listening nodes for each attached interfaceeach attached interface
72
MLD messagesMLD messages
Multicast Listener QueryMulticast Listener QueryMulticast router queries network to determine membership in a host groupMulticast router queries network to determine membership in a host group
Multicast Listener ReportMulticast Listener ReportHost declares membership in a host group Host declares membership in a host group
Multicast Listener DoneMulticast Listener DoneHost declares that there might not be any more members of a host group on a Host declares that there might not be any more members of a host group on a subnetsubnet
73
Neighbor DiscoveryNeighbor Discovery
OverviewOverview
Neighbor Discovery (ND) messagesNeighbor Discovery (ND) messages
Neighbor Discovery optionsNeighbor Discovery options
Neighbor Discovery processesNeighbor Discovery processesAddress resolutionAddress resolution
Router discoveryRouter discovery
Neighbor unreachability detectionNeighbor unreachability detection
RedirectRedirect
Host sending algorithmHost sending algorithm
74
Neighbor Discovery overviewNeighbor Discovery overview
Set of messages and processes that determine Set of messages and processes that determine relationships between neighboring nodesrelationships between neighboring nodes
Replaces ARP, ICMPv4 Router Discovery, and ICMPv4 RedirectReplaces ARP, ICMPv4 Router Discovery, and ICMPv4 Redirect
75
Neighbor Discovery overview Neighbor Discovery overview (2)(2)
Set of messages and processes that determine Set of messages and processes that determine relationships between neighboring nodesrelationships between neighboring nodes
Replaces ARP, ICMPv4 Router Discovery, and ICMPv4 RedirectReplaces ARP, ICMPv4 Router Discovery, and ICMPv4 Redirect
Used by hostsUsed by hostsDiscover neighboring routersDiscover neighboring routers
Perform stateless address autoconfigurationPerform stateless address autoconfiguration
76
Neighbor Discovery overview Neighbor Discovery overview (3)(3)
Set of messages and processes that determine Set of messages and processes that determine relationships between neighboring nodesrelationships between neighboring nodes
Replaces ARP, ICMPv4 Router Discovery, and ICMPv4 RedirectReplaces ARP, ICMPv4 Router Discovery, and ICMPv4 Redirect
Used by hostsUsed by hostsDiscover neighboring routersDiscover neighboring routers
Perform stateless address autoconfigurationPerform stateless address autoconfiguration
Used by routersUsed by routersAdvertise their presence, host configuration parameters, and on-Advertise their presence, host configuration parameters, and on-link prefixeslink prefixes
Inform hosts of a better next-hop addressInform hosts of a better next-hop address
77
Neighbor Discovery overview Neighbor Discovery overview (4)(4)
Set of messages and processes that determine Set of messages and processes that determine relationships between neighboring nodesrelationships between neighboring nodes
Replaces ARP, ICMPv4 Router Discovery, and ICMPv4 RedirectReplaces ARP, ICMPv4 Router Discovery, and ICMPv4 Redirect
Used by hostsUsed by hostsDiscover neighboring routersDiscover neighboring routers
Perform stateless address autoconfigurationPerform stateless address autoconfiguration
Used by routersUsed by routersAdvertise their presence, host configuration parameters, and on-Advertise their presence, host configuration parameters, and on-link prefixeslink prefixes
Inform hosts of a better next-hop addressInform hosts of a better next-hop address
Used by nodesUsed by nodesFor address resolutionFor address resolution
Determine neighbor reachabilityDetermine neighbor reachability
78
Neighbor Discovery message formatNeighbor Discovery message format
ICMPv6 message structure and ICMPv6 types ICMPv6 message structure and ICMPv6 types 133 through 137133 through 137
To guarantee local link traffic, all ND messages To guarantee local link traffic, all ND messages are sent with a hop limit of 255are sent with a hop limit of 255
IPv6 HeaderNext Header = 58 (ICMPv6)
Neighbor Discovery Message Options
Neighbor Discovery MessageHeader
Neighbor Discovery Message
79
Neighbor Discovery messagesNeighbor Discovery messages
Router SolicitationRouter Solicitation
Router AdvertisementRouter Advertisement
Neighbor SolicitationNeighbor Solicitation
Neighbor AdvertisementNeighbor Advertisement
RedirectRedirect
80
Neighbor Discovery optionsNeighbor Discovery options
Source Link-Layer AddressSource Link-Layer Address
Target Link-Layer AddressTarget Link-Layer Address
Prefix InformationPrefix Information
MTUMTU
Route InformationRoute Information
Redirected HeaderRedirected Header
81
Host data structuresHost data structures
Neighbor cacheNeighbor cacheStores the on-link IP address of a neighbor, its corresponding link-layer Stores the on-link IP address of a neighbor, its corresponding link-layer address, and the neighbor’s reachability stateaddress, and the neighbor’s reachability state
Equivalent to the ARP cache in IPv4Equivalent to the ARP cache in IPv4
Destination cacheDestination cacheStores information about forwarding or next-hop IPv6 addresses for Stores information about forwarding or next-hop IPv6 addresses for destinations to which traffic has recently been sentdestinations to which traffic has recently been sent
82
Host data structures Host data structures (2)(2)
Prefix listPrefix listLists on-link prefixesLists on-link prefixes
Default router listDefault router listLists IP addresses corresponding to on-link routers that send Lists IP addresses corresponding to on-link routers that send Router Advertisement messages and are eligible to be default Router Advertisement messages and are eligible to be default routersrouters
83
Neighbor Discovery processesNeighbor Discovery processes
ND provides message exchanges for the following ND provides message exchanges for the following processes.processes.
Address resolution (including duplicate address detection)Address resolution (including duplicate address detection)
Router discovery (including prefix and parameter discovery)Router discovery (including prefix and parameter discovery)
Neighbor unreachability detectionNeighbor unreachability detection
Redirect functionRedirect function
84
Address resolutionAddress resolution
Resolves the link-layer address of the on-Resolves the link-layer address of the on-link next-hop addresslink next-hop address
Exchange of messagesExchange of messagesMulticast Neighbor Solicitation messageMulticast Neighbor Solicitation message
Unicast Neighbor Advertisement messageUnicast Neighbor Advertisement message
Both nodes update their neighbor cachesBoth nodes update their neighbor cachesLink-layer unicast traffic can now be sentLink-layer unicast traffic can now be sent
85
Address resolution exampleAddress resolution examplePart 1Part 1
Host B
Host A
MAC: 00-AA-00-11-11-11IP: FE80::2AA:FF:FE11:1111
MAC: 00-AA-00-22-22-22IP: FE80::2AA:FF:FE22:2222
86
Address resolution example Address resolution example (2)(2)Part 1Part 1
Host B
Host A
Send multicast Neighbor Solicitation
Neighbor Solicitation
MAC: 00-AA-00-11-11-11IP: FE80::2AA:FF:FE11:1111
MAC: 00-AA-00-22-22-22IP: FE80::2AA:FF:FE22:2222
87
Address resolution example Address resolution example (3)(3)Part 1Part 1
Host B
Host A
Send multicast Neighbor Solicitation
Neighbor Solicitation
Ethernet Header• Dest MAC is 33-33-FF-22-22-22IPv6 Header• Source Address is FE80::2AA:FF:FE11:1111• Destination Address is FF02::1:FF22:2222• Hop limit is 255Neighbor Solicitation Header• Target Address is FE80::2AA:FF:FE22:2222Neighbor Discovery Option• Source Link-Layer Address MAC: 00-AA-00-11-11-11
IP: FE80::2AA:FF:FE11:1111
MAC: 00-AA-00-22-22-22IP: FE80::2AA:FF:FE22:2222
88
Host B
Host A
Send multicast Neighbor Solicitation
Neighbor Solicitation
Ethernet Header• Dest MAC is 33-33-FF-22-22-22IPv6 Header• Source Address is FE80::2AA:FF:FE11:1111• Destination Address is FF02::1:FF22:2222• Hop limit is 255Neighbor Solicitation Header• Target Address is FE80::2AA:FF:FE22:2222Neighbor Discovery Option• Source Link-Layer Address MAC: 00-AA-00-11-11-11
IP: FE80::2AA:FF:FE11:1111
MAC: 00-AA-00-22-22-22IP: FE80::2AA:FF:FE22:2222
Mapping the Target Address to the solicited-node multicast address
Address resolution example Address resolution example (4)(4)Part 1Part 1
89
Host B
Host A
Send multicast Neighbor Solicitation
Neighbor Solicitation
Ethernet Header• Dest MAC is 33-33-FF-22-22-22IPv6 Header• Source Address is FE80::2AA:FF:FE11:1111• Destination Address is FF02::1:FF22:2222• Hop limit is 255Neighbor Solicitation Header• Target Address is FE80::2AA:FF:FE22:2222Neighbor Discovery Option• Source Link-Layer Address MAC: 00-AA-00-11-11-11
IP: FE80::2AA:FF:FE11:1111
MAC: 00-AA-00-22-22-22IP: FE80::2AA:FF:FE22:2222
Mapping the IPv6 multicast address to the Ethernet multicast MAC address
Address resolution example Address resolution example (5)(5)Part 1Part 1
90
Host B
Host A
‚ Send unicast Neighbor Advertisement
Neighbor Advertisement
MAC: 00-AA-00-11-11-11IP: FE80::2AA:FF:FE11:1111
MAC: 00-AA-00-22-22-22IP: FE80::2AA:FF:FE22:2222
Address resolution example Address resolution example (6)(6)Part 2Part 2
91
Host B
Host A
‚ Send unicast Neighbor Advertisement
Neighbor Advertisement
Ethernet Header• Dest MAC is 00-AA-00-11-11-11IPv6 Header• Source Address is FE80::2AA:FF:FE22:2222• Destination Address is FE80::2AA:FF:FE11:1111• Hop limit is 255Neighbor Advertisement Header• Target Address is FE80::2AA:FF:FE22:2222Neighbor Discovery Option• Target Link-Layer Address MAC: 00-AA-00-11-11-11
IP: FE80::2AA:FF:FE11:1111
MAC: 00-AA-00-22-22-22IP: FE80::2AA:FF:FE22:2222
Address resolution example Address resolution example (7)(7)Part 2Part 2
92
Duplicate address detectionDuplicate address detection
Duplicate address detection uses a Neighbor Duplicate address detection uses a Neighbor Solicitation message to detect a duplicate Solicitation message to detect a duplicate unicast address.unicast address.
The Target Address field in the Neighbor Solicitation The Target Address field in the Neighbor Solicitation message is set to the IPv6 address for which message is set to the IPv6 address for which duplication is being detected.duplication is being detected.
The Source Address is set to the unspecified The Source Address is set to the unspecified address (::).address (::).
For a duplicate address, the defending node For a duplicate address, the defending node replies with a multicast Neighbor replies with a multicast Neighbor Advertisement.Advertisement.
The Destination Address is set to the link-local The Destination Address is set to the link-local scope all-nodes multicast address (FF02::1).scope all-nodes multicast address (FF02::1).
93
Router discoveryRouter discovery
Hosts use router discovery to determine the Hosts use router discovery to determine the following itemsfollowing items
The set of routers on the local linkThe set of routers on the local link
Default value of Hop Limit fieldDefault value of Hop Limit field
Use of stateful address protocolUse of stateful address protocol
Reachability and retransmission timersReachability and retransmission timers
Subnet prefixes for the linkSubnet prefixes for the link
MTU of the local linkMTU of the local link
Specific routesSpecific routes
94
Router discovery exampleRouter discovery examplePart 1Part 1
Router 1
Host A
MAC: 00-AA-00-11-11-11IP: FE80::2AA:FF:FE11:1111
MAC: 00-AA-00-22-22-22IP: FE80::2AA:FF:FE22:2222
95
Router discovery example Router discovery example (2)(2)Part 1Part 1
Router 1
Host A
Send multicast Router Solicitation
Router Solicitation
MAC: 00-AA-00-11-11-11IP: FE80::2AA:FF:FE11:1111
MAC: 00-AA-00-22-22-22IP: FE80::2AA:FF:FE22:2222
96
Router discovery example Router discovery example (3)(3)Part 1Part 1
Router 1
Host A
Send multicast Router Solicitation
Router Solicitation
Ethernet Header• Dest MAC is 33-33-00-00-00-02IPv6 Header• Source Address is FE80::2AA:FF:FE11:1111• Destination Address is FF02::2• Hop limit is 255Neighbor Discovery Option• Source Link-Layer Address MAC: 00-AA-00-11-11-11
IP: FE80::2AA:FF:FE11:1111
MAC: 00-AA-00-22-22-22IP: FE80::2AA:FF:FE22:2222
97
Host A
‚ Send unicast Router Advertisement
Router Advertisement
MAC: 00-AA-00-11-11-11IP: FE80::2AA:FF:FE11:1111
MAC: 00-AA-00-22-22-22IP: FE80::2AA:FF:FE22:2222
Router 1
Router discovery example Router discovery example (4)(4)Part 2Part 2
98
Host A
‚ Send unicast Router Advertisement
Router Advertisement
Ethernet Header• Dest MAC is 00-AA-00-11-11-11IPv6 Header• Source Address is FE80::2AA:FF:FE22:2222• Destination Address is FE80::2AA:FF:FE11:1111• Hop limit is 255Router Advertisement Header• Cur Hop Limit, Flags, Router/Reachable/RetransNeighbor Discovery Options• Source Link-Layer Address• MTU• Prefix Information MAC: 00-AA-00-11-11-11
IP: FE80::2AA:FF:FE11:1111
MAC: 00-AA-00-22-22-22IP: FE80::2AA:FF:FE22:2222
Router 1
Router discovery example Router discovery example (5)(5)Part 2Part 2
99
Neighbor unreachability detectionNeighbor unreachability detection
Reachability is the ability to send an IPv6 packet to a neighboring node Reachability is the ability to send an IPv6 packet to a neighboring node and have that packet be successfully received and processed.and have that packet be successfully received and processed.
Reachability is determined by the following items.Reachability is determined by the following items.Upper layer protocolsUpper layer protocols
Receipt of a Neighbor Advertisement message in response to a unicast Receipt of a Neighbor Advertisement message in response to a unicast Neighbor Solicitation messageNeighbor Solicitation message
Neighbor unreachability detection detects symmetric reachability.Neighbor unreachability detection detects symmetric reachability.
100
Redirect functionRedirect function
Redirect informs originating hosts of a better first-hop neighbor to which traffic should be Redirect informs originating hosts of a better first-hop neighbor to which traffic should be forwarded for a specific destinationforwarded for a specific destination
Two instancesTwo instancesA router informs an originating host of the IP address of a router available on the local link that is “closer” to the A router informs an originating host of the IP address of a router available on the local link that is “closer” to the destination.destination.
A router informs an originating host that the destination is a neighbor—that is, that the destination is on the same A router informs an originating host that the destination is a neighbor—that is, that the destination is on the same link as the originating host.link as the originating host.
A redirect message contains the best first-hop link-layer address informationA redirect message contains the best first-hop link-layer address information
Redirect messages are only sent by the first router in the path between the originating host and Redirect messages are only sent by the first router in the path between the originating host and the destinationthe destination
101
Redirect exampleRedirect examplePart 1Part 1
Host A
Ethernet Header• Dest MAC is 00-AA-00-22-22-22IPv6 Header• Source Address is FEC0::1:2AA:FF:FE11:1111• Destination Address is FEC0::2:2AA:FF:FE99:9999
MAC: 00-AA-00-22-22-22IP: FEC0::1:2AA:FF:FE22:2222
FE80::2AA:FF:FE22:2222
Router 2 Router 3
Unicast Packet Send unicast packet
MAC: 00-AA-00-33-33-33IP: FEC0::1:2AA:FF:FE33:3333 FE80::2AA:FF:FE33:3333
MAC: 00-AA-00-11-11-11IP: FEC0::1:2AA:FF:FE11:1111
FE80::2AA:FF:FE11:1111
102
Redirect example Redirect example (2)(2)Part 2Part 2
Host A
Ethernet Header• Dest MAC is 00-AA-00-33-33-33IPv6 Header• Source Address is FEC0::1:2AA:FF:FE11:1111• Destination Address is FEC0::2:2AA:FF:FE99:9999
MAC: 00-AA-00-11-11-11IP: FEC0::1:2AA:FF:FE11:1111
FE80::2AA:FF:FE11:1111
MAC: 00-AA-00-22-22-22IP: FEC0::1:2AA:FF:FE22:2222
FE80::2AA:FF:FE22:2222
Router 2 Router 3
MAC: 00-AA-00-33-33-33IP: FEC0::1:2AA:FF:FE33:3333 FE80::2AA:FF:FE33:3333
Unicast Packet
‚ Forward unicast packet
103
Redirect example Redirect example (3)(3)Part 3Part 3
Host A
ƒ Send unicast Redirect
Redirect
Ethernet Header• Dest MAC is 00-AA-00-11-11-11IPv6 Header• Source Address is FE80::2AA:FF:FE22:2222• Destination Address is FEC0::1:2AA:FF:FE11:1111• Hop limit is 255Redirect Header• Target Address is FE80::2AA:FF:FE33:3333• Destination Address is FEC0::2:2AA:FF:FE99:9999Neighbor Discovery Options• Target Link-Layer Address• Redirected Header
Router 2 Router 3
MAC: 00-AA-00-33-33-33IP: FEC0::1:2AA:FF:FE33:3333 FE80::2AA:FF:FE33:3333
MAC: 00-AA-00-11-11-11IP: FEC0::1:2AA:FF:FE11:1111
FE80::2AA:FF:FE11:1111
MAC: 00-AA-00-22-22-22IP: FEC0::1:2AA:FF:FE22:2222
FE80::2AA:FF:FE22:2222
104
Host sending algorithmHost sending algorithm
Determine the next-hop address for the destination.Determine the next-hop address for the destination.Check the destination cache.Check the destination cache.
If the destination address matches a prefix in the prefix list, the next-hop address is the destination address.If the destination address matches a prefix in the prefix list, the next-hop address is the destination address.
If the destination address does not match a prefix in the prefix list, the next-hop address is the default router If the destination address does not match a prefix in the prefix list, the next-hop address is the default router address.address.
Determine the link-layer address for the next-hop address.Determine the link-layer address for the next-hop address.Check the neighbor cache.Check the neighbor cache.
Use address resolution to obtain the link-layer address for the next-hop address.Use address resolution to obtain the link-layer address for the next-hop address.
Send the packet using the link-layer address of the next-hop address.Send the packet using the link-layer address of the next-hop address.
105
IPv4 neighbor functions and IPv6 IPv4 neighbor functions and IPv6 equivalentsequivalents
IPv4 Neighbor FunctionIPv4 Neighbor Function IPv6 Neighbor FunctionIPv6 Neighbor Function
ARP Request messageARP Request message Neighbor Solicitation messageNeighbor Solicitation message
ARP Reply messageARP Reply message Neighbor Advertisement messageNeighbor Advertisement message
ARP cacheARP cache Neighbor cacheNeighbor cache
Gratuitous ARPGratuitous ARP Duplicate Address DetectionDuplicate Address Detection
Router Solicitation message (optional)Router Solicitation message (optional) Router Solicitation message (required)Router Solicitation message (required)
Router Advertisement message (optional)Router Advertisement message (optional) Router Advertisement message Router Advertisement message (required)(required)
Redirect messageRedirect message Redirect messageRedirect message
106
Address autoconfigurationAddress autoconfiguration
OverviewOverview
Autoconfigured address statesAutoconfigured address states
Types of address autoconfigurationTypes of address autoconfiguration
Address autoconfiguration processAddress autoconfiguration process
107
Address autoconfiguration Address autoconfiguration overviewoverview
IPv6 interfaces can automatically configure themselves.IPv6 interfaces can automatically configure themselves.Even without a stateful configuration protocol such as Dynamic Host Configuration Even without a stateful configuration protocol such as Dynamic Host Configuration Protocol for IPv6 (DHCPv6)Protocol for IPv6 (DHCPv6)
By default, link-local address for each interfaceBy default, link-local address for each interface
By using router discovery, a host can determineBy using router discovery, a host can determineAdditional addressesAdditional addresses
Router addressesRouter addresses
Other configuration parametersOther configuration parameters
108
Autoconfigured address statesAutoconfigured address statesTentativeTentative
The address is being verified as uniqueThe address is being verified as unique
ValidValidAn address from which unicast traffic can be sent and receivedAn address from which unicast traffic can be sent and received
Preferred statePreferred stateAn address for which uniqueness has been verified, unrestricted useAn address for which uniqueness has been verified, unrestricted use
Deprecated stateDeprecated stateAn address that is still valid, but is discouraged for new communicationAn address that is still valid, but is discouraged for new communication
InvalidInvalidAn address for which a node can no longer send or receive unicast trafficAn address for which a node can no longer send or receive unicast traffic
109
Autoconfigured address states Autoconfigured address states (2)(2)
Tentative Preferred Deprecated Invalid
Preferred Lifetime
Valid
Valid Lifetime
time
110
Types of autoconfigurationTypes of autoconfiguration
1.1. StatelessStatelessReceipt of Router Advertisement messages that have one or more Prefix Information optionsReceipt of Router Advertisement messages that have one or more Prefix Information options
2.2. StatefulStatefulUse of a stateful address configuration protocol such as DHCPv6Use of a stateful address configuration protocol such as DHCPv6
3.3. BothBothReceipt of Router Advertisement messages and stateful configuration protocolReceipt of Router Advertisement messages and stateful configuration protocol
For all types, a link-local address is always configuredFor all types, a link-local address is always configured
111
Address autoconfiguration Address autoconfiguration processprocess
Configure link-local address.Configure link-local address.Perform duplicate address detectionPerform duplicate address detection
Perform router discovery.Perform router discovery.
Use Router Advertisement message contents to Use Router Advertisement message contents to determine the following items.determine the following items.
Configuration parametersConfiguration parameters
Stateless addresses and on-link prefixesStateless addresses and on-link prefixesFor stateless addresses, perform duplicate address detectionFor stateless addresses, perform duplicate address detection
Whether to use stateful address configurationWhether to use stateful address configuration
Specific routesSpecific routes
112
IPv6 resourcesIPv6 resources
IPv6 Web siteIPv6 Web sitehttp://www.microsoft.com/ipv6http://www.microsoft.com/ipv6
““Introduction to Internet Protocol version 6” Introduction to Internet Protocol version 6” white paperwhite paper
http://www.microsoft.com/technet/ itsolutions/nehttp://www.microsoft.com/technet/ itsolutions/network/ipv6/introipv6.mspx twork/ipv6/introipv6.mspx
© 2006 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
Thank you for joining us for today’s event.Thank you for joining us for today’s event.
For information about all upcoming Support WebCasts, and access to the For information about all upcoming Support WebCasts, and access to the archived content (streaming media files, PowerPoint® slides, and archived content (streaming media files, PowerPoint® slides, and transcripts), visit the Support WebCast site at transcripts), visit the Support WebCast site at http://support.microsoft.com/WebCasts/
We sincerely appreciate your feedback. Please submit any comments or We sincerely appreciate your feedback. Please submit any comments or suggestions about the Support WebCasts on the “Contact Us” page of the suggestions about the Support WebCasts on the “Contact Us” page of the Support Web site at Support Web site at http://support.microsoft.com/servicedesks/webcasts/feedback.asp.