IPv6

difficulthopefulΛογισμικό & κατασκευή λογ/κού

2 Ιουλ 2012 (πριν από 4 χρόνια και 11 μήνες)

479 εμφανίσεις

1
IPv6
Histoire

Années 90:

Croissance exponentielle

Risque de pénurie d'adresses

Prévision d'un épuisement de l'espace d'adressage

Arrêt de la croissance

en 1994 !
 Initialement

Entre 2008 et 2018

En Janvier 1996
Pourcentage d'adresses allouées
Class A - 100.00%
Class B - 61.95%
Class C - 36.44%
Problème sur la taille de l'espace d'adressage

Mesures d'urgences

Affectation exceptionnelle de la classe B

Utilisation de la classe C

CIDR (Classless Internet Domain Routing)
[RFC 1519]

Adresse réseau = préfixe+ longueur de préfixe

Moins de gaspillages d'adresses

Agrégation

Autorisation d'utilisation de plans d'adressages privés

Déploiement de NAT (Network Address Translation)

Architecture similaire au pare-feu

Ces mesures donnent du temps pour développer un nouvelle
version de IP : IPv6
Espace d'adressage public Espace d'adressage privé
Internet
Entreprise
10.1.1.1
Proxy: 193.1.1.1
128.1.2.3
Proxy NAT
Internet
entreprise
128.1.2.3
10.1.1.1
10.1.1.1->128.1.2.3
10.1.1.1 <=> 193.1.1.1
193.1.1.1-> 128.1.2.3
Official address pool
Network Address Translation
128.1.2.3->193.1.1.1
128.1.2.3->10.1.1.1
NAT

Avantages:

Réduit le besoin
d'adresses globales

Facilite le déploiement
de plan privé

Transparent aux
applications

Securité? : filtrage

Inconvénients:

Sensible au facteur d'échelle

Introduit un état dans le
réseau:
 Redémarrage
 Changement de route

Traitement complexe

En défaut par rapport à une
approche"peer -to-peer"
 Frein aux nouvelles
applications

Sécurité? :authentification+
chiffrement
2
Pourquoi un Nouveau Protocole IP ?

Une solution pour les problèmes de croissance:

Actuellement la taille de l'Internet double tous les 14 mois
 épuisement des adresses IP
 explosion de la taille des tables de routage

Autres motivations

Accélérer le traitement du datagramme

Prendre en compte de nouvelles contraintes
 Faciliter la QoS
 Routage vers le meilleur serveur parmi un ensemble de serveurs en miroir

Pour de nouveaux réseaux
 Réseaux mobiles
 Réseaux personnels, domotique …

Ajouter de nouvelles fonctionnalités
 Autoconfiguration
 Multicast
 Sécurité
 Mobilité
Cahier des charges

Adresser un espace (beaucoup) plus grand

10 E+9 réseaux au minimum

Routage plus efficace

Conserver les principes qui ont fait le succès de IP

Corriger les défauts de la version actuelle

Résoudre les problèmes qui vont devenir critiques

Applications temps réel

Multipoint

Sécurité

...
Croissance des tables de routage
h
t
t
p
:
/
/
w
w
w
.
e
m
p
l
o
y
e
e
s
.
o
r
g
/
~
t
b
a
t
e
s
/
c
i
d
r
.
h
i
s
t
.
p
l
o
t
.
h
t
m
l
IPv6: Quelques Caractéristiques

Adresse plus longue : 128 bits
(16 octets)

Adressage de 340 x 10 e36
équipements

Adressage hiérarchique

Peut contenir l'adresse MAC
(IEEE802)

3 types d'adresses :

Unicast

Multicast

Anycast
plus d'adresse de broadcast

En-tête simplifié

Taille fixe de l'en-tête: 40 octets
 Augmente l'efficacité de
commutation des équipements de
routage

Nombre de champs réduit de
moitié
 Fonctions liées à l'acheminement

Extension de l'en-tête pour les
options

Les options IPv6 sont placées
dans des en-têtes séparés

intercalées entre l'en-tête IPv6 et
l'en-tête de la couche transport

La longueur des options n'est plus
limitée à 40 octets

introduction aisée de nouvelles
fonctionnalités
IPv6: Nouvelles fonctionnalités

Autoconfiguration: "plug and
play"

Gestion de la mobilité

Renumérotation facile si
changement de prestataire

Serveurs d'adresses (DHCP :
Dynamic Host Configuration
Protocol)

SAA : Stateless Address
Autoconfiguration (RFC 1971)

Multipoint (Multicast) inclus
de base

Pour les routeurs et les clients

"scope" = meilleur routage des
paquets multicast
=> Plus besoin de Mbone ni de
mrouted

"Marquage" des flux
particuliers : (
Flow Label
)

Traitements particuliers
 Applications temps réel
 Qualité de Service (QoS)

Sécurité

Authentification

Confidentialité

Routage à partir de la source

Source Demand Routing
Protocol
Ver.
fragment
Identifier
Total Length
flags
20 Octets
32 bits
ToS
TTL
Protocol
Checksum
Source Address
Destination Address
Checksum
IPv4 : En-tête

Total Length (TL) --> Payload Length

Alignement 32 --> 64 bits

Fragmentation dans les hôtes
Options
IHL
Options
IHL
fragment
Identifier
flags
3
40 octets
Vers Class Flow Label
Payload Length Next Header Hop Limit
Source Address
Destination Address
4 bits
16 bits 8 bits
(128 bits)
(128 bits)
32 bits
8 bits
IPv6 : En-tête
5 mots de 64 bits
IPv6: En-têtes optionnelles

Hop-by-Hop Header

Destination Header

Routing Header

Fragmentation Header

Authentification Header

Encapsulating Security Payload
IPv6 Header
Next Header
= Routing
Routing Header
Next Header
= Fragment
TCP Header
+ DATA
Fragment Header
Next Header
= TCP
IPv6 Header
Next Header
= Routing
Routing
Header
Next Header
= TCP
IPv6
Header
Next
Header
= TCP
TCP Header
+ DATA
TCP Header
+ DATA
IPv6: Extensions
En-têtes optionnelles : Ordre
IPv6
Hop by hop
Destination
Routing
Fragmentation
Authentication
Security
Destination
Upper Layer
Traîté par chaque routeur
Traîté par les routeurs dans l'extension de routage
Liste des routeurs à traverser
Traîté par la destination
Après réassemblage du paquet
Chiffrer le contenu de l'information restante
Traîté seulement par la destination
ICMPv6
[RFC 2463]

Nouvelle version de ICMP

Distinction des procédures et du format des messages

Procédures de test et d'erreurs

Message ICMP : fonctionnalités

Reprises :
 Signalement des erreurs
 Test
 Configuration automatique

Ajouts:
 multicast group management (ex IGMP)
 Résolution d'adresse (ex ARP)
Nouvelles Procédures

Neighbor Discovery (ND) (RFC 2461)

Résolution d'adresses

Détection d'inaccessibilité (NUD)

Autoconfiguration

Stateless Address Autoconfiguration (RFC 2462)

Stateful Address Autoconfiguration
 DHCPv6 : Dynamic Host Configuration Protocol (draft)

Path MTU discovery (pMTU) (RFC 1981)

MTU : Taille maximale du paquet (sans fragmentation)
 Efficacité de transfert : E/L

PMTU : minimum des MTU des liens traversés
 Plus de fragmentation dans les routeurs
 Par défaut : 1280 octets
4
Adressage
Plan d'Adressage IPv6

Contraintes

Flexible, pour suivre l'évolution du réseau

Faciliter le routage en réduisant la table de routage

Choix

Extension des types d'adresses :
 Mode de communication
 Portée de l'adresse
 Pour la transition

Principe CIDR (préfixe / longueur du préfixe)

Représentation hexadécimale

Les interfaces ont plusieurs adresses IPv6
Représentation des adresses
[RFC 2373]

Format de base (16 octets)

FEDC:BA98:7654:3210:FEDC:BA98:7654:3210

Format compressé

FF01:0:0:0:0:0:0:43 => FF01::43

FE80:0:0:0:0:0:0:0 => FE80::

0:0:0:0:0:0:0:134.157.4.16=> ::134.157.4.16
IPv6 : Préfixes

La notion de préfixe développée par CIDR est
reprise:
Adresse IPv6/ longueur du préfixe
Exemples :
5F00::/8
5F06:B500::/32

On peut indiquer qu’une adresse fait partie d’un
réseau dont le préfixe est de longueur déterminée
(netmask)
5F06:B500:8158:1A00::1/80
Adresses IPv6

Loopback

Link local

Site local

Global

6bone : 3FFE…

Official : 200x…

Pour la migration v4/v6

IPv4 mapped

IPv4 compatible

6to4

Unicast

Multicast

Anycast
Espace d'Adressage IPv6
Reserved 0000 0000 1/256
Unassigned 0000 0001 1/256
Reserved for NSAP Allocation 0000 001 1/128
Unassigned 0000 010 1/128
Unassigned 0000 011 1/128
Unassigned 0000 1 1/32
Unassigned 0001 1/16
Aggregatable Global Unicast Addresses 001 1/8 [RFC2374]
Unassigned 010 1/8
Unassigned 011 1/8
Unassigned 100 1/8
Unassigned 101 1/8
Unassigned 110 1/8
Unassigned 1110 1/16
Unassigned 1111 0 1/32
Unassigned 1111 10 1/64
Unassigned 1111 110 1/128
Unassigned 1111 1110 0 1/512
Link-Local Unicast Addresses 1111 1110 10 1/1024
Site-Local Unicast Addresses 1111 1110 11 1/1024
Multicast Addresses 1111 1111 1/256
5
Adresse Unicast

Communication N vers 1

Adressage hiérarchique

Localisation du réseau

Identification de la machine dans le réseau

Interface ID :
 A partir de l'adresse MAC : EUI -64
 Aléatoire
 Autres ...
64 128- 64
Subnet prefix
Interface ID
24 40
Numéro de série
Constructeur
u g
0 7 8
1 7 8
1 7 8
1
1
0
0
vendor 0XFFFE
vendor 0XFFFE
serial number
serial number
24 bits
24 bits
24 bits
24 bits
u g vendor
u g vendor
serial number
serial number
24 bits
24 bits
16 bits
16 bits
24
24
bits
bits
u g vendor 0xFFFE
u g vendor 0xFFFE
serial number
serial number
Identifiant EUI-64

Bits :

U : universel (unique)

G : unicast ou multicast

Constitution à partir d'une adresse IEEE 802
TLA
3 13 8 24 16 64
001
res Interface IDNLA SLA
(EUI-64)
48 bits 80 bits
Public Topology Private Topology
TLA : Top Level Aggregator => (/16)
NLA : Next Level Aggregator => (/48)
SLA : Site Level Aggregator => (/64)
Aggregatable Global Unicast
RFC 2374

Préfixe : 2000::/3
Topologie du réseau
TLA
NLA
SLA
001
res Interface IDNLA* SLA*
TLA
Sub TLA
3 13 13 6 13 16 64
Déploiement
RFC 2450

Attribution d'adresses par les autorités régionales (RIR)

Plan d'adressage des RIR

Depuis Juillet 99
29
35
0000 000X XXXX X 2001:0000::/29 - 2001:01F8::/29 IANA
0000 001X XXXX X 2001:0200::/29 - 2001:03F8::/29 APNIC
0000 010X XXXX X 2001:0400::/29 - 2001:05F8::/29 ARIN
0000 011X XXXX X 2001:0600::/29 - 2001:07F8::/29 RIPE-NCC
0 0000 0000 0000 0x0000 2000::/16 Reserved
0 0000 0000 0001 0x0001 2001::/16 Sub-TLA Assignments
0 0000 0000 0010 0x0002 2002::/16 "6to4"
1 1111 1111 1110 0x1FFE 3FFE::/16 6bone Testing
1 1111 1111 1111 0x1FFF 3FFF::/16 Reserved
Exemple : Renater

sTLA alloué: 2001:0660::/35
2001:0660:xxx- ---- ---- ----::/48
Point accès
Sites
/35
/41
2001:0660::/35
2001:0660:0080::/41 NIO Renater-2
2001:0660:0100::/41 Ile de France
2001:0660:0180::/41 Grenoble
2001:0660:0200::/41 Strasbourg
2001:0660:0280::/41 Rennes
2001:0660:1000::/41 INRIA
2001:0660:1080::/41 FT R&D
6
001
Interface IDpNLA SLA
1FFE
pTLA
3 13 x 32-x 16 64
Adresse de Test
RFC 2371

TLA du 6Bone: 0X1FFE

Préfixe du 6Bone: 3FFE::/16

Attribution de pTLA par ngtrans WG

http://www.6bone.net/6bone_pTLA_list.html.

G6/FR : 3FFE:0300::/24
1111111011
00...00
Interface ID
10

Adresse à usage local : link local

Non routable

Adresse à usage local : site local
38 64
Subnet ID
16
FE80
FEC0
10 54 64
1111111010
Interface ID
00...00
Adresse locale
000000 ................................ 0000000
0000
IPv4 Address
80 bits 16 bits 32 bits
000000 ................................ 0000000
FFFF
IPv4 Address
Plan de Transition

Adresse compatible IPv4

Communication IPV6 par tunnel automatique

Adresse IPv4 imbriquée (mapped)
11111111
Flag Scope
Group ID
FF
4 4
Flag:0 0 0 T
T = 0
permanente
T = 1
temporaire
Scope
1 :
Node local
2 :
Link local
5 :
Site local
8 :
Org. local
E :
Global
8
112
Adresse Multicast

Groupes ID prédéfinis

1 noeuds

2 routeurs

9 routeurs utilisant RIP

Multicast sollicité

FF02::1:FF00:0/104

24 derniers bits extraits de l'adresse
unicast IPv6

Pour la résolution d'adresses IPv6
Remarque :
Les @ multicast sont
traduites en @ MAC et
mises dans la carte
Ethernet. (RFC 2464)
Relation @ MAC et IPv6
Adresse Particulière

Adresse de bouclage :

0:0:0:0:0:0:0:1 => ::1

Adresse indéterminée:

0:0:0:0:0:0:0:0 => ::

Ne peut jamais être adresse destination
7
Nouvelles Procédures
Neighbor Discovery

Fonctionnalités

Résolution d'adresses

Détection d'inaccessibilité
(NUD)

Configuration
 Localisation des routeurs
 Découverte des préfixes
 Détection des adresses
dupliquées (DAD)
 Indication de redirection

Configuration pour le routage

Router Solicitation (RS)

Router Advertisement (RA)

la liste des préfixes utilisés sur le
lien local (autoconf)

une valeur possible de Max Hop
Limit (TTL de IPv4)

et la valeur du link MTU

Redirect

Echanges entre voisins

Neighbor Solicitation (NS)

Neighbor Advertisement (NA)
Résolution d'adresse

Principe

Requête avec l'adresse de multicast sollicité

Réponse en unicast
MAC
45:..:12
33:33:FF:..:12
IP
FE80::45.. FFFE..12
FF02::1:FF..12
MAC
67:..:9A
33:33:FF:..:9A
IP
FE80::67.. FFFE..9A
FF02::1:FF..9A
NS (sa =FE80::45.. FFFE..12, da= FF02::1:FF..9A)
NA (sa =FE80::67.. FFFE..9A, da= FE80::45.. FFFE..12)
Auto-configuration

Rendre les hôtes "plug & play"

Apprentissage automatique

Au démarrage, le client démande ses
paramètres:

Préfixe

Routeur par défaut

Nom de domaine



Les routeurs doivent être configurés
Autoconfiguration sans état
(stateless)

IPv6 Stateless Address Autoconfiguration
 ne s'applique pas aux routeurs

Permet à une machine de fabriquer une
adresse globale à partir de :

son adresse MAC

des annonces de préfixes faites par les routeurs
Routeur
Machine
Internet
2. RS
3. RA
4. DHCP
1. NS
Auto-configuration
Procédure DAD
0. Création d'une adresse locale au lien
8
Transition
De IPv4 vers IPv6

Objectif

Connectivité globale quelle que soit la version d'IP

Problème de la coexistence des 2 protocoles

Tous les routeurs ne passeront pas en même temps en IPv6

Pas de jour J

Fin de IPv4 : pas pour tout de suite (jamais ?)

Introduction progressive
 A commencé – expérimentale et commerciale
tempsT0
IPv4
T1
IPv4 & IPv6
T2
IPv6
complexité
Temps
IPv4
IPv6
Motivations à la migration

Pénurie d'adresses

Nouveaux réseaux
(pays, téléphonie
mobile, domotique, …)

Configuration
automatique

Nouveaux services sur
la base du peer-to-peer

Moins de mécanismes de
transition

Moins de réseaux IPv4

Plus d'applications IPv6
Objectifs de la transition

Besoins

Construction d'une
infrastructure IPv6

Accès à un réseau IPv6

Production de trafic IPv6

Cohabitation avec IPv4

2 problèmes

Service

Infrastructure

Activités

V6fier l'OS

V6fier l'application

V6fier le réseau
Méthodes de migration

Applications

Produire du trafic IPv6

Transparent (adaptations simples)
 Une même application portée gère IPv6 et IPv4
 NAT dans l'Hôte IPv4 - IPv6

Relais applicatif (ALG)

Couches réseau
RFC 2893

Acheminer du trafic IPv6

Machines à double pile (v4, V6)

Encapsulation de IPv6 dans IPv4 (tunelling)

Traduction d’en-têtes (IPv6 <--> IPv4)
Piles IPv6

FreeBSD

4.x : included

3.x : «INRIA», KAME

NetBSD:

-current : included

1.4.2; «INRIA», KAME

Linux

2.2 : included

Apple

MacOS X : included

Microsoft

Windows 2000

9x : Trumpet stack

Solaris 8

AIX 4.3 : included

Compaq

True64 : included

Cisco IOS 12.1

Beta,

Supported: Q3
9

Adresse IPv4 Imbriquée
IPv6
application
IPv4
application
client server
128.1.2.3 ->128.1.2.4
128.1.2.3 128.1.2.4
::FFFF:128.1.2.3 ->::FFFF.128.1.2.4
IPv4 IPv4
Compatibilité des applications
Client
Client
Spooler
Spooler
Printer
Printer
IPv6
IPv6
IPv4
IPv4
Intégration : traducteurs

Passerelle applicative

Par ex : une vieille imprimante sans IPv6

Bump In The Stack (RFC 2767)

v6fier l'application sans recompiler

Equivalent à un NAT dans chaque hôte
IPv4
application
3ffe:305:1002::1->3ffe:305:1002::2
v6<->v4
IPv6
IPv4
v4
Double Pile

Les équipements ont une adresse dans chacun des plans
d'adressage IPv4 et IPv6

Ils acheminent le trafic IPv4 et le trafic IPv6
IPv6 encapsulé dans IPv4
Tunnel
>ping6 ::128.93.1.21
trying to get source for ::128.93.1.21
source should be ::192.108.119.131
PING ::128.93.1.21 (::128.93.1.21): 56 data bytes
64 bytes from ::128.93.1.21: icmp6_seq=0 ttl=255 time=16.862 ms
64 bytes from ::128.93.1.21: icmp6_seq=1 ttl=255 time=13.410 ms
64 bytes from ::128.93.1.21: icmp6_seq=2 ttl=255 time=13.171 ms
...
Tunnel Automatique

Hôte IPv6 isolé

Aux début des expérimentations IPv6

Utilise l'adresse IPv4 compatible
Tunnel Automatique
IPv6/IPv4
IPv4
10
IPv6
IPv6
IPv4
v6 v6
IPv6/IPv4
Tunnel Configuré
6 To 4
(RFC 3056)

Une autre manière de construire une infrastructure tunnelée

Configuration simplifiée
 Pas de tunnels configurés

Plan d'adressage spécial
 Préfixe: 2002::/16

Le préfixe du site est obtenu de l'adresse IPv4 du routeur de
bordure

Technique transitoire
0x0002
3 13 32 16 64
001
Interface IDSLA
IPv4ADDR
IPv6
1.2.3.4
2002:0102:0304::/48
IPv4
6 to 4
192.1.2.3
1.2.3.4
128.1.2.3
A
A
B
B
DNS
A
A
A
A

f
o
r

B

?
B
=2
0
0
2
:
0
1
0
2
:
0
3
0
4
:
:
1
Interaction avec le 6-bone
192.1.2.3
128.1.2.3
A
A
6-Bone
relay
relay
relay
Le relais est un routeur
avec une interface sur
chaque réseau.
Traduction
rfc 2765,rfc 2766

Traduction des en-têtes IPv4 <--> IPv6

interopérabilité entre les équipements seulement IPv4 et les
équipements seulement IPv6.

redevient très en vogue ... avec le NAT !

Exemple : Routeurs B et E
IPv6
IPv4
v4
v4
v6
Traduction d’en-tête IPv6 – IPv4
11
Stratégie de migration
IPv4 site
NFS
pop
client
IPv4 Internet
Exit router
NATv4+
ALG
client
routers
routers
web
v4
v4
v4
v4
IPv4 only host
IPv4 only router
IPv4 only network
Phase 0 : site IPv4
v4/v6 site
NFS
web
client
IPv4 Internet
Exit router
NATv4+
ALG
client
v4/v6
routers
v4
routers
v4
v4
v4/v6
v4/v6
pop
Hybrid v4/v6 host
Hybrid v6/v6 router
Hybrid v4/v6 network
Phase 1 : Routeurs et serveurs en double pile
v4/v6 site
NFS
client
IPv4 Internet
Exit router
NATv4+
ALG
client
v4/v6
routers
v4
router
v4/v6
v4
v4/v6
v4/v6
client
web
pop
Phase 2 : Clients en double pile
Phase 3 : Connexion au 6-Bone
v4/v6 site
NFS
client
IPv4 Internet
Exit router
NATv4+
ALG
configured tunnel
client
v4/v6
routers
v4
router
v4/v6
v4
v4/v6
v4/v6
client
6bone
tunnel
web
pop
v4/v6 site
NFS
client
IPv4 Internet
Exit router
NATv4+
ALG
configured tunnel
client
v4/v6
routers
v6 only
router
v4/v6
v6
v4/v6
v4/v6
client
6bone
tunnel
web
pop
IPv6 only host
IPv6 only router
IPv6 only network
Phase 4 : hôtes IPv6
12
v4/v6 site
web
IPv4 Internet
Exit router
NATv4+
ALG
configured tunnel
client
v4
router
v6
router
v6
v4
proxy
6bone
tunnel
v4/v6
router
v4/v6
Phase 5 : Hôtes IPv6 avec des serveurs IPv4
IPv6 site
NFS
client
IPv4 Internet
Exit router
NAT-PT+
ALG
6to4 router
client
v6
routers
v6
routers
v6
v6
v6
v6
client
6to4
site
6to4 tunnel
web
pop
Phase 6 : Site IPv6 ou 6to4
Phase 7 : IPv6 site et Internet IPv6
IPv6 site
NFS
client
IPv6 Internet
Exit router
to IPv6 ISP
client
v6
routers
v6
routers
v6
v6
v6
v6
client
IPv4
Internet
web
pop
NAT-PT
or
proxies
Premières expériences
Le 6-bone

Premier Réseau IPv6

Réseau expérimental
 pré-déploiement de l’Internet version 6

construit au dessus de l’Internet IPv4
 tunnel IPv4 pour interconnecter les nuages IPv6

Topologie virtuelle
 nuages de machines connectés en IPv6

Lancé le 15 Juillet 1996 par 3 sites (WIDE/JP, UNI-
C/DK, G6/FR)

Aujourd’hui : 641 sites & 48 pays

Groupe de travail IETF: NGtrans

http://www.6bone.net
Structure du 6-bone
13
Croissance du 6-bone
G6-bone

Branche française du 6-bone

G6: groupe de testeurs/développeurs IPV6

pour l’expérimentation française de IPv6

http://pilote.g6.asso.fr/

Plates-formes d’expérimentations

Réunit académiques et industriels

IMAG, UREC, INRIA, ENST-Bretagne, LIP6, Paris
7, Strasbourg,Institut Pasteur, Bull,...
Charte du G6

Echanges d’expérience

Diffusion d’informations (rédaction d’un livre)

Participation aux réunions RIPE & IETF

Branche française du 6bone

Infrastructure de test (G6-bone)

Banc d’essai pour une infrastructure
nationale

http://www.renater.fr/
Carte du G6-bone
Transparents réalisés avec le support du
IPv6: Bibliographie

IPv6

http://playground.sun.com/pub/ipng/html

http://www.urec.cnrs.fr/ipv6/

IETF IPv6 WG

http://www.ietf.org/html.charters/ipngwg-
charter.html

Associations :

http://www.ipv6.org/

http://www.ipv6forum.com

Livre

Cizault, G. (2002). Ed.: O'Reilly&Associates.
IPv6: Théorie et Pratique