Vous êtes sur la page 1sur 134

Protocole IPv6

Khalid EL BAAMRANI

ENSA de Marrakech

Plan
l Pourquoi IPv6?
l Adressage IPv6
l Planification d’adressage IPv6
l Entête IPv6
l Protocole ICMPv6
l Protocole NDP
l Routage IPv6

K. EL BAAMRANI – Protocole IPv6


Pourquoi IPv6 ?

K. EL BAAMRANI – Protocole IPv6

Adresses IPv4
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

Classe A
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47

48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63

64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79

80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95

96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111

112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127

128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143

144

160
145

161
146

162
147

163
148

164 Classe B
149

165
150

166
151

167
152

168
153

169
154

170
155

171
156

172
157

173
158

174
159

175

176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191

Classe C
192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207

208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223

Classe D & E
224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239

240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255

§ IANA (Internet Assigned Numbers Authority) attribue des adresses IPv4 pour
les RIR (Registres Internet Régionaux)

K. EL BAAMRANI – Protocole IPv6


Limites IPv4
l Epuisement des adresses IPv4 : Espace d'adressage
limitant les possibilités de croissance d'Internet
l Solutions proposées
– DHCP (Dynamic Host Configuration Protocol) : allouer
dynamiquement les adresses.
– HTTP 1.1: permettant d'héberger plusieurs site web avec une seule
adresse IP.
– NAT (Network Address Translation) : permet de réduire le
nombre d'adresses publiques utilisées.
– CIDR (Classeless Inter Domain Routing): permet de réunir un
ensemble de numéros de réseaux contigus en un seul préfixe dit
CIDR.

K. EL BAAMRANI – Protocole IPv6

Limites de NAT
l Limitation du nombre de session pour le
fonctionnement NAT
l Chaque utilisateur peut utiliser un certain
nombre de sessions
– Combien de sessions?
– Dans le meilleur des cas, 65 536 est le nombre
maximum de sessions, partagé par les utilisateurs sur
une même adresse IPv4 (65 536 ports disponibles dans
le TCP IPv4)
l Lorsque le nombre d'utilisateurs est de 2000, il sera seulement 30
sessions
l Cela signifie ........

K. EL BAAMRANI – Protocole IPv6


Limites de NAT
l Exemple:
– Supposons vous êtes connecté à google.com en
utilisant deux fenêtres.
– Votre machine choisir un port non utilisé pour chaque
connexion.
– Ainsi, le serveur de Google devra garder deux
connexions
l (TCP, google.com, 80, votremachine, port1)
l et (TCP, google.com, 80, votremachine, port2)

K. EL BAAMRANI – Protocole IPv6

Limites de NAT

Host Host

Host NAT Host

Host Host

Nombre maximum des sessions

K. EL BAAMRANI – Protocole IPv6


Limites de NAT

Host Host
peut-être vous avez
Host déjàNATvécu
Host
l'expérience!!
Host Host

Nombre maximum des sessions

K. EL BAAMRANI – Protocole IPv6

Max 30 Connexions

Source: S.Miyakawa (NTT Communications) K. EL BAAMRANI – Protocole IPv6


Max 20 Connexions

Source: S.Miyakawa (NTT Communications) K. EL BAAMRANI – Protocole IPv6

Max 15 Connexions

Source: S.Miyakawa (NTT Communications) K. EL BAAMRANI – Protocole IPv6


Max 10 Connexions

Source: S.Miyakawa (NTT Communications) K. EL BAAMRANI – Protocole IPv6

Max 5 Connections

Source: S.Miyakawa (NTT Communications) K. EL BAAMRANI – Protocole IPv6


Quelques exemples de grand site Web

K. EL BAAMRANI – Protocole IPv6

Adresses IPv4 disponibles au 21.01.2010


Blocs disponibles: 24
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47

48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63

64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79

80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95

96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111

112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127

128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143

144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159

160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175

176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191

192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207

208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223

224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239

240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255

Utilisé Non utilisé Libre


K. EL BAAMRANI – Protocole IPv6
Adresses IPv4 disponibles au 10.04.2010
Blocs disponibles: 20
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47

48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63

64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79

80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95

96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111

112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127

128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143

144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159

160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175

176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191

192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207

208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223

224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239

240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255

Utilisé Non utilisé Libre


K. EL BAAMRANI – Protocole IPv6

Adresses IPv4 disponibles au 30.11.2010


Blocs disponibles: 7
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47

48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63

64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79

80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95

96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111

112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127

128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143

144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159

160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175

176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191

192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207

208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223

224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239

240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255

Utilisé Non utilisé Libre


K. EL BAAMRANI – Protocole IPv6
Moments importants de l'histoire ...
l Le Lundi 31 Janvier 2011, IANA a alloué deux
blocs de l'espace adresse IPv4 à l'APNIC, le RIR
pour la région Asie-Pacifique (39/8 et 106/8)
– Cela a déclenché une politique globale pour allouer le
pool de l'IANA restant de 5 blocs de manière égale
entre les cinq RIR.
l Depuis le 15 Avril 2011 APNIC n’a plus d’adresse
IPv4 a distribuer dans sa région

K. EL BAAMRANI – Protocole IPv6

Moments importants de l'histoire ...

K. EL BAAMRANI – Protocole IPv6


Distribution globale des adresses IPv4

K. EL BAAMRANI – Protocole IPv6

Afrique ??

l Les conséquences si l’Afrique est le dernière a


épuiser ses adresses IPv4
– Nous restons déférent et le monde nous laisse
derrière en IPv4
– Nous ratons toutes les opportunités d’affaire que
présente l’adoption actuelle d’IPv6.
– Une ‘course’ vers les blocs de l’Afrique par les autres
régions
l Un marché noir d’adresse IPv4 verra le jour
– Augmentation de l’utilisation du NAT
l NAT IPv4
l NAT IPv4/6

K. EL BAAMRANI – Protocole IPv6


Adressage IPv6

K. EL BAAMRANI – Protocole IPv6

Qu’est ce qu’IPv6?

l C’est une protocole couche 3 et le successeur


d’IPv4
– Long de 128 bits (296 fois le total d’adresse IPv4)
– Fonctionne sur la même infrastructure physique
– Les mêmes applications peuvent aussi fonctionner
sur IPv6

l La seule réponse durable face à l'épuisement


IPv4
– Permet une croissance continue d'Internet
– Restaure le end-to-end
– Permet l'internet des objets
K. EL BAAMRANI – Protocole IPv6
Format des adresses
l Taille : 128 bits
– 2128 possibilités
– 340 282 366 920 938 463 463 374 607 431 768 211 456
– 340 trillions de trillions de trillions d'adresses
– 67 milliards d'adresses par cm2 de la surface de la terre
– 5.000 adresses par micromètre carré de la surface de la
terre
l Micromètre = 0,001 mm
– Si nous supposons que le nombre de personnes sur la terre est
bientôt 234 (plus de 16 milliards). Chaque personne peut avoir 294
adresses à utiliser.
– Si nous assignons 260 adresses aux utilisateurs chaque année
(près d'un milliard chaque seconde), il faut 268 ans pour épuiser
adresses.

K. EL BAAMRANI – Protocole IPv6

Format des adresses

Adresse IPv6 = 128 bits


(1 or 0)

Adresse IPv6 = 32 hexits


Un hexit ??
(0 - 9, a , b , c , d , e , f)

Adresse IPv6 = 8 groupes de 4 hexits


2001 : db8 : c001 : face : b00c : babe : 1cee : f001

l Les 8 groupes d’hexits sont séparés par deux points


l Les adresses sont conventionnellement écrites en
minuscule
K. EL BAAMRANI – Protocole IPv6
Format des adresses
• Un hexit= 4 bits
• Entre 0000 et FFFF

2001:0DB8:AAAA:1111:0000:0000:0000:0100/64

2001 : 0DB8 : AAAA : 1111 : 0000 : 0000 : 0000 : 0100

16 bits 16 bits 16 bits 16 bits 16 bits 16 bits 16 bits 16 bits

K. EL BAAMRANI – Protocole IPv6

Format des adresses


l Règles pour réduire la taille de l’adresse IPv6:
– Dans mot, une séquence de 0 peut être remplacé par 0
– Une séquence contiguë de mots de 0 peut être
remplacé par '::’
– Vous pouvez également omettre tout zéro de début
d'un mot, en remplaçant par exemple 00b8 par b8.
– Le « :: » peut être aussi utilisé pour compresser les
zéros de tête ou de queue d'une adresse.
– Le «::» ne peut apparaitre qu'une seule fois dans une
adresse.

K. EL BAAMRANI – Protocole IPv6


Format des adresses
§ Règles pour réduire la taille de l’adresse IPv6:
§ La première règle est: Les zéros de tête dans un segment de 16 bits n'ont pas
besoin d’être écrite.

3ffe : 0404 : 0001 : 1000 : 0000 : 0000 : 0ef0 : bc00


3ffe : 404 : 1 : 1000 : 0 : 0 : ef0 : bc00

3ffe : 0000 : 010d : 000a : 00dd : c000 : e000 : 0001


3ffe : 0 : 10d : a : dd : c000 : e000 : 1

ff02 : 0000 : 0000 : 0000 : 0000 : 0000 : 0000 : 0500


ff02 : 0 : 0 : 0 : 0 : 0 : 0 : 500

K. EL BAAMRANI – Protocole IPv6

Format des adresses

l Deuxième Règle: Une séquence contiguë de


mots de 0 peut être remplacé par '::’

ff02 : 0000 : 0000 : 0000 : 0000 : 0000 : 0000 : 0500


ff02 : : 500

2eme règle 1er règle

ff02::500

K. EL BAAMRANI – Protocole IPv6


Format des adresses

l Le «::» ne peut apparaitre qu'une seule fois dans


une adresse.

2001 : 0d02 : 0000 : 0000 : 0014 : 0000 : 0000 : 0095

2001 : d02 :: 14 : 0 : 0 : 95
OU
2001 : d02 : 0 : 0 : 14 :: 95

K. EL BAAMRANI – Protocole IPv6

Format des adresses

§ Utilisation de deux points :: plus d'une fois dans une adresse IPv6 peut
créer une ambiguïté en raison de l'ambiguïté du nombre de 0.

2001:d02::14::95

2001:0d02:0000:0000:0014:0000:0000:0095
2001:0d02:0000:0000:0000:0014:0000:0095
2001:0d02:0000:0014:0000:0000:0000:0095

K. EL BAAMRANI – Protocole IPv6


Format : Exemple

© Jeff L. Carrell, Implementing IPv6 , the Nuts and Bolts about It, 2011

K. EL BAAMRANI – Protocole IPv6

Format : Exemple

© Jeff L. Carrell, Implementing IPv6 , the Nuts and Bolts about It,
2011

K. EL BAAMRANI – Protocole IPv6


Format: Exemple

© Jeff L. Carrell, Implementing IPv6 , the Nuts and Bolts about It, 2011

K. EL BAAMRANI – Protocole IPv6

Format: Exemple Incorrecte

© Jeff L. Carrell, Implementing IPv6 , the Nuts and Bolts about It, 2011

K. EL BAAMRANI – Protocole IPv6


Adresses Spécifiques
l Cas Spécifiques
– Adresse indéfinie (utilisée pour désigner les routes par
défaut) à tous les bits à zéro et qui s'écrit :
::
– Adresse indéterminée (Unspecified address), désigne
une interface en cours d'initialisation. Ne doit jamais
être attribuée à une interface. Adresse source dans une
phase d'acquisition de l'adresse réseau.
::/128
– Adresse de bouclage (loopback), équivalent du préfixe
127/8 dont tous les bits sont à zéro sauf le dernier et qui
s'écrit
::1
K. EL BAAMRANI – Protocole IPv6

Format des adresses


l Préfixe: La représentation des préfixes réseau
IPv6 est similaire à la notation CIDR utilisée pour
les préfixes IPv4.
l Un préfixe IPv6 est représenté par la notation :
adresse-ipv6/longueur-du-préfixe-en-bits

l Exemple
– 2001:0DB8:7654:3210:0000:0000:0000:0000/64
– 2001:DB8:7654:3210:0:0:0:0/64
– 2001:DB8:7654:3210::/64

K. EL BAAMRANI – Protocole IPv6


Format des adresses

l Ambiguité de la notation
– 2001:660:6101:0000::/56
Adresses
Identiques
– 2001:660:6101::/56
Préfixes
identiques
– 2001:660:6101:0003::/56
Adresses
– 2001:660:6101:3::/56 Identiques

K. EL BAAMRANI – Protocole IPv6

Format des adresses


l Ambiguïtés d’utilisation des adresses dans une
URL
– http://2001:660:6101::1:8000/
– Cette URL peut indiquer
l le port 8000 sur la machine ayant l'adresse IPv6
2001:660:6101::1,
l Ou la machine 2001:660:6101::1:8000 en utilisant le port par
défaut.
– Pour lever cette ambiguïté, le RFC 2732 propose
d'inclure l'adresse IPv6 entre "[ ]".
l http://[2001:660:6101::1]:8000/
l http://[2001:660:6101::1:8000]/

K. EL BAAMRANI – Protocole IPv6


Types d’adresses
l Trois types d'adresses :
– Unicast

– Multicast

– Anycast

l Remarque: pas d’adresses de Broadcast dans


IPv6

K. EL BAAMRANI – Protocole IPv6

Types d’adresses
Adressage IPv6

Unicast Multicast Anycast

Assigned Solicited Node

FF00::/8 FF02::1:FF00:0000/104

Unspecified Embedded
Global Unicast Link-Local Loopback Unique Local IPv4
2000::/3 FE80::/10 ::1/128 ::/128 FC00::/7 ::/80
3FFF::/3 FEBF::/10 FDFF::/7

K. EL BAAMRANI – Protocole IPv6


Types d’adresses
l certains types d'adresses sont caractérisés par leur préfixe.
l Plus de 70% de l'espace disponible n'a pas été alloué, ce qui permet de conserver toute
latitude pour l'avenir.
l Une interface possèdera généralement plusieurs adresses IPv6

K. EL BAAMRANI – Protocole IPv6

Adresse Unicast

l Elle désigne de manière unique une interface.


l Un paquet envoyé à une telle adresse, sera donc
remis à l'interface ainsi identifiée.
l On distingue trois types:
– Lien local
– Unique local
– Globale

K. EL BAAMRANI – Protocole IPv6


Adresse Globale
l Elle est géré de la même manière que CIDR en
IPv4. Elle intègre trois niveaux de hiérarchie :
– Les 3 premiers bit sont fixés à “001” => préfixe 2000::/3
à 3FFF::/3
– Préfixe global: codé sur 48 bits, alloué par le
fournisseur d'accès;
– Subnet ID codé sur 16 bits . Ce champ permet de coder
les numéros de sous réseau du site;
– Interface ID un identifiant d'interface sur 64 bits
distinguant les différentes machines sur le lien.
001 Prefixe Global Subnet ID Interface ID
(3bit) 45bit 16bit 64bit

K. EL BAAMRANI – Protocole IPv6

Taille des prefixes

Global Routing Prefix Subnet ID Interface ID

/23 /32 /48 /56 /64

*RIR

*ISP Prefix

*Site Prefix

Possible Home Site Prefix


Subnet Prefix

* Il s'agit d'une allocation minimale. La longueur de préfixe peut être moindre si elle
peut être justifiée.
K. EL BAAMRANI – Protocole IPv6
Main About Contact News User Home PoPs Presentations FAQ Forum Wiki Misc/Tools
GRH Main Up one level 6bone AfriNIC All APNIC ARIN LACNIC RIPE

Ghost Route Hunter : IPv6 DFP visibility : All


Adresse Globale
Sort on Country All Africa America Asian Pacific Europe

The database currently holds 5 IPv6 DFP allocations for this subselection.

The AS is the ASN as found in the All whois database, thus sites which are not entered completely yet show blanks.
l Préfixe global
The current/real origin can be found by following the link behind the last seen field.
l
Legend
cet espace est géré par l'IANA et elle délègue aux 5
autorités
The following colors are usedrégionales
in the table. (RIPE, Afrnic …) des préfixes qui les
redistribuent
Everything ok.
aux ISP de leur région (www.iana.org/
assignments/ipv6-unicast-address-assignments).
Prefix wasn't seen for the last 24 hours.
Afrinic a 2 préfixes: 2001:4200::/23 et 2C00:0000::/12
/32 is–allocated but only a /35 is announced.
l /32Statiques sur
is allocated and both the /32 andIPv6:
the /35 are announced.
Prefix was returned or reclaimed but is seen.
– www.sixxs.net/tools/grh/
Prefix was returned and isn't seen.
– https://www.akamai.com/es/es/resources/our-thinking/state-of-the-
Prefix was reclaimed and isn't seen.
internet-report/state-of-the-internet-ipv6-adoption-visualization.jsp
Less than 100% of the GRH participants saw this route.
– https://www.google.com/intl/en/ipv6/statistics.html
Less than 80% of the GRH participants saw this route.
– https://www.vyncke.org/ipv6status/detailed.php?
Less than 50% of the GRH participants saw this route.
country=ma#prefixes
Less than 30% of the GRH participants saw this route.
LG Prefix tld NetName Owner AS S Allocated First seen Seen by Last seen (*)
LG 2001:4288::/32 IAM-V6 Maroc Telecom A 2006-09-26 2014-03-29 09:08:06 0% 2014-04-22 08:36:23
LG 2001:4310::/32 CNRST-V6 Provider Local Registry A 2005-05-27 2014-03-29 09:08:08 0% 2014-08-27 10:07:25
LG 2001:43f8:650::/48 AUI-v6-NET Al-Akhawayn University A 2012-05-24 0% never
LG 2c0f:fa18::/32 INWI-FIRST-IPv6 Wana Corporate A 2011-09-09 2014-03-29 09:06:02 0% 2014-08-27 10:13:47
LG 2c0f:fb20::/32 Meditel-IPv6-Trial MEDITEL ECOM 36925 A 2012-01-25 2014-03-29 09:06:03K. EL BAAMRANI
0% 2014-08-27 10:13:47
– Protocole IPv6
The database currently holds 5 IPv6 DFP's.
Of which 0 (0.00%) are reclaimed, 0 (0.00%) are returned to the pool and 5 (100.00%) IPv6 DFP's didn't have a routing entry.
Thus 0 (0.00%) networks are currently correctly announced.
0 (0.00%) only announced a /35 while they have been allocated a /32.
0 (0.00%) announce both their /32 and their /35.

IPv6 DFP's per country


Adresse Globale
Total number of countries: 185

Pos Flag Country A R V VP Pos Flag Country A R V VP Pos Flag Country ARV
1 United States 3998 281 0.00% 63 Lithuania 42 3 0.00% 125 Uzbekistan 7

l
3
2
Les
Brazil
Germany
adresses1708 globales
1187 0.00% 64
1180 96 0.00% 65
sont
Pakistan
Cyprus
allouées par blocNew
40 3 0.00% 126
36 3 0.00% 127
/23
Caledonia
Cameroon
7
6
4 àUnited
/12 par
Kingdom l'IANA
(Great Britain) 1107 66à0.00%
un 66registre
Panama Internet régional.
36 3 0.00% 128 Mozambique 6
5 Russia 944 41 0.00% 67 Iraq 36 2 0.00% 129 Oman 6

l 6 le préfixe 2002::/16 est réservé au 6to4 permettant


Netherlands, The 769 73 0.00% 68 Croatia 34 3 0.00% 130 Sudan 6
7 Australia 741 39 0.00% 69 Nigeria 33 2 0.00% 131 Cuba 6
8 d'acheminer
France le
632 trafic
44 0.00% IPv6
70 Peruvia un ou 33 1plusieurs
0.00% 132 Myanmar 5

10
9
réseaux
Sweden
Italy
IPv4494 24 0.00% 71
431 27 0.00% 72
Kenia 33 3 0.00% 133
Bosnia and Herzegovina 31 4 0.00% 134
Seychelles
Algeria
5 1
5
11
l
12
Toutes
Switzerland
Japan
les autres adresses
430 55 0.00% 73
430 53 0.00% 74
Cambodia
Honduras
routables (plus
30 1 0.00% 135
30 0.00% 136
des
Qatar
Samoa
5
5
13 trois quarts) sont actuellement réservées pour
Poland 418 24 0.00% 75 Lebanon 28 1 0.00% 137 Benin 5
14 Canada 393 24 0.00% 76 Nepal 27 1 0.00% 138 Gibraltar 5
15 usage
China ultérieur. 340 6 0.00% 77 Uruguay 25 1 0.00% 139 Asian Pacific 5 3
16 Spain 337 19 0.00% 78 Azerbijan 25 0.00% 140 Tunisia 5 1
17 India 325 12 0.00% 79 Kazakhstan 25 1 0.00% 141 Morocco 5
18 Czech Republic 316 19 0.00% 80 Albania 24 0.00% 142 Vanuatu 5
19 Indonesia 302 6 0.00% 81 Tanzania 24 0.00% 143 Namibia 5
20 Argentina 294 7 0.00% 82 Belarus 23 2 0.00% 144 Guam 5
21 Austria 287 16 0.00% 83 Moldova 23 2 0.00% 145 Bermuda 4
22 Norway 265 29 0.00% 84 Palestine 22 1 0.00% 146 Macau 4
K. EL BAAMRANI – Protocole IPv6
23 Hong Kong 231 14 0.00% 85 Jordan 21 0.00% 147 French Polynesia 4
24 New Zealand 226 16 0.00% 86 Macedonia, Republic of 21 5 0.00% 148 Guyana 4
25 Ukraine 224 6 0.00% 87 Armenia 21 0.00% 149 Gambia 4
26 Singapore 221 8 0.00% 88 Kuwait 19 2 0.00% 150 Grenada 4
Adresse Globale
l IANA IPv6 Special Purpose Address Registry
(http://www.iana.org/assignments/iana-ipv6-
special-registry/iana-ipv6-special-registry.xml)

K. EL BAAMRANI – Protocole IPv6

Adresse Globale
l Subnet ID : Il n'existe pas de règles pour allouer
les identificateurs de sous-réseau. Plusieurs
techniques peuvent être utilisées :
– numéroter de manière incrémentale les sous-réseaux:
0001, 0002, ... Cette technique est simple a mettre en
œuvre dans des réseaux expérimentaux, mais elle peut
conduire à un plan d'adressage à plat difficile à
mémoriser.
– utiliser le numéro de VLAN. Elle permet d'éviter de
mémoriser plusieurs niveaux de numérotation.
– …

K. EL BAAMRANI – Protocole IPv6


Adresse lien-local
l link local address
l Elles sont des adresses dont la validité est
restreinte à un lien, c'est-à-dire l'ensemble de
interfaces directement connectées sans routeur
intermédiaire
– machines branchées sur un même réseau Ethernet,
– des machines reliées par une connexion PPP,
– des extrémités d'un tunnel.
l Un routeur ne doit en aucun cas retransmettre un
paquet ayant pour adresse source ou destination
une adresse de type lien-local.
K. EL BAAMRANI – Protocole IPv6

Adresse lien-local
l Les 10 premiers bits sont 1111 1110 10 donc préfixe
fe80::/10
l L'adresse est obtenue automatiquement en
concaténant le préfixe FE80::/64 aux 64 bits de
l’adresse MAC d'interface.
l Elles sont utilisées par les protocoles de
– configuration d'adresse globale,
– découverte de voisins (neighbor discovery)
– découverte de routeurs (router discovery).
– routage soit pour l'échange de données (cf. RIPng, OSPFv3),
soit dans les tables de routage
l le champ prochain routeur est toujours un équipement
directement accessible sur le lien.

1111111010 0 Interface ID
10bit 54bit 64bit
K. EL BAAMRANI – Protocole IPv6
Adresse unique locale
l Unique Local Address: ULA (RFC 4193)
l Ces adresses sont destinées à une utilisation
locale.
l Elles ne sont pas routées dans l'Internet,
l Elles sont utilisées seulement au sein d'une zone
limitée telle qu'un site ou entre un nombre limité
de sites.

K. EL BAAMRANI – Protocole IPv6

ULA: Format
l le format d’une adresse ULA :
– Prefix (7 bits) : FC00::/7 préfixe identifiant les adresses
IPv6 locales (ULA)
– L (1 bit) : Positionné à 1, le préfixe est assigné
localement. La valeur 0 est réservée pour une utilisation
future.
– Global ID (40 bits) : Identifiant global utilisé pour la
création d'un préfixe unique (Globally Unique Prefix).
– Subnet ID (16 bits) : Identifiant d'un sous réseau à
l'intérieur du site.
– Interface ID (64 bits) : L’identifiant d'interface

1111110 L Global ID Subnet ID Interface ID


7bit 16bit 64bit
K. EL BAAMRANI – Protocole IPv6
ULA
l En IPv4,
– on utilise un adressage privé dans le LAN
– le NAT permet de passer de l'adressage privé vers
l'adressage public
l En IPv6
– les adresses ULA sont équivalents aux adresses
privées IPv4
– Elles Permet d'isoler la numérotation interne et externe .
– Le NPTv6 (Network Prefix Translation, initialement
appelé NAT66) va convertir le préfixe privé en préfixe
public.

K. EL BAAMRANI – Protocole IPv6

Identifiant d'interface (IID)


l Taille : 64 bits
l Il existe plusieurs méthodes pour la construire :
– manuelle,
– basée sur l'adresse de niveau 2 de l'interface,
– aléatoire,
– cryptographique.

K. EL BAAMRANI – Protocole IPv6


Interface ID
l Manuel
l il est préférable d'assigner manuellement des
adresses aux interfaces des serveurs.
l plusieurs techniques existent:
– incrémenter l'identifiant d'interface à chaque nouveau
serveur crée
l 2001:DB8:1234:1::1
l 2001:DB8:1234:1::2
– reprendre le dernier octet de l'adresse IPv4 comme
identifiant d'interface.
l adresse IPv4 192.0.2.123 è 2001:DB8:1234:1::7B
– reprendre l'adresse IPv4 comme identifiant d'interface
l 2001:DB8:1234:1::192.0.2.123
K. EL BAAMRANI – Protocole IPv6

Interface ID
l Dérivé de l'adresse niveau 2 de l'interface
l Utilisée par les IID des adresses lien-local
l Dans les adresses globales, peut être utilisée pour les machines client
et préférer les identifiants d'interface manuels pour les serveurs.
l Avantages
– l'unicité de cette valeur est presque toujours assurée.
– La stabilité tant que la carte réseau de la machine n'est pas changée.
l Inconvénients
– ces valeurs sont difficilement mémorisables.
– Traçabilité des déplacements d'un individu à chaque fois qu'un individu change
de réseau, il change de préfixe, mais garde le même identifiant d'interface
– possibilité d'indiquer à l’extérieur du réseau quel type de matériel est utilisé et
donner des indications parce que les adresses MAC contiennent l'identification
du matériel,
l Si ces inconvénients sont jugés importants par l'entreprise, l'identifiant
d'interface pour les adresses globales peut être généré aléatoirement.

K. EL BAAMRANI – Protocole IPv6


Interface ID: EUI-64
l Extended Unique Identifier
l RFC 2373
l EUI-64 est un identificateur global à 64 bits généré
à partir d'un identifiant MAC codé sur 48 bits
l permet à un hôte de générer automatiquement lui-
même un IID unique de 64 bits

K. EL BAAMRANI – Protocole IPv6

Interface ID: Modified EUI-64


l Première étape: convertir l'adresse MAC 48 bits à une valeur
64-bit.
– Deviser l'adresse MAC en 2 parties deux 24-bit :
l Identificateur organisationnel Unique (OUI)
l partie carte réseau.
– Insertion de FFFE entre ces deux parties pour former une adresse 64-bit.
l Pourquoi FFFE: FFFE est une valeur réservée que les industriels
ne peuvent pas inclure dans les «vrais» adresse des cartes. càd,
n'importe quelle adresse EUI-64 ayant 0xFFFE immédiatement
après sa partie OUI peut être reconnu comme ayant été produite
à partir d'une adresse MAC.

Adresse Ethernet MAC 00 90 27 17 FC 0F


(48 Bits)

Insertion de FFFE 00 90 27 17 FC 0F

FF FE

64-Bit 00 90 27 FF FE 17 FC 0F
K. EL BAAMRANI – Protocole IPv6
Interface ID: Modified EUI-64
l Deuxième étape: inverser le septième bit d’OUI
(universel), originalement vaut 0 pour indiquer l'unicité
mondiale.

64-Bit 00 90 27 FF FE 17 FC 0F

1 = universellement unique
Bit u 000000X0 Avec X =
0 = localement unique
X=1
02 90 27 FF FE 17 FC 0F
Adresse EUI-64

K. EL BAAMRANI – Protocole IPv6

Interface ID
l Adresse privée
l Chaque fois qu'un individu change de réseau, il change de
préfixe, mais garde le même identifiant d'interface è
possibilité de traquer un individu
l RFC 3041 répond à cette préoccupation de sécurité en
définissant les adresses privées IPv6.
l Une adresse privée est une adresse dans laquelle l'ID
d'interface est généré par un algorithme utilisant une valeur
pseudo-aléatoire.
l L’ID d’interface est changé une fois par jour (ou sur une
certaine période configurable) et également chaque fois
que le noeud acquiert un nouveau préfixe IPv6.

K. EL BAAMRANI – Protocole IPv6


Interface ID
l Cryptographique
l RFC 3972 définit le principe de création de
l'identifiant d'interface à partir de la clé publique de
la machine (CGA : Cryptographic Generated
Addresses).
l Elles pourraient servir pour sécuriser les
protocoles de découverte de voisins ou pour la
gestion de la multi-domiciliation.

K. EL BAAMRANI – Protocole IPv6

Adresse Mul9cast

Adressage IPv6

Multicast

Assigned Solicited Node

FF00::/8 FF02::1:FF00:0000/104

K. EL BAAMRANI – Protocole IPv6


Adresse Mul9cast
• RFC 3513
• dérivées du préfixe FF00::/8
format de l’adresse MulDcast

11111111 xRPT Scope Group ID


8bit 4bit 4bit 112bit

Flag Func9on
T flag 0 adresse multicast bien connue gérée par une autorité (IANA)
1 adresse multicast temporaire
P flag Adresse est basée sur un préfixe unicast (1) ou pas (0), si P=1 alors T=1
R flag Adresse Point de Rendez-vous activé (1) ou pas (0), si R=1 alors (P=1&T=1)

x Réservé (doit être fixé à 0)

Exemple :
Préfixe : 2001:ABCD::/32
Adresse multicast : FF3E:2001:ABCD::1

K. EL BAAMRANI – Protocole IPv6

Adresse Mul9cast
• RFC 3513
• dérivées du préfixe FF00::/8
format de l’adresse MulDcast

11111111 xRPT Scope Group ID


8bit 4bit 4bit 112bit

Scope Limit the scope of the mulDcast group


0000 0 Reserved 0101 5 site-local scope
0001 1 interface-local scope 1000 8 organizaDonal-local scope

0010 2 link-local scope 1110 E global scope


0100 4 admin-local scope 1111 F Reserved

1 : Les paquets ne sortent pas de la machine, elle sert pour la communication entre les applications.

K. EL BAAMRANI – Protocole IPv6


Adresse Mul9cast
Scope (partial list)
0 Reserved
1 Interface-Local scope
2 Link-Local scope
5 Site-Local scope
8 Organization-Local scope

K. EL BAAMRANI – Protocole IPv6

Adresse Mul9cast
les adresses multicast définies

FF02::1 All nodes (subsDtuDon of IPv4 broadcast)


FF02::2 All routers
FF02::5 All OSPF routers
FF02::6 All OSPF Designated Routers
FF02::9 All RIP routers
FF02::1:2 All DHCP Agents (Relay Agents & Servers)
FF02::1:FFxx:xxxx Solicited node mulDcast address
(xxxxxx sont les 24 bits de l’adresse
unicast)
Recent assignments can be confirmed at the following URL
hCp://www.iana.org/assignments/ipv6-mul9cast-addresses/
K. EL BAAMRANI – Protocole IPv6
Adresse Anycast

• Même adresse sur plusieurs nœuds


• Un Paquet à l’adresse anycast est livré uniquement à la plus proche
• Une adresse anycast permet de désigner un service par une adresse bien
connue, de ce_e manière, il n'est pas nécessaire d'interroger un serveur pour
connaître la localisaDon d'un équipement
• Elle permet désigner une foncDon plus qu'une machine parDculière.
• Ex: Avec les réseaux de capteur, on s'interesse plus à une informaDon
qu'à l'équipement qui a permis de l'obtenir, par exemple si des capteurs
sont interrogés sur la température d'une pièce, le premier à donner
l'informaDon peut être suffisant.
• Les paquets ne sont jamais envoyés à parDr d'une adresse anycast

Interface ID
Site prefix
All 0 0..0
n bit 128 - n bit

K. EL BAAMRANI – Protocole IPv6

Types d’adresses

Comparaison:

Unicast Multicast Anycast

Une à Une parmi


Une à une Une à plusieurs
plusieurs

K. EL BAAMRANI – Protocole IPv6


Exercices
l Donner la forme non abrégée des adresses IPv6
suivantes:
– Une adresse avec 64 bits 0 suivie par 64 bits 1.
– Une adresse avec 128 bits 0.
– Une adresse avec 128 bits 1.
– Une adresse avec 128 bits 10

l Donner la forme abrégée des adresses ci-dessus

K. EL BAAMRANI – Protocole IPv6

Exercices
l Comment compresser correctement les adresse
IPv6 suivantes:
– 2001:0db8:0000:0000:0000:0000:0000:0c50
– 2001:0db8:0000:0000:b450:0000:0000:00b4
– 2001:0db8:00f0:0000:0000:03d0:0000:00ff
– 2001:0db8:0f3c:00d7:7dab:03d0:0000:00ff
– 0000:0000:FFFF:0000:0000:0000:0000:0000
– 1234:2346:0000:0000:0000:0000:0000:1111
– 0000:0001:0000:0000:0000:0000:1200:1000

K. EL BAAMRANI – Protocole IPv6


Exercices
l Donner la forme non abrégée des adresses
suivantes
– 1111::2222
– ::
– 0:1::
– AAAA:A:AA::1234
– 0::2
– 0:23::0
– 0:A::3
– 123::12:23

K. EL BAAMRANI – Protocole IPv6

Exercices
l Donner le type des adresses suivantes
– FE80::12
– FEC0::24A2
– FF02::0
– 4821::14:22
– 2001::8:800:200C:417A
– FF01::43
– 0:0:0:0:0:0:0:1
– 0:0:0:0:0:0:0:0
– 0:0:0:0:0:0:0:0/128

K. EL BAAMRANI – Protocole IPv6


Exercices
l Donner les adresses lien-local correspondant aux
adresses MAC (Ethernet) suivantes
– 00:0d:56:01:13:c9
– f5:a9:23:07:14:d2

l Donner l’adresse MAC si l'identifiant de l’interface


EUI est:
– F5A9:23FF:FE14:7A23
– A2BA:D3FF:FECF:3456

K. EL BAAMRANI – Protocole IPv6

Exercices

l Comment accédez-vous au serveur web IPv6 dont


l’adresse est 2001: DB8 :: 8080 sur le port 8080
en utilisant un navigateur Web

K. EL BAAMRANI – Protocole IPv6


Planification d'adresses IPv6

1. Découpage d’un préfixe IPv6


2. Décrire comment les adresses IPv6 sont gérés
globalement
3. Estimer les besoins d'adressage IPv6 de votre réseau
4. Dimensionner et attribuer votre allocation
d’adresses

K. EL BAAMRANI – Protocole IPv6

Les problèmes génériques de subnetting IPv6

Pour un préfixe IPv6 P donné et la longueur du préfixe L


a) Énumérer tous les sous-préfixes de longueur L' qui
en découle
b) Diviser 'P' en sous-réseaux N
Répétez l'opération pour chaque sous-préfixe

Parent prefix

Sub-prefix #1 Sub-prefix #2 Sub-prefix #3 Sub-prefix #N

K. EL BAAMRANI – Protocole IPv6


Les concepts de sous-réseaux IPv4 à OUBLIER!

Le but du subnetting
§§ IPv4: économiser l'espace d'adresse
§§ IPv6: planification et d'optimisation pour le
routage ou la sécurité
pas de raison de faire VLSM dans IPv6
Subnets vs hôtes: le nombre d'hôtes est
rarement pertinente dans v6

K. EL BAAMRANI – Protocole IPv6

Procédure générique de subnetting IPv6

Trouver les Trouver Énumérer


Trouver le bits d e hexits d e incrément les
sous-réseau (s)
sous-réseau SubnetID (B) subnetIDs

K. EL BAAMRANI – Protocole IPv6


Etape #1: Trouvons le bits de sous-réseau (s)

1. L et L’ sont connu s = L’ – L

Ex: subdivisons un /32 en des /56, 56-32=24 bits

2. Seul le nombre de sous-réseaux souhaités est connu


2 s ≥ N donc s = log(N) / log(2)

Ex: subdivisons un /36 en 700 réseaux

2 s ≥ 700 donc s = log (700)/log(2)= 9.45 ≈ 10bits


K. EL BAAMRANI – Protocole IPv6

Etape #2: Trouvons les hexits de sous-réseau

u Les hexits distinctifs de chaque sous-réseau


§ Sachant le nombre de bits de sous-réseau 's’
§ Sachant que 1 hexit = 4 bits, Alors
§ Nombre d’hexits sous-réseau = s/4 (arrondi)

u Ex: Subdiviser 2001:db8:c000::/36 en 900 subnets


§ s = log 900/log 2 = 9.81 10
§ # hexits sous-réseau = 10/4 = 2.5 3
§ Chacun des sous-réseaux sera comme:
2001:db8:cHHH::/46
K. EL BAAMRANI – Protocole IPv6
Etape #3: Trouvons l’incrément SubnetID (B)

u C’est la différence entre les subnetIDs consécutives


B= 216−(L' % 16)
u Ex: Subdiviser 2001:db8:c000::/36 en 900 subnets
§ s = 10 (calculé dans les diapositives précédentes)
§ L’ = L + s = 36 + 10 = 46
§ Format 2001:db8:cHHH::/46 (déjà calculé)
§ B= 216−(46% 16) =216−14 = 2 2 = 4 (0 x4)

K. EL BAAMRANI – Protocole IPv6

Etape #4: Enumérons les subnetIDs

u À ce stade, vous connaissez le format général des sous-


réseaux
u Prenant que les subnetIDs, ceux-ci forment une
progression arithmétique avec des caractéristiques
suivantes
§ différence commune d = block B
§ Terme initial = 000
u Tout terme de la suite est a n =a 0 + (n −1)d
u La substitution de d = B et le terme initiale = 000
uLe n eme terme est: a = (n-1)B
n
K. EL BAAMRANI – Protocole IPv6
Etape #4: Enumérons les subnetIDs exemple

u Ex: Subdiviser 2001:db8:c000::/36 en 900 sous-réseaux


§§ s = 10 (calculé dans les diapositives précédentes)
§§ L’ = L + s = 36 + 10 = 46
§§ Format 2001:db8:cHHH::/46 (calculé précédemment)
§§ B = 4 (0x4) - comme calculé précédemment
u Premier subnetID
§§ [Décimal]: a 1 = 4(1-1) = 0 (0x0)
§§ Premier sous-réseau: 2001:db8:c000::/46
u Dernier subnetID
§§ [Decimal]: a 1024 = 4(1024-1) = 4(1023) = 4092(0xFFC)
§§ Dernier sous-réseau: 2001:db8:cffc::/46
K. EL BAAMRANI – Protocole IPv6

Exercice

Un FAI qui opère dans 10 villes viens de recevoir une


préfixe 2001:db8::/32 d'AfriNIC, subdiviser le pour
répondre aux besoins de ce FAI

K. EL BAAMRANI – Protocole IPv6


Solution

uNombre de sous-réseaux: N = 10
u Bits de sous-réseaux requis (s): 2 s 10 , s = 4 (arrondi)
log 10 1
s= = = 3.32 [4 approx]
log 2 0.301

u Donc, pour découper 2001:db8::/32 pour couvrir 10 sous-réseaux,


§ Nous aurons à d'utiliser 4 bits
§ Ces 4 bits nous donnent 2 4 = 16 sous-réseaux
§ La longueur du préfixe de chaque sous-réseau est /36 (32 + 4 = 36)
u Utilisez la procédure décrite pour énumérer les différents sous-réseaux
u Vérifiez votre réponse en utilisant des outils de sous-réseau
§§ e.g. sipcalc 2001:db8::/32 –v6split=36

K. EL BAAMRANI – Protocole IPv6

Subnetting – énumérer les sous-réseaux (sipcalc)

sipcalc 2001:db8::/32 –v6split=36 | grep Network


Network - 2001:0db8:0000:0000:0000:0000:0000:0000 -
Network - 2001:0db8:1000:0000:0000:0000:0000:0000 -
Network - 2001:0db8:2000:0000:0000:0000:0000:0000 -
Network - 2001:0db8:3000:0000:0000:0000:0000:0000 -
Network - 2001:0db8:4000:0000:0000:0000:0000:0000 -
Network - 2001:0db8:5000:0000:0000:0000:0000:0000 -
Network - 2001:0db8:6000:0000:0000:0000:0000:0000 -
Network
- 2001:0db8:7000:0000:0000:0000:0000:0000 -
Network
- 2001:0db8:8000:0000:0000:0000:0000:0000 -
Network
- 2001:0db8:9000:0000:0000:0000:0000:0000 -
Network
Network - 2001:0db8:a000:0000:0000:0000:0000:0000 -
Network - 2001:0db8:b000:0000:0000:0000:0000:0000 -
Network - 2001:0db8:c000:0000:0000:0000:0000:0000 -
Network - 2001:0db8:d000:0000:0000:0000:0000:0000 -
Network - 2001:0db8:e000:0000:0000:0000:0000:0000 -
Network - 2001:0db8:f000:0000:0000:0000:0000:0000 -
K. EL BAAMRANI – Protocole IPv6
Exercice

Un FAI qui opère dans 46 villes viens de recevoir une


préfixe 2001:db8::/32 d'AfriNIC, subdiviser le pour
répondre aux besoins de ce FAI

K. EL BAAMRANI – Protocole IPv6

Exercice

Un FAI qui opère dans 120villes viens de recevoir une


préfixe 2001:db8:8000::/34 d'AfriNIC, subdiviser le pour
répondre aux besoins de ce FAI

K. EL BAAMRANI – Protocole IPv6


Hiérarchie globale d e gestion d e s adre s s e s IPv6

K. EL BAAMRANI – Protocole IPv6

Vue conceptuelle du réseau d’un FAI

ASN

Region #1 Region #2 Region #n

Site #1 Site #1 Site #1

Site #2 Site #2 Site #2

Site #n Site #n Site #n


K. EL BAAMRANI – Protocole IPv6
Planification d'adre s s e s IPv6 - quelques précisions

u /32 pour les LIRs est la taille minimale dans la plupart des politiques
des RIR.
u Si vous pouvez démontrer que vous avez besoin de plus, vous pouvez
habituellement obtenir plus!
§ Ne PAS commencer par /32 [ou /48] et essayer de s’y contenter.
§ PLUTOT analyser vos besoins et faites votre demande sur cette
base.

u RFCs recommendent /64 pour tous les sous-reseaux (meme p2p


et loopbacks)
§ IL FAUT allouer un /64 pour tous les liens ... mais,
§ IL FAUT configurer ce qui a un sens opérationnel (EX: /127 for p2p
et /128 pour les loopbacks)

K. EL BAAMRANI – Protocole IPv6

Quelques re commandations pour la planification

Veiller à ce que tous les préfixes tombent su l’arrondis


supérieur
Planifier un schéma hiérarchisé pour permettre une agrégation
§ Site: Tout point agrégation logique ( Immeuble, étage)
§ Région: un ensemble de sites
§ Système autonome
Utilisez la mêmes longueurs de préfixe pour tous les préfixes
de même niveau (SLSM: Static Length Subnet Mask)

K. EL BAAMRANI – Protocole IPv6


Estimation des besoins des sites

Choisissez votre plus grand SITE


Procédez comme suit:
§§ Estimer le nombre de réseaux qu’il peut y avoir
§§ Ajuster en fonction d’une croissance de 5 ans
§§ Arrondir au quart suprieur (maxSITEsize)

K. EL BAAMRANI – Protocole IPv6

À propos des arrondis

Essayez d'aligner les unités d'allocation au quart


supérieur
§§Arrondissez vos estimations à 2 n où n est un
multiple de 4 [16, 256, 4096, 65536 etc]
§§Assurez-vous de vos préfixes tombent sur ceux-ci :
/12, /16, /20, /24, /28, /32, /36, /40, /44, /48, /52, /56, /56, / 60, /64

§§ Travailler avec les arrondis simplifie le processus


§§ Travailler avec les arrondis donne la possibilité
d'expansion à chaque niveau de la hiérarchie
du réseau
K. EL BAAMRANI – Protocole IPv6
Exemple d'alignement des arrondis

u Considérons cette plage d'adresses 2001:db8:3c00::/40


[premier] 2001:db8:3c00:0000:0000:0000:0000:0000
[dernier] 2001:db8:3cff:ffff:ffff:ffff:ffff:ffff
§§ Les hexits de différentiation sont faciles à voir, de 0 – f

u Considérons cette plage d'adresses 2001:df8:3c00::/42


[premier] 2001:db8:3c00:0000:0000:0000:0000:0000
[dernier] 2001:db8:3c3f:ffff:ffff:ffff:ffff:ffff
§§ Vous aurez à calculer les hexits de différentiation
K. EL BAAMRANI – Protocole IPv6

Trouve z l e nombre t o tal d e préf i xe s f i naux requis

u “End-prefix” est le préfixe donné à un réseau qui se


connecte à chaque site EX: le réseau d’un client
Estimer le nombre de #SITEs dans votre plus grande
région (arrondir au quart supérieur)
Calculer le nombre de préfixes de site finaux :
N = #regions x #SITEs x maxSITEsize

K. EL BAAMRANI – Protocole IPv6


Calcul de votre taille d'allocation

Calculer le nombre de bits de sous-réseau


nécessaires pour nous donner N prefixes:
s=log(N)/log(2)

La Taille d'allocation (que vous demandez à RIR:


AfriNIC) est
§§ 48 – s [si vous assignez /48s par site finaux]
§§ 52 – s [si vous assignez /52s par site finaux]

K. EL BAAMRANI – Protocole IPv6

Exemple de Planifi cation d'adre s s e s IPv6

Un FAI opère dans 10 provinces. La plus grande


province dispose de 50 sites, dont le plus important a
environ 2700 clients. Estimer les besoins d'adresse IPv6
de ce FAI

K. EL BAAMRANI – Protocole IPv6


Exemple de planification Adresse - analyse et solution

On sait
§ Nombre de regions: #regions = 10 [arrondi à 16]
§ Nombre de sites: #SITEs = 50 [arrondi à 256]
§ maxSITEsize = 2700 [arrondi à 4096]
On calcule
§ Nombre total de préfixes de réseau finaux requis est N
§ N=16 x 256 x 4096 = 16,777,216
§ Nombre de bits de sous-réseau requis: s=log16,777,216/log2 = 24.
u Taille d’allocation:
§ 48 – 24 = 24 [Soit /48s par site finaux]
§ 52 – 24 = 28 [Soit /52s par site finaux]
u Ainsi, le FAI doit demander un /24 ou /28 à AfriNIC.

K. EL BAAMRANI – Protocole IPv6

Exercices
l Identifier les quatre premiers blocs d'adresses /64
à partir de 2001:ABCD:1000::/64
l Identifier les quatre premiers blocs d'adresses /36
à partir de 2001:ABC::/32
l Identifier les quatre premiers blocs d'adresses /37
à partir de 2001:AB::/32
l Identifier les quatre premiers blocs d'adresses /54
à partir de 2001:ABC::/32

K. EL BAAMRANI – Protocole IPv6


Un FAI opère dans 20 villes. La plus grande ville
dispose de 65 sites, dont la plus importante a
environ 4500 clients. Estimer les besoins d'adresse
IPv6 de ce FAI

K. EL BAAMRANI – Protocole IPv6

EN-TÊTE IPV6

K. EL BAAMRANI – Protocole IPv6


Le datagramme IPv4

L'unité de transfert de base dans un réseau internet est le


datagramme (généralement appelé paquet IP) qui est constitué
d'un entête et d'un champ de données.

0 4 8 16 19 24 31
VERS HLEN Type de service Longueur totale
Identification Flags Offset fragment
Durée de vie Protocole Somme de contrôle Header
Adresse IP Source

Adresse IP Destination

Options IP (eventuellement) Padding


Données

K. EL BAAMRANI – Protocole IPv6

Les champs du Paquet IPv4


l VERS : numéro de version de protocole IP, actuellement
version 4,
l HLEN : longueur de l'en-tête en mots de 32 bits,
généralement égal à 5 (pas d'option),
l Longueur totale : longueur totale du datagramme (en-tête
+ données)
l Type de service : indique comment le datagramme doit
être géré (priorité, délai, etc.)

K. EL BAAMRANI – Protocole IPv6


Les champs du Paquet IPv4
l FLAGS : composé de trois bits
– Le bit D « do not fragment » (010) signifie que le réseau doit traiter le
paquet dans son intégrité ou pas du tout.
– Le bit M « more fragments » (001) signifie d'autres fragments à suivre et
permet au destinataire final de reconstituer le datagramme initial en
identifiant les différents fragments (milieu ou fin du datagramme initial).
Si M=0, alors c’est le dernier fragment.
– Le premier bit est inutilisé et doit être à zéro.
l IDENTIFICATION : entier qui identifie le datagramme initial (utilisé pour la
reconstitution à partir des fragments qui ont tous la même valeur).
l FRAGMENT OFFSET : indique le déplacement des données
contenues dans le fragment par rapport au datagramme initial.
Ce champs est utilisé lors du réassemblage du paquet.
– Chaque fragment a une structure identique à celle du datagramme
initial, seul les champs FLAGS et FRAGMENT OFFSET sont
spécifiques.
– C'est un multiple de 8 octets.
K. EL BAAMRANI – Protocole IPv6

Les champs du Paquet IPv4


l Durée de vie (time to live (TTL))
– Ce champ indique en secondes la durée maximale de transit du datagramme sur
l'internet.
– À chaque routeur rencontré, le compteur est décrémenté.
– Lorsque expirée, le datagramme est détruit et un message d'erreur est renvoyé à
l'émetteur.
– Ce mécanisme permet d’empêcher qu’un paquet perdu se balade indéfiniment sur
l’Internet.
– La valeur est déterminée par la station source.
l Protocole
Ce champ identifie le protocole de niveau supérieur dont le
message est véhiculé dans le champ données du datagramme :
– 6 : TCP
– 17 : UDP
– 1 : ICMP

K. EL BAAMRANI – Protocole IPv6


Les champs du Paquet IPv4

l Somme de contrôle de l entête


– Ce champ permet de détecter les erreurs survenant dans
l'entête du datagramme,
l Adresse source et destination
– Identifie la station émettrice et la station destinatrice.
l OPTIONS
– Le champ OPTIONS est facultatif et de longueur variable.
– Les options concernent essentiellement des fonctionnalités
de rapport d’erreurs, de débogage et de redirection de route
l Padding (remplissage)
– Sert à compléter le champ options pour obtenir un multiple
de 32 bits.

K. EL BAAMRANI – Protocole IPv6

Format de l’entête IPv6

Version Traffic Class Flow Label

Payload Length Next Header Hop Limit

Source Address

Destination Address

Mot de 64-bit

40 octets d'entête sans extensions (5 mots de 64 bits)


K. EL BAAMRANI – Protocole IPv6
Format de l’entete IPv6
l Version=6 (même champs que IPv4)
l Classe de trafic (DiffServ) : 8 bits, permet la
différenciation de services
– Les flux sont toujours traités en "Best Effort" mais certains sont plus
"Best" que d'autres.
– Il n'y a aucune garantie qu'un trafic d'une classe de service haute
arrive à destination, mais la probabilité est plus importante.

K. EL BAAMRANI – Protocole IPv6

Format de l’entete IPv6


l Identificateur de flux:
– Ce champ est décrit dans la RFC 6437, IPv6 Label Flow
Specification.
– Il contient un numéro unique choisi par la source, qui a pour
but la mise en oeuvre des fonctions de qualité de service
– Il est prédécesseur de MPLS
– Ce flux peut être utilisé par une source pour marquer des
séquences de paquets pour lesquels elle sollicite un
traitement spécial par les routeurs IPv6, tels que le service
"temps réel ».
– Le champ Flow Label est utilisé pour aider à identifier tous
les paquets dans le même flux pour s'assurer que tous les
paquets reçoivent le même type de traitement par les
routeurs.
– Ce champ est encore un peu expérimenté et son utilisation
pourra être mieux spécifiée dans le futur K. EL BAAMRANI – Protocole IPv6
Format de l’entete IPv6
l Longueur des données (2 octets): taille des données
sans l'entête. Pour des paquets dont la taille des données
serait supérieure à 65535 ce champ vaut 0 et l'option
jumbogramme de l'extension de "proche-en-proche" est
utilisée
l Entête suivant : soit protocole de niveau supérieur, soit
numéro d'extension, les extensions contiennent ce champ
pour chaînage
l Nombre de sauts: décrémenté à chaque noeud traversé.
Si 0, rejet et émission d'un message ICMP vers la source.
– ce champ codé sur 8 bits è n'autorise la traversée que de 255
routeurs. En réalité, dans l'Internet actuel, le nombre maximal de
routeurs traversés est d'une quarantaine, ce qui laisse une bonne
marge pour l'évolution du réseau.

K. EL BAAMRANI – Protocole IPv6

Caractéristiques
l Taille de l'entête fixée de 40 octets (320 bits). Le routeur
peut facilement déterminer où commence la zone de
données utiles.
l La fragmentation n'est pas autorisé par les routeurs, seul
les hôtes finaux en sont autorisés
l MTU minimale supportée est de 1280 octets. Le choix de
1280 permet le tunnelage de paquets IPv6.
l Les options ont été retirées de l'en-tête et remplacées par
de nouveaux en-têtes appelés extensions juste avant les
en-têtes de couche supérieure

K. EL BAAMRANI – Protocole IPv6


Caractéristiques
l Pas de champ checksum, qui devait être ajusté par chaque
routeur en raison de la décrémentation du champ durée de
vie.
– Tous les protocoles de niveau supérieur doivent mettre en œuvre
un mécanisme de checksum de bout en bout incluant un pseudo-
en-tête qui prend en compte les adresses source et destination.
– Le checksum d'UDP, facultatif pour IPv4, devient ainsi obligatoire.
l L'idée est de retirer du cœur de réseau les traitements
compliqués. Les routeurs ne font que forwarder les
paquets vers la destination, les autres traitements
(fragmentation, ...) seront fait par l'émetteur du paquet.

K. EL BAAMRANI – Protocole IPv6

Comparaison IPv6 & IPv4


Entête IPv6 Entête IPv4

Versi Traffic Versio Type of


Flow Label HL Total Length
on Class n Service

Next Hop Fragment


Payload Length Identification Flags
Header Limit Offset

Source Address
Time to Live Protocol Header Checksum
Destination Address
Source Address

Destination Address
- Meme nom pour le champ en IPv4 et IPv6
- Champ non gardé en IPv6 Options Padding
- Nom et position changé en IPv6
- Nouveau champ IPv6

K. EL BAAMRANI – Protocole IPv6


Comparaison IPv6 & IPv4
l Les champs d'en-tête IPv4 éliminés de IPv6
– Header checksum
– Header length
l Les champs d'en-tête IPv4 retiré de l'en-tête de base IPv6
– Champ Fragmentation [Identification, flags, fragment offset]
– Options
l Les champs révisés
– TTL = Hop count
– Protocol = Next header
– ToS = Traffic class
l Un nouveau champs
– Flow label

K. EL BAAMRANI – Protocole IPv6

Comparaison IPv6 & IPv4


l Maximum Transmission Unit (MTU) :
– IPv6 exige que chaque lien possède un MTU minimum de 1280 octets,
avec un MTU recommandée de 1500 octets, par rapport à 68 octets
dans IPv4
l User Datagram Protocol (UDP)
– le champ Checksum dans UDP sur IPv4 est facultative.
– le champ Checksum dans UDP sur IPv6 est obligatoire.
– Pourquoi?: l'en-tête IPv4 possède son propre champ Checksum, mais
il a été éliminée dans l'en-tête IPv6.
– Dans UDP le champ Checksum est utilisé pour vérifier l'intégrité de
l'en-tête et les données UDP.

l Fragmentation
– Les routeurs IPv6 ne fragmentent pas les paquets sauf si le routeur est
la source du paquet.
– Si un nœud intermédiaire tel qu'un routeur reçoit un paquet IPv6 qui
doit être fragmenté, alors il rejette ce paquet et envoyer un paquet
ICMPv6 à la source qui contient le message d'erreur trop grand (Too
Big )

K. EL BAAMRANI – Protocole IPv6


Extensions
l Les extensions peuvent être vues comme un protocole
3.5 (entre la couche 3 et la couche 4).

l En effet, à part l’extension de proche-en-proche, qui


est traitée par tous les routeurs traversés, les autres
extensions ne sont traitées que par le destinataire du
paquet

l Chaque extension contient dans son en-tête un champ


en-tête suivant et longueur.

l La longueur d’extension est un multiple de 8 octets,


afin de conserver l'alignement de 8 octets pour les en-
têtes suivants. K. EL BAAMRANI – Protocole IPv6

Extensions
l Les extensions peuvent être chaînées entre elles
l Inconvénient: L’enchaînement d’extension rend difficile la lecture
des numéros de port, il faut en effet lire tout l’enchaînement
d’extension pour arriver au protocole de niveau 4.

K. EL BAAMRANI – Protocole IPv6


Types d'extensions
l Proche-en-proche: elle doit toujours être en première position. Elle est utilisé
pour spécifier les paramètres de livraison à chaque saut sur ​le chemin de
destination
– Pour des paquets dont la taille des données serait supérieure à 65535 ce champ vaut 0 et
l'option jumbogramme de l'extension de "proche-en-proche" est utilisée
l Destination: si elle est présenté juste avant l’extension de routage, alors il
doit être traité par les routeurs listés dans l'extension de routage par la source.
Dans le cas contraire, il est traité seulement par le noeud de destination finale
l Routage: elle est utilisé afin de spécifier les noeuds intermédiaires à "visités"
sur le chemin de la destination
l Fragmentation: elle est utilisé par une source pour envoyer un paquet plus
grande que le MTU de chemin vers la destination.
l Authentification: elle est utilisé pour assurer l'authenticité des données.
l Confidentialité (Encapsulating Security Payload ESP): Elle assure la cryptage
des données.

K. EL BAAMRANI – Protocole IPv6

Extensions
Valeurs du champ en-tête suivant

valeur Extension valeur Protocole

0 Proche-en-proche 4 IPv4
43 Routage 6 TCP
44 FragmentaDon 17 UDP

50 ConfidenDalité 41 IPv6

51 AuthenDficaDon 58 ICMPv6
60 DesDnaDon
K. EL BAAMRANI – Protocole IPv6
Extensions
Next Header Extension Header Name Extension Header Description
(Decimal)

0 Hop-by-Hop Options Used to carry optional information, which must be


examined by every router along the path of the packet.

43 Routing Allows the source of the packet to specify the path to the
destination.
44 Fragment Used to fragment IPv6 packets.

50 Encapsulating Security Used to provide authentication, integrity, and encryption.


Payload (ESP)
51 Authentication Header (AH) Used to provide authentication and integrity.
60 Destination Options Used to carry optional information that only needs to be
examined by a packet’s destination node(s).

Next Hop-by-Hop Next Next


IPv6 Main Header Header AH Extension Header TCP
Extension
Header Data
Header 0 Header 51 6 Header
K. EL BAAMRANI – Protocole IPv6

Ordre des extensions


l L’IETF recommande l'ordre suivant :
– Proche-en-proche
– Destination
– Routage par la source
– Fragmentation
– Authentification

K. EL BAAMRANI – Protocole IPv6


Ordre des extensions

K. EL BAAMRANI – Protocole IPv6

Caractéristiques
l Les extensions sont traitées seulement par le
destinataire du paquet, à l'exception de l’extension
Hop-by-Hop
l Elle apparaître qu'une seule fois dans un paquet,
sauf pour les options d’en-tête de destination qui
apparaissent deux fois
l Un nœud supprime le paquet avec un message
“Parameter Problem” dans les circonstances
suivantes
– Il voit une tête d'extension inconnue
– La valeur du Next Header affiche 0 dans une en-tête

K. EL BAAMRANI – Protocole IPv6


PROTOCOLE ICMPv6

K. EL BAAMRANI – Protocole IPv6

Internet Control Message Protocol (ICMPv6)

l Décrit dans le RFC 4443


l Contient de nouvelles
fonctionnalités et améliorations.
l Message général similaire à
ICMPv4
l Utilise également les champs
type et code comme dans
ICMPv4.
l Deux types de messages
ICMPv6
– Les messages d'erreur
– Les messages d'information

K. EL BAAMRANI – Protocole IPv6


Message ICMPv6
l Messages d'erreur type 0 127
– DesDnaDon Unreachable type 1
– Packet Too Big type 2
– Time Exceeded type 3
– Parameter Problem type 4
l Message d’informa9ons type 128 255
– Echo Request type 128
– Echo Reply type 129
– Router SolicitaDon type 133
– Router AdverDsement type 134
– Neighbor SolicitaDon type 135
– Neighbor AdverDsement type 136
– Redirect Message type 137

K. EL BAAMRANI – Protocole IPv6

MESSAGES D'ERREUR
ICMPV6
General Message Format

• Destination
ICMPv6 Error Unreachable
Messages type 1
• Packet Too Big type 2
• Time Exceeded type 3
• Parameter Problem type 4

K. EL BAAMRANI – Protocole IPv6


Next Header & Format du Message
Next Header de l’ICMPv6 est 58

Next Header ICMPv6 ICMPv6 Message


58 Header Body

IPv6 Header
IPv6 Data

Format de message ICMPv6 est similaire à celle de ICMP4

8 16 24 32

Type Code Checksum

Message Body

K. EL BAAMRANI – Protocole IPv6

Destination Unreachable
l Type est égal à 1
l Envoyé quand un paquet ne peut pas être livré à sa destination pour des
raisons autres que la congestion.
l Un routeur génère généralement ces messages.
l Différentes valeurs de code donnent plus de détails
Code Values
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
8 16 24 32
Type=1 Code Checksum

K. EL BAAMRANI – Protocole IPv6


Packet Too Big
l Type est égal à 2
l Les routeurs IPv4 fragmentent un paquet lorsque le MTU
de la liaison sortante est plus petit que la taille du paquet.
– Le destinataire est responsable de rassembler les paquets
fragmentés.
l Les routeurs IPv6 ne fragmentent les paquets (sauf s'il
s'agit de la source du paquet).

8 16 24 32

Type=2 Code Checksum

MTU de de la liaison sortante

K. EL BAAMRANI – Protocole IPv6

Path MTU Discovery


Le MTU de lien
sortant est inférieure
Source à la taille de paquet
Destination

MTU = 1500 MTU = 1500 MTU = 1350 MTU = 1500 PC-B


PC-A

R1 R2 R3

IPv6 Packet with MTU = 1,500 bytes


1

ICMPv6 Packet Too Big message, use MTU 1,350


2

IPv6 Packet with MTU = 1,350 bytes


3

4 Packet Received
K. EL BAAMRANI – Protocole IPv6
Path MTU Discovery

MTU1500 MTU1454 MTU1500 MTU1280 MTU1500

client Server
Size=1500

Packet Too Big (MTU=1454) Size=1454

Packet Too Big (MTU=1280) Size=1280

K. EL BAAMRANI – Protocole IPv6

Time Exceeded
l Avant qu’un routeur transmet un paquet IPv6 il décrémente le
champ Hop Limit par un.
l Si Hop limit (TTL dans IPv4) atteint zéro
le paquet est rejeté et un message de dépassement de temps
(Time Exceeded) est envoyé à la source.

K. EL BAAMRANI – Protocole IPv6


Parameter Problem
l Généré lorsque le récepteur de paquet constate un problème
avec un champ dans l'en-tête IPv6 tel que le champ Next
Header.
l Il signifie que l'appareil n'a pas compris les informations dans
l'en-tête de paquet IPv6 et doit le jeter.

K. EL BAAMRANI – Protocole IPv6

MESSAGES D’INFORMATION
ICMPV6
General Message Format
• Echo Request type 128
ICMPv6 Error Messages
• Echo Reply type 129

K. EL BAAMRANI – Protocole IPv6


Messages Echo Request & Echo Reply

Echo Reply: Type = 128


Echo Request: Type = 129
8 16 24 32

Type = 128 or 129 Code = 0 Checksum

Identifier Sequence Number

Data

l Comme pour IPv4, les deux messages ICMPv6


Echo Request et Echo Reply sont utilisés par
ping.

K. EL BAAMRANI – Protocole IPv6

Messages Echo Request & Echo Reply

2001:0DB8:AAAA::/48
Topologie IPv6
R1 R2
2001:0DB8:AAAA:2::/64

Fa0/1 .1 Fa0/0 .2
Fa0/0 .1 FE80::1/64 FE80::2/64

FE80::1/64

2001:0DB8:AAAA:1::/64

PC1 PC2 2001:0DB8:AAAA:1::200

2001:0DB8:AAAA:1::100
FE80::50A5:8A35:A5bb:66E1
K. EL BAAMRANI – Protocole IPv6
Messages Echo Request & Echo Reply
Ping sur l’adresse global unicast de PC1 vers R1
PC1> ping 2001:db8:aaaa:1::1

Pinging 2001:db8:aaaa:1::1 from 2001:db8:aaaa:1::100 with 32


bytes of data:

Reply from 2001:db8:aaaa:1::1: time=1ms


Reply from 2001:db8:aaaa:1::1: time=1ms
Reply from 2001:db8:aaaa:1::1: time=1ms
Reply from 2001:db8:aaaa:1::1: time=1ms

Ping statistics for 2001:db8:aaaa:1::1:


Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 1ms, Maximum = 1ms, Average = 1ms

PC1>
K. EL BAAMRANI – Protocole IPv6

Messages Echo Request & Echo Reply


Echo Request de PC1 vers R1
Internet Protocol Version 6
0110 .... = Version: 6
.... 0000 0000 .... .... .... .... .... = Traffic class: 0x00000000
.... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000
Payload length: 40
Next header: ICMPv6 (0x3a)
Hop limit: 128
Source: 2001:db8:aaaa:1::100
Destination: 2001:db8:aaaa:1::1

Internet Control Message Protocol v6


Type: 128 (Echo (ping) request)
Code: 0 (Should always be zero)
Checksum: 0x8f38 [correct]
ID: 0x0001
Sequence: 0
Data (32 bytes)

FE80::abcd:124:5678:ABCD

K. EL BAAMRANI – Protocole IPv6


Messages Echo Request & Echo Reply
Echo Reply de R1 vers PC1
Internet Protocol Version 6
0110 .... = Version: 6
.... 0000 0000 .... .... .... .... .... = Traffic class: 0x00000000
.... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000
Payload length: 40
Next header: ICMPv6 (0x3a)
Hop limit: 64
Source: 2001:db8:aaaa:1::1
Destination: 2001:db8:aaaa:1::100

Internet Control Message Protocol v6


Type: 129 (Echo (ping) reply)
Code: 0 (Should always be zero)
Checksum: 0x8e38 [correct]
ID: 0x0001
Sequence: 0
Data (32 bytes)

K. EL BAAMRANI – Protocole IPv6

Messages Echo Request & Echo Reply

Ping sur l’adresse link-local de R1 vers PC1

R1# ping fe80::50a5:8a35:a5bb:66e1


Output Interface: fastethernet 0/0
% Invalid interface. Use full interface name without spaces (e.g.
Serial0/1)
Output Interface: fastethernet0/0
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to FE80::50A5:8A35:A5BB:66E1, timeout is
2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/4 ms
R1#

K. EL BAAMRANI – Protocole IPv6


Messages Echo Request & Echo Reply
Echo Request: de R1 vers PC1 en utilisant l’adresse Link-local
Internet Protocol Version 6
0110 .... = Version: 6
.... 0000 0000 .... .... .... .... .... = Traffic class: 0x00000000
.... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000
Payload length: 60
Next header: ICMPv6 (0x3a)
Hop limit: 64
Source: fe80::1
Destination: fe80::50a5:8a35:a5bb:66e1

Internet Control Message Protocol v6


Type: 128 (Echo (ping) request)
Code: 0 (Should always be zero)
Checksum: 0x0444 [correct]
ID: 0x0a24
Sequence: 0
Data (52 bytes)

K. EL BAAMRANI – Protocole IPv6

Messages Echo Request & Echo Reply


Echo Reply: : de PC1 vers R1 en utilisant l’adresse Link-local

Internet Protocol Version 6


0110 .... = Version: 6
.... 0000 0000 .... .... .... .... .... = Traffic class: 0x00000000
.... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000
Payload length: 60
Next header: ICMPv6 (0x3a)
Hop limit: 64
Source: fe80::50a5:8a35:a5bb:66e1
Destination: fe80::1

Internet Control Message Protocol v6


Type: 129 (Echo (ping) reply)
Code: 0 (Should always be zero)
Checksum: 0x0344 [correct]
ID: 0x0a24
Sequence: 0
Data (52 bytes)

K. EL BAAMRANI – Protocole IPv6


MESSAGES D’INFORMATION
ICMPV6
General Message Format
• Router Solicitation type 133
• Router
ICMPv6 Advertisement
Error Messagestype 134
• Neighbor Solicitation type 135
• Neighbor Advertisement type 136
• Redirect Message type 137

PROTOCOLE NDP
K. EL BAAMRANI – Protocole IPv6

Protocole Neighbor Discovery


l Le Protocole clé sur lequel dépend la plupart des
fonctionnalités d’IPv6
l Utilisé par les hôtes et les routeurs
l Se compose d'un ensemble de messages ICMPv6
l Échanges de différents messages offrent des
fonctionnalités différentes

K. EL BAAMRANI – Protocole IPv6


Protocole Neighbor Discovery

Router discovery Addre s s resolution

Resolution d’adresse
Pre fi x discovery Next-hop d e termination

Neighbour
Parameter discovery
unreachability d e tection

Addre s s Duplicate addre s s


autoconfi guration d e tection

Fonctions Fonctions
Hote - Router Communication - Hote

Le Pro tocole Neighbour Discovery

K. EL BAAMRNI - Adressage IPv6

5 messages ICMPv6 utilisés par NDP

Neighbour
Solicitation

Redirect Neighbour
Advertisement
ND

Router Router
Advertisement Solicitation

K. EL BAAMRNI - Adressage IPv6


Router Solicitation et Advertisement

K. EL BAAMRNI - Adressage IPv6

Router Solicitation
• Envoyeé par • Un hote IPv6

• But • Trouver quels routeurs sont présentés sur le lien

• Adresse Src • Adresse IP de l’interface qui fait la requête si il en existe


• Adresse indéterminé (::) s’il n'y a pas encore d’adresse

• Adresse Dst • FF02::2 (all-routers)

• Remarques • ICMP type 133, ICMP code 0

Message ICMPv6 Router Solicitation


16 24 32
8

Type = 133 Code = 0 Checksum

Reserved

Valid Options:
Source link-layer address

K. EL BAAMRNI - Adressage IPv6


Router Advertisement

• Envoyeé par • Un router IPv6

• But • Annoncer ses préfixes, MTU, hop limits


• Envoyer périodiquement ou en réponse à un RS

• Adresse Src • L’ adresse lien local IPv6 du Router

• Adresse Dst • FF02::1 (all-v6-nodes) pour une diffusion périodique


• L’adresse IPv6 du nœud qui a fait la requêtes en cas
de réponse à un RS

• Remarques • ICMP type 134, ICMP code 0

K. EL BAAMRANI – Protocole IPv6

Router Advertisement

Message ICMPv6 Router Advertisement

8 16 24 32

Type = 134 Code = 0 Checksum

Cur Hop Limit MO Reserved Router Lifetime

Reachable Time

Retrans Time

Possible Options:
Source link-layer address
MTU
Prefix Information

K. EL BAAMRANI – Protocole IPv6


Neighbour Solicitation Et Advertisement

Trois fonctions :

1. La résolution d'adresse
(ARP comme dans IPv4)

2. détection d'adresse dupliqué


(Duplicate Address Detection: DAD)

3. La détection d'inaccessibilité du voisin


(Neighbor Unreachability Detection: NUD)

K. EL BAAMRNI - Adressage IPv6

Neighbour Solicitation

• Envoyeé par • Un hôte IPv6

• But • Trouver l’adresse lien local d’un autre hôte.


• Duplicate address detection.
• Vérifier qu’un voisin est accessible.

• Adresse Src • IP de l’interface qui fait la requête si il en existe


• Adresse indéterminé (::) s’il n'y a pas encore d’adresse

• Adresse Dst • L’adresse cible du voisin si elle est connue


• Si non, l’adresse multicast ‘’Solicited node’’ de la cible

• Remarques • ICMP type 135, ICMP code 0

K. EL BAAMRANI – Protocole IPv6


Neighbour Advertisement

• Envoyeé par • Un hôte IPv6

• But • Réponse à un neighbour solicitation (NS)


• Périodiquement pour des mises à jours des voisins.

• Adresse Src • Adresse de l’interface source.

• Adresse Dst • L’adresse IP du noeud qui émet le NS.


• FF02::1 pour des diffusions périodiques

• Remarques • ICMP type 136, ICMP code 0

K. EL BAAMRANI – Protocole IPv6

Redirect

• Envoyeé par • Un router IPv6

• But • Informer un noeud du meilleur routeur de next- hop.

• Adresse Src • Adresse Lien local de routeur.

• Adresse Dst • Adresse IP du nœud qui fait la requête.

• Remarques • ICMP type 137, ICMP code 0

K. EL BAAMRANI – Protocole IPv6


Adresse Multicast Solicited Node
IPv6 Addressing

Unicast Multicast Anycast

Assigned Solicited Node

FF00::/8 FF02::1:FF00:0000/104

Unspecified Embedded
Global Unicast Link-Local Loopback Unique Local IPv4
2000::/3 FE80::/10 ::1/128 ::/128 FC00::/7 ::/80
3FFF::/3 FEBF::/10 FDFF::/7

K. EL BAAMRANI – Protocole IPv6

Adresse Multicast Solicited Node


NIC: Je vais écouter mes
Pourquoi l’adresse multicast nœud sollicité? adresses MAC multicast
• Les diffusions sont envoyés à tous les appareils.
IP: Je vais aussi écouter mes
• Les appareils doivent traiter toutes les diffusions.
adresses IP multicast (Global
• Les adresse Multicasts nœuds sollicitées sont et Link-local)
seulement traités par les appareils qu’ont les même
dernier 24 bits (généralement un périphérique).
• Si je connais l'adresse IPv6, mais pas l'adresse MAC, PC-2
Broadcasts
alors je peux l'envoyer à une adresse nœud sollicité au
lieu d'une diffusion à tout le monde ...

Global Unicast Address: 2001:0DB8:AAAA:0001:0000:0000:0000:0200


Solicited Node Multicast(Global): FF02::1:FF00:200

MAC Unicast Address: 00-1B-24-04-A2-1E


Multicast (MAC): 33-33-FF-00-02-00

K. EL BAAMRANI – Protocole IPv6


Adresse Multicast Solicited Node
PC2’s Global Unicast Address
Global Routing Prefix Subnet ID Interface ID
104 bits 24 bits

2001:0DB8:AAAA 0001 0000:0000:00 00:0200

Copy
PC2’s IPv6 Solicited-Node Multicast Address

FF02 0000 0000 0000 0000 0001 FF 00:0200

Copy

Solicited-node Multicast address mapped to


33-33 FF-00-02-00
Ethernet destination MAC address

Adresse muticats solicited-node de PC2: FF02::1:FF00:200


Adresse muticats Ethernet mappé solicited-node de PC2 : 33-33-FF-00-02-00
K. EL BAAMRANI – Protocole IPv6

Résolution d’adresse
Message ICMPv6 Neighbor Solicitation
Si cette adresse cible
est votre adresse IPv6,
s'il vous plaît envoyez-
moi votre adresse
MAC.

Message ICMPv6 Neighbor Advertisement

L'adresse cible IPv6 que


vous recherchez est à
moi, voici mon adresse
couche 2 (MAC).

K. EL BAAMRANI – Protocole IPv6


Résolution d’adresse

N1

1
NS
src: IPv6 address [N1]
dst: Solicited node multicast [N2]
data: Link layer address [N1]
query: "what's your link layer address?"

2
NA
src: IPv6 address [N2]
dst: IPv6 address [N1]
data: Link layer address [N2]

N2

K. EL BAAMRNI - Adressage IPv6

Résolution d’adresse
R1 2001:0DB8:AAAA:0001::/64

PC1> ping 2001:DB8:AAAA:1::200


2 5 1
Neighbor Cache MAC Address
<empty until step 5> PC1 MAC Address
PC2 00-1B-24-04-A2-1E
00-21-9B-D9-C6-44

2001:DB8:AAAA:1::100/64 2001:DB8:AAAA:1::200/64
FF02::1:FF00:200 (Solicited Node Multicast)

Neighbor Solicitation Message 3


From Ethernet MAC address:
Neighbor Advertisement Message
00-21-9B-D9-C6-44
From Ethernet MAC address:
To Ethernet MAC address:
00-1B-24-04-A2-1E
33-33-FF-00-02-00 4
To Ethernet MAC address:
(IPv6 Mapped Multicast)
00-21-9B-D9-C6-44
From: 2001:DB8:AAAA:1::100
From: 2001:DB8:AAAA:1::200
To: FF02::1:FF00:200 (Solicited Node
To: 2001:DB8:AAAA:1::100
Multicast)
Target IPv6 Address: 2001:DB8:AAAA:1::200
Target IPv6 Address: 2001:DB8:AAAA:1::200
MAC address of PC2: 00:1B:24:04:A2:1E
MAC address of PC1: 00:21:9B:D9:C6:44 K. EL BAAMRANI – Protocole IPv6
Résolution d’adresse
Neighbor Solicitation de PC1 (ARP Request)
Ethernet II, Src: 00:21:9b:d9:c6:44, Dst: 33:33:ff:00:02:00

Internet Protocol Version 6 Adresse multicast mappé de PC2


0110 .... = Version: 6
.... 0000 0000 .... .... .... .... .... = Traffic class: 0x00000000
.... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000
Payload length: 32
Next header: ICMPv6 (0x3a) Next header est un ICMPv6 header
Hop limit: 255
Source: 2001:db8:aaaa:1::100 Global unicast address de PC1
Destination: ff02::1:ff00:200 Solicited-node multicast address de PC2

Internet Control Message Protocol v6


Type: 135 (Neighbor solicitation) Message Neighbor Solicitation
Code: 0
Checksum: 0xbbab [correct]
Reserved: 0 (Should always be zero)
Adresse IPv6 cible qui
Target: 2001:db8:aaaa:1::200
nécessite l’adresse MAC
ICMPv6 Option (Source link-layer address)
Type: Source link-layer address (1)
Length: 8
Link-layer address: 00:21:9b:d9:c6:44 Adresse MAC de l’emetteur, PC1

K. EL BAAMRANI – Protocole IPv6

Résolution d’adresse
Neighbor Advertisement de PC2 (ARP Reply)
Ethernet II, Src: 00:1b:24:04:a2:1e, Dst: 00:21:9b:d9:c6:44

Internet Protocol Version 6 L’adresse MAC unicast de PC1


0110 .... = Version: 6
.... 0000 0000 .... .... .... .... .... = Traffic class: 0x00000000
.... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000
Payload length: 32
Next header: ICMPv6 (0x3a) Next header est un ICMPv6 header
Hop limit: 255
Source: 2001:db8:aaaa:1::200 L’adresse Global unicast de PC2
Destination: 2001:db8:aaaa:1::100 L’adresse Global unicast de PC1

Internet Control Message Protocol v6


Type: 136 (Neighbor advertisement) Message Neighbor Advertisement
Code: 0
Checksum: 0x1b4d [correct]
Flags: 0x60000000
Target: 2001:db8:aaaa:1::200 Adresse IPv6 de l’emetteur, PC2
ICMPv6 Option (Target link-layer address)
Type: Target link-layer address (2)
Length: 8
Link-layer address: 00:1b:24:04:a2:1e L’adresse MAC de l’emetteur, PC2

K. EL BAAMRANI – Protocole IPv6


Résolution d’adresse

R1 2001:0DB8:AAAA:0001::/64
PC1> ping 2001:DB8:AAAA:1::200
2 5 1
Neighbor Cache MAC Address
<empty until step 5> PC1 MAC Address PC2 00-1B-24-04-A2-1E
00-21-9B-D9-C6-44

2001:DB8:AAAA:1::100/64 2001:DB8:AAAA:1::200/64
FF02::1:FF00:200 (Solicited Node Multicast)
Neighbor Solicitation 3

4
Neighbor Advertisement

ICMPv6 Echo Request 6


From Ethernet MAC address: ICMPv6 Echo Reply
00-21-9B-D9-C6-44 From: Ethernet MAC address:
To: Ethernet MAC address: 7 00-1B-24-04-A2-1E
00-1B-24-04-A2-1E To: Ethernet MAC address:
00-21-9B-D9-C6-44
From: 2001:DB8:AAAA:1::100
To: 2001:DB8:AAAA:1::200 From: 2001:DB8:AAAA:1::200
To: 2001:DB8:AAAA:1::100

K. EL BAAMRANI – Protocole
IPv6

Résolution d’adresse
ICMPv6 Echo Request de PC1
Ethernet II, Src: 00:21:9b:d9:c6:44, Dst: 00:1b:24:04:a2:1e

Internet Protocol Version 6


0110 .... = Version: 6
.... 0000 0000 .... .... .... .... .... = Traffic class: 0x00000000
.... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000
Payload length: 40
Next header: ICMPv6 (0x3a)
Hop limit: 128
Source: 2001:db8:aaaa:1::100
Destination: 2001:db8:aaaa:1::200

Internet Control Message Protocol v6


Type: 128 (Echo (ping) request)
Code: 0 (Should always be zero)
Checksum: 0x7b37 [correct]
ID: 0x0001
Sequence: 13
Data (32 bytes)

K. EL BAAMRANI – Protocole IPv6


Résolution d’adresse
ICMPv6 Echo Reply de PC2
Ethernet II, Src: 00:1b:24:04:a2:1e, Dst: 00:21:9b:d9:c6:44

Internet Protocol Version 6


0110 .... = Version: 6
.... 0000 0000 .... .... .... .... .... = Traffic class: 0x00000000
.... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000
Payload length: 40
Next header: ICMPv6 (0x3a)
Hop limit: 64
Source: 2001:db8:aaaa:1::200
Destination: 2001:db8:aaaa:1::100

Internet Control Message Protocol v6


Type: 129 (Echo (ping) reply)
Code: 0 (Should always be zero)
Checksum: 0x7a37 [correct]
ID: 0x0001
Sequence: 13
Data (32 bytes)

K. EL BAAMRANI – Protocole IPv6

Duplicate Address Detection (DAD)


l Détection d'adresse duplique
l Utilisé pour déterminer si une adresse que vous
souhaitez utiliser est déjà affecté à une interface
ou non.
l RFC 4861 recommande que DAD doit être
effectuée sur toutes les adresses unicast avant
d'être affecté à une interface.
l En cas d’échec du DAD cette adresse ne peut être
assignée à une interface.

K. EL BAAMRANI – Protocole IPv6


Duplicate address detection (DAD)
l L’hôte N1 veut assigner l’adresse “AA” à son
interface “eth0”
l L’Interface “eth0” joint les groupes multicast:
– ff02::1 “All IPv6 nodes”
– ff02::ff00:0:aa L’adresse de multicast solicited node de
“AA”
l N1 envoie un message NS à ff02::ff00:0:aa à partir
de “::”
l N1 écoute tous les messages NS à ff02::ff00:0:aa à
partir de “::”
l N2 répond par un message NA à ff02::1 à partir de
“AA”
K. EL BAAMRANI – Protocole IPv6

Duplicate address detection (DAD)

N1 Tentative IP: 2001:DB8:AAAA:1:50A5:8A35:A5BB:66E1

1
NS

2
NA
src: ::
src: 2001:DB8:AAAA:1:50A5:8A35:A5BB:66E1
Dst: FF02::1:FFBB:66E1
dst: FF02::1
hop limit: 255
hop limit: 255
N2 Target: 2001:DB8:AAAA:1:50A5:8A35:A5BB:66E1 N3
Target: 2001:DB8:AAAA:1:50A5:8A35:A5BB:66E1

IP: 2001:DB8:AAAA:1:50A5:8A35:A5BB:66E1

K. EL BAAMRNI - Adressage IPv6


Duplicate address detection (DAD)
IGA$Marrakech$ $ $ $$$$$$$$ $ $ $ $ $ $ $$$$$$$$$$ $ Juillet$2014$
R1 2001:0DB8:AAAA:0001::/64
Année$universitaire$2013/2014$$ $ $ $ $ $ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $ Durée:$1h$
! ! ! ! ! ! ! ! ! ! ! ! !!!!!!!!
MAC Address
PC1 Contrôle:!Protocole!IPv6!
00-21-9B-D9-C6-44

(La$calculatrice$et$le$Téléphone$ne$sont$pas$autorisés)$
!
Adresse globale 1
2001:DB8:AAAA:1:50A5:8A35:A5BB:66E1
1. Quelles$sont$les$limites$du$protocole$IPv4$et$quelles$sont$les$solutions$utilisées$pour$pallier$à$ces$limites$?$
Neighbor Solicitation Message 2
2. Expliquer$pourquoi$le$NAT$est$une$solution$et$même$temps$une$limite$du$protocole$IPv4$?$
From Ethernet MAC address: 00-21-9B-D9-C6-44
To Ethernet MAC address:
3. Quel$est$le$rôle$des$l’adresses$suivantes$:$
33-33-FF-BB-66-E1 (IPv6 Mapped Multicast)
a. L’adresse$Anycast$
From: :: (Unspecified source address – I don’t have an IPv6 Message Neighbor
address yet) Advertisement si l’adresse
b. L’adresse$Link$local$
To: FF02::1:FFBB:66E1 (Solicited Node Multicast) 3 est utilisé
To: FF02::1 (All-nodes
c. L’adresse$Solicited$node$
Target IPv6 Address: 2001:DB8:AAAA:1::50A5:8A35:A5BB:66E1 multicast)

4. Quelle$est$l’adresse$utilisée$pour$diffuser$un$paquet$IPv6$

5. Donner$le$format$compressé$des$adresses$suivantes$:$ K. EL BAAMRANI – Protocole IPv6

a. 2001:0d02:0000:0000:0000:0000:0000:0095$$

b. 2001:0d02:0000:0000:0001:0000:0000:0095$$

c. 2001:0d02:0000:0001:0000:0000:0000:0095$$

Exercice
d. 2001:0d02:0000:0000:0000:0001:0000:0095$$

6. Donner$l’adresse$Link$local$correspondante$à$l’adresse$MAC$$$01:45:AB:FF:FE:FE$

7. Afin d'éviter la fragmentation des paquets, donner


lUn$FAI$opère$dans$20$villes.$La$plus$grande$ville$dispose$de$65$POP$(point$of$presence$sont$des$points$d'accès$aux$réseau$
pour$les$FAIs),$dont$le$plus$important$a$environ$4500$clients.$Estimer$les$besoins$d'adresse$IPv6$de$ce$FAI$
la taille du MTU entre les deux machines A et B.
8. Afin$d'éviter$la$fragmentation$des$paquets,$donner$la$taille$du$MTU$entre$les$deux$machines$A$et$B.$$

K. EL BAAMRANI – Protocole IPv6


Exercice
Supposons que neighbour cache de H1 est vide,
l
quel est le flux de paquets lorsque l’utilisateur sur
e 3 : PING H1 tape "PING 2001:1:0:2::2".
guration shown in the figure.
Internet
R1 is not enabled to send Router
messages, indicate what is the
R1
when, in H1, the user types the
G 2001:1:0:2::2”. 2001:1:0:1::1/64
2001:1:0:2::1/64
e neighbor cache is empty. MAC: 00-AA-BB-CC-DD-EE

H1 H2

IPv6: 2001:1:0:1::2/64 IPv6: 2001:1:0:2::2/64


DG: 2001:1:0:1::1 DG: 2001:1:0:2::1
MAC 00:01:04:76:2A:5C MAC 00:01:04:78:8D:2B K. EL BAAMRANI – Protocole IPv6

Exercice
Answer: Ping to H2 (2)

R1
H1 H2

Neighbor Solicitation

Neighbor Advertisement

Echo Request
Neighbor Solicitation

Neighbor Advertisement

Echo Request

Echo Reply

Echo Reply

K. EL BAAMRANI – Protocole IPv6


11
CONFIGURATION D’ADRESSE
IPv6

K. EL BAAMRANI – Protocole IPv6

Différent type de configuration d’IPv6

Configuration
D’addreses IPv6

SLAAC DHCPv6 Manuel

Stateful

Stateless

K. EL BAAMRANI – Protocole IPv6


IPv6 & Système d’exploitation
IPv6 est activé par défaut dans la Plupart des Systèmes
d'exploitation

Système d’exploitation Support IPv6

Windows Windows XP Service Pack 2 et supérieur

Mac OS X 10.4 (Tiger) et supérieur


GNU Linux Kernel 2.6 et supérieur
FreeBSD FreeBSD 4.0 et supérieur
Cisco IOS IOS 12.4; 12.3; 12.xT de 12.2T et
supérieur

Junos Junos 5.1 et supérieur

K. EL BAAMRANI – Protocole IPv6

CONFIGURATION STATIQUE
D’ADRESSE IPv6

K. EL BAAMRANI – Protocole IPv6


Configuration d’hôte Windows

K. EL BAAMRANI - Adressage IPv6

Configuration d’hôte Windows

PC1> ipconfig
Windows IP Configuration
Ethernet adapter Local Area Connection:
Connection-specific DNS Suffix . :
IPv6 Address. . . . . . . . . . . : 2001:db8:cafe:1::100
Link-local IPv6 Address . . . . . : fe80::50a5:8a35:a5bb:66e1%11

K. EL BAAMRANI – Protocole IPv6


Configuration d’hôte Mac OS

K. EL BAAMRANI - Adressage IPv6

Configuration d’hôte Linux

Configurer IPv6 sur une interface


[In /etc/network/interfaces]
auto eth0
iface eth0 inet6 static
address 2001:db8:fedc:abcd::1/64
Ou par la commande

ifconfig <interface> inet6 add <ipv6address>/<prefixlength>

Verification

#ifconfig eth0 OU
#ip -6 addr show eth0

K. EL BAAMRANI - Adressage IPv6


Adresse temporaire IPv6
l Le status des adresses temporaires
(confidentielles ou aléatoires) sur quelques
systèmes d’exploitations:
– Windows Vista et superieur : Activé par défaut
– Windows XP/2003: Pas activé par défaut
– Mac OS X : Pas activé par défaut
– Linux : Pas activé par défaut

PC1> ipconfig
Windows IP Configuration
Ethernet adapter Local Area Connection:
IPv6 Address. . . . . . . . . : 2001:DB8:AAAA:1:0219:D2FF:FE8C:E04C
Link-local IPv6 Address . . . : fe80::50a5:8a35:a5bb:66e1%11
Default Gateway . . . . . . . : fe80::1
K. EL BAAMRANI - Adressage IPv6

Adresse temporaire IPv6

Windows Vista/7
c:\netsh interface ipv6 set privacy state=enabled|disabled
c:\netsh interface ipv6 set global randomizeidentifiers=enabled|disabled
Mac OS X
In /etc/sysctl.conf
net.inet6.ip6.use_tempaddr=0|1
net.inet6.ip6.temppltime=XX //lifetime of temporary address
Linux
#echo "1" > /proc/sys/net/ipv6/conf/default/use_tempaddr

K. EL BAAMRANI - Adressage IPv6


Ambiguïté des adresses lien-local
fe80::212:6bff:fe3a:9e9a fe80::212:6bff:fe54:f99a

N2 N1

Fa 0/1 Fa 0/0
R

M2 M1

fe80::212:6bff:fe17:fc0f fe80::245:bcff:fe47:1530

“Si vous pingez sur fe80::212:6bff:fe54:f99a (N1), quelle interface de sortie le


router R utilisera?”

K. EL BAAMRANI - Adressage IPv6

Ambiguïté des adresses lien-local


l L’adresse lien-local entière s’écrit comme:
adresse%zoneID
l ZoneID (ou scopeID)
– Fournit les informations de routage supplémentaire nécessaire
– Automatiquement attribué par le système d'exploitation
– La portée est uniquement locale

l Exemples d’adresses lien-local entière avec zoneIDs:


– [Windows] ping fe80::245:bcff:fe47:1530%11
– [Linux] ping6 fe80::245:bcff:fe47:1530%eth0
– [Mac OS] ping6 fe80::245:bcff:fe47:1530%en0

K. EL BAAMRANI – Protocole IPv6


Ambiguïté des adresses lien-local
l Windows Host X: fe80::1ce:c01d:dead:babe%7
l Windows Host Y: fe80::dead:beef:1ce:c01d%10
l Ping de X -> Y
– ping fe80::dead:beef:1ce:c01d%7 [correcte]
– ping : fe80::dead:beef:1ce:c01d%10 [faux]

K. EL BAAMRANI – Protocole IPv6

Ambiguïté des adresses lien-local


fe80::212:6bff:fe3a:9e9a fe80::212:6bff:fe54:f99a

N2 N1

Fa 0/1 Fa 0/0
R

M2 M1

fe80::212:6bff:fe17:fc0f fe80::245:bcff:fe47:1530

ping fe80::212:6bff:fe54:f99a%fa0/0

K. EL BAAMRANI - Adressage IPv6


Ambiguïté des adresses lien-local

PC1> ipconfig
Windows IP Configuration
Ethernet adapter Local Area Connection:
IPv6 Address. . . . . . . . : 2001:DB8:AAAA:1:0219:D2FF:FE8C:E04C
Link-local IPv6 Address . . : fe80::50a5:8a35:a5bb:66e1%11
Default Gateway . . . . . . : fe80::1

K. EL BAAMRANI – Protocole IPv6

Configuration de routeur Cisco

Configuration de l’adresse statique globale

R1# conf t
R1(config)# interface fastethernet 0/0
R1(config-if)# ipv6 enable
R1(config-if)# ipv6 address 2001:0db8:cafe:0001::1/64
R1(config-if)# no shutdown pas espace
R1(config-if)# exit
R1(config)#

K. EL BAAMRANI – Protocole IPv6


Configuration de routeur Cisco

show running-config

R1# show running-config


<output omitted for brevity>
interface FastEthernet0/0
no ip address
duplex auto
speed auto
ipv6 address 2001:DB8:CAFE:1::1/64
!

K. EL BAAMRANI – Protocole IPv6

Configuration de routeur Cisco

show ipv6 interface brief

R1# show ipv6 interface brief


FastEthernet0/0 [up/up]
FE80::203:6BFF:FEE9:D480 Link-local unicast address
2001:DB8:CAFE:1::1 Global unicast address
R1#

• Adresse lien-local est automatiquement créé lorsque (avant)


l'adresse unicast globale est créé.

K. EL BAAMRANI – Protocole IPv6


Configuration de routeur Cisco
show ipv6 interface fastethernet 0/0
R1# show ipv6 interface fastethernet 0/0
FastEthernet0/0 is up, line protocol is up
IPv6 is enabled, link-local address is
FE80::203:6BFF:FEE9:D480
Global unicast address(es):
2001:DB8:CAFE:1::1, subnet is 2001:DB8:CAFE:1::/64
Joined group address(es):
FF02::1
FF02::2
FF02::1:FF00:1
MTU is 1500 bytes
<output omitted for brevity>
R1#

K. EL BAAMRANI – Protocole IPv6

Configuration de routeur Cisco

Configuration de l’adresse globale automoatique


R1(config)# interface fastethernet 0/0
R1(config-if)# ipv6 address 2001:0db8:cafe:0001::/64 ?
eui-64 Use eui-64 interface identifier
<cr> <<< All0’s address is okay!

R1(config-if)# ipv6 address 2001:0db8:cafe:0001::/64 eui-64

Global Unicast: R1
Prefix: 2001:0DB8:AAAA:1::/64 Fa0/0
Interface ID: EUI-64

K. EL BAAMRANI – Protocole IPv6


Configuration de routeur Cisco
Adresse MAC de FastEthernet 0/0
R1# show interface fastethernet 0/0
FastEthernet0/0 is up, line protocol is up
Hardware is AmdFE, address is 0003.6be9.d480
Ethernet MAC address
<output omitted for brevity>

OUI Device Identifier


24 bits 24 bits

Hexadecimal 00 03 6B E9 D4 80

Binary 0000 0000 0000 0011 0110 1011 1110 1001 1101 0100 1000 0000

K. EL BAAMRANI – Protocole IPv6

Configuration de routeur Cisco


Adresse EUI-64
OUI Device Identifier
Modified EUI-64 Format 24 bits 24 bits

Hexadecimal 00 03 6B E9 D4 80
Step 1: Split the MAC address

Binary 0000 0000 0000 0011 0110 1011 1110 1001 1101 0100 1000 0000

Step 2: Insert FFFE

Binary 0000 0000 0000 0011 0110 1011 1111 1111 1111 1110 1110 1001 1101 0100 1000 0000

Step 3: Flip the U/L bit

Binary 0000 0010 0000 0011 0110 1011 1111 1111 1111 1110 1110 1001 1101 0100 1000 0000

Modified EUI-64 Interface ID in Hexadecimal Notation

Binary 02 03 6B FF FE E9 D4 80

K. EL BAAMRANI – Protocole IPv6


Configuration de routeur Cisco

Adresse globale EUI-64 : 2001:0DB8:AAAA:0001:0203:6BFF:FEE9:D480

Subnet Prefix Interface ID


(Manually configured) (EUI-64 format)

R1(config)# interface fastethernet 0/0


R1(config-if)# ipv6 address 2001:0db8:aaaa:0001::/64 eui-64

R1# show ipv6 interface fastethernet 0/0


FastEthernet0/0 is up, line protocol is up
IPv6 is enabled, link-local address is FE80::203:6BFF:FEE9:D480
Global unicast address(es):
2001:DB8:CAFE:1:203:6BFF:FEE9:D480,
subnet is 2001:DB8:CAFE:1::/64
Address using EUI-64 format
<output omitted for brevity>

K. EL BAAMRANI – Protocole IPv6

CONFIGURATION
DYNAMIQUE D’ADRESSE IPv6

K. EL BAAMRANI – Protocole IPv6


Configuration Dynamique

Adresse Passerelle par Serveur DNS Délégation de


défaut Préfixe

SLAAC

Stateless DHCPv6

Stateful DHCPv6

• SLAAC: StateLess Address AutoConfiguration


• SLAAC seulement
• SLAAC avec DHCPv6
• Stateful autoconfiguration
• DHCPv6 seulement

K. EL BAAMRANI – Protocole IPv6

Router Advertisement

Message ICMPv6 Router Advertisement

8 16 24 32

Type = 134 Code = 0 Checksum

Cur Hop Limit MO Reserved Router Lifetime

Reachable Time

Retrans Time

Possible Options:
Source link-layer address
MTU
Prefix Information

K. EL BAAMRANI – Protocole IPv6


Configuration Dynamique
Le Managed-Config-Flag (M) du RA
• Indique l‘hôte d’utiliser DHCPv6 pour tout (Stateful)
• L‘hôte doit être configuré pour un adresse ‘’automatique’’
IPv6
• Il est configuré coté routeur
Le Other-Config-Flag (O) du RA
• Indique l‘hôte d’utiliser
• SLAAC pour adresse et la taille du préfixe
• DHCPv6 pour les autres options (ex: DNS)
• Il est configuré coté routeur
SLAAC est utilisée si aucune des options ci-dessus n’est configuré

K. EL BAAMRANI - Adressage IPv6

Configuration Dynamique

Flags M et O
Internet Control Message Protocol v6
Type: 134 (Router advertisement) Router Advertisement message
Code: 0
Cur hop limit: 64
Flags: 0x00 M and O flags
<output omitted for brevity?

l M Flag: Managed Address Configuration flag.


– Si ègal à 0, les hôtes du réseau utilisent le SLAAC.
– Si égal à 1, les hôtes du réseau utilisent le stateful DHCPv6.
l O Flag: Other Configuration flag.
– Si ègal à 0, il n'y a pas d'informations complémentaires disponibles à partir d'un serveur
DHCPv6.
– Si égal à 1, dit a l'hôte que d'informations supplémentaires disponibles à partir d’un
serveur DHCPv6 tels que les informations relatives DNS (stateless DHCPv6).
l Remarque: Si aucun flag n’est pas définis, ceci indique que l'information n'est
pas disponible via DHCPv6 è Le SLAAC qui sera utilisé
K. EL BAAMRANI – Protocole IPv6
Configuration Dynamique

Flags M et O
M-O State DHCPv6 SLAAC

0-0 stateless non address + dns

0-1 stateless dns address


1-0 stateful address non

1-1 stateful address + dns non

K. EL BAAMRANI – Protocole IPv6

Configuration Dynamique
R1 ipv6 unicast-routing
DHCPv6 Server

NDP Router Advertisement

M Flag M Flag = 0 (Default)


SLAAC or DHCPv6? Use SLAAC, info in RA, prefix, etc.
R1(config-if)# ipv6 nd managed- M Flag = 1
config-flag X Use DHCPv6 for everything

O Flag O Flag = 0 (Default)


Additional information No additional information via X
via DHCPv6? DHCPv6
O Flag = 1
R1(config-if)# ipv6 nd other-
config-flag Additional information via
DHCPv6 like DNS address

K. EL BAAMRANI – Protocole IPv6


Stateless Address Autoconfiguration (SLAAC)

RouterA ipv6 unicast-routing

1 NDP Router MAC: 00-19-D2-8C-E0-4C


Solicitation
2
NDP Router Advertisement EUI-64

• Stateless Address Autoconfiguration (SLAAC) est une méthode


automatique pour l'attribution des adresses unicast globales aux
interfaces.
• Défini dans la RFC 4862
• Utilisations:
• Préfixe et autres informations à partir de ND Router Advertisement
• Interface ID à partir de EUI-64 ou valeur aléatoire
• Router Advertisement comprend: Préfixe, longueur de préfixe, default-
gateway, MTU, Hop limit
K. EL BAAMRANI – Protocole IPv6

Comment fonctionne le SLAAC


1. Hôte génère un interfaceID et une adresse lien-local
quand le protocole IPv6 est activé sur l’interface
R1(config-if)# ipv6 enable
2. Réalise le Duplicate Address Detection [DAD] sur
l'adresse sélectionnée
3. Interroge tous les routeurs (via les messages RS) pour
des informations complémentaires
4. Le routeur répond avec un Router Advertisement [RA] qui
liste les préfixes alloués pour le sous-réseau
5. Pour chaque préfixe reçu, l'hôte ajoute son interfaceID
64bit, configure une adresse et réalise le DAD.
6. L'hôte construit une liste de 'routeurs par défaut' a partir
des RA.
– Il n'y a pas de passerelle par défaut unique, comme en IPv4.
K. EL BAAMRANI – Protocole IPv6
Comment fonctionne le SLAAC
l Les routeurs sont préconfigurés avec:
– L’adresses IPv6 appropriées sur leurs interfaces.
– Les préfixes à utiliser sur le sous-réseau.
– Liste des serveurs DNS à envoyer aux hôtes [RFC6106]
l Si le routeur annonce plusieurs préfixes, l'hôte(s)
auto-configure(ent) une adresse pour chacun des
préfixes.
l Si plusieurs routeurs se définissent comme routeur
par défaut, l'hôte choisit et utilise un et en cas
d’échèc il utilise un autre.

K. EL BAAMRANI – Protocole IPv6

Comment fonctionne le SLAAC


Configurer un routeur Cisco pour SLAAC
R1# conf t
R1(config)# ipv6 unicast-routing
R1(config)# interface fastethernet 0/0
R1(config-if)# ipv6 enable
R1(config-if)# ipv6 address 2001:aaaa::1/64
R1(config-if)# no shutdown

K. EL BAAMRANI – Protocole IPv6


Comment fonctionne le SLAAC

RouterA ipv6 unicast-routing

1 NDP Router MAC: 00-19-D2-8C-E0-4C


2
Solicitation
NDP Router Advertisement
EUI-64
Prefix: 2001:DB8:AAAA:1::
3 Prefix: 2001:DB8:AAAA:1::
Prefix-length: /64
EUI-64 Interface ID: 02-19-D2-FF-FE-8C-E0-4C
To: FF02::1 (All-hosts Global Unicast Address:
multicast) 2001:DB8:AAAA:1:0219:D2FF:FE8C:E04C
From: FE80::1 (Link-local Prefix-length: /64
address) Default Gateway: FE80::1

PC1> ipconfig
IPv6 Address. . . . . . . : 2001:DB8:AAAA:1:0219:D2FF:FE8C:E04C
Default Gateway . . . . . : fe80::1

K. EL BAAMRANI – Protocole IPv6

Comment fonctionne le SLAAC


R1(config)# ipv6 unicast-routing

R1# show ipv6 interface fastethernet 0/0


FastEthernet0/0 is up, line protocol is up
IPv6 is enabled, link-local address is FE80::1
Global unicast address(es):
2001:DB8:AAAA:1::1, subnet is 2001:DB8:AAAA:1::/64
Joined group address(es):
FF02::1
FF02::2 All-routers multicast group
FF02::1:FF00:1
MTU is 1500 bytes
<output omitted for brevity>
ND advertised retransmit interval is 0 milliseconds
ND router advertisements are sent every 200 seconds
ND router advertisements live for 1800 seconds
Hosts use stateless autoconfig for addresses.
R1#

K. EL BAAMRANI – Protocole IPv6


Comment fonctionne le SLAAC
Router Solicitation (RS) à partir de PC1
Ethernet II, Src: 00:21:9b:d9:c6:44, Dst: 33:33:00:00:00:02
All IPv6 routers multicast MAC address
Internet Protocol Version 6
0110 .... = Version: 6 [Traffic class and Flowlabel not shown]
Payload length: 16
Next header: ICMPv6 (0x3a) Next header is an ICMPv6 header
Hop limit: 255
Source: fe80::50a5:8a35:a5bb:66e1 Link-local address of PC1
Destination: ff02::2 All-routers multicast address

Internet Control Message Protocol v6


Type: 133 (Router solicitation) Router Solicitation message
Code: 0
Checksum: 0x3277 [correct]
ICMPv6 Option (Source link-layer address)
Type: Source link-layer address (1)
Length: 8
Link-layer address: 00:21:9b:d9:c6:44

K. EL BAAMRANI – Protocole IPv6

Comment fonctionne le SLAAC

Router Advertisement (RA) à partir de R1

Ethernet II, Src: 00:03:6b:e9:d4:80, Dst: 33:33:00:00:00:01


All IPv6 hosts multicast MAC address
Internet Protocol Version 6
0110 .... = Version: 6
.... 1110 0000 .... .... .... .... .... = Traffic class: 0x000000e0
.... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000
Payload length: 64
Next header: ICMPv6 (0x3a) Next Header is an ICMPv6 header
Hop limit: 255
Link-local address of R1. Added to the Default Router List and
Source: fe80::1
is the address hosts will use as their default gateway
Destination: ff02::1
All-nodes multicast group

K. EL BAAMRANI – Protocole IPv6


Comment fonctionne le SLAAC

Router Advertisement (RA) à partir de R1


Internet Control Message Protocol v6
Type: 134 (Router advertisement) Router advertisement
Code: 0
Cur hop limit: 64 Recommended Hop Limit value for hosts
Flags: 0x00 M and O flags indicate that no information is available via DHCPv6
ICMPv6 Option (Source link-layer address)
Type: Source link-layer address (1)
Length: 8
Link-layer address: 00:03:6b:e9:d4:80 R1’s MAC address
ICMPv6 Option (MTU)
Type: MTU (5)
Length: 8
MTU: 1500 MTU of the link.
ICMPv6 Option (Prefix information)
Type: Prefix information (3)
Length: 32
Prefix-length (/64) to be used for autoconfiguration.
Prefix Length: 64
Prefix: 2001:db8:aaaa:1:: Prefix of this network to be used for
autoconfiguration
K. EL BAAMRANI – Protocole IPv6

Comment fonctionne le SLAAC

Network X
l Les hôtes vont auto-
configurer une adresse pour
R1
chacun des préfixes
2 annoncés
[RA] 2001:db8:a::
N2 – 2001:db8:a::/64
– 2001:db8:d::/64
1
[RS] RA? ff02::1
ff02::2 ff02::1

ff02::1 l Les hôtes vont aussi auto-


configurer 2 passerelles par
M2
défaut
3
[RA] 2001:db8:d::

R2

Network X

K. EL BAAMRANI - Adressage IPv6


Comment fonctionne le Stateful DHCPv6
l L’Hôte obtient tous ses paramètres de configuration d’un
serveur central (DHCP)
l Le serveur central peut conserver l'état des adresses
attribuées
l Un hôte peut utiliser DHCPv6 au lieu de SLAAC si il reçoit
un message RA avec les options M = ON et O = OFF
l Les adresses multicast utilisées par DHCPv6
– All_DHCP_Relay_Agents_and_Servers (FF02::1:2)
– All_DHCP_Servers (FF05::1:3)
l DHCP Messages:
– Les clients écoutent sur le port UDP 546
– Les serveurs et les agents de relais écoutent sur le port UDP 547
– DHCPv6 ne prend pas en charge l’option de passerelle par défaut!!

K. EL BAAMRANI – Protocole IPv6

Comment fonctionne le Stateful DHCPv6


DHCP Server
Client Router / DHCP Relay

1
[ND] RS?
2
[ND] RA (M set)

3 4
[DHCP] Solicit [DHCP] Solicit

6 5
[DHCP] Advertise (addr) [DHCP] Advertise (addr)

7 8
[DHCP] Request (addr) [DHCP] Request (addr)

10 9
[DHCP] Reply (addr) [DHCP] Reply (addr)

11 12
[DHCP] Confirm (addr) [DHCP] Confirm (addr)

K. EL BAAMRANI - Adressage IPv6


Comment fonctionne le Stateless DHCPv6
Client Router / DHCP Relay DHCP Server

1
[ND] RS?
2
[ND] RA
Prefix:
Default router: "O"
flag set
3
[DHCP] Solicit Options 4
e.g DNS server [DHCP-RELAY] Solicit
Options

6 5
[DHCP-RELAY] Advertise [DHCP] Advertise

7 8
[DHCP] Request (DNS) [DHCP] Request (DNS)

10 9
[DHCP] Reply (DNS) [DHCP] Reply (DNS)

K. EL BAAMRANI - Adressage IPv6

configuration de Stateless DHCPv6


DHCPv6 configuration pool commands

R1(config)# ipv6 dhcp pool test


R1(config-dhcp)# dns-server 2001:db8:cafe:2::d001
R1(config-dhcp)# exit
Enables DHCPv6 service on the
interface.
R1(config)# interface fa 0/0
R1(config-if)# ipv6 dhcp server test
R1(config-if)# ipv6 nd other-config-flag
R1(config-if)# end
Sets the Router Advertisement O flag
R1# (Other Configuration Flag) to 1

K. EL BAAMRANI – Protocole IPv6


configuration de Stateless DHCPv6
Verification des Flags de Router Advertisement

R1# show ipv6 interface fastethernet 0/0


FastEthernet0/0 is up, line protocol is up
IPv6 is enabled, link-local address is FE80::1
No Virtual link-local address(es):
Global unicast address(es):
2001:DB8:CAFE:1::1, subnet is 2001:DB8:CAFE:1::/64
Joined group address(es):
FF02::1
FF02::2
FF02::5
FF02::6
FF02::1:2 All_DHCP_Relay_Agents_and_Servers multicast group
FF02::1:FF00:1
MTU is 1500 bytes
<output omitted for brevity>
ND router advertisements are sent every 200 seconds
ND router advertisements live for 1800 seconds
ND advertised default router preference is Medium
Hosts use stateless autoconfig for addresses. Router Advertisement M Flag set to 0
Hosts use DHCP to obtain other configuration. Router Advertisement O Flag set to 1
R1#
K. EL BAAMRANI – Protocole IPv6

ROUTAGE IPV6

K. EL BAAMRANI – Protocole IPv6


Routage IP
l Le routage est un processus permettant à un
paquet d’être acheminé vers le destinataire
lorsque celui-ci n est pas sur le même réseau
physique que l émetteur.

l Pour router un paquet le routeur doit:


– Connaître l’adresse destination du paquet
– Identifier les routeurs qui peuvent fournir les
informations sur la destination
– Déterminer les chemins possibles
– Choisir le meilleur chemin

K. EL BAAMRANI – Protocole IPv6

Les techniques de routage

l Routage statique

l Routage dynamique

K. EL BAAMRANI – Protocole IPv6


Routage Statique

K. EL BAAMRANI – Protocole IPv6

Routage Statique

l Utilise les chemins que l administrateur réseau


configure manuellement au niveau du routeur
l Généralement le routage est modifié après
découverte du problème
l Difficile de gérer les changements de topologie
non attendus.
– Surtout sur les réseaux de grande taille

l Convient uniquement pour des sites de petite taille

K. EL BAAMRANI – Protocole IPv6


Routage Statique

l Configuration de trois éléments :


– Adresse du réseau IP de destination
– Masque associé
– Adresse IP du routeur suivant (next-hop)

l Configuré de la même façon que l’IPv4

K. EL BAAMRANI – Protocole IPv6

Routage Statique
l Configuration de la route statique
Router(config)# ipv6 route ipv6-prefix/prefix-length {ipv6-address
| interface-type interface-number [ipv6-address]}
[administrative-distance] [administrative-multicast-distance |
unicast | multicast] [next-hop-address] [tag tag]

l Avant de configurer le routeur avec une route IPv6


statique:
– Activer le routage des paquets IPv6 en utilisant la commande
l ipv6 unicast-routing
– Activer IPv6 au moins sur une interface
– Configurer une adresse IPv6 sur cette interface.
Types de routes statiques

l Routes statiques récursives

l Routes statiques directement connectées

l Routes statiques pleinement spécifiées

l Routes statiques flottantes

l Route par défaut

K. EL BAAMRANI – Protocole IPv6

Types de routes statiques


l Routes statiques récursives:
– Créé en utilisant uniquement l'adresse du saut suivant.
– Le routeur doit se référer à sa table de routage une
seconde fois pour déterminer l'interface à utiliser pour
accéder à l'adresse du saut suivant.
– Exemple: pour spécifier que le réseau 2001:1::/64 est
accessible via l’adresse 2001:2::2

ipv6 route 2001:1::/64 2001:2::2


R2# show ipv6 route
<output omitted>
C 2001:2::2/64 [0/0]
via ::, Serial0/0/0
S 2001:1::/64 [1/0]
via 2001:2::2
K. EL BAAMRANI – Protocole IPv6
Types de routes statiques
l Routes statiques directement connectées
– Créé en utilisant uniquement l'interface de sortie
l L'interface spécifiée doit être activé et configuré (IPv6)
– Exemple: pour spécifier que le réseau 2001:1::/64 est
accessible via l'interface Serial 0/0/0:

ipv6 route 2001:1::/64 serial0/0/0

R1(config)# ipv6 route 2001:1::/64 ser 0/0/0

R1# show ipv6 route


<output omitted>
C 2001:2::2/64 [0/0]
via ::, Serial0/0/0
S 2001:1::/64 [1/0]
via ::, Serial0/0/0
K. EL BAAMRANI – Protocole IPv6

Types de routes statiques


l Routes statiques pleinement spécifiées:
– Comprend à la fois l'interface de sortie et l'adresse du
saut suivant.
– Utilisé sur les interfaces multi-accès (Ethernet) avec
plusieurs appareils.
– Exemple: pour spécifier que le réseau 2001:3::/64 est
accessible via l’interface Fa0/0 et l’adresse de suit
suivant 2001:3::2
ipv6 route 2001:3::/64 Fa0/0 2001:1::2

K. EL BAAMRANI – Protocole IPv6


Types de routes statiques
l Routes statiques flottantes:
– La route statique est utilisée comme une route de
backup pour une route dynamique apprise par un IGP.
– La route est configurée avec une distance
administrative supérieure à celle d'un IGP.
l En conséquence, la route dynamique apprise par le protocole
de routage est toujours utilisée de préférence à la route statique
flottante
– Elle ne sera utilisée et ajoutée à la table de routage que
si la route dynamique apprise par l’ IGP est perdu.

ipv6 route 2001:1::/64 serial0/0/0 130

K. EL BAAMRANI – Protocole IPv6

Types de routes statiques


l Route statique par défaut
– Elle est équivalente à la route IPv4
ip route 0.0.0. 0.0.0.0

ipv6 route ::/0 serial0/0/0

R1(config)# ipv6 route ::/0 Serial 0/0/0

R1# show ipv6 route


<output omitted>
S* ::/0 [1/0]
via ::, Serial0/0/0

K. EL BAAMRANI – Protocole IPv6


Routage IPv6
l Exigence spécifique de RFC 4861.
– Pour le routage Statique: l'adresse du routeur de saut
suivant doit être spécifié en utilisant l'adresse lien-local
du routeur.
– Pour le routage dynamique: tous les protocoles de
routage IPv6 doivent échanger les adresses lien-local
pour la découverte de voisinage et formation de
contiguïté

– Pourquoi ?
l Le préfixe réseau de l'adresse globale unicast pourrait changer
l Adresse lien-local est fixe et en plus suffisante

K. EL BAAMRANI – Protocole IPv6

Routage Dynamique

K. EL BAAMRANI – Protocole IPv6


Protocole de routage dynamique

Protocole de Routage
Dynamique

IGP EGP

Vecteur de
Etat des liens
distance

RIPng EIGRP OSPFv3 IS-ISv6 MBGP

K. EL BAAMRANI – Protocole IPv6

Protocole de routage dynamique


l Tous les protocoles IGP IPv6 utilise les adresses
lien-local comme adresses de next-hop (RFC
4861)
l Les IGP IPv6 ne utilise pas les adresses globales unicast.

l Avant de configurer un protocole de routage il faut


activer le routage par la commande:

ipv6 unicast-routing

K. EL BAAMRANI – Protocole IPv6


RIPng

K. EL BAAMRANI – Protocole IPv6

RIPng
l Routing Information Protocol next generation (RIPng) est
décrit par la RFC 2080
l C’est un protocole IGP à vecteur de distance pour l’IPv6.
l Il est similaire à RIPv2 :
– La limite de saut est toujours 15.
– La distance administrative est toujours 120.
l Contrairement au RIPv2, RIPng:
– Utilisé pour transporter les préfixes IPv6 .
l Il inclus un préfixe IPv6 et une adresse IPv6 de saut suivant.
– Utilise le port UDP 520 (au lieu de port UDP 521).
– Utilise le groupe multicast FF02::9 (au lieu de 224.0.0.9).
– Pas d’authentification intégrée à assurée par IPsec
– RIPng utilise les adresses lien-local pour les next-hop
– pas de résumé automatique parce que le concept de l'adressage
par classe n'existe pas dans IPv6
K. EL BAAMRANI – Protocole IPv6
RIPng
l Chaque processus RIPng maintient une table de routage locale
appelée Base de données de routage (Routing Information Database
RIB).
l La RIB contient les routes de coûts minimaux appris des routeurs
voisins.
l Si RIPng apprend la même route à partir de deux voisins différents,
mais avec des coûts différents, il va stocker seulement la route la
moins coûteuse dans le RIB local.
l La RIB stocke également toutes les routes expirées que le processus
RIPng déjà annoncées pour ses voisins.
l Le RIPng insère toutes les routes non expiré de son RIB local dans la
RIB maître (table de routage).
l Si la même route a été appris d'une source de routage avec une
meilleure distance administrative que RIPng, la route RIP ne sera pas
ajoutée dans la table de routage IPv6, mais il reste toujours dans la
RIB locale
K. EL BAAMRANI – Protocole IPv6

RIPng: format de paquet


0 7 15 23 31
Commande Version Mise à zéro

Entrée 1 (20 octets)


Entrée n (20 octets)


Préfixe IPv6 (16 octets)
RTE
Marque de routage Lg de préfixe Métrique

l Commande : 1 pour demande, 2 pour réponse


l Version : est aujourd'hui défini à la valeur 1
l Entrée ou RTE (Route Table Entry)
– préfixe et longueur de préfixe: décrivent les réseaux annoncés
– métrique: le nombre de routeurs pour atteindre la destination
– Marque de routage: L'utilisation prévue de ce champ est de fournir un procédé de
séparation des routes « internes » (routes pour les réseaux dans le domaine de routage
RIPng) et des routes « externes » de RIPng , qui peuvent être importées à partir d'un EGP
ou d’un autre IGP.
l Remarque : nombre maximum des RTEs
– RIPv2 : 25
– RIPng: dépend de la MTU IPv6 de l'interface d'émission.
K. EL BAAMRANI – Protocole IPv6
RIPng: Configuration
l Activer le routage IPv6
ipv6 unicast-routing
l Activer le protocole RIPng (commande globale)
Router(config)# ipv6 router rip name
– Le paramètre name est le nom de processus de routage RIP.

R1(config)# ipv6 router rip RouageRIP


% IPv6 routing not enabled
R1(config)# ipv6 unicast-routing
R1(config)# ipv6 router rip RoutageRIP
R1(config-rtr)#

K. EL BAAMRANI – Protocole IPv6

RIPng: Configuration

l Activation du processus RIP sur une interface


Router(config-if)# ipv6 rip name enable
– Le paramètre name est le nom de processus de routage RIP.

R1(config)# int fa0/0


R1(config-if)# ipv6 rip RoutageRIP enable
R1(config-if)#

K. EL BAAMRANI – Protocole IPv6


RIPng: Route par défaut
l Propagation de la route par défaut dans RIPng
– La commande ci-dessous est utilisée pour spécifier que
le routeur est à l'origine de l'information par défaut, en
propageant la route statique par défaut dans la mise à
jour de RIP.

ipv6 rip name default-information originate

R3(config)# ipv6 route ::/0 serial 0/1/0


R3(config)# interface serial 0/0/0
R3(config-if)# ipv6 rip RoutageRIP default-information originate

K. EL BAAMRANI – Protocole IPv6

RIPng: Vérification et dépannage


l Pour vérifier et dépanner le routage,
utiliser les commandes:
– show ipv6 route: affiche la table de routage
– show ipv6 protocols: affiche les détails le
protocole de routage actuellement configuré
sur le routeur.
– debug ipv6 rip: permet d’identifier les
problèmes qui affectent les mises à jour
RIPng. Cette commande affiche les mises à
jour du routage RIPng lors de leur envoi et
de leur réception.
K. EL BAAMRANI – Protocole IPv6
RIPng: Vérification et dépannage
R1# show ipv6 protocols
IPv6 Routing Protocol is "connected”
IPv6 Routing Protocol is "rip RoutageRIP"
Interfaces:
Serial0/0/1
Serial0/0/0
FastEthernet0/0
R1# show ipv6 interface fastethernet 0/0
FastEthernet0/0 is up, line protocol is up
IPv6 is enabled, link-local address is FE80::1
No Virtual link-local address(es):
Global unicast address(es):
2001:1::1, subnet is 2001:1::/64
Joined group address(es):
FF02::1
FF02::2
FF02::9
R1# show ipv6 route rip
IPv6 Routing Table - 12 entries
Codes: C - Connected, L - Local, S - Static, R - RIP, B – BGP
O - OSPF intra, OI - OSPF inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2
ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2
D - EIGRP, EX - EIGRP external

R ::/0 [120/2]
via FE80::3, Serial0/0/1
R 2001:3::/64 [120/2]
via FE80::2, Serial0/0/0
K. EL BAAMRANI – Protocole IPv6

RIPng: Vérification et dépannage


l Pour visualiser la base de donnée locale RIB,
utiliser la commande:
show ipv6 rip database

R1# show ipv6 rip database


RIP process ”RoutageRIP", local RIB
2001:2::/64, metric 2, installed
Serial0/0/0/FE80::2, expires in 173 secs
2001:3::/64, metric 2, installed
Serial0/0/1/FE80::3, expires in 176 secs

<output omitted>

K. EL BAAMRANI – Protocole IPv6


EIGRP

K. EL BAAMRANI – Protocole IPv6

EIGRP
l C’est un protocole IGP à vecteur de distance pour
l’IPv6 par la RFC 7868.
l Il est similaire à EIGRP IPv4:
– Utilise le même numéro de protocole (88)
– Utilise l’algorithme dual
– Maintient une table de topologie
– Utilise la même métrique composée de la bande passante,
délai, fiabilité et la charge. Seulement la bande passante et le
délai sont utilisés par défaut.
– Mises à jour sont partielles et envoyées s’il y a un
changement
– Utilise le protocole Hello pour la découverte des voisins
– Utilise un Router-ID de 32 bits (@IPv4) K. EL BAAMRANI – Protocole IPv6
EIGRP
l Contrairement au EIGRP IPv4, EIGRP IPv6:
– annonce les préfixes IPv6 .
– utilise les adresses lien-local pour les next-hop
– Utilise le groupe multicast FF02::10 (au lieu de
224.0.0.10)
– pas de résumé automatique parce que le concept de
l'adressage par classe n'existe pas dans IPv6
– n'exige pas aux routeurs d’être dans le même sous-
réseau IPv6 pour devenir des voisins parce que le
protocole Hello utilise les adresses lien-local.
– Il est configuré sur une interface.
– Par défaut, Il est démarré en mode shutdown
K. EL BAAMRANI – Protocole IPv6

EIGRP: Configuration
l Activer le routage IPv6
ipv6 unicast-routing
l Créer un processus du protocole EIGRP (commande globale)
Router(config)# ipv6 router eigrp as-number
– Le numéro as-number identifie le système autonome EIGRP

R1(config)# ipv6 router eigrp 100


% IPv6 routing not enabled
R1(config)# ipv6 unicast-routing
R1(config)# ipv6 router eigrp 100
R1(config-rtr)#

K. EL BAAMRANI – Protocole IPv6


EIGRP: Configuration
l Définir l’ID de routeur
router(config-rtr)# router-id ip-address
– L'adresse IP dans un format d'adresse IPv4.
– L'ID de routeur doit être unique sur chaque routeur.
– Le processus de sélection d'ID de routeur est le même que EIGRP pour IPV4
l ID de routeur est utilisé s’il est déjà configuré.
l Sinon, l'adresse IPv4 de bouclage la plus élevée est utilisée.
l Sinon, l'adresse IPv4 active la plus élevée est utilisée.

– Si aucune adresse IPv4 n’est pas configuré sur le routeur, le


routeur ne sera pas en mesure de choisir l’ID de routeur EIGRP

R1(config-rtr)# router-id ?
A.B.C.D OSPF router-id in IP address format

R1(config-rtr)# router-id 1.1.1.1


R1(config-rtr)#
K. EL BAAMRANI – Protocole IPv6

EIGRP: Configuration

l Activation du processus EIGRP


Router(config)# ipv6 router eigrp as-number
Router(config)# no shutdown

K. EL BAAMRANI – Protocole IPv6


EIGRP: Configuration
l Activation du processus EIGRP sur une interface

Router(config-if)# ipv6 eigrp as-number


R1(config)# inter fa 0/0
R1(config-if)# ipv6 eigrp 100
R1(config)# inter ser 0/0/0
R1(config-if)# ipv6 eigrp 100
R1(config)# inter ser 0/0/1
R1(config-if)# ipv6 eigrp 100

R1# show ipv6 protocols


IPv6 Routing Protocol is "connected"
IPv6 Routing Protocol is "static"
IPv6 Routing Protocol is "eigrp 100"
EIGRP metric weight K1=1, K2=0, K3=1, K4=0, K5=0
EIGRP maximum hopcount 100
EIGRP maximum metric variance 1
Interfaces:
FastEthernet0/0
Serial0/0/0
Serial0/0/1
K. EL BAAMRANI – Protocole IPv6

EIGRP: Vérification et dépannage

R1# show ipv6 eigrp neighbors


IPv6-EIGRP neighbors for process 100
H Address Interface Hold Uptime SRTT RTO Q Seq
(sec) (ms) Cnt Num
1 Link-local address: Se0/0/1 12 00:05:18 40 240 0 16
FE80::3
0 Link-local address: Se0/0/0 11 00:08:35 31 200 0 8
FE80::2

K. EL BAAMRANI – Protocole IPv6


EIGRP: Vérification et dépannage

R1# show ipv6 eigrp topology


IPv6-EIGRP Topology Table for AS(100)/ID(1.1.1.1)
Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,
r - reply Status, s - sia Status
P 2001:3::/64, 1 successors, FD is 2172416
via FE80::3 (2172416/28160), Serial0/0/1
P 2001:4::/64, 1 successors, FD is 2169856
via Connected, Serial0/0/1
P 2001:5::/64, 1 successors, FD is 2681856
via FE80::3 (2681856/2169856), Serial0/0/1

K. EL BAAMRANI – Protocole IPv6

EIGRP: Vérification et dépannage


R1# show ipv6 route
IPv6 Routing Table - 14 entries
Codes: C - Connected, L - Local, S - Static, R - RIP, B - BGP
<output omitted>
D - EIGRP, EX - EIGRP external
C 2001:1::/64 [0/0]
via ::, FastEthernet0/0
L 2011::1/128 [0/0]
via ::, FastEthernet0/0
D 2001:2::/64 [90/2172416]
via FE80::2, Serial0/0/0
D 2001:3::/64 [90/2172416]
via FE80::3, Serial0/0/1

K. EL BAAMRANI – Protocole IPv6


OSPFv3

K. EL BAAMRANI – Protocole IPv6

OSPFv3
l C’est un protocole IGP d’états des liens pour IPv6.
l Définit par la RFC 5340
l Il est similaire à OSPFv2:
– Utilise le même numéro de protocole (89)
– Utilise la même métrique (coût)
– Utilise les mêmes types de paquets (Hello, LSR, LSU, LSA)
– Même mécanismes de découverte de voisinage et de
formation de contiguïté
– Utilise l’algorithme SPF
– Même Procédure d'élection de DR et BDR
– Router-ID est une adresse de 32 bits (@IPv4).
K. EL BAAMRANI – Protocole IPv6
OSPFv3
l Contrairement au OSPFv2, OSPFv3:
– annonce les préfixes IPv6
– Il est configuré sur une interface.
– Il s'exécute sur un lien au lieu d’un réseau
– Utilise Les adresses IPv6 lien-local comme adresses
sources.
– Utilise les adresses multicasts FF02::5 et FF02::6 (au
lieu de 224.0.0.5 et 224.0.0.6)
– Le DR et BDR sont identifiés par leur ID de routeur et
non par leur adresse IP.
– Il y a maintenant trois différents portées d'inondation des
LSA : portée de lien local, portée de la zone, portée de
l’AS.
K. EL BAAMRANI – Protocole IPv6

OSPFv3: Configuration
l Activer le routage IPv6
ipv6 unicast-routing
l Créer un processus du protocole OSPF (commande globale)
Router(config)# ipv6 router ospf process-id
– Le numéro process-id identifie un processus OSPFv3 local unique dans le
routeur et peut être n'importe quel nombre entier positif.

R1(config)# ipv6 router ospf 10


R1(config-rtr)#?
area OSPF area parameters
auto-cost Calculate OSPF interface cost according to bandwidth
default Set a command to its defaults
default-information Distribution of default information
default-metric Set metric of redistributed routes
discard-route Enable or disable discard-route installation
distance Administrative distance
distribute-list Filter networks in routing updates
ignore Do not complain about specific event

K. EL BAAMRANI – Protocole IPv6


OSPFv3: Configuration

l Définir l’ID de routeur


router(config-rtr)# router-id ip-address
– L'adresse IP dans un format d'adresse IPv4.

– L'ID de routeur doit être unique sur chaque routeur.

– Le processus de sélection d'ID de routeur est la même que OSPFv2.


l ID de routeur est utilisé si il est déjà configuré.

l Sinon, l'adresse IPv4 de bouclage la plus élevée est utilisée.

l Sinon, l'adresse IPv4 active la plus élevée est utilisée.

l Sinon, l'ID de routeur doit être configuré.

R1(config-rtr)# router-id ?
A.B.C.D OSPF router-id in IP address format

R1(config-rtr)# router-id 1.1.1.1


R1(config-rtr)#
K. EL BAAMRANI – Protocole IPv6

OSPFv3: Configuration
l Activer une instance OSPFv3 sur une interface

Router(config-if)# ipv6 ospf process-id area area-id

R1(config)# int fa0/0

R1(config-if)# ipv6 ospf 10 ?


area Set the OSPF area ID

R1(config-if)# ipv6 ospf 10 area 0 ?


instance Set the OSPF instance
<cr>

R1(config-if)# ipv6 ospf 10 area 0


R1(config-if)#

K. EL BAAMRANI – Protocole IPv6


OSPFv3: Vérification et dépannage
R1# show ipv6 route

O 2001:1::/64 [110/782]
via FE80::1, Serial0/0/0
O 2001:2::/64 [110/782]
via FE80::2, Serial0/0/1
<output omitted>

K. EL BAAMRANI – Protocole IPv6

OSPFv3: Vérification et dépannage

Le DR et le BDR sont identifiés par leur ID de routeur et non par leur adresse IP.

R1# show ipv6 ospf neighbor

Neighbor ID Pri State Dead Time Interface ID Interface


3.3.3.3 1 FULL/ - 00:00:38 6 Serial0/0/1
2.2.2.2 1 FULL/ - 00:00:37 6 Serial0/0/0
R1#

K. EL BAAMRANI – Protocole IPv6


OSPFv3: Vérification et dépannage

R1# show ipv6 protocols


IPv6 Routing Protocol is "connected"
IPv6 Routing Protocol is "static"
IPv6 Routing Protocol is "ospf 10"
Interfaces (Area 0):
Serial0/0/1
Serial0/0/0
FastEthernet0/0

R1# show ipv6 interface fastethernet 0/0


FastEthernet0/0 is up, line protocol is up
IPv6 is enabled, link-local address is FE80::1
No Virtual link-local address(es):
Global unicast address(es):
2001:1::1, subnet is 2001:1::/64
Joined group address(es):
FF02::1
FF02::2
FF02::5
FF02::6

K. EL BAAMRANI – Protocole IPv6

Vous aimerez peut-être aussi