Réseaux

publicité
M1 Informatique
Réseaux
Cours 5 – Le Futur d’Internet - IPv6
Notes de Cours
D
EPUIS PLUS DE DIX ANS , LA VERSION AMELIOREE DU PROTOCOLE IP A ETE standardisée.
Le déploiement de cet Internet version 6 est en cours. Cependant, sa diffusion est loin
d’être complète, et par un "effet réseau" bien connu, de nombreuses entités préfèrent attendre
que tout le monde ait basculé avant de le faire elles-mêmes.
1
Introduction
1.a
1.b
"Vous êtes Ici"
OSI
TCP/IP
7
Application
Application
6
Presentation
5
Session
4
Transport
Transport
3
Network
Internet
2
Data link
Host-to-network
1
Physical
Not present
in the model
Limitations de IPv4
Malgré le succès d’internet, certains problèmes demeurent
— sécurité
— trop peu d’adresses (épuisées chez l’IANA depuis 2011)
E. Godard
http://www.lif.univ-mrs.fr/~egodard/ens/reseaux/
M1 Informatique
R ÉSEAUX
Réseaux : Cours 5
— => adresses privées et NAT
=> rupture du pair-à-pair
1.c
NAT/PAT
Problème du nombre limité d’adresses
=> adresse privée + NAT (Network Adresse Translation)
Packet before
translation
Company
LAN
Packet after
translation
1
2
10.0.0.1
198.60.42.12
3
4
5
Company
router
6
7
PC
NAT
box/firewall
Leased
line
ISP's
router
Server
Boundary of company premises
translation d’adresses (NAT) un nombre limité d’adresse est partagé par un ensemble de
stations
le routeur NAT modifie l’adresse de source (pour y mettre une des IP publique partagée). Pour les paquets entrants, la modification inverse est effectuée.
translation de port (PAT) une seule adresse est partagée par un ensemble de stations.
Les connexions sont distinguées au niveau Transport par utilisation de numéro de
ports spécifiques pour chaque station. Cette association peut être dynamique.
1.d
Inconvénients du NAT
On appelle en général (et incorrectement) NAT les deux techniques.
1. Casse la structure pair-à-pair d’Internet
Une station peut se connecter à Internet mais on ne peut la joindre depuis Internet.
Très problématique pour certaines applications (VoIP, ...)
2. Donne une fausse impression de sécurité :
une station avec une adresse (privée ou non) n’est pas adressable derrière un NAT.
Donc ne peut être "attaquée". Pas besoin de la protéger (parefeu, mise à jour, veille ...).
Certaines attaques sont possibles même dans cette configuration.
2
Réseaux : Cours 5
R ÉSEAUX
M1 Informatique
3. Semble être une des (mauvaises) raisons du ralentissement de passage à IPv6
4. Carrier-grade NAT (CGN) : l’internet mobile est principalement proposé par les opérateurs sous ce mode dégradé.
1.e
Historique
—
—
—
—
1.f
dès les années 90, la pénurie d’adresses menace
1993 début d’un groupe de travail IETF
1995 première version IPv6 (RFC 1883)
1998 finalisation (RFC 2460)
IPv6 en (Très) Bref
1. IPv6 (RFC 2373 et 2460) : pourquoi ?
— attribuer plus d’adresses
128 bits au lieu de 32 en IPv4
— => meilleure organisation => routage facilité
— sécurité
— mobilité
— transition ?...
2. Points clefs :
— adresses et allocation des préfixes (id interface)
— découverte des voisins (attribution d’adresse + routage)
— format de datagramme simplifié
2
Espace de Noms IPv6
2.a
Adressage
Beaucoup plus d’adresse disponibles : 2128
=> 667 millions de milliards d’adresses IP disponibles
par mm2 de la surface de la Terre ;
2.b
Notation
Plus de notation pointée mais uniquement de l’hexadécimal
— exemple
2001:0db8:0000:85a3:0000:0000:ac1f:8001
— possibilité de supprimer les 0 non significatifs par groupes de 1 à 3
2001:db8:0:85a3:0:0:ac1f:8001
— voire par blocs entiers de 4
2001:db8:0:85a3::ac1f:8001
3
R ÉSEAUX
Réseaux : Cours 5
2.c
M1 Informatique
Particularités
— Cohabitation avec les ports de TCP/UDP
— http://[2002:400:2A41:378::34A2:36]:8080
2.d
Notation CIDR
On conserve la notation CIDR :
— adresse/taille
<=> préfixe de l’ensemble d’adresses considérées
— exemple 2001:db8:1f89::/48
— en salle de TP : 2001:660:5402:100::/64
2.e
Type d’adresses IPv6
Préfixe
::/8
2000::/3
fc00::/7
fe80::/10
ff00::/8
2.f
Description
Adresses réservées
Adresses unicast routables sur Internet
Adresses locales uniques
Adresses liens locaux
Adresses multicast
Adresses Réservées
— :: adresse non spécifiée (début de configuration...)
— ::1/128 adresse localhost (comme 127.0.0.1 en IPv4)
— adresses permanentes 2001::/16
— adresses réservables par blocs /12 à /23 depuis 1999.
— 2001::/32 est utilisé pour le protocole de tunnel Teredo
— 2002::/16 est utilisé par 6to4
2.g
Fonctionnement
"Rien de changé" (juste 96 bits de plus)
— Entête simplifié
— taille fixe
— routage et aggrégation de routes simplifié
— auto-configuration simplifié (plusieurs adresses par interfaces)
4
R ÉSEAUX
Réseaux : Cours 5
2.h
M1 Informatique
Entête IPv6
32 Bits
Version
Traffic class
Flow label
Payload length
Next header
Hop limit
Source address
(16 bytes)
Destination address
(16 bytes)
2.i
Entête IPv6
La signification des champs est la suivante :
Version (4 bits) : fixé à la valeur du numéro de protocole internet, 6
Traffic Class (8 bits) : utilisé dans la qualité de service.
Flow Label (20 bits) : permet le marquage d’un flux pour un traitement différencié dans le
réseau.
Payload length (16 bits) : taille de la charge utile en octets.
Next Header (8 bits) : identifie le type de header qui suit immédiatement selon la même
convention qu’IPv4.
Hop Limit (8 bits) : décrémenté de 1 par chaque routeur, le paquet est détruit si ce champ
atteint 0 en transit.
Source Address (128 bits) : adresse source
Destination Address (128 bits) : adresse destination.
pas de CRC
2.j
Fragmentation
1. Problèmes de la fragmentation
— coûteuse pour les routeurs
5
Réseaux : Cours 5
R ÉSEAUX
M1 Informatique
— limites les taux de transfert
— problème de la perte d’un seul fragment
2. En IPv6, pas de fragmentation
=> moins de travail pour les routeurs
— les routeurs intermédiaires renvoient un paquet ICMPv6 Packet Too Big
— l’émetteur doit fragmenter lui même
— utilisation du Path MTU discovery recommandé
2.k
Taille des Paquets
— MTU minimale autorisée 1 280 octets
(contre 68 pour l’IPv4)
— taille maximale d’un paquet (hors en-tête) 65535 octets
comme IPv4
— option jumbogram (RFC 2675)
=> taille maximale d’un paquet 4 Go
2.l
Neighbor Discovery Protocol.
Ce protocole agrège les propriétés de ARP et ICMP pour IPv4
Permet de découvrir
1. les adresses MAC des hôtes voisins
2. les routeurs voisins pour une route donnée
— automatiquement
— redirection
3. des paramètres utiles comme le MTU
2.m
ICMPv6
Toute la gestion est réalisé grâce à ce type de paquet.
— Destination Unreachable
— Packet Too Big
— Time Exceeded
— Echo Request
— Echo Reply
— Router Solicitation
— Router Advertisement
— Neighbor Solicitation
— Neighbor Advertisement
— Redirect
...
6
Réseaux : Cours 5
2.n
R ÉSEAUX
M1 Informatique
Attribution des adresses IPv6
1. Manuellement
— adresse + longueur du préfixe de sous-réseau
— (facultatif) passerelle par défaut
2.o
Attribution Automatique
1. Automatiquement !
— autoconfiguration sans état basée sur l’adresse MAC et NDP
prefix64:adresseMAC
=> problème de protection de la vie privée car le 64 derniers bits seront les mêmes
même en changeant de FAI...
— autoconfiguration avec tirage pseudo aléatoire (RFC 4941),
=> vérification par Neighbor Solicitation pour savoir si l’adresse est déjà prise.
— utilisation d’adresses générées cryptographiquement à partir de la clef publique
du client (RFC 3972),
— attribution par un serveur DHCPv6 (RFC 3315)
2.p
Routage
Le routage est similaire à IPv4
— commutation de paquets
— => tables
— l’amélioration est l’automaticité pour certains paramétrages des hôtes
2.q
Détails pour le Routage
1. Recherche de l’adresse Mac d’un voisin (RFC 4861)
— requête paquet ICMPv6 Neighbour Solicitation
— réponse paquet ICMPv6 Neighbour Advertisement
— les adresses utilisées sont les adresses locales : fe80::/10 ou de multicast,
— comme ff00::1 pour l’ensemble des hôtes sur le réseau local
— comme ff00::2 pour l’ensemble des routeurs sur le réseau local
2. Passerelle par défaut
— un routeur peut publier les routes et ainsi permettre à un hôte de se configurer
automatiquement. RFC 4862
— paquet ICMPv6 Router Solicitation et réponse
2.r
Autoconfiguration vs DHCPv6
Lors de la rédaction du procotole IPv6, DHCP n’était pas aussi répandu (ni même complètement standardisé), par conséquent, le protocole SLAAC (RFC 4862) a été écrite.
On a donc en général
7
Réseaux : Cours 5
R ÉSEAUX
M1 Informatique
— SLAAC : passerelle par défaut mais pas de DNS
— DHCPv6 : DNS mais pas de passerelle par défaut
=> ajout RDNSS (Recursive DNS Solver) dans SLAAC. Il est clair que le DNS n’appartient pas vraiment à la couche Réseau mais c’est un service indispensable à la couche
application, qui est en général configuré avec le réseau.
A noter :
— SLAAC : sans état
— DHCPv6 : avec état (conservation des durée de validité des attributions )
2.s
Routage IPv6
Pas de changement de protocole.
— OSPFv6
— BGPv6
2.t
Mobilité : Principes
Le but est de permettre à un hôte mobile de maintenir une connexion pendant ses déplacements de son réseau "initial" à un réseau "étranger".
— adresse maison (home address)
— adresse de mobilité (care of address)
obtenue par la configuration automatique dans le réseau étranger.
Le réseau "maison"
— maintient une correspondance entre l’adresse "maison" et l’adresse de mobilité,
— reroute les paquets destinés à l’adresse "maison" vers l’adresse de mobilité.
8
3
M1 Informatique
R ÉSEAUX
Réseaux : Cours 5
Déploiement
3.a
Etendue du Déploiement
à comparer aux 43000 AS sur l’internet IPv4
3.b
Prise en charge d’IPv6 par le DNS
— pas de changement de l’espace de noms
=> champs d’enregistrement supplémentaire
www.ipv6.ripe.net.
IN
AAAA
2001:610:240:22::c100:68b
— Evolution
— 2004 : possibilité d’intégrer des serveurs de noms en IPv6
— 2008 : la moitié des serveurs racines ont une adresse IPv6
— 2010 : 228/283 des domaines de premier niveau ont un serveur en IPv6
— problème de la taille des paquets UDP (seulement 512 octets max pour le DNS)
3.c
Double Pile et Résolution DNS
En cas de double pile, la connexion UDP pour la résolution DNS se fait en
général en IPv4.
De plus, l’appel getaddrinfo() va retourner une liste d’adresses avec qui peut comporter des adresses IPv4, mais en général les IPv6 sont en tête.
3.d
Prise en Charge d’IPv6
— Système d’exploitation
tous les systèmes disposent d’une double pile
9
Réseaux : Cours 5
R ÉSEAUX
M1 Informatique
— Logiciels
la plupart des logiciels orientés Internet sont prêts
3.e
Et en France ?...
1. Renater a commencé à expérimenter IPv6 depuis 1996
— IPv6 effectif depuis 2002
2. FAI
— mars 2003 nerim
— décembre 2007 free
— novembre 2008 FDN
— 2009 SFR et Orange (pour les professionnels seulement) => prévu pour 2013 2015
pour l’ensemble de leurs clients
— OVH : 2012
3.f
Freins au Déploiement
— Bénéfices surévalués ?
— Pas de contenus nouveaux sur Internetv6
— pas tout-à-fait vrai : l’accès en NAT pour les terminaux mobiles est limité
— Problème de l’accès en cas de double pile :
1. tentative en IPv6
2. échec ! car pas de connectivité IPv6 de bout-en-bout.
3. connexion en IPv4
=> grande lenteur => désactivation d’IPv6
4
4.a
Sécurité
Architectures Sécurisées
architecture fermées peu d’acteurs (banques) ou structure autonome (une entreprise)
— chiffrement symétrique + distribution des clés “à la main”
=> Kerberos, IPSec
architecture hiérarchisée de nombreux acteurs avec des autorités de confiance peu nombreuses
=> PKI à base d’authentification X509 : IPSec, SSL
architecture décentralisée de nombreux acteurs certifiants leurs “connaissances” de proche
en proche
=> PGP/GnuPG, réseau P2P/F2F crypté, ...
4.b
Références IPSec
RFCs : 2401 (IPSec), 2402 (AH), 2403, 2404, 2405 (détails des algorithmes cryptographiques d’IPSec), 2406 (ESP), 2408 (ISAKMP), 2409 (IKE).
10
4.c
M1 Informatique
R ÉSEAUX
Réseaux : Cours 5
Aperçu
IPSec est un ensemble de protocoles permettant de mettre en oeuvre une ou plusieurs
des propriétés cryptographiques précédentes pour des datagrammes IP.
— AH : intégrité et authentification (sans confidentialité).
— ESP : confidentialité (+authentification)
Ces mécanismes sont
— compatibles IPv4
— intégrés à IPv6
4.d
Configurations d’Utilisation
4.e
Mécanisme AH (Authentication Header)
Ce mécanisme a vocation d’authentifier un datagramme IP sans le chiffrer.
Authenticated
IP header
AH
TCP header
Payload + padding
32 Bits
Next header
Payload len
(Reserved)
Security parameters index
Sequence number
Authentication data (HMAC)
4.f
Mécanisme ESP (Encapsulating Security Payload)
Ce mécanisme a vocation à chiffrer un datagramme IP.
Deux modes :
— mode transport
11
M1 Informatique
R ÉSEAUX
Réseaux : Cours 5
— mode tunnel (typiquement entre deux passerelles de sécurité)
Authenticated
(a)
IP
header
ESP
header
TCP
header
Payload + padding
Authentication (HMAC)
Encrypted
Authenticated
(b)
New IP
header
ESP
header
Old IP
header
TCP
header
Payload + padding
Authentication (HMAC)
Encrypted
5
Transition
5.a
Avertissement
Les adresses IPv4 et IPv6 ne sont pas compatibles
Toute transition technologique est délicate, la transition complète de IPv4 à IPv6 sera très
délicate.
5.b
Technologies de transition
— technique de double pile pour pouvoir utiliser IPv4 et IPv6 simultanément
— puisque IPv6 n’est souvent pas utilisable nativement => tunnels en IPv4
— statiques
— automatiques
— passerelles applicatives
Il est toujours préférable d’avoir un accès natif.
5.c
Tunnels Statiques
12
Réseaux : Cours 5
5.d
R ÉSEAUX
M1 Informatique
Tunnels Automatiques : 6to4
6to4 est le principal protocole de tunnel sur IPv4 pour les IPs publiques IPv6.
Le protocole 6to4 se situe au niveau 3 OSI (et possède le code 41).
Une correspondance est établi entre adresses IPv4 et IPv6 :
5.e
Adresses relais
l’adresse 192.88.99.1 est une adresse anycast
— comme du multicast => ensemble d’adresses
— mais la diffusion s’arrête dès qu’un membre de l’ensemble a reçu le messages
5.f
Un protocole de Transition
Le protocole 6to4 est un protocole de transition permettant à un hôte IPv6 de communiquer à un autre hôte IPv6 via le nuage IPv4.
1. Assignation d’un bloc d’adresses IPv6 à tout hôte ou réseau qui dispose d’une adresse
IPv4
2. Encapsulation des paquets IPv6 à l’intérieur de paquets IPv4
Un entête IPv4 (avec protocole 41) est ajouté
3. Gère le transit du trafic entre 6to4 et les réseaux IPv6 « natifs »
5.g
Tunnels Automatiques : 6to4
13
Réseaux : Cours 5
R ÉSEAUX
M1 Informatique
Pour permettre la communication vers des hôtes IPv6 « natifs », on utilise des routeurs
relais. Ceux-ci apparaissent sur Internet v4 avec l’adresse anycast 192.88.99.1.
Lorsqu’un hôte 6to4 envoie un paquet vers un hôte IPv6 « natif », celui-ci est d’abord
routé jusqu’au routeur 6to4. Puis
— soit la destination est une autre "île IPv6" dont l’adresse IPv4 est connue via le mécanisme de correspondance. Alors le paquet est encapsulé en IPv4 puis transmis à ce
routeur.
— soit la destination est dans Internet v6, alors le paquet est transmis en anycast jusqu’à
un relai 6to4 d’adresse IPv4 192.88.99.1.
En sens inverse, un paquet peut ne pas utiliser le même relai. Dans tous les cas, la correspondance avec les octets 3 à 6 est utilisée pour router le paquet au travers d’IPv4.
5.h
Des Limitations Certaines
On rencontre cependant quelques problèmes avec cette architecture :
— les adresses IPv4 doivent être publiques
— en terme de routage IPv6 : il est difficile de contrôle qui utilise un relai donné
— en terme de qualité d’accès : si le relai est loin du routeur 6to4 alors la qualité de la
connexion peut être très mauvaise.
De même, sur le chemin retour.
— en terme de compatibilité avec d’éventuels parefeux avec une FAIbox typique.
5.i
De 6to4 à 6rd
Il a effectivement été constaté en 2010 qu’environ 15% des connexions IPv6 qui échouent
sont des connexions 6to4. Il a donc été proposé à l’IETF une extension le protocole 6rd (IPv6
rapid deployment) sous l’impulsion du français Rémi Desprès. La principale, et importante
différente, est que le relai se situe désormais nécessairement dans le réseau du fournisseur
d’accès.
5.j
Protocole 6rd
Dans 6rd (rapid deployment), les relais 6to4 se situent à proximité du routeur 6to4,
chez le fournisseur d’accès. La correspondance s’effectue vers des adresses IPv6 appartenant
bien à celui-ci (en général des réseaux /32, avec un encodage qui peut utiliser moins de 32
bits car le routeur appartient nécessairement au réseau IPv4 du FAI).
14
Réseaux : Cours 5
5.k
R ÉSEAUX
M1 Informatique
Tunnels Automatiques et NAT : Teredo
La méthode précédente fonctionne mal avec les NATs : un autre protocole est proposé
1. Teredo (vers) RFC 4380
2. un protocole utilisable dans un réseau d’adresses IPv4 privées, relié à Internet via un
routeur assurant une traduction d’adresses NAT.
3. implémentation
— windows
— UNIX : miredo
6
Crédits
— Figures Wikimedia Commons (c) CC-SA
15
Téléchargement