IPv6-Gene[1].. Chap7

of 81 /81

Embed Size (px)

description

IPv6-Gene[1].. Chap7

Transcript of IPv6-Gene[1].. Chap7

Page 1: IPv6-Gene[1].. Chap7
Page 2: IPv6-Gene[1].. Chap7

21/04/23 2

Plan• Introduction• Limites d’IPv4• Pourquoi IPv6 ?• Caractéristiques d’IPv6• Format du paquet IPv6• Les entêtes d’extension• Adressage IPv6• Neighbor Discovery• Auto-configuration• Analyse des trames

Page 3: IPv6-Gene[1].. Chap7

21/04/23 3

Introduction…

Page 4: IPv6-Gene[1].. Chap7

21/04/23 4

Page 5: IPv6-Gene[1].. Chap7

21/04/23 5

Tout autour d’IP…

Page 6: IPv6-Gene[1].. Chap7

21/04/23 6

Page 7: IPv6-Gene[1].. Chap7

21/04/23 7

Limites d’IPv4…

Page 8: IPv6-Gene[1].. Chap7

• Croissance exponentielle de la taille d’Internet– Épuisement des adresses IPv4 2012-2017 : ( 4 milliards d’@ )

– Routage pas trop hiérarchique (3 niveaux pour IPV4) – Explosion de la taille des tables de routage (environ 200000

routes en 2006)

Limites d’IPv4

Page 9: IPv6-Gene[1].. Chap7

Quelques solutions provisoires pour résoudre le problème d’adresses :• DHCP, • CIDR• et surtout NAT• Mais :

* Nat : Communication de bout en bout difficile.

* Limite l’innovation dans : VOIP, Mobilité, QOS.

21/04/23 9

Page 10: IPv6-Gene[1].. Chap7

• Fortes inégalités géographiques

– Répartition des adresses Ipv4• Etats-unis : 74% (5 @ par habitant)

• Europe : 17% (2 @ par habitant)

• Asie : 9% (0.003 par habitant)

• Afrique :

21/04/23 10

Page 11: IPv6-Gene[1].. Chap7

D’autres Carences d’IPv4

• Qualité de service : – IPv4 ne permet pas d’indiquer le type de données transportées

(TOS)

– Aucune garantie pour les applications temps réel.

– Nouveaux types d’application (Services mobiles, TV digital)

• Sécurité :– Pas de service de sécurité pour les paquets : authentification,

confidentialité et intégrité

– IPV4 a toujours considéré que c’est de la responsabilité des applications.

21/04/23 11

Page 12: IPv6-Gene[1].. Chap7

Pourquoi IPv6 ?

• Remédier aux problèmes d’IPV4 : – Résoudre le problème de manque d’adresses

– Qualité de service

– Sécurité

– Mobilité.

• Simplifier le traitement par les routeurs• Apporter une solution pour les problèmes

d’aujourd’hui et appréhender ceux de demain.

21/04/23 12

Page 13: IPv6-Gene[1].. Chap7

21/04/23 13

Caractéristiques d’IPv6…

Page 14: IPv6-Gene[1].. Chap7

• Possibilités d'adressage étendues

– de 32 bits à 128 bits. Nombre d’adresses :

340282366920938463463374607431768211456

– Préfixe réseau + Identifiant machine

– Un nouveau type d’adresses anycast

• Format d'entête simplifié

– Traitement plus rapide dans les routeurs

• Options intégrées dans des extensions d'entête

Caractéristiques d’IPv6

Page 15: IPv6-Gene[1].. Chap7

• Possibilité d'autoconfiguration

– Plag and Play

• Possibilité d’authentification et de confidentialité

– Grâce à des outils de cryptographie

• Possibilité de qualité de service (QOS)

– Grâce à l’introduction de flux étiqueté

• Transition simple d’IPv4 vers IPv6

Caractéristiques d’IPv6

Page 16: IPv6-Gene[1].. Chap7

21/04/23 16

Format du paquet IPv6 …

Page 17: IPv6-Gene[1].. Chap7

21/04/23 17

Format du paquet IPv6

• En-tête + extension d’en-tête + Payload

• En-tête de taille fixe (40 octets)

• Les options suivent l’en-tête

• Pas de checksum

• Fragmentation de ‘ bout en bout ’

• Mécanisme de découverte du MTU

Page 18: IPv6-Gene[1].. Chap7

Format de l'en-tête IPv6

Page 19: IPv6-Gene[1].. Chap7

Format de l'en-tête IPv6

• Version (4 bits)Les routeurs deveront examiner ce champ pour

savoir quel type de datagramme ils routent.

• Nombre de sauts = TTL– Décrémenté de 1 à chaque traversée d’un

routeur.

Page 20: IPv6-Gene[1].. Chap7

• Longueur des données– Taille des données utiles (sans en-tête IPv6)– Si taille > 65 535

• Valeur 0• Option jumbogramme

• Entête suivant– Identifie le type d’entête suivant l’enête IPV6.

Même rôle que le champ Protocole dans IPV4.

Format de l'en-tête IPv6

Page 21: IPv6-Gene[1].. Chap7

• Identificateur de flux (20 bits)

Utilisé comme Label par une source pour identifier des paquets pour lesquels un traitement spécial de la part des routeurs IPv6 est demandé : QOS, traitement "temps réel"…

• Les identificateurs de flux sont des numéros aléatoires

• Un paquet dans un flux est identifié par ses @IP et un identificateur unique sur tous les liens.

Format de l'en-tête IPv6

Page 22: IPv6-Gene[1].. Chap7

• Classe de trafic– DSCP (DiffServ Code Point) : Permet la

différentiation de différentes classes de service ou priorités (TOS en IPv4)

– ECN : Explicit Congestion Notification

DSCP ECN

Format de l'en-tête IPv6

Page 23: IPv6-Gene[1].. Chap7

21/04/23 23

Les entêtes d’extension…

Page 24: IPv6-Gene[1].. Chap7

21/04/23 24

Les entêtes d’extension

• Informations complémentaires placées entre l’entête IPV6 et l’entête de la couche transport

• A part l’entête “Hop by Hop”, les entêtes d’extension ne sont traitées qu’à la destination.

• Les entêtes d’extension doivent être analysées dans l’ordre d’apparition

Page 25: IPv6-Gene[1].. Chap7

21/04/23 25

Exemples d’entêtes d’extension

Page 26: IPv6-Gene[1].. Chap7

21/04/23 26

Ordre des en-têtes

Dans un paquet IPv6, il est recommandé que les en-têtes apparaissent dans l'ordre suivant :

• En-tête IPv6• En-tête des options sauts après saut• En-tête des options de destination• En-tête de routage• En-tête de fragmentation• En-tête d’authentification• En-tête d’encapsulation de charge utile sécurisée• En-tête des options de destination• En-tête de couche supérieure

Page 27: IPv6-Gene[1].. Chap7

21/04/23 27

Chaînage des en-têtes

IPv6 HeaderNext Header = TCP

TCP Header+ Data

TCP Header+ Data

IPv6 HeaderNext Header = Routing

Routing HeaderNext Header = TCP

IPv6 HeaderNext Header = Routing

Routing HeaderNext Header =Fragment

Fragment HeaderNext Header = TCP

Fragment of TCP Header+ Data

IPv6 HeaderNext Header = Routing

Routing HeaderNext Header =Fragment

Fragment HeaderNext Header = TCP

Fragment of TCP Header+ Data

Page 28: IPv6-Gene[1].. Chap7

21/04/23 28

Option Nœud par Nœud (Hop-by-Hop) - Option identifiée par une valeur next entête égale à 0- Elle vient juste après l’entête IPv6 - Option qui doit être examinée par chaque nœud le long du chemin emprunté par le paquet.

Page 29: IPv6-Gene[1].. Chap7

Next Header (8 bits): identifie le type d'entête suivant

Hdr Ext Len (8 bits): longueur de l'entête des options noeud-par-noeud en multiple de 8 octets.

Options: ce champ contient une ou plusieurs options

codées en TLV (Type-Length-Value). Ce premier est de

longueur variable, il est un multiple de 8 octets.

21/04/23 29

Page 30: IPv6-Gene[1].. Chap7

21/04/23 30

Option de Routage Utilisée par une source IPv6 pour lister au moins un nœud intermédiaire à aller voir sur le chemin emprunté par le paquet vers la destination. Cette fonction est très similaire aux options de "Loose Source" ou "Record Route" de l'entête IPV4.

Page 31: IPv6-Gene[1].. Chap7

21/04/23 31

Page 32: IPv6-Gene[1].. Chap7

21/04/23 32

Option Routage • Next Header (8 bits) : Type d’entête immédiatement

après l’entête routage

• Routing type (8 bits) : Type de routage supporté par cet entête. Ici type 0 : c’est le routage par la source.

• Hdr Ext Leng (8 bits) : Longueur de l’en-tête en mots de 8 octets

• Segment left (8 bits) : Nombre de nœuds qu’il reste à traverser

• Source Route (multiple de 128 bits) : Liste d’adresses IPV6 indiquant le chemin à suivre par le paquet (unicast ou anycast).

Page 33: IPv6-Gene[1].. Chap7

21/04/23 33

Exemple de routage Type 0

Page 34: IPv6-Gene[1].. Chap7

21/04/23 34

Utilisée par une source IPv6 pour envoyer un paquet plus large que celui qui tiendrait dans le MTU vers la destination. Attention, contrairement à l'entête IPV4, la fragmentation dans IPv6 n'est réalisée que par les nœuds sources et non par les routeurs le long d'un chemin emprunté par le paquet.

Option Fragmentation

Page 35: IPv6-Gene[1].. Chap7

21/04/23 35

• Next Header (8 bits): identifie le type d'entête suivant immédiatement l'entête de fragmentation.

• Fragmentation Offset (13 bits): Indique la position du premier octet dans le datagram total

(non fragmenté). Le premier fragment a la place 0.

• M flag (1 bit) : Si M=1 : d’autres fragments à suivre.

• Identification (32 bits): Assignée au paquet d'origine pour identifier le datagram lors du réassemblage des paquets.

Option Fragmentation

Page 36: IPv6-Gene[1].. Chap7

21/04/23 36

L'option de "Destination" est utilisée pour transporter des informations optionnelles qui ont besoin d'être examinées

uniquement par les nœuds destinations du paquet.

Option Destination

Page 37: IPv6-Gene[1].. Chap7

21/04/23 37

L'extension d'authentification (AH : Authentication Header):

s'assurer que l'émetteur du message est bien celui qu'il prétend être

Contrôle d'intégrité pour garantir au récepteur que personne n'a modifié le contenu d'un message lors de son transfert sur le réseauL'extension ESP (Encapsulating Security Payload):

Chiffrer l'ensemble des paquets ou leur partie transport et de garantir l'authentification et l'intégrité de ces paquets

Détecter les rejeuxGarantir (de façon limitée) la confidentialité du flux.

Option Sécurité

Page 38: IPv6-Gene[1].. Chap7

Adressage IPv6Adressage IPv6

Page 39: IPv6-Gene[1].. Chap7

21/04/23 39

Généralités

• Adressage sur 128 bits : 2128 adresses soit 3,4 1038 adresses• Soit 6 1014 adresse/personne• Pas de relation univoque interface ----- adresse• Possibilité de plusieurs adresses par interface• 3 types d’adresses distingués à l’aide des premiers bits :

UnicastMulticastanycast

Page 40: IPv6-Gene[1].. Chap7

21/04/23 40

Notation

• x:x:x:x:x:x:x:x• Où chaque « x » est un champ de 16 bits représenté en hexadécimal

2001:0660:7401:0201:0000:0000:0000:ABCD• Les zéros à gauche de chaque champ peuvent être omis

2001:660:7401:201:0:0:0:abcd• Plusieurs champs successivement nuls peuvent être représentés par «

:: »2001:660:7401:201::abcdUn seul « :: » par adresse

Page 41: IPv6-Gene[1].. Chap7

• Représentation textuelle similaire à la notation CIDR .

ipv6-address/prefix-length

• Exemple : Représentations légales du 60-bit préfixe 20010DB80000CD3 (hexadécimal) sont :

- 2001:0DB8:0000:CD30:0000:0000:0000:0000/60

- 2001:0DB8::CD30:0:0:0:0/60

- 2001:0DB8:0:CD30::/60

21/04/23 41

Notation

Page 42: IPv6-Gene[1].. Chap7

21/04/23 42

Types d’adressesUnicast :- Une adresse correspond à une seule interface.

- Une interface peut être associée à plusieurs adresses unicast

Multicast :- Cette adresse correspond à un groupe de machines pouvant être

situées n’importe d’où dans l’Internet.

- Il existe des groupes permanents et des groupes temporaires

- Plus de broadcast

Anycast :- Cette adresse correspond à un groupe de machine mais l’appelant

ne joint que la plus proche.

Page 43: IPv6-Gene[1].. Chap7

21/04/23 43

Identification de types d’adresses• Le type d’adresse IPv6 est identifié par les bits de poids forts :

• Type Adresse Préfix Binaire Notation IPv6

Unspecified 00...0 (128 bits) ::/128

Loopback 00...1 (128 bits) ::1/128

Multicast 1111 1111 FF00::/8

Link-local unicast 1111 1110 10 FE80::/10

Global unicast 001 2000::/3 attribué

Adresses Anycast Prises de l’espace d’adressage du type unicast et ne peuvent pas être distinguées des adresses unicast.

Page 44: IPv6-Gene[1].. Chap7

21/04/23 44

Allocation de l’espace d’adressage

Page 45: IPv6-Gene[1].. Chap7

21/04/23 45

Adresses UNICAST

Interface IDGlobal Routing Prefix

64bits64bits 64 bits64 bits

Page 46: IPv6-Gene[1].. Chap7

21/04/23 46

ID : Identifiant d’interface

– Un identifiant d'interface est construit à partir de l'adresse physique:

24 bits 24 bits

Constructeur Numéro de série

1 …. 7 8

24 bits 24 bits

Constructeur Numéro de série

16 bits

1 …. 7 8

1 …. 7 8

FF FE

FF FE

24 bits 24 bits

Constructeur Numéro de série

16 bits

EUI-48 : adresse MAC

1 0Identifiant d’interface

Identifiant EUI-64

00 08 74 A4 C8 36

00 08 74 FF FE A4 C8 36

Adresse IPv6 : 2001:0660:5402:0800:0208:74FF:FEA4:C836

Page 47: IPv6-Gene[1].. Chap7

21/04/23 47

Exemple de calcul d’adresse

– Adresse MAC ethernet = 00:30:48:2E:3D:7D

– Adresse lien local: FE80::0230:48FF:FE2E:3D7D

Page 48: IPv6-Gene[1].. Chap7

21/04/23 48

Adresse non spécifiée:

• Indique l’absence d’adresse

• Adresse initiale pour dhcp

• Notée 0:0:0:0:0:0:0:0 ou plus simplement « :: »

• Équivalente à l’adresse 0.0.0.0 en IPv4

Page 49: IPv6-Gene[1].. Chap7

21/04/23 49

Adresse de bouclage:

• Identifie l’interface locale de la machine

• Équivaut à 127.0.0.1 en IPv4

• Notée 0:0:0:0:0:0:0:1 ou plus simplement « ::1 »

Page 50: IPv6-Gene[1].. Chap7

21/04/23 50

Adresses globales

Page 51: IPv6-Gene[1].. Chap7

Hiérarchie des adresses IPv6

21/04/23 51

Page 52: IPv6-Gene[1].. Chap7

21/04/23 52

Hiérarchie des adresses IPv6

Page 53: IPv6-Gene[1].. Chap7

21/04/23 53

Adresses lien-local:

• Une adresse "lien local" n'est valide que sur un lien (elle ne traverse pas les routeurs).• Tout équipement dispose automatiquement d'une adresse lien-local qui va permettre

de découvrir les voisins.• Adresse générée automatiquement dès l’initialisation de l’interface• Préfixe => fe80::/16

Page 54: IPv6-Gene[1].. Chap7

21/04/23 54

Adresses site-local:

• Valable pour un site

• Préfixe => fec0::/16

Page 55: IPv6-Gene[1].. Chap7

21/04/23 55

• Une adresse multicast désigne un ensemble d'interfaces.

• Remplace le broadcast

• Une interface peut appartenir à 0, 1 ou plusieurs groupes

• Préfixe alloué => FF00::/8

• Un paquet IPv6 ne peut pas avoir comme adresse source une adresse de type Multicast.

Adresses Multicast

Page 56: IPv6-Gene[1].. Chap7

21/04/23 56

Adresse Multicast

• Flags = 4 bits

premier bit = 0 second bit = RTroisième bit = P Quatrième bit est nommé TT = 0 => adresse multicast permanenteT = 1 => adresse multicast temporaire (visioconférence)

Page 57: IPv6-Gene[1].. Chap7

21/04/23 57

Adresse Multicast

• Scope = 4 bits

scope = 0 : réservéscope = 1 : noeud (node-local scope)scope = 2 : lien (link-local scope)scope = 3 : sous-réseau (subnet-local scope)scope = 5 : site (site-local scope)scope = 8 : organisation (organisation-local scope)scope = E : global (global scope)scope = F : réservé

Page 58: IPv6-Gene[1].. Chap7

21/04/23 58

Adresse Multicast

Quelques préfixes multicast

• ff02::1 Tous les noeuds du lien

• ff02::2 Tous les routeurs du lien

• ff02::3 Toutes les machines du lien

• ff05::2 Tous les routeurs du site

Page 59: IPv6-Gene[1].. Chap7

21/04/23 59

Adresse anycast• Une adresse destination de type anycast désigne une interface parmi

un ensemble de machines bien défini.

• Format d'une adresse anycast:

Page 60: IPv6-Gene[1].. Chap7

21/04/23 60

Neighbor DiscoveryNeighbor Discovery

Page 61: IPv6-Gene[1].. Chap7

21/04/23 61

Neighbor Discovery

• S'appuie sur ICMPv6 et le multicast local

• Résolution d'adresse

• Détection d'inaccessibilité des voisins

• Préfixes réseau et masques associés

• Détection des conflits d'adresses

• Indication de redirection 

Page 62: IPv6-Gene[1].. Chap7

21/04/23 62

Neighbor DiscoveryND spécifie 5 types de paquets ICMPv6 :

1. Router Advertisement (RA)

2. Router Solicitation (RS)

3. Neighbor Advertisement (NA)

4. Neighbor Solicitation (NS)

5. Route Redirect

Page 63: IPv6-Gene[1].. Chap7

21/04/23 63

Neighbor Discovery Router Advertisement (RA): annonce périodique qui contient:

– La liste des préfixes utilisés sur le lien

– La valeur possible du « nombre de sauts »

– La valeur du MTU

Router Solicitation (RS):– l'hôte veut un RA immédiatement

Neighbor Solicitation (NS):– Pour déterminer l'adresse MAC d'un voisin

– pour tester inaccessibilité

– pour tester duplication d'adresse (DaD)

Page 64: IPv6-Gene[1].. Chap7

21/04/23 64

Neighbor Discovery

Neighbor Advertisement (NA):– Réponse à un paquet NS

– Avertir le changement d'une adresse physique

Redirect: – utilisé par un routeur pour informer un hôte d'une meilleure route

Page 65: IPv6-Gene[1].. Chap7

21/04/23 65

Auto-configuration

Page 66: IPv6-Gene[1].. Chap7

21/04/23 66

Auto-configuration

• Mode stateless "sans état": l'équipement va s'efforcer de récupérer le préfixe du site pour

construire son adresse (RFC 2462).

• Mode stateful "avec état": les informations sont envoyées par un serveur DHCP(RFC 3315).

Page 67: IPv6-Gene[1].. Chap7

21/04/23 67

Autoconfiguration Stateless

• L'équipement s'attribue une adresse "lien local".

• Vérification de l'unicité de cette adresse:

Envoi d'une trame ICMPv6 "sollicitation d'un voisin" (type 135) sur l'adresse multicast ff02::1

Aucune réponse après un temps déterminé (1 seconde par défaut), l'adresse est valide.

Page 68: IPv6-Gene[1].. Chap7

21/04/23 68

Autoconfiguration Stateless

Retour d'un message ICMPv6 "annonce d'un voisin en retour d'une sollicitation (bit S)" (type 136), l'adresse est déjà utilisée.

• Envoi d'une trame ICMPv6 "sollicitation d'un routeur" (type 133) sur l'adresse multicast ff02::2

• Réception d'une trame ICMPv6 "annonce de routeur" (type 134), le préfixe du site est retourné.

Page 69: IPv6-Gene[1].. Chap7

21/04/23 69

Auto-configuration stateless IPv6

RA indique SUBNET PREFIX

Subnet prefixe + Mac Adresse

Subnet prefixe + Mac Adresse

Page 70: IPv6-Gene[1].. Chap7

21/04/23 70

Analyse des trames

Page 71: IPv6-Gene[1].. Chap7

21/04/23 71

Page 72: IPv6-Gene[1].. Chap7

21/04/23 72

La configuration des routeurs

Page 73: IPv6-Gene[1].. Chap7

21/04/23 73

Configuration des nuages des réseaux

Page 74: IPv6-Gene[1].. Chap7

21/04/23 74

Analyse des trames

Page 75: IPv6-Gene[1].. Chap7

21/04/23 75

Page 76: IPv6-Gene[1].. Chap7

21/04/23 76

Page 77: IPv6-Gene[1].. Chap7

21/04/23 77

Page 78: IPv6-Gene[1].. Chap7

21/04/23 78

Page 79: IPv6-Gene[1].. Chap7

21/04/23 79

Page 80: IPv6-Gene[1].. Chap7

21/04/23 80

Conclusion

Qu'est ce qu'on attend?

Page 81: IPv6-Gene[1].. Chap7

21/04/23 81

Sites• http://www.urec.cnrs.fr

• http://peirce.logique.jussieu.fr/G6/

• http://www.infres.enst/~dax/

• http://minimum.inria.fr/~raynal/

• http://www-rennes.enst-bretagne.fr