IPv6
Principes et mise en oeuvre
2e édition
Chapitre 1
Introduction
1. Objectifs du livre17
2. Public visé18
3. Connaissances préalables recommandées18
4. Organisation de l'ouvrage19
5. Conventions d'écriture22
6. Commentaires et suggestions23
Chapitre 2
Pourquoi IPv6 ?
1. Objectifs du chapitre25
2. Les limites d'IPv426
2.1 Épuisement des adresses disponibles26
2.1.1 L'histoire26
2.1.2 La situation actuelle27
2.1.3 Les attributions d'adresses IPv4 en situation de pénurie28
2.1.4 Mesures appliquées ou applicables pour limiter la consommation d'adresses IPv4 publiques29
2.1.5 Récupération, revente, échange d'adresses IPv4 publiques29
2.2 Accès direct aux périphériques limité30
2.2.1 Difficultés accrues pour la voix sur IP30
2.2.2 Difficultés accrues pour la visioconférence31
2.2.3 Limitations sur les accès aux serveurs web internes pour les particuliers32
2.2.4 Difficultés pour établir des VPN avec de la translation33
2.2.5 Difficultés d'utiliser des communications cryptées dans les applications33
2.3 Conflits d'adressages sur les adresses privées34
2.3.1 Conflits d'adressages privés lors de la mise en place de VPN entre sites34
2.3.2 Conflits d'adressages privés lors de la fusion de réseaux35
2.3.3 Conflits d'adressages privés dans les VPN fournis par les opérateurs35
2.4 Broadcasts intempestifs et inefficaces35
2.5 IPv4 n'est plus le protocole de travail par défaut pour certains OS (par exemple Windows)36
3. Les apports d'IPv637
4. Pour aller plus loin39
Chapitre 3
Protocole IPv6 et adressage
1. Objectifs du chapitre41
2. Syntaxe des adresses IPv641
2.1 Suppression des zéros de tête42
2.2 Utilisation d'un double42
2.3 Les préfixes en IPv643
2.4 Recommandations d'écriture pour faciliter le traitement des adresses IPv644
3. Types d'adresses IPv645
3.1 Généralités45
3.2 Adresses Unicast46
3.2.1 Adresse de type Link-Local Unicast47
3.2.2 Adresses de type Global Unicast48
3.2.3 Adresses de type Unique Local Unicast49
3.2.4 Adresses de type Site-local Unicast54
3.3 Adresses multicast54
3.3.1 Syntaxe55
3.3.2 Règles56
3.3.3 Exemples56
3.3.4 Cas particulier : adresses sollicited-node57
3.4 Adresses Anycast59
3.5 Adresses spécifiques60
3.5.1 Loopback60
3.5.2 Adresse non spécifiée (unspecified address)60
3.6 Adresses de compatibilité IPv461
3.6.1 IPv4-Compatible IPv6 address61
3.6.2 IPv4-Mapped IPv6 address61
3.6.3 ISATAP address61
3.6.4 Teredo address63
4. Pour aller plus loin65
4.1 Un outil : ipv6calc (Linux)65
4.2 Quelques documents66
4.3 Quelques liens66
Chapitre 4
Structure des paquets IPv6
1. Objectifs du chapitre69
2. Structure des paquets IPv669
3. Présentation des principaux headers (en-têtes)73
3.1 Header Hop-by-Hop76
3.2 Header Destination Option77
3.3 Header Routing78
3.4 Header Fragment79
3.5 Headers AH et ESP79
3.6 Headers Mobility79
3.7 Autres headers80
4. Fragmentation des paquets80
5. Exemples de captures en IPv685
5.1 Exemples avec paquets simples85
5.2 Exemples avec un ou plusieurs en-têtes89
5.3 Exemple de MTU discovery90
6. Pour aller plus loin93
6.1 Quelques documents93
6.2 Quelques liens93
Chapitre 5
Premières mises en oeuvre d'IPv6
1. Objectifs du chapitre95
2. Systèmes Linux96
2.1 Debian 8.6 Jessie (noyau 3.16.x) ou Ubuntu96
2.2 CentOS 7 (noyau 3.10), RedHat ou Fedora103
2.3 FreeBSD version 10106
3. Systèmes Windows111
3.1 Windows 7, 8 et 10111
3.2 Windows Server 2008 et 2012112
3.3 Les commandes IPv6 disponibles sous Windows (sauf XP)113
3.3.1 Commandes basées sur netsh113
3.3.2 Commandes IPv6 en PowerShell (Windows 8, 10 et 2012)119
3.3.3 Outils ping et tracert123
3.4 Anciens systèmes Windows124
3.4.1 Windows XP124
3.4.2 Windows Vista125
3.4.3 Windows Server 2003125
4. Système Mac OS125
5. Routeurs et switchs de niveau 3129
5.1 Routeurs Cisco (exemples sur des 881 et 1921)129
5.2 Switchs Cisco (exemples basés sur des 2960 et 3560)135
6. Firewalls136
6.1 Cisco ASA136
6.1.1 Interface CLI136
6.1.2 Interface graphique139
6.2 WatchGuard144
6.3 ZYWALL147
7. Pour aller plus loin156
Chapitre 6
Autoconfiguration en mode autonome (stateless)
1. Objectifs du chapitre157
2. Généralités158
3. Fonctionnement158
3.1 Calcul de l'adresse158
3.2 Vérification de l'unicité de l'adresse (DAD ou Duplicate Address Detection)164
3.2.1 Envoi d'un message de type Neighbor Solicitation164
3.2.2 Réponse reçue si adresse déjà existante166
3.3 Mise en oeuvre168
3.3.1 Postes168
3.3.2 Routeurs Cisco170
3.3.3 Cisco ASA171
4. Avantages et inconvénients de l'autoconfiguration autonome172
4.1 Avantages172
4.2 Inconvénients et risques173
5. Diffusions effectuées par les routeurs173
5.1 Fonctionnement173
5.2 Mise en oeuvre des annonces de routeurs178
5.2.1 Cisco ASA178
5.2.2 Routeurs Cisco182
5.2.3 Autres matériels (Zyxel, WatchGuard)184
5.2.4 Systèmes Linux187
5.3 Utilisation des durées de vie pour renumérotation d'un réseau187
6. Découverte et gestion des voisins (Neighbor Discovery)190
6.1 Mécanisme190
6.2 Caches190
6.2.1 Neighbor cache190
6.2.2 Destination cache191
6.3 Commandes permettant la gestion des voisins191
6.3.1 Debian191
6.3.2 BSD192
6.3.3 Windows193
6.3.4 Cisco196
7. Sécurisation des mécanismes196
8. Pour aller plus loin197
8.1 Les principaux RFC197
8.2 Des liens198
Chapitre 7
Autoconfiguration en mode stateful (DHCP)
1. Objectifs du chapitre199
2. Modification de la méthode de configuration des postes199
2.1 Les drapeaux de configuration200
2.1.1 Drapeau M (Managed address configuration)201
2.1.2 Drapeau O (Other configuration)201
2.1.3 Drapeau L (On-link)202
2.1.4 Drapeau A (Autonomous address configuration)202
2.2 Paramétrage des drapeaux avec des routeurs Cisco202
2.2.1 Positionnement de l'autoconfiguration en stateful total202
2.2.2 Paramétrage partiel en stateless pour les adresses et en stateful pour le reste203
2.2.3 Paramétrage en stateless total204
2.3 Paramétrage des drapeaux avec un firewall Cisco ASA204
2.4 Paramétrage des drapeaux avec un firewall WatchGuard205
3. Fonctionnement du DHCPv6207
4. Différences avec DHCPv4224
4.1 Relais DHCP224
4.2 Reconfiguration de paramètres224
4.3 Mise en oeuvre225
4.3.1 Sur les serveurs225
4.3.2 Sur les clients239
5. Pour aller plus loin244
5.1 Les principaux RFC244
5.2 Des liens244
Chapitre 8
ICMPv6
1. Objectifs du chapitre245
2. Format des messages 246
3. Principaux types246
4. Fonction et format des principaux messages248
4.1 Type 1 - Destination Unreachable248
4.1.1 Code 0 - No route to destination249
4.1.2 Code 1 - Communication administratively prohibited249
4.1.3 Code 2 - Beyond scope of source address249
4.1.4 Code 3 - Address unreachable249
4.1.5 Code 4 - Port unreachable250
4.1.6 Code 5 - Source address failed ingress/egress policy250
4.1.7 Code 6 - Reject route to destination250
4.2 Type 2 - Packet Too Big254
4.3 Type 3 - Time Exceeded255
4.4 Type 4 - Parameter Problem258
4.5 Type 128 - Echo Request258
4.6 Type 129 - Echo Reply260
4.7 Type 130 - Multicast Listener Query261
4.8 Type 131 - Multicast Listener Report262
4.9 Type 132 - Multicast Listener Done262
4.10 Type 133 - Router Solicitation262
4.11 Type 134 - Router Advertisement263
4.12 Type 135 - Neighbor Solicitation264
4.13 Type 136 - Neighbor Advertisement265
4.14 Type 137 - Redirect Message265
4.15 Type 143 - Multicast Listener Report v2265
4.16 Type 151 - Multicast Router Advertisement265
4.17 Type 152 - Multicast Router Solicitation265
4.18 Type 153 - Multicast Router Termination266
5. Multicast Listener Discovery (MLD)266
5.1 Adhésion à un groupe266
5.2 Élection du routeur Querier268
5.3 Vérification des adhésions à un groupe269
5.4 Abandon par un noeud d'un groupe de multicast270
6. Multicast Router Discovery (MRD)270
7. Mécanisme de Path MTU Discovery271
8. Pour aller plus loin271
Chapitre 9
DNS et LLMNR
1. Objectifs du chapitre273
2. Les DNS et IPv6273
3. Mécanisme Happy EyeBalls (Windows 8, 10 et Server 2012)278
4. Le protocole de résolution locale LLMNR (Link Local Multicast Name Resolution)279
5. En complément283
5.1 Quelques documents283
5.2 Quelques liens283
5.3 Quelques fichiers283
Chapitre 10
Cohabitation IPv4-IPv6
1. Objectifs du chapitre285
2. Dual-stack IPv4-IPv6286
2.1 Choix du protocole de communication287
2.2 Mise en oeuvre288
2.2.1 Sous Windows288
2.2.2 Sous Mac OS290
2.2.3 Sous Linux291
2.2.4 Sur un routeur Cisco292
3. Tunnels IPv6-IPv4292
3.1 Tunnel avec encapsulation dans IP - protocole 41293
3.1.1 Principes de l'encapsulation293
3.1.2 Tunnel statique294
3.1.3 Tunnel 6 to 4 (6to4)296
3.1.4 ISATAP (Intra-Site Automatic Tunnel Protocol)300
3.1.5 6RD (IPv6 Rapid Deployment)302
3.2 Tunnel avec encapsulation dans UDP IPv4303
3.2.1 Principe303
3.2.2 Teredo304
3.3 Tunnel Brokers306
3.3.1 Principe306
3.3.2 Tunnel Setup Protocol (TSP)307
3.3.3 SixXS307
3.3.4 HE307
3.4 Exemples de mises en oeuvre308
3.4.1 Tunnel statique sur routeurs Cisco308
3.4.2 6to4 sur routeurs Cisco311
3.4.3 ISATAP sur routeurs Cisco314
3.4.4 Connexion avec un tunnel Broker315
4. Translations d'adresse325
4.1 NAT-PT et NAPT-PT326
4.2 NAT64 - DNS64326
5. 6PE329
6. ALG (Application Layer Gateway ou passerelle applicative)329
7. Comment faire un choix ?330
8. Pour le futur : tunnels IPv4-IPv6331
8.1 Le problème331
8.2 Les principales solutions332
8.2.1 Tunnel statique (4to6)332
8.2.2 DSTM (Dual Stack Transition Mechanism)332
8.2.3 TSP332
8.2.4 464XLAT333
8.2.5 IP-HTTPS333
9. Pour aller plus loin333
9.1 Des RFC333
9.2 Quelques liens334
9.3 Brokers les plus connus334
Chapitre 11
IPv6 et le routage
1. Objectifs du chapitre335
2. Généralités335
2.1 Protocoles disponibles335
2.2 Choix du chemin336
2.3 Redirections ICMP337
2.4 Routage par la source (Source Routing)337
3. Visualisation des routes338
3.1 Sur des serveurs Linux338
3.2 Sur des serveurs Windows339
3.3 Sur des routeurs Cisco342
4. Routage statique - Affectation de routes342
4.1 Sur des serveurs Linux342
4.2 Sur des serveurs Windows342
4.3 Sur des routeurs Cisco343
4.4 Limites et contraintes du routage statique343
5. Routages dynamiques343
5.1 RIPng (RIP next generation)343
5.2 OSPFv3347
5.3 IS-IS350
5.4 BGP4+350
6. Routage du premier saut350
7. Pour aller plus loin353
7.1 Quelques documents353
7.2 Quelques liens353
7.3 Fichiers en téléchargement353
Chapitre 12
IPv6 et la sécurité
1. Objectifs du chapitre355
2. IPsec (IP Security)355
2.1 Description356
2.1.1 Authentication Header (AH)357
2.1.2 ESP (Encapsulating Security Payload)360
2.1.3 Identification des paramètres de sécurité d'un tunnel362
2.1.4 Contenu d'une SAD ou SADB (Security Association Database)363
2.1.5 La négociation des éléments de sécurité - IKE364
2.2 Exemple de mise en oeuvre sous Linux365
2.3 Mise en oeuvre avec des routeurs Cisco368
3. Adressage temporaire et adressage aléatoire373
4. Sécurisation des échanges376
4.1 Découverte des voisins377
4.1.1 Les menaces377
4.1.2 Les parades377
4.2 Annonces de routeurs378
4.2.1 Les menaces378
4.2.2 Les parades378
4.3 Protocoles de routage dynamique379
4.3.1 Les menaces379
4.3.2 Les parades379
4.4 Echanges avec réseaux extérieurs379
5. Pour aller plus loin380
5.1 Un ouvrage pour approfondir IPsec380
5.2 Quelques documents de référence380
5.3 Quelques liens380
Chapitre 13
IPv6 et Qualité de Service (QoS)
1. Objectifs du chapitre381
2. Système de type Integrated Services381
3. Système de type Differentiated Services ou Diffserv384
4. Autres conséquences d'IPv6 sur la QoS385
5. Pour aller plus loin385
5.1 Quelques documents385
5.2 Quelques liens385
5.3 Fichiers en téléchargement386
Chapitre 14
IPv6 et les applications
1. Objectifs du chapitre387
2. Principales applications388
2.1 FTP389
2.2 Web391
2.2.1 Côté serveur391
2.2.2 Côté navigateur393
2.3 Telnet393
2.4 SSH393
2.5 Messagerie394
2.5.1 Côté serveur394
2.5.2 Côté client396
3. Traitement des adresses IP par les applications396
4. Pour aller plus loin397
Chapitre 15
IPv6 et Mobilité (Mobile IPv6)
1. Objectifs du chapitre399
2. Principes de fonctionnement400
2.1 Mode Tunnel Bidirectionnel (Bidirectional Tunneling)400
2.2 Mode Optimisation de Routes (Route Optimization)403
2.3 Gestion des changements de lieux ultérieurs405
2.3.1 Déplacement vers un autre lieu temporaire405
2.3.2 Retour à la maison405
2.4 Autres fonctionnalités406
3. Un exemple de mise en oeuvre406
4. Pour aller plus loin411
4.1 Quelques documents411
4.2 Quelques liens411
Chapitre 16
IPv6 : état des lieux
1. Objectifs du chapitre413
2. Déploiement d'IPv6 dans les réseaux413
2.1 Opérateurs413
2.2 Hébergeurs415
2.3 Réseaux nationaux de la recherche416
3. Disponibilité des fonctions IPv6 dans les matériels et logiciels417
3.1 Systèmes d'exploitation417
3.2 Matériels417
3.2.1 Routeurs et commutateurs417
3.2.2 Firewalls/UTM418
3.2.3 Imprimantes418
3.3 Applications418
4. Préparation des personnes419
Chapitre 17
IPv6 : freins et perspectives
1. Objectifs du chapitre421
2. Les freins au déploiement d'IPv6 dans nos réseaux421
2.1 Coût du déploiement422
2.1.1 Humain422
2.1.2 Matériel422
2.2 Indifférence à la technologie IPv6422
2.3 Indisponibilité de matériels compatibles IPv6423
2.4 Indisponibilité de réseaux WAN compatibles IPv6423
2.5 Applicatifs non compatibles424
2.6 Deux protocoles IP : deux fois plus de travail424
2.7 Manques de connaissances techniques IPv6424
3. Espoirs de développement425
3.1 Besoin de connectivité425
3.2 Besoin de mobilité425
3.3 Besoin de diffusion426
3.4 Effet d'entraînement d'autres pays426
4. Pour aller plus loin426
Annexes
1. Introduction427
2. Tables récapitulatives427
2.1 Principaux préfixes par type d'adresses427
2.2 Principaux préfixes attribués ou réservés428
2.3 Schéma du paquet IPv6429
2.4 Principaux en-têtes d'extension (Extension Headers)430
2.5 Dessin du paquet IPv4432
2.6 Messages DHCP433
2.7 Messages ICMPv6434
2.8 Protocoles436
3. Multicast437
3.1 Scope437
3.2 Adresses réservées437
4. IPsec438
4.1 AH438
4.2 ESP439
4.3 Un livre440
5. Récapitulatif IPv6 et Cisco ASA441
6. Principaux RFC443
7. Des liens444
8. Quelques outils445
8.1 Outils en ligne445
8.2 Outils autonomes445
9. Fichiers en téléchargement446
Index447