Você está na página 1de 208

Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming

IPv6 Applications Conclusion

IPv6 Courses
c G6 Association

March 28, 2013

c G6 Association

March 28, 2013

1 / 379

Table of Contents
Concepts
1

Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion
6 2

Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion
c G6 Association March 28, 2013 2 / 379

10

G6
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

Group of IPv6 actors in France (researchers, engineers. . . ) Academic & industrial partners
CNRS, Institut TELECOM, INRIA, Universities. . . AFNIC, 6Wind, Bull. . .

Launched in 1995 by:


Alain Durand Bernard Tuy

Is today a legal association under French Law (1901)


Laurent Toutain, President

For further information: http://www.g6.asso.fr/

c G6 Association

March 28, 2013

3 / 379

G6Charter
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

Share experience gained from IPv6 experimentations and deployment Spread IPv6 information
Tutorials and trainings (ISPs, Engineers, netadmins. . . ) Online book (in French), IPv6, Th eorie et pratique: http://livre.g6.asso.fr/

Initiate research activities around IPv6 Active in RIPE & IETF working groups Promotion of IPv6: French Task Force

c G6 Association

March 28, 2013

4 / 379

IPv6 Forum Certication


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

This course is certied by the IPv6 Forum with Gold Level http://www.ipv6forum.com/ipv6_education/

c G6 Association

March 28, 2013

5 / 379

Hypertext Symbols
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

Several symbols are used in this document:


All RFCs and Internet Drafts are hypertext links.
Check that there is no more recent version of the document.

is a link to a Techniques de lIng enieur article on the subject (in French, access may be restricted). is a link to the online edition of IPv6, Th eorie et Pratique (in French) is a link to other information on the web.

Material concerning IPv6 is taken from the G6 tutorial and copyrighted from G6.

c G6 Association

March 28, 2013

6 / 379

Concepts Datagram

What Is A Datagram
Concepts
Datagram

Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

Denition
1 2 3 4

Every packet is processed separately No state in the network Destination address MUST be repeated in each packet Every equipment MUST agree on a common header format

B C

A sends a packet to B
c G6 Association March 28, 2013 8 / 379

What Is A Datagram
Concepts
Datagram

Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

Denition
1 2 3 4

Every packet is processed separately No state in the network Destination address MUST be repeated in each packet Every equipment MUST agree on a common header format

B C

The rst router looks at the header to nd the exit interface


c G6 Association March 28, 2013 8 / 379

What Is A Datagram
Concepts
Datagram

Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

Denition
1 2 3 4

Every packet is processed separately No state in the network Destination address MUST be repeated in each packet Every equipment MUST agree on a common header format

B C

The second router looks at the header to nd the exit interface


c G6 Association March 28, 2013 8 / 379

What Is A Datagram
Concepts
Datagram

Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

Denition
1 2 3 4

Every packet is processed separately No state in the network Destination address MUST be repeated in each packet Every equipment MUST agree on a common header format

B C

B accepts the packet


c G6 Association March 28, 2013 8 / 379

IP Layer
Concepts
Datagram

Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

IP is kept simple
Forwards packet towards destination

IP on everything
Adapt IP protocol on every layer 2

Everything on IP
Write applications to use IP layer (through L4: TCP, UDP)

IP must facilitate network interconnection


Avoid ambiguities on addresses
http://www.ietf.org/proceedings/01aug/slides/plenary-1/index.html Steve deering, Watching the Waist of the Protocol Hourglass, IETF 51, London

c G6 Association

March 28, 2013

9 / 379

Destination Address Processing


Concepts
Datagram

Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Destination Address Security Integration Programming IPv6 Applications Conclusion IPv4 Header

The destination address must be easily accessible: Fixed location Fixed size Aligment in memory

Source Address

Data

RFC 791 (Sept 1981)


Addresses are fixed length of four octets (32 bits)

c G6 Association

March 28, 2013

10 / 379

Facts on Addresses Historical view

IPv4 address allocation (originally)


Concepts Facts on Addresses
Historical view Emergency Measures NAT Prexes delegation

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |0| NETWORK | Local Address | Class A +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |1 0| NETWORK | Local Address | Class B +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |1 1 0| NETWORK | Local Address | Class C +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

The address is split into two parts:


Network part Host part

Initially the boundary was given by a prex


3 boundaries called classes 1 class (D) for mutlicast added later 1 class (E) reserved (never used)

An authority used to give unique prex to sites This plan was developed to guarantee address uniqueness
c G6 Association March 28, 2013 12 / 379

Historical facts
Concepts Facts on Addresses
Historical view Emergency Measures NAT Prexes delegation

1983 : Research network for about 100 computers 1992 : Commercial activity
Exponential growth

1993 : Exhaustion of the class B address space


Allocation in the class C space Require more information in routers memory

Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

Forecast of network collapse for 1998!


1999 : Bob Metcalfe ate his Infoworld 1995 paper where he made this prediction

c G6 Association

March 28, 2013

13 / 379

Facts on Addresses Emergency Measures

Emergency Measures: Better Addresses Management


Concepts Facts on Addresses
Historical view Emergency Measures NAT Prexes delegation

RFC 1517 - RFC 1520 (Sept 1993)


Ask the internet community to give back allocated prexes (RFC 1917) Re-use class C address space CIDR (Classless Internet Domain Routing)

Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

network address = prex/prex length less address waste recommend aggregation (reduce routing table length)
Introduce private prexes (RFC 1918)

c G6 Association

March 28, 2013

15 / 379

Facts on Addresses NAT

Emergency Measures: Private Addresses (RFC 1918 BCP)


Concepts Facts on Addresses
Historical view Emergency Measures NAT Prexes delegation

Allow private addressing plans Addresses are used internally Similar to security architecture with rewalls Use of proxies or NAT to go outside
RFC 1631, RFC 2663 and RFC 2993

Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

NAPT is the most commonly used of NAT variations

c G6 Association

March 28, 2013

17 / 379

How NAT with Port Translation Works


Concepts Facts on Addresses
Historical view Emergency Measures NAT Prexes delegation

10.0.0.1-> 128.1.2.3 :

1234 -> 80

128.1.2.3
192.1.1.1 -> 128.1.2.3 : 128.1.2.3 -> 192.1.1.1: 7890 -> 80 80-> 7890 128.1.2.3 -> 10.0.0.1 :

10.0.0.1

Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

192.1.1.1 NAT

80 ->1234

7890 : 10.0.0.1 & 1234

c G6 Association

March 28, 2013

18 / 379

NAT Impact
Concepts Facts on Addresses
Historical view Emergency Measures NAT Prexes delegation

rst consequence
The application does not know its public name.

Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

second consequence
It is dicult to contact a NATed equipment from outside Security feeling Solutions for NAT traversal exist

third consequence
There is no standardized behavior for NAT yet

c G6 Association

March 28, 2013

19 / 379

Facts on Addresses Prexes delegation

What Has Changed


Concepts Facts on Addresses
Historical view Emergency Measures NAT Prexes delegation

Classful Addressing
1 2

Ensure uniqueness Facilitate administrative allocation

Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion 2 3

One central entity Class-Less (CIDR)


1

Facilitate administrative allocation (hierarchical)

Nowadays 5 regional entities


Facilitate host location in the network Allocate the minimum pool of addresses

c G6 Association

March 28, 2013

21 / 379

CIDR Administrative Point of View


Concepts Facts on Addresses
Historical view Emergency Measures NAT Prexes delegation

A hierarchy of administrative registries


IANA/ICANN at the top

5 Regional Internet Registries (RIR)


APNIC (Asia Pacic Network Information Centre) ARIN (American Registry for Internet Numbers) LACNIC (Regional Latin-American and Caribbean IP Address Registry) RIPE NCC (R eseaux IP Europ eens - Network Coordination Center)
Europe, Middle east.

Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

AfriNIC (Africa)

Providers get prexes allocation from RIR

c G6 Association

March 28, 2013

22 / 379

RIR Regions
Concepts Facts on Addresses
Historical view Emergency Measures NAT Prexes delegation

Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

23 / 379

Prex
Concepts Facts on Addresses
Historical view Emergency Measures NAT Prexes delegation

CIDR can be viewed as an extension of the netmask concept It is called classless since IP addresses are no longer interpreted as belonging to a given Class (A, B, C) based on the value of the 1-4 leading bits The prex length must be added to the 32 bit word to indicate what is the network part.
Lookup complexity in the FIB (Forwarding Information Base) is increased: Best prex match rule

Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

24 / 379

Exhaustion of IPv4 Prex Pool


Concepts Facts on Addresses
Historical view Emergency Measures NAT Prexes delegation

IANA Unallocated Address Pool Depleted: February, 1st 2011


See:
http://www.nro.net/news/ipv4-free-pool-depleted

Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

RIR Unallocated Address Pool Exhaustion


APNIC (Asia) : April 2011 RIPE-NCC (Europe) : September 2012 Forecasts for other RIRs:
See: http://www.potaroo.net/tools/ipv4/ See als: http://www.ipv4depletion.com/

c G6 Association

March 28, 2013

25 / 379

Genesis of a new version of IP


Concepts Facts on Addresses
Historical view Emergency Measures NAT Prexes delegation

Preliminary works between 1991 and 1994 In 1991 IAB proposed an ISO-like solution (CNLP), refused by IETF An IPng area is created, initiated a call for tender Between 1992 and 1994, several propositions emerged During IETF30 (Toronto, July 1994), the SIPP+ solution is adopted Keep the fundamentals of IPv4 Larger address space (16-byte addresses) Simpler header IPv6 is formalized in RFC 1883 in december 1995 (updated with RFC 2460). First deployments followed (6bone, G6).
c G6 Association March 28, 2013 26 / 379

Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

Addresses versus Packet Format


Concepts Facts on Addresses
Historical view Emergency Measures NAT Prexes delegation

IPv4

Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion Classfull 1980 1993

IPv6

2013

CIDR

????

c G6 Association

March 28, 2013

27 / 379

IPv6 Benets
Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

Larger address space from 232 to 2128


Allow dierent addressing scheme

Stateless auto-conguration of hosts


Layer 3 Plug & Play Protocol

Simple header Ecient routing


No checksum No fragmentation by routers Enhanced extension system

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

end to end, but. . . Quality of service Better support of mobility IPsec


c G6 Association March 28, 2013 28 / 379

Addresses Notation

IPv6 addresses
Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

F2C:544:9E::2:EF8D:6B7 F692::

A:1455::A:6E0 D:63:D::4:3A:55F B33:C::F2 7:5059:3D:C0:: A:FDE3:76:B4F:D9D:: D6::

9D::9BAC:B8CA:893F:80 1E:DE2:4C83::4E:39:F35:C875 2:: 369F:9:F8:DBF::2 DD4:B45:1:C42F:BE6:75::

9D7B:7184:EF::3FB:BF1A:D80 FE9::B:3

EC:DB4:B:F:F11::E9:090 83:B9:08:B5:F:3F:AF:B84 E::35B:8572:7A3:FB2 99:F:9:8B76::BC9 D64:07:F394::BDB:DF40:08EE:A79E AC:23:5D:78::233:84:8 F0D:F::F4EB:0F:5C7 E71:F577:ED:E:9DE8:: E:2:0:266B:: B::3 1D3F:A0AA:: 70:8EA1::8:D5:81:2:F302 26::8880:7 93:: F::9:0

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security

763E:C:2E:1EB:F6:F4:14:16 E6:6:F4:B6:A888:979E:D78:09 97B:C4::C36 A40:7:5:7E8F:0:32EC:9A:D0 8A52::575 5F97::

9:754:5:90:0A78:A1A3:1:7 2:8::

D::4CB4:E:2BF:5485:8CE 07:5::41 6B::A9:C 94FF:7B8::D9:51:26F 2::E:AE:ED:81 8241:: AD5B:259C:7DB8:24:58:552A:: 94:4:9FD:4:87E5:: 5A8:2FF:1::CC EA:8904:7C::

Integration 7C::D6B7:A7:B0:8B DC:6C::34:89 6C:1::5 7B3:6780:4:B1::E586 412:2:5E1:6DE5:5E3A:553:3:: Programming IPv6 Applications Conclusion 7F0:: B39::1:B77:DB 9D3:1F1:4B:3:B4E6:7681:09:D4A8 61:520::E0 1:28E9:0:095:DF:F2:: BDC:672A:F4C8:A1::4:7:9CB7 C697:56AD:40:8:0::62

1B61:4::1DE:50A 34BC:99::E9:9EFB E:EF::

c G6 Association

March 28, 2013

30 / 379

Dont Worry
Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

Addresses are not random numbers. . . they are often easy to handle and even to memorize sometimes

c G6 Association

March 28, 2013

31 / 379

Notation
Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

Base format (a 16-octet Global IPv6 Address):


2001:0db8:beef:0001:0000:0000:cafe:deca

Compact Format: 2001:0db8:beef:0001:0000:0000:cafe:deca


1

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

Remove 0 on the left of each word To avoid ambiguity, substitute ONLY one sequence of zeros by :: an IPv4 address may also appear : ::ffff:192.0.2.1

Warning:
2001:db8:3::/40 is in fact 2001:db8:0003::/40 and not 2001:db8:0300::/40
c G6 Association March 28, 2013 32 / 379

Notation
Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

Base format (a 16-octet Global IPv6 Address):


2001:0db8:beef:0001:0000:0000:cafe:deca

Compact Format: 2001:db8:beef:1:0:0:cafe:deca


1

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

Remove 0 on the left of each word To avoid ambiguity, substitute ONLY one sequence of zeros by :: an IPv4 address may also appear : ::ffff:192.0.2.1

Warning:
2001:db8:3::/40 is in fact 2001:db8:0003::/40 and not 2001:db8:0300::/40
c G6 Association March 28, 2013 32 / 379

Notation
Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

Base format (a 16-octet Global IPv6 Address):


2001:0db8:beef:0001:0000:0000:cafe:deca

Compact Format: 2001:db8:beef:1::cafe:deca


1

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

Remove 0 on the left of each word To avoid ambiguity, substitute ONLY one sequence of zeros by :: an IPv4 address may also appear : ::ffff:192.0.2.1

Warning:
2001:db8:3::/40 is in fact 2001:db8:0003::/40 and not 2001:db8:0300::/40
c G6 Association March 28, 2013 32 / 379

Notation
Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

Base format (a 16-octet Global IPv6 Address):


2001:0db8:beef:0001:0000:0000:cafe:deca

Compact Format: 2001:db8:beef:1::cafe:deca


1

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

Remove 0 on the left of each word To avoid ambiguity, substitute ONLY one sequence of zeros by :: an IPv4 address may also appear : ::ffff:192.0.2.1

Warning:
2001:db8:3::/40 is in fact 2001:db8:0003::/40 and not 2001:db8:0300::/40
c G6 Association March 28, 2013 32 / 379

Comments I
Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

La repr esentation textuelle dune adresse IPv6 se fait en d ecoupant le mot de 128 bits de ladresse en 8 mots de 16 bits s epar es par le caract` ere :, chacun deux etant repr esent e en hexad ecimal. Par exemple : 2001:0db8:0000:0000:0400:a987:6543:210f Dans un champ, il nest pas n ecessaire d ecrire les z eros plac es en t ete : 2001:db8:0:0:400:a987:6543:210f En outre plusieurs champs nuls cons ecutifs peuvent etre abr eg es par ::. Ainsi ladresse pr ec edente peut s ecrire comme suit : 2001:db8::400:a987:6543:210f Naturellement, pour eviter toute ambigu It e, labr eviation ::a ne peut appara tre quune fois au plus dans une adresse. Les cas extr emes sont ladresse ind enie (utilis ee pour d esigner les routes par d efaut) ` a tous les bits ` a z ero et qui se note de mani` ere compacte : :: et ladresse de bouclage (loopback) en IPv6, equivalent de ladresse 127.0.0.1 en IPv4, dont tous les bits sont ` a z ero sauf le dernier et qui s ecrit : ::1 La repr esentation des pr exes IPv6 est similaire ` a la notation CIDR RFC 1519 utilis ee pour les pr exes IPv4. Un pr exe IPv6 est donc repr esent e par la notation : adresse-ipv6/longueur-du-pr exe-en-bits Les formes abr eg ees avec ::a sont autoris ees. 2001:0db8:7654:3210:0000:0000:0000:0000/64 2001:db8:7654:3210:0:0:0:0/64 2001:db8:7654:3210::/64 Le seul pi` ege de cette notation vient des longueurs de pr exes qui ne sont pas en fronti` ere de :a . Ainsi le pr exe 3edc:ba98:7654:3::/56 equivaut en r ealit e` a 3edc:ba98:7654:0000::/56 car il s ecrit 3edc:ba98:7654:0003::/56. On peut combiner ladresse dune interface et la longueur du pr exe r eseau associ e en une seule notation. 2001:db8:7654:3210:945:1321:abA8:f4e2/64 Ces repr esentations peuvent appara tre beaucoup plus complexes quavec IPv4, mais leur attribution r epond ` a des r` egles strictes, ce qui favorise leur m emorisation.

c G6 Association

March 28, 2013

33 / 379

Comments II
Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

Dans certains cas, une adresse (voire plusieurs adresses) IPv4 peut etre contenue dans une adresse IPv6. Pour les faire ressortir, la notation classique dIPv4 peut etre utilis ee au sein dune adresse IPv6. Ainsi : ::192.0.2.1 repr esente une adresse IPv6 compos ee de 96 bits ` a 0 suivit des 32 bits de ladresse IPv4 192.0.2.1 Il est pourtant parfois n ecessaire de manipuler litt eralement des adresses IPv6. Le caract` ere : utilis e pour s eparer les mots peut cr eer des ambigu It es. Cest le cas avec les URL o` u il est aussi utilis e pour indiquer le num ero de port. Ainsi lURL http://2001:db8:12::1:8000/ pourrait aussi bien indiquer le port 8000 sur la machine ayant ladresse IPv6 2001:db8:12::1, que la machine ayant ladresse 2001:db8:12::1:8000 en utilisant le port par d efaut (80). Pour lever cette ambigu It e, le RFC 2732 propose dinclure ladresse IPv6 entre [ ]. LURL pr ec edente s ecrirait : http://[2001:db8:12::1]:8000/ ou http://[2001:DB8:12::1:8000]/ suivant les cas. Cette repr esentation peut etre etendue ` a dautres domaines comme X-window ou au protocole de signalisation t el ephonique SIP.

c G6 Association

March 28, 2013

34 / 379

Is it enough for the future ?


Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

Address length
About 3.4x 1038 addresses 60 000 trillion trillion addresses per inhabitant on earth Addresses for every grain of sands in the world IPv4: 6 addresses per US inhabitant, 1 in Europe, 0.01 in China and 0.001 in India

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

Justication of a xed-length address


Warning:
An address for everything on the network and not an address for everything No addresses for the whole life: Depends on your position on the network ISP Renumbering may be possible

c G6 Association

March 28, 2013

35 / 379

Is it enough for the future ?


Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

Hop Limit:
Should not be a problem Count the number of routers used to reach a destination Growth will be in-width more than in-depth

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

Payload Length
64 Ko is not a current hard limit Ethernet is limited to 1.5 Ko, evolution can use until 9Ko. Use Jumbogram for specic cases

c G6 Association

March 28, 2013

36 / 379

Addresses Addressing scheme

Addressing scheme
Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

RFC 4291 denes current IPv6 addresses


loopback (::1) link local (fe80::/10) global unicast (2000::/3) multicast (ff00::/8)

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

Use CIDR principles:


Prex / prex length notation 2001:db8:face::/48 2001:db8:face:bed:cafe:deca:dead:beef/64
Interfaces have several IPv6 addresses

at least a link-local and a global unicast addresses

c G6 Association

March 28, 2013

38 / 379

Comments I
Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

IPv6 reconna t trois types dadresses : unicast, multicast et anycast. Le premier de ces types d esigne une interface unique. Un paquet envoy e` a une telle adresse, sera donc remis ` a linterface ainsi identi ee. Parmi les adresses unicast, on peut distinguer celles qui auront une port ee globale, cest-` a-dire d esignant sans ambigu It e une machine sur le r eseau Internet et celles qui auront une port ee locale (lien ou site). Ces derni` eres ne pourront pas etre rout ees sur lInternet. Une adresse de type multicast d esigne un groupe dinterfaces qui en g en eral appartiennent ` a des noeuds di erents pouvant etre situ es nimporte o` u dans lInternet. Lorsquun paquet a pour destination une adresse de type multicast, il est achemin e par le r eseau ` a toutes les interfaces membres de ce groupe. Il faut noter quil ny a plus dadresses de type broadcast comme sous IPv4 ; elles sont remplac ees par des adresses de type multicast qui saturent moins un r eseau local constitu e de commutateurs. Labsence de broadcast augmente la r esistance au facteur d echelle dIPv6 dans les r eseaux commut es. Le dernier type, anycast, est une ocialisation de propositions faites pour IPv4 RFC 1546. Comme dans le cas du multicast, une adresse de type anycast d esigne un groupe dinterfaces, la di erence etant que lorsquun paquet a pour destination une telle adresse, il est achemin e` a un des el ements du groupe et non pas ` a tous. Cest, par exemple, le plus proche au sens de la m etrique des protocoles de routage. Cet adressage est principalement exp erimental. Une interface poss` edera g en eralement plusieurs adresses IPv6. En IPv4 ce comportement est exceptionnel, il est banalis e en IPv6.

c G6 Association

March 28, 2013

39 / 379

Addressing Space Utilization


Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

0000::/8 Reserved by IETF [RFC4291] 0100::/8 Reserved by IETF [RFC4291] 0200::/7 Reserved by IETF [RFC4048] 0400::/6 Reserved by IETF [RFC4291] 0800::/5 Reserved by IETF [RFC4291] 1000::/4 Reserved by IETF [RFC4291] 2000::/3 Global Unicast [RFC4291] 4000::/3 Reserved by IETF [RFC4291] 6000::/3 Reserved by IETF [RFC4291] 8000::/3 Reserved by IETF [RFC4291] a000::/3 Reserved by IETF [RFC4291] c000::/3 Reserved by IETF [RFC4291] e000::/4 Reserved by IETF [RFC4291] f000::/5 Reserved by IETF [RFC4291] F800::/6 Reserved by IETF [RFC4291] fc00::/7 Unique Local Unicast [RFC4193] fe00::/9 Reserved by IETF [RFC4291] fe80::/10 Link Local Unicast [RFC4291] fec0::/10 Reserved by IETF [RFC3879] ff00::/8 Multicast [RFC4291]

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

c G6 Association

March 28, 2013

40 / 379

Comments I
Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

Certains types dadresses sont caract eris es par leur pr exe RFC 4291. Le tableau suivant (source : http://www.iana.org/assignments/ipv6-address-space) donne la liste de ces pr exes. La plage r eserv eea du pr exe 0::/8 est utilis ee pour les adresses sp eciales (adresse ind etermin ee, de bouclage, mapp ee, compatible). On notera que plus de 70% de lespace disponible na pas et e allou e, ce qui permet de conserver toute latitude pour lavenir. Glogal Unicast: adresses point-` a-point equivalent des adresses publics en IPv4 Link-Local : utllisable uniquement sur le link (non routable), utilis ee principalement pendant la p eriode de bootstrap Multicast: equivalent aux classes D dIPv4 ULA: equivalent aux adresses priv ees en IPv4

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

41 / 379

Addresses Address Format

Address Format
Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

Global Unicast Address:


3 45 16 64

001

Global Prex
public topology given by the provider

SID

Interface ID
link address auto or manual conguration

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion 10

local topology assigned by network engineer

Link-Local Address:
54 64

fe80

0...0

Interface ID
link address auto-conguration

c G6 Association

March 28, 2013

43 / 379

Comments I
Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

Ce plan, propos ee dans le RFC 3587, pr ecise la structure dadressage IPv6 d enie dans le RFC 4291 en pr ecisant les tailles de chacun des blocs. Il est g er e de la m eme mani` ere que CIDR en IPv4. Une adresse int` egre trois niveaux de hi erarchie : une topologie publique (appel ee Global Prex) cod e sur 48 bits, allou ee par le fournisseur dacc` es; une topologie de site cod e sur 16 bits (appel ee Subnet ID). Ce champ permet de coder les num eros de sous r eseau du site; un identiant dinterface sur 64 bits (appel e Interface ID) distinguant les di erentes machines sur le lien. Les adresses de type lien-local (link local use address) sont des adresses dont la validit e est restreinte ` a un lien, cest-` a-dire lensemble de interfaces directement connect ees sans routeur interm ediaire : par exemple machines branch ees sur un m eme Ethernet, machines reli ees par une connexion PPP, ou extr emit es dun tunnel. Les adresses lien-local sont congur ees automatiquement ` a linitialisation de linterface et permettent la communication entre noeuds voisins. Ladresse est obtenue en concat enant le pr exe fe80::/64 aux 64 bits de lIdentiant dinterfaceidentiant dinterface. Lidentiant dinterface est g en eralement bas e sur ladresse MAC. Cela ne pose pas de probl` eme de respect de le vie priv ee car, contrairement aux adresses globales, les adresses lien-local ne sortent jamais du r eseau o` u elles sont utilis ees. Ces adresses sont utilis ees par les protocoles de conguration dadresse globale, de d ecouverte de voisins (neighbor discovery) et de d ecouverte de routeurs (router discovery). Ce sont de nouveaux dispositifs, le premier supplantant en particulier le protocole ARP (Address Resolution Protocol), qui permettent pas ` a un r eseau local de se congurer automatiquement. Elles sont egalement largement utilis ees par les protocoles de routage soit pour l echange de donn ees (cf. RIPng, OSPFv3), soit dans les tables de routage puisque le champ prochain routeur est toujours un equipement directement accessible sur le lien. Un routeur ne doit en aucun cas retransmettre un paquet ayant pour adresse source ou destination une adresse de type lien-local.

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

44 / 379

Global Unicast Addresses


Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

Used for communication between hosts of the IPv6 Internet ( public IPv4 addresses) Composed by 2 parts a 64-bit Global Prex, identifying the network of the host a 64-bit Interface ID, identifying the host in the network The Global Prex is dened by network topology. The Interface ID can be selected by the host itself. Note: The 64-bit border is hard-coded !

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

45 / 379

SID Values
Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

16-bit length up to 65 535 subnets


Large enough for most companies Too large for home network ? May be a /56 or /60 GP will be allocated depending on the ISP

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

There is no strict rules to structure SID:


sequencial : 1, 2, ... use VLAN number include usage to allow ltering, for instance, for a University:

c G6 Association

March 28, 2013

46 / 379

Comments I
Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

Il nexiste pas de r` egles pour allouer les identicateurs de sous-r eseau au sein dun site. Plusieurs techniques (non exclusives) peuvent etre utilis ees : num eroter de mani` ere incr ementale les sous-r eseaux: 0001, 0002, ... Cette technique est simple a mettre en uvre dans des r eseaux exp erimentaux, mais elle peut conduire ` a un plan dadressage ` a plat dicile ` a m emoriser. Elle peut etre utilis ee par exemple pour un sous-r eseau d edi e aux serveur pour simplier l ecriture et la m emorisation des adresses. utiliser le num ero de VLAN. Elle permet d eviter de m emoriser plusieurs niveau de num erotation. s eparer les types de r eseaux et utiliser les chires de gauche pour les d esigner. Cette technique permet de faciliter les r` egles de ltrage, tout en utilisant des r` egles appropri ees pour ` a la gestion de ces sous-r eseau pour la partie de droite. A titre dexemple, le tableau suivant contient le plan de num erotation dune universit e localis ee sur plusieurs sites prenant en compte les di erentes communaut es dutilisateurs : Ainsi, le pr exe: 2001:DB8:1234::/52 servira pour la cr eation de linfrastructure, donc en particulier les adresses des interfaces des routeurs seront pris dans cet espace, 2001:DB8:1234:8000::/52 servira pour le r eseau wi des invit es. La mani` ere dont sont g er es les 12 bits restants du SID ne sont pas sp eci es, 2001:DB8:1234:E000::/52 servira pour le r eseau des etudiants. Lentit e repr esente la localisation g eographique du campus. Dans chacun de ces campus, il sera possible davoir jusqu` a 16 sous-r eseaux di erents pour cette communaut e.

c G6 Association

March 28, 2013

47 / 379

Interface Identier
Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

Interface ID can be selected dierently Derived from a Layer 2 ID (I.e. MAC address) :
for Link Local address for Global Address : plug-and-play hosts

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

Assigned manually :
to keep same address when Ethernet card or host is changed to remember easily the address
1, 2, 3, ... last digit of the v4 address the IPv4 address (for nostalgic system administrators) ...

c G6 Association

March 28, 2013

48 / 379

Interface Identier
Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

Interface ID can be selected dierently Random value :


Changed frequently (e.g, every day, per session, at each reboot...) to guarantee anonymity

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

Hash of other values (experimental) :


To link address to other properties Public key List of assigned prexes ...

c G6 Association

March 28, 2013

49 / 379

Comments I
Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

Si initialement pour des raisons dauto-conguration, lidentiant dinterface devait toujours etre d eriv e de ladresse de niveau 2, cest de moins en moins le cas. Il existe plusieurs m ethodes pour construire cette valeur de 64 bits: manuelle, bas ee sur ladresse de niveau 2 de linterface, al eatoire, cryptographique. Manuel Pour les serveurs les plus utilis e, il est pr ef erable dassigner manuellement des adresses aux interfaces, car dans ce cas ladresse IPv6 est facilement m emorisable, et le serveur peut etre accessible m eme si le DNS nest pas actif. Il existe plusieurs techniques plus ou moins mn emotechniques : * incr ementer lidentiant dinterface ` a chaque nouveau serveur cr e e 2001:DB8:1234:1::1 2001:DB8:1234:1::2 ... * reprendre le dernier octet de ladresse IPv4 comme identiant dinterface. Par exemple si un serveur a comme adresse IPv4 tt192.0.2.123/tt, son adresse IPv6 sera : 2001:DB8:1234:1::7B ou plus simplement 2001:DB8:1234:1::123 * reprendre ladresse IPv4 comme identiant dinterface, bien que cela ait linconv enient de conduire ` a des adresses plus longues ` a taper : 2001:DB8:1234:1::192.0.2.123 D eriv e de ladresse de linterface

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

50 / 379

Comments II
Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

Lavantage dutiliser une adresse de niveau 2 pour construire un identiant dinterface est que lunicit e de cette valeur est presque toujours assur ee. En plus, cette valeur est stable tant que la carte r eseau de la machine nest pas chang ee. Par contre, ces valeurs sont dicilement m emorisables. Les adresses lien-local sont construites en utilisant ce type didentiant. Par contre pour les adresses globales, il est conseill e de ne les utiliser que pour les machines client et de pr ef erer les identiant dinterface manuel pour les serveur. Ces identiants dinterface etant stable dans le temps, ` a chaque fois quun individu change de r eseau, il change de pr exe, mais garde le m eme identiant dinterface. il pourrait donc servir ` a tracer les d eplacements dun individu. Le risque est faible, car les cookies mis en place par les serveurs web sont bien plus ecaces, mais ils ne sagit plus dun probl` eme r eseau. Autre d esavantage, comme les adresses MAC contiennent lidentication du mat eriel, il est possible dindiquer ` a lext erieur du r eseau quel type de mat eriel est utilis e et donner des indications. Si ces inconv enients sont jug es important par lentreprise, lidentiant dinterface pour les adresses globales peut etre g en er e al eatoirement. Valeur al eatoire Lidentiant dinterface bas e sur des adresses MAC, comme indiqu e pr ec edemment, pourrait poser des probl` emes pour la vie priv ee. Il identie fortement la machine dun utilisateur, qui m eme sil se d eplace de r eseau en r eseau garde ce m eme identiant. Il serait alors possible de traquer un individu utilisant un portable, chez lui, au bureau, lors de ses d eplacements. Ce probl` eme est similaire ` a lidenticateur plac e dans les processeurs Pentium III. Pour couper court ` a toute menace de boycott dun protocole qui menacerait la vie priv eea , il a et e propos e dautres algorithmes de construction dun identiant dinterface bas e sur des tirages al eatoires (voir RFC 3041). Un utilisateur particuli` erement m eant pourrait valider ces m ecanismes. Lidentiant dinterface est soit choisi al eatoirement, soit construit par un algorithme comme MD5 ` a partir des valeurs pr ec edentes, soit tir e au hasard si l equipement ne peut pas m emoriser dinformation entre deux d emarrages. P eriodiquement ladresse est mise dans l etat d epr eci ea et un nouvel identiant dinterface est choisi. Les connexions d ej` a etablies continuent dutiliser lancienne valeur tandis que les nouvelles connexions utilisent la nouvelle adresse.

c G6 Association

March 28, 2013

51 / 379

Comments III
Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

Cette solution a et e adopt ee par Microsoft. Dans Windows XP, linterface poss` ede deux adresses IPv6 globale. La premi` ere a un identiant dinterface d eriv e de ladresse MAC. Elle sert aux applications attendant des connexions sur la machine (i.e. les applications serveur). Cette adresse est stable et peut etre publi ee dans le DNS. La seconde poss` ede un identiant dinterface tir e al eatoirement. Elle est chang ee tous les jours et sert aux applications client. Dans Windows Vista, ce comportement est g en eralis e car lidentiant dinterface de ladresse permanente est egalement issu dun tirage al eatoire. Cela permet d eviter de donner la marque de la machine ou le type de carte contenu dans les premiers octets de lidentiant dinterface. Bien entendu pour que ces m ecanismes aient un sens, il faut que l equipement ne senregistre pas sous un m eme nom dans un serveur DNS inverse ou que lenregistrement de cookies dans un navigateur Web pour identier lutilisateur soit impossible. En contre partie, il est plus dicile ` a un administrateur r eseau de ltrer les machines puisque celles-ci changent p eriodiquement dadresses. Cryptographique Encore un sujet de recherche Lusage de ces adresses nest pas encore g en eralis e. Shim6 pour la gestion de la multi-domiciliation ou SEND pour s ecuriser la d ecouverte de voisins y on recours. Si un identiant al eatoire permet de rendre beaucoup plus anonyme la source du paquet, des propositions sont faites ` a lIETF pour lier lidentiant dinterface ` a la cl e publique de l emetteur du paquet. Le RFC 3972 d enit le principe de cr eation de lidentiant dinterface (CGA : Cryptographic Generated Addresses) ` a partir de la cl e publique de la machine. Elles pourraient servir pour s ecuriser les protocoles de d ecouverte de voisins ou pour la gestion de la multi-domiciliation.

c G6 Association

March 28, 2013

52 / 379

How to Construct an IID from MAC Address


Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

64 bits is compatible with EUI-64 (i.e. IEEE 1394 FireWire, ...) IEEE propose a way to transform a MAC-48 to an EUI-64 U/L changed for numbering purpose

MAC-48

00

Vendor

Serial Number

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

EUI-64

00

Vendor

0xfffe

Serial Number

IID

10

Vendor

0xFFFE

Serial Number

There is no conicts if IID are manually numbered: 1, 2, 3, ...


c G6 Association March 28, 2013 53 / 379

Comments I
Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

Lavantage dutiliser une adresse de niveau 2 pour construire un identiant dinterface est que lunicit e de cette valeur est presque toujours assur ee. En plus, cette valeur est stable tant que la carte r eseau de la machine nest pas chang ee. Par contre, ces valeurs sont dicilement m emorisables. Les adresses lien-local sont construites en utilisant ce type didentiant. Par contre pour les adresses globales, il est conseill e de ne les utiliser que pour les machines client et de pr ef erer les identiant dinterface manuel pour les serveur. Ces identiants dinterface etant stable dans le temps, ` a chaque fois quun individu change de r eseau, il change de pr exe, mais garde le m eme identiant dinterface. il pourrait donc servir ` a tracer les d eplacements dun individu. Le risque est faible, car les cookies mis en place par les serveurs web sont bien plus ecaces, mais ils ne sagit plus dun probl` eme r eseau. Autre d esavantage, comme les adresses MAC contiennent lidentication du mat eriel, il est possible dindiquer ` a lext erieur du r eseau quel type de mat eriel est utilis e et donner des indications. Si ces inconv enients sont jug es important par lentreprise, lidentiant dinterface pour les adresses globales peut etre g en er e al eatoirement. EUI-64 LIEEE a d eni un identicateur global ` a 64 bits (format EUI-64) pour les r eseaux IEEE 1394 (rewire) ou IEEE 802.15.4 (r eseau de capteurs) qui vise une utilisation dans le domaine de la domotique. LIEEE d ecrit les r` egles qui permettent de passer dun identiant MAC cod e sur 48 bits ` a un EUI-64. Il existe plusieurs m ethodes pour construire lidentiant : HorsTexteOrdre de transmissionLordre des bits ne doit pas porter ` a confusion. Dans la repr esentation num erique des valeurs, le premier bit transmis est le bit de poids faible, cest-` a-dire le bit de droite. Ainsi sur le support physique le bit g, puis le bit u puis les bits suivants sont transmis.

c G6 Association

March 28, 2013

54 / 379

Comments II
Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

Si une machine ou une interface poss` ede un identicateur global IEEE EUI-64, celui-ci a la structure d ecrite gure Identicateur global IEEE EUI-64. Les 24 premiers bits de lEUI-64, comme pour les adresses MAC IEEE 802, identient le constructeur et les 40 autres bits identient le num ero de s erie (les adresses MAC IEEE 802 nen utilisaient que 24). Les 2 bits u (septi` eme bit du premier octet) et g (huiti` eme bit du premier octet) ont une signication sp eciale : u (Universel) vaut 0 si lidentiant EUI-64 est universel, g (Groupe) indique si ladresse est individuelle (g = 0), cest-` a-dire d esigne un seul equipement sur le r eseau, ou de groupe (g = 1), par exemple une adresse de multicast. Lidentiant dinterface ` a 64 bits est d eriv e de lEUI-64 en inversant le bit u (cf. gure Identicateur dinterface d eriv e dune EUI-64). En eet, pour la construction des adresses IPv6, on a pr ef er e utiliser 1 pour marquer lunicit e mondiale. Cette inversion de la s emantique du bit permet de garder la valeur 0 pour une num erotation manuelle, autorisant ` a num eroter simplement les interfaces locales ` a partir de 1.

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

55 / 379

Comments III
Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

MAC-48 * Si une interface poss` ede une adresse MAC IEEE 802 ` a 48 bits universelle (cas des interfaces Ethernet ou Wi-Fi). Ladresse est tout dabord convertie en EUI-64, puis le bit u est mis ` a 1 comme dans le cas pr ec edent. La gure ci-contre illustre ce processus. Cas Particuliers * Si une interface poss` ede une adresse locale unique sur le lien, mais non universelle (par exemple le format dadresse IEEE 802 sur 2 octets ou une adresse sur un r eseau Appletalk), lidentiant dinterface est construit ` a partir de cette adresse en rajoutant des 0 en t ete pour atteindre 64 bits. * Si une interface ne poss` ede aucune adresse (par exemple linterface utilis ee pour les liaisons PPP), et si la machine na pas didentiant EUI-64, il ny a pas de m ethode unique pour cr eer un identiant dinterface. La m ethode conseill ee est dutiliser lidentiant dune autre interface si cest possible (cas dune autre interface qui a une adresse MAC), ou une conguration manuelle ou bien une g en eration al eatoire, avec le bit u positionn e` a 0. Sil y a conit (les deux extr emit es ont choisi la m eme valeur), il sera d etect e lors de linitialisation de ladresse lien-local de linterface, et devra etre r esolu manuellement.

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

56 / 379

Example : Mac / Unix


Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

%ifconfig lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384 inet6 ::1 prefixlen 128 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1 inet 127.0.0.1 netmask 0xff000000 en1: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500 inet6 fe80::216:cbff:febe:16b3%en1 prefixlen 64 scopeid 0x5 inet 192.168.2.5 netmask 0xffffff00 broadcast 192.168.2.255 inet6 2001:660:7307:6031:216:cbff:febe:16b3 prefixlen 64 autoconf ether 00:16:cb:be:16:b3 media: autoselect status: active supported media: autoselect

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

57 / 379

Comments I
Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

Linterface Ethernet en1 poss` ede une adresse IPv4 et deux adresses IPv6 : La premi` ere adresse correspond ` a ladresse lien-local. On retrouve lidentiant dinterface qui suit le pr exe FE80::/64. A noter que lon retrouve les octets de ladresse MAC, sauf pour le premier octet qui est ` a 02 au lieu de 00 suite ` a linversion du bit universel/locala . A noter que la port ee de ladresse est indiqu ee par la cha ne de caract` ere %en1. La valeur scopeid indiqu ee ` a la n de la ligne donne le num ero cette interface. Lautre adresse correspond ` a une adresse globale dont le pr exe a ete attribu es par lop erateur : - 2001 : une adresse unicast globale attribu ee par les autorit es r egionales (cf. Familles dadressage), - 660 : est le pr exe attribu e par RIPE-NCC au r eseau Renater - 7301 est attribu e par Renater ` a T el ecom-Bretagne, - 6031 : est le num ero du r eseau ` a lint erieur de lENST Bretagne. On voit ensuite ladresse MAC qui a servi a construire les identiants dinterface en mettant ` a 1 le second bit et en ajoutant la s equence FFFE au milieu.

c G6 Association

March 28, 2013

58 / 379

Windows 7
Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

Random IID (permanent)

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion Same Prex Random IID (changed every day)

c G6 Association

March 28, 2013

59 / 379

Comments I
Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration

Traditionnellement, la commande ipcong permet de connaitre les param` etres des interfaces r eseaux. Ainsi sur cette exemple, linterface vers le r eseau local poss` ede plusieurs adresses IPv6 : * une adresse lien-local : fe80::3977:3fff:6900:27c9%12. Cette adresse contient la port e qui indique que linterface sur ce syst` eme poss` ede le num ero 12. * une adresse globale permanente :2001:8db:7307:6210:3977:3fff:6900:27c9 qui sera utilis ee par les applications serveur tournant sur cette machine. Sous Vista et Seven, la partie identiant dinterface est al eatoire comme dans cet exemple, tandis que sous XP, lidentiant dinterface d erive de ladresse MAC. * une adresse globale temporaire: 2001:8db:7307:6210:383e:7601:455f:1e3f. Les deux adresses globales partagent le m eme pr exe2001:8db:7307:6210::/64 Il est egalement possible dutiliser la commande netsh pour acc eder aux conguration des interfaces et modier les congurations : C:>netsh netsh>interface ipv6 netsh interface ipv6> Par exemple, pour enlever la conguration automatique des adresses ` a partir des annonces de routeur : C:>netsh netsh>interface ipv6 netsh interface ipv6> set interface LAN routerdiscovery=disabled

Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

60 / 379

Addresses Kind of addresses

Link-Local Scoped Addresses


Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

Global Address, the prex designates the exit interface Link-Local address, the prex is always fe80::/10
The exit interface is not dened A %iface, can be added at the end of the address to avoid ambiguity

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

Example:
Routing tables Internet6: Destination default Gateway fe80::213:c4ff:fe69:5f49%en0 Flags UGSc Netif Expire en0

c G6 Association

March 28, 2013

62 / 379

Comments I
Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

Une adresse lien-local (ou multicast) nindique pas intrins` equement linterface de sortie, puisque toutes les interfaces partagent le m eme pr exe fe80::/10. Il faut donc indiquer de mani` ere explicite sur quelle interface doivent etre emis les paquets. Sur certains syst` emes dexploitation (BSD, Mac OS, Windows), il est possible de la sp ecier en ajoutant ` a la n de ladresse le nom de linterface voulue, pr ec ed e du caract` ere %. Sous Linux, un argument, g en eralement -I permet de la d esigner.

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

63 / 379

Other kind of addresses : ULA (RFC 4193)


Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

Equivalent to the private addresses in IPv4 But try to avoid same prexes on two dierent sites:
avoid renumbering if two company merge avoid ambiguities when VPN are used

These prexes are not routable on the Internet Unique Local IPv6 Unicast Addresses:
8 40 16 64

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

fd

Random Value

SID
local topology

Interface ID
link address

private topology Not Routable in the Internet

http://www.sixxs.net/tools/grh/ula/ c G6 Association

to create your own ULA prex.


March 28, 2013 64 / 379

Comments I
Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

Le RFC 4193 d enit un nouveau format dadresse unicast : les adresses uniques locales (ULA : Unique Local Address). Ces adresses sont destin ees ` a une utilisation locale. Elles ne sont pas d enies pour etre rout ees dans lInternet, mais seulement au sein dune zone limit ee telle quun site ou entre un nombre limit e de sites. Les adresses uniques locales ont les caract eristiques suivantes : Prexe globalement unique. Pr exe clairement d enit facilitant le ltrage sur les routeurs de bordure. Permet linterconnexion de sites sans g en erer de conit dadresse et sans n ecessiter de renum erotation. Ind ependantes des fournisseurs dacc` es ` a lInternet et ne n ecessitent donc pas de connectivit e. Pas de conit en cas de routage par erreur en dehors dun site. Aucune di erences pour les applications, qui peuvent les consid erer comme des adresses globales unicast standard. Les adresses uniques locales sont cr e ees en utilisant un identiant global (Global ID) g en er e pseudo-al eatoirement. Ces adresses suivent le format suivant : Prex (7 bits) : FC00::/7 pr exe identiant les adresses IPv6 locales (ULA) L (1 bit) : Positionn e` a 1, le pr exe est assign e localement. La valeur 0 est r eserv ee pour une utilisation future. Global ID (40 bits) : Identiant global utilis e pour la cr eation dun pr exe unique (Globally Unique Prex). Subnet ID (16 bits) : Identiant dun sous r eseau ` a lint erieur du site. Interface ID (64 bits) : Lindentiant dinterface tel que d enit dans Identiant dinterface. Le site http://www.sixxs.net/tools/grh/ula/ permet de cr eer et denregistrer son adresse ULA ` a partir dune adresse MAC. c G6 Association March 28, 2013 65 / 379

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

Multicast
Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

Generic Format:
8 4 xRPT 4 scope 112

Group ID

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

T (Transient) 0: well known address - 1: temporary address P (Prex) 1 : assigned from a network prex (T must be set to 1) R (Rendez Vous Point) 1: contains the RP address (P & T set to 1) Scope :
1 - interface-local 2 - link-local 3 - reserved 4 - admin-local 5 - site-local 8 - organisation-local e - global f - reserved
c G6 Association March 28, 2013 66 / 379

Comments I
Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

Cette section d ecrit bri` evement le syst` eme dadressage multicast IPv6 et ne sint eresse quaux adresses utilis ees localement par les protocoles directements li e` a IPv6 (D ecouverte de voisins, DHCPv6,...). Pour plus de d etails sur le multicast en g en eral, se reporter au chapitre Multicast. La gure Structure de ladresse IPv6 Multicast donne le format de ladresse IPv6 de multicast d ecrite dans le RFC 4291. Les adresses multicast IPv6 sont d eriv ees du pr exe FF00::/8. Le champ drapeaux de 4 bits est d eni de la mani` ere suivante : Seul le bit T (comme Transient) du champ drapeaux est initialement d ecrit dans le RFC 4291. La valeur 0 indique une adresse multicast bien connue g er ee par une autorit e. La valeur 1 indique une valeur temporaire. Les bits P et R sont d ecrits dans le RFC 3306 et le draft Internet sur embedded-RP (RFC 3956). Le bit de poids fort du champ drapeaux nest pas encore attribu e.

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion Le champ scope de ladresse multicast IPv6 permet den limiter la port ee (scope en anglais). En IPv4, la port ee dun paquet est limit ee par le champ TTL (Time To Live), de m eme des pr exes peuvent etre d enis pour identier des adresses ` a port ee r eduite. Les valeurs suivantes sont d enies : 1 - interface-local : Les paquets ne sortent pas de la machine ( equivalent du loopback en unicast), cette adresse sert pour la communication entre les applications. 2 - link-local : La port ee se limite au r eseau local, les paquets ne peuvent pas traverser les routeurs multicast. Cette valeur est utilis ee en particulier par le protocole de d ecouverte des voisins. 3 - r eserv e 4 - admin-local 5 - site-local 8 - organisation-local E - global Les port ees 0 et F sont r eserv ees. c G6 Association March 28, 2013 67 / 379

Some Well Known Multicast Addresses


Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

4 0

4 scope

112

Group ID

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

ff02:0:0:0:0:0:0:1 All Nodes Address (link-local scope) ff02:0:0:0:0:0:0:2 All Routers Address ff02:0:0:0:0:0:0:5 OSPFIGP ff02:0:0:0:0:0:0:6 OSPFIGP Designated Routers ff02:0:0:0:0:0:0:9 RIP Routers ff02:0:0:0:0:0:0:fb mDNSv6 ff02:0:0:0:0:0:1:2 All-dhcp-agents
ff02:0:0:0:0:1:ffxx:xxxx Solicited-Node Address

ff05:0:0:0:0:0:1:3 All-dhcp-servers (site-local scope)


http://www.iana.org/assignments/ipv6-multicast-addresses c G6 Association March 28, 2013 68 / 379

Comments I
Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

http://www.iana.org/assignments/ipv6-multicast-addresses donne les adresses multicast d enies.

c G6 Association

March 28, 2013

69 / 379

Solicited Multicast Addresses


Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

Derive a Multicast Address from a Unicast Address


Widely used for stateless auto-conguration Avoid the use of broadcast
01-02-03-04-05-06

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration 33-33-ff-04-05-06 Programming IPv6 Applications Conclusion 33-33-ff-00-00-01 fe80::0102:03ff:fe04:0506 GP:0102:03ff:fe04:0506 GP::1

ff02::1:ff04:0506

ff02::1:ff00:0001

c G6 Association

March 28, 2013

70 / 379

Comments I
Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

IPv6 interdit lutilisation de la diusion g en eralis ee (Broadcast) lorsque le Multicast est disponible. Ainsi les protocoles comme Neighbor Discovery, charg es de faire le lien entre les adresses IPv6 et les adresses MAC (` a linstar dARP en IPv4) doivent utiliser une adresse de Multicast. Pour etre plus ecace, au lieu dutiliser ladresse FF02::1 (tous les equipements sur le lien, lutilisation des adresses de multicast sollicit e permet de r eduire consid erablement le nombre d equipements qui recevront la requ ete. Le transparent montre comment lon passe dune adresse IPv6 unicast ` a une adresse de multicast sollicit e. Il sagit de prendre les 3 derniers octets de ladresse unicast que lon concat` ene avec le pr exe IPv6 multicast FF02::1:FF00::/96. Dans lexemple, les deux adresses d erivant dune adresse MAC conduisent ` a la m eme adresse de multicast sollicit e, tandis que la conguration manuelle dune interface conduit ` a la construction dune autre adresse de multicast sollicit e. On peut noter que le risque que deux machines sur un lien aient la m eme adresse de multicast sollicit e est tr` es faible. Pour celle d erivant dune adresse MAC, il faudrait que les 3 derniers octets soient identiques, ce qui est impossible chez un m eme constructeur et la probabilit e davoir, sur un m eme lien, des cartes de deux constructeurs di erents se terminant par les m emes 3 derniers octets est tr` es faible. Pour la num erotation manuelle des interfaces, une machine ayant ladresse GP:::0100:0001 conduirait ` a construire la m eme adresse de multicast sollicit e FF02::1:FF00:0001, mais cette num erotation manuelle des interfaces nest pas logique. Lexemple se poursuit par la transformation de ladresse de Multicast au niveau IPv6 en adresse de multicast de niveau 2. Elle est tr` es sp ecique ` a la technologie et ` a la mani` ere dont est mis en ?uvre le multicast au niveau 2. Pour les r eseaux Ethernet (et d eriv es comme le Wi-Fi), les 4 derniers octets de ladresse multicast sollicit e sont ajout es au pr exe 33-33.

c G6 Association

March 28, 2013

71 / 379

Example
Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

Vlan5 is up, line protocol is up IPv6 is enabled, link-local address is fe80::203:fdff:fed6:d400 Description: reseau C5 Global unicast address(es): 2001:660:7301:1:203:fdff:fed6:d400, subnet is 2001:660:7301:1::/64 Joined group address(es): ff02::1 <- All nodes ff02::2 <- All routers ff02::9 <- RIP ff02::1:ffd6:d400 <- Solicited Multicast

c G6 Association

March 28, 2013

72 / 379

Comments I
Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

Cet exemple montre la conguration des interfaces dun routeur Cisco. Il poss` ede une adresse Lien-Local FE80::203:FDFF:FED6:D400 et une adresse globale toutes deux bas ees sur ladresse MAC, ladresse de multicast sollicit e est donc la m eme pour ses deux adresses IPv6 FF02::1:FFD6:D400. Comme toute machine, il appartient au groupe FF02::1. Comme il sagit dun routeur, il sest aussi inscrit ` a FF02::2. Le fait que le protocole de routage RIP soit utilis e, le fait egalement appartenir au groupe FF02::9.

c G6 Association

March 28, 2013

73 / 379

Question 1
Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

Question 1
1 2 3 4

An address which is four times larger allows That the network will never be renumbered A nearly innite addressing plan To give a permanent IPv6 address to all connected equipments To address four times more machines than IPv4

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

74 / 379

Answer 1
Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

Question 1
1 2 3 4

An address which is four times larger allows That the network will never be renumbered A nearly innite addressing plan To give a permanent IPv6 address to all connected equipments To address four times more machines than IPv4

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

75 / 379

Question 2
Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

Question 2
1 2 3 4

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

All IPv6 addresses are divided in three parts (GP, SID, IID) yes, as dened by the IETF no, anycast addresses are not divided in three part no, only link-local addresses and global addresses are divided in three parts no, this scheme is just for global addresses

c G6 Association

March 28, 2013

76 / 379

Answer 2
Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

Question 2
1 2 3 4

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

All IPv6 addresses are divided in three parts (GP, SID, IID) yes, as dened by the IETF no, anycast addresses are not divided in three part no, only link-local addresses and global addresses are divided in three parts no, this scheme is just for global addresses

c G6 Association

March 28, 2013

77 / 379

Question 3
Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

Question 3
1 2 3 4

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

Which statement is true concerning the address 2001:660:1:10:1000:0000:0000:5678 ? The 2001:660:1::/40 prex is contained in this address The 2001:660:1::/48 prex is contained in this address The 2001:660:1:1::/48 prex is contained in this address The 2001:660::/40 prex is contained in this address

c G6 Association

March 28, 2013

78 / 379

Answer 3
Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

Question 3
1 2 3 4

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

Which statement is true concerning the address 2001:660:1:10:1000:0000:0000:5678 ? The 2001:660:1::/40 prex is contained in this address The 2001:660:1::/48 prex is contained in this address The 2001:660:1:1::/48 prex is contained in this address The 2001:660::/40 prex is contained in this address

c G6 Association

March 28, 2013

79 / 379

Question 4
Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

Question 4
1 2 3 4

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

What is the length of a Link-Local prex ? FE80::/10 The 2001:660::/40 prex is contained in this address FE80::/64 FE80::/128

c G6 Association

March 28, 2013

80 / 379

Answer 4
Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

Question 4
1 2 3 4

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

What is the length of a Link-Local prex ? FE80::/10 The 2001:660::/40 prex is contained in this address FE80::/64 FE80::/128

c G6 Association

March 28, 2013

81 / 379

Question 5
Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

Question 5
1 2 3 4

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

:: symbols replaces a long series of 1 digit in the address is used to indicate a link-local address is used to separate prex form interface ID can appear only once

c G6 Association

March 28, 2013

82 / 379

Answer 5
Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

Question 5
1 2 3 4

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

:: symbols replaces a long series of 1 digit in the address is used to indicate a link-local address is used to separate prex form interface ID can appear only once

c G6 Association

March 28, 2013

83 / 379

Question 6
Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

Question 6
1 2 3 4

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

Site local addresses have been deprecated when the 6bone has been dismantled because every site shared the same prex NAT for IPv6 was necessary because IPv6 addressing space was saturated

c G6 Association

March 28, 2013

84 / 379

Answer 6
Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

Question 6
1 2 3 4

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

Site local addresses have been deprecated when the 6bone has been dismantled because every site shared the same prex NAT for IPv6 was necessary because IPv6 addressing space was saturated

c G6 Association

March 28, 2013

85 / 379

Question 7
Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

Question 7

if a host has the following address : 2001:db8:1:1:102:304:506:708 what will be the multicast solicited address ? FF02::1:FF06:0708 FF02::1:FF01:0203 FE80::102:304:506:708 2001:db8:1:1::FF06:708

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

1 2 3 4

c G6 Association

March 28, 2013

86 / 379

Answer 7
Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

Question 7

if a host has the following address : 2001:db8:1:1:102:304:506:708 what will be the multicast solicited address ? FF02::1:FF06:0708 FF02::1:FF01:0203 FE80::102:304:506:708 2001:db8:1:1::FF06:708

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

1 2 3 4

c G6 Association

March 28, 2013

87 / 379

Question 8
Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

Question 8
1 2 3 4

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

Which address can be used in the unicast global IPv6 networks FE80::2345:67FF:FE89:ABCD FF02::1 longer addresses imply more complex processing inside routers every equipment (router, hosts, applications) have to be aware of IPv6

c G6 Association

March 28, 2013

88 / 379

Answer 8
Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

Question 8
1 2 3 4

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

Which address can be used in the unicast global IPv6 networks FE80::2345:67FF:FE89:ABCD FF02::1 longer addresses imply more complex processing inside routers every equipment (router, hosts, applications) have to be aware of IPv6

c G6 Association

March 28, 2013

89 / 379

Question 9
Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

Question 9

1 2 3 4

The address 2001:660:0001:0010:1000:0000:0000:5678 can also be written 2001:66:1:1:1::5678 2001:660:1:10:1000::5678 2001:660:1:10:1::5678 2001:66::1:1:1::5678

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

90 / 379

Answer 9
Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

Question 9

1 2 3 4

The address 2001:660:0001:0010:1000:0000:0000:5678 can also be written 2001:66:1:1:1::5678 2001:660:1:10:1000::5678 2001:660:1:10:1::5678 2001:66::1:1:1::5678

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

91 / 379

Question 10
Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

Question 10

Which adress is not included in the prex 2001:660:3::/40 2001:660:3::1234 2001:660:30::1234 2001:660:300::1234 2001:660:10::1234

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

1 2 3 4

c G6 Association

March 28, 2013

92 / 379

Answer 10
Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

Question 10

Which adress is not included in the prex 2001:660:3::/40 2001:660:3::1234 2001:660:30::1234 2001:660:300::1234 2001:660:10::1234

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

1 2 3 4

c G6 Association

March 28, 2013

93 / 379

Question 11
Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

Question 11

The interface identier of the IPv6 address can not be manually dened automatically build from MAC address a random number reset every hour a random number reset every packet sent

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

1 2 3 4

c G6 Association

March 28, 2013

94 / 379

Answer 11
Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

Question 11

The interface identier of the IPv6 address can not be manually dened automatically build from MAC address a random number reset every hour a random number reset every packet sent

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

1 2 3 4

c G6 Association

March 28, 2013

95 / 379

Question 12
Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

Question 12

The mechanism to dene the IPv6 Interface Identiers from random number has been designed to: allow IPv6 mobility ensure the anonymity of roaming users ensure the condentiality of IPSec communications irritate network administrators

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

1 2 3 4

c G6 Association

March 28, 2013

96 / 379

Answer 12
Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

Question 12

The mechanism to dene the IPv6 Interface Identiers from random number has been designed to: allow IPv6 mobility ensure the anonymity of roaming users ensure the condentiality of IPSec communications irritate network administrators

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

1 2 3 4

c G6 Association

March 28, 2013

97 / 379

Question 13
Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

Question 13
1 2 3 4

FF02::1 is the multicast address for: all all all all dhcp server of the site IPv6 node of the link IPv6 router of the link dhcp agent of the link

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

98 / 379

Answer 13
Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

Question 13
1 2 3 4

FF02::1 is the multicast address for: all all all all dhcp server of the site IPv6 node of the link IPv6 router of the link dhcp agent of the link

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

99 / 379

Question 14
Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

Question 14
1 2 3 4

FF02::2 is the multicast address for: all all all all dhcp server of the site IPv6 node of the link IPv6 router of the link dhcp agent of the link

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

100 / 379

Answer 14
Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

Question 14
1 2 3 4

FF02::2 is the multicast address for: all all all all dhcp server of the site IPv6 node of the link IPv6 router of the link dhcp agent of the link

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

101 / 379

Question 15
Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

Question 15
1 2 3 4

FF02::1:2 is the multicast address for: all all all all dhcp server of the site IPv6 node of the link IPv6 router of the link dhcp agent of the link

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

102 / 379

Answer 15
Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

Question 15
1 2 3 4

FF02::1:2 is the multicast address for: all all all all dhcp server of the site IPv6 node of the link IPv6 router of the link dhcp agent of the link

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

103 / 379

Question 16
Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

Question 16
1 2 3 4

FF05::1:3 is the multicast address for: all all all all dhcp server of the site IPv6 node of the link IPv6 router of the link dhcp agent of the link

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

104 / 379

Answer 16
Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

Question 16
1 2 3 4

FF05::1:3 is the multicast address for: all all all all dhcp server of the site IPv6 node of the link IPv6 router of the link dhcp agent of the link

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

105 / 379

Question 17
Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

Question 17
1 2 3 4

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

A Solicited multicast group is not generated from a manually set interface identier a random interface identier a global prex the MAC address

c G6 Association

March 28, 2013

106 / 379

Answer 17
Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

Question 17
1 2 3 4

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

A Solicited multicast group is not generated from a manually set interface identier a random interface identier a global prex the MAC address

c G6 Association

March 28, 2013

107 / 379

Question 18
Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

Question 18

A network interface can not be congured with one IPv4 address, one IPv6 link-local address only one IPv6 link-local address two IPv6 link-local addresses, one IPv6 global address one IPv6 link local address, two IPv6 global addresses

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

1 2 3 4

c G6 Association

March 28, 2013

108 / 379

Answer 18
Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses

Question 18

A network interface can not be congured with one IPv4 address, one IPv6 link-local address only one IPv6 link-local address two IPv6 link-local addresses, one IPv6 global address one IPv6 link local address, two IPv6 global addresses

Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

1 2 3 4

c G6 Association

March 28, 2013

109 / 379

Protocol IPv6 Header

IPv6 Packet : Simpler


Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

Denition
IPv6 header follows the same IPv4 principle:

xed address size ... but 4 times larger alignment on 64 bit words (instead of 32)
Features not used in IPv4 are removed Minimum MTU 1280 Bytes

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

If L2 cannot carry 1280 Bytes, then add an adaptation layer such as AAL5 for ATM or 6LoWPAN (RFC 4944) for IEEE 802.15.4. Goal :
Forward packet as fast as possible Less processing in routers More features at both ends
c G6 Association March 28, 2013 111 / 379

Comments I
Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

Hormis la modication de la taille des adresses, ce qui conduit ` a une taille den-t ete de 40 octets (le double de len-t ete IPv4 sans les options), le protocole IP a subi un toilettage reprenant lexp erience acquise au l des ans avec IPv4. Le format des en-t etes IPv6 est simpli e et permet aux routeurs de meilleures performances dans leurs traitements : La taille des adresses a et e multipli ee par 4. Les champs sont align es sur des mots de 64 bits, ce qui optimise leur traitement, surtout avec les nouvelles architectures ` a 64 bits. La taille minimale des MTU : Maximum Transmission Unit est de 1 280 octets. Le choix de 1 280 comme MTU minimal en IPv6 permet le tunnelage de paquets IPv6. En eet, la taille de 1 500 octets est g en eralement admise car elle correspond ` a la valeur impos ee par Ethernet. La majorit e des autres r eseaux orent une taille sup erieure. Pour les r eseaux ne le permettant pas, une couche dadaptation (comme avec les couches dadaptation AAL dATM) ou 6LoWPAN avec les r eseaux de capteurs (comme IEEE 802.15.4) devra etre mise en oeuvre pour pouvoir transporter les paquets IPv6. Lid ee est de retirer du cur de r eseau les traitements compliqu es. Les routeurs ne font que forwarder les paquets vers la destination, les autres traitements (fragmentation, ...) seront fait par l emetteur du paquet.

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

112 / 379

IPv6 Header
Concepts Facts on Addresses 0..................7...................15...................23....................31 Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

Ver.

IHL Identier TTL

DiServ ag Protocol Source Address Destination Address

Packet Length Oset Checksum

Associated Protocols & Mechanisms IPv6 & DNS

Options Security Integration Programming IPv6 Applications Conclusion Layer 4

c G6 Association

March 28, 2013

113 / 379

IPv6 Header
Concepts Facts on Addresses 0..................7...................15...................23....................31 Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

Ver.

DiServ

Packet Length

TTL

Protocol Source Address Destination Address

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

Layer 4

c G6 Association

March 28, 2013

113 / 379

IPv6 Header
Concepts Facts on Addresses 0..................7...................15...................23....................31 Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

DiServ Payload Length

Flow Label Next header Hop Limit

Source Address

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion Layer 4 or extensions Destination Address

c G6 Association

March 28, 2013

113 / 379

Comments I
Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

La taille des en-t etes est xe. Le routeur peut facilement d eterminer o o commence la zone de donn ees utiles. En IPv4 les options n etaient pas utilis ees car mal mises en uvre dans les routeurs, ce qui fait que tr` es peu de paquets en contenait. Pour rendre plus ecace des ajouts de traitements suppl ementaires, IPv6 repose sur des extensions qui peuvent etre vu comme des protocoles de niveau sup erieur. La fonction de fragmentation a et e retir ee des routeurs. Les champs qui sy reportent (identication, drapeau, place du fragment) ont et e supprim es. Normalement les algorithmes de d ecouverte du PMTU(Path MTU) evitent davoir recours ` a la fragmentation. Si celle-ci sav` ere n ecessaire, une extension est pr evue. Len-t ete ne contient plus le champ checksum, qui devait etre ajust e par chaque routeur en raison de la d ecr ementation du champ dur ee de vie. Par contre, pour eviter quun paquet dont le contenu est erron e en particulier sur ladresse de destination ne se glisse dans une autre communication, tous les protocoles de niveau sup erieur doivent mettre en ?uvre un m ecanisme de checksum de bout en bout incluant un pseudo-en-t ete qui prend en compte les adresses source et destination. Le checksum dUDP, facultatif pour IPv4, devient ainsi obligatoire. Pour ICMPv6, le checksum int` egre le pseudo-en-t ete, alors que pour ICMPv4, il ne portait que sur le message ICMP. Les champs TTL ont et e renomm e en Hop Limit et le champ Protocol est renomm e en Next Header.

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

Un champ Flow Label a et e ajout e au paquet.

Len-t ete contient moins de champs, donc on a un traitement simpli e dans le routeur. La taille de len-t ete IPv6 nest que le double de len-t ete IPv4, bien que les adresses soient quatre fois plus grande.

c G6 Association

March 28, 2013

114 / 379

Protocol IPv6 Extensions

Extensions
Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

Seen as a L4 protocol Processed only by destination


Except Hop-by-Hop processed by every router Equivalent of option eld in IPv4

No size limitation Several extensions can be linked to reach L4 protocol Processed only by destination
Destination (mobility) Routing (loose source routing, mobility) Fragmentation Authentication (AH) Security (ESP)

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

116 / 379

Comments I
Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

Les extensions peuvent etre vues comme un protocole 3.5 (entre la couche 3 et la couche 4). En eet, ` a part lextension de proche-en-proche, qui est trait ee par tous les routeurs travers es, les autres extensions ne sont trait ees que par le destinataire du paquet (i.e. celui sp eci e dans le champ adresse de destination du paquet IPv6). Si dun point de vue th eorique les extensions sont sup erieurs aux options dIPv4, dans la r ealit e tr` es peu sont utilis ees ` a grande echelle et restent du domaine de la recherche.

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

117 / 379

Extensions in packets
Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

IPv6 Hdr
NH=TCP

TCP Hdr

DATA

IPv6 Hdr
NH=Routing

Routing
NH=TCP

TCP Hdr

DATA

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

IPv6 Hdr
NH=Routing

Routing
NH=Fragment

Fragment
NH=TCP

TCP Hdr

DATA

c G6 Association

March 28, 2013

118 / 379

Comments I
Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

Cette gure montre la souplesse avec laquelle plusieurs extensions peuvent etre cha n ees. Chaque extension contient dans son en-t ete un champ en-t ete suivant et longueur. Le premier paquet ne contient pas dextension, le champ en-t ete suivant pointe sur TCP. Le second paquet contient une extension de routage qui pointe sur TCP. Dans le dernier paquet, une extension de fragmentation est ajout ee apr` es celle de routage. Si cet encha nement dextension ore beaucoup plus de souplesse que les options dIPv4, il rend dicile la lecture des num eros de port, il faut en eet lire tout lencha nement dextension pour arriver au protocole de niveau 4. Ceci a servi de justication au lidenticateur de ux qui permettait de re eter au niveau 3 un ux particulier et evitait de d erouler lencha nement. Bien entendu, les pare-feux devront aux num eros de ports.

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

119 / 379

Extension Superiority
Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

special treatment

special treatment

special treatment

R1

IPv4:

A -> R1

IPv4:

A -> B

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

option:

-> B

option:

R1 ->

B
c G6 Association March 28, 2013 120 / 379

Extension Superiority
Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

R1

IPv6:

A -> R1

Associated Protocols & Mechanisms Extension: IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion -> B

B
c G6 Association March 28, 2013 120 / 379

Extension Superiority
Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

R1

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

R1 is the destination, packet is sent to Routing Extension layer which swaps the addresses and forwards the packet.

B
c G6 Association March 28, 2013 120 / 379

Extension Superiority
Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

R1

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

B is the destination, packet is sent to Routing Extension layer which sends it to upper layer protocol. ULP will see a packet from A to B.

IPv6:

A -> B

Extension:

R1 ->

B
c G6 Association March 28, 2013 120 / 379

Comments I
Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

Cet exemple permet de souligner les probl` emes dutilisation des options dans IPv4, dillustrer la notion de tunnel et le concept de transmission multicast. La solution (cf. gure Traitement de loption LSR en IPv4) consiste ` a emettre le paquet avec loption de routage lib eral par la source (loose source routing). Le paquet est destin e au routeur R1, qui permute ladresse de destination avec celle contenue dans le champ option. Le paquet franchissant les routeurs entre A et R1 puis R1 et B sera retard e` a cause de la pr esence du champ option. Avec IPv4, les options sont obligatoirement prises en compte par tous les routeurs interm ediaires. Ceux-ci, pour des raisons de performance, privil egient les paquets sans option. De plus, par construction, la longueur du champ option est limit ee ` a 40 octets, ce qui limite lemploi simultan e de plusieurs options. Avec IPv6 la philosophie est di erente comme le montre la gure Traitement avec lextension de routage IPv6. Un paquet normal ` a destination de R1 est envoy e dans le r eseau et est trait e normalement par les routeurs interm ediaires. R1 reconnait son adresse et le passe ` a la couche sup erieur qui traite lextension de routage. Cette couche inverse les adresses et r e emet le paquet vers la nouvelle destination.

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

Il faut noter que cet exemple est purement th eorique, car le

c G6 Association

March 28, 2013

121 / 379

Extension Order is Important


Concepts IPv6 Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

0 Hop by Hop 60 Destination 43 Routing 44 Fragmentation 51 Authentication 50 Security 60 Destination Processed by the destination Processed by the destination Processed by the destination Processed by the destination Processed by routers listed in Routing extension Processed by routers listed in Routing extension Processed by every router

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

6, 11, ... ULP Processed by the destination

c G6 Association

March 28, 2013

122 / 379

Extension Order is Important


Concepts IPv6 Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

0 Hop by Hop 60 Destination 43 Routing 44 Fragmentation 51 Authentication 50 Security 60 Destination Destination information will be protected Processed by the destination Costly to reassemble in each router listed Authentication can only be made on full packet Processed by routers listed in Routing extension Processed by routers listed in Routing extension Processed by every router

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

6, 11, ... ULP Processed by the destination

c G6 Association

March 28, 2013

122 / 379

Extensions Generic Format


Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

0..................7...................15...................23....................31 Next Header Ext. Length

Extension Data (options)

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

Next Header: Save values as in IPv6 packets Length: numbers 64-bit long words for variable length extensions (0 for xed length fragmentation extension) Data: options (Hop by hop, Destination) or specic format

c G6 Association

March 28, 2013

123 / 379

Comments I
Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

Toutes les extensions sont construites suivant le m eme mod` ele. Lextension commence par un champ Next Hop qui indique quel sera la nature de lencapsulation suivante, comme pour len-t ete IPv6. Le deuxi` eme champ contient la longueur de lextension, g en eralement en mot de 64 bits. Pour lextension de fragmentation qui a une longueur xe, la valeur est 0.

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

La partie donn ees peut etre structur ee en options (comme les extensions de proche-en-proche ou de destination) ou avoir un format sp ecique.

c G6 Association

March 28, 2013

124 / 379

Hop by Hop (NH=0)


Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

Always rst position Composed of options:


Pad1 Padn Router Alert CALIPSO Quick Start Jumbogram

0 1 5 7 38 194

Length in Bytes

lgth.

00 Value See RFC 5570 See RFC 4782 Datagram Length

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

2
lgth. lgth.

UU C VVVVV

c G6 Association

March 28, 2013

125 / 379

Hop by Hop (NH=0)


Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

Always rst position Composed of options:


Pad1 Padn Router Alert
When CALIPSO 00: 01: 10: 11:

0 1 5 7

Length in Bytes

lgth.

00 Value See RFC Option data 5570 may See RFC 4782 Datagram Length
be changed: 0: no, 1: yes

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

2
lgth. lgth.

Quick Start

value unknown: skip, discard, discard + ICMP, Discard + ICMP (if not multicast)

38

Jumbogram

194

UU C VVVVV

c G6 Association

March 28, 2013

125 / 379

Hop by Hop (NH=0)


Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

Always rst position Composed of options:


Pad1 Padn Router Alert CALIPSO Quick Start
1: RSVP 2: Active 4 to 35: 36 to 67:

0 1 5 7 38

Length in Bytes

lgth.

00 Value See RFC 5570 See RFC 4782 Datagram Length

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

2
lgth. lgth.

- 0: Multicast Listener Jumbogram 194

Possible options:

UU C VVVVV

Discovery (RFC 2710) (RFC 2711) Networks (RFC 2711) Aggregated Reservation Nesting Level (RFC 3175) QoS NSLP Aggregation Levels 0-31 (draft-ietf-nsis-qos-nslp-18.txt)

c G6 Association

March 28, 2013

125 / 379

Comments I
Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

Cette extension (en anglais : hop-by-hop) se situe toujours en premi` ere position et est trait ee par tous les routeurs que le paquet traverse. Le type associ e (contenu dans le champ den-t ete en-t ete suivant de len-t ete pr ec edent) est 0 et le champ longueur de lextension contient le nombre de mots de 64 bits moins 1. Lextension est compos ee doptions. Pour linstant, seules quatre options, dont deux de bourrage, sont d enies (cf. Format des options IPv6). Chaque option est une suite doctets. Le premier octet est un type, le deuxi` eme (sauf pour loption 0) contient la longueur de loption moins 2. Les deux premiers bits de poids fort du type d enissent le comportement du routeur quand il rencontre une option inconnue : 00 : le routeur ignore loption ; 01 : le routeur rejette le paquet ; 10 : le routeur rejette le paquet et retourne un message ICMPv6 dinaccessibilit e; 11 : le routeur rejette le paquet et retourne un message ICMPv6 dinaccessibilit e si ladresse de destination nest pas multicast. Le bit suivant du type indique que le routeur peut modier le contenu du champ option (valeur ` a 1) ou non (valeur ` a 0). Les quatre options de proche-en-proche sont : Pad1 (type 0). Cette option est utilis ee pour introduire un octet de bourrage. Padn (type 1). Cette option est utilis ee pour introduire plus de 2 octets de bourrage. Le champ longueur indique le nombre doctets qui suivent.

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

126 / 379

Comments II
Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

Les options de bourrage peuvent sembler inutiles avec IPv6 puisquun champ longueur pourrait en donner la longueur exacte. En fait les options de bourrage servent ` a optimiser le traitement des paquets en alignant les champs sur des mots de 32, voire 64 bits ; le RFC 2460 discute en annexe de la mani` ere doptimiser le traitement tout en minimisant la place prise par les options. Loption Router Alert (RFC 2711) demande ` a un routeur dexaminer le contenu des donn ees quil relaie (Router Alert existe egalement en IPv4, RFC 2113). En principe, le processus de relayage (recopier le paquet sur une interface de sortie en fonction de ladresse destination et des tables de routage) doit etre le plus rapide possible. Mais pour des protocoles comme la gestion des groupes de multicast avec MLD (Multicast Listener Discovery) ou la signalisation des ux avec RSVP, tous les routeurs interm ediaires doivent tenir compte des donn ees. L emetteur envoie les donn ees ` a la destination, mais sil pr ecise loption Router Alert, les routeurs interm ediaires vont analyser les donn ees, voire modier leur contenu avant de relayer le paquet. Ce m ecanisme est ecace puisque les routeurs nont pas ` a analyser le contenu de tous les paquets dun ux. Le type de loption vaut 5. Il commence par la s equence binaire 00, puisquun routeur qui ne conna t pas cette option doit relayer le paquet sans le modier. Le champ valeur de loption contient : 0 : pour les messages du protocole MLD de gestion des groupes multicast ; 1 : pour les messages RSVP ; 2 : pour les r eseaux actifs ; 4` a 35 : niveau dimbrication de r eservation pour RSVP 36 ` a 67 : niveau dimbrication de r eservation pour NSIS

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

127 / 379

Comments III
Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

Loption CALIPSO permet de donner un degr e de condentialit e au paquet transport e. Elle est d ecrite dans le RFC 5570, mais doit etre limit e a un intranet, car lutilisation de lextension Hop-By-Hop nuit a lecacit e du relayage des paquets. Loption Demarrage Rapide (Quick Start) de mani` ere exp erimentale par le RFC 4782. Elle permet aux applications de collaborer avec les routeurs pour d eterminer le d ebit auquel lapplication peut commencer ` a emettre. Jumbogramme (type 194 ou 0xc2, RFC 2675). Cette option est utilis ee quand le champ longueur des donn ees du paquet IPv6 nest pas susant pour coder la taille du paquet. Cette option est essentiellement pr evue pour la transmission ` a grand d ebit entre deux equipements. Si loption jumbogramme est utilis ee, le champ longueur des donn ees utiles dans len-t ete IPv6 vaut 0. Noter que le type commence par la s equence binaire 11, ce qui permet au routeur ne traitant pas les jumbogrammes den informer la source. Celle-ci pourra r e emettre linformation sans utiliser cette option. les autres valeurs sont r eserv ees.

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

128 / 379

Destination (NH=60)
Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

Tun. Encap. Limit Home Address (MIP)

Limit

201 Home Address

16

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

Tunnel Encapsultation Limit (RFC 2473): the maximum number of nested encapsulations of a packet. When it reaches 0, the packet is discard and an ICMPv6 message is sent. Home Address (RFC 3775): Contains the Home Address of the sender (IPv6 header contains the Care-of Address).
c G6 Association March 28, 2013 129 / 379

Comments I
Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

Cette extension, dont le format est identique ` a lextension de proche-en-proche ( contient des options qui sont trait ees par l equipement destinataire. Le RFC 2460 d enissant IPv6 ne d enit que les options de bourrage Pad1 et Padn. Les autres options sont d enies dans dautres RFC ou encore exp erimentales. Les valeurs: 4 : Tunnel Encapsulation Limit [RFC 2473]: Contient le nombre de fois maximum quun paquet peut etre encapsul e dans les tunnels. La valeur est d ecr ement ee a chaque fois quun nouveau tunnel est ajout e. Si la valeur atteint 0, le paquet est d etruit et un message ICMPv6 est emis. 201 (0xC9): contient ladresse sur le r eseau m` ere (Home Address) [RFC 3775] utilis ee pour loptimisation de la mobilit e. Len-t ete IPv6 contient dans le champ adresse de la source, ladresse sur le r eseau visit e (Care-of Address). Cette option est utilis ee pour eviter quun op erateur ne rejette un paquet dont ladresse de la source ne correspond pas ` a la plage de valeur quil a attribu e au site. Le r ecepteur remplace ladresse de la source de len-t ete IPv6 par celle contenue dans cette option.

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

130 / 379

Routing (NH=43)
Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

0..................7...................15...................23....................31 Next Header Ext. Length=2 Reserved Routing Type=2 Seg. Left=1

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion Home Address

c G6 Association

March 28, 2013

131 / 379

Comments I
Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

Dans IPv4, le routage peut etre strict (le routeur suivant pr esent dans la liste doit etre un voisin directement accessible) ou lib eral (loose) (un routeur peut utiliser les tables de routage pour joindre le routeur suivant servant de relais). Dans IPv6, seul la sp ecication dun changement dadresse au dernier lien est sp ec e. En eet, le routage strict etait initialement mis en place surtout pour des raisons de s ecurit e. La source devait etre absolument s ure du chemin pris par les paquets. Cette utilisation a maintenant disparu du r eseau. Le routage par la source lib eral pouvait conduire ` a une duplication de paquets dans le r eseau et a et e supprim e dans les derni` ere sp ecications. Cette amplication du trac permettant de r ealiser des attaques par d eni de service. Ainsi si dans la liste des routeurs a traverser, on met une liste R1, R2, R1, R2, .... le paquet fera du ping pong entre ces deux routeurs, comme lexplique le RFC 5095. Le seul format de routage existant est le type 2 (appel e RH2, pour Routing Header type 2) comme le montre la gure Format de lextension routage. Il sert pour la mobilit e. Son r ole est inverse de loption Home Address de lextension Destination. Quand un paquet est emis vers un noeud mobile, ladresse dans le paquet IPv6 contient ladresse du r eseau visit e, et ladresse permanente est stock ee dans lextension RH2. Le noeud mobile reAoit le paquet IPv6, traite lextension et par cons equent remplace ladresse de destination par la Home Address. Le paquet est ensuite transmis au niveau 4 qui na pas la notion des changements dadresses du n?ud. Le slide donne le format de lextension de routage par la source : - Le champ longueur de len-t ete indique le nombre de mots de 64 bits qui composent lextension. Pour lextension de type 0, cela correspond au nombre dadresses pr esentes dans la liste, multipli e par 2. Dans len-t ete du type 2, il est x e` a 2 car une seule adresse est possible. - Le champ type indique la nature du routage. Le routage par la source, de type 0 est sp eci ea et e d epr eci e (cf RFC 5095) pour les possibilit e amplication du trac expliqu e pr ec edemment. Dans la description initiale, le champ longueur pouvait contenir un nombre quelconque dadresses de routeurs interm ediaire. Le draft-manral-ipv6-rh4-00.txt aujourdhui expir e proposait de borner le nombre dadresses ` a 4.

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

132 / 379

Comments II
Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

Le type 1 correspond ` a un adressage exp erimental (Nimrod) test e au d ebut dIPv6, il est egalement abandonn e. Le type 2 correspond ` a la mobilit e, d ecrit ci dessus. - Le nombre de segments restant est d ecr ement e apr` es la travers ee dun routeur. Il indique le nombre d equipements qui doivent encore etre travers es. Il permet de trouver ladresse qui devra etre substitu ee. Pour RH2, il est forcement ` a 1. Les 32 bits suivants sont inutilis es pour pr eserver lalignement sur 64 bits du premier mot et avoir ainsi la suite des adresses IPv6 sur ces m emes fronti` eres.

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

133 / 379

Fragmentation (NH=44)
Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

0..................7...................15...................23....................31 Next Header Ext. Length=2 Identication Oset 0 0 M

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

Compared to IPv4, it is equivalent to DF=1 A Router never fragments packets but sends an ICMPv6 message (Packet Too Big) with the expected size The Sender either uses the fragmentation extension or adapts TCP segments

c G6 Association

March 28, 2013

134 / 379

Comments I
Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

La fragmentation telle quelle est pratiqu ee dans IPv4 nest pas tr` es performante. Initialement, elle servait ` a rendre transparente les limitations physiques des supports de transmission. Dans IPv4 quand un routeur ne peut pas transmettre un paquet ` a cause de sa trop grande taille et si le bit DF (dont fragment) est ` a 0, il d ecoupe linformation ` a transmettre en fragments. Or le r eseau IP etant un r eseau ` a datagramme, il ny a pas de possibilit e de contr oler les fragments. Deux fragments successifs peuvent prendre deux chemins di erents et par cons equent seul le destinataire peut eectuer le r eassemblage. En cons equence, apr` es la travers ee dun lien impliquant une fragmentation, le reste du r eseau ne voit passer que des paquets de taille r eduite. Il est plus int eressant dadapter la taille des paquets ` a l emission. Ceci est fait en utilisant les techniques de d ecouverte du MTU (voir M ecanisme de d ecouverte du PMTU (RFC 1981)). En pratique une taille de paquets de 1 500 octets est presque universelle. Il existe pourtant des cas o o la fragmentation est n ecessaire. Ainsi une application telle que NFS sur UDP suppose que la fragmentation existe et produit des messages de grande taille. Comme on ne veut pas modier ces applications, la couche r eseau dIPv6 doit aussi etre capable de g erer la fragmentation. Pour r eduire le travail des routeurs interm ediaires, la fragmentation se fera chez l emetteur et le r eassemblage chez le r ecepteur. Le format de lextension de fragmentation est donn e dans le slide pr ec edent. La signication des champs est identique ` a celle dIPv4 : Le champ place du fragment indique lors du r eassemblage o o les donn ees doivent etre ins er ees. Ceci permet de parer les probl` emes dus au d es equencement dans les r eseaux orient es datagrammes. Comme ce champ est sur 13 bits, la taille de tous les segments, sauf du dernier, doit etre multiple de 8 octets. Le bit M sil vaut 1 indique quil y aura dautres fragments emis. Le champ identication permet de rep erer les fragments appartenant ` a un m eme paquet initial. Il est di erent pour chaque paquet et recopi e dans ses fragments. Le bit DF (dont fragment) nest plus n ecessaire puisque, si un paquet est trop grand, il y aura rejet du paquet par le routeur. c G6 Association March 28, 2013 135 / 379

Comments II
Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

Dans IPv4, la valeur dune option etait cod ee de mani` ere ` a indiquer au routeur eectuant la fragmentation si elle devait etre copi ee dans les fragments. Dans IPv6, len-t ete et les extensions qui concernent les routeurs interm ediaires (pour linstant proche-en-proche, routage par la source) sont recopi ees dans chaque fragment.

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

136 / 379

Protocol ICMPv6

ICMPv6
Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

ICMPv6 is dierent from ICMP for IPv4 (RFC 4443)


IPv6 (or extension): 58

Features are extended and better organized


Never lter ICMPv6 messages blindly, be careful to what you do (see RFC 4890)

Format :
0..................7...................15...................23....................31 Type Code Checksum

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

Options

Precision
type code nature of the message ICMPv6 code species the cause of the message ICMPv6 mandatory checksum used to verify the integrity of ICMP packet
c G6 Association March 28, 2013 138 / 379

ICMPv6 : Two Functions


Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

Error occurs during forwarding (value < 128) 1 Destination Unreachable 2 Packet Too Big 3 Time Exceeded 4 Parameter Problem Management Applications (value > 128) 128 Echo Request 129 Echo Reply 130 Group Membership Query 131 Group Membership Report 132 Group Membership Reduction 133 Router Solicitation 134 Router Advertissement 135 Neighbor Solicitation 136 Neighbor Advertissement 137 Redirect
c G6 Association March 28, 2013 139 / 379

Comments I
Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

Associated Protocols & Mechanisms IPv6 & DNS Security Integration

Le protocole de contr ole dIP a et e revu. Dans IPv4, ICMP (Internet Message Control Protocol) sert ` a la d etection derreurs (par exemple : equipement inaccessible, dur ee de vie expir ee,...), au test (par exemple ping), ` a la conguration automatique des equipements (redirection ICMP, d ecouverte des routeurs). Ces trois fonctions ont et e mieux d enies dans IPv6. De plus ICMPv6 (RFC 2463) int` egre les fonctions de gestion des groupes de multicast (MLD : Multicast Listener Discovery) qui sont eectu ees par le protocole IGMP (Internet Group Message Protocol) dans IPv4. ICMPv6 reprend aussi les fonctions du protocole ARP utilis e par IPv4. Le protocole se voit attribuer le num ero 58. Le format g en erique des paquets ICMPv6 est donn e gure Format g en erique dun message ICMP : Le champ type code la nature du message ICMPv6. Contrairement ` a IPv4 o o la num erotation ne suivait aucune logique, les valeurs inf erieures ` a 127 sont r eserv ees aux messages derreur. Les autres valeurs r eserv ees aux messages dinformation, parmi lesquels se trouvent ceux utilis es par le protocole d ecouverte des voisins (neighbor discovery) pour la conguration automatique des equipements. Le champ code pr ecise la cause du message ICMPv6. Le champ checksum permet de v erier lint egrit e du paquet ICMP. Ce champ est calcul e avec le pseudo-en-t ete d ecrit au chapitre Checksum au niveau transport. Les messages ICMPv6 de compte rendu derreur contiennent dans la partie donn ees le paquet IPv6 ayant provoqu e lerreur. Pour eviter des probl` emes de fragmentation puisquil est dicilement envisageable de mettre en ?uvre la d ecouverte du MTU, la longueur du message ICMPv6 est limit ee ` a 1 280 octets et par cons equent le contenu du paquet IPv6 peut etre tronqu e.

Contrairement ` a une pratique couramment r epandue en IPv4, il ne faut jamais ltrer les messages ICMPv6 Programming IPv6 Applications Conclusion (en particulier Paquet trop grand) car cela peut avoir des cons equences n efastes sur le bon fonctionnement du r eseau.

c G6 Association

March 28, 2013

140 / 379

Destination unreachable
Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

0..................7...................15...................23....................31 Type = 1 Code Unused Checksum

Packet which generated error (with MTU constraint)

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

0 - No route to destination 1 - Communication with destination administratively prohibited 2 - Beyond scope of source address 3 - Address unreachable 4 - Port unreachable 5 - Source address failed ingress/egress policy 6 - Reject route to destination
c G6 Association March 28, 2013 141 / 379

Comments I
Concepts Facts on Addresses Ce message est emis par un routeur interm ediaire quand le paquet ne peut pas etre transmis parce que soit : Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

le routeur ne trouve pas dans ses tables la route vers la destination (code = 0) ; le franchissement dun equipement de type rewall est interdit (raison administrative, code = 1) ; ladresse destination ne peut etre atteinte avec ladresse source fournie, par exemple si le message est adress e` a un destinataire hors du lien, ladresse source ne doit pas etre une adresse lien-local (code = 2) ; toute autre raison comme par exemple la tentative de routage dune adresse locale au lien (code = 3) ; le destinataire peut aussi emettre un message ICMPv6 de ce type quand le port destination contenu dans le paquet nest pas aect e` a une application (code = 4) ; le paquet a et e rejet e` a cause de son adresse source (code = 5) ; la route vers la destination conduit a un rejet du paquet (code = 6).

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

142 / 379

Packet Too Big


Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

0..................7...................15...................23....................31 Type = 2 Code = 0 MTU Checksum

Packet which generated error (with MTU constraint)

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

143 / 379

Comments I
Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

Ce message ICMPv6 est utilis e par le protocole de d ecouverte du MTU pour trouver la taille optimale des paquets IPv6 an quils puissent traverser les routeurs. Ce message contient la taille du MTU accept ee par le routeur pour que la source puisse ecacement adapter la taille des donn ees. Ce champ manquait cruellement dans les sp ecications initiales de IPv4, ce qui compliquait la d ecouverte de la taille maximale des paquets utilisables sur lensemble du chemin (RFC 1981). Pour IPv4, le RFC 1191 proposait d ej` a une modication du comportement des routeurs pour y inclure cette information.

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

144 / 379

Time Exceeded
Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

0..................7...................15...................23....................31 Type = 3 Code Unused Checksum

Packet which generated error (with MTU constraint)

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

Code: 0 - Hop limit exceeded in transit 1 - Fragment reassembly time exceeded Used by traceroute6 to nd the path

c G6 Association

March 28, 2013

145 / 379

Comments I
Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

Ce message indique que le paquet a et e rejet e par le routeur : soit parce que le champ nombre de sauts a atteint 0 (code = 0) ; soit quun fragment sest perdu et le temps allou e au r eassemblage a et e d epass e (code = 1). Ce message sert aussi ` a la commande traceroute pour d eterminer le chemin pris par les paquets.

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

146 / 379

Error
Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

0..................7...................15...................23....................31 Type = 4 Code Pointer Checksum

Packet which generated error (with MTU constraint)

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

Code: 0 - Erroneous header eld encountered 1 - Unrecognized Next Header type encountered 2 - Unrecognized IPv6 option encountered Pointer: Byte where error occured

c G6 Association

March 28, 2013

147 / 379

Comments I
Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

Ce message est emis par un n?ud ayant d etect e une erreur de syntaxe dans len-t ete du paquet IP ou des extensions. Le champ code r ev` ele la cause de lerreur : la syntaxe de len-t ete nest pas correcte (code = 0) ; le num ero en-t ete suivant nest pas reconnu (code = 1) ; une option de lextension (par exemple proche-en-proche ou destination) nest pas reconnue et le codage des deux bits de poids fort oblige ` a rejeter le paquet (code = 2). Le champ pointeur indique loctet o o lerreur est survenue dans le paquet retourn e.

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

148 / 379

Ping
Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

0..................7...................15...................23....................31 Type = 128/129 Identier Code =0 Checksum Sequence Number

Data

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

Type: 128: request 129 : reply

c G6 Association

March 28, 2013

149 / 379

Comments I
Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

Ces deux messages servent en particulier ` a la commande ping permettant de tester laccessibilit e dune machine. Le principe de fonctionnement est le m eme que pour IPv4, une requ ete (type 128) est envoy ee vers l equipement dont on veut tester le fonctionnement, celui-ci r epond par le message r eponse d echo (type 129). Le champ identicateur permet de distinguer les r eponses dans le cas o o plusieurs commandes ping seraient lanc ees simultan ement sur la machine. Le champ num ero de s equence permet dassocier la r eponse ` a une requ ete pour mesurer le temps daller et retour dans le cas o o les demandes sont emises en continu et que le d elai de propagation est elev e. Le champ donn ees permet daugmenter la taille du message pour les mesures.

c G6 Association

March 28, 2013

150 / 379

Protocol Impact on Layer 4

Pseudo Header
Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

0..................7...................15...................23....................31

If Jumbograms are used

Source Address

Destination Address

Associated Protocols & Mechanisms Data Length IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion 00 L4 protocol

Extensions are excluded

c G6 Association

March 28, 2013

152 / 379

Comments I
Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

Parmi les di erences existant entre les datagrammes IPv4 et IPv6, il y a la disparition du checksum dans les en-t etes IP. Cette somme de contr ole etait utilis ee pour v erier la validit e de len-t ete du paquet trait e. En IPv4, il est n ecessaire de la v erier et de lajuster lors de chaque retransmission par un routeur, ce qui entra ne une augmentation du temps de traitement du paquet. Cette somme ne v erie que len-t ete IPv4, pas le reste du paquet. Aujourdhui les supports physiques sont de meilleure qualit e et savent d etecter les erreurs (par exemple, Ethernet a toujours calcul e sa propre somme de contr ole ; PPP, qui a presque partout remplac e SLIP, poss` ede un CRC). Lint er et de la somme de contr ole a diminu e et ce champ a et e supprim e de len-t ete IPv6. Le checksum sur len-t ete IPv6 nexistant plus, il faut quand m eme se pr emunir des erreurs de transmission. En particulier, une erreur sur ladresse de destination va faire router un paquet dans une mauvaise direction. Le destinataire doit donc v erier que les informations den-t ete IP sont incorrectes pour eliminer ces paquets. Dans les mises en oeuvre des piles de protocoles Internet, les entit es de niveau transport remplissent certains champs du niveau r eseau. Il a donc et e d ecid e que tous les protocoles au-dessus dIPv6 devaient utiliser une somme de contr ole int egrant ` a la fois les donn ees et les informations de len-t ete IPv6. La notion de pseudo-en-t ete d erive de cette conception. Pour un protocole comme TCP qui poss` ede une somme de contr ole, cela signie modier le calcul de cette somme. Pour un protocole comme UDP qui poss` ede une somme de contr ole facultative, cela signie modier le calcul de cette somme et le rendre obligatoire. IPv6 a uni e la m ethode de calcul des di erentes sommes de contr ole. Celle-ci est calcul ee sur lensemble form e de la concat enation dun pseudo-en-t ete et du paquet du protocole concern e. Lalgorithme de calcul du checksum est celui utilis e en IPv4. Il est tr` es simple ` a mettre en ?uvre et ne demande pas dop erations compliqu ees. Il sagit de faire la somme en compl ement ` a 1 des mots de 16 bits du pseudo-en-t ete, de len-t ete du protocole de transport, et des donn ees, puis de prendre le compl ement ` a 1 du r esultat.

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

153 / 379

Comments II
Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

Il faut noter que les informations contenues dans le pseudo-en-t ete ne seront pas emises telles quelles sur le r eseau. Le champ en-t ete suivant du pseudo-en-t ete ne re` ete pas celui qui sera emis dans les paquets puisque les extensions ne sont pas prises en compte dans le calcul du checksum. Ainsi, si lextension de routage est mise en ?uvre, ladresse de la destination est celle du dernier equipement. De m eme le champ longueur est sur 32 bits pour contenir la valeur de loption jumbogramme, si celle-ci est pr esente.

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

154 / 379

Layer 4 protocols
Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

IPv6 is almost transparent for Layer 4 protocol, except: Jumbogram impact:


UDP: if Jumbogram are used and length > 65535 UDP.length = 0 and use Jumbogram length TCP: Use PMTU if Length > 65535

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

UDP-Light: For multimedia ow a bit error is less important than a packet loss. UDP-light is used to not include UDP payload in L4 Checksum. SCTP: during session initialisation, IPv4 and IPv6 addresses are exchanged.

c G6 Association

March 28, 2013

155 / 379

Comments I
Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

Les modications apport ees aux protocoles de niveau 4 UDP et TCP sont minimes. Lun des pr e-requis ` a la mise en ?uvre dIPv6 etait de laisser en l etat aussi bien TCP (Transmission Control Protocol) quUDP (User Datagram Protocol). Ces protocoles de transport sont utilis es par la tr` es grande majorit e des applications r eseau et labsence de modication facilitera grandement le passage de IPv4 ` a IPv6. La principale modication ` a ces protocoles concerne le checksum. Comme il a et e pr ecis e Checksum au niveau transport, il a et e adapt e au format de paquet IPv6 et englobe le pseudo-en-t ete. De plus, pour UDP, le checksum qui etait facultatif en IPv4, devient obligatoire. Un autre changement au niveau des protocoles de niveau 4 concerne la prise en compte de loption jumbogramme de lextension proche-en-proche. Le RFC 2675 d enit le comportement de UDP et de TCP quand les jumbogrammes sont utilis es. En eet, les en-t etes de ces messages contiennent eux aussi un champ longueur cod e sur 16 bits et par cons equent insusant pour coder la longueur du jumbogramme : Pour le protocole UDP, si la longueur des donn ees exc` ede 65 535 octets, le champ longueur est mis ` a 0. Le r ecepteur d etermine la longueur des donn ees par la connaissance de la taille dans loption jumbogramme. Le protocole TCP pose plus de probl` emes. En eet, bien que les messages TCP ne contiennent pas de champ longueur, plusieurs compteurs sont cod es sur 16 bits. Le champ longueur de la fen etre de r eception ne pose pas de probl` eme depuis que le RFC 1323 a d eni loption TCP window scale qui donne le facteur multiplicatif qui doit etre appliqu e` a ce champ. louverture de connexion, la taille maximale des segments (MSS) est n egoci ee. Le RFC 2675 pr ecise que si cette taille doit etre sup erieure ` a 65 535, la valeur 65 535 est envoy ee et le r ecepteur prend en compte la longueur d etermin ee par lalgorithme de d ecouverte du MTU.

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

156 / 379

Comments II
Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

Pour lenvoi de donn ees urgentes avec TCP, on utilise un bit sp ecique de len-t ete (bit URG) ainsi que le champ pointeur urgent. Ce dernier sert ` a r ef erencer la n des donn ees ` a traiter de mani` ere particuli` ere. Trois cas peuvent se pr esenter : - Le premier, qui est identique ` a IPv4, est celui o` u le pointeur indique une position de moins de 65 535. - Le second se produit lorsque le d eplacement est sup erieur ` a 65 535 et sup erieur ou egal ` a la taille des donn ees TCP envoy ees. Cette fois-ci, on place la valeur 65 535 dans le champ pointeur urgent et on continue le traitement normal des paquets TCP. - Le dernier cas intervient quand le pointeur indique un d eplacement de plus de 65 535 qui est inf erieur ` a la taille des donn ees TCP. Un premier paquet est alors envoy e, dans lequel on met la valeur 65 535 dans le champ pointeur urgent. Limportant est de choisir une taille de paquet de mani` ere ` a ce que le d eplacement dans le second paquet, pour indiquer la n des donn ees urgentes, soit inf erieur ` a 65 535. Il existe dautres propositions pour faire evoluer TCP. Il faut remarquer que le travail nest pas de m eme ampleur que pour IP. En eet, TCP est un protocole de bout-en-bout, la transition vers une nouvelle g en eration du protocole peut se faire par n egociation entre les deux extr emit es. Pour IP, tous les routeurs interm ediaires doivent prendre en compte les modications.

c G6 Association

March 28, 2013

157 / 379

Comments III
Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

UDP-lite permet de remonter aux couches sup erieures des donn ees erron ees pendant leur transport. Si dans un environnement informatique, une erreur peut avoir des cons equences relativement grave quant ` a lint egrit e des donn ees et il est normal de rejeter ces paquets, or, la plupart des d ecodeurs de ux multim edias sont capables de supporter un certains nombre derreurs binaires dans un ux de donn ees. Pour am eliorer la qualit e per cue par lutilisateur, il est donc pr ef erable daccepter des paquets erron es plut ot que de rejeter un bloc complet dinformation. En IPv4, lutilisation du checksum UDP etant optionnelle (la valeur 0 indique que le checksum nest pas calcul e), UDP peut etre utilis e pour transporter des ux multim edia. Avec IPv6, lutilisation du checksum a et e rendue obligatoire puisque le niveau 3 nen poss` ede pas. Pour eviter quun paquet comportant des erreurs ne puisse pas etre remont e aux couche sup erieures, le protocole UDP-lite a et e d eni RFC 3828. Les modications sont minimes par rapport ` a UDP. Le format de la trame reste le m eme, seule la s emantique du champ longueur est chang ee. Avec UDP, ce champ est inutile puisquil est facilement d eduit du champ longueur de len-t ete IP. UDP-lite le transforme en champ couverture du checksum. Si la longueur est 0, UDP-lite consid` ere que tout le checksum couvre tout le paquet. La valeur 8 indique que seul len-t ete UDP est prot eg e par le checksum (ainsi quune partie de len-t ete IP gr ace au pseudo-header). Les valeurs comprises entre 1 et 7 sont interdites car le checksum UDP-lite doit toujours couvrir len-t ete. Une valeur sup erieure ` a 8 indique quune partie des donn ees sont prot eg ees. Si la couverture est egale ` a la longueur du message on se retrouve dans un cas compatible avec UDP. Le protocole SCTP (Stream Control Transmission Protocol) RFC 2960 est fortement li e au protocole IPv6. pour transporter des informations de signalisation. La SCTP est un protocole de niveau 4 initialement conAu abilit e est donc un pr erequis important et la gestion de la multi-domiciliation est prise en compte. Lid ee est de permettre aux deux equipements terminaux d echanger ` a linitialisation de la connexion (appel ee dans le standard association), lensemble de leurs adresses IPv4 et IPv6. Chaque equipement choisi une adresse privil egi ee pour emettre les donn ees vers lautre extr emit e et surveille p eriodiquement laccessibilit e des autres adresses. Si l equipement nest plus accessible par ladresse principale, une adresse secondaire sera choisie.

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

158 / 379

Comments IV
Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

SCTP permet une transition douce dIPv4 vers IPv6 puisque lapplication na plus ` a se pr eoccuper de la gestion des adresses. Si les deux entit es poss` edent une adresse IPv6, celle-ci sera privil egi ee. De plus, SCTP peut servir de brique de base ` a la gestion de la multi-domiciliation IPv6. En eet, avec TCP une connexion est identi ee par ses adresses. Si une adresse nest plus accessible, le fait den changer peut conduire ` a la coupure de la connexion. Il faut avoir recours ` a des superfuges, comme la mobilit e IP pour maintenir la connexion. SCTP brise ce lien entre la localisation de l equipement et lidentication des associations.

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

159 / 379

Question 1
Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

Question 1
1 2 3 4

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

In IPv6, the order of extensions is not important False, depending on the order, the result will be dierent True, any order will gives the same result True, they are not used anymore True, they are put in random order for security reasons

c G6 Association

March 28, 2013

160 / 379

Answer 1
Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

Question 1
1 2 3 4

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

In IPv6, the order of extensions is not important False, depending on the order, the result will be dierent True, any order will gives the same result True, they are not used anymore True, they are put in random order for security reasons

c G6 Association

March 28, 2013

161 / 379

Question 2
Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

Question 2
1 2

The IPv4 packets with options Represent a little part of trac Are processed more eciently than packets with no options if treatment is done by the supervision card Have the second eld equals to 5 Are less and less used in the internet, since the are not processed eciently on routers

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

3 4

c G6 Association

March 28, 2013

162 / 379

Answer 2
Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

Question 2
1 2

The IPv4 packets with options Represent a little part of trac Are processed more eciently than packets with no options if treatment is done by the supervision card Have the second eld equals to 5 Are less and less used in the internet, since the are not processed eciently on routers

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

3 4

c G6 Association

March 28, 2013

163 / 379

Question 3
Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

Question 3
1 2 3 4

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

The IPv6 headers Are aligned on 128 bits Contains informations required to data fragmentation Are smaller than IPv4 packets Contains less elds than IPv4 packets

c G6 Association

March 28, 2013

164 / 379

Answer 3
Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

Question 3
1 2 3 4

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

The IPv6 headers Are aligned on 128 bits Contains informations required to data fragmentation Are smaller than IPv4 packets Contains less elds than IPv4 packets

c G6 Association

March 28, 2013

165 / 379

Question 4
Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

Question 4
1 2 3 4

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

Fragmentation header is not used with TCP since The fragmentation information are in the IPv6 header Fragmentation header have been obsoleted in last RFCs False, TCP still requires framentation TCP adapts fragment size to maximum MTU

c G6 Association

March 28, 2013

166 / 379

Answer 4
Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

Question 4
1 2 3 4

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

Fragmentation header is not used with TCP since The fragmentation information are in the IPv6 header Fragmentation header have been obsoleted in last RFCs False, TCP still requires framentation TCP adapts fragment size to maximum MTU

c G6 Association

March 28, 2013

167 / 379

Question 5
Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

Question 5
1 2 3 4

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

Hop-by-hop extension is the rst one in extension since: extension are sorted numerically and hop-byhop as value 0 hop-by-hop is processed by every router and must be easily found hop-by-hop was the rst extension proposed for standardisation hop-by-hop length eld is missing

c G6 Association

March 28, 2013

168 / 379

Answer 5
Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

Question 5
1 2 3 4

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

Hop-by-hop extension is the rst one in extension since: extension are sorted numerically and hop-byhop as value 0 hop-by-hop is processed by every router and must be easily found hop-by-hop was the rst extension proposed for standardisation hop-by-hop length eld is missing

c G6 Association

March 28, 2013

169 / 379

Question 6
Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

Question 6
1 2 3 4

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

Source routing extension is: used to specify an alternative source address is used to dene all the routers that will forward the packet is deprecated by IETF may be used by mobile IPv6

c G6 Association

March 28, 2013

170 / 379

Answer 6
Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

Question 6
1 2 3 4

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

Source routing extension is: used to specify an alternative source address is used to dene all the routers that will forward the packet is deprecated by IETF may be used by mobile IPv6

c G6 Association

March 28, 2013

171 / 379

Question 7
Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

Question 7
1 2 3 4

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

When using IPv6, checksum should be performed only at layer 4 at layer 2 and layer 4 only at layer 2 at layer 3 only

c G6 Association

March 28, 2013

172 / 379

Answer 7
Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

Question 7
1 2 3 4

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

When using IPv6, checksum should be performed only at layer 4 at layer 2 and layer 4 only at layer 2 at layer 3 only

c G6 Association

March 28, 2013

173 / 379

Question 8
Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

Question 8
1 2 3 4

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

The checksum at layer 4 should include an IP pseudo header: checksum at layer 4 is not used to detect transmission errors from routers to detect transmission errors on ethernet link to detect transmission errors from the packet originator

c G6 Association

March 28, 2013

174 / 379

Answer 8
Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

Question 8
1 2 3 4

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

The checksum at layer 4 should include an IP pseudo header: checksum at layer 4 is not used to detect transmission errors from routers to detect transmission errors on ethernet link to detect transmission errors from the packet originator

c G6 Association

March 28, 2013

175 / 379

Question 9
Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

Question 9
1 2 3 4

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

Which value is not xed for the IPv6 header The length of the addresses The oset of the destination address The length of the header The number of extensions

c G6 Association

March 28, 2013

176 / 379

Answer 9
Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

Question 9
1 2 3 4

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

Which value is not xed for the IPv6 header The length of the addresses The oset of the destination address The length of the header The number of extensions

c G6 Association

March 28, 2013

177 / 379

Question 10
Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

Question 10
1 2 3 4

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

The payload eld of the IPv6 header indicates The size of the upper layer data The size of upper layer data plus the length of the header The size of upper layer data plus the length of extensions The size of upper layer data plus the length of the header plus the length of extensions

c G6 Association

March 28, 2013

178 / 379

Answer 10
Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

Question 10
1 2 3 4

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

The payload eld of the IPv6 header indicates The size of the upper layer data The size of upper layer data plus the length of the header The size of upper layer data plus the length of extensions The size of upper layer data plus the length of the header plus the length of extensions

c G6 Association

March 28, 2013

179 / 379

Question 11
Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

Question 11
1 2 3 4

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

What is the size of the IPv6 header ? 16 bytes 20 bytes 24 bytes 40 bytes

c G6 Association

March 28, 2013

180 / 379

Answer 11
Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

Question 11
1 2 3 4

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

What is the size of the IPv6 header ? 16 bytes 20 bytes 24 bytes 40 bytes

c G6 Association

March 28, 2013

181 / 379

Question 12
Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

Question 12
1 2 3 4

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

The Checksum eld had suppressed of IPv6 header because In modern network the Layer 2 has already a CRC Mechanism There is not enough space in the IPv6 header Checksum mechanism there is not enough ecient The checksum done at the upper layer is sucient

c G6 Association

March 28, 2013

182 / 379

Answer 12
Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

Question 12
1 2 3 4

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

The Checksum eld had suppressed of IPv6 header because In modern network the Layer 2 has already a CRC Mechanism There is not enough space in the IPv6 header Checksum mechanism there is not enough ecient The checksum done at the upper layer is sucient

c G6 Association

March 28, 2013

183 / 379

Question 13
Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

Question 13
1 2 3 4

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

The fragmentation eld had suppressed of IPv6 header because There is not enough space in header The MTUs used in modern network have converged to the same value Fragmentation is exceptional, so it was put in the extensions The fragmentation oset and ag is now coded in the FlowID eld

c G6 Association

March 28, 2013

184 / 379

Answer 13
Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

Question 13
1 2 3 4

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

The fragmentation eld had suppressed of IPv6 header because There is not enough space in header The MTUs used in modern network have converged to the same value Fragmentation is exceptional, so it was put in the extensions The fragmentation oset and ag is now coded in the FlowID eld

c G6 Association

March 28, 2013

185 / 379

Question 14
Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

Question 14
1 2 3 4

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

An IPv6 packet is aligned on word boundaries of 8 bits 16 bits 32 bits 64 bits

c G6 Association

March 28, 2013

186 / 379

Answer 14
Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4

Question 14
1 2 3 4

Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

An IPv6 packet is aligned on word boundaries of 8 bits 16 bits 32 bits 64 bits

c G6 Association

March 28, 2013

187 / 379

Associated Protocols & Mechanisms Neighbor Discovery

Neighbor Discovery (RFC 4861)


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

IPv6 nodes sharing the same physical medium (link) use Neighbor Discovery (ND) to:
determine link-layer addresses of their neighbors
IPv4 : ARP

Address auto-conguration
Layer 3 parameters: IPv6 address, default route, MTU and Hop Limit Only for hosts ! IPv4 : impossible, mandate a centralized DHCP server

Duplicate Address Detection (DAD)


IPv4 : gratuitous ARP

maintain neighbors reachability information (NUD)

IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

Mainly uses multicast addresses but also takes into account NBMA Networks (eg., ATM) Protocol packets are transported/encapsulated by/in ICMPv6 messages:
Router Solicitation: 133 ; Router Advertisement: 134 ; Neighbor Solicitation: 135 ; Neighbor Advertisement: 136 ; Redirect: 137
c G6 Association March 28, 2013 189 / 379

Stateless Auto-conguration: Basic Principles


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

t=0

fe80::IID1 ::IID1/64

IPv6 & DNS Security Integration Programming IPv6 Applications

Time t=0: Router is congured with a link-local address and manually congured with a global address (::/64 is given by the network administrator)

c G6 Association

March 28, 2013

190 / 379

Stateless Auto-conguration: Basic Principles


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

t=1 : Node Attachment

fe80::IID1 ::IID1/64

fe80::IID2

IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

Host constructs its link-local address based on the interface MAC address

c G6 Association

March 28, 2013

190 / 379

Stateless Auto-conguration: Basic Principles


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

t=2

fe80::IID1 ::IID1/64

fe80::IID2
::/0 -> solicited (fe80:IID2) : NS (who has fe80::IID2?)

IPv6 & DNS Security Integration Programming IPv6 Applications

Host does a DAD (i.e. sends a Neighbor Solicitation to query resolution of its own address (tentative): no answers means no other host has this value).

c G6 Association

March 28, 2013

190 / 379

Stateless Auto-conguration: Basic Principles


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

t=3

fe80::IID1 ::IID1/64
fe80::IID2 -> 02::2 : RS

fe80::IID2

IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

Host sends a Router Solicitation to the Link-Local All-Routers Multicast group using the newly link-local congured address

c G6 Association

March 28, 2013

190 / 379

Stateless Auto-conguration: Basic Principles


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

t=4

fe80::IID1 ::IID1/64

fe80::IID2
fe80::IID1 -> fe80::IID2

RA (::/64, DHCPv6, MTU=1500, HL=64, bit M=1)

IPv6 & DNS Security Integration Programming IPv6 Applications

Router directly answers the host using Link-local addresses. The answer may contain a/several prex(es). Router can also mandate hosts to use DHCPv6 to obtain prexes (statefull auto-conguration) and/or other parameters (DNS servers. . . ): Bit M = 1.
c G6 Association March 28, 2013 190 / 379

Stateless Auto-conguration: Basic Principles


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

t=5

fe80::IID1 ::IID1/64

fe80::IID2
::/0 -> solicited (:IID2) : NS (who has ::IID2?)

IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

Host does a DAD (i.e. sends a Neighbor Solicitation to query resolution of its own global address: no answers means no other host as this value).

c G6 Association

March 28, 2013

190 / 379

Stateless Auto-conguration: Basic Principles


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

t=6

fe80::IID1 ::IID1/64

fe80::IID2 ::IID2/64

IPv6 & DNS Security Integration Programming IPv6 Applications

Host sets the global address and takes answering router as the default router.

c G6 Association

March 28, 2013

190 / 379

Comments I
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

Traditionnellement, la conguration dune interface r eseau dune machine demande une conguration manuelle. Cest un travail souvent long et source derreurs. Avec IPv6, cette conguration est automatis ee, introduisant par l` a-m eme des caract eristiques de fonctionnement imm ediat (plug and play) ` a linterface r eseau. La conguration automatique signie quune machine obtient toutes les informations n ecessaires ` a sa connexion ` a un r eseau local IP sans aucune intervention humaine. Dans le cas id eal, un utilisateur quelconque d eballe son nouvel ordinateur, le connecte au r eseau local et le voit fonctionner sans devoir y introduire des informations de sp ecialiste. Nous allons maintenant etudier lautre aspect de lautoconguration de IPv6 qui est lautoconguration dadresses. Celle-ci a pour objectif : lacquisition dune adresse quand une machine est attach ee ` a un r eseau pour la premi` ere fois ; la possibilit e dattribuer dautres pr exes, voire de renum eroter une machine. Le processus dautoconguration dadresse dIPv6 comprend la cr eation dune adresse lien-local, lattachement aux groupes de multicast sollicit es, la v erication de lunicit e de ladresse lien-local et la construction dadresses unicast globales. ` du routeur est important dans lautoconguration. Il dicte ` Le rUle a la machine, par des bits (cf. Annonce du routeur) de len-t ete du message dannonce de routeurs, la m ethode ` a retenir et fournit eventuellement les informations n ecessaires ` a sa conguration. Le bit M (Managed address conguration) mis ` a 1 indique que l equipement ne doit pas construire lui-m eme ladresse ` a partir de son identiant dinterface et des pr exes re cus, mais doit explicitement demander son adresse aupr` es dune application dun serveur dadresses. Le bit O (Other stateful conguration) indique que l equipement doit interroger le serveur de conguration pour obtenir des param` etres autre que ladresse. Lalgorithme de la proc edure dautoconguration dadresse se d ecompose de la mani` ere suivante : La toute premi` ere etape consiste ` a cr eer ladresse lien-local. Une fois lunicit e de cette adresse v eri ee, la machine est en mesure de communiquer avec les autres machines du lien. La machine doit chercher ` a acqu erir un message dannonce du routeur pour d eterminer la m ethode dobtention de ladresse unicast globale. Sil y a un routeur sur le lien, la machine doit appliquer la m ethode indiqu ee par le message dannonce de routeurs, ` a savoir : lautoconguration sans etat, c G6 Association March 28, 2013 191 / 379

IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

Comments II
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

lautoconguration avec etat. En labsence de routeur sur le lien, la machine doit essayer dacqu erir ladresse unicast globale par la m ethode dautoconguration avec etat. Si la tentative echoue, cest termin e. Les communications se feront uniquement sur le lien avec ladresse lien-local. La machine na pas une adresse avec une port ee qui lautorise ` a communiquer avec des machines autres que celles du lien.

t=0 t=1

Le routeur est congur e avec une adresse locale et une adresse globale. Le routeur est aussi autoriser ` a participer au protocole de d ecouverte de voisins. ` a linitialisation de son interface, la machine construit un identiant pour linterface qui doit etre unique au lien. Cet identiant utilise ladresse EUI-64. Le principe de base de la cr eation dadresse IPv6 est de marier un pr exe avec lidentiant. Ladresse lien-local est cr e ee en prenant le pr exe lien-local (fe80::/64) qui est x e. Ladresse ainsi constitu ee est encore interdite dusage. Elle poss` ede un etat provisoire car la machine doit v erier lunicit e de cette adresse sur le lien au moyen de la proc edure de d etection dadresse dupliqu ee. Si la machine d etermine ladresse lien-local nest pas unique, lautoconguration sarr ete et une intervention manuelle est n ecessaire. Une fois que lassurance sur lunicit e de ladresse lien-local est obtenue, ladresse provisoire devient une adresse valide pour linterface. La premi` ere phase de lautoconguration est achev ee.

IPv6 & DNS Security Integration Programming IPv6 Applications

c G6 Association

March 28, 2013

192 / 379

Comments III
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

t=2

Pour v erier lunicit e des adresses lien-local ou unicast, les machines doivent ex ecuter un algorithme de D etection dAdresse Dupliqu ee (DAD) avant de les utiliser. Lalgorithme utilise les messages ICMPv6 sollicitation dun voisin et annonce dun voisin. Si une adresse d ej` a en service est d ecouverte, elle ne pourra etre attribu ee ` a linterface. Lautoconguration sarr ete et une intervention humaine devient obligatoire. Une adresse est quali ee de provisoire pendant lex ecution de lalgorithme DAD et ce jusqu` a la conrmation de son unicit e. Une adresse provisoire est assign ee ` a une interface uniquement pour recevoir les messages de sollicitation et dannonce dun voisin. Les autres messages re cus sont ignor es. Lalgorithme DAD consiste ` a envoyer un message sollicitation dun voisin avec dans le champ adresse de la cible ladresse provisoire. An de distinguer lalgorithme DAD de celui de d ecouverte des voisins, le paquet IPv6 contenant un message de sollicitation dun voisin a comme adresse de source ladresse ind etermin ee. Trois cas se pr esentent : Un message annonce dun voisin est re cu : ladresse provisoire est utilis ee comme adresse valide par une autre machine. Ladresse provisoire nest pas unique et ne peut etre retenue. Un message sollicitation dun voisin est re cu dans le cadre dune proc edure DAD; ladresse provisoire est egalement une adresse provisoire pour une autre machine. Ladresse provisoire ne peut etre utilis ee par aucune des machines. Rien nest re cu au bout dune seconde (valeur par d efaut) : ladresse provisoire est unique, elle passe de l etat de provisoire ` a celle de valide et elle est assign ee ` a linterface. A noter que cet algorithme nore pas une abilit e absolue, notamment lorsque le lien est coup e.

IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

193 / 379

Comments IV
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

t=3

Lautoconguration sans etat (RFC 2462) ne demande aucune conguration manuelle des machines, une conguration minimum pour les routeurs et aucun serveur suppl ementaire. Elle se sert du protocole ICMPv6 et peut fonctionner sans la pr esence de routeurs. Elle n ecessite cependant un sous-r eseau ` a diusion. Cette m ethode ne sapplique que pour les machines et ne peut etre retenue pour la conguration des routeurs. Le principe de base de lautoconguration sans etat est quune machine g en` ere son adresse IPv6 ` a partir dinformations locales et dinformations fournies par un routeur. Le routeur fournit ` a la machine les informations sur le sous-r eseau associ e au lien, il donne le pr exe. Comme pour la cr eation de ladresse lien-local, ladresse unicast globale est obtenue en concat enant le pr exe avec lidentiant de linterface. Le pr exe provient du message dannonce de routeurs et plus pr ecis ement de loption information sur le pr exea . Bien quil faille v erier lunicit e de toutes les adresses unicast, dans le cas dune adresse unicast obtenue par autoconguration sans etat cela nest pas ` e dans obligatoire. En eet, lunicit e de lidentiant de linterface a d ej` a et e contrUl l etape de cr eation de ladresse lien-local. Lidentiant etant le m eme, il ny a plus aucune ambigu t e sur son unicit e. Ladresse unicast globale constitu ee est aussi unique que celle lien-local. La renum erotation des machines dun lien seectue au moyen des routeurs qui passent les adresses utilis ees dans un etat d epr eci e et annoncent en m eme temps le nouveau pr exe. Les machines pourront recr eer une adresse pr ef er ee. La machine fait un DAD sur sa nouvelle adresse pour v erier son unicit e Si aucune r eponse au DAD nest re cue, ladresse globale est valide et le routeur ayant annonc e le pr exe est retenu comme routeur par d efaut.

t=4

IPv6 & DNS Security Integration Programming IPv6 Applications

t=5 t=6

c G6 Association

March 28, 2013

194 / 379

Address Lifetime
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

allocation

Tentative

Preferred

Deprecated

Invalid

DAD

Valid

IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

195 / 379

Comments I
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

IPv6 g en eralisant le plan dadressage CIDR, les pr exes restent dans tous les cas la propri et e des op erateurs. Il ne peuvent plus etre attribu es ` a vie aux equipements. Pour faciliter la renum erotation dune machine lattribution dune adresse ` a une interface est faite temporairement, les adresses IPv6 ne sont pas donn ees mais pr et ees. Une dur ee de vie est associ ee ` a ladresse qui indique le temps pendant lequel ladresse appartient ` a linterface. Quand la dur ee de vie est epuis ee, ladresse devient invalide, elle est supprim ee de linterface et devient potentiellement assignable ` a une autre interface. Une adresse invalide ne doit jamais etre utilis ee comme adresse dans des communications. La valeur par d efaut de la dur ee de vie dune adresse est de 30 jours, mais cette dur ee peut etre prolong ee, ou port ee ` a linni. Ladresse lien-local a une dur ee de vie illimit ee. La renum erotation dune interface dune machine consiste ` a passer dune adresse ` a une autre. Lors dune renum erotation, il nest pas souhaitable de changer brusquement dadresse, sinon toutes les communications TCP, qui lutilisent comme identicateur de connexion, seraient imm ediatement coup ees. Ceci entra nerait des perturbations importantes au niveau des applications. Pour faciliter cette transition, un m ecanisme dobsolescence est donc mis en place pour invalider progressivement une adresse. Ce m ecanisme sappuie sur la capacit e daectation de plusieurs adresses valides ` a une m eme interface. Ensuite pour eectuer le choix de ladresse ` a utiliser, un etat est associ e. Il indique dans quelle phase de sa dur ee de vie une adresse se situent vis ` a vis de linterface. Le premier de ces etats est quali e de pr ef er e : lutilisation nest aucunement restreinte. Peu avant son invalidation ladresse passe dans un etat de d epr eci e. Dans cet etat, lutilisation de ladresse est d econseill ee, mais pas interdite.

IPv6 & DNS Security Ladresse d epr eci ee ne doit plus etre utilis ee comme adresse de source pour les nouvelles communications Integration Programming IPv6 Applications (comme l etablissement de connexion TCP). Par contre ladresse d epr eci ee peut encore servir dadresse de c G6 Association March 28, 2013 196 / 379

Comments II
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

source dans le cas des communications existantes. Les paquets re cus ` a une adresse d epr eci ee continuent ` a etre remis normalement. A la dur ee de vie de validit e dun adresse, il est egalement associ e une dur ee de vie pour son etat pr ef er e. La gure Etats successifs dune adresse sur une interface repr esente les di erents etats que prend une adresse lorsquelle est allou ee ` a une interface.

IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

197 / 379

Optimistic DAD RFC 4429


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

DAD is a long process:


Send NS Timeout May be repeated

For Link-Local and Global addresses Mobile nodes are penalized


Discover Network Authentication DAD, RS/RA, DAD

oDAD allows a host to use the address before DAD If no answer to DAD then the address becomes a valid one

IPv6 & DNS Security Integration Programming IPv6 Applications

c G6 Association

March 28, 2013

198 / 379

Comments I
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

La duplication dadresses est un processus relativement long puisquun equipement qui souhaite garantir lunicit e de son adresses doit etre un message NS et attendre une absence de r eponse. De plus, comme le r eseau peut perdre les messages NS, un equipement peut tenter plusieurs fois de r esoudre sa propre adresse avant de la garantir unique. Finalement, le processus se r ep` ete pour ladresse lien-local et ladresse globale. Il faut donc plusieurs secondes avant quun equipement puisse envoyer des paquets sur le r eseau. En situation de mobilit e, ce d elais qui sajoute ` a ceux de la d ecouverte des r eseaux disponibles, ` a lauthentication peut conduire ` a des ruptures de connectivit e (par exemple pour la voix sur IP). Le RFC 4429 rend plus tol erant la d etection dadresse dupliqu ee en autorisant un site ` a utiliser son adresse bien quelle nait pas et e encore garantie unique. Ce comportement est appel e DAD optimiste (optimistic DAD). L etat tentative de ladresse (voir Cycle de vie dune adresse est remplac e par l etat optimiste pendant lequel lunicit e de ladresse nest pas garanti mais qui permet son utilisation. En parall` ele, un DAD classique est lanc e. les messages NS sont emis avec le bit O (Override) ` a 0 pour que les caches ND ne soit pas mis ` a jour au cas o` u cette adresse existerait d ej` a sur le r eseau.

IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

199 / 379

Router Conguration Example


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

interface Vlan5 description reseau C5 ip address 192.108.119.190 255.255.255.128 ... ipv6 address 2001:660:7301:1::/64 eui-64 ipv6 enable ipv6 nd ra-interval 10 ipv6 nd prefix-advertisement 2001:660:7301:1::/64 2592000\ 604800 onlink autoconfig

IPv6 & DNS Security Integration Programming IPv6 Applications

c G6 Association

March 28, 2013

200 / 379

Router Solicitation
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

0..................7...................15...................23....................31 Type=133 Code =0 Reserved Checksum

Options: - Source link-layer address

IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

Sent by a host at bootstrap to receive information from the/a router Source Address: Link Local address of the interface Destination Address: 02::2 (All-Routers link-local multicast group) Common option is:
Source link-layer address: physical (MAC) address of the host
c G6 Association March 28, 2013 201 / 379

Source/Target Link Layer Option


Generic: (type 1: source 2:Target)
Concepts Facts on Addresses Addresses Protocol
. . . Address 0..................7...................15...................23....................31 Type=1/2 length Link Layer Address

MAC-48 (Ethernet, Wi-Fi,...) RFC 2464 0..................7...................15...................23....................31


Type=1/2 length =1 MAC. . .

Associated Protocols & Mechanisms


Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

MAC-16 (IEEE 802.15.4 6LoWPAN) RFC 4944 0..................7...................15...................23....................31


Type=1/2 length =1 Reserved Address

MAC-64 (IEEE 802.15.4 6LoWPAN) RFC 4944 0..................7...................15...................23....................31


Type=1/2 length =2

Address

IPv6 & DNS Security Integration Programming IPv6 Applications


Reserved

c G6 Association

March 28, 2013

202 / 379

Comments I
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

Le message de sollicitation dun routeur (cf. gure Format des paquets de sollicitation du routeur) est emis par un equipement au d emarrage pour recevoir plus rapidement des informations du routeur. Ce message est emis ` a ladresse IPv6 de multicast r eserv ee aux routeurs sur le m eme lien 02::2. Si l equipement ne connaOt pas encore son adresse source, ladresse non sp eci ee est utilis ee. Le champ option contient normalement ladresse physique de l equipement. Le slide pr ec edente donne le format de ces options. Le type 1 est r eserv e` a ladresse physique de la source et le type 2 ` a ladresse de la cible. Le champ longueura est la taille en mots de 64 bits de loption. Dans le cas dune adresse MAC, dune longueur de 6 octets, il contient donc la valeur 1. Le RFC 2464 d enit le format pour les adresses MAC-48 utilis es dans les r eseaux Ethernet et Wi-Fi. Le RFC 4944 d enit le format pour les MAC-16 et MAC-64 utilis es dans les r eseaux de capteurs reposant sur la norme IEEE 802.15.4.

IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

203 / 379

Router Advertisement
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

0..................7...................15...................23....................31 Type=134 Cur. Hop Lim. Code =0 M O H reserved Reachable Time Retrans Time Checksum Router Lifetime

Options: Source link-layer address MTU Prex Information (may be repeated)

IPv6 & DNS Security Integration Programming IPv6 Applications

c G6 Association

March 28, 2013

204 / 379

Router Advertisement (continued)


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

Source Address: Link Local address of the routers interface Destination Address:
Sent in point-to-point in response to a RS (Link-Local address of the Solicitation) or Sent periodically to 02::1

IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

Current Hop Limit: The Value a host should set as Hop Limit Flags: M: 1 use DHCPv6 for address allocation ; O: 1 use DHCPv6 for other information ; H (RFC 3775) The router is also a Home Agent. Router Lifetime: How long this router will be running Reachable Time: Time in ms an host is supposed reachable (kept in ND table) Retransmission Time: Time in ms between two non solicited RA Common options are:
Source link-layer address: physical (MAC) address of the router MTU: Maximum size used on the link Prex Information (may be repeated)
c G6 Association March 28, 2013 205 / 379

MTU, Prex Information


Concepts Facts on Addresses Addresses
MTU

MTU:
0..................7...................15...................23....................31 Type=5 length =1 Reserved

Protocol Associated Protocols & Mechanisms


Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

Prex Information:
0..................7...................15...................23....................31 Type=3 length =4 Prex Length Valid Lifetime Prefered Lifetime Reserved L A R Reserved

IPv6 & DNS Security Integration Programming IPv6 Applications


Prex

c G6 Association

March 28, 2013

206 / 379

Comments I
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

Ce message (cf. gure Format des paquets dannonce du routeur) est emis p eriodiquement par les routeurs ou en r eponse ` a un message de sollicitation dun routeur par un equipement. Le champ adresse source contient ladresse locale au lien du routeur, le champ destination contient soit ladresse de l equipement qui a emis la sollicitation, soit ladresse de toutes les stations (02::01). Un champ saut max. non nul donne la valeur qui pourrait etre plac ee dans le champ nombre de sauts des paquets emis. Le bit M indique quune adresse de l equipement doit etre obtenue avec un protocole de conguration (cf. Conguration avec etat :DHCPv6). Le bit O indique aussi la pr esence dun service de conguration mais pour la r ecup eration dinformations autres que ladresse. Si ladresse ne peut etre obtenue dun serveur, l equipement proc` ede ` a une conguration sans etat en concat enant aux pr exes quil connaOt son identiant dinterface. Le bit H indique que le routeur peut etre utilis e comme agent m` erea pour un noeud mobile (cf. Avertissement de lagent m` ere). Le champ dur ee de vie du routeur donne, en secondes, la p eriode pendant laquelle l equipement annon cant eectuera les fonctions de routeur par d efaut. La valeur maximale correspond ` a 18 heures 12 minutes, mais comme ce message est emis p eriodiquement il ny a pas de limite th eorique ` a la dur ee de vie dun routeur. Une valeur de 0 indique que l equipement ne remplit pas les fonctions de routeur par d efaut. Cette dur ee de vie ne sapplique pas aux options que ce message v ehicule. Le champ dur ee daccessibilit e indique la dur ee en millisecondes pendant laquelle une information contenue dans le cache de la machine peut etre consid er ee comme valide (par exemple, la table de correspondance entre adresse IPv6 et adresse physique). Au bout de cette p eriode, un message de d etection dinaccessibilit e est emis pour v erier la pertinence de linformation. Le champ temporisation de retransmission donne en millisecondes la p eriode entre deux emissions non sollicit ees de ce message. Il sert aux autres equipements pour d etecter une inaccessibilit e du routeur. Ce message peut v ehiculer les options : adresse physique de la source, c G6 Association March 28, 2013 207 / 379

IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

Comments II
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

MTU, information sur le pr exe (une ou plus). Cette option contient les informations sur le pr exe pour permettre une conguration automatique des equipements. Le champ type vaut 3 et le champ longueur vaut 4. La gure Format de loption information sur le pr exe donne le format de loption : Le champ lg.pr exe indique combien de bits sont signicatifs pour le pr exe annonc e dans un champ suivant. Le bit L indique, quand il est ` a 1, que le pr exe permet dindiquer que tous les autres equipements partageant le m eme pr exe sont sur le m eme lien. L emetteur peut donc directement les joindre. Dans le cas contraire, l equipement emet le paquet vers le routeur. Si ce dernier sait que l equipement emetteur peut joindre directement le destinataire, il emettra un message ICMPv6 dindication de redirection. Le bit A indique, quand il est ` a 1, que le pr exe annonc e peut etre utilis e pour construire ladresse de l equipement. Le bit R, indique, quand il est ` a 1, que le champ pr exe contient ladresse globale dun routeur agent m` erea . Les bits de poids fort peuvent toujours etre utilis es pour construire un pr exe. Le champ dur ee de validit e indique en secondes la dur ee pendant laquelle le pr exe est valide. Le champ dur ee pr ef erable indique la dur ee en secondes pendant laquelle une adresse construite avec le protocole de conguration sans etat demeure pr ef erablea (cf. Dur ee de vie des adresses). Pour ces deux champs, une valeur de 0x repr esente une dur ee innie. Ces champs peuvent servir dans la phase de passage dun fournisseur dacc` es ` a un autre ; cest-` a-dire dun pr exe ` a un autre. Le champ r eserv e permet daligner le pr exe sur une fronti` ere de mot de 64 bits. Le champ pr exe contient la valeur de pr exe annonc e sur le lien. Pour maintenir un alignement sur 64 bits pour le reste des donn ees du paquet, ce champ a une longueur xe de 128 bits.

IPv6 & DNS Security Integration Programming IPv6 Applications

c G6 Association

March 28, 2013

208 / 379

RDNSS option ( RFC 6106)


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

0..................7...................15...................23....................31 Type=25 length 3 Lifetime Reserved

Prex

Prex

IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

209 / 379

Neighbor Solicitation
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

0..................7...................15...................23....................31 Type=135 Code =0 Reserved Checksum

Target Address

Options: Source link-layer address

IPv6 & DNS Security Integration Programming IPv6 Applications

c G6 Association

March 28, 2013

210 / 379

Comments I
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

Ce message (cf. gure Format des paquets de sollicitation dun voisin) permet dobtenir des informations dun equipement voisin, cest-` a-dire situ e sur le m eme lien physique (ou connect e via des ponts). Le message peut lui etre explicitement envoy e ou emis sur une adresse de diusion. Dans le cas de la d etermination de ladresse physique, il correspond ` a la requ ete ARP du protocole IPv4. Le champ adresse source du paquet IPv6 contient soit ladresse locale au lien adresse lien-local, soit une adresse globale, soit ladresse non sp eci ee. Le champ destination contient soit ladresse de multicast sollicit e correspondant ` a ladresse recherch ee, soit ladresse de l equipement (dans le cas dune d etection dinaccessibilit e des voisins, NUD ) Le champ adresse de la cible contient ladresse IPv6 de l equipement cherch e. Le champ option contient en g en eral ladresse physique de la source.

IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

211 / 379

Neighbor Advertisement
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

0..................7...................15...................23....................31 Type=136 R S O Code =0 Reserved Checksum

Target Address

Options: Source link-layer address

IPv6 & DNS Security Integration Programming IPv6 Applications

c G6 Association

March 28, 2013

212 / 379

Comments I
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

Ce message (cf. gure Format des paquets dannonce dun voisin) est emis en r eponse ` a une sollicitation, mais il peut aussi etre emis spontan ement pour propager une information de changement dadresse physique, ou de statut routeura . Dans le cas de la d etermination dadresse physique, il correspond ` a la r eponse ARP pour le protocole IPv4. Le bit R est mis ` a 1 si l emetteur est un routeur. Ce bit est utilis e pour permettre la d etection dun routeur qui redevient un equipement ordinaire. Le bit S mis ` a 1 indique que cette annonce est emise en r eponse ` a une sollicitation. Le bit O mis ` a 1 indique que cette annonce doit eacer les informations pr ec edentes qui se trouvent dans les caches des autres equipements, en particulier la table contenant les adresses physiques. Le champ adresse de la cible contient, si le bit S est ` a 1, la valeur du champ adresse de la cible de la sollicitation auquel ce message r epond. Si le bit S est ` a 0, ce champ contient ladresse IPv6 lien-local de l equipement emetteur. Loption adresse physique de la cible contient ladresse physique de l emetteur.

IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

213 / 379

Redirect
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

0..................7...................15...................23....................31 Type=137 Code =0 Reserved Checksum

Target Address

Target Address

IPv6 & DNS Security Integration Programming IPv6 Applications Options: Target link-layer address Redirected Header

c G6 Association

March 28, 2013

214 / 379

Redirect Header
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

0..................7...................15...................23....................31 Type=5 length =1 Reserved Reserved

IPv6 Header and Data

ICMPv6 redirect: Optimize routing inside a network Substitute to NS/NA in NBMA Networks

IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

215 / 379

Comments I
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

que les pr La technique de redirection est la m eme que dans IPv4. Un equipement ne connaOt exes des r eseaux auxquels il est directement attach e et ladresse dun routeur par d efaut. Si la route peut etre optimis ee, le routeur par d efaut envoie ce message pour indiquer quune route plus courte existe. En eet, avec IPv6, comme le routeur par d efaut est appris automatiquement, la route nest pas forc ement la meilleure (cf. gure Routage par d efaut non optimal). Un autre cas dutilisation particulier ` a IPv6 concerne des stations situ ees sur un m eme lien physique mais ayant des pr exes di erents. Ces machines passent dans un premier temps par le routeur par d efaut. Ce dernier les avertit quune route directe existe. La gure Format des paquets dindication de redirection donne le format du message : Le champ adresse cible contient ladresse IPv6 de l equipement vers lequel les paquets doivent etre emis. Le champ adresse destination contient ladresse IPv6 de l equipement pour lequel la redirection sapplique. Dans le cas de la redirection vers un equipement se situant sur le m eme lien, ladresse cible et la destination sont identiques. Les options contiennent ladresse physique du nouveau routeur et len-t ete du paquet redirig e. Ce message peut etre utilis e de la m eme mani` ere quen IPv4. Une machine na quune route par d efaut pour atteindre un equipement se trouvant sur un autre pr exe. Elle envoie donc son paquet au routeur qui saper coit que le pr exe de destination est accessible par le m eme sous r eseau que l emetteur. Il relaie le paquet et informe la source quelle peut directement joindre le routeur menant vers le pr exe. IPv6 utilise aussi ce message pour optimiser la r esolution Hors-Lien dans le cas de r eseaux NBMA. Cette option est utilis ee par le message dindication de redirection. Elle permet dencapsuler les premiers octets du paquet IPv6 qui a provoqu e l emission de ce message comme dans le cas des messages ICMPv6 derreur. c G6 Association March 28, 2013 216 / 379

IPv6 & DNS Security Integration Programming IPv6 Applications

Comments II
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

Le type vaut 4 et la taille de cette option ne doit pas conduire ` a un paquet IPv6 d epassant 1280 octets (cf. gure Format de loption en-t ete redirig ee). Par contre le paquet doit contenir le maximum dinformation possible.

IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

217 / 379

Associated Protocols & Mechanisms Path MTU discovery

Path MTU discovery for IPv6 (RFC 1981)


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

B MTU=1280

R
A-> B Size=1500

PMTU(*)=1500

IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

MTU=1500

c G6 Association

March 28, 2013

219 / 379

Path MTU discovery for IPv6 (RFC 1981)


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

B MTU=1280

R
R-> A ICMP6 Error: Packet too big MTU=1280

PMTU(*)=1500 PMTU(B)=1280

IPv6 & DNS Security Integration Programming IPv6 Applications

MTU=1500

c G6 Association

March 28, 2013

219 / 379

Path MTU discovery for IPv6 (RFC 1981)


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

B MTU=1280

R
A-> B Size=1280

PMTU(*)=1500 PMTU(B)=1280

IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

MTU=1500

c G6 Association

March 28, 2013

219 / 379

Comments I
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

IPv6 & DNS Security Integration Programming IPv6 Applications

Pour des consid erations decacit e, il est g en eralement pr ef erable que les informations echang ees entre equipements soient contenues dans des datagrammes de taille maximale. Cette taille d epend du chemin suivi par les datagrammes et est egale ` a la plus grande taille autoris ee par lensemble des liens travers es. Elle est de ce fait appel ee PMTU, ou Path Maximum Transmission Unit (unit e de transfert de taille maximale sur le chemin). Initialement, l equipement emetteur fait lhypoth` ese que le PMTU dun certain chemin est egal au MTU du lien auquel il est directement attach e. Sil sav` ere que les paquets transmis sur ce chemin exc` edent la taille maximale autoris ee par un lien interm ediaire, alors le routeur associ e d etruit ces paquets et retourne un message derreur ICMPv6 de type paquet trop granda , en y indiquant le MTU accept e. Fort de ces informations, l equipement emetteur r eduit le PMTU suppos e pour ce chemin. Plusieurs it erations peuvent etre n ecessaires avant dobtenir un PMTU permettant ` a tout paquet darriver ` a l equipement destinataire sans jamais exc eder le MTU de chaque lien travers e. Le protocole IPv6 garantit que le MTU de tout lien ne peut descendre en dessous de 1 280 octets, valeur qui constitue ainsi une borne inf erieure pour le PMTU. Ce protocole reposant sur la perte de paquets, il est laiss e le soin aux couches sup erieures de g erer la abilit e de la communication en retransmettant si n ecessaire (paquet 6 de lexemple). Figure : D ecouverte du MTU seconde phase: r eception dun message ICMPv6 Si la d etermination du PMTU se fait essentiellement lors des premiers echanges entre les equipements concern es, elle peut egalement etre revue en cours de transfert si, suite ` a un changement de route, un lien plus contraignant est travers e. L emetteur v erie aussi que le PMTU na pas augment e en envoyant de temps en temps un paquet plus grand. Si celui-ci traverse le r eseau sans probl` eme, la valeur du PMTU est augment ee. Signalons enn que lalgorithme de d ecouverte du PMTU fonctionne indi eremment avec des echanges point-` a-point ou multipoints. Dans ce dernier cas, le PMTU sera le PMTU minimal permis par lensemble des chemins vers chaque site destinataire du groupe de diusion. Lexploitation de linformation de PMTU se fait de plusieurs fa cons suivant lendroit o` u les donn ees ` a transmettre sont segment ees : si un protocole de type TCP est utilis e, celui-ci assurera la segmentation de fa con transparente pour les applications, en fonction des informations de PMTU que pourra lui communiquer la couche IPv6. si un

c G6 Association

March 28, 2013

220 / 379

Comments II
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

protocole de type UDP est utilis e, alors cette segmentation devra etre assur ee par une couche sup erieure, eventuellement lapplication. Il faut donc que celle-ci (1) puisse etre inform ee du PMTU autoris e, m eme dans le cas o` u celui-ci change par la suite, et (2) puisse segmenter ses donn ees en cons equence. Parce que ces deux conditions ne sont pas toujours r eunies, IPv6 a conserv e un m ecanisme de fragmentation (voir fragmentation). Un deuxi` eme aspect concerne lidentication des chemins an de pouvoir y associer les informations de PMTU. Plusieurs possibilit es, laiss ees ` a limpl ementeur, sont possibles. Un chemin peut etre identi e par ladresse destination, ou par lidenticateur de ux si celui-ci est utilis e, ou par la route suivie dans le cas o` u elle est impos ee (voir routage). Enn, sil est fortement recommand e que chaque equipement supporte le m ecanisme de recherche du PMTU, ce nest pas obligatoire. Ainsi, un equipement qui nen dispose pas (par exemple une ROM de boot) devra restreindre la taille de tout paquet transmis au MTU minimal que doit supporter tout lien, soit 1280 octets.

IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

221 / 379

Associated Protocols & Mechanisms DHCPv6

Stateless DHCPv6 (RFC 3736): With static parameters


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

fe80::IID1 ::IID1/64

fe80::IID2 -> 02::1:2 Information-Request

fe80::IID2 ::IID2/64

IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

Host needs only static parameters (DNS, NTP,...). It sends an Information-Request message to All DHCP Agents multicast group. The scope of this address is link-local.

c G6 Association

March 28, 2013

223 / 379

Stateless DHCPv6 (RFC 3736): With static parameters


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

:: IID > 05 :: 1 : 3 : relay-frw[Information-request]

fe80::IID1 ::IID1/64

fe80::IID2 ::IID2/64

IPv6 & DNS Security Integration Programming IPv6 Applications

A relay (generally the router) encapsulates the request into a Forward message and sends it either to the All DHCP Servers site-local multicast group or to a list of pre-dened unicast addresses.

c G6 Association

March 28, 2013

223 / 379

Stateless DHCPv6 (RFC 3736): With static parameters


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

:: IID > :: IID : relay-reply[parameters, DNS,...]

fe80::IID1 ::IID1/64

fe80::IID2 ::IID2/64

IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

The server responds to the relay

c G6 Association

March 28, 2013

223 / 379

Stateless DHCPv6 (RFC 3736): With static parameters


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

fe80::IID1 ::IID1/64

fe80::IID1 -> fe80::IID2 parameters: DNS,...

fe80::IID2 ::IID2/64

IPv6 & DNS Security Integration Programming IPv6 Applications

The router extracts information from the message to create answer and sends information to the host

c G6 Association

March 28, 2013

223 / 379

Stateless DHCPv6 (RFC 3736): With static parameters


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

DNS fe80::IID1 ::IID1/64 fe80::IID2 ::IID2/64

IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

Host is now congured to resolve domain names through the DNS

c G6 Association

March 28, 2013

223 / 379

DHCPv6 : Stateful Auto-Conguration


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

fe80::IID1 ::IID1/64

fe80::IID1 -> fe80::IID2 RA (bit M=1)

fe80::IID2 ::IID2/64

IPv6 & DNS Security Integration Programming IPv6 Applications

Router responds to RS with a RA message with bit M set to 1. Host should request its IPv6 address from a DHCPv6 server.

c G6 Association

March 28, 2013

224 / 379

DHCPv6 : Prex Delegation


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

Dynamic conguration for routers ISP solution to delegate prexes over the network

1: ::IID/64
RA 1: :/64

1::/48
1::/48

1::/48 2::/48 ...

IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

225 / 379

DHCPv6 Full Features


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

For address or prex allocation information form only one DHCPv6 must be taken into account. Four message exchange :
Solicit : send by clients to locate servers Advertise : send by servers to indicate services available Request : send by client to a specic server (could be through relays) Reply : send by server with parameters requested

Addresses or Prexes are allocated for certain period of time


Renew : Send by the client tells the server to extend lifetime Rebind : If no answer from renew, the client use rebind to extend lifetime of addresses and update other conguration parameters Recongure : Server informs availability of new or update information. Clients can send renew or Information-request Release : Send by the client tells the server the client does not need any longer addresses or prexes. Decline : to inform server that allocated addresses are already in use on the link
c G6 Association March 28, 2013 226 / 379

IPv6 & DNS Security Integration Programming IPv6 Applications

DHCPv6 Scenarii
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

S2

S1

R Solicit

Relay-Forward {Solicit}

Relay-Reply {Advertise} Advertise

IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

227 / 379

DHCPv6 Scenarii
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

S2

S1

Relay-forward{Request} Request S1 Relay-Reply {Reply} Reply


c G6 Association March 28, 2013 227 / 379

IPv6 & DNS Security Integration Programming IPv6 Applications

DHCPv6 Scenarii
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

S2

S1

R Renew S1

Relay-forward{Renew}

Relay-Reply {Reply} Reply Relay-forward{Release} Release S1 Relay-Reply {Reply} Reply


c G6 Association March 28, 2013 227 / 379

IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

DHCPv6 Identiers
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

DHCPv6 denes several stable identiers After a reboot, the host can get the same information. DUID (DHCPv6 Unique IDentier) :
Identify the client Variable length:
Link-layer address plus time Vendor-assigned unique ID based on Enterprise Number Link-layer address

For instance: >od -x /var/db/dhcp6c duid 0000000 000e 0100 0100 5d0a 5233 0400 9e76 0467

IPv6 & DNS Security Integration Programming IPv6 Applications

c G6 Association

March 28, 2013

228 / 379

DHCPv6 Identier : IA and IA PD


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

IA and IA PD are used to link Request and Reply


IA is used for Address Allocation and is linked to an Interface IA PD is used for Prex Delegation and can be shared among interfaces

They must be stable (e.g. dened in the conguration le)

IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

229 / 379

Associated Protocols & Mechanisms Stateless vs Stateful

Auto-conguration: Stateless vs. Stateful


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

Stateless
Pro: Reduce manual conguration No server, no state (the router provides all information) Cons: Non-obvious addresses No control on addresses on the LAN

Stateful (DHCPv6)
Pro: Control of addresses on the LAN Control of address format Cons: Requires an extra server Still needs RA mechanism Clients to be deployed

IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

Stateless: Typically, for Plug-and-Play networks (Home Network) Stateful: Typically, for administrated networks (enterprise, institution)
c G6 Association March 28, 2013 231 / 379

Question 1
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

Question 1
1 2 3 4

Which protocol does not rely on ICMPv6 Path MTU discovery SNMP ping Multicast Listener Discovery

IPv6 & DNS Security Integration Programming IPv6 Applications

c G6 Association

March 28, 2013

232 / 379

Answer 1
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

Question 1
1 2 3 4

Which protocol does not rely on ICMPv6 Path MTU discovery SNMP ping Multicast Listener Discovery

IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

233 / 379

Question 2
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

Question 2
1 2 3 4

What are the advantages of solicited multicast addresses. Solicited multicast addresses does not need MLD to be taken into account by switches Solicited multicast addresses are shorter than IPv6 addresses Very few host will process the request multicast addresses are more dicult to be intercepted by intruders

IPv6 & DNS Security Integration Programming IPv6 Applications

c G6 Association

March 28, 2013

234 / 379

Answer 2
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

Question 2
1 2 3 4

What are the advantages of solicited multicast addresses. Solicited multicast addresses does not need MLD to be taken into account by switches Solicited multicast addresses are shorter than IPv6 addresses Very few host will process the request multicast addresses are more dicult to be intercepted by intruders

IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

235 / 379

Question 3
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

Question 3
1 2 3 4

Neighbor Discovery protocol can be used: to locate printers on the link to elect routers for internal prexes to locate default routers to give a specic address to an host

IPv6 & DNS Security Integration Programming IPv6 Applications

c G6 Association

March 28, 2013

236 / 379

Answer 3
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

Question 3
1 2 3 4

Neighbor Discovery protocol can be used: to locate printers on the link to elect routers for internal prexes to locate default routers to give a specic address to an host

IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

237 / 379

Question 4
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

Question 4
1 2 3 4

DHCPv6 : can assigned the default router does not need relays is not mandatory to allocate IPv6 address always allocate an IPv6 address to a resquesting host

IPv6 & DNS Security Integration Programming IPv6 Applications

c G6 Association

March 28, 2013

238 / 379

Answer 4
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

Question 4
1 2 3 4

DHCPv6 : can assigned the default router does not need relays is not mandatory to allocate IPv6 address always allocate an IPv6 address to a resquesting host

IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

239 / 379

Question 5
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

Question 5
1 2 3

What is the equivalent of ARP in IPv6 ? ARP is still used in IPv6, since ARP is exible enough to handle a lot of addressing spaces. ICMPv6 packets There is no need of ARP protocol since the MAC address is included inside the IID of the IPv6 address DHCPv6

IPv6 & DNS Security Integration Programming IPv6 Applications

c G6 Association

March 28, 2013

240 / 379

Answer 5
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

Question 5
1 2 3

What is the equivalent of ARP in IPv6 ? ARP is still used in IPv6, since ARP is exible enough to handle a lot of addressing spaces. ICMPv6 packets There is no need of ARP protocol since the MAC address is included inside the IID of the IPv6 address DHCPv6

IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

241 / 379

Question 6
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

Question 6
1 2 3 4

in the NS coming from a host during a DAD, the source address is : ::/0 FF02::1 FF02::2 the link-local address of the interface

IPv6 & DNS Security Integration Programming IPv6 Applications

c G6 Association

March 28, 2013

242 / 379

Answer 6
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

Question 6
1 2 3 4

in the NS coming from a host during a DAD, the source address is : ::/0 FF02::1 FF02::2 the link-local address of the interface

IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

243 / 379

Question 7
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

Question 7
1 2 3 4

In Ethernet, how the multicast address FF02::1 is translated at layer 2. Neighbor Discovery do the translation 33-33-00-00-00-01 33-33-FF-00-00-01 FF-FF-FF-FF-FF-FF

IPv6 & DNS Security Integration Programming IPv6 Applications

c G6 Association

March 28, 2013

244 / 379

Answer 7
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

Question 7
1 2 3 4

In Ethernet, how the multicast address FF02::1 is translated at layer 2. Neighbor Discovery do the translation 33-33-00-00-00-01 33-33-FF-00-00-01 FF-FF-FF-FF-FF-FF

IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

245 / 379

Question 8
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

Question 8
1 2 3 4

when a host create its link-local address : it sends a Neighbor Sollicitation message to verify unicity of this address it sends a MLD message to register to a solicited multicast group it sends a Router Sollicitation message to get the network prex it is ready to send packet on the global IPv6 Internet

IPv6 & DNS Security Integration Programming IPv6 Applications

c G6 Association

March 28, 2013

246 / 379

Answer 8
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

Question 8
1 2 3 4

when a host create its link-local address : it sends a Neighbor Sollicitation message to verify unicity of this address it sends a MLD message to register to a solicited multicast group it sends a Router Sollicitation message to get the network prex it is ready to send packet on the global IPv6 Internet

IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

247 / 379

Question 9
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

Question 9
1 2 3 4

ICMPv6 is not used for: detecting MTU problem on the network monitoring the reachability of a neighbor conguring IPv6 routes on routers conguring IPv6 addresses on host

IPv6 & DNS Security Integration Programming IPv6 Applications

c G6 Association

March 28, 2013

248 / 379

Answer 9
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

Question 9
1 2 3 4

ICMPv6 is not used for: detecting MTU problem on the network monitoring the reachability of a neighbor conguring IPv6 routes on routers conguring IPv6 addresses on host

IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

249 / 379

Question 10
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

Question 10
1 2 3 4

Discovery of the MTU on a path relies on DHCPv6 ICMPv6 a proprietary protocol DNS

IPv6 & DNS Security Integration Programming IPv6 Applications

c G6 Association

March 28, 2013

250 / 379

Answer 10
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

Question 10
1 2 3 4

Discovery of the MTU on a path relies on DHCPv6 ICMPv6 a proprietary protocol DNS

IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

251 / 379

Question 11
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

Question 11
1

3 4

IPv6 & DNS Security Integration Programming IPv6 Applications

The message for Duplicate Address Detection is sent: to the IPv6 all-node multicast group, to ensure that all nodes check if address is duplicated to the solicited-multicast group to reduce the number of nodes involved in the procedure to the unicast address concerned by the procedure to the router which checks if the address is already present in its cache

c G6 Association

March 28, 2013

252 / 379

Answer 11
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

Question 11
1

3 4

IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

The message for Duplicate Address Detection is sent: to the IPv6 all-node multicast group, to ensure that all nodes check if address is duplicated to the solicited-multicast group to reduce the number of nodes involved in the procedure to the unicast address concerned by the procedure to the router which checks if the address is already present in its cache

c G6 Association

March 28, 2013

253 / 379

Question 12
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

Question 12
1 2 3 4

Which information is not sent in the Router Advertisement message the global IPv6 address to be congured by the solliciting node the Hop-limit to be used the address of the DNS server the IPv6 prex of the link

IPv6 & DNS Security Integration Programming IPv6 Applications

c G6 Association

March 28, 2013

254 / 379

Answer 12
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

Question 12
1 2 3 4

Which information is not sent in the Router Advertisement message the global IPv6 address to be congured by the solliciting node the Hop-limit to be used the address of the DNS server the IPv6 prex of the link

IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

255 / 379

Question 13
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

Question 13
1 2 3 4

The DHCPv6 request from a node is sent: to a multicast address for DHCPv6 agent on the link. to a congured unicast address of a DHCPv6 server. to the router that will forward the request to a DHCPv6 server. to a multicast address for DHCPv6 server on the site

IPv6 & DNS Security Integration Programming IPv6 Applications

c G6 Association

March 28, 2013

256 / 379

Answer 13
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

Question 13
1 2 3 4

The DHCPv6 request from a node is sent: to a multicast address for DHCPv6 agent on the link. to a congured unicast address of a DHCPv6 server. to the router that will forward the request to a DHCPv6 server. to a multicast address for DHCPv6 server on the site

IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

257 / 379

Question 14
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

Question 14
1 2

IPv6 & DNS Security Integration Programming IPv6 Applications

A DHCPv6 relay may be mandatory on the link because: DHCPv6 server only accept encapsulated requests from a relay. Site-local multicast used to contact the DHCPv6 server can only be used from a DHCPv6 relay. Nodes requesting an address with DHCPv6 may not have an already congured address to contact the DHCPv6 server. DHCPv6 server is not allowed to reply directly to nodes for security reasons.

c G6 Association

March 28, 2013

258 / 379

Answer 14
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

Question 14
1 2

IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

A DHCPv6 relay may be mandatory on the link because: DHCPv6 server only accept encapsulated requests from a relay. Site-local multicast used to contact the DHCPv6 server can only be used from a DHCPv6 relay. Nodes requesting an address with DHCPv6 may not have an already congured address to contact the DHCPv6 server. DHCPv6 server is not allowed to reply directly to nodes for security reasons.

c G6 Association

March 28, 2013

259 / 379

Question 15
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

Question 15
1 2 3 4

Which value is used by the DHCPv6 server to identify requests from the same client ? The global address of the client. The global address of the relay. A client-dened value called DUID. The link-local address of the client.

IPv6 & DNS Security Integration Programming IPv6 Applications

c G6 Association

March 28, 2013

260 / 379

Answer 15
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

Question 15
1 2 3 4

Which value is used by the DHCPv6 server to identify requests from the same client ? The global address of the client. The global address of the relay. A client-dened value called DUID. The link-local address of the client.

IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

261 / 379

Question 16
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

Question 16
1 2 3 4

The traceroute program for IPv6 is based on Routing Extension Destination Extension Hop-by-Hop Extension ICMPv6

IPv6 & DNS Security Integration Programming IPv6 Applications

c G6 Association

March 28, 2013

262 / 379

Answer 16
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

Question 16
1 2 3 4

The traceroute program for IPv6 is based on Routing Extension Destination Extension Hop-by-Hop Extension ICMPv6

IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

263 / 379

Question 17
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

Question 17
1 2 3 4

The management protocol of multicast groups IPv6 is based on UDP messages on TCP messages on ICMPv6 messages on a special protocol on top of IPv6

IPv6 & DNS Security Integration Programming IPv6 Applications

c G6 Association

March 28, 2013

264 / 379

Answer 17
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms
Neighbor Discovery Path MTU discovery DHCPv6 DHCPv6 Stateless Conguration DHCPv6 Stateful Conguration Stateless vs Stateful

Question 17
1 2 3 4

The management protocol of multicast groups IPv6 is based on UDP messages on TCP messages on ICMPv6 messages on a special protocol on top of IPv6

IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

265 / 379

IPv6 & DNS

Reminder: The two faces of the DNS


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

The DNS seen as a TCP/IP application


The service is accessible in either transport modes (UDP/TCP) and over either IP versions (v4/v6) If IPv6 transport is not supported yet, then its highly time! Caution: Information given over either IP version MUST BE CONSISTENT!

The DNS seen as a database


Stores dierent types of resource records (RR), including those related to IPv4 and IPv6 addresses: SOA, NS, A, AAAA, MX, PTR, TXT IPv6 nodes & services become visible as soon as their related resources are published in the DNS database Caution: DNS database is IP transport version agnostic!

c G6 Association

March 28, 2013

267 / 379

DNS Extensions for IPv6 Support (RFC 3596)


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion Example: 0.2.0.0.4.0.0.0.0.0.0.0.0.0.0.0.2.0.0.0.3.0.0.3.0.6.6.0.1.0.0.2.ip6.arpa. PTR www.afnic.fr. Example: www.afnic.fr. IN IN A AAAA 192.134.4.20 2001:660:3003:2::4:20

Forward lookup (Name IPv6 Address)


A new Resource Record (RR) : AAAA The AAAA RR is for IPv6 what the A RR is for IPv4

Reverse lookup (IPv6 Address Name)


A new and dedicated reverse tree: ip6.arpa The IPv6 equivalent to the IPv4 dedicated in-addr.arpa tree PTRs labels follow a nibble-boundary (4 bits)

c G6 Association

March 28, 2013

268 / 379

Recursive Name Servers Information Discovery


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

A Stub Resolver needs a Recursive Name Server address to which it sends name resolution queries In the IPv4 world, this DNS information is:
Either congured manually in the stub resolver (e.g. /etc/resolv.conf for Unix stations) Or discovered via DHCPv4

In the IPv6 world: RFC 4339 (IPv6 Host Conguration of DNS Server Information Approaches)
Via stateful DHCPv6: RFC 3315 Via stateless DHCPv6: RFC 3736, DHCPv6-light RA-based: RFC 6106 (IPv6 Router Advertisement Options for DNS Conguration, obsoletes RFC 5006) Manual conguration as for IPv4 If IPv4 is supported, than run a DHCPv4 client
c G6 Association March 28, 2013 269 / 379

DNSv6 Operational Requirements, Recommendations & Issues


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

RFC 3901: DNS IPv6 Transport Operational Guidelines


For DNS service continuity across a mixture of v4/v6 networks: Recursive Name Servers SHOULD be dual-stack Use dual-stack forwarders if necessary DNS zones SHOULD be served by at least one v4-reachable Authoritative Name Server Avoid v6-only servers

Bear in mind
During the long v4-v6 transition period: some systems will stay v4-only, others will be dual-stack and others v6-only

RFC 4472 Operational Considerations and Issues with IPv6, among others:
Misbehavior of some DNS servers and Load-balancers Handling special (e.g. limited-scope) IPv6-addresses (published vs reachable) Service name vs Node name IPv6 and Dynamic DNS Update (RFC 2136)
c G6 Association March 28, 2013 270 / 379

Security Neighbor Discovery Security

Security issues with Neighbor Discovery


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security
Neighbor Discovery Security Firewalls

From an attacker point of view, IPv6 attacks are: Dicult from remote network:
Scanning IPv6 network is hard (264 addresses)
May use random IID instead of MAC-based IID (if needed)

No broadcast address
Remote attacks would mainly target hosts exposed through the DNS

Easy from local network:


Neighbor Discovery is basically not secured (see SEND later) Attacks inspired by ARP aws + new attacks Implementations not (yet) heavily tested Attacker toolkits already available !
See http://www.thc.org/thc-ipv6/
c G6 Association March 28, 2013 272 / 379

Integration Programming IPv6 Applications Conclusion

Examples of attacks using ND


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security
Neighbor Discovery Security Firewalls

Neighbor Discovery Snooping

NS (who has fe80::IID?)

Integration Programming IPv6 Applications Conclusion

Host uses Neighbor Discovery notably in these two cases: To get the link-layer information (typically the MAC address) of another host (ARP-like) To verify address uniqueness (DAD)
c G6 Association March 28, 2013 273 / 379

Examples of attacks using ND


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms NA IPv6 & DNS Security
Neighbor Discovery Security Firewalls

Neighbor Discovery Snooping

NA

Integration Programming IPv6 Applications Conclusion

An attacker on the LAN can perform an attack by responding to ND messages ARP-like: Claim to be a given host on the LAN => Man in the Middle DAD: Claim to have any address asked for on the LAN => Deny of

Service

c G6 Association

March 28, 2013

273 / 379

Examples of attacks using ND


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security
Neighbor Discovery Security Firewalls

Rogue router

RS

Integration Programming IPv6 Applications Conclusion

Host uses the Router Solicitation to get the address of the exit router and the prex used on the LAN.

c G6 Association

March 28, 2013

274 / 379

Examples of attacks using ND


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security
Neighbor Discovery Security Firewalls

Rogue router

RA RA

Integration Programming IPv6 Applications Conclusion

An attacker on the LAN can perform an attack by responding to RS messages Claim to be the exit router => Man in the Middle Claim to route another prex on the LAN => Deny of Service

c G6 Association

March 28, 2013

274 / 379

Example: Interface during an IETF meeting


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security
Neighbor Discovery Security Firewalls

en3: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500 inet6 fe80::223:6cff:fe97:679c%en3 prefixlen 64 scopeid 0x6 inet6 2002:8281:1c8c:d:223:6cff:fe97:679c prefixlen 64 autoconf inet6 2002:c15f:2011:d:223:6cff:fe97:679c prefixlen 64 autoconf inet6 fec0::d:223:6cff:fe97:679c prefixlen 64 autoconf inet6 2001:df8::24:223:6cff:fe97:679c prefixlen 64 autoconf inet 130.129.28.215 netmask 0xfffff800 broadcast 130.129.31.255 inet6 2002:8281:1ccb:9:223:6cff:fe97:679c prefixlen 64 autoconf inet6 fec0::9:223:6cff:fe97:679c prefixlen 64 autoconf ether 00:23:6c:97:67:9c media: autoselect status: active supported media: autoselect

Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

275 / 379

Solutions to mitigate or prevent attacks?


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security
Neighbor Discovery Security Firewalls

Prevention of attacks: SEND (Secure Neighbor Discovery)


IETF proposed solution: RFC 3971 (note: too complex to deploy for an average site!) Use signed ND messages, with a trust relationship

Level-2 Filtering
Filter ND on switch port (ex. only one port allowed to send RA) A few switch still implements it ... (Cisco ?)

Integration Programming IPv6 Applications Conclusion

Detection of attacks: ndpmon Similar to ARP-watch Detect Snooping and Denial of Services http://ndpmon.sf.net
c G6 Association March 28, 2013 276 / 379

SEND pros and cons


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security
Neighbor Discovery Security Firewalls

Pros
only router with the appropriate certicat can announce valuable prexes

Cons
Hash calculation can be complex => DoS Hosts must be congured with initial certicate
if too generic any router will be accepted if too restrictive, no mobility inside the company network

Integration Programming IPv6 Applications Conclusion

Clock must be synchronized to accept SEND messages


NTP cannot be used, GPS ?

c G6 Association

March 28, 2013

277 / 379

NDP ltering
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security
Neighbor Discovery Security Firewalls

Switches should understand IPv6


MLD Snooping (like IGMP snooping) Only port assigned to routers may send RA
More complex than in IPv4 No Layer 2 type for NPD, IPv6|ICMPv6|RA With extensions, information may be at dierent places

Should be able to register IPv6 addresses per port


To monitor network

This can also be done in IEEE 802.11 architecture


Only specic MAC addresses can send RA MAC address can be spoofed
No Wep WPA

Integration Programming IPv6 Applications Conclusion

Do not work in ad hoc mode


c G6 Association March 28, 2013 278 / 379

Security Firewalls

Concept of rewalling
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security
Neighbor Discovery Security Firewalls

What is a rewall: a border equipment between dierent policy areas What are the roles of a rewall ?
Filter packets according rules Alter packets (i.e. NAT) Route packets between policy areas (in/out/DMZ)

What does IPv6 change ?


New rules to lter IPv6 Routing should handle IPv6

Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

280 / 379

IPv6 Filtering rules: Address scope


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security
Neighbor Discovery Security Firewalls

Need to lter invalid scopes of addresses See RFC 5156 What should be ltered as source/destination :
Link-local Unicast (fe80::/10) Host-scoped addresses (::1) Host,Link,Site-local multicast as source/destination and global multicast as source ULA addresses (in site border) IPv4 compatible/mapped addresses

Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

281 / 379

IPv6 Filtering rules: Other principles


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security
Neighbor Discovery Security Firewalls

ICMPv6 MUST NOT be handled the same way as ICMPv4


Be careful when ltering: RFC 4890 (Recommendations for Filtering ICMPv6 Messages in Firewalls) For instance, ICMPv6 is needed (Path MTU disc, Error reporting)

IPv6 extensions need to be considered


Should be allowed: Fragmentation, IPSec Should be considered with care : Hop-by-Hop, Destination (IPv6 Mobility), Routing

Integration Programming IPv6 Applications Conclusion

Stateful rules are needed for a NAT-like ltering Beware of tunnels (6to4, Teredo) that can be backdoors

c G6 Association

March 28, 2013

282 / 379

IPv6 Filtering rules: Application Headers


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security
Neighbor Discovery Security Firewalls

Filter needs to inspect Application header (HTTP, SIP, etc.) IPv6 addresses may be present inside these headers (cf. SIP) Requirements:
Firewall need to handle presence of these IPv6 addresses Filter need to check validity of these addresses (scope, etc.)

Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

283 / 379

IPv6 Firewalls implementations


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security
Neighbor Discovery Security Firewalls

Implementation pf (*BSD) iptables (Linux) MS Vista Cisco PIX/ASA Cisco ACL Juniper ScreenOS CheckPoint

IPv6 Support X X X X X X X

Stateful Filter X X X X X X X

Extension support X X X ? ? ? ?

Integration Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

284 / 379

Integration Why IPv6 Integration ?

Why Integration?
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration
Why IPv6 Integration ? 6 generic scenarios Tools overview Scenarios Backbone operator Internet Access Provider 3G/LTE Enterprise Home network and SOHO

IPv4 and IPv6 are incompatible


Dierent packet format Prexes are dierent

No backward compatibility, but management is very similar. IETF planned to deploy IPv6 then make IPv4 disappeared
but Metcalfs law was on IPv4 side. Content on IPv4, so few actors moved. Not a complete chain so access is dicult.
Some Integration mechanisms are dangerous

Programming IPv6

c G6 Association

March 28, 2013

286 / 379

Chicken Egg Problem ?


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration
Why IPv6 Integration ? 6 generic scenarios Tools overview Scenarios Backbone operator Internet Access Provider 3G/LTE Enterprise Home network and SOHO

No more IPv4 addresses

No IPv6 service, since no IPv6 Network

No IPv6 Network, since no IPv6 services

No IPv6 service, since no IPv6 Network

No IPv6 Network, since no IPv6 services

No IPv6 service, since no IPv6 Network

No IPv6 Network, since no IPv6 services

No IPv6 service, since no IPv6 Network

No IPv6 Network, since no IPv6 services

Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

287 / 379

Where is IPv4?
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration
Why IPv6 Integration ? 6 generic scenarios Tools overview Scenarios Backbone operator Internet Access Provider 3G/LTE Enterprise Home network and SOHO

Programming IPv6

Source http://www.potaroo.net/tools/ipv4/ c G6 Association

March 28, 2013

288 / 379

Easy integration ? Not completely true


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration
Why IPv6 Integration ? 6 generic scenarios Tools overview Scenarios Backbone operator Internet Access Provider 3G/LTE Enterprise Home network and SOHO

OSes have integrated IPv6


Window 7, iOS, Linux,. . .

Some applications are compatible with IPv6


see
http://en.wikipedia.org/wiki/Comparison of IPv6 application support

Routers have integrated IPv6


Cisco, Juniper, ALU,. . .

but the chain is not complete, so IPv6 is not fully available An address is not only used to forward packet
Allocation procedures Management (size is dierent) ...
IPv6 is new. Test products before production!

Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

289 / 379

Integration 6 generic scenarios

An IPv4 system connects to an IPv4 system through an IPv4 network


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration
Why IPv6 Integration ? 6 generic scenarios Tools overview Scenarios Backbone operator Internet Access Provider 3G/LTE Enterprise Home network and SOHO

IPv4
IPv4

m t Bu
c G6 Association

. t l u c . . i . d s IPv4 IPv4 u e r o i o v b m O nd a e or
March 28, 2013

IPv4

Programming IPv6 Applications Conclusion

291 / 379

An IPv6 system connects to an IPv6 system through an IPv6 network

Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration
Why IPv6 Integration ? 6 generic scenarios Tools overview Scenarios Backbone operator Internet Access Provider 3G/LTE Enterprise Home network and SOHO

IPv6
IPv6

Bu
c G6 Association

. e v . i . t . c s a IPv6 IPv6 r u t o t i v a Ob very t o tn


March 28, 2013

IPv6

Programming IPv6

292 / 379

An IPv4 system connects to an IPv4 system through an IPv6 network


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration
Why IPv6 Integration ? 6 generic scenarios Tools overview Scenarios Backbone operator Internet Access Provider 3G/LTE Enterprise Home network and SOHO

Tunnels: IPv4 on IPv6 (proto 4) L2TP VPN MPLS: Softwires Mesh

IPv6
IPv4

t o N
c G6 Association

j b IPv6o in a m
Tunnel

e v i t c e
IPv6
IPv4

Programming IPv6 Applications Conclusion

March 28, 2013

293 / 379

An IPv6 system connects to an IPv6 system through an IPv4 network


Dynamic Tunnels 6rd Static Tunnels: IPv4 on IPv6 (proto 41) L2TP VPN MPLS: 6PE 6VPN

Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration
Why IPv6 Integration ? 6 generic scenarios Tools overview Scenarios Backbone operator Internet Access Provider 3G/LTE Enterprise Home network and SOHO

IPv6
IPv6

ain

Tunnel IPv4

j b o

e v i t c e

IPv6
IPv6

Programming IPv6

c G6 Association

March 28, 2013

294 / 379

An IPv4 system connects to an IPv6 system


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration
Why IPv6 Integration ? 6 generic scenarios Tools overview Scenarios Backbone operator Internet Access Provider 3G/LTE Enterprise Home network and SOHO

IPv4

e v i c t c a e j M IPv6 b IPv4 IPv4 o 2 n ine a t ach o N M n i t p e c Ex


c G6 Association March 28, 2013

. e hin
IPv6

Programming IPv6 Applications Conclusion

295 / 379

An IPv6 system connects to an IPv4 system


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration
Why IPv6 Integration ? 6 generic scenarios Tools overview Scenarios Backbone operator Internet Access Provider 3G/LTE Enterprise Home network and SOHO

Static Tunnels: L2TP VPN ALG Translation

IPv4
IPv4

x it. e l p ed IPv4 m Co e ne w t Bu

IPv6
IPv6

Programming IPv6

c G6 Association

March 28, 2013

296 / 379

Integration Tools overview

Rough Classication of Transition/Integration Mechanisms


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration
Why IPv6 Integration ? 6 generic scenarios Tools overview Scenarios Backbone operator Internet Access Provider 3G/LTE Enterprise Home network and SOHO

v6-v6 or v4-v4 Communication


Dual-Stack: v4 and v6 are fully available end-to-end

Tunneling
v4 communication through a v6 network or vice versa automatic vs congured (manual) tunnels

v4-v6 co-existence/cross-communication
Translation
Header / protocol / port (v6v4 and v4v6) Stateless vs Stateful

Relays / Application Level Gateways (ALG)

Programming IPv6

c G6 Association

March 28, 2013

298 / 379

Dual-Stack Approach (RFC 4213)


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration
Why IPv6 Integration ? 6 generic scenarios Tools overview Scenarios Backbone operator Internet Access Provider 3G/LTE Enterprise Home network and SOHO

IPv4 and IPv6 running on the same box Especially useful for Legacy (existing) networks
V6-ed (legacy) IPv4 servers can provide the same service over IPv6 transport for new IPv6-only clients (web, mail, ftp, ssh. . . ) V6-ed (legacy) IPv4 clients can query new IPv6-only servers Application TCP/UDP IPv4/IPv6 Net IPv4/IPv6 IPv4/IPv6 Net IPv4 IPv6 Driver

But. . .
At least one IPv4 address is required for every node Alone, this approach does not x the issue of IPv4 space exhaustion! Need to manage both protocols
c G6 Association March 28, 2013 299 / 379

Programming IPv6 Applications Conclusion

Generic Approach for Tunneling


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration
Why IPv6 Integration ? 6 generic scenarios Tools overview Scenarios Backbone operator Internet Access Provider 3G/LTE Enterprise Home network and SOHO

2 types of tunnels: Automatic Tunnels


Examples : 6to4, Teredo, ISATAP, 6PE/MPLS. . .

Congured Tunnels
Manual, Tunnel Broker

IP on IP cannot be NATed
IPv4 Net IPv6 Net
IPv4 Tunnel

IPv6 Net

IPv4 Encapsulation IPv6 IPv6 Packets Packets IPv6 Packets

Programming IPv6

c G6 Association

March 28, 2013

300 / 379

Generic Approach for Translation


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration
Why IPv6 Integration ? 6 generic scenarios Tools overview Scenarios Backbone operator Internet Access Provider 3G/LTE Enterprise Home network and SOHO

PA: Ax f (Cy ), params (A)

PB: By [port (B )?] Cy , params (B )

(x , y ) {(6, 4), (4, 6)} A is IPvx -only, C is IPvy -only A sends a packet PA to C
Source address: Ax Destination address: Cx = f (Cy ) (an IPvx mapped to Cy )

Packet PA is intercepted by B, the translation box supporting both IPvx and IPvy Packet PA is translated into packet PB, later sent to C
Source address: By from the shared pool, potentially with a new port(B) Destination address: Cy
c G6 Association March 28, 2013 301 / 379

Programming IPv6 Applications Conclusion

Generic Approach for ALGs (proxy)


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration
Why IPv6 Integration ? 6 generic scenarios Tools overview Scenarios Backbone operator Internet Access Provider 3G/LTE Enterprise Home network and SOHO

PA: Ax Bx

PB: By Cy

(x , y ) {(6, 4), (4, 6)} A is an IPvx -only client; C is IPvy -only server A sends to B a packet PA containing a request targeting C
Source address: Ax Destination address: Bx

B is a proxy supporting both IPvx and IPvy B sends to C a new packet PB, proxying A?s request
Source address: By Destination address: Cy

Examples: proxy web/ftp/DNS/mail. . .


c G6 Association March 28, 2013 302 / 379

Programming IPv6

Integration Scenarios

Where to act, what to do exactly?


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration
Why IPv6 Integration ? 6 generic scenarios Tools overview Scenarios Backbone operator Internet Access Provider 3G/LTE Enterprise Home network and SOHO

For ISPs/Operators
Backbone routers, Border routers (peering, transit)
Performances, Management

Access equipment (wired or wireless)


Prex Allocation

For users (individuals, enterprise, campus. . . ):


LAN (routers if any) Firewalls Connectivity (CPE, PE) Getting through their v4 ISP or bypassing it

For everybody:
OS (local and distant) Network applications or applications invoking the network even transiently
IPv6 is not mandatory everywhere to start Integration
c G6 Association March 28, 2013 304 / 379

Programming IPv6

Integration Backbone operator

Backbone operators
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration
Why IPv6 Integration ? 6 generic scenarios Tools overview Scenarios Backbone operator Internet Access Provider 3G/LTE Enterprise Home network and SOHO

Forward IPv6 as fast as IPv4 Some old routers forward IPv6 in the supervision card
bad performances

Tunnel is not a good solution


bad performances due to encapsulation

MPLS is your friend.


L2VPN 6PE 6VPN

Few have the opposite problem:


How to carry IPv4 trac on an IPv6 backbone Softwires mesh

Programming IPv6

c G6 Association

March 28, 2013

306 / 379

BGPv4 versus MP-BGP


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration
Why IPv6 Integration ? 6 generic scenarios Tools overview Scenarios Backbone operator Internet Access Provider 3G/LTE Enterprise Home network and SOHO

SYN ACK

SYN ACK

OPEN

SYN ACK

SYN ACK

OPEN

Check remote ASN value

Check remote ASN value and negociate capabilities

Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

307 / 379

MP-BGP capabilities
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration
Why IPv6 Integration ? 6 generic scenarios Tools overview Scenarios Backbone operator Internet Access Provider 3G/LTE Enterprise Home network and SOHO

AFI : Address Family Identier


1: IPv4 2: IPv6

SAFI: Subsequent Address Family Identiers


1: unicast 2: multicast 4: MPLS 65: Support for 4-octet ASN 67: BGP 4over6 68: BGP 6over4

Programming IPv6

c G6 Association

March 28, 2013

308 / 379

BGPv4 versus MP-BGP


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration
Why IPv6 Integration ? 6 generic scenarios Tools overview Scenarios Backbone operator Internet Access Provider 3G/LTE Enterprise Home network and SOHO

SYN ACK

SYN ACK OPEN

SYN ACK

SYN ACK OPEN

UPDATE

UPDATE

Prex Withdraw Path Attributes NLRI Added

IPv4 IPv4

MP UNREACH NLR AFI SAFI Withdraw routes

Path Attributes

MP REACH NLR AFI SAFI Next Hop NLRI

Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

309 / 379

6PE
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration
Why IPv6 Integration ? 6 generic scenarios Tools overview Scenarios Backbone operator Internet Access Provider 3G/LTE Enterprise Home network and SOHO

6 NH = R 1 6 R1 R2

6 L60 NH =:: FFFF : R 24

6 NH = R 36

6 : NH = R 24 L60

R3

R4

BGP RIB FIB


|L60 |IPv 6 |L456 |L60 |IPv 6 pop Pref (R 24 ) : L123

2 customers want IPv6 Upgrade CPE

MPLS
c G6 Association

|L123 |L60 |IPv 6

Programming IPv6

March 28, 2013

310 / 379

Softwires Mesh
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration
Why IPv6 Integration ? 6 generic scenarios Tools overview Scenarios Backbone operator Internet Access Provider 3G/LTE Enterprise Home network and SOHO

4 NH = R 1 4 R1 R2

4 L60 NH = R 26

4 NH = R 34

4 : NH = R 26 L60

R3

R4

BGP RIB FIB


|L60 |IPv 4 |L456 |L60 |IPv 4 pop Pref (R 26 ) : L123

MPLS
c G6 Association

|L123 |L60 |IPv 4

Programming IPv6 Applications Conclusion

March 28, 2013

311 / 379

6PE versus Softwires Mesh


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration
Why IPv6 Integration ? 6 generic scenarios Tools overview Scenarios Backbone operator Internet Access Provider 3G/LTE Enterprise Home network and SOHO

MP-BGP: (RFC 4760) The Network Layer protocol associated with the Network Address of the Next Hop is identified by a combination of <AFI, SAFI> carried in the attribute. no AFI/SAFI dened for 6PE and Softwires
6PE:
NLRI is IPv6 NH is IPv4 use IPv4 mapped addresses (::FFFF:IPv4)

Softwires Mesh:
NLRI is IPv4 NH is IPv6 Change the MP-BGP RFC (RFC 5549)

Programming IPv6

c G6 Association

March 28, 2013

312 / 379

IPv6 is here, at least at tier 1 level


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration
Why IPv6 Integration ? 6 generic scenarios Tools overview Scenarios Backbone operator Internet Access Provider 3G/LTE Enterprise Home network and SOHO

Tier 1: Sprint, Cable & Wireless, Level 3, . . . Tier 2: France Telecom, GIX:

Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

313 / 379

Integration Internet Access Provider

ISP
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration
Why IPv6 Integration ? 6 generic scenarios Tools overview Scenarios Backbone operator Internet Access Provider 3G/LTE Enterprise Home network and SOHO

Performances in forwarding (not so strict)


may use tunnels

Allocate IPv6 prexes


Lawfull IP address identication.

May suer from IPv4 shortage


Dierent strategies exist

Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

315 / 379

Dene an addressing plan (Renater case study)


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration
Why IPv6 Integration ? 6 generic scenarios Tools overview Scenarios Backbone operator Internet Access Provider 3G/LTE Enterprise Home network and SOHO

RIPE-NCC 2001:660::/32 POP 2001:660:7300::/40 Site 2001:660:7301::/48

20 0

1: 66 0:

73 00 ::

/4

Programming IPv6

c G6 Association

March 28, 2013

316 / 379

ADSL Architecture
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration
Why IPv6 Integration ? 6 generic scenarios Tools overview Scenarios Backbone operator Internet Access Provider 3G/LTE Enterprise Home network and SOHO

IPv4 PPP PPPoE MAC 10BaseT

MAC 10BaseT LLC/SNAP AAL5 ATM xDSL modem

IPv4 PPP PPPoE MAC LLC/SNAP ATM xDSL SDH AAL ATM SDH AAA

PC

PC

modem DSLAM BRAS

Internet (IPv4)

PC

modem

PC

modem

Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

317 / 379

ADSL Architecture
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration
Why IPv6 Integration ? 6 generic scenarios Tools overview Scenarios Backbone operator Internet Access Provider 3G/LTE Enterprise Home network and SOHO

IPv6 IPv4 PPP PPPoE MAC 10BaseT

MAC 10BaseT LLC/SNAP AAL5 ATM xDSL modem

IPv6 IPv4 PPP PPPoE MAC LLC/SNAP ATM xDSL SDH AAL ATM SDH AAA

PC

PC

modem DSLAM BRAS

Internet (IPv4)

PC

modem

PC

modem

Programming IPv6

c G6 Association

March 28, 2013

317 / 379

ADSL Architecture (Box or CPE)


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration
Why IPv6 Integration ? 6 generic scenarios Tools overview Scenarios Backbone operator Internet Access Provider 3G/LTE Enterprise Home network and SOHO

IPv4 MAC 10BaseT

IPv4 (NATed) MAC 10BaseT PPP PPPoE MAC LLC/SNAP AAL5 ATM xDSL ATM xDSL SDH

IPv4 PPP PPPoE MAC LLC/SNAP AAL ATM SDH AAA

PC

NAT CPE

PC

NAT CPE DSLAM BRAS

Internet (IPv4)

PC

NAT CPE

PC

NAT CPE Must be changed or upgraded

Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

318 / 379

ADSL Architecture (3rd Generation DSLAM)


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration
Why IPv6 Integration ? 6 generic scenarios Tools overview Scenarios Backbone operator Internet Access Provider 3G/LTE Enterprise Home network and SOHO

IPv4 MAC 10BaseT

IPv4 (NATed) MAC 10BaseT

IPv4 PPP SDH

PPP PPPE PPPoE PPPoE MAC MAC LLC/SNAP LLC/SNAP AAL5 ATM xDSL AAL5 ATM xDSL

IPv4 PPP SDH

PC

NAT CPE

AAA

PC

NAT CPE DSLAM BRAS

PC

NAT CPE

Internet (IPv4) L2T P


AAA LNS

PC

NAT CPE

Programming IPv6

c G6 Association

March 28, 2013

319 / 379

Comments I
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration
Why IPv6 Integration ? 6 generic scenarios Tools overview Scenarios Backbone operator Internet Access Provider 3G/LTE Enterprise Home network and SOHO

Lint egration dIPv6 dans les r eseaux xDSL nest pas aussi simple quelle peut appara tre au premier abord. En eet, basiquement un r eseau ADSL est un r eseau de niveau 2. Un ordinateur va utiliser lencapsulation PPP pour transporter des trames IP vers un vers un modem ADSL qui joue le r ole de pont et transmet la trame sur le r eseau t el ephonique DSLAM (Digital subscriber line access multiplexer ). A son tour, le DSLAM se contente de ponter et de multiplexer les tracs vers un routeur B-RAS (Broadband Remote Access Server ). Pour que lordinateur ait acc` es ` a IPv6, il faut bien entendu quil ait une pile IPv6 et que PPP lint` egre et ` a lautre extr emit e, il faut que le B-RAS soit egalement compatible avec cette version du protocole et et que le r eseau de lop erateur soit egalement IPv6. M eme dans ce cas simple, il faut pourvoir int egrer les fonctionnalit e de AAA pour authentier les utilisateurs et congurer son equipement. En IPv4, tout passe par PPP. Lordinateur de lutilisateur r epond ` a un challenge envoy e par le B-RAS. Ce dernier interroge un serveur AAA pour savoir si lauthentication est correcte. Dans un second temps, toujours via PPP, lordinateur est congur e avec une adresse IPv4 et g en eralement ladresse du r esolveur de nom pour le DNS. En IPv6, PPP apr` es lauthentication ne congure que les adresses Lien-Local. Il faut donc que le B-RAS aecte un pr exe, via DHCPv6, ` a lutilisateur dans lequel il auto-congurera son adresse IPv6. Le serveur peut retourner le pr exe a attribuer ` a lutilisateur pour garantir un stabilit e dans son adressage (RFC 4818). Mais en r ealit e, larchitecture est plus complexe. Tout dabord lordinateur de lutilisateur est derri` ere un CPE (inclus dans les box en France) qui contient des fonctions de NAT et de DHCP pour permettre ` a plusieurs equipements de se connecter. Il faut donc que cet equipement puisse accepter de lIPv6, ce qui est rarement le cas. Plusieurs situations existent. Quand lutilisateur est propri etaire de son CPE, il faut quil en ach` ete un autre. Sil appartient ` a un op erateur (cas des box) il faut que ce dernier mette ` a jour le rmware. Lutilisation de tunnel IP dans IP est d elicate car il manque les num eros de port pour permettre au NAT de fonctionner. Depuis plusieurs ann ees, les op erateurs ont regroup e les fonctions de DSLAM et de B-RAS dans un m eme equipement. Cela a plusieurs avantages, en particulier de mieux optimiser la gestions de ux multicast des ux de t el evision. Par contre, pour permettre de lIPv6 natif, il faut que le DSLAM puisse le traiter. Une

Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

320 / 379

Comments II
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration
Why IPv6 Integration ? 6 generic scenarios Tools overview Scenarios Backbone operator Internet Access Provider 3G/LTE Enterprise Home network and SOHO

alternative consiste faire fonctionner le B-RAS comme un pont et envoyer les trames PPP en utilisant lencapsulation L2TP (PPP/L2TP/UDP/IP) vers un autre routeur (appel e LAC: L2TP Access Concentrator sur le transparent) qui proc` ede ` a lauthentication.

Programming IPv6

c G6 Association

March 28, 2013

321 / 379

Free - 6rd (RFC 5969)


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration
Why IPv6 Integration ? 6 generic scenarios Tools overview Scenarios Backbone operator Internet Access Provider 3G/LTE Enterprise Home network and SOHO

2A01:0E
26 bits

3
2

D:41B2:016
32 bits

0::/60 IPv4/IPv6 Internet

212.27.32.22
FreeBox PC FreeBox PC FreeBox PC FreeBox PC AAA DSLAM BRAS

Free (IPv4)
6RD Relay

Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

322 / 379

6rd
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration
Why IPv6 Integration ? 6 generic scenarios Tools overview Scenarios Backbone operator Internet Access Provider 3G/LTE Enterprise Home network and SOHO

Core network or DSLAM are not changed:


only some 6RD relays and CPE modication.

IPv6 prexes are stable if IPv4 addresses are stable No need to manage/log IPv6 prexes since IPv4 prex is embedded 6RD relay is not used for internal trac Deployed in Free Network in 2007 in 5 weeks. DHCPv4 option to setup 6RD relays (6RD Relays, and prex lengths) Can work with IPv4 private addresses.

Provider IPv6 Prex 10


c G6 Association

X X

Y Y

Z Z

SID::/64

Programming IPv6

March 28, 2013

323 / 379

Comments I
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration
Why IPv6 Integration ? 6 generic scenarios Tools overview Scenarios Backbone operator Internet Access Provider 3G/LTE Enterprise Home network and SOHO

Le technologie 6RD (Rapid Deployment ) a et e introduite pour la premi` ere fois en 2007 dans le r eseau de lop erateur fran cais Free. Sa simplicit e a permis de la mettre en uvre dans le r eseau de cet op erateur en moins de 5 semaines. Elle se base sur la technologie 6to4 d ej` a existante que nous verrons par la suite, mais qui sourait dune mauvaise qualit e de service. Lop erateur met en place un tunnel qui permet de g erer IPv6 dans IPv4 (protocole 41) et doit modier les box (CPE) de ses utilisateurs pour y introduire egalement une interface pour les tunnels. Les pr exes IPv6 sont d eduits des adresses IPv4 attribu es ` a la box. Lop erateur y concat` ene sont pr exe IPv6. Dans le cas de Free, le pr exe 2A01:0E00::/26 a et e attribu e par RIPE-NCC. Free r eserve 2 bits pour avoir un /28 qui sera plus lisible car align e sur les chires du pr exe. La valeur 3 (11 en binaire) est utilis e pour ce m ecanisme. Le pr exe de 6RD est donc 2A01:E30::/28. On ajoute ensuite les 32 bits de ladresse IPv4 allou ee ` a linterface externe de la box, on obtient donc un /60 de la forme 2A01:E3X:XXXX:XXX0::/60. Lutilisateur dispose donc de 4 bits pour num eroter ses SID soit 16 valeurs possibles. La Box choisit un SID et annonce normalement le pr exe sur le r eseau de lutilisateur. Les equipements qui ont activ e IPv6 construisent leur adresse. Comme ladresse IPv6 d epend de ladresse IPv4, il nest pas n ecessaire davoir des m ecanismes de gestion suppl ementaires pour IPv6. Ainsi, si une demande l egale didentication dun abonn e est demand ee pour une adresse IPv6, il sut de se baser sur la partie IPv4. Le RFC 5969 pr evoit une option DHCPv4 pour congurer le CPE de lop erateur avec ladresse des relais 6RD ainsi que les longueurs des pr exes IPv4 et IPv6. Ainsi, si lop erateur utilise un adressage priv e ou si son pr exe IPv6 est trop long, il nest pas n ecessaire de mettre lint egralit e de ladresse IPv4 dans le pr exe 6RD, il sut juste dy mettre les bits correspondant ` a la partie variable de ladresse IPv4.

Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

324 / 379

6rd: Mechanism
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration
Why IPv6 Integration ? 6 generic scenarios Tools overview Scenarios Backbone operator Internet Access Provider 3G/LTE Enterprise Home network and SOHO

Host
192.168.X.X

Home Network

CPE
CPE Public IPv4

ISP Infra

6rd Relay
6rd IPv4 Anycast Relay Public IPv6

Internet

Prex = ISP + CPE IPv4 IID = EUI-64

Prex = ISP + CPE IPv4 IID = ::1 IPv4: s:CPE IPv4 d:Relay Anycast

IPv6: s:Host IPv6 d:Remote IPv6

IPv6: s:Host IPv6 d:Remote IPv6

IPv6: s:Host IPv6 d:Remote IPv6

IPv6: s:Remote IPv6 d:Host IPv6

IPv4: s:Relay Anycast d:CPE IPv4 IPv6: s:Remote IPv6 d:Host IPv6

IPv6: s:Remote IPv6 d:Host IPv6

Programming IPv6

c G6 Association

March 28, 2013

325 / 379

SFR: Softwires: H&S Architecture RFC 5571


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS SI Security Integration
Why IPv6 Integration ? 6 generic scenarios Tools overview Scenarios Backbone operator Internet Access Provider 3G/LTE Enterprise Home network and SOHO

NAT Traversal

Authentication

IPv4

UDP L2TP PPP

IPv6

IPv4/IPv6 Internet

9Box PC

DSLAM

BRAS

IPv4
LNS

SC

AAA

Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

326 / 379

SFR: Softwires: H&S Architecture RFC 5571


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration
Why IPv6 Integration ? 6 generic scenarios Tools overview Scenarios Backbone operator Internet Access Provider 3G/LTE Enterprise Home network and SOHO

IPv4/IPv6 Internet

9Box PC

DSLAM

BRAS

IPv4
LNS

SC

AAA

Programming IPv6

c G6 Association

March 28, 2013

326 / 379

Comments I
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration
Why IPv6 Integration ? 6 generic scenarios Tools overview Scenarios Backbone operator Internet Access Provider 3G/LTE Enterprise Home network and SOHO

La technique Softwires Hub & Spoke utilise les tunnels L2TP. Dans la version de base, un equipement (appel e SI: Softwires Initiator ) est mis dans le r eseau local de lutilisateur. Celui-ci contacte un concentrateur (SC: Softwires Concentrator ). Lint er et de cette technologie est de nutiliser que des protocoles d ej` a standardis es. Le RFC 5571 d enit les proles dutilisation. Le fait dutiliser UDP permet de traverser les NAT. Les messages de keepalive de L2TP et de PPP permettent de garder les contextes NAT ouverts m eme lorsquil ny a pas de trac. Lutilisation de PPP permet dauthentier lutilisateur et donc de lui fournir toujours le m eme pr exe. Ainsi, si lop erateur renum erote p eriodiquement la box, le tunnel L2TP tombe, mais est rapidement r eouvert et le pr exe IPv6 reste le m eme. Le SI peut etre int egr e` a la box. Cela permet de traverser les DSLAM qui ne sont quIPv4.

Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

327 / 379

France Telecom/Orange: Native + CGN


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS 192.168.1.1 Security Integration
Why IPv6 Integration ? 6 generic scenarios Tools overview Scenarios Backbone operator Internet Access Provider 3G/LTE Enterprise Home network and SOHO

192.168.1.1 : 12345 IPv 61 2.3.4.5 : 55555 192.168.1.1 : 12345 IPv 64 2.3.4.5 : 54321

IPv4/IPv6 Internet
192.168.1.1 : 12345 Livebox FB : 80 PC B4 Livebox B4 Livebox B4 Livebox B4 IPv 61 AAA IPv 62 IPv 63 DSLAM BRAS IPv 61 AFTR IPv 64 2.3.4.5 : 55555 FB : 80 2.3.4.5 : 54321 FB : 80

PC 192.168.1.1 PC 192.168.1.1 PC 192.168.1.1

IPv6 IPv4
CGN

AFTR

192.168.1.1 : 12345 FB : 80

192.168.1.1 : 12345 FB : 80

Programming IPv6

c G6 Association

March 28, 2013

328 / 379

France Telecom/Orange: Native + CGN


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration
Why IPv6 Integration ? 6 generic scenarios Tools overview Scenarios Backbone operator Internet Access Provider 3G/LTE Enterprise Home network and SOHO

Carrier Grade NAT deals with IPv4 address exhaustion:


No IPv4 address for the infrastructure An IPv4 address is shared among several users
A user consumes about 300 port numbers Less is needed (2 or 3 users per address)

Less scalable than user NAT


More trac from dierent users for incoming trac must map a port number to an IPv6 address

Must take into account:


UPnP: Send UPnP trac to CGN (see Port Control Protocol) Static Mapping: Web page on AFTER

Legal identication is complex:


Log per ow Need IPv4 address, port number and time.
c G6 Association March 28, 2013 329 / 379

Programming IPv6 Applications Conclusion

Comments I
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration
Why IPv6 Integration ? 6 generic scenarios Tools overview Scenarios Backbone operator Internet Access Provider 3G/LTE Enterprise Home network and SOHO

Cette architecture impose le d eploiement dIPv6 jusqu` a chez lutilisateur. Le trac IPv4 sera encapsul e dans de lIPv6. Les CGN consistent ` a mettre un NAT au cur du r eseau plut ot que chez lutilisateur. De cette mani` ere, il est possible de partager une adresse IPv4 entre plusieurs utilisateurs. Larchitecture se compose dun equipement B4 (Basic Bridging BroadBand ) va simplement encapsuler le trac IPv4 sortant vers un equipement AFTR (Address Family Transition Router ) qui eectuera la traduction de ladresse priv ee en adresse publique. Lavantage de cette solution est de faire dispara tre les adresses IPv4 de linfrastructure, elles pourront etre redistribu ees aux clients. De plus le partage dune adresse IPv4 par plusieurs utilisateurs permet de moins gaspiller de cette ressource rare. Cette traduction est un peu plus complexe que dans un NAT traditionnel, car il faut associer au num ero de port sortant ladresse IPv6 de l equipement B4 en plus de ladresse priv ee de la source et le num ero de port quelle a choisi. Quand un paquet revient ` a lAFTR, celui-ci ` a partir du port destination retrouve ladresse du B4, ladresse priv ee de la machine et le num ero de port. Cette op eration est relativement complexe, surtout si les d ebits sont relativement elev es. Un utilisateur moyen consomme environ 300 ports (il faut prendre en compte quun port utilis e pour une connexion TCP nest lib er e que 2 minutes apr` es la fermeture de la connexion). On pourrait donc arriver ` a un multiplexage de 200 clients par adresse IPv4. Mais ces valeurs sont irr ealistes. Si un op erateur alloue la m eme adresse ` a deux utilisateurs, il double le nombre de clients. Par contre cette solution a des inconv enients. Dans les architectures UPnP tr` es utilis ees par les jeux en lignes ou des applications comme bittorrent, un message en diusion est emis par les stations pour trouver et donner des ordres aux NAT. Comme le NAT ne se trouve plus sur le r eseau local, il faut d enir un protocole pour permettre aux ordres UPnP datteindre le CGN; Port Control Protocol est en cours de d enition ` a lIETF. Un utilisateur peut vouloir mettre en place chez lui un serveur web. D ej` a, il ne peut plus compter sur le port bien connu 80 pour mettre en place son service, car il sera partag e entre plusieurs utilisateurs. Il devra donc demander un autre num ero de port et le mettre dans les URL. Le CGN doit disposer dune interface de conguration pour garantir une aectation stable des ces valeurs.

Programming IPv6

c G6 Association

March 28, 2013

330 / 379

Comments II
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration
Why IPv6 Integration ? 6 generic scenarios Tools overview Scenarios Backbone operator Internet Access Provider 3G/LTE Enterprise Home network and SOHO

Finalement, pour les aspects l egaux, la gestion du CGN est complexe, en eet une adresse IP ne re` ete plus un seul utilisateur, mais un groupe. Il faut donc conna tre lheure ` a laquelle le trac a et e captur e et le num ero de port utilis e pour remonter ` a la source et identier lutilisateur. La technique CGN nest donc quune etape interm ediaire, pour amener IPv6 jusqu` a lutilisateur et doit etre utilis ee quen dernier recours quand le service nest pas accessible en IPv6.

Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

331 / 379

4rd (main idea)


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS 192.168.1.1 Security Integration
Why IPv6 Integration ? 6 generic scenarios Tools overview Scenarios Backbone operator Internet Access Provider 3G/LTE Enterprise Home network and SOHO

DHCPv6

2.3.4.

18
DHCPv6

Port range (simplied) 0x3400 0x34FF

2001 BD8 1234 5678


Unique 192.168.1.1 : 12345 CPE FB : 80 PC NAT CPE NAT CPE NAT CPE NAT IPv 61 IPv 62 IPv 63 IPv 64

IID

IPv4/IPv6 Internet

IPv 64 tunnel 2.3.4.18 : 0x 3432 FB : 80 DSLAM BRAS Tunnel

PC 192.168.1.1 PC 192.168.1.1 PC 192.168.1.1

IPv6 IPv4

AAA

Programming IPv6

c G6 Association

March 28, 2013

332 / 379

Comments I
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration
Why IPv6 Integration ? 6 generic scenarios Tools overview Scenarios Backbone operator Internet Access Provider 3G/LTE Enterprise Home network and SOHO

4RD (pour Residual Deployment ) est une technologie plus jeune de CGN, toujours ` a l etat de draft ` a lIETF, elle est plus simple ` a mettre en uvre que CGN. Il sagit de construire une adresse IPv4 ` a partir dinformations contenues dans un pr exe IPv6. Ainsi dans lexemple pr ec edent si un site re coit le pr exe 2001:DB8:1234::/48. la partie 0x1234 est unique pour ce site (on suppose que lop erateur dispose dun /32). Le site aura re cu par DHCPv6 des informations lui donnant le pr exe IPv4 de base (ici 2.3.4/24) et la partie quil prendra de ladresse IPv6 pour compl eter ladresse (ic 0x12, soit 18 en d ecimal). Le CPE contruit donc ladresse publique du NAT 2.3.4.18. La partie 0x34 donnera le num ero des ports (en fait ces ports sont r epartis sur plusieurs plages pour ne pas favoriser ou d efavoriser des utilisateurs). Dans notre exemple simple, tous les ports utilisable commenceront par 0x34XX. Le NAT reste sur le CPE simpliant lutilisation des protocoles comme UPnP, il sagit juste de restreindre les ports utilisables par le NAT. On voit quun autre site recevant le pr exe 2001:DB8:1235::/48 utilisera la m eme adresse IPv4, mais pas la m eme plage de num ero de ports.

Ce qui est int eressant dans cette technologie, vient de la gestion des donn ees en retour. En eet, le tunnelier est sans etat. Sil re coit un paquet IPv4 a destination de 2.3.4.18 et sur le port 0X3487, il prend la valeur 18 et le d ebut du num ero de port et peut ainsi construire le pr exe vers lequel les paquets devront etre tunn el es.

Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

333 / 379

Integration 3G/LTE

3G data
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS GTP Security Integration
Why IPv6 Integration ? 6 generic scenarios Tools overview Scenarios Backbone operator Internet Access Provider 3G/LTE Enterprise Home network and SOHO

Activate IPv6

HLR

Android: OK iPhone: KO? Symbian: yes

IPv4/IPv6 Internet
RLC ME Node B AT+CGDCONT=1,IP,APN,,0,0 AT+CGDCONT=2,IPv6,APNv6,,0,0 RNC SGSN GGSN

Keep only IPv6, but translate to IPv4 when needed

ME: Mobile Equipment, RNC: Radio Network Controller, SGSN: Serving GPRS Support Node, GGSN: Gateway GPRS Support Node, HLR: Home Location Register, GTP: GPRS Tunnelling Protocol RLC: Radio Link Control

Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

335 / 379

Comments I
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration
Why IPv6 Integration ? 6 generic scenarios Tools overview Scenarios Backbone operator Internet Access Provider 3G/LTE Enterprise Home network and SOHO

Dun point de vue IP, le r eseau GRPS/3G est tr` es simple. Le ME (Mobile Equipment ) correspond par exemple au t el ephone portable. Le node B g ere la partie transmission. Il est pilot e par le RNC (Radio Network Controller ). Les donn ees sont transport ees par le protocole RLC (Radio Link Control) entre le ME et le RNC. Le RNC dialogue avec le SGSN (Serving GPRS Support Node ) pour les autorisations en liaison avec le HLR (Home Location Register ). Entre le RNC et le GGSN, un tunnel GTP (GPRS Tunnelling Protocol ) est etabli. Pour faire de lIPv6, il faut que le terminal soit IPv6, que le HLR autorise lacc` es ` a ce protocole et que le GGSN dernier routeur avant le r eseau Internet accepte cette version du protocole. Pour linstant IPv6 nest pas int egr e dans les piles protocolaires des t el ephones les plus modernes. Au niveau le plus bas, lactivation dIP (on parle de contexte PDP (Packet Data Protocol )) peut se faire par des commandes AT. Mais il nen existe pas pour activer ` a la fois IPv4 et IPv6 sur un m eme contexte. Lutilisateur doit donc cr eer deux contextes, ce qui double le nombre de contextes sur le GGSN. Une solution envisag ee actuellement consisterait ` a ne d enir quun contexte IPv6 et eectuer une traduction de paquets en sortie pour atteindre les equipements IPv4.

Programming IPv6

c G6 Association

March 28, 2013

336 / 379

3G data + NAT64/DNS64
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration
Why IPv6 Integration ? 6 generic scenarios Tools overview Scenarios Backbone operator Internet Access Provider 3G/LTE Enterprise Home network and SOHO

.FR ? G6.ASSO
ME UMTS::1 GGSN AAAA 2001:660:7301:50:250:56:fead:2d4e

IPv4/IPv6 Internet DNS64 NAT64

Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

337 / 379

3G data + NAT64/DNS64
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration
Why IPv6 Integration ? 6 generic scenarios Tools overview Scenarios Backbone operator Internet Access Provider 3G/LTE Enterprise Home network and SOHO

E.FR ? LEMOND
ME UMTS::1 GGSN

IPv4/IPv6 Internet DNS64 NAT64


213.182.38.174

AAAA 64:FF9B::213.182.38.174

Programming IPv6

c G6 Association

March 28, 2013

337 / 379

3G data + NAT64/DNS64
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration
Why IPv6 Integration ? 6 generic scenarios Tools overview Scenarios Backbone operator Internet Access Provider 3G/LTE Enterprise Home network and SOHO

[UMTS::1]:12345 [64:FF9B::213.182.38.174]:80

IPv4/IPv6 Internet

ME UMTS::1

GGSN

DNS64 NAT64
192.12.13.14:5555 213.182.38.174:80

5555 [UMTS::1]:12345

Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

337 / 379

Comments I
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration
Why IPv6 Integration ? 6 generic scenarios Tools overview Scenarios Backbone operator Internet Access Provider 3G/LTE Enterprise Home network and SOHO

NAT64 fonctionne en deux etapes. Il permet ` a une machine IPv6 de dialoguer avec une machine IPv4. La machine IPv6 va demander ladresse IPv6 dun equipement distant. Comme celui-ci nest quIPv4, il faut mettre dans la cha ne dinterrogation du DNS un equipement qui va traduire les adresses dune version ` a lautre du protocole. Le DNS64 ajoute un pr exe bien connu au d ebut de ladresse IPv6. Ce pr exe permettra de router les paquets vers un traducteur NAT64. Celui ci pourra retrouver ladresse IPv4 de la destination. Il devra aussi remplacer ladresse source pour y mettre ` a la place une adresse IPv4. Comme dans un NAT traditionnel, le num ero de port servira de r ef erence pour la traduction inverse des paquets en r eponse. Le NAT64 a les m eme d efauts que les NAT44. Si des adresses sont contenues dans les donn ees, elles ne seront pas traduites. Cela le rend incompatible avec des protocoles comme SIP ou le streaming.

Programming IPv6

c G6 Association

March 28, 2013

338 / 379

Integration Enterprise

Entreprise Network
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration
Why IPv6 Integration ? 6 generic scenarios Tools overview Scenarios Backbone operator Internet Access Provider 3G/LTE Enterprise Home network and SOHO

Anticipate: include IPv6 in calls for tenders.


RIPE 501 is your friend (
http://www.ripe.net/ripe/docs/ripe-501

Dene your goal:


Test: learn about IPv6 or develop products
Get temporary connectivity (Tunnel Brokers)

V6fy Extranet or/and Intranet


Get permanent connectivity and prex Dene addressing plan Dene security rules

Programming IPv6

c G6 Association

March 28, 2013

340 / 379

Tunnel Broker (RFC 3053)


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration
Why IPv6 Integration ? 6 generic scenarios Tools overview Scenarios Backbone operator Internet Access Provider 3G/LTE Enterprise Home network and SOHO

Hurricane Electric (

tunnelbroker.com

Standard and BGP tunnels Point of Presence in Asia, North America and Europe

sixxs ( gogo6 (

http://www.sixxs.net/main/

) )

Worldwide
http://gogonet.gogo6.com/page/freenet6-tunnelbroker

Few Point of Presence in Canada NAT Traversal

Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

341 / 379

Tunnel Brokers
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration
Why IPv6 Integration ? 6 generic scenarios Tools overview Scenarios Backbone operator Internet Access Provider 3G/LTE Enterprise Home network and SOHO

1 - Sign-in 2 - enter conguration parameters

3 - congure tunnel

Web

router rewall

router

4 - copy conguration

Be careful with Firewalls or NATs (Hurricane Electric supposes support of proto 41 in NATs)

Programming IPv6

c G6 Association

March 28, 2013

342 / 379

Comments I
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration
Why IPv6 Integration ? 6 generic scenarios Tools overview Scenarios Backbone operator Internet Access Provider 3G/LTE Enterprise Home network and SOHO

Les tunnels brokers sont mis ` a disposition de la communaut e, g en eralement par des soci et es qui veulent se faire connaitre sur le terrain dIPv6, pour connecter des sites isol es au r eseau Internet IPv6. Le principe de fonctionnement est relativement simple. Lutilisateur se connecte sur un serveur web. Apr` es s etre identi e, il peut entrer la conguration de son r eseau sur un formulaire. Quand celui-ci est accept e, le serveur web va congurer un routeur une interface tunnel. Le serveur web retourne egalement ` a lutilisateur le script de conguration quil devra ex ecuter sur sa machine. Suivant les fournisseurs, les points de pr esence sont plus ou moins loin. Il est pr ef erable de choisir un point relativement proche pour b en ecier dune bonne qualit e de service. Lutilisation dun NAT peut etre un point bloquant pour le d eploiement du service.

Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

343 / 379

Application Level Gateway


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration
Why IPv6 Integration ? 6 generic scenarios Tools overview Scenarios Backbone operator Internet Access Provider 3G/LTE Enterprise Home network and SOHO

How to enable IPv6 access to a production Web site


www A 192.0.2.1 AAAA 2001:db8:1:1::1:1 DNS Server

IPv4 Client
www A? = 192.0.2.1

HTTP Server 192.0.2.1

IPv6 Client
www AAAA? = 2001:db8:1:1::1:1 c G6 Association

HTTP Proxy (Apache) 2001:db8:1:1::1:1 192.0.2.2

Programming IPv6

March 28, 2013

344 / 379

SSL Tunnel
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration
Why IPv6 Integration ? 6 generic scenarios Tools overview Scenarios Backbone operator Internet Access Provider 3G/LTE Enterprise Home network and SOHO

How to enable IPv6 access to a production Mail server


imap A 192.0.2.1 imaps A 192.0.2.2 AAAA 2001:db8:1:1::1:1

DNS Server

IMAP

IPv4 Client
imap A? = 192.0.2.1 imaps A? = 192.0.2.2

IMAPS IMAP

IMAP Server 192.0.2.1

IMAPS

IPv6 Client
imaps AAAA? = 2001:db8:1:1::1:1 c G6 Association

SSL Tunnel (stunnel) 2001:db8:1:1::1:1 192.0.2.2

Programming IPv6 Applications Conclusion

March 28, 2013

345 / 379

Monitor IPv6 usage


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration
Why IPv6 Integration ? 6 generic scenarios Tools overview Scenarios Backbone operator Internet Access Provider 3G/LTE Enterprise Home network and SOHO

Monitoring IPv6 is important for


See impact of IPv6 deployement Ensure same Quality of Service in IPv4 an IPv6

Tools
Trac: MRTG/Cacti, Netow v9. . . Services: Nagios, Zabbix. . .

Dual-Stack requires dual check !


Need to check service reachability BOTH in IPv4 AND in IPv6

Programming IPv6

c G6 Association

March 28, 2013

346 / 379

Integration Home network and SOHO

Home Network
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration
Why IPv6 Integration ? 6 generic scenarios Tools overview Scenarios Backbone operator Internet Access Provider 3G/LTE Enterprise Home network and SOHO

Must (should) be transparent for the end-users Last Mile is not currently v6ed Wait .... or used Tunnel Brokers
DO NOT USE TEREDO OR 6to4

homenet IETF working group species home network behavior for IPv6
Today: star topology around single CPE Tomorrow: Mesh network and multi-homing
Internet of things smart grid ...

Programming IPv6

c G6 Association

March 28, 2013

348 / 379

6to4
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration
Why IPv6 Integration ? 6 generic scenarios Tools overview Scenarios Backbone operator Internet Access Provider 3G/LTE Enterprise Home network and SOHO

based on the magic formula 16+32=48


2002::/16 + IPv4 address

10/8 5.6.7.8 2002:203:405:1::1 2002:506:708:1::1 2.3.4.5 2002:203.405::/48 2002:506:708::/48

10/8

Cannot cross NAT (need to know public address) Bad performances.


c G6 Association March 28, 2013 349 / 379

Programming IPv6 Applications Conclusion

6to4
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration
Why IPv6 Integration ? 6 generic scenarios Tools overview Scenarios Backbone operator Internet Access Provider 3G/LTE Enterprise Home network and SOHO

based on the magic formula 16+32=48 2002::/16


2002::/16 + IPv4 address
2002::/16 2002::/16 2002::/16 10/8 5.6.7.8 2002:203:405:1::1 2002:506:708:1::1 2001:DB8:1234:1::1 2.3.4.5 2002:203.405::/48 192.88.99.1 2002:506:708::/48 2001:DB8:1234:1::1

10/8

Cannot cross NAT (need to know public address) Bad performances.


c G6 Association March 28, 2013 349 / 379

Programming IPv6

6to4
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration
Why IPv6 Integration ? 6 generic scenarios Tools overview Scenarios Backbone operator Internet Access Provider 3G/LTE Enterprise Home network and SOHO

based on the magic formula 16+32=48


2002::/16 + IPv4 address

10/8 5.6.7.8 2002:203:405:1::1 2002:506:708:1::1 2.3.4.5 2002:203.405::/48 2002:506:708::/48

10/8

Cannot cross NAT (need to know public address) Bad performances.


c G6 Association March 28, 2013 349 / 379

Programming IPv6 Applications Conclusion

TEREDO
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration
Why IPv6 Integration ? 6 generic scenarios Tools overview Scenarios Backbone operator Internet Access Provider 3G/LTE Enterprise Home network and SOHO

Based on NAT Traversal protocol


2001::/32 allocated to this mechanism.
2001:DB8:1234:1::1

10/8 5.6.7.8

10/8

2.3.4.5

128.1.2.3

2001:0:128.1.2.3:Flags:Port:2.3.4.5

Programming IPv6

c G6 Association

March 28, 2013

350 / 379

Performances?
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration
Why IPv6 Integration ? 6 generic scenarios Tools overview Scenarios Backbone operator Internet Access Provider 3G/LTE Enterprise Home network and SOHO

If performances with 6to4 and TEREDO are worst than with IPv4 What happens if a site decides to activate dual stack on its servers ?
Customers will run away

if IPv6 is dead
client starts will IPv6 and then after a long timeout tries IPv4 bad performances

Happy Eyes Ball: try IPv4 and IPv6 simultaneously Test the same day IPv6 on main sites
Customer will not run away

Programming IPv6 Applications Conclusion

c G6 Association

March 28, 2013

351 / 379

Performances?
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration
Why IPv6 Integration ? 6 generic scenarios Tools overview Scenarios Backbone operator Internet Access Provider 3G/LTE Enterprise Home network and SOHO

the 6/8/11: v6Day


Good news: nobody notice it 0.3% of IPv6 trac

Conclusion: Activating IPv6 do not create troubles 6/6/12: IPv6 will be activated on main sites (google, yahoo, facebook, akamai,. . . )
Potentially 50% of Internet trac in reality less since access network is missing

Programming IPv6

c G6 Association

March 28, 2013

352 / 379

Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications
CC++ API JAVA API

IPv6 socket API in C, C++

Conclusion

c G6 Association

March 28, 2013

353 / 379

Socket API
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications
CC++ API JAVA API

Socket Unix API has been extended to IPv6 New protocol and address family PF INET6 and AF INET6 New structures :
in6 addr sockaddr in6 sockaddr storage

New functions for names to addresses conversion Reference


RFC 2553 & Posix 1003.1g

Conclusion

c G6 Association

March 28, 2013

354 / 379

Structure for sockets


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications
CC++ API JAVA API

Structure in C, C++
struct sockaddr_in6 { uint8_t sin6_len; sa_family_t sin6_family; in_port_t sin6_port; uint32_t sin6_flowinfo; struct in6_addr sin6_addr; uint32_t sin6_scope_id; }; /* /* /* /* /* /* structure length AF_INET6 transport layer port IPv6 traffic class & flow info IPv6 address set of interfaces for a scope

Similar to sockaddr in for IPv4 New elds for scope and ow label sizeof(sockaddr in6) > sizeof(sosckaddr in)
sockaddr in6 can not be stored in struct sockaddr Programs have to be modied to be AF-independent !
c G6 Association March 28, 2013 355 / 379

Conclusion

Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications
CC++ API JAVA API

Managing Sockets in C, C++

Conclusion

c G6 Association

March 28, 2013

356 / 379

Managing sockets
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications
CC++ API JAVA API

Creation : Same as in IPv4


int s = socket(PF INET6, SOCK STREAM, 0);

Other functions are not modied


bind, connect, listen, accept, send*, recv*, getpeername, getsockname

New functions to manage options


getsockopt, setsockopt

Conclusion

c G6 Association

March 28, 2013

357 / 379

Sockets and address families


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications
CC++ API JAVA API

2 options for applications : Only use PF INET6 socket


On a IPv4 networks, use IPv4-mapped IPv6 addresses
Problem: when IPv6 stack is not available ...

Use one PF INET socket and one PF INET6 socket


Client knows which socket to open with getaddrinfo Server should wait for packets on both sockets Examples found with netstat -taun (MacOSX)
Proto Rec Send Local Foreign State tcp46 0 0 *.80 *.* LISTEN Apache server uses rst option ... tcp4 0 0 *.22 *.* LISTEN SSH server uses second option tcp6 0 0 *.22 *.* LISTEN

Conclusion

c G6 Association

March 28, 2013

358 / 379

Example : Client connection


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications
CC++ API JAVA API

#include <stdio.h> #include <unistd.h> #include <sys/socket.h> #include <netdb.h> int open_conn(const char *host) { int sock = -1, ecode; struct addrinfo *res, *r, hints = { 0, PF_UNSPEC, SOCK_STREAM, 0}; if ((ecode = getaddrinfo(host, "daytime", &hints, &res))) errx(1, "getaddrinfo: %s", gai_strerror(ecode)); for (r = res; r && sock < 0; r = res->ai_next) if ((sock = socket(res->ai_family, res->ai_socktype, res->ai_protocol)) < 0 || connect(sock, res->ai_addr, res->ai_addrlen)) sock = -1; freeaddrinfo(res); return sock; }

Conclusion

c G6 Association

March 28, 2013

359 / 379

Example : Server socket


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications
CC++ API JAVA API

#include <stdio.h> #include <unistd.h> #include <sys/socket.h> #include <netdb.h> int open_serv(const char *serv) { int sock, ecode; struct addrinfo *res, hints = { AI_PASSIVE, PF_UNSPEC, SOCK_STREAM, 0}; if ((ecode = getaddrinfo(NULL, serv, &hints, &res)) errx(1, "getaddrinfo: %s", gai_strerror(ecode)); if ((sock = socket(res->ai_family, res->ai_socktype,res->ai_protocol)) < 0) || bind(sock, res->ai_addr, res->ai_addrlen) || listen(sock, 1)) err(1, "socket"); freeaddrinfo(res); return sock; }

Conclusion

c G6 Association

March 28, 2013

360 / 379

Example : Server connection


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications
CC++ API JAVA API

main() { int sock = open_serv("1000"); for(;;) { struct sockaddr_storage from; int s, len = sizeof from; char name[NI_MAXHOST]; if ((s = accept (sock, (struct sockaddr*)&from, &len) < 0) err(1, "accept"); if (getnameinfo((struct sockaddr*)&from, &len, name, sizeof name, NULL, 0, NI_NUMERICHOST)) name[0] = 0; printf("connexion %s\n", name); /* utiliser socket s ? */ close (s); }

Conclusion

c G6 Association

March 28, 2013

361 / 379

Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications
CC++ API JAVA API

Rules to anticipate integration of IPv6 protocol

Conclusion

c G6 Association

March 28, 2013

362 / 379

Generic structure for sockets


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications
CC++ API JAVA API

Programs should use struct sockaddr storage to be AF-independent Cast depending of AF when needed Socket containers
struct sockaddr_storage ss; foo((struct sockaddr *)&ss); // AF independent function

Conclusion

void foo(struct sockaddr *s) { // If we need IPv4 socket struct sockaddr_in *sin = (struct sockaddr_in *) s; // If we need IPv6 socket struct sockaddr_in6 *sin6 = (struct sockaddr_in6 *) s; }

c G6 Association

March 28, 2013

363 / 379

Address manipulation : getaddrinfo()


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications
CC++ API JAVA API

getaddrinfo() Prototype
int getaddrinfo(const char *nodename, const char *servname, const struct addrinfo *hints, struct addrinfo **res);

Generic function for name resolution, AF-independent Replace function gethostbyname servname: String for protocol name (http) or port number (80) hints: Rene request (IPv4 only, IPv6 only, IPv4/IPv6)
May return more than one result !

Conclusion

c G6 Association

March 28, 2013

364 / 379

Address manipulation : getnameinfo()


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications
CC++ API JAVA API

getnameinfo() Prototype
int getnameinfo(const struct sockaddr *sa, socklen_t salen, char *host, socklen_t hostlen, char *serv, socklen_t servlen, int flags);

Generic function for reverse resolution, AF-independent Replace function gethostbyaddr

Conclusion

c G6 Association

March 28, 2013

365 / 379

Macros
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications
CC++ API JAVA API

Macros to test nature of address:


IN6 IS ADDR UNSPECIFIED (struct in6 addr *); IN6 IS ADDR LOOPBACK (struct in6 addr *); IN6 IS ADDR MULTICAST (struct in6 addr *); IN6 IS ADDR LINKLOCAL (struct in6 addr *);

Macros to test address equality :


IN6 ARE ADDR EQUAL (struct in6 addr *, struct in6 addr *);

Conclusion

c G6 Association

March 28, 2013

366 / 379

Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications
CC++ API JAVA API

Migrate existing applications

Conclusion

c G6 Association

March 28, 2013

367 / 379

Porting applications to IPv6 (in a nutshell)


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications
CC++ API JAVA API

1: Replace IPv4-only structures and functions with AF-independent version


Generic Structure & Functions
hostent addrinfo sockaddr in sockaddr storage gethostbyname getaddrinfo gethostbyaddr getnameinfo

2: Look for particular usage of IP address structure in addr Applications sometimes use IP addresses as host identier This should be made AF-independent

Conclusion

c G6 Association

March 28, 2013

368 / 379

Porting applications to IPv6 (in a nutshell)


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications
CC++ API JAVA API

3: Choose a strategy when opening socket (one or two sockets ?) 4: Consider one host may have more than one address ! With getaddrinfo you may have one IPv4 and several IPv6 addresses for one host To be also considered when using address as host identier 5: Beware of textual representation of IP addresses
Beware
http://[2001:660:7301:1::1] scp foo.bar [2001:660:7301:1::1]:/tmp

Conclusion

c G6 Association

March 28, 2013

369 / 379

Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications
CC++ API JAVA API

IPv6 JAVA API

Conclusion

c G6 Association

March 28, 2013

370 / 379

IPv6 Support in Java


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications
CC++ API JAVA API

Java support IPv6 since JDK 1.2, extended with JDK 1.4 Extension have been made for class InetAddress Inheritance and polymorphism ensures relative transparency for version of manipulated addresses

Conclusion

c G6 Association

March 28, 2013

371 / 379

Inet6Address
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications
CC++ API JAVA API

New subclass of InetAddress (with Inet4Address) Class for instanciate IPv6 addresses Methods for checking address scope :
isIPv4CompatibleAddress (for IPv4-mapped addresses) isLinkLocalAddress isMulticastAddress

Conclusion

c G6 Association

March 28, 2013

372 / 379

InetAddress
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications
CC++ API JAVA API

InetAddress objects may be either IPv4 or IPv6 address InetAddress class extended for DNS resolution Method getByName returns only IPv4 name resolution New method getAllByName returns all possible name resolutions (IPv4 and IPv6) Reverse resolution unchanged
Changes for IPv6 support
Name resolution using getByName should be changed to use getAllByName and uses the returned array of addresses

Conclusion

c G6 Association

March 28, 2013

373 / 379

Socket API
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications
CC++ API JAVA API

Socket API is based on super-class InetAddress no major change By choosing binding address, change protocol enabled for socket
IPv4 binding address Socket listening for IPv4 IPv6 binding address Socket listening for IPv4 and IPv6 Consequences
Integration of IPv6 is harmless for IPv4 operations IPv6 will be used when correspondant address is IPv6

Conclusion

c G6 Association

March 28, 2013

374 / 379

Conclusion: Future of IP
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

IP is becoming the basis of all communication applications, because of IP simplicity Telephony Voice-over-IP, 4G Television IP Multicast diusion ... New applications and paradigms are coming Home Networking Ubiquitous computing ...

c G6 Association

March 28, 2013

375 / 379

Conclusion: IP need evolution


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

Complexity will increase in the IPv4 world IPv4 addresses will become expensive NAT444 will be a nightmare End of end-to-end Dicult to introduce new applications Risk of segmentation of applications Bypass complexity leads to complexity

c G6 Association

March 28, 2013

376 / 379

Conclusion: What can trigger IPv6 adoption ?


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

Find again Internet simplicity End-to-end Scalability Robustness Complexity of IPv6 adoption will decrease as more people experience it New applications will create new usages and vice versa

c G6 Association

March 28, 2013

377 / 379

Conclusion: Active scenario for adoption


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

IPv6 has been functionally mature for years But IPv6 performance still to be improved (deploy now!) IPv4 is getting depleted, does not scale :-( IPv6 is not an option! http://www.ipv6actnow.org/

c G6 Association

March 28, 2013

378 / 379

How G6 can help you ?


Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion

Book IPv6 Th eorie et Pratique Reference book in french Online version: http://livre.g6.asso.fr New version in progress Mailing lists ForumIPv6: General discussion on IPv6 (regulation issues, events, etc.) IPv6Tech: Technical discussion (deployement issues, request for support, etc.) Info for subscription: http://g6.asso.fr

c G6 Association

March 28, 2013

379 / 379

Você também pode gostar