ipv6

148
Thomas Moegli Ing. HES Télécommunications - Réseaux et Sécurité IT IPv6 Concepts et Mise en oeuvre

Upload: thomas-moegli

Post on 15-Apr-2017

1.321 views

Category:

Technology


0 download

TRANSCRIPT

Thomas Moegli Ing. HES Télécommunications - Réseaux et Sécurité IT

IPv6 Concepts et Mise en oeuvre

IPv6Introduction

Thomas Moegli

๏ Protocole IPv4 (Internet Protocol version 4)

๏ Développé au début des années 1980

๏ RFC 760 (Janvier 1980) rendu obsolète par la RFC 791 (Septembre 1981)

IPv4

3

Thomas Moegli

00001010 00000001 00000001 0000000110 1 1 1

10. 1. 1. 1

๏ Adresses de 32 bits représentés en notation décimale

๏ Permet 4.29 milliards d’adresses

IPv4 Structure

4

1er octet 2ème octet 3ème octet 4ème octet

Version IHL Type of Service Total Length

Identification Flags Fragment Offset

Time to Live Protocol Header Checksum

Source Address

Destination Address

PaddingOptions

Thomas Moegli

๏ 4.29 milliards d’adresses, permet un ratio 1:1 par rapport à la population mondiale

๏ Comment était Internet dans les années 1981 ?

๏ Pas de WWW, pas de terminaux mobiles et la plupart des personnes ne connaissent pratiquement pas Internet

๏ Principalement des mainframes

IPv4 IPv4 en 1981

5

IPv4IPv4 a été standardisée en 1981, proposant 4.29 milliards d’adresses IP (2

32) pour une population de 4.41

milliards de personnes.

Thomas Moegli

๏ 1990 : Introduction du World Wide Web

๏ Tout le monde pouvait avoir accès à Internet

๏ Les tables Internet ont donc rapidement grossies - 20’000 routes en 1994

๏ IETF a rapidement réalisé que l’espace d’adressage IPv4 serait insuffisante

IPv4 Débuts d’Internet

6

Thomas Moegli

๏ Défini au milieu des années 70’, IPv4 montre quelques limitations qui ne sont pas trop étonnantes au vu du développement de la téléinformatique durant cette période.

๏ En particulier, IPv4 a quelques faiblesses relatives dans les aspects suivants:

๏ Taille du champ d'adresse insuffisante au vu de la forte croissance du nombre de réseaux et de stations. C’est aujourd’hui le problème majeur d’IPv4.

๏ La taille des tables de routage des routeurs qui ont la vision globale d’Internet ne peut pas croître indéfiniment. Un système d'adressage encore plus hiérarchisé est

nécessaire.

๏ Absence de support de différentes qualités de service, par exemple pour les applications en temps réel. (Ce problème est déjà sérieusement considéré dans le cas

IPv4).

๏ Sécurité insuffisante contre les attaques informatiques.

๏ Routage « relativement lent » en raison de la complexité de l'en-tête IPv4.

IPv6 Faiblesses d’IPv4

7

Thomas Moegli

๏ Le 31 janvier 2011, IANA a alloué les derniers réseaux /8 IPv4 aux RIRs

๏ Les RIRs ont très peu, si ce n’est plus aucune adresse IP disponible

๏ Plusieurs FAI sont sévèrement limitées et ne peuvent plus recevoir de nouveaux blocs

IPv6 Manque d’adresses IPv4

8

Situation actuelle ou estimée Novembre 2014

2015

2012

2011

20192014

Remarque : APNIC et RIPE possèdent encore des adresses allouables mais sont très restrictives pour l’attribution de nouveaux blocs

Thomas Moegli

๏ Solutions à court terme

๏ NAT (Network Address Translation)

๏ Adressage privé

๏ CIDR (Classless Inter-Domain Routing)

๏ Solutions à long terme

๏ IPv6

IPv6 Manque d’adresses IPv4 : Solutions

9

Réseau personnel192.168.1.0/24

(RFC 1918)

Réseau FAIAdressage publique

InternetAdressage publique

NAT

Adressage privé :10.0.0.0/8172.16.0.0/12192.168.0.0/16

Classe AClasse BClasse CClasse D

Thomas Moegli

๏ IPv6 n’est pas un « nouveau » protocole

๏ Il a été développée depuis les années 1990

๏ Correction de beaucoup de problèmes liées à IPv4

๏ Adressage sur 128 bits, permettant un espace d’adressage beaucoup plus grande

๏ Environ 340 sextillons d’adresses

Introduction à IPv6

10

340 sextillons = 340 * 1036 = 340’282’366’920’938’463’374’607’431’768’211’456 adresses

Version Traffic Class Flow Label

Payload Length

Source Address

Next Header Hop Limit

Destination Address

128 bits

128 bits

Thomas Moegli

๏ Le nombre d’adresses disponibles permet d’attribuer plus de 10 quintillions (1018) par personne !

๏ Chaque grain de sable de la Terre pourrait obtenir une adresse et il resterait des adresses non allouées !

๏ Le monde d’Internet change constamment, de nouveaux services sont proposés…

๏ Vidéo à la demande

๏ Internet partout

๏ …et de plus en plus d’objets sont connectés

๏ Téléphones portables, tablettes, montres …

๏ Objets connectés (Internet des objets)

๏ …

Introduction à IPv6

11

Thomas Moegli

๏ Cisco définit le terme Internet of Everything (IoE) ainsi : Rassembler la population, les processus, les données, et les objets et les connecter entre eux

๏ Cisco estime qu’il y aura plus de 50 milliards de périphériques connectés (montres, tablettes, smartphones, …) en 2020 Source : The Internet of Things de Dave Evans

IPv6 Internet of Everything

12

Thomas Moegli

๏ NAT était utilisé pour aider les postes placés en adressage privé à se connecter vers l’extérieur et fonctionne pour la plupart des applications dont la connexion est initiée par le client

๏ Toutefois, NAT pose des problèmes avec certains réseaux comme les réseaux Peer-to-Peer et l’accès aux réseaux internes.

๏ L’utilisation de NAT pour cacher les réseaux IPv6 est sujet à débat

๏ IETF continue d’indiquer que NAT n’est pas une fonctionnalité de sécurité.

IPv6 IPv6 et NAT

13

Réseau personnel192.168.1.0/24

(RFC 1918)

Réseau FAIAdressage publique

InternetAdressage publique

NAT

Thomas Moegli

๏ Les bénéfices apportés par IPv6 sont :

๏ Espace d’adressage plus grand

๏ Stateless autoconfiguration

๏ Connectivité End-to-End sans nécessité d’adressage privé ou NAT

๏ Meilleur support de la mobilité

๏ Réseaux Peer-to-Peer plus faciles à créer et gérer

๏ Meilleur gestion de la QoS, permettant la simplification et la robustesse de services VoIP

Introduction à IPv6 Bénéfices de IPv6

14

Thomas Moegli

๏ Réseaux IPv6 actifs

๏ Etat au 7 juin 2015

IPv6 Etat du déploiement

15

Source : RIPE NCC (v6asns.ripe.net/v/6

Thomas Moegli

๏ Nombre d’utilisateurs qui utilisent Google sous Ipv6

๏ Etat au 7 juin 2015

IPv6 Etat du déploiement

16

Source : Google IPv6 (http://www.google.com/intl/en/ipv6/statistics.html#tab=ipv6-adoption)

Thomas Moegli

๏ Nombre d’AS IPv4 et IPv6 actifs sur le réseau Internet

IPv6 Etat du déploiement

17

Source : CAIDA (http://www.caida.org/research/topology/as_core_network/2014/)

Thomas Moegli

๏ IPv4 et IPv6 peuvent coexister ensemble pour faciliter la transition

๏ Dual-stack : Les périphériques peuvent fonctionner la pile IPv4 et IPv6

๏ Les entreprises et les FAIs doivent supporter les deux piles, ce qui permet de faciliter la transition

Transition vers IPv6

18

R1

IPv4IPv6

IPv4IPv6

IPv4IPv6

IPv4IPv6

IPv4 IPv6

Thomas Moegli

Transition vers IPv6 Happy Eyeballs

19

Thomas Moegli

๏ Les sites qui disposent d’un dual-stack IPv4 et IPv6 disposent donc de deux adresses, une pour IPv4 et une pour IPv6

๏ Quelle adresse utiliser ?

๏ Pour l’utilisation d’applications sur IPv6, il est nécessaire que les utilisateurs obtiennent des performances identiques à IPv4.

Transition vers IPv6 Happy Eyeballs

20

IPv4

IPv6?

www.monsite.com

Thomas Moegli

Transition vers IPv6 Happy Eyeballs

21

www.monsite.com

GET HTTP/1.1 www.monsite.com

Enregistrement DNS de type A ?www.monsite.com

Se connecter sur31.67.30.10

Enregistrement DNS de type AAAA ?www.monsite.com

Se connecter sur2a03:2880:f016:401:a782:b002:01:1

Thomas Moegli

๏ Recherche en priorité via IPv6 puis IPv4

๏ Au final, cela dépend de la gestion par le système d’exploitation et de l’application

Transition vers IPv6 Happy Eyeballs : Vue d’ensemble

22

t

Recherche IPv4 et tentative de connexion

300 ms

Demande d’utilisateur :www.monsite.com

Recherche IPv6 et tentative de connexion

Réception et affichagePremier arrivé, premier servi

Thomas Moegli

๏ Tunneling

๏ Encapsulation de paquets IPv6 dans des paquets IPv4

๏ NAT64

๏ Translation entre réseau IPv4 et réseau IPv6

Transition vers IPv6

23

Réseau IPv6 uniquement Réseau IPv6 uniquement

R2R1

Réseau IPv4 uniquementTunnel

Dual StackDual Stack

Réseau IPv4 uniquement Réseau IPv6 uniquementNAT64

IPv6Adressage

Thomas Moegli

๏ Sur Internet, une adresse sert à deux fonctions distinctes

๏ IdentificationUtilisé pendant une connexion pour reconnaître son interlocuteur. Se fait dans les en-têtes TCP ou avec IPsec.

๏ LocalisationPermet de trouver un intermédiaire qui saura délivrer les paquetsSe découpe en deux parties : localisation globale (identifie le réseau) et localisation locale (distinguer les machines d’un même réseau)

๏ Sous IPv4, l’adresse IP mélange les deux fonctions

๏ Conséquences : mobilité restreinte ou protocoles supplémentaires mis en œuvre pour remédier aux faiblesses d’IP (par ex. Mobile IP)

๏ Etudes initiales pour IPv6 : Proposition de séparer les deux fonctions

๏ Etudes en cours, proposition actuellement rejetée…

๏ Plan d’adressage hiérarchique

๏ Identification : l’adresse identifie une machine ou une interface ?

๏ Contrairement à IPv4 qui n’associe généralement qu’une seule adresse à une interface, une interface possède plusieurs adresses IPv6

Adressage IPv6

25

Thomas Moegli

๏ Problème majeur d’IPv4 : Croissance des tables de routage

๏ Due à une mauvaise agrégation des adresses dans les tables

๏ Solution apportée mais insuffisante : CIDR

๏ En 2000, la progression linéaire a cessé à cause

๏ Baisse du coût des liaisons longues distances, permettant du multi-homing (en cas de panne d’un opérateur, le trafic peut transiter sur un autre)

๏ Manque d’adresses IPv4 qui force les opérateurs à allouer des préfixes de plus en plus long.

Adressage IPv6 Structuration des adresses et agrégation

26

30/01/2010

22

B ) Structuration des adresses et agrégation

Un des problèmes majeurs d'IPv4 est la croissance incontrôlée des tables de routage. Ce phénomène est

dû à une mauvaise agrégation des adresses dans les tables. Il faudrait être capable de router des

ensembles de réseaux identifiés par un seul descripteur. CIDR apporte une amélioration, mais celle-ci est

insuffisante en pratique : les adresses IPv4 sont trop courtes pour permettre une bonne structuration, et il

faut surtout assumer le coût du passé avec les adresses déjà allouées.

Attribuer une adresse à un équipement est un processus complexe, basé sur un compromis entre la facilité

d'attribution et la facilité de gestion. Idéalement, pour minimiser la taille de routage, le réseau devrait

avoir une topologie en arbre, cela rendrait l'adressage hiérarchique très efficace. Dans la réalité pour des

raisons économiques, techniques, géographiques ou de performances, le réseau est beaucoup plus

complexe et peut être vu comme un graphe. Il faut introduire des exceptions dans les tables de routages

pour refléter cette topologie. On voit que pour avoir l'adressage le plus efficace possible, il faut dans ce

graphe trouver la représentation arborescente qui génère le moins d'exceptions possibles. Or s'il était

possible aujourd'hui de trouver une représentation valide, elle ne le sera pas nécessairement demain. En

conséquence, la définition du plan d'adressage doit être la plus souple possible pour permettre une

évolution de nature imprévisible.

D'autant plus que l'agrégation pour IPv4 ne semble plus aussi efficace. La figure suivante donne l'évolution

de table de routage dans le cœur de l'Internet, c'est-à-dire dans les réseaux des opérateurs où aucune

route par défaut n'est définie.

Thomas Moegli

๏ Forme binaire (mots de 16 bits) 0010000000000001 0000100100011000 1111111111111000 0000000000000000 0000000000000000

0001001000110100 0000000010010000 1010101111001101

๏ Forme préférée : Chaque bloc est converti en hexadécimal et délimité par des « : » 2001:0918:fff8:0000:0000:1234:0090:abcd

๏ Deux types de simplifications peuvent être appliquées (Forme compressée)

๏ Suppression des zéros dans chaque bloc (s’ils ne sont pas précédés d’un chiffre différent de 0) 2001:918:fff8:0:0:1234:90:abcd

๏ Compression d’une séquence continue de 0 dans la chaîne et remplacement par « :: » 2001:918:fff8::1234:90:abcdCette compression ne peut s’effectuer qu’une seule fois

Notation

27

Thomas Moegli

๏ Autre exemple

๏ Forme préférée : FEDC:0000:0000:0040:09A3:0000:ABCD:210F

๏ Forme compressée : FEDC::40:9A3:0:ABCD:210F

Notation

28

Thomas Moegli

๏ Vérification rapide – Une adresse IPv6 doit respecter :

๏ 8 blocs de 4 chiffres hexadécimauxTotal : 32 chiffres hexadécimaux

๏ Blocs séparés par des « : »

๏ Les zéros du bloc peuvent être supprimés s’ils ne sont pas précédés d’un autre nombre différent de 0

๏ Un « :: » peut compresser une suite de blocs contiguës formés uniquement de 0

๏ Un « :: » ne peut apparaître qu’une seule fois dans une adresse

๏ Les nombres hexadécimaux ne sont pas sensibles à la casse

Notation

29

Thomas Moegli

๏ Problème avec les URL

๏ L’écriture d’une URL avec adresse IPv6 crée une ambiguïté avec la notation pour désigner un port spécifique http://2001:1234:12::1:8000/

๏ Le RFC 2732 propose d’inclure l’adresse IPv6 entre « [] » http://[2001:1234:12::1]:8000/

๏ Préférer utiliser les FQDN

Notation

30

Thomas Moegli

๏ Partie de l’adresse où les bits ont une valeur fixe ou définissent la partie correspondant au sous-réseau ou la route

๏ Les sous-réseaux IPv6 utilisent la notation ipv6-address/prefix-length

๏ Notation CIDR

๏ Similaire à IPv4 mais avec des longueurs de préfixes jusqu’à 128

๏ Pas de masque de sous-réseau à notation avec points.

๏ Exemples

๏ 2001:918:fff8::/48 pour une route ou un résumé

๏ 2001:918:fff8:ff0::/64 pour un sous-réseau

๏ 2001:918:fff8:ffa::/126 pour un sous-réseau

๏ 2001:918:fff8:fff::1/128 désigne un nœud ou l’adresse de loop-back

Préfixes IPv6

31

Thomas Moegli

Types d’adresses

32

Adresses IPv6

Multicast AnycastUnicast

Assigned Solicited Node

Global Unicast Link-Local Loopback Non spécifié Unique Local Mapping

IPv4

::1/128 ::/128 FC00::/7 ::/80FE80::/102000::/3

Thomas Moegli

๏ Définis par plusieurs RFC

๏ Architecture définie par RFC4291 (Février 2006) qui rend obscolète les RFC3513 et RFC2373

๏ Types d’adresses

๏ Unicast : One to One

๏ Actif : Global, Link local, Unique Local (ULA), Special (unspecified/loopback), Transition (Mapping IPv4/6to4)

๏ Déprécié : Site Local, Transition (compatible IPv4)

๏ Anycast : One to Nearest

๏ Multicast : One to Many

๏ Pas de broadcast

๏ Réservé

Type d’adresses

33

Thomas Moegli

๏ Unicast

๏ Adresse d’une interface unique

๏ Transmission de type One-to-One

๏ Anycast

๏ Adresse d’un ensemble d’interfaces

๏ Transmission à l’interface considérée comme la plus proche (d’après une métrique définie)

๏ Transmission de type One-to-Nearest

๏ Multicast

๏ Adresse d’un ensemble d’interfaces

๏ Transmission de type One-to-Many

๏ Pas d’adresses de broadcast

๏ Remplacé par des adresses multicast « All-Nodes » (FF02::1) de portée Lien-local

Type d’adresses

34

Thomas Moegli

๏ Types d’adresses spécifiques définies par la RFC3513 et caractérisés par leur préfixe

Type d’adresses

35

Type de route Valeur Référence

0000::/8 Réservé pour la transition et loopback RFC 3513

0100::/8 Réservé RFC 3513

0200::/7 Réservé (ex NSAP) RFC 4048

0400::/6 Réservé (ex IPX) RFC 3513

0800::/5 Réservé RFC 3513

1000::/4 Réservé RFC 3513

2000::/3 Unicast Global RFC 3513

4000::/3 Réservé RFC 3513

6000::/3 Réservé RFC 3513

Thomas Moegli

Type d’adresses

36

Type de route Valeur Référence

8000::/8 Réservé RFC 3513

A000::/3 Réservé RFC 3513

C000::/3 Réservé RFC 3513

E000::/4 Réservé RFC 3513

F000::/5 Réservé RFC 3513

F800::/6 Réservé RFC 3513

FC00::/7 Unique Local Unicast RFC 4193

FE00::/9 Réservé RFC 3513

FE80::/10 Lien-local RFC 3513

FEC0::/10 Réservé RFC 3879

FF00::/8 Multicast RFC 3513

IPv6

Adresses Global Unicast (GUA)

Thomas Moegli

Adresses Global Unicast (GUA)

38

Adresses IPv6

Multicast AnycastUnicast

Assigned Solicited Node

Global Unicast Link-Local Loopback Non spécifié Unique Local Mapping

IPv4

::1/128 ::/128 FC00::/7 ::/80FE80::/102000::/3

Thomas Moegli

๏ Adresse IPv6 Source

๏ Toujours une adresse Unicast (Link-local ou GUA)

๏ Adresse IPv6 Destination

๏ Unicast, Multicast, ou Anycast

Adresses Global Unicast (GUA) Adresses sources et destination

39

Thomas Moegli

๏ Caractéristiques

๏ 2000::/3

๏ De 2000::/64 à 3FFF:FFF:FFF:FFF::/64

๏ Représente 1/8 de l’espace d’adressage IPv6

๏ Sauf en de rares circonstances, tous les utilisateurs disposeront d’une adresse GUA

๏ Un hôte (une interface) peut potentiellement posséder plusieurs adresses IPv6 du même ou différents réseaux

Adresses Global Unicast (GUA)

40

Subnet IDGlobal Routing Prefix Interface ID

001 1er hextet : 0010 0000 0000 00000011 1111 1111 1111 : 3FFF

: 2000

Global Unicast

Thomas Moegli

๏ Préfixe : équivalent à la partie réseau d’une adresse IPv4

๏ Longueur de préfixe : équivalent au masque de sous-réseau en IPv4

๏ Interface ID : équivalent à la partie hôte d’une adresse IPv4

Adresses Global Unicast (GUA) Terminologie

41

Thomas Moegli

Partie sous-réseau

Partie hôtePartie réseau

Var.

32 bits

Var.

๏ Pour une adresse IPv4

๏ Possède une longueur de 32 bits

๏ La longueur de la partie réseau est déterminée par la classe

๏ Il est possible d’utiliser les bits de la partie hôte pour effectuer du sous-réseau (longueur variable

Adresses Global Unicast (GUA) Structure

42

Thomas Moegli

Adresses Global Unicast (GUA) Structure

43

๏ Pour une adresse IPv6

๏ Possède une longueur de 128 bits

๏ Le champ Interface ID permet 18’446’744’073’709’551’616 périphériques par sous-réseau

๏ Le champ Subnet ID est de longueur fixe et permet 65’536 sous-réseaux

Interface IDGlobal Routing Prefix

128 bits

Subnet ID

16 bits

/48 /64

48 bits

Thomas Moegli

๏ Règle 3-1-4

๏ Les trois premiers hextets représentent le préfixe de l’adresse globale (généralement fourni par l’ISP)

๏ L’hextet suivant (1) représente l’identifiant du sous-réseau

๏ Les 4 derniers hextets représentent l’identifiant de l’interface réseau

๏ Exemple :

Adresses Global Unicast (GUA) Structure

44

2001:0DB8:CAFE:0001:0000:0000:0000:0100/64

2001:0DB8:CAFE:1::100/64

Global Routing Prefix Subnet ID Interface ID

Thomas Moegli

๏ Le subnetting en IPv6 est beaucoup plus simple qu’en IPv4

๏ Il suffit de savoir compter en hexadécimal

Adresses Global Unicast (GUA) Subnetting IPv6

45

2001:0DB8:CAFE:0001::/64

Interface IDGlobal Routing Prefix Subnet ID

16 bits

/48 /64

2001:0DB8:CAFE:0002::/642001:0DB8:CAFE:0003::/64

2001:0DB8:CAFE:000A::/64

Thomas Moegli

๏ Il est possible (mais hautement déconseillé) d’utiliser une partie des bits du champ Interface ID pour étendre le sous-réseau (comme en IPv4)

๏ Seule exception : pour des réseaux d’infrastructure (liens routeur-à-routeur, routeur-à-switch, etc…

Adresses Global Unicast (GUA) Subnetting IPv6

46

Thomas Moegli

๏ Sur IPv4, il était conseillé d’utiliser un masque /30 pour les liens Point-to-Point afin d’économiser les adresses disponibles

๏ Un masque /30 n’offre que deux adresses hôtes utilisables

๏ Sur IPv6, le masque à utiliser pour n’avoir que deux hôtes est /127. Toutefois, la raison invoquée pour IPv4 n’est plus valable sous IPv6.

๏ Il est conseillé néanmoins d’utiliser un préfixe /127 sur les liens Point-to-Point

๏ RFC 6164 : Using 127-bit IPv6 Prefixes on Inter-Router Links

๏ Attaques Ping-Pong

๏ Vulnérabilité Neighbor Cache Exhaustion

๏ Il est conseillé d’utiliser un sous-réseau /64 pour chaque sous-réseau /127 nécessaire

Adresses Global Unicast (GUA) Subnetting IPv6 : Liens Point-à-Point

47

R2R1

Thomas Moegli

๏ Pour chaque lien /127 à allouer, on utiliser un sous-réseau /64 entier

Adresses Global Unicast (GUA) Subnetting IPv6 : Liens Point-à-Point

48

R2R1

Interface ID (1 bit)

Global Routing Prefix Subnet ID

/48 /127

000

2001:0DB8:CAFE:F001::/64 2001:0DB8:CAFE:F001::0/1272001:0DB8:CAFE:F001::1/127

2001:0DB8:CAFE:F002::/64 2001:0DB8:CAFE:F002::0/1272001:0DB8:CAFE:F002::1/127

Thomas Moegli

Interface ID (1 bit)

Global Routing Prefix Subnet ID

/48 /127

101

2001:0DB8:CAFE:F001::/64 2001:0DB8:CAFE:F001::A/1272001:0DB8:CAFE:F001::B/127

2001:0DB8:CAFE:F002::/64 2001:0DB8:CAFE:F002::A/1272001:0DB8:CAFE:F002::B/127

๏ Pour chaque lien /127 à allouer, on utiliser un sous-réseau /64 entier

๏ Pour éviter les confusions, il est préférable d’utiliser d’autres suffixes au lieu de 0 et 1

Adresses Global Unicast (GUA) Subnetting IPv6 : Liens Point-à-Point

49

R2R1

Thomas Moegli

๏ Le subnetting IPv4 est utilisé principalement pour conserver de l’espace d’adressage IPv4

๏ Outils : VLSM

๏ Réseaux /30 pour les liaisons Point-to-Point

๏ Le subnetting sous IPv6 n’est pas nécessaire vu l’abondance d’adresses IPv6

๏ Développer un plan d’adressage IPv6 permet de faciliter la gestion des adresses IPv6

๏ NANOG BCOP : OPv6 Subnetting

๏ Cisco : IPv6 Address Guide

๏ RIPE NCC : Preparing an IPv6 Addressing Plan - RIPE Network

Adresses Global Unicast (GUA) Plan d’adressage IPv6

50

Thomas Moegli

Subnet ID

/64

Interface ID

/32

/23RIR

Préfixe FAI

Préfixe Site /48

Global Routing Prefix

Préfixe possible pour les particuliers /56

๏ Ces longueurs sont le minimum pour l’allocation

๏ La longueur du préfixe peut être raccourcie si justifiée

Adresses Global Unicast (GUA) Allocation des adresses IPv6

51

Thomas Moegli

๏ Espace d’adressage : Provider Independent (PI)

๏ Assigné directement par le RIR

๏ Si le client change de fournisseur FAI, le préfixe IPv6 attribué ne change pas

๏ Espace d’adressage : Provider Aggregatable (PA)

๏ Espace assigné par un FAI à un client

๏ Lorsque le client change de FAI, il obtient un nouvel espace d’adressage

Allocation des adresses IPv6 Adresses PI et PA

52

Subnet ID

/64

Interface ID

/32Préfixe RIR (PI)

Préfixe ISP (PA) /48

Global Routing Prefix

Thomas Moegli

Adresse Global Unicast

Manuel Dynamique

Statique + EUI 64

Statique IPv6Unnumbered SLAAC DHCPv6

StatefulStateless

SLAAC + DHCPv6 DHCPv6 - PD

Configuration d’une adresse GUA Configuration d’une adresse statique GUA

53

Thomas Moegli

Configuration d’une adresse GUA Configuration d’une adresse statique GUA

54

R1 :1

2001:DB8:CAFE:3::/64

WANS0/0/0

:100

:100

Gi0/0

Gi0/1

2001:DB8:CAFE:1::/64

2001:DB8:CAFE:2::/64

R1(config)# interface GigabitEthernet0/0 R1(config-if)# ipv6 address 2001:db8:cafe:1::1/64 R1(config-if)# no shutdown

R1(config)# interface GigabitEthernet0/1 R1(config-if)# ipv6 address 2001:db8:cafe:2::1/64 R1(config-if)# no shutdown

R1(config)# interface Serial0/0/0 R1(config-if)# ipv6 address 2001:db8:cafe:3::1/64 R1(config-if)# no shutdown

Thomas Moegli

Configuration d’une adresse GUA Configuration d’une adresse statique GUA

55

R1 :1

2001:DB8:CAFE:3::/64

WANS0/0/0

:100

:100

Gi0/0

Gi0/1

2001:DB8:CAFE:1::/64

2001:DB8:CAFE:2::/64

R1# show running-config … interface GigabitEthernet0/0 no ip address duplex auto speed auto ipv6 address 2001:DB8:CAFE:1::1/64

Vérification de la configuration

Ne pas confondre ! Pas d’adresse IPv4 configurée

Thomas Moegli

Configuration d’une adresse GUA Configuration d’une adresse statique GUA

56

R1 :1

2001:DB8:CAFE:3::/64

WANS0/0/0

:100

:100

Gi0/0

Gi0/1

2001:DB8:CAFE:1::/64

2001:DB8:CAFE:2::/64

R1# show ipv6 interface brief … GigabitEthernet0/0 [up/up] FE80::FE99:47FF:FE75:C3E0 2001:DB8:CAFE:1::1/64 …

Vérification de la configuration

Adresse Link-local UnicastAdresse Global Unicast

๏ L’adresse de Link-local est automatiquement configurée pour chaque interface

Thomas Moegli

Option General-Prefix

๏ Permet d’assigner un raccourci ou alias à un préfixe IPv6

๏ Commande :

Configuration d’une adresse GUA Configuration d’une adresse statique GUA

57

Router(config)# ipv6 general-prefix prefix-name

Router(config)# ipv6 general-prefix MyGUA 2001:db8:cafe::/48

Router(config)# interface GigabitEthernet0/0 Router(config-if)# ipv6 address MyGUA 0:0:0:88::1/64 Router(config-if)# no shutdown Router(config)# interface GigabitEthernet0/1 Router(config-if)# ipv6 address MyGUA 0:0:0:99::1/64 Router(config-if)# no shutdown

Router# show ipv6 interface brief GigabitEthernet0/0 [up/up] FE80::7EAD:74FF:FECC:5380 2001:DB8:CAFE:88::1 GigabitEthernet0/1 [up/up] FE80::7EAD:74FF:FECC:5381 2001:DB8:CAFE:99::1

Thomas Moegli

๏ Cette commande facilite le changement du préfixe si nécessaire

๏ L’exemple ci-dessous présente la situation si le client reçoit un nouveau préfixe (par ex. changement de FAI)

Configuration d’une adresse GUA Configuration d’une adresse statique GUA

58

Router(config)# no ipv6 general-prefix MyGUA 2001:db8:cafe::/48 Router(config)# ipv6 general-prefix MyGUA 2001:db8:beef::/48

Router# show ipv6 interface brief GigabitEthernet0/0 [up/up] FE80::7EAD:74FF:FECC:5380 2001:DB8:BEEF:88::1 GigabitEthernet0/1 [up/up] FE80::7EAD:74FF:FECC:5381 2001:DB8:BEEF:99::1

Thomas Moegli

Adresse Global Unicast

Manuel Dynamique

Statique + EUI 64

Statique IPv6Unnumbered SLAAC DHCPv6

StatefulStateless

SLAAC + DHCPv6 DHCPv6 - PD

Configuration d’une adresse GUA Configuration d’une adresse statique GUA + EUI 64

59

Thomas Moegli

๏ Utilise l’adresse MAC (convertie au format EUI-64) pour le champ d’interface (Interface ID) de 64 bits

๏ Une adresse EUI-64 se compose de :

๏ Adresse MAC (sur 48 bits)

๏ 16 bits (FF-FE)

๏ Un bit U/L (Universal/Local)

Configuration d’une adresse GUA Configuration d’une adresse statique GUA + EUI 64

60

R1

Gi0/1

2001:DB8:CAFE:99::/64

Router(config)# interface GigabitEthernet 0/1 Router(config-if)# ipv6 address 2001:db8:cafe:99::/64 eui-64

Thomas Moegli

0300 E96B D4 80

0300 E96B D4 80FF FE

MAC (24 bits)OUI (24 bits)

030000 0010 E96B D4 80FF FE

Bit U/L

0302 E96B D4 80FF FE

Format EUI-64 (Extended Unique Identifier)

๏ Adresse MAC (48 bits) :

๏ Partie OUI, identifiant du constructeur (24 bits)

๏ Partie MAC, identifiant de l’interface (24 bits)

๏ Entre ces deux parties, on place les caractères hexadécimaux FF-FE (64 bits)

๏ Pourquoi FF-FE ? Selon l’IEEE, il s’agit d’une valeur réservée que les fabricants d’équipement ne peuvent ajouter dans une

adresse MAC

๏ Le bit U/L est le 3ème bit du deuxième hexset (7ème bit)

๏ Ce bit est placé à 0 s’il s’agit d’une adresse globale assignée par l’IEEE (Universal)

๏ Ce bit est placé à 1 s’il s’agit d’une adresse crée localement (par ex. adresse pour une interface virtuelle ou adresse MAC configurée manuellement par l’administrateur)

Configuration d’une adresse GUA Configuration d’une adresse statique GUA + EUI 64

61

Thomas Moegli

Configuration d’une adresse GUA Configuration d’une adresse statique GUA + EUI 64

62

R1(config)# interface GigabitEthernet 0/1 R1(config-if)# ipv6 address 2001:db8:cafe:99::/64 eui-64

R1# show interface GigabitEthernet 0/1 GigabitEthernet0/1 is up, line protocol is up Hardware is AmdFE, address is 0003.6be9.d480 (bia 0003.6be9.d480) …

R1# show ipv6 interface GigabitEthernet 0/1 GigabitEthernet0/1 is up, line protocol is up IPv6 is enabled, link-local address is FE80::203:6BFF:FEE9:D480 Global unicast address(es): 2001:db8:cafe:99:203:6BFF:FEE9:D480 subnet is 2001:DB8:CAFE:99::/64

Thomas Moegli

Adresse Global Unicast

Manuel Dynamique

Statique + EUI 64

Statique IPv6Unnumbered SLAAC DHCPv6

StatefulStateless

SLAAC + DHCPv6 DHCPv6 - PD

Configuration d’une adresse GUA Adresses GUA dynamique : Vue d’ensemble (SLAAC et DHCPv6)

63

Thomas Moegli

ICMPv6

๏ Protocole utilisé pour l’allocation d’adressage automatique

๏ Equivalent à DHCPv4

๏ RFC liés

๏ RFC 4443 : ICMPv6 for IPv6 Specification

๏ RFC 4861 : Neighbor Discovery for IPv6

Configuration d’une adresse GUA Adresses GUA dynamique : Vue d’ensemble (SLAAC et DHCPv6)

64

Thomas Moegli

Messages ICMPv6 utilisés par la fonction Neighbor Discovery :

๏ Router Solicitation Message

๏ Router Advertisement Message

๏ Utilisé pour l’allocation d’adresses dynamiques

๏ Neighbor Solicitation Message

๏ Neighbor Advertisement Message

๏ Utilisé avec la résolution d’adresse (IPv4 ARP) et avec DAD

๏ Redirect Message

Configuration d’une adresse GUA Adresses GUA dynamique : Vue d’ensemble (SLAAC et DHCPv6)

65

MessagesRouter-Device

MessagesDevice-Device

Thomas Moegli

๏ Le message ICMPv6 Router Advertisement (RA) envoyé depuis le routeur propose aux périphériques IPv6 de le contacter pour recevoir une configuration IPv6.

๏ Message envoyé périodiquement par le routeur IPv6

๏ … ou lorsque le routeur reçoit un message Router Solicitation envoyé par un client qui désire

Configuration d’une adresse GUA Adresses GUA dynamique : Vue d’ensemble (SLAAC et DHCPv6)

66

Serveur DHCPv6

ICMPv6 Router Advertisement

Serveur DHCPv6

A tous les routeurs IPv6, j’ai besoin d’une configuration

IPv6

Voici une configuration IPv6 possible

ICMPv6 Router Advertisement

ICMPv6 Router Solicitation

Je ne suis finalement pas utile !

Thomas Moegli

๏ Message Router Advertisement (RA) ๏ Les messages RA sont envoyés par le routeur IPv6

๏ Sur les routeurs Cisco, l’activation des envois se fait par la commande

๏ La commande active le transfert des paquets IPv6 (Forwarding)

๏ La commande active également le routage dynamique IPv6

๏ Les routeurs peuvent être configurés avec une adresse IPv6 sans forcément effectuer du routage

๏ Si la commande unicast- routing n’est pas configurée, les routes statiques IPv6 peuvent être configurés mais le routeur ne transfère que les paquets générés localement, il ne transmet pas les paquets qui transitent pas lui

Configuration d’une adresse GUA Adresses GUA dynamique : Vue d’ensemble (SLAAC et DHCPv6)

67

Router(config)# ipv6 unicast-routing

ipv6 unicast-routing

Thomas Moegli

Configuration d’une adresse GUA Adresses GUA dynamique : Vue d’ensemble (SLAAC et DHCPv6)

68

Serveur DHCPv6

Router(config)# ipv6 unicast-routing

ICMPv6RA

Option 1 : SLAAC - sans DHCPv6 (par défaut sur les routeurs Cisco)

Le routeur envoie le préfixe, la longueur du préfixe et la passerelle par défaut

Option 2 : SLAAC + Stateless DHCPv6 for DNS address

Le routeur envoie certaines informations mais pour obtenir les autres comme les adresses DNS, le client devrait s’adresser au serveur DHCPv6 (toutefois, les informations DNS peuvent être incluses dans le message RA)

Option 3 : DHCPv6 (par défaut sur les routeurs Cisco) Le routeur envoie le préfixe, la longueur du préfixe et la passerelle par défaut

IPv6Adresses Link-Local

Thomas Moegli

Adresses Link-local

70

Adresses IPv6

Multicast AnycastUnicast

Assigned Solicited Node

Global Unicast Link-Local Loopback Non spécifié Unique Local Mapping

IPv4

::1/128 ::/128 FC00::/7 ::/80FE80::/102000::/3

Thomas Moegli

๏ Adresse IPv6 Source

๏ Toujours une adresse Unicast du même réseau (Link-local)

๏ Adresse IPv6 Destination

๏ Unicast, Multicast, ou Anycast

Adresses Link-local Adresses source et destination

71

Thomas Moegli

54 bits restants/64

Interface IDxx xxxx

1111 1110 10 1er hextet : 1111 1110 1000 0000 : FE801111 1110 1011 1111 : FEBF

10 premiers bits

๏ Caractéristiques

๏ FE80::/10

๏ De FE80::/16 à FEBF::/16

๏ Terminologie

๏ Link : segment de réseau défini

๏ Link-local : portée limitée uniquement au segment réseau

Adresses Link-local Caractéristiques

72

Link-local

Thomas Moegli

๏ Utilisé pour communiquer avec les autres périphériques sur le même sous-réseau

๏ N’est pas routable

๏ Les adresses ne doivent être uniques que sur le lien

๏ Ces adresses ne sont pas incluses dans la table de routage

๏ Tout périphérique IPv6 possède au moins une adresse de lien-local

Adresses Link-local Link-local : Définition

73

Communications Link-local

Thomas Moegli

๏ Mac OS / Linux :

Adresses Link-local Exemple : Linux/Mac OS et Windows

74

moeglith$ ifconfig en0 en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500 ether 78:31:c1:bf:ed:c8 inet6 fe80::7a31:c1ff:febf:edc8 %en0 prefixlen 64 scopeid 0x4 inet 192.168.0.12 netmask 0xffffff00 broadcast 192.168.0.255 nd6 options=1<PERFORMNUD> media: autoselect status: active

๏ Windows :

PC> ipconfig Windows IP Configuration Ethernet adapter Local Area Connection Connection-specifix DNS Suffix : Link-local IPv6 Address........: fe80::50a5:8a35:a5bb:66e1 IPv4 Address...................: 192.168.1.101 Subnet Mask....................: 255.255.255.0 Default Gateway................: 192.168.1.1

๏ IPv6 est par défaut activé sur les systèmes d’exploitation Windows, Linux, Mac OS

๏ Attention : attaques DoS et MitM possibles !

๏ Du moment qu’il possède une adresse IPv6, le périphérique peut communiquer directement avec le routeur

Thomas Moegli

๏ L’adresse de lien-local est utilisée comme adresse IPv6 par défaut avant que le périphérique ne reçoive une adresse dynamique (SLAAC ou DHCPv6)

๏ L’adresse de lien-local du routeur reçue via les messages RA est utilisée comme passerelle par défaut

๏ Les routeurs échangent leurs informations de routage en utilisant des adresses de lien-local

๏ Les routeurs utilisent l’adresse de lien-local comme adresse de Next-Hop dans la table de routage

Adresses Link-local Utilisation

75

Messages de Protocoles de routage

ICMPv6 Router Solicitation

De : Link-localA : Multicast

De : Link-local ou adresse non-spécifiéeA : Multicast

ICMPv6 Router Advertisement

De : Link-localA : Multicast

Thomas Moegli

Les adresses Link-local sont crées :

๏ Automatiquement :

๏ Préfixe FE80 - 10 premiers bits

๏ Identifiant de l’interface

๏ EUI-64 (Routeurs Cisco)

๏ 64 bits aléatoires (plusieurs systèmes d’exploitation comme Windows)

๏ Statique (configuration manuelle)

๏ Ne doit se faire que lorsque l’administrateur doit se souvenir de l’adresse d’un périphérique particulier

Adresses Link-local Configuration d’une adresse Link-local manuelle

76

54 bits restants/64

Interface ID1111 1110 10xx xxxx

FE80::Interface ID

10 premiers bits

Thomas Moegli

๏ Bien que le préfixe FE80 indique qu’il s’agit d’une adresse link-local, il est nécessaire de le préciser avec le mot-clé link-local

๏ Comme la portée de l’adresse est limitée au lien, il est possible de configurer la même adresse IPv6 sur plusieurs interfaces différentes à la condition que ces interfaces soient situés sur des réseaux différents.

Adresses Link-local Configuration d’une adresse Link-local manuelle

77

R1(config)# interface GigabitEthernet 0/1 R1(config-if)# ipv6 address fe80::1 link-local

R1(config)# interface GigabitEthernet 0/2 R1(config-if)# ipv6 address fe80::1 link-local

R1(config)# interface Serial 0/0/0 R1(config-if)# ipv6 address fe80::1 link-local

S0/0/0G0/2

G0/1

FE80::1

FE80::1

FE80::1

link-local

Thomas Moegli

๏ Comme la portée de l’adresse est limitée au lien, il est possible de configurer la même adresse IPv6 sur plusieurs interfaces différentes à la condition que ces interfaces soient situés sur des réseaux différents.

๏ Toutefois, sur le même lien, il est nécessaire que les adresses soient différentes

๏ Généralement, les hôtes ont leur adresse link-local automatiquement générée

Adresses Link-local Configuration d’une adresse Link-local manuelle

78

S0/0/0G0/2

G0/1

FE80::1

FE80::1

FE80::1

R1 S0/0/0FE80::2

R2

FE80::10

FE80::10

Thomas Moegli

๏ Commande

Adresses Link-local Vérification d’une adresse Link-local manuelle

79

R1# show ipv6 interface brief GigabitEthernet0/0 [up/up] FE80::FE99:47FF:FE75:C3E0 2001:DB8:CAFE:1::1 …

Router# show ipv6 interface brief

๏ Commande

R1# show ipv6 interface GigabitEthernet 0/0 GigabitEthernet0/0 is up, line protocol is up IPv6 is enabled, link-local address is FE80::FE99:47FF:FE75:C3E0 Global unicast address(es) : 2001:DB8:CAFE:1::1, subnet is 2001:DB8:CAFE:1::/64 …

Router# show ipv6 interface interface-id

Thomas Moegli

๏ Les adresses link-local sont automatiquement crées si une adresse GUA n’est configurée sur l’interface

๏ La commande d’interface Router(config-if)# ipv6 enable permet de :

๏ Créer automatiquement sur une interface donnée une adresse link-local si aucune adresse GUA ou aucune

adresse link-locale statique n’est configurée sur cette interface

๏ Maintenir une adresse link-local si l’adresse GUA est supprimée

Adresses Link-local

Commande ipv6 enable

80

R1(config)# interface GigabitEthernet 0/0 R1(config-if)# ipv6 enable R1(config-if)# end

R1# show ipv6 interface brief GigabitEthernet0/1 [up/up] FE80::FE99:47FF:FE75:C3E0 R1#

Router(config-if)# ipv6 enable

Thomas Moegli

๏ Comme plusieurs interfaces possèdent la même adresse IPv6, il est nécessaire d’indiquer l’interface de sortie :

Adresses Link-local

Commande ping

81

S0/0/0G0/1FE80::1 FE80::1

R1 S0/0/0FE80::2

R2FE80::10

?

R1# ping FE80::2 Output Interface: Serial0/0/0

Thomas Moegli

Les adresses link-local sont utilisés comme adresses de Next-hop

Adresses Link-local Table de routage IPv6 et adresses Link-local

82

R1# show ipv6 route ospf O 2001:DB8:CAFE:2::/64 [110/657] via FE80::2, Serial0/0/0 O 2001:DB8:CAFE:3::/64 [110/1304] via FE80::2, Serial0/0/0 O 2001:DB8:CAFE:A002::/64 [110/1294] via FE80::2, Serial0/0/0 R1#

Messages de Protocoles de routage

De : Link-localA : Multicast

๏ Les protocoles de routage IPv6 comme OSPFv3 et EIGRP forment une adjacence et échangent les messages avec leur voisin en utilisant leur adresse link-local comme adresse source.

IPv6Adresses Multicast

Thomas Moegli

Adresses IPv6

Multicast AnycastUnicast

Assigned Solicited Node

Global Unicast Link-Local Loopback Non spécifié Unique Local Mapping

IPv4

::1/128 ::/128 FC00::/7 ::/80FE80::/102000::/3

FF00::/8 FF02::1:FF00:0000/104

Adresses Multicast

84

Thomas Moegli

๏ Utilisé par un périphérique pour envoyer un paquet à plusieurs destinations simultanément (One-to-Many)

๏ Equivalent à la plage d’adresses 224.0.0.0/4 pour IPv4

๏ 2 types d’adresses multicast :

๏ Assigned

๏ Solicited-Node

Adresses Multicast Utilité

85

Thomas Moegli

๏ Caractéristiques

๏ Préfixe : FF08::/8

Adresses Multicast Caractéristiques

86

Multicast

Group ID1111 1111

112 bits8 bits

Flag

4 bits

Scope

4 bits

/16

Thomas Moegli

๏ Le champ Scope est un champ de 4 bits utilisé pour définir la portée des paquets Multicast

๏ Valeurs possibles (liste partielle) :

๏ 0 : Reservé

๏ 1 : Portée Interface-local

๏ 2 : Portée Link-local

๏ 5 : Portée Site-Local

๏ 8 : Portée Organization-Local

๏ E : Portée globale

Adresses Multicast Champ Scope

87

E : Global

8 : Organization-local

2 : Link-local

Internet

1 : Interface-local

5 : Site-local

Group ID1111 1111

112 bits8 bits

Flag

4 bits

Scope

4 bits

/16

Thomas Moegli

๏ Champ Flag

๏ 0 : Permanent, adresse multicast connue et assignée par l’IANA ๏ Inclut les adresses multicast Assigned et Solicited-Node

๏ 1 : Adresse multicast non permanente, assignée dynamiquement

๏ Exemple : Adresse FF18::CAFE:1234, utilisé pour une application multicast avec une portée Organizational

Adresses Multicast Champ Flag

88

Group ID1111 1111

112 bits8 bits

Flag

4 bits

Scope

4 bits

/16

Thomas Moegli

๏ RFC 2375 : IPv6 Multicast Address Assignments

๏ Définit les assignations initiaux pour les adresses multicast IPv6 avec un identifiant global

๏ Exemple : FF02::1 (All Nodes), FF02::2 (All Routers), …

๏ Référence pour les adresses multicast assignées :

๏ (IANA) IPv6 Multicast Address Space Registry - http://www.iana.org/assignments/ipv6-multicast-addresses/ipv6-multicast-addresses.xhtml

Adresses Multicast Adresses Multicast IPv6 : Assigned

89

Thomas Moegli

Adresses Multicast Adresses Multicast IPv6 : Assigned avec portée Link-

90

Group ID1111 1111

112 bits8 bits

Flag0000

4 bits

Scope

4 bits

/16Flag = 0 (Assigned Multicast)Scope = 2 (Link-local Scope)

Prefix Flag Scope Predefined Group ID Compressed Format Description (IPv6 assumed)

FF 0 2 0:0:0:0:0:0:1 FF02::1 All Devices

FF 0 2 0:0:0:0:0:0:2 FF02::2 All Routers

FF 0 2 0:0:0:0:0:0:5 FF02::5 OSPF Routers

FF 0 2 0:0:0:0:0:0:6 FF02::6 OSPF DR Routers

FF 0 2 0:0:0:0:0:0:9 FF02::9 RIP Routers

FF 0 2 0:0:0:0:0:0:A FF02::A EIGRP Routers

FF 0 2 0:0:0:0:0:1:2 FF02::1:2 Serveurs DHCP / Agents relay

Thomas Moegli

Adresses Multicast Adresses Multicast IPv6 : Assigned avec portée Site-

91

Group ID1111 1111

112 bits8 bits

Flag0000

4 bits

Scope

4 bits

/16Flag = 0 (Assigned Multicast)Scope = 5 (Link-local Scope)

Prefix Flag Scope Predefined Group ID Compressed Format Description (IPv6 assumed)

FF 0 5 0:0:0:0:0:0:2 FF05::2 All Routers

FF 0 5 0:0:0:0:0:1:3 FF05::1:3 All DHCP Servers

๏ Utilisé pour les communications au sein d’un site, routé au sein du site

๏ Le routage multicast IPv6 doit être activé sur les routeurs :

๏ Router(config)# ipv6 multicast-routingRouter(config)# ipv6 multicast-routing

Thomas Moegli

๏ FF02::1 : All IPv6 Devices

๏ Tous les périphériques Ipv6, le routeur inclus, appartiennent à ce groupe

๏ Chaque périphérique IPv6 écoute et prend en considération les

paquets à destination de cette adresse multicast

๏ Similaire à un paquet broadcast sous IPv4 ?

๏ Non, car ces paquets sont liés à une adresse MAC de couche 2 ce qui est plus efficace

Adresses Multicast Adresse Multicast Assigned : « All IPv6 Devices »

92

Reste du paquet IPv6FF02::1 FE80::1

Adresse de destination IPv6

Adresse de source IPv6

Router(config)# ipv6 unicast-routing

ICMPv6 Router Advertisement

ICMPv6 : Router Advertisement

Thomas Moegli

Router(config)# ipv6 unicast-routing

ICMPv6 Router Solicitation

Reste du paquet IPv6FF02::2 FE80::12:3456:7890:ABCD

Adresse de destination IPv6

Adresse de source IPv6

๏ FF02::2 - All IPv6 Routers

๏ Tous les routeurs IPv6 du même sous-réseau

๏ Utilisé par les périphériques pour communiquer avec un routeur IPv6

Adresses Multicast Adresse Multicast Assigned : « All IPv6 Devices »

93

ICMPv6 : Router Solicitation

Thomas Moegli

FF02 - « 2 » signifie portée Link-local

Adresses Multicast Vérification des adresses Multicast jointes par le routeur

94

R1# show ipv6 interface GigabitEthernet 0/0 GigabitEthernet0/0 is up, line protocol is up IPv6 is enabled, link-local address is FE80::1 Global unicast address(es): 2001:DB8:CAFE:1::1, subnet is 2001:DB8:CAFE:1::/64 Joined group address(es): FF02::1 FF02::2 FF02::5 FF02::6 FF02::1:FF00:1 …

All-IPv6 DevicesAll-IPv6 Routers (indique que le routage IPv6 est activé)OSPFv3 All OSPF Routers (similaire à 224.0.0.5)OSPFv3 All DR Routers (similaire à 224.0.0.6)Adresse multicast Solicited-node

Thomas Moegli

Mapping d’adresse IP à adresse de couche 2 (MAC)

๏ Sous IPv4 :

๏ Utilisation du protocole ARP

๏ Sous IPv6

๏ Utilisation du protocole ICMPv6 ๏ Message Neighbor Solicitation

๏ Message Neighbor Advertisement

๏ Les périphériques stockent le mappage dans leur cache

Adresses Multicast Résolution d’adresse

95

ARP RequestARP Reply

Connaissant l’adresse IP, quel est

l’adresse MAC ?

ARP Cache

Ce message s’adresse à moi. Voici mon adresse

MAC.

Connaissant l’adresse IPv6, quel est l’adresse MAC ?

Neighbor Cache

ICMPv6Neighbor Solicitation

Ce message s’adresse à moi. Voici mon adresse

MAC.ICMPv6

Neighbor Advertisement 1

2

3

12

3

IPv4

IPv6

Thomas Moegli

๏ Requêtes IPv4 ARP

๏ Adresse MAC de destination : Adresse Broadcast de couche 2

๏ Le paquet doit être reçu par la carte réseau puis traité au niveau de la couche 3 pour examiner l’adresse IPv4 cible

Adresses Multicast Avantages du multicast Solicited-Node

96

Message ARP avec adresse IPv4 cible

Ethernet Message ARP

Adresse destination

Broadcast

๏ Requêtes IPv6

๏ Adresse IPv6 de destination : Solicited-Node Multicast

๏ Adresse MAC de destination : Adresse Multicast de couche 2

ICMPv6 NS avec adresse IPv6 cible

Ethernet ICMPv6 NS

Adresse destination

MulticastAdresse destination

Multicast Solicited-Node

IPv6

Ethernet Broadcast passé à la couche supérieure

Ethernet Multicast filtré par la carte réseau

Thomas Moegli

๏ ICMPv6 NS : Adresse IPv6 cible (GUA de PC2)

๏ Adresse IPv6 de destination : Adresse multicast Solicited-Node

๏ Adresse MAC de destination : Adresse multicast de couche 2

Adresses Multicast Exemple : Solicited-Node

97

ICMPv6Neighbor Solicitation

Adresse MAC :00-1B-24-04-A2-1E

Adresse MAC :00-21-9B-D9-C6-44

2001:DB8:CAFE:1::100/642001:DB8:CAFE:1::200/64FF02::1:FF00:200 (Solicited Node Multicast)

PC1> ping 2001:DB8:CAFE:1::200

Neighbor Cache :

PC 1PC 2

1

2

3

Adresse IPv6 cible :

2001:DB8:CAFE:1::200

ICMPv6 Neighbor Solicitation

Adresse destination

FF02::1:FF00:200

IPv6

Destination MAC

33-33-FF-00-02-00

Ethernet

2001:DB8:CAFE:1::200 =00-1B-24-04-A2-1E 5

ICMPv6Neighbor Advertisement

4

IPv6SLAAC : Stateless Address Autoconfiguration

Thomas Moegli

SLAAC : Stateless Address Autoconfiguration

99

Adresse Global Unicast

Manuel Dynamique

Statique + EUI 64

Statique IPv6Unnumbered SLAAC DHCPv6

StatefulStateless

SLAAC + DHCPv6 DHCPv6 - PD

Thomas Moegli

๏ Décrit dans la RFC 4443

๏ Plus robuste que ICMP pour IPv4

๏ Contient de nouvelles fonctionnalités et améliorations

๏ Inclut la fonction ICMPv6 Neighbor Discovery (RFC 4861) - utilisé dans l’allocation d’adresse dynamique

Adressage SLAAC Protocole ICMPv6

100

Thomas Moegli

Messages ICMPv6 utilisés par la fonction Neighbor Discovery :

๏ Router Solicitation Message

๏ Router Advertisement Message

๏ Utilisé pour l’allocation d’adresses dynamiques

๏ Neighbor Solicitation Message

๏ Neighbor Advertisement Message

๏ Utilisé avec la résolution d’adresse (IPv4 ARP) et avec DAD

๏ Redirect Message

Adressage SLAAC ICMPv6 : Neighbor Discovery

101

MessagesRouter-Device

MessagesDevice-Device

Thomas Moegli

๏ Le message ICMPv6 Router Advertisement (RA) envoyé depuis le routeur propose aux périphériques IPv6 de le contacter pour recevoir une configuration IPv6.

๏ Message envoyé périodiquement par le routeur IPv6

๏ … ou lorsque le routeur reçoit un message Router Solicitation envoyé par un client qui désire

Adressage SLAAC ICMPv6 : Message Router Advertisement

102

Serveur DHCPv6

ICMPv6 Router Advertisement

Serveur DHCPv6

A tous les routeurs IPv6, j’ai besoin d’une configuration

IPv6

Voici une configuration IPv6 possible

ICMPv6 Router Advertisement

ICMPv6 Router Solicitation

Je ne suis finalement pas utile !

Thomas Moegli

๏ Message Router Advertisement (RA) ๏ Les messages RA sont envoyés par le routeur IPv6

๏ Sur les routeurs Cisco, l’activation des envois se fait par la commande

๏ La commande active le transfert des paquets IPv6 (Forwarding)

๏ La commande active également le routage dynamique IPv6

๏ Les routeurs peuvent être configurés avec une adresse IPv6 sans forcément effectuer du routage

๏ Si la commande unicast- routing n’est pas configurée, les routes statiques IPv6 peuvent être configurés mais le routeur ne transfère que les paquets générés localement, il ne transmet pas les paquets qui transitent pas lui

Adressage SLAAC ICMPv6 : Message Router Advertisement

103

Router(config)# ipv6 unicast-routing

ipv6 unicast-routing

Thomas Moegli

Adressage SLAAC ICMPv6 : Message Router Advertisement

104

Serveur DHCPv6

Router(config)# ipv6 unicast-routing

ICMPv6RA

Option 1 : SLAAC - sans DHCPv6 (par défaut sur les routeurs Cisco)

Le routeur envoie le préfixe, la longueur du préfixe et la passerelle par défaut

Option 2 : SLAAC + Stateless DHCPv6 for DNS address

Le routeur envoie certaines informations mais pour obtenir les autres comme les adresses DNS, le client devrait s’adresser au serveur DHCPv6 (toutefois, les informations DNS peuvent être incluses dans le message RA)

Option 3 : DHCPv6 Toutes ou une partie des informations sont apprises par le serveur DHCP (dépend de la valeur de l’option du message)

Option 1 et 2 : Stateless Address Autoconfiguration

Le serveur DHCPv6 ne maintient pas l’état des adresses

Option 3 : Stateful Address Configuration Les adresses sont reçues du serveur DHCPv6

Thomas Moegli

Options du message RA

๏ L’option proposée par le message RA dépend de plusieurs flags

๏ Flag « O » (Other Configuration Flag) :

๏ Par défaut, ce flag a pour valeur 0

๏ Si le flag est configuré à la valeur 1, cela indique que le client peut utiliser certaines informations du routeur mais que les autres informations doivent être récupérées sur un serveur DHCPv6.

๏ Flag « M » (Managed Configuration Flag)

๏ Par défaut, ce flag a pour valeur 0

๏ Si le flag est configuré à la valeur 1, le client doit récupérer toutes les informations d’un serveur DHCPv6, sauf

l’adresse de passerelle par défaut

Adressage SLAAC ICMPv6 : Message Router Advertisement

105

Serveur DHCPv6

Thomas Moegli

Adressage SLAAC ICMPv6 : Message Router Advertisement

106

Serveur DHCPv6

OptionOther Configuration « O » Flag

Managed Configuration « M » Flag

Option 1 : SLAAC - Sans DHCPv6 (par défaut sur les routeurs Cisco) 0 0Option 2 : SLAAC - Avec DHCPv6 pour l’adresse DNS 1 0Option 3 : DHCPv6 uniquement (seul l’adresse IPv6 du routeur est utilisé comme passerelle par défaut) 0 1

Thomas Moegli

๏ SLAAC (Stateless Address Autoconfiguration)

๏ Autorise un périphérique à créer sa propre adresse IPv6 GUA sans les services d’un serveur DHCPv6.

๏ Le client récupère le préfixe depuis le message RA émis du routeur

๏ Pour la partie Interface ID :

๏ Elle peut être générée avec EUI-64

๏ Elle peut être générée avec une valeur aléatoire de 64 bits

๏ SLAAC ne nécessite pas de serveur DHCPv6

Adressage SLAAC

107

ICMPv6 Router AdvertisementPréfixe et autres informations

Router(config)# ipv6 unicast-routing

2001:DB8:CAFE:1::/64

Je connais le préfixe depuis le message RA.

Je dois juste configurer la partie Interface ID.

Thomas Moegli

๏ Les messages ICMPv6 RA suggèrent à l’hôte comment recevoir l’adresse automatiquement

๏ L’hôte peut toutefois décider d’ignorer les messages RA

๏ Cette option doit être configurée sur le périphérique.

๏ Elle est disponible sur la plupart des systèmes d’exploitation

๏ Toutefois, les hôtes ne peuvent ignorer l’adresse de la passerelle (adresse source du message RA) excepté si l’adresse de passerelle est configurée manuellement.

Adressage SLAAC Ignorer le message RA

108

ICMPv6 Router AdvertisementPréfixe et autres informations

2001:DB8:CAFE:1::/64

Thomas Moegli

Adressage SLAAC Contenu d’un message RA

109

RA

SLAAC Option 1 - Message RADe : FF02::1 (All-IPv6 Devices)A : FE80::1 (Adresse link-local)Préfixe : 2001:DB8:CAFE1::Longueur préfixe : /64

2001:DB8:CAFE:1::/64

Adresse MAC :00-19-D2-8C-E0-4C

Préfixe : 2001:DB8:CAFE1::Longueur préfixe : /64GW : FE80::1Global Unicast Address : 2001:DB8:CAFE:1: + Interface ID

Processus EUI-64 ou valeur aléatoire sur 64 bits

1

2

Note : Le nom de domaine DNS et la liste des serveurs DNS peuvent faire partie du message RA si le routeur et le destinataire supportent la RFC 6106 (IPv6 RA Options for DNS Configuration)

Serveur DHCPv6

Thomas Moegli

2 méthodes :

๏ Processus EUI-64

๏ Utilise l’adresse MAC de l’interface

๏ Nombre généré aléatoirement (Privacy Extension)

๏ Plus de sécurité car l’adresse MAC n’est pas utilisé

๏ Note : Pour tout système, la même méthode est utilisée pour configurer une adresse GUA et une adresse link-local.

Adressage SLAAC Configuration de la partie Interface ID

110

Système d’exploitation EUI-64 64 bits aléatoires

Windows XP, Server 2003 ✔Windows Vista et ultérieur ✔

Mac OS X ✔

Linux ✔

Thomas Moegli

0300 E96B D4 80

0300 E96B D4 80FF FE

MAC (24 bits)OUI (24 bits)

030000 0010 E96B D4 80FF FE

Bit U/L

0302 E96B D4 80FF FE

Format EUI-64 (Extended Unique Identifier)

๏ Adresse MAC (48 bits) :

๏ Partie OUI, identifiant du constructeur (24 bits)

๏ Partie MAC, identifiant de l’interface (24 bits)

๏ Entre ces deux parties, on place les caractères hexadécimaux FF-FE (64 bits)

๏ Pourquoi FF-FE ? Selon l’IEEE, il s’agit d’une valeur réservée que les fabricants d’équipement ne peuvent ajouter dans une

adresse MAC

๏ Le bit U/L est le 3ème bit du deuxième hexset (7ème bit)

๏ Ce bit est placé à 0 s’il s’agit d’une adresse globale assignée par l’IEEE (Universal)

๏ Ce bit est placé à 1 s’il s’agit d’une adresse crée localement (par ex. adresse pour une interface virtuelle ou adresse MAC configurée manuellement par l’administrateur)

Adressage SLAAC SLAAC : Interface ID avec EUI-64

111

Thomas Moegli

๏ SLAAC étant stateless, aucune entité (pas de serveur DHCPv6) ne permet de vérifier si une adresse IPv6 configurée existe déjà dans le segment réseau

๏ Comment garantir que l’adresse est unique ?

๏ Solution : DAD (Duplicate Address Detection)

Adressage SLAAC SLAAC : Vérification d’une adresse IPv6 dupliquée

112

Thomas Moegli

๏ ICMPv6 propose un message appelé Neighbor Solicitation fonctionnant de manière similaire au protocole ARP de IPv4, à savoir la résolution d’une adresse IPv6 avec une adresse MAC

๏ DAD utilise ce message pour détecter si une adresse configurée existe déjà dans le réseau

๏ Etapes

๏ Envoi d’un message Neighbor Solicitation

๏ Envoi d’un message multicast (F02::01 : All-Nodes) avec pour adresse source l’adresse configurée

๏ Attente éventuelle d’une réponse (utilisation d’un timer) ๏ Si réponse : Présence d’un poste possédant déjà l’adresse

๏ Si aucune réponse : Adresse probablement unique et affectation autorisée

Adressage SLAAC SLAAC : DAD

113

ICMPv6Neighbor Solicitation

ICMPv6Neighbor Advertisement

Si non reçu ➔ Adresse uniqueSi réponse ➔ Adresse dupliquée

Thomas Moegli

Etapes

1. Construction de l’adresse Link-local

2. Test si l’adresse link-local est unique

3. Recherche d’un routeur IPv6

4. Annonce d’un routeur IPv6 contenant le préfixe du réseau

5. Test si l’adresse GUA choisie est unique

Adressage SLAAC SLAAC : Résumé

114

Adresse MAC :00-19-D2-8C-E0-4C

2001:DB8:CAFE:1::1/64

Création de l’adresse Link-localFE80::219:D2FF:FE8C:E04C/64

IPv6 Src = ::IPv6 Dst = FF02::1:FF8C:E04CICMPv6 Neighbor Solicitation

IPv6 Src = FE80::219:D2FF:FE8C:E04CIPv6 Dst = FF02::2ICMPv6 Router Solicitation

Aucune réponse reçue

IPv6 Src = FE80::202:7EFF:FE14:1IPv6 Dst = FF02::1ICMPv6 Router Advertisement

IPv6 Src = ::IPv6 Dst = FF02::1:FF8C:E04CICMPv6 Neighbor Solicitation

1

2

3

4

5

Thomas Moegli

Router(config)# ipv6 unicast-routing

Router

2001:DB8:CAFE:1::1/64FE80::1/64

All-IPv6 Devices (FF02::1)

Router IPv6

2001:DB8:CAFE:1::1/64FE80::1/64

All-IPv6 Devices (FF02::1)

All-IPv6 Routers (FF02::2)

ICMPv6Neighbor Solicitation

Protocoles de routageRIPng, OSPFv3, EIGRP for IPv6

Forward IPv6 packets

๏ Routeur (sans activation de routage IPv6) :

๏ Peut être configuré avec une adresse IPv6

๏ Fait partie du groupe multicast All-IPv6

๏ Routeur avec activation Routage IPv6 :

๏ Similaire à un routeur sans routage IPv6

๏ Membre du groupe multicast All-IPv6 Routers

๏ Envoie périodiquement des messages ICMPv6 Router Advertisement

๏ Permet d’activer les protocoles de routage IPv6

๏ Transfère les paquets IPv6 transitant (Forwarding)

Configuration SLAAC Routeurs vs Routeurs IPv6

115

Thomas Moegli

R2R1

Routeur IPv6 Routeur non IPv6

G0/1 G0/12001:DB8:CAFE:1/64

::1FE80::1

Configuration SLAAC

116

R1(config)# interface GigabitEthernet 0/1 R1(config-if)# ipv6 address 2001:DB8:CAFE:1::1/64 R1(config-if)# ipv6 address FE80::1 link-local R1(config-if)# no shutdown R1(config)# ipv6 unicast-routing

ICMPv6Router Advertisement

R2(config)# interface GigabitEthernet 0/1

! Crée une adresse link-local R2(config-if)# ipv6 enable ! Utilise SLAAC comme méthode pour l’adressage R2(config-if)# ipv6 address autoconfig default R2(config-if)# no shutdown

Thomas Moegli

R2R1

Routeur IPv6 Routeur non IPv6

G0/1 G0/12001:DB8:CAFE:1/64

::1FE80::1

Configuration SLAAC Vérification

117

R1# show ipv6 interface GigabitEthernet 0/1 GigabitEthernet0/1 is up, line protocol is up IPv6 is enabled, link-local address is FE80::1 Global unicast address(es) : 2001:DB8:CAFE:1::1, subnet is 2001:DB8:CAFE:1:/64 Joined group address(es) : FF02::1 FF02::2 FF02::FB FF02::1:FF00:1 ND router advertisement are sent every 200 seconds Hosts use stateless autoconfig for addresses.

ICMPv6Router Advertisement

Indique que les bits O et M sont à 0

Thomas Moegli

R2R1

Routeur IPv6 Routeur non IPv6

G0/1 G0/12001:DB8:CAFE:1/64

::1FE80::1

Configuration SLAAC Vérification

118

R2# show ipv6 interface brief GigabitEthernet0/1 [up/up] FE80::8A5A:92FF:FE3B:29E1 2001:DB8:CAFE:1:8A5A:92FF:FE3B:29E1 …

ICMPv6Router Advertisement

R2# show ipv6 interface GigabitEthernet0/1 GigabitEthernet0/1 is up, line protocol is up Hardware is CN Gigabit Ethernet, address is 885a.923b.29e1 (bia 885a.923b.29e1) …

EUI-64

Thomas Moegli

R2R1

Routeur IPv6 Routeur non IPv6

G0/1 G0/12001:DB8:CAFE:1/64

::1FE80::1

Configuration SLAAC Vérification

119

R2# show ipv6 route IPv6 Routing Table - default - 4 entries Codes: C - Connected, L - Local, S - Static, U - Per-user Static route B - BGP, HA - Home Agent, MR - Mobile Router, R - RIP I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary D - EIGRP, EX - EIGRP external, ND - Neighbor Discovery, NDp - ND Prefix, l - LISP O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2 ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2 ND ::/0 [2/0] via FE80:1, GigabitEthernet0/1 NDp 2001:DB8:CAFE1::/64 [2/0] via GigabitEthernet0/1, directly connected …

ICMPv6Router Advertisement

Route par défaut apprise par SLAAC

Préfixe appris par SLAAC

IPv6Routage IPv6 : Routes statiques et route par défaut

Thomas Moegli

๏ Un routeur (non configuré comme routeur IPv6)

๏ Peut posséder des adresses IPv6 configurées sur ses interfaces

๏ Est membre du groupe multicast All-IPv6 Devices

๏ Un routeur IPv6

๏ Configuration d’un routeur IPv6 via la commande ipv6 unicast-routing

๏ Possède les mêmes caractéristiques qu’un routeur

๏ Est membre du groupe multicast All-IPv6 Routers

๏ Envoie des messages ICMPv6 Router Advertisement

๏ Permet d’activer des protocoles de routage IPv6

๏ Transmet les paquets IPv6 entre équipements (transition via le routeur)

Routeurs vs Routeurs IPv6

121

2001:DB8:CAFE:1::1/64FE80::1FF02::1 (All-IPv6 Devices)

2001:DB8:CAFE:1::1/64FE80::1FF02::1 (All-IPv6 Devices)FF02::2 (All-IPv6 Routers)

IPv6

ICMPv6 : Router Advertisement

RIPng, OSPFv3, EIGRP pour IPv6

Thomas Moegli

Table de routage IPv6

122

R1# show ipv6 route IPv6 Routing Table - default - 6 entries Codes : C - Connected, L - Local, S - Static, U - Per-user Static route B - BGP, R - RIP, I1 - ISIS L1, I2 - ISIS L2 IA - ISIS interarea, IS - ISIS summary, D - EIGRP, EX - EIGRP external ND - ND Default, NDp - ND Prefix, DCE - Destination, NDr - Redirect O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2 ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2, a - Application

C 2001:DB8:CAFE:1::/64 [0/0] via GigabitEthernet0/0, directly connected L 2001:DB8:CAFE:1::1/128 [0/0] via GigabitEthernet0/0, receive L FF00::/8 [0/0] via Null0, receive R1#

2001:DB8:CAFE:1::/64:1R1

G0/0

Thomas Moegli

Table de routage IPv6

123

R1# show ipv6 route IPv6 Routing Table - default - 6 entries Codes : C - Connected, L - Local, S - Static, U - Per-user Static route B - BGP, R - RIP, I1 - ISIS L1, I2 - ISIS L2 IA - ISIS interarea, IS - ISIS summary, D - EIGRP, EX - EIGRP external ND - ND Default, NDp - ND Prefix, DCE - Destination, NDr - Redirect O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2 ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2, a - Application

C 2001:DB8:CAFE:1::/64 [0/0] via GigabitEthernet0/0, directly connected L 2001:DB8:CAFE:1::1/128 [0/0] via GigabitEthernet0/0, receive L FF00::/8 [0/0] via Null0, receive R1#

2001:DB8:CAFE:1::/64:1R1

G0/0

๏ Les routes locales (L) sont des routes /128 pour les adresses unicast IPv6 du routeur

๏ Permet au routeur d’être plus efficace de traiter les paquets qui sont à destination du routeur lui-même.

Thomas Moegli

Table de routage IPv6

124

R1# show ipv6 route IPv6 Routing Table - default - 6 entries Codes : C - Connected, L - Local, S - Static, U - Per-user Static route B - BGP, R - RIP, I1 - ISIS L1, I2 - ISIS L2 IA - ISIS interarea, IS - ISIS summary, D - EIGRP, EX - EIGRP external ND - ND Default, NDp - ND Prefix, DCE - Destination, NDr - Redirect O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2 ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2, a - Application

C 2001:DB8:CAFE:1::/64 [0/0] via GigabitEthernet0/0, directly connected L 2001:DB8:CAFE:1::1/128 [0/0] via GigabitEthernet0/0, receive L FF00::/8 [0/0] via Null0, receive R1#

2001:DB8:CAFE:1::/64:1R1

G0/0

๏ Par défaut, les paquets multicast (FF00::/8) ne sont pas transmis

๏ Tout paquet multicast plus « spécifique » se placera dans la table de routage à une place plus élevée que cette règle

๏ Les liens locaux multicast (FF02) ne sont jamais transmis en dehors de la ligne.

Thomas Moegli

๏ La configuration de routes statiques dans IPv6 est similaire à la configuration en IPv4

Route statique IPv6

125

Router(config)# ipv6 route ipv6-prefix/prefix-length {exit-intf | ipv6-address}

Paramètre Description

ipv6-prefix Adresse IPv6 de destination du réseau distant à ajouter dans la table de routage

/prefix-length Longueur du préfixe du réseau distant à ajouter dans la table de routage

exit-intf Interface de sortie

ipv6-address Adresse du prochain Next-Hop

Thomas Moegli

Route statique IPv6 Configuration

126

2001:DB8:CAFE:2::/64:1

:1R2R1G0/1 S0/0/0

S0/0/0:22001:DB8:CAFE:1::/64

2001:DB8:FEED:1::/642001:DB8:FEED:2::/642001:DB8:FEED:3::/642001:DB8:FEED:4::/642001:DB8:FEED:5::/64

Route statique

R2(config)# ipv6 unicast-routing R2(config)# ipv6 route 2001:db8:cafe:1::/64 2001:db8:cafe:2::1

R2# show ipv6 route static IPv6 Routing Table - default - 14 entries Codes: C - Connected, L - Local, S - Static, U - Per-user Static route … S 2001:DB8:CAFE:1::/64 [1/0] via 2001:DB8:CAFE:2::1 R2#

Vérification :

Thomas Moegli

2001:DB8:CAFE:2::/64:1

:1R2R1G0/1 S0/0/0

S0/0/0:22001:DB8:CAFE:1::/64

2001:DB8:FEED:1::/642001:DB8:FEED:2::/642001:DB8:FEED:3::/642001:DB8:FEED:4::/642001:DB8:FEED:5::/64

Route statique

Route statique IPv6 Configuration

127

R1(config)# ipv6 unicast-routing R1(config)# ipv6 route 2001:db8:feed:1::/64 2001:db8:cafe:2::2 R1(config)# ipv6 route 2001:db8:feed:2::/64 2001:db8:cafe:2::2 R1(config)# ipv6 route 2001:db8:feed:3::/64 2001:db8:cafe:2::2 R1(config)# ipv6 route 2001:db8:feed:4::/64 2001:db8:cafe:2::2 R1(config)# ipv6 route 2001:db8:feed:5::/64 2001:db8:cafe:2::2

R1# show ipv6 route static … S 2001:DB8:FEED:1::/64 [1/0] via 2001:DB8:CAFE:2::2 S 2001:DB8:FEED:2::/64 [1/0] via 2001:DB8:CAFE:2::2 S 2001:DB8:FEED:3::/64 [1/0] via 2001:DB8:CAFE:2::2 S 2001:DB8:FEED:4::/64 [1/0] via 2001:DB8:CAFE:2::2 S 2001:DB8:FEED:5::/64 [1/0] via 2001:DB8:CAFE:2::2 R1#

Options de réduction de la table de routage

๏ Route statique résumée

๏ Route statique par défaut

Thomas Moegli

๏ CEF (Cisco Express Forwarding est un mécanisme qui permet d’optimiser les processus de recherche dans la table de routage

๏ Pour les versions IOS inférieures à 15.x, il est nécessaire d’utiliser la commande de configuration globale ipv6 cef en plus de la commande ipv6 unicast-routing

Route statique IPv6 CEF pour IPv6

128

R1# show running-config … ip cef no ipv6 cef

CEF pour IPv4 actif par défautCEF pour IPv6 désactivé par défaut

R1(config)# ipv6 unicast-routing R1(config)# exit R1# show running-config … ip cef ipv6 cef

CEF pour IPv4 actifCEF pour IPv6 actif

R1

ipv6 unicast-routingipv6 cef

Thomas Moegli

๏ Etape 1 : En commençant par les bits de gauche à droite, identifier à partir de quel moment les adresses changent (indiquées en rouge)

Route statique IPv6 Routes résumées

129

2001:0db8:feed:0001::/642001:0db8:feed:0002::/64 2001:0db8:feed:0003::/64 2001:0db8:feed:0004::/64 2001:0db8:feed:0005::/64

2001:0db8:feed:0000000000000001::/642001:0db8:feed:0000000000000010::/64 2001:0db8:feed:0000000000000011::/64 2001:0db8:feed:0000000000000100::/64 2001:0db8:feed:0000000000000101::/64

๏ Etape 2 : Convertir les blocs indiquées en binaire

Thomas Moegli

๏ Etape 3 : Sur le bloc indiquée, compter le nombre de bits identiques.Le nombre détermine le masque

Route statique IPv6 Routes résumées

130

2001:0db8:feed:0000000000000001::/642001:0db8:feed:0000000000000010::/64 2001:0db8:feed:0000000000000011::/64 2001:0db8:feed:0000000000000100::/64 2001:0db8:feed:0000000000000101::/64

16 16 16 13

= 61 Masque /61

+ + +

Note : La route résumée comprend également les réseaux 2001:db8:feed::/64, 2001:db8:feed:6::/64 et 2001:db8:feed:7::/64

Thomas Moegli

๏ Etape 4 : Ajouter des zéros sur les bits restants du bloc.

Route statique IPv6 Routes résumées

131

2001:0db8:feed:0000000000000000::/61

Note : La route résumée comprend également les réseaux 2001:db8:feed::/64, 2001:db8:feed:6::/64 et 2001:db8:feed:7::/64

2001:0db8:feed:0000::/61

2001:0db8:feed:0::/61

2001:db8:feed::/61

ou

ou

Thomas Moegli

2001:DB8:CAFE:2::/64:1

:1R2R1G0/1 S0/0/0

S0/0/0:22001:DB8:CAFE:1::/64

2001:DB8:FEED:1::/642001:DB8:FEED:2::/642001:DB8:FEED:3::/642001:DB8:FEED:4::/642001:DB8:FEED:5::/64

Route statique

Route statique IPv6 Configuration de routes résumées

132

R1(config)# no ipv6 route 2001:db8:feed:1::/64 2001:db8:cafe:2::2 R1(config)# no ipv6 route 2001:db8:feed:2::/64 2001:db8:cafe:2::2 R1(config)# no ipv6 route 2001:db8:feed:3::/64 2001:db8:cafe:2::2 R1(config)# no ipv6 route 2001:db8:feed:4::/64 2001:db8:cafe:2::2 R1(config)# no ipv6 route 2001:db8:feed:5::/64 2001:db8:cafe:2::2

R1(config)# ipv6 route 2001:db8:feed::/61 2001:db8:cafe:2::2

Thomas Moegli

2001:DB8:CAFE:2::/64:1

:1R2R1G0/1 S0/0/0

S0/0/0:22001:DB8:CAFE:1::/64

2001:DB8:FEED:1::/642001:DB8:FEED:2::/642001:DB8:FEED:3::/642001:DB8:FEED:4::/642001:DB8:FEED:5::/64

Route statique

Route statique IPv6 Vérification de la configuration

133

R1# show ipv6 route static … S 2001:DB8:FEED:1::/61 [1/0] via 2001:DB8:CAFE:2::2 R1#

R1# ping 2001:db8:feed:1::1 Sending 5, 100-byte ICMP Echos to 2001:DB8:FEED:1::1, timeout is 2 seconds : !!!!! R1#

Thomas Moegli

๏ Configuration d’une route par défaut en IPv4 :

๏ Configuration d’une route par défaut en IPv6 :

Route statique IPv6 Route par défaut

134

Router(config)# ip route 0.0.0.0 0.0.0.0 { exit-intf | ipv4-add }

Router(config)# ipv6 route ::/0 { exit-intf | ipv4-add }

IPv6Routage IPv6 : OSPFv3

Thomas Moegli

๏ Les opérations de base et les algorithmes utilisés dans OSPFv2 sont également applicables pour OSPFv3 en IPv6

Routage IPv6 OSPFv3

136

Protocoles de routage internes Protocoles de routage externes

Protocoles de routage à vecteur de distance

Protocoles de routage à état de liens

Protocoles de routage à vecteur de chemin

RIPv2 EIGRP OSPFv2 IS-IS BGP-4

RIPng EIGRP pour IPv6 OSPFv3 * IS-IS pour IPv6 BGP-4 pour IPv6MP-BGP

*OSPFv3 supporte le routage IPv4 et IPv6

Thomas Moegli

Routage IPv6 OSPFv3

137

OSPFv2 pour IPv4 OSPFv3 pour IPv6 OSPFv3 Address Families

Version OSPF OSPFv2 OSPFv3 OSPFv3

Routes annoncées Réseaux IPv4 Préfixes IPv6 Réseaux IPv4 et préfixes IPv6

Etat des liens Oui Oui Oui

Métrique Coût (Cisco : Bandwidth) Coût (Cisco : Bandwidth) Coût (Cisco : Bandwidth)

Support multi-areas Oui Oui Oui

Router-ID 32-bits 32-bits 32-bits

DR et BDR Oui Oui Oui

Thomas Moegli

Routage IPv6 OSPFv3

138

OSPFv2 pour IPv4 OSPFv3 pour IPv6 OSPFv3 Address Families

Encapsulation Layer 3 IPv4 IPv6 IPv6

Adresse source Adresse IPv4 Adresse de lien local IPv6 Adresse de lien local IPv6

Destination : All OSPF Routers 224.0.0.5 FF02::5 FF02::5

Destination :All DR/BDR 224.0.0.6 FF02::6 FF02::6

Destination : Neighbor Adresse IPv4 Adresse de lien local IPv6 Adresse de lien local IPv6

Routage IPv6 Unicast N/A (Par défaut routage unicast IPv4) Requis

Requis (même si utilisé uniquement pour IPv4 address

family)

Authentification Plain text et MD5 IPsec IPsec

LSAs OSPFv3 renomme deux types de LSA et définit deux nouveaux types de LSA qui n’existent pas dans OSPFv2

Thomas Moegli

Routage IPv6 OSPFv3

139

OSPFv2 LSAs OSPFv3 LSAsType Nom LS Type Code Nom

1 Router LSA 0x2001 Router LSA

2 Network LSA 0x2002 Network LSA3 Network Summary LSA 0x2003 Inter-Area Prefix LSA

4 ASBR Summary LSA 0x2004 Inter-Area Router LSA

5 AS-External LSA 0x2005 AS-External LSA6 Group Membership LSA 0x2006 Group Membership LSA

7 NSSA External LSA 0x2007 Type-7 LSA0x2008 Link LSA

0x2009 Intra-Area Prefix LSA

Thomas Moegli

Routage IPv6 Comparaison OSPFv2 et OSPFv3

140

R2R1Réseau IPv4

OSPFv2

Table des voisins

OSPFv2

LSDB

IPv4

Table de routage

OSPFv2

Table des voisins

OSPFv2

LSDB

IPv4

Table de routage

OSPFv2

Table des voisins

OSPFv2

LSDB

IPv4

Table de routage

OSPFv2

Table des voisins

OSPFv2

LSDB

IPv4

Table de routage

Réseau IPv6

Thomas Moegli

Topologie d’exemple

Routage IPv6 OSPFv2 et OSPFv3 : Configuration

141

OSPF Area 0

2001:DB8:CAFE:12::/64:2.2

:1.1

2001:DB8:CAFE:23::/64:3.3

:2.2R2

S0/0/0S0/0/1

2001:DB8:77::/64:1.1

ISP

192.168.12.0/24 192.168.23.0/24

R1 S0/0/0S0/0/1

192.168.1.0/242001:DB8:CAFE:1::/64

192.168.77.0/24

192.168.3.0/242001:DB8:CAFE:3::/64

R3S0/0/1

G0/0

G0/0

:1.1

:3.3

FE80::1 FE80::2 FE80::3

Route par défaut

Thomas Moegli

Routage IPv6 OSPFv2 : Configuration

142

OSPF Area 0

2001:DB8:CAFE:12::/64:2.2

:1.1

2001:DB8:CAFE:23::/64:3.3

:2.2R2

S0/0/0S0/0/1

2001:DB8:77::/64:1.1

ISP

192.168.12.0/24 192.168.23.0/24

R1 S0/0/0S0/0/1

192.168.1.0/242001:DB8:CAFE:1::/64

192.168.77.0/24

192.168.3.0/242001:DB8:CAFE:3::/64

R3S0/0/1

G0/0

G0/0

:1.1

:3.3

FE80::1 FE80::2 FE80::3

Route par défaut

! Configuration de la route statique ip route 0.0.0.0 0.0.0.0 192.168.77.2

! Configuration OSPF router ospf 1 router-id 1.1.1.1 passive-interface GigabitEthernet0/0 network 192.168.1.0 0.0.0.255 area 0 network 192.168.12.0 0.0.0.255 area 0 default-information originate ! Propagation de la route par défaut dans OSPF

:2 .2

R1

Propagation route par défaut

Thomas Moegli

Routage IPv6 OSPFv2 : Configuration

143

OSPF Area 0

2001:DB8:CAFE:12::/64:2.2

:1.1

2001:DB8:CAFE:23::/64:3.3

:2.2R2

S0/0/0S0/0/1

2001:DB8:77::/64:1.1

ISP

192.168.12.0/24 192.168.23.0/24

R1 S0/0/0S0/0/1

192.168.1.0/242001:DB8:CAFE:1::/64

192.168.77.0/24

192.168.3.0/242001:DB8:CAFE:3::/64

R3S0/0/1

G0/0

G0/0

:1.1

:3.3

FE80::1 FE80::2 FE80::3

Route par défaut

! Configuration OSPF router ospf 1 router-id 2.2.2.2 network 192.168.12.0 0.0.0.255 area 0 network 192.168.23.0 0.0.0.255 area 0

:2 .2

Propagation route par défaut

R2

! Configuration OSPF router ospf 1 router-id 3.3.3.3 passive-interface GigabitEthernet0/0 network 192.168.23.0 0.0.0.255 area 0 network 192.168.3.0 0.0.0.255 area 0

R3

! Configuration OSPF interface S0/0/0 ip ospf 1 area 0 interface S0/0/1 ip ospf 1 area 0

ou

R2

Thomas Moegli

! Configuration de la route statique et activation du routage IPv6 ipv6 route ::/0 2001:DB8:77::2 ipv6 unicast-routing

! Configuration OSPF ipv6 router ospf 2 ! Le process-ID OSPF ne requiert pas d’être identique sur tous les routeurs router-id 1.1.1.6 ! Même processus que OSPFv2 pour déterminer le RID. Obligatoire si aucune adresse IPv4 configurée passive-interface GigabitEthernet0/0 default-information originate

interface GigabitEthernet0/0 ipv6 ospf 2 area 0 ! Pas de commande network

interface Serial0/0/0 ipv6 ospf 2 area 0

R1

Routage IPv6 OSPFv3 : Configuration

144

OSPF Area 0

2001:DB8:CAFE:12::/64:2.2

:1.1

2001:DB8:CAFE:23::/64:3.3

:2.2R2

S0/0/0S0/0/1

2001:DB8:77::/64:1.1

ISP

192.168.12.0/24 192.168.23.0/24

R1 S0/0/0S0/0/1

192.168.1.0/242001:DB8:CAFE:1::/64

192.168.77.0/24

192.168.3.0/242001:DB8:CAFE:3::/64

R3S0/0/1

G0/0

G0/0

:1.1

:3.3

FE80::1 FE80::2 FE80::3

Route par défaut

:2 .2

Propagation route par défaut

Thomas Moegli

ipv6 unicast-routing

! Configuration OSPF ipv6 router ospf 2 router-id 2.2.2.6

interface Serial0/0/0 ipv6 ospf 2 area 0

interface Serial0/0/1 ipv6 ospf 2 area 0

Routage IPv6 OSPFv3 : Configuration

145

OSPF Area 0

2001:DB8:CAFE:12::/64:2.2

:1.1

2001:DB8:CAFE:23::/64:3.3

:2.2R2

S0/0/0S0/0/1

2001:DB8:77::/64:1.1

ISP

192.168.12.0/24 192.168.23.0/24

R1 S0/0/0S0/0/1

192.168.1.0/242001:DB8:CAFE:1::/64

192.168.77.0/24

192.168.3.0/242001:DB8:CAFE:3::/64

R3S0/0/1

G0/0

G0/0

:1.1

:3.3

FE80::1 FE80::2 FE80::3

Route par défaut

:2 .2

Propagation route par défaut

R2

Thomas Moegli

ipv6 unicast-routing

! Configuration OSPF ipv6 router ospf 2 router-id 3.3.3.6

interface Serial0/0/1 ipv6 ospf 2 area 0

passive-interface GigabitEthernet0/0 interface GigabitEthernet0/0 ipv6 ospf 2 area 0

Routage IPv6 OSPFv3 : Configuration

146

OSPF Area 0

2001:DB8:CAFE:12::/64:2.2

:1.1

2001:DB8:CAFE:23::/64:3.3

:2.2R2

S0/0/0S0/0/1

2001:DB8:77::/64:1.1

ISP

192.168.12.0/24 192.168.23.0/24

R1 S0/0/0S0/0/1

192.168.1.0/242001:DB8:CAFE:1::/64

192.168.77.0/24

192.168.3.0/242001:DB8:CAFE:3::/64

R3S0/0/1

G0/0

G0/0

:1.1

:3.3

FE80::1 FE80::2 FE80::3

Route par défaut

:2 .2

Propagation route par défaut

R2R3

Thomas Moegli

OSPF Area 51

2001:DB8:CAFE:12::/64:2.2

:1.1

2001:DB8:CAFE:23::/64:3.3

:2.2R2

S0/0/0S0/0/1

2001:DB8:77::/64:1.1

ISP

192.168.12.0/24 192.168.23.0/24

R1 S0/0/0S0/0/1

192.168.1.0/242001:DB8:CAFE:1::/64

192.168.77.0/24

192.168.3.0/242001:DB8:CAFE:3::/64

R3S0/0/1

G0/0

G0/0

:1.1

:3.3

FE80::1 FE80::2 FE80::3

Route par défaut

OSPF Area 0Totally Stubby (OSPFv2 et OSPFv3)

ipv6 unicast-routing

! Configuration OSPF ipv6 router ospf 1 router-id 2.2.2.2 ipv6 router ospf 2 router-id 2.2.2.6

interface Serial0/0/0 ip ospf 1 area 0 ipv6 ospf 2 area 0

Routage IPv6 OSPFv3 : Configuration Multi-area

147

:2 .2

Propagation route par défaut

R2 Routeur ABR

interface Serial0/0/1 ip ospf 1 area 51 ipv6 ospf 2 area 51

router ospf 1 area 51 stub no-summary exit ipv6 router ospf 2 area 51 stub no-summary

Thomas Moegli

Merci de votre attention [email protected]

Références

IPv6 Fundamentals, LiveLessons (R. Graziani) IPv6 : Principes et mise en oeuvre, ENI Editions (J-P. Archier) Sécurité IPv6, HEIA-FR (F. Buntschu)

148