Vous êtes sur la page 1sur 20

Introduction

Plan
1

Introduction

Adressage

Format dune trame

Universit
e de Cergy-Pontoise

Services

20122013

Mobilite

Securite

Integration

IPv6
Protocole, format et applications
Tuyet Tram DANG NGOC
<dntt@u-cergy.fr>

Tuy
et Tr
am DANG NGOC

IPv6
Introduction

1 / 150

Limitations dIPv4

Programmation

Tuy
et Tr
am DANG NGOC

IPv6
Introduction

2 / 150

Limitation
Conclusion en terme dadressage

Introduction

Adressage

Format dune trame

Services

Mobilite

Securite

Integration

Programmation

Tuy
et Tr
am DANG NGOC

Conclusion

IPv6
Introduction

3 / 150

Limitation en terme de routage

IPv4 ne permet plus dadresser simplement et universellement tous les


equipements du monde.
150.000 routes stockees par les routeurs du coeur du reseau (en mars
2002)

72% des adresses IPv4 sont detenues en Amerique du Nord


Limitation en terme dadressage

17% en Europe

Limitation en terme de routage

9% en Asie

Limitation en terme de fonctionnalites

Les miettes pour le reste du monde...

20% de plus chaque annee


explosion de la taille des tables de routage
1000 reseaux sur le reseau central

ex. le Vietnam (10 millions dhabitants) : 4 classes C.


Theoriquement, 16 millions de reseaux possibles mais la repartition en
classe pose probl`eme
Les solutions comme NAT et les proxie sont plus necessaires au niveau
pratique quau niveau securite.

Tuy
et Tr
am DANG NGOC

IPv6
Introduction

4 / 150

Limitation en terme de fonctionnalites

Tuy
et Tr
am DANG NGOC

IPv6
Introduction

diam`etre de lInternet denviron 40 routeurs.


Routage uniquement `a base de ladresse de destination

5 / 150

Les nouveaux besoins

besoin de qualite de services pour les nouvelles applications


multimedia

les objets mobiles


la domotique

configuration automatique

les services mobiles (GPRS, EDGE, UMTS, etc.)

multicast difficile

...

limite des options de lentete IPv4


etc.

Tuy
et Tr
am DANG NGOC

IPv6

7 / 150

Tuy
et Tr
am DANG NGOC

6 / 150

1974 : premi`eres specifications de TCP/IP


1981 : formalisation dIPv4
1984 : une centaine ordinateurs IPv4 dans le monde.
1992 : utilisation commerciale et explosion de la demande dadresse IP
Juillet 1994 : Prise de conscience du risque de penurie et creation des
groupes de travail IPNG.
Decembre 1994 : Choix du protocole SIPP renomme IPv6.
1996 : Deploiement du 6Bone (reseau de test IPv6 mondial)
1998 : Creation de lICANN reprenant (entre autre) lattribution de la
numerotation IP. Selection du plan dadressage IPv6.
1999 : Debut des allocations des prefixes IPv6. Debut de la transition
dIPv4 `a IPv6
2002 : 3GPP/UMTS adopte IPv6
...

les objets communicants

nouveau besoins en mobilite

IPv6
Introduction

IP nouvelle generation (IPng)

linformatique embarquee

plus de securite (chiffrement au niveau de la couche IP et pas au


niveau applicatif)

Tuy
et Tr
am DANG NGOC

IPv6

8 / 150

Tuy
et Tr
am DANG NGOC

IPv6

9 / 150

Introduction

Adressage

Bref apercu dIPV6


Adresses sur 128 bits (au lieu de 32 bits en IPv4)

Adressage

Representation des adresses IPv6

Introduction

Adressage
Type dadresse
Adresses de transitions, non-specifiees et loopback
Adresse unicast globale
Identifiant dinterface
Adresse unicast lien-local
Adresse unicast locale unique (ULA)
Adresse multicast
Adresse anycast
Synth`ese adressage

Adressage hierarchique pour optimiser le routage


Plus de niveaux dhierarchisation
En-tete plus simple (8 champs au lieu de 13 en IPv4) et de taille fixe
pour ameliorer les performances et integrer de nouvelles
fonctionnalites par un mecanisme de liste chanee dextensions.
Mecanisme dauto-configuration integre
Couche IPSec integree au protocole (authentification et
confidentialite).

Adresses IPv6 sur 128 bits (16 octets),


soit 2128 ' 3, 4 1038 adresses possibles
(contre 232 ' 4, 2 109 adresses possibles en IPv4)
Representation hexadecimale separe par des : tous les 2 octets (8 mots
de 16 bits).
Exemple :
2001:0660:0000:0000:0129:0020:0254:0001

Extension du multicast et abandon du broadcast.


Gestion de la mobilite.

Format dune trame

Services

Classification des paquets


Tuy
et Tr
am DANG NGOC

IPv6
Adressage

10 / 150

128 bits, est-ce assez ?

Tuy
et Tr
am DANG NGOC

Mobilite

IPv6
Adressage

11 / 150

Representation des adresses

Tuy
et Tr
am DANG NGOC

IPv6
Adressage

12 / 150

Prefixe reseaux

Securite
Format canonique
7 Int
egration
2001:0660:0000:0000:0129:0020:0254:0001
6

Point de vue theorique :

Dans un champ, il nest pas necessaire decrire les zeros places en tete :
8 Programmation

2128 ' 3 1038 adresses

2001:660:0:0:129:20:254:1

Ordre de grandeur : superficie totale (ocean compris) de la terre :


5 1014 m2 soit 1024 adresses par m`etre carre sur la Terre
Point de vue pratique (en tenant compte des hierarchies imposees par le
routage et par la fragmentation de lespace dadresses) :

Format
compresse : plusieurs champs nuls consecutifs peuvent etre abreges
9 Conclusion
par  : : (une seule abreviation maximum par adresse)
2001:660::129:20:254:1 2001:660:0:0:129:20:254:1

La representation des prefixes reseau IPv6 est similaire `a la notation CIDR


utilisee pour les prefixes IPv4.
Notation dun prefixe IPv6
adresse-ipv6/longueur-du-prefixe-en-bits
Exemple :

entre 1017 et 1033 adresses

fe80::216:76ff:fe04:f24a fe80:0:0:0:216:76ff:fe04:f24a

2001:0DB8:7654:3210:0000:0000:0000:0000/64

entre 1000 et 1019 adresses par m`etre carre sur la Terre (ocean
compris)

2001:660:7307:31:129:20:0:0 2001:660:7307:31:129:20::

2001:DB8:7654:3210:0:0:0:0/64

2001:0:0:18:129:0:0:1 2001::18:129:0:0:1

2001:DB8:7654:3210::/64

2001:0:0:18:129::1

1::1 1:0:0:0:0:0:0:1
::1 0:0:0:0:0:0:0:1
:: 0:0:0:0:0:0:0:0

Tuy
et Tr
am DANG NGOC

IPv6
Adressage

13 / 150

Combinaison du prefixe reseau avec lidentifiant de


linterface en une seule notation

Tuy
et Tr
am DANG NGOC

Ladresse IPV6 2001:DB8:7654:3210:945:1321:ABA8:F4E2/64


indique que le prefixe reseau est constitue par les 64 premiers bits et vaut
donc 2001:DB8:7654:3210::/64
Attention aux calculs : 3EDC:BA98:7654:3::/56
3EDC:BA98:7654::/56 car il secrit 3EDC:BA98:7654:0003::/56

IPv6

14 / 150

Type dadresses
Unicast

Tuy
et Tr
am DANG NGOC

IPv6
Adressage
Type dadresse

16 / 150

Multicast

IPv6
Adressage
Type dadresse

15 / 150

Allocation des adresses dans IPv6


envoi dune source `a la destination
correspondant `a ladresse

envoi dune source `a toutes les destinations correspondant `a ladresse

Anycast

envoi dune source `a lune des destinations correspondant `a ladresse

Broadcast

envoi dune source `a tous. Nexiste


pas en IPv6 !

Tuy
et Tr
am DANG NGOC

Tuy
et Tr
am DANG NGOC

IPv6

00000000

::/8

11111111
1111111010

FF00::/8
FE80::/10

Reserve pour la transition et le


loopback
Multicast
Unicast Lien-local

1111111011

FEC0::/10

Unicast Site-local (obsol`ete)

(FE80 `
a FEB0)

(FEC0 `
a FEF0)

1111110
FC00::/7
Unique Local Unicast
100
2000::/3
Unicast Global
Tous le reste
reserve pour le futur
Les adresses anycast sont prises dans les espaces dadresses unicast.

17 / 150

Tuy
et Tr
am DANG NGOC

IPv6

18 / 150

Adressage

Adresses de transitions, non-sp


ecifi
ees et loopback

Adressage

Adresses de transitions, non-specifiees et loopback

Adresses de transitions, non-sp


ecifi
ees et loopback

Adressage

Adresse de loopback

Adresses de transitions, non-sp


ecifi
ees et loopback

Adresses de transitions IPv4 `a IPv6


En attendant le tout-IPv6, les adresses IPv4 et IPv6 coexistent.

Toute machine doit avoir une interface dite de loopback

Equivalent
IPv4 : 127.0.0.1/32

::/8 Reserve pour la transition et le loopback


00...0 (128 bits)

::/128

00...1 (128 bits)

::1/128

00...0 (96 bits)

::/96

00...0 FFFFFFFF

::FF/96

Adresse non-specifiee (similaire `a 0.0.0.0


sous IPv4)
Loopback (similaire `a 127.0.0.1 sous
IPv4)
IPv4 encapsule. Les 32 bits de poids faible
sont ladresse IPv4. Adresse IPv6 compatible
adresse IPv6 mappee IPv4. Les 32 bits
de poids faible sont ladresse IPv4. Pour
machines ne supportant pas IPv6

Representation dune adresse IPv4 sous forme dadresse IPv6 `a laide


de ::/96

Une adresse unique en IPv6 : ::1/128

Les 32 bits de poids faible sont les bits de ladresse IPv4.


Exemple :
soit ladresse IPv4 193.51.24.1 (en hexadecimal : C1331801). Adresse
IPv6 compatible : 0000:0000:0000:0000:0000:0000:C133:1801 (
::C133:1801 )
loopback
::1

Notation simplifiee dadresse IPv6 compatible


96 bits `a 0 suivis des 32 bits de ladresse IPv4 (en notation decimale
separee par des points).
Ex : ::193.51.24.1

Tuy
et Tr
am DANG NGOC

IPv6
Adressage
Adresse unicast globale

19 / 150

Adresse unicast globale

Tuy
et Tr
am DANG NGOC

IPv6
Adressage
Adresse unicast globale

20 / 150

Tuy
et Tr
am DANG NGOC

IPv6
Adressage
Adresse unicast globale

Adresses unicast globale : plan dadressage agrege

Adresses unicast globale : plan dadressage agrege

Le plan dadressage agrege precise la structure dadressage IPv6 en


precisant les tailles de chacun des blocs.

Le plan dadressage agrege precise la structure dadressage IPv6 en


precisant les tailles de chacun des blocs.

21 / 150

Rserv
(8 bits)

TLA

001

LInternet IPv6 est defini comme etant le sous-reseau 2000::/3 (les 3


premiers bits sont 001). Cest-`a-dire la plage :
2000:: jusqu`a 3FFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF .
Seules ces adresses unicast globales peuvent etre routees.

Tuy
et Tr
am DANG NGOC

IPv6
Adressage
Adresse unicast globale

22 / 150

Structure du prefixe global (GP)

001 (13 bits)

Prfixe global (48 bits)

Interface ID

(64 bits)

Adresse de lien
(64 bits)

Identifiant
de site (16 bits)

Topologie publique
(48 bits)

Tuy
et Tr
am DANG NGOC

SID
(16 bits)

Prfixe global (48 bits)

Adresse de lien
(64 bits)

Identifiant
de site (16 bits)

NLA
(24 bits)

Topologie publique
(48 bits)

IPv6
Adressage
Adresse unicast globale

23 / 150

Topologie de site (SLA)

Tuy
et Tr
am DANG NGOC

IPv6
Adressage
Adresse unicast globale

23 / 150

Exemple de plan dadressage (1/2)

Topologie publique (48 bits)


Format Prefix (FP : 3 bits) :
Adresses unicast : 001
Adresses de tests : 010

Top Level Aggregator (TLA : 13 bits) : Identifie les fournisseurs et


operateurs internationaux. Sous la responsabilite du IANA
International
Partie reservee 8 bits : Pour utilisation future (par exemple, un
manque potentiel de TLA ou de NLA)
Next Level Aggregator (NLA : 24 bits) : Identifie les fournisseurs et
operateurs Sous la responsabilite du TLA
Rserv
(8 bits)

TLA

001 (13 bits)

NLA
(24 bits)

SID
(16 bits)

Interface ID

Prfixe global (48 bits)

Adresse de lien
(64 bits)

Identifiant
de site (16 bits)

Tuy
et Tr
am DANG NGOC

(64 bits)

IPv6

24 / 150

Identifie les sous-reseaux dans le site.


Le decoupage se fait sous la responsabilite de ladministrateur du site.
Ce dernier decoupage permet aux sites locaux de deployer leurs sous
reseaux locaux avec 16 bits damplitude (soit 216 = 65.536 sous-reseaux).
Une adresse int`egre trois niveaux de hierarchie :
Topologie publique (48 bits) Prefixe donne par loperateur ou le
fournisseur au site.
Site Level Aggregator (SLA : 16 bits) :

Prefixe de 48 bits : UVSQ 2001:0660:300f::/48 . 16 bits pour le


numero de sous-reseau, 64 bits pour le numero de machine.
Exemple de plan dadressage permettant de mettre en place un routage
geographique :
Les 16 bits utilises pour le numero de sous-reseau :
4 bits pour un numero de zone geographique ;
Une adresse
int`egre
troisero
niveaux
hierarchie
: la zone ;
4 bits pour
un num
de sitedecontenu
dans
Topologie
publique
(48
bits)
Pr
e
fixe
donn
e
par le
lop
erateur ou le
8 bits pour un numero de reseau contenu dans
site.
fournisseur au site.
Site Level Aggregator (SLA : 16 bits) :

Identifie les sous-reseaux dans le site.


Le decoupage se fait sous la responsabilite de ladministrateur du site.

Identifie les sous-reseaux dans le site.


Le decoupage se fait sous la responsabilite de ladministrateur du site.

Identifiant dinterface : 64 bits : Ce suffixe permet `a chaque interface


en bout de chane, detre potentiellement accessible `a tous sur

Identifiant dinterface : 64 bits : Ce suffixe permet `a chaque interface


en bout de chane, detre potentiellement accessible `a tous sur

Tuy
et Tr
am DANG NGOC

IPv6

25 / 150

Tuy
et Tr
am DANG NGOC

IPv6

26 / 150

Adressage

Adresse unicast globale

Adressage

Exemple de plan dadressage (2/2)

Adresse unicast globale

Adressage

Exemple de plan dadressage (2/2)

Adresse unicast globale

Allocation des adresses Unicast

UVSQ
2001:0660:300f::/48

Zone G
eographique
Versailles (0)
Versailles (0)
Versailles (0)
Versailles (0)
Versailles (0)
Versailles (0)
Versailles (0)
Versailles (0)
Versailles (0)
Versailles (0)
Versailles (0)
St-Quentin (1)
St-Quentin (1)
St-Quentin (1)
St-Quentin (1)
St-Quentin (1)
St-Quentin (1)

Site
av. des EU (0)
av. des EU (0)
av. des EU (0)
av. des EU (0)
av. des EU (0)
av. des EU (0)
av. des EU (0)
rue de Paris (3)
rue de Paris (3)
rue de Paris (3)
bd
bd
bd
bd
bd

Vauban (0)
Vauban (0)
Vauban (0)
Dalembert (1)
Dalembert (1)

R
eseau

Pr
efixe IPv6

Dorsale (0)
CRI (1)
PRiSM (4)
Math (5)
Chimie (6)
Physique (7)
Admin. (0)
DSI (1)
Admin. (0)
Recherche (1)
Admin. (0)

2001
2001
2001
2001
2001
2001
2001
2001
2001
2001
2001
2001
2001
2001
2001
2001
2001

:660
:660
:660
:660
:660
:660
:660
:660
:660
:660
:660
:660
:660
:660
:660
:660
:660

:300f
:300f
:300f
:300f
:300f
:300f
:300f
:300f
:300f
:300f
:300f
:300f
:300f
:300f
:300f
:300f
:300f

le IANA del`egue des blocs dadresses IPv6 aux RIR en /23

Versailles

: :/52
: :/56
: :/64
:1 : :/64
:4 : :/64
:5 : :/64
:6 : :/64
:7 : :/64
:300 :/56
:300 : :/64
:301 : :/64
:1000 : :/52
:1000 : :/56
:1000 : :/64
:1001 : :/64
:1100 : :/56
:1100 : :/64

m2001:660:300f::/52

2001:660:300f:1000::/52

av. des EU

rue de Paris

bd Vauban
2001:660:300f:1000::/56

2001:660:300f::/56

Les RIR del`eguent aux LIR des blocs dadresses IPv6 en /32

StQuentin

Les LIR assignent des prefixes aux sites utilisateurs en /48

bd dAlembert
2001:660:300f:1100::/56

2001:660:300f:300:/56

ladministrateur decoupe son prefixe en sous-reseaux


Exemple :

Dorsale

Admin

CRI

DSI

2001:660:300f:1::/64

RIPE NCC 2001:0600::/23

Admin
2001:660:300f:1000::/64

2001:660:300f:300::/64

2001:660:300f::/64

Admin
2001:660:300f:1100::/64

RENATER TLA 2001:0660::/32

Recherche

2001:660:300f:301::/64

2001:660:300f:1001::/64

UVSQ 2001:0660:300f::/48

PRiSM
2001:660:300f:4::/64

sous-reseau cri.uvsq.fr : 2001:660:300f:1::/64

Math
2001:660:300f:5::/64

drumset.cri.uvsq.fr 2001:660:300f:1:20c:6eff:fe05:3fb6/64 ,
grosse-caisse.cri.uvsq.fr 2001:660:300f:1::75/64

Tuy
et Tr
am DANG NGOC

IPv6
Adressage
Identifiant dinterface

27 / 150

Identifiant dinterface

Tuy
et Tr
am DANG NGOC

IPv6
Adressage
Identifiant dinterface

27 / 150

Identifiant dinterface IEEE EUI64

Tuy
et Tr
am DANG NGOC

IPv6
Adressage
Identifiant dinterface

28 / 150

EUI-64 derive dune adresse MAC

Extended Unique Identifier 64 (EUI-64)


Comment obtenir lidentifiant dinterface sur 64 bits ?
manuellement : souvent pour les serveurs, pour memoriser facilement
ladresse.

Identifiant unique etendu, sur 64 bits, defini par lIEEE. Utilise pour
identifier les protocoles ou les options au sein dun standard, ou encore les
dispositifs materiels. Constitue dun identifiant de 24 bits attribue par
lIEEE `a lorganisation fabricant ou produisant lelement `a identifier, et
dun nombre de 40 bits attribue par lorganisation en question

basee sur ladresse de niveau 2 de linterface : utilisation du standard


IEEE EUI-64 (firewire et reseaux de capteurs) ou de ladresse MAC
derive en EUI-64

24

24

constructeur
10

numro de srie

Comment obtenir lidentifiant dinterface sur 64 bits avec une adresse


MAC (IEEE 802) sur 48 bits :
24

24

constructeur

numro de srie

u g

24

16

24

constructeur
10

FFFE

numro de srie

u g

u g

aleatoire :

u (Universel) : vaut 0 si lidentifiant EUI-64 est universel


g (Groupe) : indique si ladresse est individuelle (g = 0), cest-`a-dire
designe un seul equipement sur le reseau, ou de groupe (g = 1), par
exemple une adresse de multicast.

cryptographique : derive de la clef publique de la machine

Exemple
Carte ethernet dadresse : 00:16:76:04:f2:4a
Identifiant dinterface : 216:76ff:fe04:f24a

Les standards IEEE 1394 (firewire) ou IEEE 802.15.4 (reseau de capteurs)


ont un identifiant EUI-64.
Tuy
et Tr
am DANG NGOC

IPv6
Adressage
Identifiant dinterface

29 / 150

Identifiant dinterface

IPv6
Adressage
Adresse unicast lien-local

30 / 150

Adresses unicast lien-local

Pour les interfaces sans identifiant utilisable :


la definir arbitrairement et manuellement : utilise aussi pour les
serveurs dont on ne veut pas que ladresse varie si la machine ou la
carte reseau est changee, ou tout simplement pour une meilleure
memorisation
tirer une valeur aleatoire : utilise aussi lorsquon ne veut pas etre
trace (anonymisation en mobilite par exemple) ou quon ne veut
pas donner dindication sur la carte reseau quon utilise. Dans ce cas,
on veillera `a changer reguli`erement didentifiant.
deriver un identifiant `a partir de la cle publique de la machine :
Cryptographic Generated Addresses (CGA). Sert egalement `a
securiser les protocoles de decouverte de voisins ou pour la gestion de
la multi-domiciliation.
Dans tous ces cas : verification de lunicite avec ICMPv6
Tuy
et Tr
am DANG NGOC

Tuy
et Tr
am DANG NGOC

IPv6

32 / 150

Tuy
et Tr
am DANG NGOC

IPv6
Adressage
Adresse unicast lien-local

Adresse lien local

Adresses locales au lien : ne peuvent


etre utilisees que sur un seul cable
(pas de routage).

10 bits

54 bits

1111 1110 10

64 bits

Interface en EUI64

F E 8 0 ::/64
24

24

constructeur

numro de srie

u g

24
constructeur
10
10 bits

54 bits

64 bits

1111 1110 10

31 / 150

16

24

FFFE

numro de srie

u g

Interface en EUI64

F E 8 0 ::/64
24

24

constructeur

numro de srie

u g

24
constructeur
10

Adressage commun aux machines dun meme lien physique

16

24

FFFE

numro de srie

Adresses prefixees par fe80::/64


Aucun routage de ces paquets au niveau reseau (couche 3).

u g

Exemple :
Carte ethernet dadresse :
00:16:76:04:f2:4a

Seuls les equipements directement lies entre eux par la couche de


liaison de donnees (couche 2) peuvent utiliser ces adresses pour
communiquer entre eux.
Si jamais un equipement terminal recoit un datagramme sur son
adresse de lien-local et que le champ nombre de sauts a ete decremente
(255 au depart ici), le datagramme est rejete : il est passe par un
routeur, et ne provient donc pas du lien-local.

fe80::X:Y:Z/64

Adresse lien-local :
fe80::216:76ff:fe04:f24a
Tuy
et Tr
am DANG NGOC

IPv6

33 / 150

Tuy
et Tr
am DANG NGOC

IPv6

34 / 150

Adressage

Adresse unicast locale unique (ULA)

Adressage

Adresses unicast locale unique (ULA)

Adresse unicast locale unique (ULA)

Adressage

Attribution des adresses unicast locale unique

(`a ne pas confondre avec les adresses site-local FEC0::/48 en voie


dobsolescence)
Besoins dadresses non routees sur lInternet (comme les adresses privees
en IPv4)

Permet linterconnexion de sites sans generer de conflit dadresse et


sans necessiter de renumerotation.
Independantes des fournisseurs dacc`es `a lInternet et ne necessitent
donc pas de connectivite.

7 bits

1 bit

1111 110

40 bits

16 bits

Global ID

64 bits

Subnet ID

F D gg:gggg:gggg:

Interface

ssss: iiii:iiii:iiii:iiii

Prefixe local au site attribue soit de mani`ere locale soit de mani`ere globale.
Prefix (7 bits) : FC00::/7 prefixe identifiant les adresses IPv6
locales (ULA)
L (1 bit)

adresse ULA auto-signeee (FD00::/8 )

Prefixe clairement defini facilitant le filtrage sur les routeurs de


bordure.

Adresse unicast locale unique (ULA)

Adresses unicast locale unique (ULA)

Le prefixe global est genere localement


trunc(SHA 1(localtime, localEUI 64), 40bits).
probablement unique, mais sans garanti

Positionne `a 1 (FD00::/8 ), le prefixe est assigne localement.


Positionne `a 0 (FC00::/8 ), le prefixe est assigne globalement par une
autorite.

adresse ULA assignee officiellement (FC00::/8 ) :

Global ID (40 bits) : Identifiant global utilise pour la creation dun


prefixe unique (Globally Unique Prefix).

Le prefixe global est attribue par une autorite


unicite de ladresse garantie

Pas de conflit en cas de routage par erreur en dehors dun site.

Pour L=1 : il est genere pseudo aleatoirement localement.


Pour L=0 : Prefixe global attribue par une autorite.

Aucune differences pour les applications, qui peuvent les considerer


comme des adresses globales unicast standard.

Subnet ID (16 bits) : Identifiant dun sous reseau `a linterieur du site.


Interface ID (64 bits) : Lidentifiant dinterface

Tuy
et Tr
am DANG NGOC

IPv6
Adressage
Adresse multicast

35 / 150

Adresses Multicast

Tuy
et Tr
am DANG NGOC

8 bits

4 bits

1111 1111

drapeau

4 bits

Identifiant de groupe

portee de la diffusion :

38 / 150

Adresses multicast de solicitation

Portees variables (suivant le X)


IPv6
Adressage
Adresse anycast

39 / 150

Adresse anycast

Cette adresse est utilisee par une station du reseau qui connat ladresse
IPv6 dune station `a joindre mais en ignore son adresse physique (MAC).
En utilisant ladresse multicast de solicitation, il sera possible de joindre le
destinataire.
Concatenation de ff02::1:ff00:0 /104 avec les trois derniers octets
dune adresse Mac.

IPv6

Tuy
et Tr
am DANG NGOC

41 / 150

Adresse anycast

Anycast
Technique dadressage et de routage permettant de rediriger les donnees
vers le serveur informatique le plus proche ou le plus efficace selon la
politique de routage.
Chaque adresse de destination anycast identifie un ensemble de recepteurs
finaux, mais un seul dentre eux est choisi pour recevoir linformation `a un
moment donne pour un emetteur donne.
Comme dans le cas du multicast, une adresse de type anycast designe un
groupe dinterfaces, la difference etant que lorsquun paquet a pour
destination une telle adresse, il est achemine `a un des elements du groupe
et non pas `a tous.

Tuy
et Tr
am DANG NGOC

FF01 :0 :0 :0 :0 :0 :0 :1
toutes les interfaces de la machine
FF01 :0 :0 :0 :0 :0 :0 :2
toutes les adresses de routeurs
FF01 :0 :0 :0 :0 :0 :0 :FB
mDNSv6
FF02 :0 :0 :0 :0 :0 :0 :1
toutes les machines du lien
FF02 :0 :0 :0 :0 :0 :0 :2
tous les routeurs du liens
FF02 :0 :0 :0 :0 :0 :0 :4
tous les routeurs DVMRP
FF02 :0 :0 :0 :0 :0 :0 :5
tous les routeurs OSPF IGP
FF02 :0 :0 :0 :0 :0 :0 :6
tous les routeurs d
esign
es OSPF IGP
FF02 :0 :0 :0 :0 :0 :0 :7
tous les routeurs ST
FF02 :0 :0 :0 :0 :0 :0 :8
toutes les machines ST
FF02 :0 :0 :0 :0 :0 :0 :9
tous les routeurs RIP
FF02 :0 :0 :0 :0 :0 :0 :A
tous les routeurs EIGRP
FF02 :0 :0 :0 :0 :0 :0 :B
tous les Agents Mobiles
FF02 :0 :0 :0 :0 :0 :0 :C
SSDP
FF02 :0 :0 :0 :0 :0 :0 :D
tous les routeurs PIM
FF02 :0 :0 :0 :0 :0 :0 :E
RSVP-ENCAPSULATION
FF02 :0 :0 :0 :0 :0 :0 :FB
mDNSv6
FF02 :0 :0 :0 :0 :0 :1 :2
tous les agents DHCP
FF05 :0 :0 :0 :0 :0 :0 :2
tous les routeurs du site
FF05 :0 :0 :0 :0 :0 :0 :FB
mDNSv6
FF05 :0 :0 :0 :0 :0 :1 :3
tous les serveurs DHCP
FF0X :0 :0 :0 :0 :0 :1 :1000
tous les services de localisation v2
-FF0X :0 :0 :0 :0 :0 :1 :13FF
FF0X :0 :0 :0 :0 :0 :0 :C
SSDP
FF0X :0 :0 :0 :0 :0 :0 :10A
IETF-1-LOW-AUDIO
FF0X :0 :0 :0 :0 :0 :0 :10B
IETF-1-AUDIO
FF0X :0 :0 :0 :0 :0 :0 :10C
IETF-1-VIDEO
FF0X :0 :0 :0 :0 :0 :0 :10D
IETF-2-LOW-AUDIO
FF0X :0 :0 :0 :0 :0 :0 :10E
IETF-2-AUDIO
FF0X :0 :0 :0 :0 :0 :0 :10F
IETF-2-VIDEO
FF0X :0 :0 :0 :0 :0 :0 :110
MUSIC-SERVICE
FF0X :0 :0 :0 :0 :0 :2 :0000
Multimedia Conference Calls
-FF0X
:0 :0 :0 :0 :0 :2 :7FFD
Tuy
et Tr
am DANG NGOC
IPv6
40 / 150
FF0X :0 :0 :0 :0 :0 :2 :7FFE
SAPv1 Announcements
Adressage
Adresse anycast

Portee site-local

1 : noeud
2 : lien
3 : sous-reseau
5 : site
8 : organisation
E : global

IPv6
Adressage
Adresse multicast

37 / 150

Portee lien-local

dernier bit `a 0 (ff00::/12 ) : validite permanente delivre par les


autorites du reseau.
dernier bit `a 1 (ff10::/12 ) : validite temporaire (exemple :
visio-conference)

Utilisation
dIPv6-multicast de
bout-en-bout, jusque dans
chaque foyer

IPv6
Adressage
Adresse multicast

Portee noeud-local

112 bits

porte

Prefixe ff00::/8
drapeau : 3 premiers bits `a 0.

Possibilite de prevoir
lIPv6-multicast dans tous
les elements du reseau

Tuy
et Tr
am DANG NGOC

Quelques prefixes multicast

F F

Existence
dIPv6-multicast depuis
les origines dIPv6

Tuy
et Tr
am DANG NGOC

36 / 150

Adresses Multicast

Une adresse multicast designe


un ensemble dinterfaces.
Atouts majeurs par rapport au
multicast IPv4 :

Tuy
et Tr
am DANG NGOC

IPv6
Adressage
Adresse multicast

IPv6

42 / 150

Principes :
Plusieurs machines possedant la meme IPv6
On acc`ede plus `a un service qu`a une machine
On acc`ede `a la premi`ere machine que lon est `a meme de rencontrer
sur le reseau (gain en traffic et en repartition geographique).
Habituellement utilise pour fournir de la haute disponibilite et de la
repartition de charge.
les DNS root
les sites web les plus frequentes de par le monde
tous les services dont la replication est possible et dont la repartition
geographique peut etre tr`es importante.

Tuy
et Tr
am DANG NGOC

IPv6

43 / 150

Adressage

Adresse anycast

Adressage

Adresse anycast

Adresse anycast

Adressage

Format dune adresse Anycast

Synth`
ese adressage

Configuration de ladresse IP dune machine

Adresse de type EUI-64 :


64 bits

57 bits

11111101...11

prfixe du rseau

Non distinguable dune adresse unicast.


La construction dune adresse IPv6 anycast dun sous-reseau concat`ene le
prefixe du sous-reseau de linterface et la valeur nulle pour la derni`ere
partie de ladresse.
XXX

7 bits

Identifiant
anycast

Configuration automatique
adresse lien-local fe80::/64 deduite `a partir de ladresse physique
de linterface.
adressage automatique

Autre type dadresse :


n bits

(121 n) bits

11111111...11

prfixe du rseau

7 bits

Identifiant
anycast

Exemple :
Recherche des machines Home Agent (utilisees dans la mobilite) au sein
du reseau 2001 :660 :7105 :1000 : :/64

par rtsol/rtadv (adresse multicast des routeurs du lien : ff02::2 )


par client DHCPv6 (adresse multicast des agents DHCP : ff02::1:2 )

Configuration manuelle.

Identifiant anycast : 7e
Adresse anycast : 2001:660:7105:1000:FDFF:FFFF:FFFF:FFFE

Tuy
et Tr
am DANG NGOC

IPv6
Adressage
Synth`
ese adressage

44 / 150

Configuration de ladresse IP dune machine

Tuy
et Tr
am DANG NGOC

IPv6
Adressage
Synth`
ese adressage

45 / 150

Tuy
et Tr
am DANG NGOC

Sollicitation dune machine du lien local


1

Introduction

Adressage

Format dune trame


Options
Routage explicite
Fragmentation
Securite

Services

Mobilite

Securite

Tuy
et Tr
am DANG NGOC

IPv6
Format dune trame

46 / 150

IPv6
Format dune trame

49 / 150

Pour sadresser `a une machine du lien local :


Adresse attribuee `a la machine (automatiquement ou non)

utilisation de ladresse multicast sollicite ff02::1:ff0:0/104 (+


les 3 derniers octets de ladresse physique).

adresse lien-local fe80::/64


adresse site-local fec0::/48 (en voie dobsolescence)
adresse locale unique

ff02::1 toutes les machines du lien local.


Attention, pour les adresses de type lien-local ou multicast qui ne
permettent de designer sans ambigute linterface de sortie, il est
necessaire de la specifier en ajoutant `a la fin le nom de linterface voulue,
precede du caract`ere Exemple :

fc00::/8 attribution locale


fd00::/8 attribution globale

adresse globale 2000::/3 attribution globale

ping6 fe80::216:76ff:fe04:f24a%re0
ping6 ff02::1%re1

Tuy
et Tr
am DANG NGOC

IPv6
Format dune trame

47 / 150

Rappel : Format dun datagramme IPv4


0

Longueur

Version dentete

16

24

Tuy
et Tr
am DANG NGOC

IPv6
Format dune trame

48 / 150

Rappel : Format dun datagramme IPv4

Integration

Modification
ete du format den-tete
Programmationcompl`

31

Conclusion

Longueur totale

Type de service

Version (4bits) : version du protocole IP utilis


e (IPv4 = 0100)

Identification
Dure de vie

Drapeau

Protocole

Dcalage fragment

Longueur den-t
ete (4bits) : Nombre de mots de 32 bits contenant len-t
ete (> 5)
Type de service (8 bits) : comment le paquet doit
etre trait
e (priorit
e et indicateur de d
ebit, d
elai et fiabilit
e). Rarement
utilis
e.

Somme de controle dentete

Longueur totale (16bits) : taille totale du datagramme en octets

Adresse IP Source
Adresse IP destination
Options IP

Protocole (8bits) : quel protocole est encapsul


e dans le datagramme (TCP, UDP, ICMP, IGMP)

IPv6

50 / 150

Remplissage

Donnes

Donn
ees : les donn
ees transport
ees par ce datagramme IP (au format r
epondant au protocole sp
ecifi
e avant)

IPv6

Dcalage fragment

Somme de controle dentete

Options IP

Remplissage : pour que les bits doptions soient un multiple de 32 bits

Tuy
et Tr
am DANG NGOC

Drapeau

Adresse IPv4 destination (32 bits)

Options IP : liste doption. Une option fait en g


en
eral 4 octets (1 octet de type, 1 octet de longueur doption et deux
octets pour les valeurs de loption). Il peut y avoir de 0 `
a 10 options dans un datagramme IP.

Tuy
et Tr
am DANG NGOC

31

Adresse IPv4 Source (32 bits)

Adresse IP destination (32bits) : ladresse IP du destinataire

Note : sil ny a pas doptions IP, les donnees commencent directement


apr`es ladresse IP de destination.
De ce fait, len-tete IP, nest pas de taille fixe, elle peut varier en fonction
des options (ou de son absence).
En-tete entre 20 et 60 octets (entre 5 et 15 mots)

24
Longueur totale

Protocole

Adresse IP source (32bits) : ladresse IP de lexp


editeur

...

16

Type de service

Dure de vie

Somme de contr
ole (16bits) : contr
oler lint
egrit
e des donn
ees

Donnes

Identification

Dur
ee de vie ou TTL (8bits) : nombre maximal de routeurs traversables. En g
en
eral fix
e`
a 64.

Remplissage

Version Longueur
0100 dentete

Identification (16bits), Drapeau (4bits) et D


ecalage (12bits) : Pour la fragmentation

...

51 / 150

Tuy
et Tr
am DANG NGOC

IPv6

52 / 150

Format dune trame

Format dune trame

Modification compl`ete du format den-tete

Longueur

Version dentete

Longueur

Version dentete

16

Dure de vie

Drapeau

Protocole

Adresse IP Source

24

31

Longueur totale

Type de service

Identification

16

Dcalage fragment

Entete
variable
entre
20 et 60
octets

longueur
des donnes
transportes

Dure de vie

Drapeau

Protocole

Version

12

16

Format dune trame IPv6


24

31

16

12

24

Etiquette de flux

Classe de trafic

Taille des donnes transportes

Prochain entete
=EH1

Version

Nb sauts max

Entete
fixe de
40 octets

Somme de controle dentete


Adresse IP source

Adresse IP Source

(128 bits)

31

Etiquette de flux

Classe de trafic

Taille des donnes transportes

Nb sauts max

Prochain entete

Options IP + remplissage
...

Adresse IP source
Adresse IP destination

(128 bits)

(128 bits)

Donnes

prochain
entete

Prochain entete
=EH2

Entete dextension (EH1)

Prochain entete
=UL

Adresse IP destination
adresse

Options IP

31 0

Dcalage fragment

Adresse IP destination

Somme de controle dentete

adresse IPv6 source (sur 32 octets)


IPv6 destination (sur 32 octets)

24
Longueur totale

Type de service

Identification

Classe de trafic
et etiquette de flux

IPv6 = 0110

Format dune trame

Modification compl`ete du format den-tete

Entete dextension (EH2)

Remplissage

IPv4

Donnes

Adresse IP destination

Entete couche suprieure (UL)

(128 bits)

Donnes

...

IPv6

En-tete fixe de 40 octets (320 bits, soit 10 mots)


Tuy
et Tr
am DANG NGOC

IPv6
Format dune trame

52 / 150

Format dune trame IPv6

Tuy
et Tr
am DANG NGOC

IPv6
Format dune trame

52 / 150

Chainage des extensions

En-tete de taille fixe (40 octets) de 6 champs seulement :


Version (4 bits) : version du protocole IP utilis
e (IPv6 = 0110)
Classe de trafic (8 bits) : identifie le type de contenu encapsul
e dans la trame IPv6, afin de permettre des traitements
particuliers (durant le routage par exemple). M
eme r
ole que le champ TOS en IPv4.
Taille en octet des donn
ees transport
ees (16 bits) : `
a partir de ce champ (exclu)
Prochain en-t
ete (8 bits) : type de lextension contenu dans les donn
ees v
ehicul
ees par la trame IPv6 (par exemple
en-t
ete TCP, en-t
ete UDP ou en-t
ete IPv6 suppl
ementaires/optionnels).
Nombre de sauts maximum (8 bits) : Nombre de routeurs traversables maximum. Equivalent TTL IPv4.

Version

Adresse IPv6 destination (128 bits) :

+ une liste chainee dextensions.

16

12

24

31

Etiquette de flux
Prochain entete
(UL)

Nb sauts max

Adresse IP source
(128 bits)

40 octets

(128 bits)

Entete couche suprieure (UL)

IPv6
Format dune trame

Tuy
et Tr
am DANG NGOC

54 / 150

Options

53 / 150

Donnes

Version

55 / 150

Chanage des extensions

Tuy
et Tr
am DANG NGOC

(128 bits)

Prochain entete
=EH2

Entete dextension (EH1)

Prochain entete
=UL

Entete dextension (EH2)


Entete couche suprieure (UL)

Donnes

IPv6
Format dune trame

55 / 150

0
Prochain

IPv6 (obligatoire)

Options examinees `a chaque nud intermediaire (Hop-by-Hop)

Options examinees `a la destination et les routeurs explicites


(Destination)

Routage explicite (RF) : liste des routeurs `a traverser

Fragmentation (FH) : execute par lexpediteur

Authentification (AH) : execute apr`es le reassemblage du paquet item


Confidentialite (ESP) : chiffrement/dechiffrement de linformation

Tuy
et Tr
am DANG NGOC

IPv6

56 / 150

un octet decrivant lextension


suivante (Next-Header (NH))

Options examinees `a la destination ultime du message (Destination)

Protocole encapsule
(TCP, UDP, ICMP... ou meme IPv6)

IPv6

57 / 150

un octet donnant la taille de


lextension (en nombre de mots
de 64 bits - 1 mot)

Tuy
et Tr
am DANG NGOC

Extension x

Une extension est definie par :

Tuy
et Tr
am DANG NGOC

16

24

31

Longueur
extension = n

64 bits

Donnes de
lextension x

Prochain

Longueur

entete (NH = z)

extension = m

64 * n bits

64 bits

Extension y

Seules les extensions hop-by-hop et end-to-end comportent une ou


plusieurs options.

40 octets

Adresse IP destination

entete (NH = y)

par la destination finale uniquement (end-to-end) = 60

31

Nb sauts max

Format dune extension

par chaque noeud traverse (hop-by-hop) (HHH) = 0

24
Etiquette de flux

Prochain entete
=EH1

(128 bits)

Dans lordre :

Dans IPv4, les options sont analysees par tous les routeurs.
En IPv6 on peut specifier les options qui peuvent etre traitees :

16

12

Adresse IP source

generalisation du concept de
lencapsulation den-tete

IPv6
Format dune trame

Classe de trafic

Taille des donnes transportes

en bout de chane, se trouve le


type du protocole de la couche
superieure encapsule.

generalisation du concept de
lencapsulation den-tete

Tuy
et Tr
am DANG NGOC

Le champ Next-header (NH)


specifie sur 8 bits le type de
len-tete suivant.
zero `a plusieurs extensions
den-tete chainees (aligne sur
des mots de 64 bits, soit 8
octets)

Adresse IP destination

en bout de chane, se trouve le


type du protocole de la couche
superieure encapsule.

Adresse IPv6 source (128 bits) :

Classe de trafic

Taille des donnes transportes

zero `a plusieurs extensions


den-tete chainees (aligne sur
des mots de 64 bits, soit 8
octets)

Etiquette de flux (20 bits) : pour faire de la qualit


e de service.

IPv6
Format dune trame

Chainage des extensions


0

Le champ Next-header (NH)


specifie sur 8 bits le type de
len-tete suivant.

Tuy
et Tr
am DANG NGOC

IPv6

Donnes de
lextension y

64 * m bits

58 / 150

Format dune trame

Format dune trame

Type pour le champ prochain en-tete


Type dextensions

Valeur

Protocole

Description

0
43
44
50
51
60
59

HBH
RH
FH
ESP
AH
DOH
Null

Hop-by-Hop option (IPv6)


Routing header (IPv6)
Fragmentation header (IPv6)
Encapsulating Security Payload
Authentication header (IPv6)
Destination Options header (IPv6)
No next header (IPv6)
Val
Protocole
Description
1
2
6
17
58
4
41

Protocoles de couches superieures :

Val

Protocole

ICMP
IGMP
TCP
UDP
ICMPv6
IP
IPv6

Options de lextension
Proche-en-proche (Hop-by-Hop) :
options examinees par chaque noeud
intermediaire

Internet Control Message (IPv4)


Internet Group Management (IPv4)
Transmission Control
User Datagram
Internet Control Message (IPv6)
IP in IP (IPv4 encapsulation)
IPv6

59 / 150

Type-Length-Value (TLV)

16

Longueur
entete (NH = X) extension = 3

Type (T) : un octet pour le type


doption

Value (V) : la valeur de loption

Tuy
et Tr
am DANG NGOC

Longueur
de loption A
= 12

31

64 bits

Donnes de loption A

Length (L) : un octet pour la


taille (en octet) de loption
A laide doption de remplissage, on
cherche `a aligner les options sur des
mots de 64 bits.

24

Type de
loption = A

(12 octets)

64 bits

Type de
loption = 1
(PadN)

Longueur
de loption
PadN=1

Longueur
de loption B
=7

Type de
loption = 1
(PadN)

Type de
loption = B

64 bits

Donnes de loption B
(7 octets)

Longueur
de loption
PadN=2

IPv6
Format dune trame
Options

64 bits
0

61 / 150

Option Jumbogramme (type 194)

Tuy
et Tr
am DANG NGOC

194

1 octet

Taille
4

Type (T) : un octet pour le type


doption

31

Etiquette de flux

Classe de trafic

Taille des donnes transportes

Prochain entete
NH = 0

Nb sauts max

Adresse IP source

40 octets

Prochain entete
=EH2

Valeur

4 octets

16
Type de
loption = A

...

Length (L) : un octet pour la


taille (en octet) de loption

24
Longueur
de loption A
= 12

31

64 bits

Donnes de loption A
(12 octets)

64 bits

A laide doption de remplissage, on


cherche `a aligner les options sur des
mots de 64 bits.

Entete dextension HopbyHop

Prochain entete
=UL

Entete dextension (EH2)


Entete couche suprieure (UL)

Donnes

IPv6
Format dune trame
Options

60 / 150

Tuy
et Tr
am DANG NGOC

IPv6
Format dune trame
Options

61 / 150

2 premiers bits de poids fort indique ce que doit faire le routeur sil ne sait
pas traiter loption
bits action
00 ignorer loption et lire les eventuelles autres options
01 ignorer le paquet
10 ignorer le paquet et renvoyer un message ICMP
11 ignorer le paquet et renvoyer un message ICMP seulement si
ladresse de destination nest pas une adresse multicast
Troisi`eme bit
bit description
0 les valeurs de loption ne peut pas changer en route
1 les valeurs de loption peut changer en route

Une option de bourrage peut etre utilisee pour aligner une extension sur
un multiple de 8 octets (64 bits).

Tuy
et Tr
am DANG NGOC

1 octet

Option utilisee quand la taille du paquet IPv6 est superieure `a 65535.


Dans ce cas, le payload length de lentete IPv6 est `a 0, et la partie
option de lextension est la longueur du paquet IPv6 codee sur 32 bits.

Value (V) : la valeur de loption

(128 bits)

IPv6
Format dune trame
Options

62 / 150

Option Router Alert (Type 5)

Longueur du champ de donnes

1 octet

24

une option se definit par :

Option dalignement (Type 0 et 1)

Type

Type

16

12

Options

Options

Pad1

Pad1

Version

Adresse IP destination

Option dalignement
Option de mobilite
Option de tunnelage

(128 bits)

Options de lextension Destination :


options examinees par la destination
(ou par chaque adresse du routage
explicite)

Prochain

Options dalignement
Options Jumbogramme
Option Router Alert

Description

Format dune trame

Type-Length-Value (TLV)

Options inclues dans lextension Proche-en-proche (Hop-by-hop) (NH=0)


ou Destination (NH=60)

135
Mobilit
e
3
GGP
Gateway-to-Gateway Protocol
5
ST
Stream
8
EGP
Exterior Gateway Protocol
9
IGP
Any private interior gateway
16
CHAOS
Chaos
46
RSVP
Reservation Protocol
29
ISO-TP4
ISO Transport Protocol Class 4
36
XTP
XTP
45
IDRP
Inter-Domain Routing Protocol
54
NHRP
NBMA Next Hop Resolution Protocol
80
ISO-IP
ISO Internet Protocol (CLNP)
83
VINES
VINES
88
IGRP
IGRP
89 Tuy
etOSPF
Tr
am DANG OSPF
NGOC(Open Shortest Path First) IPv6
93
AX.25
AX.25 Frames
Format dune trame
Options

une option se definit par :

Options

Extensions Proche-en-proche (NH=0) et Destination


(NH=60)

Taille
2

1 octet

Option dalignement Pad1 (Type 0) : cas particulier doption : pas de


valeur, ni de taille doption
Type
Pad1

1 octet

Option dalignement PadN (Type 1) :


Pad1

Type

Taille

1 octet

Tuy
et Tr
am DANG NGOC

Valeur
0

1 octet

...

n octets

IPv6
Format dune trame
Options

63 / 150

Autres options

Valeur
Valeur

1 octet

Si cette option est utilisee, chaque routeur (mais pas la destination) va


analyser le paquet.
Si la valeur de lextension vaut :

Mobilite et tunelage...

Mobilit
e et tunelage

0 : le datagramme contient un message Multicast Listener


Discovery
1 : le datagramme contient un message ReSerVation Protocol
2 : le datagramme contient un message Active Networks
3-65535 : reserve pour des usages futurs par le IANA

Tuy
et Tr
am DANG NGOC

IPv6

64 / 150

Tuy
et Tr
am DANG NGOC

IPv6

65 / 150

Tuy
et Tr
am DANG NGOC

IPv6

66 / 150

Format dune trame

Routage explicite

Format dune trame

Routage explicite

Format dune trame

Routage explicite

Routage explicite

Routage explicite

Routage explicite

Cette extension permet dinfluer sur le choix de la route.


Seul le routage par la source (type=0) est supporte.
Seul le routage lache (liberal - loose) est supporte : un routeur peut
utiliser sa table de routage pour atteindre le prochain relais specifie.
Fonctionnement :
Le champ destination dans lentete IPv6 contient ladresse du premier
relais.
Lorsque le premier relais est atteint, il remplace ladresse de
destination par ladresse du prochain relais et son adresse est retiree
de la liste des relais `a traverser.

Cette extension permet dinfluer sur le choix de la route.


Seul le routage par la source (type=0) est supporte.
Seul le routage lache (liberal - loose) est supporte : un routeur peut
utiliser sa table de routage pour atteindre le prochain relais specifie.
Fonctionnement :
Le champ destination dans lentete IPv6 contient ladresse du premier
relais.
Lorsque le premier relais est atteint, il remplace ladresse de
destination par ladresse du prochain relais et son adresse est retiree
de la liste des relais `a traverser.

Cette extension permet dinfluer sur le choix de la route.


Seul le routage par la source (type=0) est supporte.
Seul le routage lache (liberal - loose) est supporte : un routeur peut
utiliser sa table de routage pour atteindre le prochain relais specifie.
Fonctionnement :
Le champ destination dans lentete IPv6 contient ladresse du premier
relais.
Lorsque le premier relais est atteint, il remplace ladresse de
destination par ladresse du prochain relais et son adresse est retiree
de la liste des relais `a traverser.

source = S
destination = 2

source = S
destination = 1
routeur 1
routeur 2
routeur 3
routeur 4
routeur 5

S
Destination

Routeur explicite

Routeur explicite

Tuy
et Tr
am DANG NGOC

S
Source

Destination

67 / 150

routeur 1
routeur 2
routeur 3
routeur 4
routeur 5

Source

Routeur intermediaire
IPv6
Format dune trame
Routage explicite

source = S
destination = 3

Tuy
et Tr
am DANG NGOC

routeur 1
routeur 2
routeur 3
routeur 4
routeur 5

Source
Destination

Routeur intermediaire
IPv6
Format dune trame
Routage explicite

Routeur explicite

67 / 150

Routage explicite

Routage explicite

Cette extension permet dinfluer sur le choix de la route.


Seul le routage par la source (type=0) est supporte.
Seul le routage lache (liberal - loose) est supporte : un routeur peut
utiliser sa table de routage pour atteindre le prochain relais specifie.
Fonctionnement :
Le champ destination dans lentete IPv6 contient ladresse du premier
relais.
Lorsque le premier relais est atteint, il remplace ladresse de
destination par ladresse du prochain relais et son adresse est retiree
de la liste des relais `a traverser.

Cette extension permet dinfluer sur le choix de la route.


Seul le routage par la source (type=0) est supporte.
Seul le routage lache (liberal - loose) est supporte : un routeur peut
utiliser sa table de routage pour atteindre le prochain relais specifie.
Fonctionnement :
Le champ destination dans lentete IPv6 contient ladresse du premier
relais.
Lorsque le premier relais est atteint, il remplace ladresse de
destination par ladresse du prochain relais et son adresse est retiree
de la liste des relais `a traverser.

Tuy
et Tr
am DANG NGOC

Routeur intermediaire
IPv6
Format dune trame
Routage explicite

67 / 150

En-tete de routage (NH=43)


longueur = nombre de
mots de 64 bits
composant lextension.

Prochain entete
(NH)

16
Longueur=n

24

Type routage
=0

31

Segments restants

rserv

Type du routage = 0
(seul le routage par la
source est supporte)

adresse routeur 1

segments restants :
nombre dequipements `a
traverser.
adresse routeur n

reserve : pour maintenir


lalignement.

5
2

4
source = S
destination = 5

3
source = S
destination = 4
routeur 1
routeur 2
routeur 3
routeur 4
routeur 5

IPv6
Format dune trame
Fragmentation

Source

Source

Destination

Destination

Routeur explicite
Routeur intermediaire

Routeur explicite

67 / 150

Fragmentation (NH=44)

Tuy
et Tr
am DANG NGOC

IPv6
Format dune trame
Fragmentation

Routeur intermediaire

67 / 150

Mecanisme de decouverte du PMTU

en general MTU=1500 octets, mais parfois la fragmentation est


necessaire

IPv6
Format dune trame
Fragmentation

emetteur PMTU = MTU du lien auquel il est directement attache

si le paquet transmis sur ce chemin exc`edent la taille maximale


autorisee par un lien intermediaire, alors le routeur associe detruit ces
paquets et retourne un message derreur ICMPv6 de type paquet
trop grand en y indiquant le MTU accepte

fragmentation par lemetteur, reassemblage par le destinataire


taille des paquets est adapte `a lemission. technique de decouverte
du PMTU (Path Maximum Transmission Unit)

69 / 150

68 / 150

En-tete de Fragmentation

Seul lexpediteur est autorise `a fragmenter (contrairement `a IPv4 o`


u
ce sont les routeurs intermediaires qui le font).

IPv6

Tuy
et Tr
am DANG NGOC

La fragmentation permet denvoyer une information plus grande que


le MTU.

Tuy
et Tr
am DANG NGOC

listes des adresses.

routeur 1
routeur 2
routeur 3
routeur 4
routeur 5

Tuy
et Tr
am DANG NGOC

(ou destination finale)

lemetteur reduit le PMTU suppose pour ce chemin

Prochain entete
(NH)

16
Longueur=0

24

31

Fragment Offset

00 M

Identification du paquet fragment

En tete suivant : 8 bits


Reserve : 8 bits
Offset de fragmentation : 13 bits
Reserve : 2 bits

XXX

M : 1 bit (0 = dernier fragment, 1 sinon)


Identification : reperage des fragments

Tuy
et Tr
am DANG NGOC

IPv6

70 / 150

Tuy
et Tr
am DANG NGOC

IPv6

71 / 150

Format dune trame

Fragmentation

Format dune trame

Fragmentation

S
ecurit
e

Services

Securite
1

Introduction

Adressage

Format dune trame

Services
ICMPv6
Gestion des erreurs
Tests
Autoconfiguration
Nommage
Gestion du multicast
Synth`ese ICMPv6

Mobilite

Datagramme IP transmettre
Entete datagramme
bits de donnes

(40 bits)

Fragmentation (MTU = 1280)

Entete datagramme
(1er fragment)
Identification = 42
Drapeau (encore ?) = 1
Dcalage = 0

S
ecurit
e
1240 bits de donnes

Entete datagramme
(2me fragment)

1240 bits de donnes

Identification = 42
Drapeau (encore ?) = 1
Dcalage = 1240

Entete datagramme 1020 bits


(3me fragment)
de donnes
Identification = 42
Drapeau (encore ?) = 0
Dcalage = 2480

Tuy
et Tr
am DANG NGOC

IPv6
Services

72 / 150

Couches IPv4

Tuy
et Tr
am DANG NGOC

IPv6
Services

73 / 150

Tuy
et Tr
am DANG NGOC

Securite

Couches IPv6

SMTP HTTP

Transport

SSH

FTP

telnet

... RPC

DNS

ICMP IGMP

UDP

TCP

Application

...

DHCP SNMP NTP

IPv4

Internet

SMTP HTTP SSH

FTP telnet

...

RPC

Matriel

Ethernet

X25

RS232

Integration

8 Programmation
Seules modifications apportees aux protocoles de niveau 4 UDP et TCP
(minimes) : le calcul du checksum.
Conclusion
Il9 ny
a plus de checksum sur len-tete IPv6

...

UDPLite

Pour TCP : integrer les donnees et les informations de len-tete IPv6


dans le calcul du checksum de len-tete TCP

ICMPv6

IPv6

Internet

Pour UDP : idem, et de facultatif en IPv4 il devient obligatoire en


IPv6.

Pilote
Interface

...

IPv6
Services
ICMPv6

Ethernet

Matriel

Cablage fil (RJ45, coaxial, fibre optique) / sansfil

Tuy
et Tr
am DANG NGOC

DHCP SNMP NTP

UDP

Pilote
Interface

DNS

SCTP

TCP

Transport

ARP

75 / 150

ICMPv6

X25

...

RS232

Calcul du checksum : somme en complement `a 1 des mots de 16 bits du


pseudo-en-tete IPv6 (adresse source IPv6, adresse destination IPv6,
longueur des donnees, prochain en-tete), de len-tete du protocole de
transport, et des donnees, puis de prendre le complement `a 1 du resultat.

Cablage fil (RJ45, coaxial, fibre optique) / sansfil

Tuy
et Tr
am DANG NGOC

IPv6
Services
ICMPv6

76 / 150

Format

Tuy
et Tr
am DANG NGOC

4
Type

16
Code

24

31

Somme de controle

...

Test (ping)

type : nature du paquet ICMPv6

decouverte des voisins (neighbour discovery)

cheksum : somme de contr


ole

78 / 150

Tuy
et Tr
am DANG NGOC

0
1
0
1
2

130
131
132

code : cause du message ICMPv6

reprise des fonctionnalites de ARPv4 v4

IPv6

0
1
2
3
4

128
129

127 : message derreur


> 127 : message dinformation

gestion de groupes multicast (Multicast listener Discovery)

Tuy
et Tr
am DANG NGOC

Type

2
Options

Gestion des erreurs


configuration automatique des equipements

IPv6
Services
ICMPv6

77 / 150

Types et codes ICMP I


Code

ICMPv6 remplace les message ICMPv4 et rajoute des fonctionnalites


Les messages ICMP servent `a :

74 / 150

Couches de niveau 4
7

Application

IPv6
Services

133
134
135
136
137

IPv6

79 / 150

144
145
Tuy
et Tr
am

Description

Messages derreur ICMPv6


Destination inaccessible
aucune route vers la destination
la communication avec la destination est administrativement interdite
hors port
ee de ladresse source
ladresse est inaccessible
le num
ero de port est inaccessible
Paquet trop grand
Temps d
epass
e
limite du nombre de sauts atteinte
temps de r
eassemblage d
epass
e
Erreur de param`
etre
champ den-t
ete erron
e
champ den-t
ete suivant non reconnu
option non reconnue
Messages dinformation ICMPv6
Demande d
echo
R
eponse d
echo
Messages de gestion de groupe multicast
Requ
ete dabonnement
Rapport dabonnement
Fin dabonnement
Messages de d
ecouverte de voisins
Sollicitation du routeur
Annonce du routeur
Sollicitation dun voisin
Annonce dun voisin
Redirection
Messages de gestion de mobilit
e
D
ecouverte dagent m`
ere (requ
ete)
D
ecouverte dagent m`
ere (r
eponse)
DANG NGOC
IPv6

80 / 150

Services

Gestion des erreurs

Services

Gestion des erreurs : Destination inaccessible

Gestion des erreurs

Services

Gestion des erreurs : Paquet trop grand

Gestion des erreurs

Gestion des erreurs : Temps depasse

Type 1 - Destination inaccessible : emis par un routeur intermediaire


quand le paquet ne peut pas etre transmis
Code 0 - aucune route vers la
destination : le routeur ne trouve pas dans
ses tables la route vers la destination

Type 3 - Temps depasse : indique que le paquet a ete rejete par le routeur
car :

Type 2 - Paquet trop grand : ce message contient la taille du MTU


acceptee par le routeur pour que la source puisse efficacement adapter la
taille des donnees (utilise pour la decouverte du PMTU).

Code 1 - la communication avec la


destination est administrativement
interdite : ex. firewall

0
0

Type = 1

Code 2 - hors portee de ladresse source :


ex. adresse source en lien-local vers
destinataire hors-lien.

16
Code

24

31

16

Type = 2

24

Code

Somme de controle

31

Somme de controle

Paquet ayant provoqu lerreur

Paquet ayant provoqu lerreur

(1280 octets maximum)

(1280 octets maximum)

Code 3 - ladresse est inaccessible : ex.


tentative de routage dune adresse locale
au lien

Type = 3

Code 1 - temps de reassemblage


depasse : un fragment sest
perdu et le temps alloue au
reassemblage a ete depasse

MTU (en octet)

Inutilis

Code 0 - limite du nombre de


sauts atteinte : le champ
nombre de sauts a atteint 0

16
Code

24

31

Somme de controle
inutilis

Paquet ayant provoqu lerreur


(1280 octets maximum)

Code 4 - le numero de port est


inaccessible : port non ouvert.
Tuy
et Tr
am DANG NGOC

IPv6
Services
Gestion des erreurs

Tuy
et Tr
am DANG NGOC

81 / 150

IPv6
Services
Tests

82 / 150

Gestion des erreurs : Erreur de param`etre

Messages dinformation ICMPv6

Type 4 - Erreur de param`etre : emis par un noeud ayant detecte une erreur
de syntaxe dans len-tete du paquet IP ou des extensions

Meme principe que pour echo-request/echo-reply en ICMPv4 pour la


commande ping.

Code 0 - champ den-tete


errone : syntaxe de len-tete non
correcte
Code 1 - champ den-tete
suivant non reconnu : numero
en-tete suivant non reconnu

16

Type = 4

Code
Pointeur

24

Paquet ayant provoqu lerreur


(1280 octets maximum)

24

31

Somme de controle

Identificateur

Connexion sur le reseau IP dutilisateurs lambdas


Utilisation massive de machines sur le reseau (petits objets quotidiens
communicants)

Numro de squence
donnes

Changement de fournisseurs simple


Lautoconfiguration :
ms
ms
ms
ms
ms
ms

Aucune intervention manuelle


Pas de configuration fastidieuse `a effectuer sur chaque machine.
Renumerotation des adresses IP simple

Tuy
et Tr
am DANG NGOC

84 / 150

IPv6
Services
Autoconfiguration

85 / 150

Autoconfiguration

decouverte

Utilisation des messages ICMP


Type 133 : Sollicitation
du routeur (Router
Solicitation)

decouverte des routeurs


decouverte du prefixe
decouverte des param`etres du lien
(MTU, Hop limit)
mode dauto-configuration des
adresses
resolution dadresses IPv6 - adresse
physique (comme avec ARP)
decouverte du routeur pour une
destination
detection des voisins inatteignables
detection de duplication dadresse
Tuy
et Tr
am DANG NGOC

83 / 150

--- soleil.ipv6.uvsq.fr ping statistics --6 packets transmitted, 6 received, 0% packet loss, time 5002ms
rtt min/avg/max/mdev = 56.443/58.329/62.150/2.045 ms, pipe 2

IPv6
Services
Autoconfiguration

16
Code = 0

[dntt@tigrou] ping6 2001:660:300f::1


PING soleil.ipv6.uvsq.fr (2001:660:300f::1) 56 data bytes
64 bytes from 2001:660:300f::1 icmp_seq=0 ttl=59 time=58.4
64 bytes from 2001:660:300f::1 icmp_seq=1 ttl=59 time=56.4
64 bytes from 2001:660:300f::1 icmp_seq=2 ttl=59 time=62.1
64 bytes from 2001:660:300f::1 icmp_seq=3 ttl=59 time=56.8
64 bytes from 2001:660:300f::1 icmp_seq=4 ttl=59 time=56.5
64 bytes from 2001:660:300f::1 icmp_seq=5 ttl=59 time=59.5

Decouverte des voisins


Nouvelles fonctionnalites :
des voisins 

31

Somme de controle

(octet o lerreur est survenu dans le paquet retourn)

Code 2 - option non reconnue :


une des options dune extension
(Hop-by-Hop ou destination)
nest pas reconnue et le codage
des deux bits de poids fort
oblige `a rejeter le paquet.
Tuy
et Tr
am DANG NGOC

Type 129 : Reponse decho


0

IPv6
Services
Autoconfiguration

Autoconfiguration : le plugn play

Type = 128/129

Type 128 : Demande decho

Tuy
et Tr
am DANG NGOC

IPv6

Combiner le prefixe FE80::/64 avec lidentifiant dinterface.


Verifier lunicite de ladresse `a laide dICMPv6 (decouverte de voisins)

Type 135 : Sollicitation


dun voisin (Neighbor
Solicitation)
Type 136 : Annonce dun
voisin (Neighbor
Advertisement)
Type 137 : Redirection
(Redirection)
87 / 150

le prefixe du lien
la valeur du Hop Limit
la valeur du MTU
la mani`ere de faire lautoconfiguration
etc.

un noeud peut solliciter un message Annonce de routeur en


envoyant un message Sollicitation de routeur `a ladresse FF02::2
Do`
u:

Taille du MTU (Maximum Transfert Unit)


Nombre maximal de sauts autorise
3

decouverte des routeurs et du routeur par defaut

Configuration avec etat (adresse globale)

decouverte du prefixe

utilisation dun serveur DHCPv6

Limite de lautoconfiguration sans-etats : labsence dautoconfiguration de


la securite ou encore la difficulte `a mettre en place des mecanismes de
DNS dynamiques.
Tuy
et Tr
am DANG NGOC

86 / 150

chaque routeur diffuse periodiquement un message Annonce de


routeur qui peut contenir :

Configuration sans etat (adresse globale)


Ecoute du reseau pour determiner le prefixe (Message ICMPv6
annonce du routeur)
Combiner le prefixe obtenu avec lidentifiant dinterface.
Verifier lunicite de ladresse `a laide dICMPv6 (Message ICMPv6
decouverte de voisins)
Lautoconfiguration du routage (ICMP Router Discovery)
La decouverte des param`etres du lien physique

Type 134 : Annonce du


routeur (Router
Advertisement)

IPv6
Services
Autoconfiguration

Decouverte des param`etres du reseau

3 possibilites dautoconfiguration :
1 Cr
eation dune adresse lien-local (adresse locale)
2

Tuy
et Tr
am DANG NGOC

IPv6

88 / 150

decouverte des param`etres du lien (MTU, Hop limit)


mode dauto-configuration des adresses
Tuy
et Tr
am DANG NGOC

IPv6

89 / 150

Services

Autoconfiguration

Services

Decouverte de voisins : Sollicitation du routeur

Emis
par un equipement au demarrage pour recevoir plus rapidement des
informations du routeur
adresse IPv6 source : adresse de
lequipement ou :: si
non-specifie

8
Type = 133

24

31

Somme de controle

rserv

adresse IPv6 destination :


adresse multicast tous les
routeurs du lien ff02::2

Tuy
et Tr
am DANG NGOC

16
Code = 0

Autoconfiguration

Services

Decouverte de voisins : Sollicitation du routeur

option adresse physique de la source

IPv6
Services
Autoconfiguration

90 / 150

Emis
par un equipement au demarrage pour recevoir plus rapidement des
informations du routeur
0

Option adresse physique source


Adresse physique de lequipement
demandeur.
dans le cas dune adresse MAC,
dune longueur de 6 octets, longueur
(en mots de 64 bits) = 1.

Tuy
et Tr
am DANG NGOC

8
Type = 133

16
Code = 0

24

Type = 1

16

24

longueur

adresse physique source

90 / 150

Decouverte de voisins : Annonce du routeur

Decouverte de voisins : Annonce du routeur

Emis
periodiquement par les routeurs ou en reponse `a un message de
sollicitation dun routeur par un equipement

Emis
periodiquement par les routeurs ou en
reponse
`a un16 message
de
0
8
24
Type = 134
Code = 0
Somme de controle
sollicitation dun routeur par un equipement
saut max.

saut max. : (si 6= 0) valeur `


a placer dans le champ
nombre de sauts des paquets
emis.

8
Type = 134

dur
ee de vie du routeur : 0 si l
equipement ne peut pas

etre pris comme routeur par d


efaut. Retransmis
p
eriodiquement (donc pas de limite max `
a la dur
ee de
vie dun routeur)

saut max.

16
Code = 0

24

option adresse physique de la source

O=1 : si pr
esence dun service de configuration mais
pour la r
ecup
eration dinformations autres que ladresse

option information sur le prfixe

Option Adresse physique source


Adresse physique du routeur.
Dans le cas dune adresse MAC,
dune longueur de 6 octets, longueur
(en mots de 64 bits) = 1.

option information sur le prfixe

31

option MTU

IPv6
Services
Autoconfiguration

dure daccessibilit
temporisation de retransmission

Option pr
efixe

...

A=1 : si le pr
efixe annonc
e peut
etre utilis
e pour
construire ladresse de l
equipement

option information sur le prfixe

R=1 : si le champ pr
efixe contient ladresse globale
dun routeur agent m`
ere

option MTU

Type = 1

option information sur le prfixe

L=1 : si tous les autres


equipements partageant le
m
eme pr
efixe sont sur le m
eme lien

option information sur le prfixe

option MTU

dur
ee de validit
e : dur
ee (en secondes) pendant laquelle
le pr
efixe est valide.
16

31

dure de vie du routeur

MOH_ ____

option adresse physique de la source

...

91 / 150

Emis
periodiquement par les routeurs ou en
reponse
`a un16 message
de
0
8
24
Type = 134
Code = 0
Somme de controle
sollicitation dun routeur par un equipement
saut max.

option information sur le prfixe

option MTU

24

31

longueur
(en mots de 64 bits)

adresse physique source

dur
ee pr
ef
erable : dur
ee (en secondes) pendant laquelle
une adresse construite avec le protocole de
configuration sans
etat demeure
pr
ef
erable (0xffffffff = infini)

8
Type = 3

16
Longueur = 4

24

Longueur
prfixe

31

LAR_ ____

Dure de validit
Dure prfrable
rserv

Prfixe

IPv6
Services
Autoconfiguration

91 / 150

Decouverte de voisins : Annonce du routeur

saut max.

31

dure de vie du routeur

MOH_ ____

dure daccessibilit
temporisation de retransmission

option information sur le prfixe

16
Longueur = 1

24

31

rserv

IPv6

un nud qui veut connatre ladresse MAC dun autre envoie un


message Sollicitation de voisin `a ladresse multicast de solicitation
multicast)

detection de duplication dadresse (message envoye, par ladresse


source :: , `a ladresse speciale de sollicitation pour ladresse `a tester)
annonce de changement dadresse MAC

MTU

91 / 150

Tuy
et Tr
am DANG NGOC

Tuy
et Tr
am DANG NGOC

IPv6
Services
Autoconfiguration

91 / 150

Decouverte de voisins : Sollicitation dun voisin

resolution dadresses (plus besoin de ARP)

option MTU

Type = 5

91 / 150

Do`
u:

...
option information sur le prfixe

IPv6
Services
Autoconfiguration

le nud destinataire repond par un message Annonce de voisin `a


ladresse du nud emetteur.

option adresse physique de la source

Option MTU
informe les equipements sur la taille
maximale des donnees (en octets)
pouvant etre emises sur le lien.

Tuy
et Tr
am DANG NGOC

Decouverte des voisins

Emis
periodiquement par les routeurs ou en
reponse
`a un16 message
de
0
8
24
Type = 134
Code = 0
Somme de controle
sollicitation dun routeur par un equipement

Tuy
et Tr
am DANG NGOC

...
option information sur le prfixe

dure daccessibilit
temporisation de retransmission

temporisation de retransmission : (en milliseconde)


p
eriode entre deux
emissions non sollicit
ee (0xffffffff =
infini)

Tuy
et Tr
am DANG NGOC

option information sur le prfixe

Decouverte de voisins : Annonce du routeur

option adresse physique de la source

...

dur
ee daccessibilit
e : dur
ee (en millisecondes) pendant
laquelle une information contenue dans le cache de la
machine peut
etre consid
er
ee comme valide
(correspondance adresse IPv6 / adresse physique)

option adresse physique de la source

Somme de controle

dure daccessibilit
temporisation de retransmission

M=1 : si adresse de l
equipement doit
etre obtenue
avec un protocole de configuration (DHCPv6)

H=1 : si le routeur peut


etre utilis
e comme
m`
ere pour un noeud mobile

dure daccessibilit
temporisation de retransmission

adresse IPv6 destination :


adresse de lequipement qui a
emis la sollicitation ou adresse
multicast toutes les stations du
lien (ff02::01 )

Tuy
et Tr
am DANG NGOC

31

dure de vie du routeur

MOH_ ____

dure de vie du routeur

MOH_ ____

31

dure de vie du routeur

MOH_ ____

agent

31

(en mots de 64 bits)

IPv6
Services
Autoconfiguration

saut max.

adresse IPv6 source : adresse


locale au lien du routeur

Somme de controle

option adresse physique de la source

Emis
periodiquement par les routeurs ou en reponse `a un message de
0
8
16
24
sollicitation dun routeur par un equipement
Type = 134
Code = 0
Somme de controle

31

rserv

Autoconfiguration

Decouverte de voisins : Annonce du routeur

IPv6

92 / 150

Permet dobtenir des informations dun equipement voisin (situe sur le


meme lien)
adresse IPv6 source : adresse
lien-local, adresse :: ou
adresse globale du demandeur

8
Type = 135

16
Code = 0

24

31

Somme de controle

rserv

adresse IPv6 destination :


adresse de la cible ou adresse
multicast de solicitation

Adresse IPv6 de la cible

option adresse physique de la cible

correspond `a la requete ARP en


IPv4

Tuy
et Tr
am DANG NGOC

IPv6

93 / 150

Services

Autoconfiguration

Services

Autoconfiguration

Services

Decouverte de voisins : Sollicitation dun voisin

Decouverte de voisins : Annonce dun voisin

Permet dobtenir des informations dun equipement voisin (situe sur le


meme lien)

En reponse `a une sollicitation ou emis spontanement pour propager une


information de changement dadresse physique, ou de statut routeur

8
Type = 135

16
Code = 0

24
Somme de controle

rserv

Option Adresse physique cible


Adresse physique de lequipement
demandeur.
Dans le cas dune adresse MAC,
dune longueur de 6 octets, longueur
(en mots de 64 bits) = 1.

adresse IPv6 destination :


adresse de lequipement qui a
emis la sollicitation ou adresse
multicast toutes les stations du
lien (ff02::01 )

Adresse IPv6 de la cible

option adresse physique de la cible

16

24

31

longueur

Type = 1

IPv6
Services
Autoconfiguration

93 / 150

Decouverte de voisins : Annonce dun voisin

8
Type = 136

16
Code = 0

Option Adresse physique cible


Adresse physique de lemetteur.
dans le cas dune adresse MAC,
dune longueur de 6 octets, longueur
(en mots de 64 bits) = 1.

Tuy
et Tr
am DANG NGOC

24

31

Adresse IPv6 de la cible

option adresse physique de la cible

8
Type = 136

Tuy
et Tr
am DANG NGOC

24

31

Somme de controle

rserv

RSO_ ____

Adresse IPv6 de la cible

option adresse physique de la cible

Adresse de cible : adresse IPv6


demandee dans la sollicitation
ou ladresse IPv6 lien-local si
pas de sollicitation.
94 / 150

16
Code = 0

IPv6
Services
Autoconfiguration

94 / 150

Decouverte de voisins : Redirection

adresse IPv6 source : adresse du


routeur

8
Type = 137

24

Si la route peut etre optimisee, le routeur par defaut envoie ce message


pour indiquer quune route plus courte existe.
0

8
Type = 137

24

16
Code = 0

24

31

Somme de controle

31

Somme de controle

Adresse IPv6 de la cible

rserv

Option Adresse physique cible


Adresse physique du routeur `a
utiliser.
Dans le cas dune adresse MAC,
dune longueur de 6 octets, longueur
(en mots de 64 bits) = 1.

Adresse IPv6 de la cible

Adresse IPv6 de la destination

similaire `a ICMP-redirect en
IPv4

31

longueur
(en mots de 64 bits)

16
Code = 0

adresse IPv6 destination :


adresse de lequipement qui a
tente de passer par ce routeur

16

bit S : 1 si lannonce est emise


en reponse `a une sollicitation
bit O : 1 si lannonce doit
effacer les informations
precedentes qui se trouvent dans
les caches des autres

rserv

RSO_ ____

IPv6
Services
Autoconfiguration

Somme de controle

24
Somme de controle

rserv

option adresse physique de la cible

Type = 1

16
Code = 0

31

Adresse IPv6 de la cible

8
Type = 136

Si la route peut etre optimisee, le routeur par defaut envoie ce message


pour indiquer quune route plus courte existe.

rserv

RSO_ ____

bit R : 1 si lemetteur est un


routeur

Decouverte de voisins : Redirection

En reponse `a une sollicitation ou emis spontanement pour propager une


information de changement dadresse physique, ou de statut routeur
0

correspond `a la reponse ARP en


IPv4 ou lARP gratuit dans le
cas dune emission spontane.

(en mots de 64 bits)

adresse physique cible

Tuy
et Tr
am DANG NGOC

En reponse `a une sollicitation ou emis spontanement pour propager une


information de changement dadresse physique, ou de statut routeur

adresse IPv6 source : adresse


locale au lien de lemetteur

31

Autoconfiguration

Decouverte de voisins : Annonce dun voisin

option adresse physique de la cible

Adresse IPv6 de la destination

option adresse physique de la cible

option entete redirig

option entete redirig

adresse physique cible

8
Type = 1

16

24

31

longueur
(en mots de 64 bits)

adresse physique cible

Tuy
et Tr
am DANG NGOC

IPv6
Services
Autoconfiguration

Tuy
et Tr
am DANG NGOC

94 / 150

Decouverte de voisins : Redirection

IPv6
Services
Autoconfiguration

95 / 150

8
Type = 137

16
Code = 0

24

Synth`ese : utilisation des messages ICMPv6 decouverte


des voisins

Verification de lunicite dune adresse

Autoconfiguration :

Adresse IPv6 de la cible

adresse cible : contient ladresse


IPv6 de lequipement vers lequel
les paquets doivent etre emis.

Sollicitation du routeur

Envoi dun message sollicitation de voisin :

Annonce du routeur

source = :: (tous les bits `a 0)


destination = adresse de sollicitation
adresse `a tester

Adresse IPv6 de la destination


2
option adresse physique de la cible

adresse destination : contient


ladresse IPv6 de lequipement
pour lequel la redirection
sapplique.

95 / 150

31

Somme de controle

rserv

Option En-t
ete redirig
e

IPv6
Services
Autoconfiguration

Verification de lunicite dune adresse

Si la route peut etre optimisee, le routeur par defaut envoie ce message


pour indiquer quune route plus courte existe.
0

Tuy
et Tr
am DANG NGOC

Resolution adresse IPv6/adresse physique (ex-ARPv4)

Attente (1s) dun eventuel retour de message Annonce de voisin


si retour : ladresse est dej`a utilisee par quelquun dautre
si pas retour : ladresse nest pas utilisee

option entete redirig

Sollicitation du voisin
Annonce du voisin
Verification de lunicite dune adresse
Sollicitation du voisin

8
Type = 4

16
Longueur

24

31

Annonce du voisin

rserv

rserv

Entete IPv6 et donnes

Tuy
et Tr
am DANG NGOC

IPv6

95 / 150

Tuy
et Tr
am DANG NGOC

IPv6

96 / 150

Tuy
et Tr
am DANG NGOC

IPv6

97 / 150

Services

Autoconfiguration

Services

Configuration avec etat : DHCPv6

Autoconfiguration

Services

Configuration avec etat : DHCPv6

Autoconfiguration

Utilite de DHCP
avec IPv6, pas de probl`eme dadresses :
trouver une adresse IP valide sur le reseau autoconfiguration sans
etat avec prefixe global ou local
pas de rarefaction dadresses IP
DHCP utilise plus en tant que bootp : attribution dune adresse IPv6
donnee pour telle carte reseau reconnue

Fonctionnement similaire au DHCPv4


Param`etre de configuration reseau :

Sollicitation DHCP dun client vers ladresse multicast

dadressage, de routage,

Annonce DHCP des serveurs

du service de noms (DNS),

Requete DHCP : demande de param`etres de configuration de la part


dun client sans adresse.

du service dinformation reseau (NIS)


4

etc.
Les clients DHCPv6 utilisent le multicast IPv6 pour trouver les serveurs
DHCPv6, le broadcast nexistant plus.

trouver ladresse du routeur par defaut :


pas de probl`eme avec les messages ICMPv6 Annonce du routeur

trouver ladresse des routeurs vers dautres reseaux :


rare pour une station de travail
utilisation des protocoles de routage dynamique
ou tout simplement, utilisation des messages ICMPv6 Redirection
emis par le routeur par defaut.

Reponse DHCP : reponse du serveur contenant les les valeurs des


param`etres de configuration demandes, pour un bail donne.

Autres messages DHCP : Renouvellement DHCP (pour prolonger le bail),


Liberation DHCP , Refus DHCP, Notification de reconfiguration DHCP,
Encapsulation relais, Encapsulation serveur.

trouver ladresse de certains services : serveurs DNS, imprimantes,


annuaires LDAP, etc.
DHCPv6 utile. Encore que... annonce de routeur, adresses anycast ?
DHCPv6-Lite (info sur les services, mais pas dattribution
dadresses)

Tuy
et Tr
am DANG NGOC

IPv6
Services
Nommage

98 / 150

DNS et IP

Tuy
et Tr
am DANG NGOC

IPv6
Services
Nommage

99 / 150

Utilit
eet Tr
deam DHCPv6
encore `a demontrer.
Tuy
DANG NGOC
IPv6
Services

DNS et IP : Exemples

100 / 150

Nommage

Modification bind avec IPv6

Resolution directe :
soleil.ipv6.uvsq.fr
IN AAAA address 2001:660:300f::1

Deux extensions au protocole DNS afin de supporter les adresses IPv6.


Enregistrement AAAA (ype 28) pour le nommage direct
Nouveau sous-arbre DNS inverse ip6.arpa pour le nommage inverse

ns3.nic.fr
IN AAAA 2001:660:3006:1::1:1

une adresse IPv6 est transformee en un nom de domaine publie sous


larborescence inverse ip6.arpa de la mani`ere suivante : les 32
demi-octets formant ladresse IPv6 sont separes par le caract`ere . et
concatenes dans lordre inverse au suffixe ip6.arpa.

listen-on-v6 { ::1 ; 2001:660:300f::1; }; or { any ; } ;

resone.univ-rennes1.fr
IN AAAA 2001:660:7307:31:129:20:254:1

Resolution inverse :
1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.f.0.0.3.0.6.6.0.1.0.0.2.ip6.arpa
IN PTR soleil.ipv6.uvsq.fr.
1.0.0.0.1.0.0.0.0.0.0.0.0.0.0.0.1.0.0.0.6.0.0.3.0.6.6.0.1.0.0.2.ip6.arpa
IN PTR ns3.nic.fr.
1.0.0.0.4.5.2.0.0.2.0.0.9.2.1.0.1.3.0.0.7.0.3.7.0.6.6.0.1.0.0.2.ip6.arpa
IN PTR resone.univ-rennes1.fr.

Tuy
et Tr
am DANG NGOC

IPv6
Services
Gestion du multicast

101 / 150

Gestion de groupes multicast

IPv6
Services
Synth`
ese ICMPv6

102 / 150

Tuy
et Tr
am DANG NGOC

Synth`ese ICMPv6
0

Type = 130

16
Code = 0

24

Type = 130

16
Code = 0

24

31

Somme de controle

Dlai maximal de rponse

Type 131 - Rapport


dabonnement multicast :

Adressage

Format dune trame

Services

configuration automatique des equipements, ND et autoconfiguration


avec le RA.

Mobilite

equivalent IPv4 de ARP/RARP, ICMP Router discovery et ICMP


redirect

Securite

Integration

Programmation

Les messages ICMP servent `a :


Reprend les fonctionnalites ICMPv4

recensement gnral (vers adresse multicast FF02::2 sur le lien)

Introduction

Rserv

31

Distinction entre messages derreurs et messages dinformation

gestion de groupes multicast integre

Rserv

remplace IGMP dIPv4.


Adresse multicast

Type 132 - Fin dabonnement


multicast (resiliation) :

recensement vers adresse multicast spcifique

Multicast MLDv2

Type = 131/132

16
Code = 0

24

31

Somme de controle

Type 143 : Rapport


dabonnement multicast MLDv2

IPv6
Mobilit
e

103 / 150

IPv6

106 / 150

Somme de controle

Dlai maximal de rponse

Protocole MLD (Multicast Listener


Discovery) en remplacement de
IGMP dIPv4.
Type 130 - Requete
dabonnement multicast :

Tuy
et Tr
am DANG NGOC

Rserv

Adresse Multicast

rapport dabonnement ou rsiliation

Tuy
et Tr
am DANG NGOC

IPv6

104 / 150

Tuy
et Tr
am DANG NGOC

IPv6

105 / 150

Tuy
et Tr
am DANG NGOC

Mobilit
e

Mobilit
e

Mobilite

Mobilit
e

Mobilite : Principes

Mobilite
ements utilises
El
en-tete dextension protocolaire : (protocole 135)
en-tete de routage : Routage type 2
en-tete destination : options sur lassociation

Un mobile doit conserver la meme adresse IP quel que soit le reseau


auquel il est connecte afin de :
pouvoir communiquer : resolu par le mecanisme dauto configuration
dIPv6, en effet, d`es que le terminal a reussi `a construire une adresse
IPv6 globale, il est capable de communiquer avec toute autre station
sur lInternet.

Mise `a jour de lassociation : Option type 198


Acquittement de lassociation : Option type 7
Demande de Mise `a jour de lassociation : Option type 8
Home Adress : Option Type 201
Pad1 : Sous-Option Type 0
PadN : Sous-Option Type 1
Identificateur unique : Sous-Option Type 2
Alternate Care of Address : Sous-Option Type 3
Donnees dAuthentification : Sous-Option Type 4

Un mobile connecte sur un reseau etranger dispose :


une adresse temporaire au sein du reseau etranger (Care Of
Address) obtenue par auto configuration.
une adresse m`ere provenant de son reseau dorigine (Home
Address).

etre joignable : pour les postes IP fixes par le DNS qui etablit la
relation entre un nom logique connu de tous et une adresse IP
pouvoir se deplacer sans interruption de la connexion :
Standard IETF : MIPv6 (Mobile IP)
Volonte de gerer la mobilite au niveau de la pile IP et de la rendre
transparente aux niveaux superieurs utilisant le service IP.

mecanismes dannonce des routeurs : message ICMPv6 Annonce du


routeur
gestion de lobsolescence des adresses :
securisation des paquets : IPsec
Revenir aux options

Tuy
et Tr
am DANG NGOC

IPv6
Mobilit
e

107 / 150

Principes

Tuy
et Tr
am DANG NGOC

IPv6
Mobilit
e

108 / 150

Mobile `a linterieur du reseau m`ere

Le mobile conserve ladresse (Home Address HoA) utilisee dans son


reseau m`ere (Home Network).
du point de vue des couches superieures, le mobile conserve son
adresse m`ere (HoA) quelle que soit sa localisation.
Lors de son deplacement, le mobile acquiert une adresse nouvelle
temporaire (care-of address - CoA ou adresse temporaire), locale dans
chacun des reseaux quil visite, dits reseaux etrangers.
Un agent m`ere (Home Agent - HA) localise dans le reseau m`ere est
charge dassurer la correspondance entre la HoA et la CoA du mobile.

Tuy
et Tr
am DANG NGOC

IPv6
Mobilit
e

109 / 150

Mobile `a linterieur du reseau m`ere


@CN = 2001:503:231d::2:30

@CN = 2001:503:231d::2:30

@HoA = 2001:660:300f:100::EthMob

@HoA = 2001:660:300f:100::EthMob

2001:503:231d::/48

2001:503:231d::/48

2001:660:300f:100::/56

2001:660:300f:100::/56

HA

IPSrc
@HA = 2001:660:300f:100::1

@HoA

intercepte et reachemine les paquets IP `a destination de ladresse m`ere


du mobile vers son adresse temporaire dans son reseau visite. par tunnel
reachemine les paquets IP du mobile vers le correspondant (reverse
tunneling)

IPDst
@CN

HA

NH
UL

IPSrc
@HA = 2001:660:300f:100::1

Donnes

@CN

2001:660:010c::/48

IPDst

NH

@HoA

UL

Donnes

2001:660:010c::/48

Du point de vue de la pile IPv6 le noeud mobile communique toujours


avec ladresse temporaire sauf lorsquil est attache `a son reseau m`ere. Du
point de vue des couches protocolaires superieures le mobile communique
toujours avec son adresse m`ere
Tuy
et Tr
am DANG NGOC

IPv6
Mobilit
e

110 / 150

Mobile en deplacement dans un reseau etranger :


association (binding)

Tuy
et Tr
am DANG NGOC

IPv6
Mobilit
e

111 / 150

Mobile en deplacement dans un reseau etranger :


association (binding)

Tuy
et Tr
am DANG NGOC

IPv6
Mobilit
e

111 / 150

Mobile en deplacement dans un reseau etranger :


association (binding)

@CN = 2001:503:231d::2:30

@CN = 2001:503:231d::2:30

Table des associations de lagent mre


@HoA = 2001:660:300f:100::EthMob
@CoA = 2001:660:010c::EthMob

Lagent m`ere (HA) doit assurer linterception des paquets `a


destination du mobile d`es quil dispose dune association entre
ladresse m`ere (HoA) et une adresse temporaire (CoA) valide.

2001:503:231d::/48

2001:503:231d::/48

2001:660:300f:100::/56

Pour cela le HA diffuse une annonce de voisin non sollicitee sur le


reseau m`ere.
Cette annonce indique aussi que toutes les tables de voisinage doivent
etre mise `a jour pour associer la HoA du mobile avec ladresse de
niveau 2 de lagent m`ere.

2001:660:300f:100::/56

HA

HA
@HA = 2001:660:300f:100::1

@HA = 2001:660:300f:100::1

Binding Update
Association
@HoA = 2001:660:300f:100::EthMob
@CoA = 2001:660:010c::EthMob

Lagent m`ere ne fait pas suivre les paquets emis `a destination de


ladresse lien local du mobile.

2001:660:010c::/48

2001:660:010c::/48

@HoA = 2001:660:300f:100::EthMob
@CoA = 2001:660:010c::EthMob

Tuy
et Tr
am DANG NGOC

IPv6

112 / 150

Tuy
et Tr
am DANG NGOC

IPv6

@CoA = 2001:660:010c::EthMob

113 / 150

Tuy
et Tr
am DANG NGOC

IPv6

113 / 150

Mobilit
e

Mobilit
e

Mobile en deplacement dans un reseau etranger :


association (binding)

Mobilit
e

Mobile en deplacement dans un reseau etranger :


communication en double-tunneling

Table des associations de lagent mre

@CN = 2001:503:231d::2:30

@CN = 2001:503:231d::2:30

Table des associations de lagent mre


@HoA = 2001:660:300f:100::EthMob

Mobile en deplacement dans un reseau etranger :


communication en double-tunneling
@HoA = 2001:660:300f:100::EthMob

@CoA = 2001:660:010c::EthMob

@CN = 2001:503:231d::2:30

@CoA = 2001:660:010c::EthMob

Table des associations de lagent mre


@HoA = 2001:660:300f:100::EthMob
@CoA = 2001:660:010c::EthMob
2001:503:231d::/48

2001:503:231d::/48

2001:503:231d::/48

2001:660:300f:100::/56

2001:660:300f:100::/56

2001:660:300f:100::/56

HA

HA

@HA = 2001:660:300f:100::1

@HA = 2001:660:300f:100::1

IPSrc

IPDst

NH

@CN

@HoA

UL

HA
Donnes

@HA = 2001:660:300f:100::1

Binding Acknowledgement

IPSrc

NH
IP

Donnes
2001:660:010c::/48

IPSrc
@CN

IPDst
@HoA

NH
UL

Donnes

@HoA = 2001:660:300f:100::EthMob
@CoA = 2001:660:010c::EthMob

@CoA = 2001:660:010c::EthMob

Tuy
et Tr
am DANG NGOC

IPDst
@CoA

@HA

2001:660:010c::/48

2001:660:010c::/48

IPv6
Mobilit
e

113 / 150

Mobile en deplacement dans un reseau etranger :


communication en double-tunneling

Tuy
et Tr
am DANG NGOC

IPv6
Mobilit
e

@HoA = 2001:660:300f:100::EthMob
@CoA = 2001:660:010c::EthMob

114 / 150

Mobile en deplacement dans un reseau etranger :


communication en double-tunneling

Table des associations de lagent mre

Tuy
et Tr
am DANG NGOC

IPv6
Mobilit
e

114 / 150

Mobile en deplacement dans un reseau etranger :


optimisation

Table des associations de lagent mre

@HoA = 2001:660:300f:100::EthMob

@HoA = 2001:660:300f:100::EthMob

@CN = 2001:503:231d::2:30

@CoA = 2001:660:010c::EthMob

@CN = 2001:503:231d::2:30

@CN = 2001:503:231d::2:30

@CoA = 2001:660:010c::EthMob

2001:503:231d::/48

2001:503:231d::/48

2001:503:231d::/48

2001:660:300f:100::/56

2001:660:300f:100::/56

2001:660:300f:100::/56

HA

HA

HA
@HA = 2001:660:300f:100::1

IPSrc
@HA = 2001:660:300f:100::1

@HoA

IPDst
@CN

NH
UL

@HA = 2001:660:300f:100::1

Binding Update

Donnes
Association
@HoA = 2001:660:300f:100::EthMob
@CoA = 2001:660:010c::EthMob

Binding Update
Association

IPSrc
@CoA

IPDst

NH
IP

@HA

@HoA = 2001:660:300f:100::EthMob
@CoA = 2001:660:010c::EthMob

Donnes
2001:660:010c::/48

IPSrc
@HoA

IPDst
@CN

2001:660:010c::/48

2001:660:010c::/48

NH
UL

Donnes

@HoA = 2001:660:300f:100::EthMob
@CoA = 2001:660:010c::EthMob

Tuy
et Tr
am DANG NGOC

IPv6
Mobilit
e

@HoA = 2001:660:300f:100::EthMob
@CoA = 2001:660:010c::EthMob

114 / 150

Mobile en deplacement dans un reseau etranger :


optimisation

IPv6
Mobilit
e

114 / 150

Mobile en deplacement dans un reseau etranger :


optimisation

@CN = 2001:503:231d::2:30
Table des associations du correspondant
@HoA = 2001:660:300f:100::EthMob

Table des associations de lagent mre


@HoA = 2001:660:300f:100::EthMob
@CoA = 2001:660:010c::EthMob

Tuy
et Tr
am DANG NGOC

@CoA = 2001:660:010c::EthMob

IPv6
Mobilit
e

@CN = 2001:503:231d::2:30
Table des associations du correspondant
@HoA = 2001:660:300f:100::EthMob
@CoA = 2001:660:010c::EthMob

@CoA = 2001:660:010c::EthMob

2001:503:231d::/48

2001:503:231d::/48

2001:503:231d::/48

2001:660:300f:100::/56

2001:660:300f:100::/56

2001:660:300f:100::/56

HA

HA

HA

@HA = 2001:660:300f:100::1

@HA = 2001:660:300f:100::1

@HA = 2001:660:300f:100::1

Binding Acknowledgement

Binding Acknowledgement

@HoA = 2001:660:300f:100::EthMob

IPv6

115 / 150

Tuy
et Tr
am DANG NGOC

IPv6

IPDst

NH

@CN

@CoA

UL

IPSrc

IPDst

NH

@CN

@HoA

UL

Donnes

Donnes

@HoA = 2001:660:300f:100::EthMob
@CoA = 2001:660:010c::EthMob

@CoA = 2001:660:010c::EthMob

@CoA = 2001:660:010c::EthMob

IPSrc

2001:660:010c::/48

2001:660:010c::/48

2001:660:010c::/48

Tuy
et Tr
am DANG NGOC

115 / 150

Mobile en deplacement dans un reseau etranger :


optimisation

@CN = 2001:503:231d::2:30
Table des associations du correspondant
@HoA = 2001:660:300f:100::EthMob

Table des associations de lagent mre


@HoA = 2001:660:300f:100::EthMob
@CoA = 2001:660:010c::EthMob

@CoA = 2001:660:010c::EthMob

Tuy
et Tr
am DANG NGOC

115 / 150

Tuy
et Tr
am DANG NGOC

IPv6

115 / 150

Mobilit
e

Mobilit
e

Mobile en deplacement dans un reseau etranger :


optimisation

@CoA = 2001:660:010c::EthMob

Type 145 : Decouverte dagent m`ere (reponse)

2001:503:231d::/48

Type 146 : Sollicitation de prefixe mobile Lorsquune adresse m`ere


approche de sa date de peremption, le mobile ne peut pas envoyer
tout simplement de sollicitation de routeur sil nest pas dans le
reseau m`ere. Dans ce cas il emet un message appele sollicitation de
prefixe mobile, directement vers lagent m`ere. Ce message est
semblable `a une sollicitation de routeur, mais il contient loption
den-tete destination home address.

2001:660:300f:100::/56

HA
IPSrc
@CoA
IPSrc
@HoA

IPDst
@CN
IPDst
@CN

NH
UL

Donnes

NH
UL

Detection de perte du reseau

Type 144 : Decouverte dagent m`ere (requete) message envoye par le


mobile pour decouvrir les agents m`eres sur son reseau m`ere `a ladresse
anycast des Agents m`ere IPv6 pour le prefixe de son reseau m`ere.

@CN = 2001:503:231d::2:30
Table des associations du correspondant
@HoA = 2001:660:300f:100::EthMob

@HA = 2001:660:300f:100::1

Mobilit
e

Messages ICMPv6 de gestion de mobilite

Donnes

2001:660:010c::/48

Type 147 : Annonce de prefixe mobile

Tuy
et Tr
am DANG NGOC

Introduction

Adressage

Format dune trame

Services

Mobilite

Securite

Integration

Programmation

Tuy
et Tr
am DANG NGOC

Conclusion

IPv6
S
ecurit
e

Type 150 : Protocoles de mobilite experimentaux, tels que Seamoby


115 / 150

Tuy
et Tr
am DANG NGOC

IPv6
S
ecurit
e

116 / 150

IPv6 et la securite

Periodiquement
le routeur indique dans les messages ICMPv6 Annonce du routeur
non sollicites, le delai entre deux annonces
Le mobile qui ecoute en permanence les annonces emises peut alors
deduire de la perte de plusieurs annonces successives quil vient
probablement de changer de reseau.

trafic non negligeable.


Tuy
et Tr
am DANG NGOC

IPv6
S
ecurit
e

117 / 150

IPSec

Integration dIPsec `a la mani`ere dune extension dIPv6 (en-tete Next


Header) au lieu dune surcouche (comme pour IPv4).
(Realise initialement pour IPv6 et adaptee ensuite pour IPv4)
Garantit :

La couche IPSec est integree `a IPv6 sous la forme de deux extensions :


extension dauthentification (Authentification Header) : garantissant
lauthentification et lintegrite

la confidentialite des donnees.


Lintegrite des donnees.

extension de confidentialite (Encapsulating Security Payload) :


garantissant la confidentialite, lintegrite et lauthentification

Lauthentification de lorigine des donnees.


La protection contre le rejeu.
La securite permet de se premunir du sniffing (ecoute du reseau), du
spoofing (usurpation dadresse), des attaques man in the middle
(homme-du-milieu),...

IPv6
S
ecurit
e

118 / 150

Modes de fonctionnement

Tuy
et Tr
am DANG NGOC

IPv6
S
ecurit
e

119 / 150

Extensions de securite

mode tunnel : IPsec cree un tunnel pour la communication entre deux


machines pour bien securiser les donnees. Le mode tunnel est tr`es
utilise par le protocole IPsec dans le reseau de type LAN-to-LAN car il
offre une protection contre lanalyse de trafic, les adresses de la
source et ladresse de destinataire sont toutes masquees. On doit
choisir entre le protocole AH ou ESP. Ce mode cree un nouveau
paquet IP encapsulant celui qui doit etre transporte.

IPv6

121 / 150

Tuy
et Tr
am DANG NGOC

IPv6
S
ecurit
e

120 / 150

Authentification Header (AH) NH=51


Fournit lintegrite et lauthentification.

mode transport : Si lon ne veut securiser que les donnees, on va


choisir dutiliser le mode transport. Il est generalement utilise pour
acheminer les donnees de type Host-to-Host. On peut choisir le
protocole AH, ESP ou les deux.

Tuy
et Tr
am DANG NGOC

le routeur par defaut nest plus accessible


ne detecte la perte du routeur par defaut que lorsquil a des donnees `a
transmettre, ce qui retarde la detection du changement de reseau et
augmente dautant la duree des interruptions.

reduction de delai entre deux annonces (en moyenne 50ms au lieu de


3s)

Experimentaux

@HoA = 2001:660:300f:100::EthMob
@CoA = 2001:660:010c::EthMob

` lenvoi des donnees :


A

AH authentifie les paquets en les signant, ce qui assure lintegrite de


linformation.
Une signature unique est creee pour chaque paquet envoye et
empeche que linformation soit modifiee.

Revenir aux options

0
Prochain entete
(NH)

16
Longueur

24

31

rserv

indices des paramtres de scurit (SPI)


numro de squence
donnes dauthentification
(nombre variable de mots de 32 bits)

Tuy
et Tr
am DANG NGOC

IPv6

122 / 150

Tuy
et Tr
am DANG NGOC

IPv6

123 / 150

S
ecurit
e

S
ecurit
e

Encapsulating Security Payload (ESP) NH=50

Int
egration

Association de securite

fournit egalement lintegrite mais aussi la confidentialite


(chiffrement/dechiffrement).
0

Prochain entete
(NH)

16

24

31

association de securite (SA) : etablissement dinformation de securite


partagee entre deux entites de reseau. Faite par ISAKMP ou
manuellement.

rserv

Longueur

indices des paramtres de scurit (SPI)


numro de squence
donnes utiles
(donnes chiffres et ventuellement
les donnes de synchronisation)
Remplissage
(padding)

Taille du
remplissage

ISAKMP : cadre pour etablir, negocier, modifier et supprimer des SA


entre deux parties.

Remplissage
(padding)
Entete
Suivant

Introduction

Adressage

Format dune trame

Services

Mobilite

Securite

Integration
Integration au reseau IPv4
Migration des applications

Tuy
et Tr
am DANG NGOC

donnes dauthentification (optionnel)


(nombre variable de mots de 32 bits)
(+remplissage ventuel)

Tuy
et Tr
am DANG NGOC

IPv6
Int
egration
Int
egration au r
eseau IPv4

124 / 150

Tuy
et Tr
am DANG NGOC

IPv6
Int
egration
Migration des applications

125 / 150

Programmation

IPv6
Int
egration
Migration des applications

126 / 150

Passage
dIPv4 `a IPv6
Conclusion

# charger le module IPv6


modprobe ipv6
1

tout lInternet est en IPv4

# ajouter (et pas remplacer) une adresse IPv6 en plus des adresses existantes pour cette interface
ifconfig eth0 add adresse_ipv6/prefixe
2 quelques

Les syst`emes dexploitation modernes supportent une double pile


IPv4/IPv6 (dual stack).
Les machines poss`edent une adresse IPv6 et une adresse IPv4 mappee
( : :FF :xx :xx :xx :xx).
Des tunnels sont crees `a la fronti`ere de deux zones IPv6 par des
routeurs connectes entre eux par une adresse IPv4.

endroits sont en IPv4/IPv6. Ils communiquent avec le reste


IPv4 directement, et avec dautres endroits IPv6 par des
encapsule dans IPv4.

de lInternet
# creer un tunnel appel
e "montunnel" entre les deux interfaces IPv4 publiques (locale et distante)
ip tunnel add montunnel mode sit ttl 64 remote adresse_routeur_distant local adresse_publique_locale
tunnels IPv6
# ajouter une adresse IPv6 locale `
a linterface tunnel nouvellement cr
e
e
ifconfig montunnel add adresse_ipv6_locale

certains endroits sont en IPv6 seulement. Ils communiquent avec le


reste de lInternet par des passerelles de conversion, et avec dautres
endroits IPv6 par des tunnels IPv6 encapsule dans IPv4.

La plupart de lInternet est en IPv6. Il reste quelques endroits en IPv4

tout lInternet est en IPv6

# activer cette interface (virtuelle)


ip link set dev montunnel up
# sil faut envoyer vers une adresse IPv6 unicast globale, alors passer par le tunnel
ip -6 route add 2000::/3 dev montunnel metric 1

Pour linstant on est `a la phase 2...

Tuy
et Tr
am DANG NGOC

Introduction

Adressage

IPv6
Programmation

127 / 150

Tuy
et Tr
am DANG NGOC

IPv6
Programmation

Point de communication defini par une adresse et un port.

struct sockaddr_in6 {
uint16_t
sin6_family;
uint16_t
sin6_port;
uint32_t
sin6_flowinfo;
struct in6_addr sin6_addr;
uint32_t
sin6_scope_id;
};

Format dune trame

Services

struct in_addr {
uint32_t s_addr;

Mobilite

};
struct sockaddr_in {
sa_family_t
sin_family;
uint16_t sin_port;
struct in_addr sin_addr;
char sin_zero[8];
};

Integration

Programmation
Les fonctions de conversion numeriques dadresses
Tuy
et Tr
am DANG NGOC

IPv6

130 / 150

IPv6
Programmation

Structure sockaddr in6 (IPv6)

Securite

Tuy
et Tr
am DANG NGOC

Structure sockaddr in (IPv4)

#include <netinet/in.h>
#include <sys/socket.h>

128 / 150

Tuy
et Tr
am DANG NGOC

/* Adresse IP binaire */
/* 32 bits - NBO */

/*
/*
/*
/*

AF_INET6 */
num
ero de port */
information de flux IPv6 */
adresse IPv6 */
Scope ID (nouveaut
e 2.4) */

struct in6_addr {
unsigned char s6_addr[16]; /* adresse IPv6, groupe de 16
nombres hexad
ecimaux sur 2
chiffres, s
epar
es par un

deux-points
: */
};

AF_INET */
Num
ero de port - NBO */
Adresse IP */
initialis
e `
a z
ero */

IPv6

/*
/*
/*
/*
/*

129 / 150

131 / 150

Tuy
et Tr
am DANG NGOC

IPv6

132 / 150

Programmation

Les fonctions de conversion num


eriques dadresses

Programmation

Fonctions de conversions numeriques dadresses IP

Les fonctions de conversion num


eriques dadresses

Programmation

inet pton

Les fonctions de conversion num


eriques dadresses

inet ntop
Convertir une adresse sous forme binaire en sa forme textuelle.

Convertir une adresse IP sous la forme XXX.YYY.ZZZ.TTT (resp.


aaaa :bbbb :cccc :dddd :eeee :ffff :gggg :hhhh (ou version abregee)) en
struct in addr (resp. struct in addr6) et inversement.
Fonctions specifiques `a IPv4 : ne plus utiliser, non compatible IPv6
inet addr : conversion chaine adresse vers structure
inet ntoa : conversion structure vers chaine adresse

Convertir une adresse textuelle en sa forme binaire :


#include <sys/socket.h>
#include <arpa/inet.h>

char * inet_ntop(int af, const void *src, char *dst,


size_t size)

int inet_pton(int af, const char src, void *dst) ;

af AF INET ou AF INET6
src ladresse (chaine de caract.) `a traiter

Fonctions normalisee IPv4/IPv6 : `a utiliser de preference

dst le tampon o`
u est range le resultat

inet pton : convertit une adresse textuelle en sa forme binaire


inet ntop : Convertir une adresse sous forme binaire en sa forme
textuelle.

Tuy
et Tr
am DANG NGOC

#include <sys/socket.h>
#include <arpa/inet.h>

retourne 1 si conversion reussie, 0 si chaine de caract`eres qui lui a ete


fournie nest pas une adresse valide et -1 en cas derreur.

IPv6
133 / 150
Programmation
Les fonctions de conversion num
eriques dadresses

Tuy
et Tr
am DANG NGOC

IPv6
134 / 150
Programmation
Les fonctions de conversion num
eriques dadresses

Fonctions de conversions de nom vers adresses IP et de


nom de services vers numero de protocole + port

inet pton/inet ntop

Fonctions specifiques `a IPv4 : ne plus utiliser, non compatible IPv6


gethostbyname (resp. gethostbyaddr) : renvoie une structure
hostent (contenant entre autre le nom et ladresse IP) pour un nom
dh
ote donne (resp. pour une adresse IP donnee).
getservbyname (resp. getservbyport) : renvoi une structure servent
(contenant entre autre le nom et le numero de port) pour un nom de
service donne (resp. pour un numero de port donne).
getprotobyname (resp. getprotobynumber) : renvoi une structure
protoent (contenant entre autre le nom et le numero de protocole) pour
un nom de protocole donne (resp. pour un numero de protocole donne).

char resultat6 [16], resultat4 [16];


...
inet_pton(AF_INET6, "fe80::0216:76ff:fe04:f24a", resultat6);
inet_pton(AF_INET4, "193.51.24.3", resultat4);
...
char buffer6 [100], buffer4 [100] ;
...
inet_ntop(AF_INET6, resultat6, buffer6, sizeof(buffer6));
inet_ntop(AF_INET, resultat4, buffer4, sizeof(buffer4));
...

Fonctions normalisee IPv4/IPv6 : `a utiliser de preference


getnameinfo : convertit une adresse de socket en un h
ote et un
service correspondants, de facon independante du protocole
getaddrinfo : convertit un nom dh
ote et un nom de service en une
adresse Internet, un numero de protocole et un numero de service
Tuy
et Tr
am DANG NGOC

IPv6
136 / 150
Programmation
Les fonctions de conversion num
eriques dadresses

Tuy
et Tr
am DANG NGOC

IPv6
137 / 150
Programmation
Les fonctions de conversion num
eriques dadresses

af AF INET ou AF INET6
src ladresse binaire `a traiter
dst le tampon o`
u est range le resultat Il doit etre dune taille
suffisante, `a savoir 16 octets pour les adresses IPv4 et 46 octets pour
les adresses IPv6.
Les tailles sont definies dans netinet/in.h par :
#define INET_ADDRSTRLEN 16
#define INET6_ADDRSTRLEN 46
size la taille de ce tampon
retourne un pointeur vers le tampon o`
u est range le resultat de la
conversion. nul si erreur (famille dadresses non reconnue ou taille du
tampon
insuffisante).
Tuy
et Tr
am DANG NGOC
IPv6
135 / 150
Programmation

Les fonctions de conversion num


eriques dadresses

getaddrinfo, getnameinfo
Les primitives gethostbyname, gethostbyaddr, getservbyname et
getservbyport ont ete remplacees par les deux primitives independantes
de la famille dadresses getaddrinfo et getnameinfo
struct addrinfo {
int ai_flags;
int ai_family;
int ai_socktype;
int ai_protocol;
size_t ai_addrlen;
char *ai_canonname;
struct sockaddr *ai_addr;
struct addrinfo *ai_next;
};

/*
/*
/*
/*
/*
/*
/*
/*

AI_PASSIVE, AI_CANONNAME, ... */


AF_UNSPEC ou AF_INET ou AF_INET6 */
0 ou SOCK_DGRAM ou SOCK_STREAM */
0 ou IPPROTO_xxx pour IPv4 et IPv6 */
la taille de ladresse binaire ai_addr */
le nom compl
etement qualifi
e */
ladresse binaire */
la structure suivante dans la liste cha^
n
ee

Lorsque la liste de resultat nest plus necessaire, la memoire allouee peut


etre liberee par la primitive freeaddrinfo.
void freeaddrinfo(struct addrinfo *res);
Tuy
et Tr
am DANG NGOC

IPv6
138 / 150
Programmation
Les fonctions de conversion num
eriques dadresses

Exemple dutilisation de getaddrinfo


#include
#include
#include
#include

int getaddrinfo(const char *nodename, const char *servname,


const struct addrinfo *hints,
struct addrinfo **res);

nodename nom DNS ou adresse IP (v4 ou v6) dune machine `a


resoudre

#include <sys/socket.h>
#include <netdb.h>

servname nom ou numero dun service `a resoudre


hints permet de choisir les reponses souhaitees.

int getnameinfo(const struct sockaddr *sa, socklen_t salen,


char *host, size_t hostlen,
char *serv, size_t servlen, int flags);

NULL si la liste des reponses doit contenir toutes les adresses et tous
les protocoles
structure addrinfo dont les champs ai family, ai socktype et
ai protocol definissent les types de resultat attendus.

<stdio.h>
<unistd.h>
<sys/socket.h>
<netdb.h>

int open_conn(char *host, char *serv) {


int s, errcode;
struct addrinfo *res;
struct addrinfo hints = { 0, PF_UNSPEC, SOCK_STREAM, 0, 0, NULL, NULL, NULL };
errcode = getaddrinfo(host, serv, &hints, &res);
if (errcode) {
fprintf(stderr, "getaddrinfo: %s", gai_strerror(errcode)); exit(1);
}
if ((s = socket (res->ai_family, res->ai_stype, res->ai_protocol)) < 0) {
freeaddrinfo(res); perror("s"); return -1;
}

res la structure contenant le resultat.

if (connect(s, res->ai_addr, res->ai_addrlen) < 0) {


close(s); freeaddrinfo(res); perror("connect"); return -1;
}
freeaddrinfo(res);
return s;
Tuy
et Tr
am DANG NGOC

IPv6

139 / 150

Tuy
et Tr
am DANG NGOC

IPv6

140 / 150

Tuy
et Tr
am DANG NGOC

IPv6

141 / 150

Programmation

Les fonctions de conversion num


eriques dadresses

Programmation

Programme TCP client normalise

Les fonctions de conversion num


eriques dadresses

Conclusion

Programme TCP serveur normalise


1

Introduction

Adressage

Format dune trame

Services

Mobilite

Securite

Integration

Programmation

Tuy
et Tr
am DANG NGOC

Ne pas manipuler directement les structures sockaddr *.


struct addrinfo *res, *rres, hints;
int sock ;
memset(&hints, 0, sizeof hints) ;
hints.ai_flags = AI_PASSIVE;
hints.ai_socktype = SOCK_STREAM;
hints.ai_family = family;
getaddrinfo(NULL, serv, &hints, &res);
sock = socket(res->ai_family, res->ai_socktype,
res->ai_protocol);
bind(sock, res->ai_addr, res->ai_addrlen) < 0) ;
listen(sock, SOMAXCONN);
freeaddrinfo(rres) ;
/* travail de lecture/reception du sock*/

int sock, ecode;


struct addrinfo *res;
struct addrinfo hints = { 0, PF_UNSPEC, SOCK_STREAM, 0, 0,
NULL, NULL, NULL };
ecode = getaddrinfo(host, serv, &hints, &res);
sock = socket(res->ai_family, res->ai_socktype,
res->ai_protocol) ;
connect(sock, res->ai_addr, res->ai_addrlen) < 0) ;
freeaddrinfo(res);
/* travail de lecture/reception du sock*/

Tuy
et Tr
am DANG NGOC

IPv6
Conclusion

142 / 150

IPv6 mature

IPv6
Conclusion

143 / 150

Syst`emes supportant IPv6

applications de bases toutes portees : ping6, traceroute, ftp, telnet,


IE, IPsec, ...
client/serveur grand public toutes portees : web, web, video,
television, telephonie, forum, chat, ...
fournisseurs et operateurs offrent quasiment tous des adresses IPv6

Tuy
et Tr
am DANG NGOC

Tuy
et Tr
am DANG NGOC

IPv6
Conclusion

145 / 150

Linertie de lInternet

Conclusion

IPv6
Conclusion

Et pourtant...

Syst`emes dexploitation
Windows NT et Windows 2000, Windows XP en natif
MacOS 10.1 et MacOS X
IBM AIX 4.3 et superieure
Solaris 8 et superieure
Compaq True64 UNIX et OpenVMS v5.1 et superieure,
HP-UX 11i et superieure
Linux 2.4 et superieure
FreeBSD 4.0 et superieure
...
Equipement dinterconnexion reseaux
CISCO IOS 12.2 et superieure
JUNIPER JUNOS 5.1 et superieure
des routeurs et modems-routeurs ADSL 6WIND, Alcatel, Cisco,
Juniper, Hitachi, ...
Equipement terminal
appareils
photos, camera
Tuy
et Tr
am DANG NGOC
IPv6
Conclusion
equipement domotique divers

1974 : premi`eres specifications de TCP/IP


1981 : formalisation dIPv4
1984 : une centaine ordinateurs IPv4 dans le monde.
1992 : utilisation commerciale, explosion de la demande dadresse IP
Juillet 1994 : Prise de conscience du risque de penurie et creation des
groupes de travail IPNG.
Decembre 1994 : Choix du protocole SIPP renomme IPv6.
1996 : Deploiement du 6Bone (reseau de test IPv6 mondial)
1998 : Creation de lICANN reprenant (entre autre) lattribution de la
numerotation IP. Selection du plan dadressage IPv6.
1999 : Debut des allocations des prefixes IPv6. Debut de la transition
dIPv4 `a IPv6
2002 : 3GPP/UMTS adopte IPv6
2008 : IPv6 ne repr
esente que 0.0026% `
a .012% du trafic
Internet mesure juin2007-juin2008 par Arbor Networks).
146 / 150

Quattend-t-on pour passer `a IPv6

Trop grosse inertie de lInternet.


Tuy
et Tr
am DANG NGOC

IPv6
Conclusion

pour etre accessibles par les syst`emes et reseaux sans IPv6, les
materiels, applications et site IPv6 sont compatibles IPv4.

les utilisateurs, administrateurs et constructeurs ne voient pas


linteret de passer `a IPv6

On attend une explosion des tables, des adresses, ..

http://livre.g6.asso.fr/index.php/Main Page

goto 1

On attend que les pays mal servis en adresses IPv4 poussent lInternet
`a passer en IPv6 (Japon)

IPv6, The New Internet Protocol (2nd ed), Christian Huitema,


Prentice Hall

On attend la killer-application (celle qui rendra IPv6 indispensable car


non gerable par IPv4) !

adresse www.6bone.net

On compte sur lInternet des objets...

http://www.kame.net

Bibliographie
IPv6, Theorie et pratique, Gis`ele Cizault, OReillly

Des solutions ont ete faites pour pallier les manques dIPv4 :
manque dadresse IPv4 utilisation du NAT, de ladressage prive et
du DHCP
explosion des tables de routage utilisation des CIDR, on ach`ete des
routeurs plus performants. Pour linstant, ca tient encore...

IPv6

148 / 150

adresse www.ipv6.org
Supports de cours IPv6 de Pierre David de luniversite de Strasbourg
Supports de cours IPv6 de Patrick Ducrot de lENS Caen

pas de gestion de la securite, qos, mobilite au niveau de la couche IP


on realise cela au niveau des couches superieures (au prix dune
degradation des performances, et dun controle au cas par cas).
Tuy
et Tr
am DANG NGOC

147 / 150

References

144 / 150

... et tous les internet-drafts et RFC

Tuy
et Tr
am DANG NGOC

IPv6

149 / 150

Tuy
et Tr
am DANG NGOC

IPv6

150 / 150