introduction to ipv6 (part b)introduction to ipv6 (part b) ipv6... · introduction to ipv6 (part...

58
Introduction to IPv6 (Part B) Introduction to IPv6 (Part B) Athanassios Liakopoulos ([email protected]) G k IP 6 T ii Ath M 2010 Greek IPv6 Training, Athens, May 2010

Upload: others

Post on 05-Mar-2020

26 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) IPv6... · Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) Athanassios Liakopoulos (aliako@grnet.gr) G k IP 6

Introduction to IPv6 (Part B)Introduction to IPv6 (Part B)

Athanassios Liakopoulos ([email protected])G k IP 6 T i i Ath M 2010Greek IPv6 Training, Athens, May 2010

Page 2: Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) IPv6... · Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) Athanassios Liakopoulos (aliako@grnet.gr) G k IP 6

Copy ... Rights• This slide set is the ownership of the 6DEPLOY project via its

partners• The Powerpoint version of this material may be reused and modified• The Powerpoint version of this material may be reused and modified

only with written authorization• Using part of this material must mention 6Deploy courtesy• PDF files are available from www.6deploy.org• Looking for a contact ?

M il t ti tt @ t l lti h• Mail to : [email protected]

Page 3: Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) IPv6... · Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) Athanassios Liakopoulos (aliako@grnet.gr) G k IP 6

Contributions

• B. Tuy

• L. ToutainL. Toutain

• A. Vives

• Athanassios Liakopoulos

Page 4: Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) IPv6... · Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) Athanassios Liakopoulos (aliako@grnet.gr) G k IP 6

OutlineOutline

Introduction to IPv6

Page 5: Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) IPv6... · Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) Athanassios Liakopoulos (aliako@grnet.gr) G k IP 6

OutlineIntroduction• IPv6 Addressing Format• Address Types• Address Types• Interface IDs• IPv6 Addressing Schema

Associated protocolsAssociated protocols• Neighbour Discovery• Path MTU

St t l / St t f l A t fi ti• Stateless / Stateful Autoconfiguration

5

Page 6: Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) IPv6... · Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) Athanassios Liakopoulos (aliako@grnet.gr) G k IP 6

IPv6 AddressingIPv6 Addressing

Introduction to IPv6

Page 7: Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) IPv6... · Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) Athanassios Liakopoulos (aliako@grnet.gr) G k IP 6

IPv6 Addressing Format• 128 bit long addresses

– Allow hierarchy– Flexibility for network evolutionsFlexibility for network evolutions

• Use CIDR principles:– Prefix / prefix length

• 2001:660:3003::/48• 2001:660:3003::/48• 2001:660:3003:2:a00:20ff:fe18:964c/64

– Aggregation reduces routing table sizeH d i l t ti• Hexadecimal representation

• Interfaces have several IPv6 addresses• Further readingg

– RFC4291 defines IPv6 addressing scheme– RFC3587 defines IPv6 global unicast address format

7

Page 8: Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) IPv6... · Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) Athanassios Liakopoulos (aliako@grnet.gr) G k IP 6

IPv6 - Addressing ModelAddresses are assigned to interfaces

• Change from IPv4 model

Interface 'expected' to have multiple addresses

Addresses have scope:• Link Local Link

LocalSiteLocalGlobal

• Site Local

• Global

Addresses have lifetime• Valid and Preferred lifetime

Site-Local Address deprecated in RFC3879. Replaced by Unique Local Address (ULA) in RFC 4193• Valid and Preferred lifetime ( )

8

Page 9: Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) IPv6... · Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) Athanassios Liakopoulos (aliako@grnet.gr) G k IP 6

Address TypesAddress Types

Introduction to IPv6

Page 10: Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) IPv6... · Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) Athanassios Liakopoulos (aliako@grnet.gr) G k IP 6

IPv6 Address Types• Unicast (one-to-one)

– GlobalLink local– Link-local

– Unique Local (ULA)– site-local (deprecated in RFC3897)– IPv6-mapped– IPv4-compatible (deprecated in RFC4291)

• Multicast (one-to-many)• Anycast (one-to-nearest)y ( )

• Reserved

10

Page 11: Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) IPv6... · Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) Athanassios Liakopoulos (aliako@grnet.gr) G k IP 6

Textual Address Format

• Preferred Form (a 16-byte Global IPv6 Address):

2001:0DB8:3003:0001:0000:0000:6543:210F• Compact Format:

2001:0DB8:3003:0001:0000:0000:6543:210F

• IPv4 mapped: ::FFFF:134 1 68 3

2001:0DB8:3003:0001:0000:0000:6543:210F2001:0DB8:3003:0001:0000:0000:6543:210F2001:DB8:3003:1:0:0:6543:210F2001:DB8:3003:1:0:0:6543:210F2001:DB8:3003:1::6543:210F• IPv4-mapped: ::FFFF:134.1.68.3• Literal representation

– [2001:DB8:3003:2:a00:20ff:fe18:964c][ 00 8 3003 a00 0 e 8 96 c]– http://[2001:DB8::43]:80/index.html

11

Page 12: Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) IPv6... · Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) Athanassios Liakopoulos (aliako@grnet.gr) G k IP 6

IPv6 Address Type PrefixesAddress Type Binary Prefix IPv6 Notation

Unspecified 00…0 (128 bits) ::/128

Loopback 00…1 (128 bits) ::1/128

Multicast 1111 1111 FF00::/8

Link-Local Unicast 1111 1110 10 FE80::/10

ULA 1111 110 FC00::/7

Global Unicast (everything else)Global Unicast (everything else)

IPv4-mapped 00…0:1111 1111:IPv4 ::FFFF:IPv4/128

Site-Local Unicast (deprecated) 1111 1110 11 FEC0::/10

• Global unicast assignments actually use 2000::/3 (001 prefix)

IPv4-compatible (deprecated) 00…0 (96 bits) ::IPv4/128

12• Anycast addresses allocated from unicast prefixes

Page 13: Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) IPv6... · Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) Athanassios Liakopoulos (aliako@grnet.gr) G k IP 6

IPv6 Address Space

• Aggregatable Global Unicast Addresses (001): 1/8• Unique Local Unicast addresses (1111 1110 00): 1/128Unique Local Unicast addresses (1111 1110 00): 1/128• Link-Local Unicast Addresses (1111 1110 10): 1/1024• Multicast Addresses (1111 1111): 1/256

For Future Use In Use

1/2 1/4 1/8 1/8

• More info: http://www.iana.org/assignments/ipv6-address-space

13

Page 14: Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) IPv6... · Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) Athanassios Liakopoulos (aliako@grnet.gr) G k IP 6

IPv6 Address Space

14

Page 15: Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) IPv6... · Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) Athanassios Liakopoulos (aliako@grnet.gr) G k IP 6

Special-Purpose Unicast Addresses• Unspecified address 0:0:0:0:0:0:0:0 or ::/128

– Used as a placeholder when no address is available

• Loopback address 0:0:0:0:0:0:0:1 or ::1/128– for sending packets to itself:for sending packets to itself:

• Documentation prefix: 2001:db8::/32

(Further info in RFC5156)

15

Page 16: Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) IPv6... · Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) Athanassios Liakopoulos (aliako@grnet.gr) G k IP 6

Link-Local & Site-Local Unicast Addresses

• Link-local addresses for use during auto-configuration and when no routers are present (FE80::/10)

1111 1110 10 0 . . . 0 Interface ID

10 bits 54 bits 64 bits

FE80FE80

• Site-local addresses for independence from changes of TLA / NLA*(FEC0::/10) (deprecated by RFC3879)

1111111011 InterfaceID

10 bits 64 bits

Subnet ID

54 bits

16

IDS

FEC0FEC0

Page 17: Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) IPv6... · Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) Athanassios Liakopoulos (aliako@grnet.gr) G k IP 6

Interface IDsTh l t d 64 bit fi ld f i t dd b i d• The lowest-order 64-bit field of unicast addresses may be assigned in several different ways:– auto-configured from a 64-bit MAC address– auto-configured from a 48-bit MAC address (e.g., Ethernet) expanded

into a 64-bit EUI-64 format– assigned via DHCPassigned via DHCP– manually configured– auto-generated pseudo-random number (to counter some privacy

concerns)concerns)– CGA (Cryptographically Generated Address)– possibly other methods in the future

64 bits 64 bits

Interface IDNetwork ID

17

64 bits 64 bits

Page 18: Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) IPv6... · Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) Athanassios Liakopoulos (aliako@grnet.gr) G k IP 6

Autoconfigured Interface IDs (1)

• 64 bits to be compatible with IEEE 1394 (FireWire)• Eases auto-configuration• IEEE defines the mechanism to create an EUI-64 from IEEE 802

MAC addresses (e.g. Ethernet, FDDI, etc)

24 bits24 bits 24 bits24 bits

u g vendoru g vendor serial numberserial number MAC

24 bits24 bits 16 bits 16 bits 24 bits24 bits

d 0 FFFEd 0 FFFE i l bi l b

11 g vendor 0XFFFEg vendor 0XFFFE serial numberserial number

u g vendor 0xFFFEu g vendor 0xFFFE serial numberserial number EUI

IID

181 7 81 7 8

ggIID

Page 19: Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) IPv6... · Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) Athanassios Liakopoulos (aliako@grnet.gr) G k IP 6

Autoconfigured Interface IDs (2)• Links with non global identifier → fill first left bits with 0

– e.g., the Localtalk 8 bit node identifier

• For links without identifiers, there are different ways to proceed (e.g., tunnels, PPP) to have a subnet-prefix-unique identifier:– Choose the universal identifier of another interface– Manual configuration– Node Serial Number– Node Serial Number– Other Node-Specific Token

19

Page 20: Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) IPv6... · Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) Athanassios Liakopoulos (aliako@grnet.gr) G k IP 6

Multicast Addresses

4 112 bits8

group IDscopeflags11111111

4

• Flags: 0RPT– 0: The high-order flag is reserved, and must be initialized to 0

4 112 bits8 4

g g ,– T: Transient, or not, assignment (RFC4291)– P: Assigned, or not, based on network prefix

R: Rendezvous Point Address embedded or not– R: Rendezvous Point Address embedded, or not

• Scope field: 1 - Interface-Local2 - link-local4 - admin-local5 - site-local8 - organization-local

l b l20

E – global(3,F - Reserved), (6,7,9,A,B,C,D - Unassigned)

Page 21: Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) IPv6... · Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) Athanassios Liakopoulos (aliako@grnet.gr) G k IP 6

Unique Local IPv6 Unicast Addresses (1)

• ULAs are defined in RFC4193:– Globally unique prefix with high probability of uniqueness

I d d f l l i i ll i id i– Intended for local communications, usually inside a site– They are not expected to be routable on the global Internet– They are routable inside of a more limited area such as a sitey– They may also be routed between a limited set of sites– Locally-Assigned Local addresses vs. Centrally-Assigned Local addresses

21

Page 22: Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) IPv6... · Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) Athanassios Liakopoulos (aliako@grnet.gr) G k IP 6

Unique Local IPv6 Unicast Addresses (2)• ULA characteristics:

– Well-known prefix to allow for easy filtering at site boundariesISP independent and can be used for communications inside of a site– ISP independent and can be used for communications inside of a site without having any permanent or intermittent Internet connectivity

– If accidentally leaked outside of a site via routing or DNS, there is no conflict with any other addressesconflict with any other addresses

– In practice, applications may treat these addresses like global scoped addresses

– Sites can be merged without any renumbering of the ULAs– Sites can change their provider-based IPv6 unicast address without

disrupting any communication that uses Local IPv6 addresses– Can be used for inter-site VPNs

22

Page 23: Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) IPv6... · Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) Athanassios Liakopoulos (aliako@grnet.gr) G k IP 6

Unique Local IPv6 Unicast Addresses (3)• Format:

interface IDPrefix subnet IDglobal IDL

16 bits 64 bits

interface IDPrefix g

40 bits

L

7 bits 1

• FC00::/7 prefix identifies the Local IPv6 unicast addresses– L=1, if the prefix is locally assigned– L= 0, may be defined in the future (in practice used for centrally

assigned prefixes)• ULA are created using a pseudo-randomly allocated global ID• ULA are created using a pseudo-randomly allocated global ID

– This ensures that there is not any relationship between allocations and clarifies that these prefixes are not intended to be routed globally

23

Page 24: Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) IPv6... · Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) Athanassios Liakopoulos (aliako@grnet.gr) G k IP 6

Global Unicast Addresses

• Defined in RFC3587

i t f ID001 subnet IDGlob Rout prefix

Subnet ID(16 bits)

Interface Identifier(64 bits)

interface ID001 subnet IDGlob. Rout. prefix

Global Routable P fi (45 bit )

• The global routing prefix is a value assigned to a zone (site, a set of subnetworks/links)

(16 bits) (64 bits)Prefix (45 bits)

of subnetworks/links)– It has been designed as an hierarchical structure from the Global

Routing perspective

Th b t k ID id tifi b t k ithi it• The subnetwork ID, identifies a subnetwork within a site– Has been designed to be an hierarchical structure from the site

administrator perspective

24

Page 25: Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) IPv6... · Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) Athanassios Liakopoulos (aliako@grnet.gr) G k IP 6

Anycast Addresses

• Identifier for a set of interfaces (typically in different nodes). – A packet sent to an anycast address is delivered to the "nearest” interface

(routing protocols' distance)(routing protocols distance)

• Taken from the unicast address space (of any scope). – Not syntactically distinguishable from unicast addresses

• The nodes assigned a anycast address must be explicitly configured to know that it is an anycast address– Assigned only to routersAssigned only to routers

• Reserved anycast addresses are defined in RFC2526• The Subnet-Router anycast address mandatory on all routers

– Used for communication with routers in one or multiple remote networks

00 00

n bits 128 – n bits

Subnet Prefix

25

00..00Subnet Prefix

Page 26: Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) IPv6... · Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) Athanassios Liakopoulos (aliako@grnet.gr) G k IP 6

Addressing SchemaAddressing Schema

Introduction to IPv6

Page 27: Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) IPv6... · Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) Athanassios Liakopoulos (aliako@grnet.gr) G k IP 6

Production Addressing Scheme (1)

27

Page 28: Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) IPv6... · Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) Athanassios Liakopoulos (aliako@grnet.gr) G k IP 6

Production Addressing Scheme (2)

Subnet ID Interface Identifier

interface ID001 subnet IDGlob. Rout. prefix

Global Routable

• LIRs receive by default /32

(16 bits) (64 bits)Global Routable Prefix (45 bits)

– Production addresses today are from prefixes 2001, 2003, 2400, etc.– Can request for more if justified

• /48 used only within the LIR network, with some exceptions for/48 used only within the LIR network, with some exceptions for critical infrastructures

• /48 to /128 is delegated to end usersR d i f ll i RFC3177 d li i– Recommendations following RFC3177 and current policies

– /48 general case, /47 if justified for bigger networks– /64 if one and only one network is required

28

/ y q– /128 if it is sure that one and only one device is going to be connected

Page 29: Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) IPv6... · Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) Athanassios Liakopoulos (aliako@grnet.gr) G k IP 6

Production Addressing Scheme (3)• Source: www.iana.org/assignments/ipv6-unicast-address-assignments

IPv6 Global Unicast Address Assignments [0][last updated 2008-05-13]Global Unicast Prefix Assignment Date Note--------------------- ---------- ------ ----2001 0000 /23 IANA 01 J l 99 [1]2001:0000::/23 IANA 01 Jul 99 [1]2001:0200::/23 APNIC 01 Jul 992001:0400::/23 ARIN 01 Jul 992001:0600::/23 RIPE NCC 01 Jul 992001:0600::/23 RIPE NCC 01 Jul 992001:0800::/23 RIPE NCC 01 May 022001:0A00::/23 RIPE NCC 02 Nov 022001:0C00::/23 APNIC 01 May 02 [2]2001:0C00::/23 APNIC 01 May 02 [2]2001:0E00::/23 APNIC 01 Jan 032001:1200::/23 LACNIC 01 Nov 02. . .

29

. . .

Page 30: Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) IPv6... · Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) Athanassios Liakopoulos (aliako@grnet.gr) G k IP 6

RIR Allocation Policies• AfriNIC:

– http://www.afrinic.net/IPv6/index.htm– http://www.afrinic.net/docs/policies/afpol-v6200407-000.htm *

APNIC• APNIC:– http://www.apnic.org/docs/index.html– http://www.apnic.org/policy/ipv6-address-policy.html *

• ARIN:• ARIN:– http://www.arin.net/policy/index.html– http://www.arin.net/policy/nrpm.html#ipv6 *

• LACNIC:• LACNIC:– http://lacnic.net/sp/politicas/– http://lacnic.net/sp/politicas/ipv6.html *

• RIPE-NCC:• RIPE NCC:– http://www.ripe.net/ripe/docs/ipv6.html– http://www.ripe.net/ripe/docs/ipv6policy.html *

30– *describes policies for the allocation and assignment of globally unique IPv6

address space

Page 31: Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) IPv6... · Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) Athanassios Liakopoulos (aliako@grnet.gr) G k IP 6

RIR Allocation Statistics• AfriNIC:

– http://www.afrinic.net/statistics/index.htmAPNIC• APNIC:– http://www.apnic.org/info/reports/index.html

• ARIN:ARIN:– http://www.arin.net/statistics/index.html

• LACNIC:– http://lacnic.org/sp/est.html

• RIPE-NCC:htt // i t/i f / t t /i d ht l– http://www.ripe.net/info/stats/index.html

• See http://www.ripe.net/rs/ipv6/stats/

31

See http://www.ripe.net/rs/ipv6/stats/

Page 32: Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) IPv6... · Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) Athanassios Liakopoulos (aliako@grnet.gr) G k IP 6

Associated ProtocolsAssociated Protocols

Associated Protocols

Page 33: Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) IPv6... · Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) Athanassios Liakopoulos (aliako@grnet.gr) G k IP 6

New Protocols (1)

• New features are specified in IPv6 Protocol -RFC 2460 DS• Neighbor Discovery (NDP) - RFC 4861 DS• Auto-configuration :

– Stateless Address Auto-configuration -RFC 4862 DS– DHCPv6: Dynamic Host Configuration Protocol for IPv6

-RFC 4361 PS– Path MTU discovery (pMTU) -RFC1981 DS

33

Page 34: Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) IPv6... · Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) Athanassios Liakopoulos (aliako@grnet.gr) G k IP 6

New Protocols (2)

• MLD (Multicast Listener Discovery) –RFC 2710 PS– Multicast group management over an IPv6 linkg p g– Based on IGMPv2– MLDv2 (equivalent to IGMPv3 in IPv4)

• ICMPv6 (RFC 4443 DS) "Super" Protocol that :– Covers ICMP (v4) features (Error control, Administration, …)– Transports ND messages– Transports MLD messages (Queries, Reports, …)

34

Page 35: Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) IPv6... · Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) Athanassios Liakopoulos (aliako@grnet.gr) G k IP 6

Neighbour DiscoveryNeighbour Discovery

Associated Protocols

Page 36: Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) IPv6... · Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) Athanassios Liakopoulos (aliako@grnet.gr) G k IP 6

Neighbor Discovery for IPv6 (1)

IPv6 nodes (hosts and routers) on the same physical medium(link) use Neighbor Discovery (NDP) to:– discover their mutual presence– determine link-layer addresses of their neighbors

fi d i hb i t th t illi t f d k t– find neighboring routers that are willing to forward packets on their behalf

– maintain neighbors’ reachability information (NUD)g y ( )– not directly applicable to NBMA (Non Broadcast Multi Access)

networks)NDP li k l lti t f f it iNDP uses link-layer multicast for some of its services.

36

Page 37: Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) IPv6... · Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) Athanassios Liakopoulos (aliako@grnet.gr) G k IP 6

Neighbor Discovery for IPv6(2)

• Protocol features:– Router Discoveryy– Prefix(es) Discovery– Parameters Discovery, e.g. link MTU, Max Hop Limit, etc– Address AutoconfigurationAddress Autoconfiguration– Address Resolution– Next Hop Determination– Neighbor Unreachability Detection– Neighbor Unreachability Detection– Duplicate Address Detection– Redirect

37

Page 38: Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) IPv6... · Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) Athanassios Liakopoulos (aliako@grnet.gr) G k IP 6

NDP: Comparison with IPv4

• The IPv6 Neighbor Discovery protocol corresponds to a combination of the IPv4 protocols:– Address Resolution Protocol (ARP)– Address Resolution Protocol (ARP)– ICMP Router Discovery (RDISC)– ICMP Redirect (ICMPv4)

Improvements over the IPv4 set of protocols:• Improvements over the IPv4 set of protocols:– Router Discovery is part of the base protocol set– Router Advertisements carry link-layer addresses and prefixes for a

link and enable Address Autoconfigurationlink, and enable Address Autoconfiguration– Multiple prefixes can be associated with the same link.– Neighbor Unreachability Detection is part of the base protocol set

D t t h lf li k f il d id di t ffi t i hb ith– Detects half-link failures and avoids sending traffic to neighbors with which two-way connectivity is absent

– By setting the Hop Limit to 255, Neighbor Discovery is immune to off-link senders that accidentally or intentionally send ND messageslink senders that accidentally or intentionally send ND messages.

38

Page 39: Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) IPv6... · Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) Athanassios Liakopoulos (aliako@grnet.gr) G k IP 6

NDP Messages (1)

• NDP specifies 5 types of ICMP packets :– Router Advertisement (RA) :Router Advertisement (RA) :

• periodic advertisement or response to RS message (of the availability of a router) which contains:

li t f fi d th li k ( t f)– list of prefixes used on the link (autoconf)– address configuration– a possible value for Max Hop Limit (TTL of IPv4)– value of MTU

R t S li it ti (RS)– Router Solicitation (RS) : • the host needs RA immediately (at boot time)

39

Page 40: Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) IPv6... · Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) Athanassios Liakopoulos (aliako@grnet.gr) G k IP 6

NDP Messages (2)

– Neighbor Solicitation (NS): • to determine the link-layer @ of a neighborto determine the link layer @ of a neighbor• or to check a neighbor is still reachable via a cached L2 @• also used to detect duplicate addresses (DAD)

– Neighbor Advertisement (NA):• answer to a NS messageanswer to a NS message• to advertise the change of physical address

– Redirect :• Used by routers to inform hosts of a better first hop for a destination

40

Page 41: Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) IPv6... · Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) Athanassios Liakopoulos (aliako@grnet.gr) G k IP 6

Address resolution

• Address resolution is the process through which a node determines the link-layer address of a neighbor given only its IP address.

• Find the mapping: • Dst IP @ Link-Layer (MAC) @• Recalling IPv4 & ARPRecalling IPv4 & ARP

– ARP Request is broadcasted • Request is sent to ethernet address:

FF-FF-FF-FF-FF-FF

• Request contains the src’s link local address– ARP Reply is sent in unicast to the sourceep y s se t u cast to t e sou ce

• Reply contains the destination’s link local address

41

Page 42: Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) IPv6... · Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) Athanassios Liakopoulos (aliako@grnet.gr) G k IP 6

Address resolution with NDP

At boot time, every IPv6 node has to join 2 special multicast groups

for each network interface:• All-nodes multicast group: ff02::1• Solicited-node multicast group: ff02::1:ffxx:xxxx

– derived from the lower 24 bits of the node’s address

HA: IPA, MACA HB: IPB, MACB

NS ? D2 ( MACB)D3=Multi(IPB)) S2 = MACAS3 = IPA

NA D2 = MACAD3 = IPA S2 = MACBS3 = IPB

42

Page 43: Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) IPv6... · Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) Athanassios Liakopoulos (aliako@grnet.gr) G k IP 6

Address resolution (3) : multicast solicited address

• Concatenation of the prefix FF02::1:FF00:0/104 with the last 24 biof the IPv6 address

Example:

• Dst IPv6 @: 2001:0660:010a:4002:4421:21FF:FE24:87c1

l• Sol. Mcast @: FF02:0000:0000:0000:0000:0001:FF24:87c1

Eth t 33 33 FF 24 87 1• Ethernet: 33-33-FF-24-87-c1

43

Page 44: Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) IPv6... · Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) Athanassios Liakopoulos (aliako@grnet.gr) G k IP 6

Path MTUPath MTU

Associated Protocols

Page 45: Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) IPv6... · Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) Athanassios Liakopoulos (aliako@grnet.gr) G k IP 6

Path MTU discovery (RFC 1981)

• Derived from RFC1191 (IPv4 version of the protocol)– Path = set of links followed by an IPv6 packet between source andPath set of links followed by an IPv6 packet between source and

destination

Li k MTU i k t l th (b t ) th t b t itt d• Link MTU = maximum packet length (bytes) that can be transmitted on a given link without fragmentation

• Path MTU (or pMTU) = min { link MTUs } for a given path

• Path MTU Discovery = automatic pMTU discovery for a given path

45

Page 46: Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) IPv6... · Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) Athanassios Liakopoulos (aliako@grnet.gr) G k IP 6

Path MTU discovery (2)

• Protocol operation– makes assumption that pMTU = link MTU to reach a neighbor

(f h )(first hop)– if there is an intermediate router such that

• link MTU < pMTUU p Uit sends an ICMPv6 message: "Packet size Too Large"

– source reduces pMTU by using information found in the ICMPv6 messagemessage

– …

=> Intermediate network element aren’t allowed to perform packet fragmentation

46

Page 47: Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) IPv6... · Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) Athanassios Liakopoulos (aliako@grnet.gr) G k IP 6

Stateless/Stateful AutocofigurationStateless/Stateful Autocofiguration

Associated Protocols

Page 48: Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) IPv6... · Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) Athanassios Liakopoulos (aliako@grnet.gr) G k IP 6

Stateless Autoconfiguration

• Host should be plug & play

• Uses some of the Neighbor Discovery ICMPv6 messages

• When booting the host asks for network parameters:• When booting, the host asks for network parameters:– IPv6 prefix(es)– default router address(es)

h li it– hop limit– (link local) MTU

48

Page 49: Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) IPv6... · Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) Athanassios Liakopoulos (aliako@grnet.gr) G k IP 6

Stateless Autoconfiguration

• Only routers have to be manually configured – And/or can use the Prefix Delegation option

RFC 3633– RFC 3633

• Hosts can get automatically an IPv6 addressHosts can get automatically an IPv6 address– BUT it isn’t automatically registered in the DNS

Servers should be manually configured

49

Page 50: Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) IPv6... · Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) Athanassios Liakopoulos (aliako@grnet.gr) G k IP 6

Stateless Autoconfiguration

• IPv6 Stateless Address Autoconfiguration is described in RFC 2462

• Hosts are listening for Router Advertisements (RA) messages• Hosts are listening for Router Advertisements (RA) messages, periodically sent out by routers on the local link

• RA messages coming from the router(s) on the link identify the• RA messages coming from the router(s) on the link identify the subnet

• Allows a host to create a global unicast IPv6 address from:• Allows a host to create a global unicast IPv6 address from:– Its interface identifier (EUI-64 address)– Link Prefix (obtained via Router Advertisement)

• Global Address = Link Prefix + EUI-64 address

50

Page 51: Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) IPv6... · Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) Athanassios Liakopoulos (aliako@grnet.gr) G k IP 6

Stateless Autoconfiguration

• Usually, the router sending the RA messages is used, by hosts, as the default router

• If the RA doesn’t carry any prefix– The hosts don’t configure (automatically) any global IPv6 address (but

may configure the default gateway address)may configure the default gateway address)

• RA messages contain two flags indicating what type of statefulautoconfiguration (if any) should be performedg ( y) p

• It’s impossible to automatically send DNS server addresses• IPv6 addresses depends on NIC card

51

Page 52: Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) IPv6... · Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) Athanassios Liakopoulos (aliako@grnet.gr) G k IP 6

Stateless Autoconfiguration

MAC address is 00:0E:0C:31:C8:1F

EUI-64 address is 20E:0CFF:FE31:C81F

Internet 1. Create the link local address2. Do a Duplicate Address Detection

EUI 64 address is 20E:0CFF:FE31:C81F

3. Send Router Solicitation4. Create global address 5. Do a DAD 6. Set Default RouterAnd the DNS Server Address ?!

Router SolicitationDest. FF02::2

FE80::20E:0CFF:FE31:C81F

2001:690:1:1::20E:0CFF:FE31:C81F

Router Advertisement2001:690:1:1

FF02::2 (All routers)FE80::20F:23FF:FEF0:551A

FE80::20F:23FF:FEf0:551A::/0

52

Page 53: Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) IPv6... · Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) Athanassios Liakopoulos (aliako@grnet.gr) G k IP 6

Statefull Autoconfiguration DHCPv6

• Dynamic Host Configuration Protocol for IPv6– RFC 3315– stateful counterpart to IPv6 Stateless Address Autoconfiguration.

• According to RFC 3315 DHCPv6 is used when:• According to RFC 3315 DHCPv6 is used when:– no router is found– Or if Router Advertisement message enables use of DHCP

53

Page 54: Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) IPv6... · Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) Athanassios Liakopoulos (aliako@grnet.gr) G k IP 6

Statefull Autoconfiguration DHCPv6

• DHCPv6 works in a client / server model– Server

• Responds to requests from clients• Optionally provides the client with:

– IPv6 addresses – Other configuration parameters (DNS servers…)

• Is listening on multicast addresses:– All DHCP Relay Agents and Servers (FF02::1:2)All_DHCP_Relay_Agents_and_Servers (FF02::1:2)– All_DHCP_Servers (FF05::1:3)

• Memorizes client’s state• Provides means for securing access control to network resources• Provides means for securing access control to network resources

54

Page 55: Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) IPv6... · Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) Athanassios Liakopoulos (aliako@grnet.gr) G k IP 6

Statefull Autoconfiguration DHCPv6 /3

– Client• initiates requests on a link to obtain configuration parameters• uses its link local address to connect the server• Sends requests to FF02::1:2 multicast address

(All_DHCP_Relay_Agents_and_Servers)

– Relay agent• node that acts as an intermediary to deliver DHCP messagesnode that acts as an intermediary to deliver DHCP messages

between clients and servers• is on the same link as the client• Is listening on multicast addresses:Is listening on multicast addresses:

– All_DHCP_Relay_Agents_and_Servers (FF02::1:2)

55

Page 56: Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) IPv6... · Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) Athanassios Liakopoulos (aliako@grnet.gr) G k IP 6

Statefull Autoconfiguration DHCPv6

2. Host execute an DHCPv6 Client3. Client will send an Information-Request 1. What’s the DNS servers’ Address4. Server responds with a Reply Message 5. Host configures the DNS server

Internet Example: in /etc/resolve.conf file

Information-Request(DNS Server’s address?)

FF02 1 2DHCPv6 ServerFF02::1:2 (All_DHCP_Relay_Agents_and_Servers)

Reply-messageDNS 2001:690:5:0::10

56

Page 57: Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) IPv6... · Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) Athanassios Liakopoulos (aliako@grnet.gr) G k IP 6

Conclusion

• The two types of configuration complement each other– Example: we can obtain the address from stateless autoconfiguration

and the DNS server address from DHCPv6

• In dual-stack networks we can obtain DNS server addresses from DHCPv4

• DHCPv6 clients aren’t still available natively in all Operating Systems. y– So, we still need to install manually a client– Not transparent to users

57

Page 58: Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) IPv6... · Introduction to IPv6 (Part B)Introduction to IPv6 (Part B) Athanassios Liakopoulos (aliako@grnet.gr) G k IP 6

Questions?Questions?