Transition IPv4/IPv6 — Coexistence et Migration
Les trois techniques de déploiement IPv6 en environnement IPv4 existant : double pile, tunneling et traduction d'adresses.
Introduction
Le déploiement d'IPv6 est rendu complexe par l'incompatibilité des adresses IPv4 et IPv6. Trois techniques permettent la coexistence et la migration progressive : la double pile, le tunneling et la traduction.
Contexte : En 2024, IPv6 représente ~40% du trafic Internet (source: Google IPv6 Statistics). La migration complète est un processus de long terme.
Technique 1 — Double Pile (Dual Stack)
Chaque équipement dispose simultanément d'une adresse IPv4 et d'une adresse IPv6. Une API unique supporte les deux protocoles.
Schéma :
┌─────────────────────────────────┐
│ Application │
├─────────────────────────────────┤
│ Socket API (IPv4 + IPv6) │
├──────────────┬──────────────────┤
│ IPv4 │ IPv6 │
├──────────────┴──────────────────┤
│ Interface réseau │
└─────────────────────────────────┘Conditions requises :
- Mise à jour de toute l'infrastructure réseau
- Deux types d'adressage (IPv4 + IPv6)
- Deux tables de routage
- Deux systèmes de gestion
Cas d'usage :
- Réseaux universitaires
- Points de présence des FAI
- Infrastructure hybride
# Linux — Vérifier le statut dual stack
ip addr show eth0
# Doit afficher à la fois inet (IPv4) et inet6 (IPv6)
# Désactiver IPv6 si non souhaité (Linux)
sysctl -w net.ipv6.conf.all.disable_ipv6=1
# Cisco — Activer dual stack
R1(config)# interface GigabitEthernet0/0
R1(config-if)# ip address 192.168.1.1 255.255.255.0
R1(config-if)# ipv6 address 2001:DB8:1::1/64
# Vérifier les deux routes
show ip route
show ipv6 route
Technique 2 — Tunneling
Les paquets IPv6 sont encapsulés dans des paquets IPv4 pour traverser un réseau cœur IPv4.
Schéma :
[Hôte IPv6] ─── [Routeur A] ═══════════ Tunnel IPv4 ════════ [Routeur B] ─── [Hôte IPv6]
FE80::A {IPv4 src→dst [IPv6 paquet]} FE80::B
↑ ↑
Double pile Double pile
Conditions :
- Les deux extrémités du tunnel doivent supporter IPv4 et IPv6
- Le réseau cœur peut rester 100% IPv4
Types de tunnels :
| Type | Description |
|---|---|
| 6in4 (RFC 4213) | Tunnel statique manuel, protocole IPv4 n°41 |
| 6to4 (RFC 3056) | Tunnel automatique, préfixe 2002::/16 |
| ISATAP | Tunnel intra-site, Interface ID encode l'adresse IPv4 |
| Teredo | Traverse les NAT, port UDP 3544 |
| GRE | Tunnel générique, supporte IPv6 comme charge utile |
# Linux — Créer un tunnel 6in4 statique
ip tunnel add tun6 mode sit remote 203.0.113.1 local 198.51.100.1 ttl 255
ip link set tun6 up
ip addr add 2001:DB8::1/64 dev tun6
ip -6 route add ::/0 dev tun6
# Vérifier le tunnel
ip tunnel show
ip -6 route show
# Cisco — Tunnel 6in4
R1(config)# interface Tunnel0
R1(config-if)# tunnel source 198.51.100.1
R1(config-if)# tunnel destination 203.0.113.1
R1(config-if)# tunnel mode ipv6ip
R1(config-if)# ipv6 address 2001:DB8::1/64Technique 3 — Traduction IPv4/IPv6
Convertit les paquets entre IPv4 et IPv6 à la frontière du réseau. Deux approches :
3a. Relais au niveau Transport (sans changement de couche réseau)
[Hôte IPv4] ──► [Serveur Proxy Dual Stack] ──► [Hôte IPv6]
Connexion TCP/IPv4 Connexion TCP/IPv6Un serveur dédié avec double pile établit deux connexions séparées au niveau transport.
3b. Traduction Couche Réseau (NAT64 / DNS64)
[Hôte IPv6 uniquement] ──DNS64──► résolution IPv4 → adresse synthétique IPv6
──NAT64──► [Hôte IPv4 uniquement]| Mécanisme | Description |
|---|---|
| NAT64 (RFC 6146) | Traduit les paquets IPv6 ↔ IPv4 |
| DNS64 (RFC 6147) | Synthétise des adresses IPv6 depuis des enregistrements A (IPv4) |
# Vérifier la connectivité via NAT64 (le préfixe bien connu est 64:FF9B::/96)
ping6 64:ff9b::8.8.8.8
# 64:ff9b:: + 8.8.8.8 = accès à 8.8.8.8 via NAT64
# Tester DNS64
dig AAAA google.com @dns64-server
# Doit retourner une adresse AAAA synthétique même si google.com n'a qu'un A record
Comparatif des Techniques
| Critère | Double Pile | Tunneling | Traduction |
|---|---|---|---|
| Complexité | Élevée (infra complète) | Moyenne | Faible |
| Performance | Native | Surcharge encapsulation | Surcharge traduction |
| Compatibilité | Totale | IPv6 à IPv6 uniquement | IPv6 ↔ IPv4 |
| Infrastructure | Tout double stack | Cœur IPv4, périphérie dual | Cœur quelconque |
| Cas typique | FAI, université | Réseau d'entreprise | FAI mobile (4G/5G) |
Progression du Déploiement IPv6
Phase 1 : Dual Stack sur périphérie + Tunneling au cœur
Phase 2 : Dual Stack généralisé
Phase 3 : IPv6-only + NAT64 pour les serveurs IPv4 légacy
Phase 4 : IPv6 natif complet (à venir)
Voir Aussi
- Introduction à IPv6 — pourquoi la transition est nécessaire
- Types d'adresses IPv6
- En-têtes d'Extension IPv6 — ESP utilisé dans les tunnels IPsec