1 of 29

Mooc IPv6

Session 7�Séquence 2 Activité 24

Adapter la taille des paquets

2 of 29

24.1 : Path Maximum Transmission Unit

18/22

40

20

4

64 to 1500 Octets

  • Rôle du niveau 3
    • La couche réseau a pour tâche de placer les segments provenant de la couche transport (données utiles + entête transport) dans des paquets
    • Ces paquets sont ensuite placés au niveau 2 dans des trames sur le support physique
    • MTU : Maximum Transmit Unit
      • Notre exemple indique une MTU de 1500 octets
      • PPPoE = 1492
      • PPPoA = 1468
      • MPLS = 1500-65535
      • 6LoWPAN = 81

3 of 29

24.2 : Path Maximum Transmission Unit

  • Un paquet IP est cependant amené à voyager sur plusieurs supports de natures différentes, chacun imposant des tailles maximales différentes.
  • Pour pouvoir parcourir son chemin jusqu'à sa destination, le paquet doit donc avoir une taille inférieure ou égale à la plus grande taille autorisée par l'ensemble des liens traversés.
  • Cette taille est de ce fait appelée PMTU (Path Maximum Transmission Unit) ou unité de transfert de taille maximale sur le chemin.

4 of 29

24.3 : Path Maximum Transmission Unit

  • Taille paquet > PMTU
    • La source émet le paquet en se basant sur la MTU du réseau d’accès
    • Si un routeur sur le parcours vers la destination ne peut relayer ce paquet à cause d’une MTU inadaptée, un message ICMPv6 est renvoyé avec la MTU max
    • La source adapte alors pour cette destination sa ¨PMTU
  • Ce mécanisme est décrit dans le RFC 1981

A

B

Source

Destination

MTU=1500

MTU=1600

MTU=1360

MTU=1400

Packet with MTU=1500

Packet with MTU=1360

ICMP error : packet too big�use MTU=1360

Packet received

5 of 29

24.4 : Fragmentation

  • Taille segment > PMTU
    • cas où la couche réseau ne peut pas adapter la taille des données à transmettre à la MTU
  • Fragmentation
    • séparer un paquet avec une taille trop importante en plusieurs paquets respectant la MTU
    • Ces fragments sont émis et acheminés vers la destination comme des paquet IP ordinaires
  • Réassemblage
    • La couche réseau du destinataire se charge alors de reconstruire le paquet IP original pour que les données puissent être traitées normalement

6 of 29

24.5 : extension de Fragmentation

  • L'identification d'un fragment est transmise dans une extension de fragmentation
    • Le champ place du fragment indique au réassemblage où les données doivent être insérées
      • Comme ce champ est sur 13 bits, la taille de tous les segments, sauf du dernier, doit être multiple de 8 octets
    • Le bit M s'il vaut 1 indique qu'il y aura d'autres fragments émis
    • Le champ identification permet de repérer les fragments appartenant à un même paquet initial

Identification

Next Header�

Reserved

Fragment offset

Res

M

0 7 15 23 31

7 of 29

IPv6 Hdr

NH=UDP

UDP

DATA�fragmentable

24.6 : Mécanisme de Fragmentation

DATA�next fragment

UDP

DATA�first fragment

DATA�last fragment

Fragment

M=1

NH=UDP

Fragment�M=0

NH=UDP

Fragment

M=1

NH=UDP

IPv6 Hdr

NH=Fragment

IPv6 Hdr

NH=Fragment

IPv6 Hdr

NH=Fragment

8 of 29

24.7 : Extension Jumbogramme

  • Intérêt pour des transferts de sauvegarde, big data
    • PRA/PCA
    • Datacenter
  • Niveau 2 à adapter
    • Pas encore de protocole de niveau 2 adapté à une telle MTU

IPv6 Hdr

Jumbogramme�<4Go

NH==194 : Jumbogramme

9 of 29

24.8 : Conclusion

  • IPv6 dispose de plusieurs mécanismes robustes pour permettre la traversée des différents réseaux :
    • Réseaux locaux d’accès
      • Ethernet
      • WiFi
      • 6LowPan
    • Liaisons d’accès Opérateurs
      • PPP
      • xDSL
      • ATM
    • Réseaux d’interconnexion
      • Tunnel
      • VPN

  • Le dispositif Path MTU
    • Nécessite que les réponses ICMP ne soit pas bloquées par des pare-feux mal paramétrés
    • Un pis aller sera d’utiliser des MTU=1280 octets

  • Les jumbogrammes permettront d’optimiser la performance des transferts dans les réseaux de stockage

10 of 29

A

B

Source

Destination

MTU=1500

MTU=1600

MTU=1360

MTU=1400

Packet with MTU=1500

Packet with MTU=1360

ICMP error : packet too big�use MTU=1360

Packet reveived

11 of 29

IPv6 Hdr

NH=Fragment

Fragment

M=1

NH=UDP

UDP

DATA�first fragment

IPv6 Hdr

NH=UDP

UDP

NH=DATA

DATA�fragmentable

IPv6 Hdr

NH=Fragment

Fragment

M=1

DATA�next fragment

IPv6 Hdr

NH=Fragment

Fragment�M=0

DATA�last fragment

NH=UDP

NH=UDP

12 of 29

Identification

Next Header�

Reserved

Fragment offset

Res

M

0 7 15 23 31

13 of 29

14 of 29

24.1 : Pourquoi étendre l’en-tête IP ?

  • Pourquoi étendre l’en-tête IP ?
  • Permettre des fonctionnalités supplémentaires au niveau réseau impliquant
    • soit le destinataire du paquet,
    • soit les routeurs intermédiaire impliqués dans l’acheminement du paquet
  • Amélioration quant au support de nouvelles extensions ou options
    • IPv6 offre un support étendu à toutes extensions ou options pouvant être nécessaires.
    • En effet, pour ne pas avoir un en-tête trop long et trop lourd à traiter, une série de champs des messages IPv4 ont été mis en option dans des en-têtes d'extension.
  • une flexibilité supérieure:
    • l'émetteur n'utilise que les extensions qu'il estime utiles,
    • il est possible de définir un grand nombre de nouvelles en-têtes d'extension,
  • un coût de traitement aux routeurs réduit ; les en-têtes d'extension ne sont pas examiné par les noeuds intermédiaires le long du chemin vers la destination.

15 of 29

24.2 : Principe des extensions

  • L’en-tête IPv6 est de taille fixe
  • Le champ Next Header 
    • Indique le protocole qui est transporté dans le paquet IPv6
  • Dans le cas d’une extension
    • Le protocole transporté sera indiqué dans un autre champ Next Header au début de l’extension
    • Plusieurs extensions peuvent être chainées

Destination IP Address�128 bits

Version�4 bits

DSCP�6 bits

ECN

Flow Label�20 bits

Payload Length�16 bits

Next Header�8bits

Hop Limit�8 bits

Source IP Address�128 bits

�Extension Header Information

Next Header�8bits

16 of 29

24.3 : Principe des extensions

Destination IP Address�128 bits

Version�4 bits

DSCP�6 bits

ECN

Flow Label�20 bits

Payload Length�16 bits

Next Header�8bits

Hop Limit�8 bits

Source IP Address�128 bits

Codage

Description

0

Proche en proche

4

IPv4

6

TCP

17

UDP

41

IPv6

43

Routage

44

Fragmentation

50

ESP confidentialité

51

AH Authentification

58

ICMPv6

59

IPv6 No Next

60

Destination

135

Mobilité

136

UDP-lite

140

Shim6

194

Jumbogramme

17 of 29

24.4 : Variété d’extensions

18 of 29

24.5 : Classification des types d’extension

  • Extensions impliquant uniquement la destination du paquet
    • Destination
    • ESP
    • AH
    • Fragmentation
  • Extensions impliquant tous les routeurs intermédiaires :
    • Hop-by-Hop
  • Extensions impliquant les routeurs intermédiaires désignés :
    • Routing

19 of 29

24.6 : Exemple de type d’extensions

  • Classique : Next Header = Protocole
    • Encapsulation Transport au dessus d’IPv6
    • Encapsulation ICMPv6

  • Extension routage puis transport
    • Routage à la source

  • Extension routage
    • puis fragmentation et transport

  • Extension proche-en-proche :
    • notification des routeurs intermédiaires transportant un paquet UDP fragmenté

IPv6 Hdr

NH=Hop by Hop

Hop by Hop

NH=Fragment

Fragment

NH=UDP

UDP

DATA

IPv6 Hdr

NH=Routing

Routing

NH=Fragment

Fragment

NH=TCP

TCP

DATA

IPv6 Hdr

NH=Routing

Routing

NH=TCP

TCP

DATA

IPv6 Hdr

NH=TCP

TCP

DATA

20 of 29

24.7 : Exemple extension de routage

  • Extension routage à source (type = 0)
    • Routage à la source : ceci permet d'imposer à un paquet une route différente de celle offerte par les politiques de routage présentes sur le réseau

source

destination

IPv6 router�

natural path

forced path using RH0

IPv6 Hdr

NH=Routing

Routing

NH=TCP

TCP

DATA

21 of 29

24.8 : Principe extension RH0

  • Traitement avec l'extension de routage
    • Un paquet normal à destination de R1 est envoyé dans le réseau et est traité normalement par les routeurs intermédiaires.
    • R1 reconnait son adresse et le passe à la couche supérieure qui traite l'extension de routage.
    • Cette couche permute les adresses et réémet le paquet vers la nouvelle destination.
    • Ce mécanisme pose des problèmes de sécurité et a donc été déprécié.

�IPv6: A 🡪 R1

�Extension: 🡪 B

A

R1

B

�IPv6: A 🡪 B

�Extension: R1 🡪

22 of 29

24.9 : Codage d’extension de routage

23 of 29

24.10: Extension de routage en action

2001:db8:aa::aa/64

2001:db8:aa::1/64

2001:db8:bb::1/64

2001:db8:cc::1/64

2001:db8:dd::dd/64

A

R1

R3

R2

B

R

Routing�Header

src : 2001:db8:aa::aa

dst : 2001:db8:aa::1

nh

6

0

3

reserved

addr[1] : 2001:db8:bb::1

addr[2] : 2001:db8:cc::1

addr[3] : 2001:db8:dd::dd

src : 2001:db8:aa::aa

dst : 2001:db8:bb::1

nh

6

0

2

reserved

addr[1] : 2001:db8:bb::1

addr[2] : 2001:db8:cc::1

addr[3] : 2001:db8:dd::dd

src : 2001:db8:aa::aa

dst : 2001:db8:cc::1

nh

6

0

1

reserved

addr[1] : 2001:db8:bb::1

addr[2] : 2001:db8:cc::1

addr[3] : 2001:db8:dd::dd

src : 2001:db8:aa::aa

dst : 2001:db8:dd::dd

nh

6

0

0

reserved

addr[1] : 2001:db8:bb::1

addr[2] : 2001:db8:cc::1

addr[3] : 2001:db8:dd::dd

routeur spécifié

routeur non-spécifié

24 of 29

24.11 : Autre extension de routage

  • Extension routage (type = 2) : Mobilité IPv6
    • La mobilité IP permet à un noeud de l’internet de changer de réseau (et donc d’adresse IP) de manière transparente avec ses correspondants. Lors d’un déplacement, l’ensemble des communications depuis et vers le noeud mobile sont conservées
    • Le groupe de travail Mobile IP s'est appuyé sur une solution basée sur deux adresses IP et sur le routage « normal » des paquets pour assurer la gestion de la mobilité des noeuds.
    • Des améliorations apportées par la version 6 d'IP et des éléments spécifiques à MIPv6 ont été utilisés pour assurer au mieux la transparence des déplacements.
    • MIPv6 utilise ou définit l'emploi des éléments suivants :
      • les en-têtes d'extension protocolaire (protocole 135) ;
      • les en-têtes de routage (nouveau type 2) ;
      • les en-têtes destination ;
      • les mécanismes d'annonce des routeurs (ICMPv6) ;
      • la gestion de l'obsolescence des adresses ;
      • la sécurisation des paquets (IPsec).

25 of 29

24.12 : Conclusion

  • Nous venons de passer en revue les mécanismes d’extensions intégrés dans le protocole IPv6
  • Le mécanisme d’extensions
    • Permet de simplifier le traitement de paquets normaux, cas le plus fréquent
    • D’identifier les paquets spécifiques nécessitant un traitement particulier
  • Yes but !
    • Les équipements de sécurité devront néanmoins identifier les champs successifs next header pour filtrer correctement les flux en se basant sur les couches de protocoles de type liaison, réseau et transport

26 of 29

24.13 : Options dans les extensions

    • Traitement avec l'extension de routage
      • Toutes les extensions sont construites suivant le même modèle.
      • L'extension commence par un champ Next Header qui indique quel sera la nature de l'encapsulation suivante, comme l'indique le tableau des valeurs du champ en-tête
      • Le deuxième champ contient la longueur de l'extension, généralement en mot de 64 bits. Pour l'extension de fragmentation qui a une longueur fixe, la valeur est 0.
      • La partie données peut être structurée en options (comme les extensions de proche-en-proche ou de destination) ou avoir un format spécifique.

Codage

Description

0

Proche en proche

4

IPv4

6

TCP

17

UDP

41

IPv6

43

Routage

44

Fragmentation

50

ESP confidentialité

51

AH Authentification

58

ICMPv6

59

IPv6 No Next

60

Destination

135

Mobilité

136

UDP-lite

140

Shim6

27 of 29

24.14 : Exemple extension de sécurité

  • Extension sécurité
    • L'extension d'authentification (AH : Authentication Header)
      • permet de s'assurer que l'émetteur du message est bien celui qu'il prétend être
    • L'extension ESP (Encapsulating Security Payload)
      • permet de chiffrer l'ensemble des paquets ou leur partie transport et de garantir l'authentification et l'intégrité de ces paquet,
      • En mode transport, seules les données de niveau transport du paquet IP (de type TCP, UDP, ICMP) sont protégées.
      • En mode tunnel, la protection porte sur tout le paquet IP original.

28 of 29

24.10: Extension de routage en action

2001:db8:aa::aa/64

2001:db8:aa::1/64

2001:db8:bb::1/64

2001:db8:cc::1/64

2001:db8:dd::dd/64

A

R1

R3

R2

B

R

Routing�Header

src : 2001:db8:aa::aa

dst : 2001:db8:aa::1

nh

6

0

3

reserved

addr[1] : 2001:db8:bb::1

addr[2] : 2001:db8:cc::1

addr[3] : 2001:db8:dd::dd

src : 2001:db8:aa::aa

dst : 2001:db8:bb::1

nh

6

0

2

reserved

addr[1] : 2001:db8:bb::1

addr[2] : 2001:db8:cc::1

addr[3] : 2001:db8:dd::dd

src : 2001:db8:aa::aa

dst : 2001:db8:cc::1

nh

6

0

1

reserved

addr[1] : 2001:db8:bb::1

addr[2] : 2001:db8:cc::1

addr[3] : 2001:db8:dd::dd

src : 2001:db8:aa::aa

dst : 2001:db8:dd::dd

nh

6

0

0

reserved

addr[1] : 2001:db8:bb::1

addr[2] : 2001:db8:cc::1

addr[3] : 2001:db8:dd::dd

routeur spécifié

routeur non-spécifié

29 of 29

24.7 : Exemple extension de routage

source

destination

IPv6 router�

natural path

forced path using RH0