Cours sur le Protocole d'Internet version 6 : adressage - fonctionnement - Routage IPv6

Internet Protocol: IP

¼Protocole de niveau 3 de l’Internet
¼IP est relativement simple, car dans l’Internet l’intelligence est aux extrémités (principe de bout en bout)
¼IP est de type best effort
x résiste facilement au facteur d’échelle
¼IP fonctionne en mode non connecté
  x résiste aux pannes, aux attaques
¼IP est ouvert, indépendant des systèmes; unificateur des différentes technologies de support physique
x on a fait de l’IP sur des fils barbelés!

Pourquoi un nouveau Protocole IP ?

¼Actuellement la taille de l'Internet double tous les 12mois
¼IP victime de son succès!
¼2 problèmes à résoudre
x l'épuisement des adresses IP (2008 +/- 3 ans : ALE-wg)
x l'explosion de la  taille des tables de routage
¼le nouveau protocole doit permettre
x d'adresser un espace (beaucoup) plus grand
x un routage plus efficace

de IPv4 à IPv6

¼Pour résoudre ces problèmes : IP, nouvelle génération
x 1992: début du processus à l’IETF
x 1994: premières définitions de IPv6
x 1995: premières implémentations de tests
x 1996: création du 6Bone, réseau expérimental
x 1997: premiers produits commerciaux
x 1998: premiers déploiements
x ...
=>  Bon exemple d'évolution de la technologie de l'Internet

IPv6 : Quelques Caractéristiques

¼Adresse plus longue : 128 bits  (16 octets)
x adressage de 340 x 10 e36 équipements (plusieurs milliers/m2)
x adressage hiérarchique
x une partie peut-être l'adresse MAC (IEEE802)
=> autoconfiguration
¼3 types d'adresses :
x Unicast : identifie une machine
x Multicast : identifie un groupe de machines
x Anycast : identifie une machine parmi un groupe plus d'adresse de broadcast
¼En-tête simplifié
x nombre de champs réduit de moitié
=> augmente l'efficacité de commutation des équipements de routage
¼Extension de l'en-tête pour les options
x  Les options IPv6 sont placées dans des en-têtes séparés, intercalés entre l'en-tête IPv6 et l'en-tête de la couche transport
=> introduction aisée de nouvelles fonctionnalités 
x  la longueur des options n'est plus limitée à 40 octets

IPv6 : Nouvelles fonctionnalités

¼Autoconfiguration : "plug and play"
x Gestion de la mobilité
x Renumérotation facile si changement de prestataire
x Serveurs d'adresses  (DHCP : Dynamic Host Configuration Protocol)
x     et SAA : Stateless Address Autoconfiguration (RFC 1971)
¼Multipoint (Multicast) inclus de base
x pour les routeurs et les clients
x "scope" = meilleur routage des paquets multicast
=> plus besoin de Mbone ni de mrouted
¼"Marquage" des flux particuliers : (Flow Label)
x applications temps réel, Qualité de Service (QoS)
x Priorité du trafic de contrôle
¼Sécurité :
x authentification et intégrité des données
x en option : confidentialité

IPv4 : En-tête
image

IPv4 -> IPv6 : changements de l'en-tête
 
¼Header Length (IHL) : supprimé (en-tête de taille fixe)
¼ToS --> Prio + Flow Label
¼Total Length (TL) --> Payload Length
¼ID, Flags et Fragment Offset (FO) : supprimés
¼TTL --> Hop Limit
¼Protocol --> Next header (mêmes valeurs que dans IPv4)
¼Header Checksum : supprimé
¼Adresses : 32 --> 128 bits (4 --> 16 octets)
¼Alignement 32 --> 64 bits

IPv6 : En-tête
image

IPv6    : les champs de l'en-tête

¼Vers : Version Number (= 6)
¼Priority :
x champ expérimental, pris en compte par le routeurs intermédiaires, permettant à une source de caractériser son trafic.
¼Flow label : identificateur de flots
x numéro qu’utilise les routeurs pour référencer un contexte (au lieu d’utiliser les addr. IP + éventuellement les ports)
x il existe 2 propositions pour le traitement de ce champ:
x 1- la valeur du flow label reste inchangé tout au long du chemin
x 2- les routeurs  intermédiaires changent sa valeur (Tag Switching)
¼Payload length : longueur du paquet après en-tête (en octets).
¼Next header : indique le type d'en-tête suivant immédiatement l'entête IPv6
x On utilise les mêmes valeurs que dans le champ "Protocol" de IPv4 pour référencer les protocoles de niveau 4   (TCP=6  , UDP=17, ICMP=1)
¼Hop limit :
x -1 chaque fois que le paquet est commuté par un équipement
x si hop_limit = 0  => le paquet est détruit.
x  permet de réduire l'effet des boucles de routage.
¼Source address : @ de l'émetteur initial du paquet
¼Destination address : Une adresse de destination ...
x peut-être différente de l'adresse destination finale si l'option "Routing Header" est présente.

Des options d’IPv4 aux extensions d’en-têtes d’IPv6

¼Le champ Option d’IPv4 a essentiellement été défini à des fins de test ou de mise au point
¼Il est peu utiliser pour les raisons suivantes:
x la longueur du champ option est limité à 40 octets, ce qui limite l’emploi simultané de plusieurs options
x il est forcément traité par tous les routeurs
x son implémentation est souvent  non-optimisée et ralentit considérablement le traitement des paquets par les routeurs
¼Au lieu d’utiliser le concept d’options, IPv6 a défini le concept d’extension d’en-tête contenant plusieurs options
¼Une extension d’en-tête est soit traitée par tous les routeurs intermédiaires, quelques routeurs intermédiaires, ou par les destinations selon le type de l’extension
¼ 6 types d’extensions ont été définies pour l’instant; ils doivent être utilisées dans l’ordre suivant
x Hop-by-Hop extension, Source Routing extension, Fragmentation extension, Authentification extension, Encryption extension, End-to-End extension (seul le Hop-by-Hop extension est traité par tous les routeurs; les routeurs ne traitent que l’en-tête IPv6 + le Hop-by-Hop extension)
¼les extensions sont chaînées et  situées entre l’en-têtes IPv6 et le payload (entête transport + les données)
¼des fonctionnalités de bout en bout peuvent être rajoutées facilement

IPv6 : en-têtes optionnelles
image

IPv6 : les extensions d’en-têtes
 
¼Hop-by-Hop Options Header :
x transport d'information qui doit être examinée sur chaque nœud du chemin suivi par le datagramme IP.
x exemple: option de Router Alert qui informe les routeurs que le paquet doit être complètement traité par le routeur avant d’être routé. Cette option est utilisée par RSVP.
image
x 4 options sont définies pour l’instant...
image
¼ Source Routing Header :
x routage à partir de la source
x liste un ou plusieurs noeuds intermédiaires "à visiter" au cours de l'acheminement du datagramme
x Le routage peut être strict (les routeurs de la liste doivent être voisins) ou libéral (loose)
x Lorsqu’un routeur reçoit une paquet qui lui est adressé, il permute son adresse avec l’adresse du prochain routeur et remet le paquet vers cette adresse suivante

La fragmentation dans IPv6

¼Dans IPv4, la fragmentation est réalisé par les routeurs
x si un fragment se perd, le paquet est perdu
x la fragmentation par les routeurs peut générer de très petits paquets (voir exemple précédent)
¼Dans IPv6, la fragmentation est évité si possible par le mécanisme de MTU discovery
¼Si cette fragmentation est inévitable, elle est produite par la source ce qui évite l’émission de tout petit fragment

Rappel sur la fragmentation dans IPv4
image

IPv6  : les extensions d’en-têtes
¼Fragment header :
x envoi de paquets plus long que le MTU
x Maximum Transmission Unit : 512 -> 1500 octets
x minimum : MTU = 576 octets.
x nota : dans IPv6, la fragmentation n'est réalisée que par la source. Elle est déconseillée mais supportée pour certaines applications existantes qui suppose que la fragmentation existe
image
x bit M = 0 si dernier fragment sinon M = 1
x identification permet de repérer les fragments d’un même paquet

Path MTU discovery

¼dérivé du RFC 1191, version IPv4 du Protocole
¼Path = ensemble des liens traversés par un paquet IPv6 entre la source et la destination (chemin)
¼link MTU = taille maximale de l'unité de transmission -un paquet- (en octets) qui peut être transportée sans fragmentation sur le lien
¼Path MTU (ou pMTU) = min { link MTU } pour un Path donné
¼Path MTU Discovery = découverte automatique du pMTU pour un Path donné

¼Que fait le protocole ?
1. On fait l'hypothèse que pMTU = link MTU pour atteindre un voisin (first hop)
 2. S'il y a un équipement intermédiaire dont link MTU < pMTU
=> destruction d’un paquet + émission d'un message ICMPv6 :
"Packet size Too Large"
 3. La source réduit le pMTU en utilisant l'information contenue dans le message ICMPv6

IPv6 : les extensions d’en-têtes

Les Extensions de Sécurité
x la sécurité est un des principaux objectifs de l’IAB
x Les fonctionnalités visées sont:
x l’authentification: l’émetteur des données est bien celui qu’on croit
x l’intégrité: les données ne sont pas altérées en chemin
x la confidentialité : les données ne sont accessibles que pour les parties concernées.
x 2 extensions ont été définies:
x l’extension d’authentification  (AH: Authentification Header)
x l’extension de confidentialité  (ESP: Encryption Security Payload)
x ces extensions sont indépendantes des algorithmes de chiffrement utilisés
x administration des clés ne fait pas partie d’IPv6
¼Authentification Header (AH)
x L’authentification et intégrité est assurées par le même mécanisme: la somme de contrôle
x l’émetteur et le récepteur partage un secret
x l’émetteur calcule la somme de contrôle du paquet en émission, CRC, et le transmet dans l’en-tête d’extension AH (Authentification Header)
x le récepteur fait la même opération sur les paquets qu’il reçoit  et compare le résultat avec le CRC calculé par l’émetteur
x si les deux résultats sont égaux alors :
x le paquet est identifié car seul un émetteur connaissant la clé peut calculer la bonne valeur du CRC
x le paquet n’a pas été corrompu sinon le résultat de la somme de contrôle aurait été  faux (différent de celui émis par l’émetteur)
¼Authentification Header (AH)
image
x l’émetteur et le récepteur partagent une association de sécurité (algo., clés, durée de vie des clés), négociée lors de la procédure d’échange des clés et référencer par l’indice de paramètres de sécurité x le champ données d’authentification contient le contrôle de somme calculé par l’émetteur
x différents algorithmes de calcul de sommes peut être utilisés mais MD5 est obligatoire
¼Encryption (Privacy) Header  ou Encapsulation Security
Payload (ESP)
x la confidentialité est assuré par chiffrage dans IPv6
image
x 2 modes ont été définis:
x mode transport: les informations du protocole de niveau supérieur + les données sont chiffrées
x mode tunnel: le paquet entier est chiffré puis encapsulé
x les algorithmes de chiffrement standard le DES (Data Encryption Standard) et le triple DES en mode CBC (Cipher Block Chaining).
x d’autres protocoles peuvent être utilisés : IDEA, RC5
¼ESP Header (2)
x Seul le champ SPI (indice de paramètres de sécurité) est en clair dans l’en-tête ESP, le reste est chiffré.
image
x le format de l’en-tête ESP dépend du protocole de chiffrage utilisé
¼ESP Header : DES-CBC
image
x CBC (Cipher Block Chaining) évite les analyses de texte en clair connu (known plaintext) : l’attaquant connaît Pi et Ei.
x IV varie d’un paquet à un autre
¼La Gestion de l’association de sécurité
x les mécanismes d’authentification et de confidentialité repose sur le partage d’une association de sécurité entre l’émetteur et le récepteur qui précise
x le(s) algorithmes à utiliser
x les clés
x la durée de vie de l'association
x différentes propositions existent, mais OAKLEY semble dominée
x en absence d’une proposition officielle, on pourra toujours utiliser une distribution manuelle des clés
¼Exemples d’utilisation d’ IPv6 Sec
x les Intranets
x le mode tunnel peut être utilisé pour créer des tunnels sécurisés entre 2 firewalls de 2 sites distants et créer un intranet
x le mode tunnel assure que l’entête IPv6 + extensions ne sont pas visibles; lorsque le paquet arrive au firewall destination, il est déchiffré et routé en interne 
image
¼Exemples d’utilisation d’ IPv6 Sec
x les mobiles
x Mobile IP permet à une mobile de conserver sa connectivité tout en se déplaçant
x Avec Mobile IP, un mobile fait toujours virtuellement partie de son réseau mère et peut donc accéder aux ressources locales
x IPSec permet d’assurer l’authentification du mobile par son réseau mère et d’assurer l’intégrité et confidentialité des messages que le mobile et son réseau mère s’échange
x Les Protocoles de Routage
x la sécurité ne peut pas être assurée si les protocoles de routage ne le sont pas
x les protocoles tel que RIP, OSPF ou IDRP, qui repose sur UDP/IP, peuvent bénéficier des mécanismes de IP Sec. pour authentifier et chiffrer les messages de mise à jour
¼Sécurité au niveau des paquets IP
x ne pas réinventer la roue à chaque application
x les protocoles utilisés ont été testés et jugés suffisant
x les implantations sont moins boggées (on peut l’espérer :-)
¼Sécurité au niveau des paquets IP….pas toujours
x dans certains cas, on doit utiliser dans mécanismes de sécurité
x lorsque l’on ne fait pas confiance à l’OS
x lorsque l’on veut utiliser des protocoles plus surs…quitte à payer plus cher...
¼End-to-end Option Header  (or Destination Option Header) :
x transport d'information qui n'est à examiner que par le destinataire du datagramme.
image
x 3 options sont actuellement définies dont celles de la mobilité...

Article plus ancien

Leave a Reply

Telechargement