introduction to internet protocol version 6 joseph davies technical writer windows networking and...

113
Introduction to Internet Introduction to Internet Protocol Version 6 Protocol Version 6 Joseph Davies Joseph Davies Technical writer Technical writer Windows Networking and Device Windows Networking and Device Technologies Technologies Microsoft Corporation Microsoft Corporation

Upload: bernadette-warren

Post on 26-Dec-2015

225 views

Category:

Documents


0 download

TRANSCRIPT

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

59

IPv6 extension headersIPv6 extension headers

IPv6 HeaderNext Header = 6 (TCP)

TCP Segment

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.