Escolar Documentos
Profissional Documentos
Cultura Documentos
IPv6 Courses
c G6 Association
c G6 Association
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. . .
c G6 Association
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
4 / 379
This course is certied by the IPv6 Forum with Gold Level http://www.ipv6forum.com/ipv6_education/
c G6 Association
5 / 379
Hypertext Symbols
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion
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
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
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
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
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)
c G6 Association
9 / 379
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
c G6 Association
10 / 379
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |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
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
Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion
c G6 Association
13 / 379
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
15 / 379
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
c G6 Association
17 / 379
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
c G6 Association
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
19 / 379
Classful Addressing
1 2
Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion 2 3
c G6 Association
21 / 379
Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion
AfriNIC (Africa)
c G6 Association
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
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
24 / 379
Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion
c G6 Association
25 / 379
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
IPv4
Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion Classfull 1980 1993
IPv6
2013
CIDR
????
c G6 Association
27 / 379
IPv6 Benets
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 Notation
IPv6 addresses
Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses
F2C:544:9E::2:EF8D:6B7 F692::
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
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
c G6 Association
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
31 / 379
Notation
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
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
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
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
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
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
34 / 379
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
c G6 Association
35 / 379
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
36 / 379
Addressing scheme
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
c G6 Association
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
39 / 379
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
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
41 / 379
Address Format
Concepts Facts on Addresses Addresses
Notation Addressing scheme Address Format Kind of addresses
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
Link-Local Address:
54 64
fe80
0...0
Interface ID
link address auto-conguration
c G6 Association
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
44 / 379
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
45 / 379
SID Values
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
c G6 Association
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
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
48 / 379
Interface Identier
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
c G6 Association
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
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
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
52 / 379
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
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
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
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
56 / 379
%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
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
58 / 379
Windows 7
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 Same Prex Random IID (changed every day)
c G6 Association
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
c G6 Association
60 / 379
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
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
63 / 379
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
http://www.sixxs.net/tools/grh/ula/ c G6 Association
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
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
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
c G6 Association
69 / 379
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
109 / 379
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
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.
c G6 Association
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
Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion
Layer 4
c G6 Association
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
Source Address
Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion Layer 4 or extensions Destination Address
c G6 Association
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
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
114 / 379
Extensions
Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4
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
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
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
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
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
c G6 Association
121 / 379
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
c G6 Association
122 / 379
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
c G6 Association
122 / 379
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
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
124 / 379
0 1 5 7 38 194
Length in Bytes
lgth.
Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion
2
lgth. lgth.
UU C VVVVV
c G6 Association
125 / 379
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
125 / 379
0 1 5 7 38
Length in Bytes
lgth.
Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion
2
lgth. lgth.
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
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
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
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
128 / 379
Destination (NH=60)
Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4
Limit
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
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
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
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
133 / 379
Fragmentation (NH=44)
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
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
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
136 / 379
Protocol ICMPv6
ICMPv6
Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4
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
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
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
140 / 379
Destination unreachable
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
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
142 / 379
Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion
c G6 Association
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
144 / 379
Time Exceeded
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
Code: 0 - Hop limit exceeded in transit 1 - Fragment reassembly time exceeded Used by traceroute6 to nd the path
c G6 Association
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
146 / 379
Error
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
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
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
148 / 379
Ping
Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4
Data
Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion
c G6 Association
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
150 / 379
Pseudo Header
Concepts Facts on Addresses Addresses Protocol
IPv6 Header IPv6 Header IPv6 Extensions ICMPv6 Impact on Layer 4
0..................7...................15...................23....................31
Source Address
Destination Address
Associated Protocols & Mechanisms Data Length IPv6 & DNS Security Integration Programming IPv6 Applications Conclusion 00 L4 protocol
c G6 Association
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
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
154 / 379
Layer 4 protocols
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
c G6 Association
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
c G6 Association
187 / 379
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
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
t=0
fe80::IID1 ::IID1/64
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
190 / 379
fe80::IID1 ::IID1/64
fe80::IID2
Host constructs its link-local address based on the interface MAC address
c G6 Association
190 / 379
t=2
fe80::IID1 ::IID1/64
fe80::IID2
::/0 -> solicited (fe80:IID2) : NS (who has fe80::IID2?)
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
190 / 379
t=3
fe80::IID1 ::IID1/64
fe80::IID2 -> 02::2 : RS
fe80::IID2
Host sends a Router Solicitation to the Link-Local All-Routers Multicast group using the newly link-local congured address
c G6 Association
190 / 379
t=4
fe80::IID1 ::IID1/64
fe80::IID2
fe80::IID1 -> fe80::IID2
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
t=5
fe80::IID1 ::IID1/64
fe80::IID2
::/0 -> solicited (:IID2) : NS (who has ::IID2?)
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
190 / 379
t=6
fe80::IID1 ::IID1/64
fe80::IID2 ::IID2/64
Host sets the global address and takes answering router as the default router.
c G6 Association
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
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.
c G6 Association
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.
c G6 Association
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
t=5 t=6
c G6 Association
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
c G6 Association
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.
c G6 Association
197 / 379
oDAD allows a host to use the address before DAD If no answer to DAD then the address becomes a valid one
c G6 Association
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.
c G6 Association
199 / 379
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
c G6 Association
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
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
Address
c G6 Association
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.
c G6 Association
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
c G6 Association
204 / 379
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
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:
0..................7...................15...................23....................31 Type=5 length =1 Reserved
Prex Information:
0..................7...................15...................23....................31 Type=3 length =4 Prex Length Valid Lifetime Prefered Lifetime Reserved L A R Reserved
c G6 Association
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
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.
c G6 Association
208 / 379
Prex
Prex
c G6 Association
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
Target Address
c G6 Association
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.
c G6 Association
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
Target Address
c G6 Association
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.
c G6 Association
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
Target Address
Target Address
IPv6 & DNS Security Integration Programming IPv6 Applications Options: Target link-layer address Redirected Header
c G6 Association
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
ICMPv6 redirect: Optimize routing inside a network Substitute to NS/NA in NBMA Networks
c G6 Association
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
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.
c G6 Association
217 / 379
B MTU=1280
R
A-> B Size=1500
PMTU(*)=1500
MTU=1500
c G6 Association
219 / 379
B MTU=1280
R
R-> A ICMP6 Error: Packet too big MTU=1280
PMTU(*)=1500 PMTU(B)=1280
MTU=1500
c G6 Association
219 / 379
B MTU=1280
R
A-> B Size=1280
PMTU(*)=1500 PMTU(B)=1280
MTU=1500
c G6 Association
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
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
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.
c G6 Association
221 / 379
fe80::IID1 ::IID1/64
fe80::IID2 ::IID2/64
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
223 / 379
fe80::IID1 ::IID1/64
fe80::IID2 ::IID2/64
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
223 / 379
fe80::IID1 ::IID1/64
fe80::IID2 ::IID2/64
c G6 Association
223 / 379
fe80::IID1 ::IID1/64
fe80::IID2 ::IID2/64
The router extracts information from the message to create answer and sends information to the host
c G6 Association
223 / 379
c G6 Association
223 / 379
fe80::IID1 ::IID1/64
fe80::IID2 ::IID2/64
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
224 / 379
Dynamic conguration for routers ISP solution to delegate prexes over the network
1: ::IID/64
RA 1: :/64
1::/48
1::/48
c G6 Association
225 / 379
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
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}
c G6 Association
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
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}
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
c G6 Association
228 / 379
c G6 Association
229 / 379
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
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
c G6 Association
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
c G6 Association
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
c G6 Association
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
c G6 Association
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
c G6 Association
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
c G6 Association
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
c G6 Association
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
c G6 Association
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
c G6 Association
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
c G6 Association
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
c G6 Association
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
c G6 Association
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
c G6 Association
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
c G6 Association
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
c G6 Association
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
c G6 Association
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
c G6 Association
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
c G6 Association
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
c G6 Association
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
c G6 Association
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
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
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
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
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
c G6 Association
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
c G6 Association
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
c G6 Association
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
c G6 Association
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
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
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
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
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.
c G6 Association
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.
c G6 Association
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
c G6 Association
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
c G6 Association
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
c G6 Association
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
c G6 Association
265 / 379
c G6 Association
267 / 379
c G6 Association
268 / 379
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
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
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
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
NA
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
273 / 379
Rogue router
RS
Host uses the Router Solicitation to get the address of the exit router and the prex used on the LAN.
c G6 Association
274 / 379
Rogue router
RA RA
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
274 / 379
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
c G6 Association
275 / 379
Level-2 Filtering
Filter ND on switch port (ex. only one port allowed to send RA) A few switch still implements it ... (Cisco ?)
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
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
c G6 Association
277 / 379
NDP ltering
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security
Neighbor Discovery Security Firewalls
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)
c G6 Association
280 / 379
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
c G6 Association
281 / 379
Stateful rules are needed for a NAT-like ltering Beware of tunnels (6to4, Teredo) that can be backdoors
c G6 Association
282 / 379
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.)
c G6 Association
283 / 379
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 ? ? ? ?
c G6 Association
284 / 379
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
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
286 / 379
c G6 Association
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
288 / 379
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!
c G6 Association
289 / 379
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
291 / 379
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
IPv6
Programming IPv6
292 / 379
IPv6
IPv4
t o N
c G6 Association
j b IPv6o in a m
Tunnel
e v i t c e
IPv6
IPv4
293 / 379
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
294 / 379
IPv4
. e hin
IPv6
295 / 379
IPv4
IPv4
x it. e l p ed IPv4 m Co e ne w t Bu
IPv6
IPv6
Programming IPv6
c G6 Association
296 / 379
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
Programming IPv6
c G6 Association
298 / 379
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
Congured Tunnels
Manual, Tunnel Broker
IP on IP cannot be NATed
IPv4 Net IPv6 Net
IPv4 Tunnel
IPv6 Net
Programming IPv6
c G6 Association
300 / 379
(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
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
Programming IPv6
Integration Scenarios
For ISPs/Operators
Backbone routers, Border routers (peering, transit)
Performances, Management
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
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
Programming IPv6
c G6 Association
306 / 379
SYN ACK
SYN ACK
OPEN
SYN ACK
SYN ACK
OPEN
c G6 Association
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
Programming IPv6
c G6 Association
308 / 379
SYN ACK
SYN ACK
UPDATE
UPDATE
IPv4 IPv4
Path Attributes
c G6 Association
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 NH = R 36
6 : NH = R 24 L60
R3
R4
MPLS
c G6 Association
Programming IPv6
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
MPLS
c G6 Association
311 / 379
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
312 / 379
Tier 1: Sprint, Cable & Wireless, Level 3, . . . Tier 2: France Telecom, GIX:
c G6 Association
313 / 379
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
c G6 Association
315 / 379
20 0
1: 66 0:
73 00 ::
/4
Programming IPv6
c G6 Association
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 LLC/SNAP ATM xDSL SDH AAL ATM SDH AAA
PC
PC
Internet (IPv4)
PC
modem
PC
modem
c G6 Association
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 LLC/SNAP ATM xDSL SDH AAL ATM SDH AAA
PC
PC
Internet (IPv4)
PC
modem
PC
modem
Programming IPv6
c G6 Association
317 / 379
IPv4 (NATed) MAC 10BaseT PPP PPPoE MAC LLC/SNAP AAL5 ATM xDSL ATM xDSL SDH
PC
NAT CPE
PC
Internet (IPv4)
PC
NAT CPE
PC
c G6 Association
318 / 379
PPP PPPE PPPoE PPPoE MAC MAC LLC/SNAP LLC/SNAP AAL5 ATM xDSL AAL5 ATM xDSL
PC
NAT CPE
AAA
PC
PC
NAT CPE
PC
NAT CPE
Programming IPv6
c G6 Association
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
c G6 Association
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
321 / 379
2A01:0E
26 bits
3
2
D:41B2:016
32 bits
212.27.32.22
FreeBox PC FreeBox PC FreeBox PC FreeBox PC AAA DSLAM BRAS
Free (IPv4)
6RD Relay
c G6 Association
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
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.
X X
Y Y
Z Z
SID::/64
Programming IPv6
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.
c G6 Association
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 = ::1 IPv4: s:CPE IPv4 d:Relay Anycast
IPv4: s:Relay Anycast d:CPE IPv4 IPv6: s:Remote IPv6 d:Host IPv6
Programming IPv6
c G6 Association
325 / 379
NAT Traversal
Authentication
IPv4
IPv6
IPv4/IPv6 Internet
9Box PC
DSLAM
BRAS
IPv4
LNS
SC
AAA
c G6 Association
326 / 379
IPv4/IPv6 Internet
9Box PC
DSLAM
BRAS
IPv4
LNS
SC
AAA
Programming IPv6
c G6 Association
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.
c G6 Association
327 / 379
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
IPv6 IPv4
CGN
AFTR
192.168.1.1 : 12345 FB : 80
192.168.1.1 : 12345 FB : 80
Programming IPv6
c G6 Association
328 / 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
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
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.
c G6 Association
331 / 379
DHCPv6
2.3.4.
18
DHCPv6
IID
IPv4/IPv6 Internet
IPv6 IPv4
AAA
Programming IPv6
c G6 Association
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.
c G6 Association
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
IPv4/IPv6 Internet
RLC ME Node B AT+CGDCONT=1,IP,APN,,0,0 AT+CGDCONT=2,IPv6,APNv6,,0,0 RNC SGSN GGSN
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
c G6 Association
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
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
c G6 Association
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
AAAA 64:FF9B::213.182.38.174
Programming IPv6
c G6 Association
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
c G6 Association
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
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
Programming IPv6
c G6 Association
340 / 379
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
c G6 Association
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
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
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.
c G6 Association
343 / 379
IPv4 Client
www A? = 192.0.2.1
IPv6 Client
www AAAA? = 2001:db8:1:1::1:1 c G6 Association
Programming IPv6
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
DNS Server
IMAP
IPv4 Client
imap A? = 192.0.2.1 imaps A? = 192.0.2.2
IMAPS IMAP
IMAPS
IPv6 Client
imaps AAAA? = 2001:db8:1:1::1:1 c G6 Association
345 / 379
Tools
Trac: MRTG/Cacti, Netow v9. . . Services: Nagios, Zabbix. . .
Programming IPv6
c G6 Association
346 / 379
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
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
10/8
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
10/8
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
10/8
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
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
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
c G6 Association
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
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
352 / 379
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications
CC++ API JAVA API
Conclusion
c G6 Association
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
Conclusion
c G6 Association
354 / 379
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
Conclusion
c G6 Association
356 / 379
Managing sockets
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications
CC++ API JAVA API
Conclusion
c G6 Association
357 / 379
Conclusion
c G6 Association
358 / 379
#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
359 / 379
#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
360 / 379
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
361 / 379
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications
CC++ API JAVA API
Conclusion
c G6 Association
362 / 379
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
363 / 379
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
364 / 379
getnameinfo() Prototype
int getnameinfo(const struct sockaddr *sa, socklen_t salen, char *host, socklen_t hostlen, char *serv, socklen_t servlen, int flags);
Conclusion
c G6 Association
365 / 379
Macros
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications
CC++ API JAVA API
Conclusion
c G6 Association
366 / 379
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications
CC++ API JAVA API
Conclusion
c G6 Association
367 / 379
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
368 / 379
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
369 / 379
Concepts Facts on Addresses Addresses Protocol Associated Protocols & Mechanisms IPv6 & DNS Security Integration Programming IPv6 Applications
CC++ API JAVA API
Conclusion
c G6 Association
370 / 379
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
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
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
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
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
375 / 379
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
376 / 379
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
377 / 379
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
378 / 379
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
379 / 379