ipv6 - freepatrick.ducrot.free.fr/ipv6.pdf · 5 - ecole nationale supérieure d'ingénieurs de...

54
1 - Ecole Nationale Supérieure d'Ingénieurs de Caen - 1 Présentation IPv6 Patrick Ducrot - Ecole Nationale Supérieure d'Ingénieurs de Caen - 2 Plan du document Les limitation d'IPv4……………………………………………………………………………………………………………………………… 3 IPv6: un nouveau protocole………………………………………………………………………………………………………………… 8 En tête et extensions IPv6………………………………………………………………………………………………………………… 12 L'adressage IPv6…………………………………………………………………………………………………………………………………………… 31 Quelques services de base…………………………………………………………………………………………………………………… 48 Configuration et commandes………………………………………………………………………………………………………………… 65 La mobilité………………………………………………………………………………………………………………………………………………………… 70 Transition IPv4-IPv6………………………………………………………………………………………………………………………………… 81 Eléments de programmation…………………………………………………………………………………………………………………… 96

Upload: others

Post on 22-Sep-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: IPv6 - Freepatrick.ducrot.free.fr/IPv6.pdf · 5 - Ecole Nationale Supérieure d'Ingénieurs de Caen - 9 L'apparition d'IPv6 Début des travaux au milieu des années 1980 pour améliorer

1

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

1

PrésentationIPv6

Patrick Ducrot

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

2

Plan du documentLes limitation d'IPv4……………………………………………………………………………………………………………………………… 3

IPv6: un nouveau protocole………………………………………………………………………………………………………………… 8

En tête et extensions IPv6………………………………………………………………………………………………………………… 12

L'adressage IPv6…………………………………………………………………………………………………………………………………………… 31

Quelques services de base…………………………………………………………………………………………………………………… 48

Configuration et commandes………………………………………………………………………………………………………………… 65

La mobilité………………………………………………………………………………………………………………………………………………………… 70

Transition IPv4-IPv6………………………………………………………………………………………………………………………………… 81

Eléments de programmation…………………………………………………………………………………………………………………… 96

Page 2: IPv6 - Freepatrick.ducrot.free.fr/IPv6.pdf · 5 - Ecole Nationale Supérieure d'Ingénieurs de Caen - 9 L'apparition d'IPv6 Début des travaux au milieu des années 1980 pour améliorer

2

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

3

Les limitations d'IPv4

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

4

Les limitations d'IPv4Adressage sur 32 bits (2^32 = 4,29 milliards d'adresses).

Stock d'adresses très entamé.

Répartition très inégale:la zone américaine est très favorisée (environ 74%) par rapport à l'Europe (environ 17%) et l'Asie (environ 9%) pourtant de plus en plus active (Chine, Inde, …).Plus de 50% des adresses sont antérieures aux RIR (Regional Internet Registry) et donc non contrôlées.

Page 3: IPv6 - Freepatrick.ducrot.free.fr/IPv6.pdf · 5 - Ecole Nationale Supérieure d'Ingénieurs de Caen - 9 L'apparition d'IPv6 Début des travaux au milieu des années 1980 pour améliorer

3

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

5

Les différents RIR

afrinic|ipv4|994 afrinic|ipv6|10

chiffres mars 2006 (source: serveur ftp des RIR)

arin|ipv4|36571

arin|ipv6|240

ripencc|ipv4|20594 ripencc|ipv6|692

lacnic|ipv4|1633

lacnic|ipv6|54

apnic|ipv4|12208 apnic|ipv6|427

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

6

Les limitations d'IPv4La pénurie d'adresses a été retardée par:

L'utilisation du NAT mais brise la philosophie de bout en bout (end to end).L'utilisation de DHCP.

Explosion des tables de routage malgré le routage CIDR.

IPv4 n'est pas un protocole adapté pour:l'auto configuration (plug and play).la mobilité.la gestion de la qualité de service (QoS).la gestion de la sécurité en natif.disposer d'un "always-on environment".

Page 4: IPv6 - Freepatrick.ducrot.free.fr/IPv6.pdf · 5 - Ecole Nationale Supérieure d'Ingénieurs de Caen - 9 L'apparition d'IPv6 Début des travaux au milieu des années 1980 pour améliorer

4

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

7

L'explosion des besoinsL'arrivée des services mobiles (gprs, edge, umts).

L'électronique connectée.

Les véhicules communicants.

La domotique.

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

8

IPv6: un nouveau protocole

Page 5: IPv6 - Freepatrick.ducrot.free.fr/IPv6.pdf · 5 - Ecole Nationale Supérieure d'Ingénieurs de Caen - 9 L'apparition d'IPv6 Début des travaux au milieu des années 1980 pour améliorer

5

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

9

L'apparition d'IPv6Début des travaux au milieu des années 1980 pour améliorer IP: IPng.

IPv6 retenu comme nouveau standard (RFC 1752) et adopté vers la fin des années 1990.

Type Ethernet 86DD (IPv4 = 0800).

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

10

Les apports d'IPv6Adresses sur 128 bits (2^128 = 3,4x10^38).

Adressage hiérarchique pour optimiser le routage.

En tête plus simple (8 champs au lieu de 13 en IPv4) et de taille fixe pour améliorer les performances et intégrer de nouvelles fonctionnalités par un mécanisme de liste chaînée d'extensions.

Mécanisme d'auto configuration.

Couche IPSec intégrée au protocole.

extension du multicast et abandon du broadcast.

Gestion de la mobilité.

Page 6: IPv6 - Freepatrick.ducrot.free.fr/IPv6.pdf · 5 - Ecole Nationale Supérieure d'Ingénieurs de Caen - 9 L'apparition d'IPv6 Début des travaux au milieu des années 1980 pour améliorer

6

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

11

Adressage hiérarchique et sécurité

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

12

En tête et extensions IPv6

Page 7: IPv6 - Freepatrick.ducrot.free.fr/IPv6.pdf · 5 - Ecole Nationale Supérieure d'Ingénieurs de Caen - 9 L'apparition d'IPv6 Début des travaux au milieu des années 1980 pour améliorer

7

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

13

Entêtes IPv4 vs IPv6

champs IPv4 supprimés en IPv6

champs IPv4 maintenus (mais renommés) en IPv6

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

14

En tête IPv6

Nouveau champ: valeur pouvant être attribuée par l'expéditeur. Le triplet (expéditeur, destinataire, étiquette de flux) peut faciliter le routage.

Flow label

Protocol IPv4 Next Header

Time to live IPv4Hop limit

Total length IPv4Payload length

Type of service IPv4Traffic class

Page 8: IPv6 - Freepatrick.ducrot.free.fr/IPv6.pdf · 5 - Ecole Nationale Supérieure d'Ingénieurs de Caen - 9 L'apparition d'IPv6 Début des travaux au milieu des années 1980 pour améliorer

8

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

15

En têtes d'extensionexemples:

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

16

Valeurs du champ "next header"

mobilité IPv6135

destination60

fin des en têtes59

authentification51

confidentialité50

fragmentation44

routage43

proche en proche0

ExtensionValeur

ICMPv658

IPv641

UDP17

TCP6

ProtocoleValeur

Page 9: IPv6 - Freepatrick.ducrot.free.fr/IPv6.pdf · 5 - Ecole Nationale Supérieure d'Ingénieurs de Caen - 9 L'apparition d'IPv6 Début des travaux au milieu des années 1980 pour améliorer

9

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

17

Ordre des en têtes d'extension

traité par tous les routeurs

traité par les routeurs listés dans l'extension "routing"

liste de routeurs à traverser

exécuté par le destinataire

exécuté après le réassemblage du paquet

chiffrement/déchiffrement de l'information

exécuté uniquement par le destinataire

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

18

Type Length ValueLes extensions "hop by hop" et "destination" transportent un nombre variable de valeurs (TLV).Format d'un TLV:

Option type: 8 bits, nature de l'option. Valeurs des 2 bits de poids fort:

00 saute cette option et continue à parcourir l'entête01 jette le paquet10 jette le paquet, et retourne un message ICMP d'erreur11 jette le paquet, et retourne un message ICMP d'erreur si

l'adresse destination n'était pas une adresse multicastLe 3ème bit indique que le routeur peut modifier le contenu de l'option (si 1) ou non (si 0).

Option data length: 8 bits, longueur de la zone donnée.Option data: longueur variable, données.

Option type Option Data Length Option Data

Page 10: IPv6 - Freepatrick.ducrot.free.fr/IPv6.pdf · 5 - Ecole Nationale Supérieure d'Ingénieurs de Caen - 9 L'apparition d'IPv6 Début des travaux au milieu des années 1980 pour améliorer

10

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

19

Padding (bourrage)Une option de bourrage peut être utilisée pour aligner une extension sur un multiple de 8 octets.

Deux options de padding:Pad1PadN

Exemple:"0x01 0x03 0x00 0x00 0x00".

0

1 length data

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

20

Extension "hop by hop"

Options: 1 ou plusieurs TLV avec paddingPad1PadNJumbogramme (194,0xc2) RFC 2675:

Option utilisée quand la taille du paquet IPv6 est supérieure à 65535. Dans ce cas, le "payload length" de l'entête IPv6 est à 0, et la partie "option" de l'extension est la longueur du paquet IPv6 codée sur 32 bits.

Router alert (5) RFC 2711:Si cette option est utilisée, chaque routeur (mais pas la destination) va analyser le paquet. Si la valeur de l'extension vaut:

0: le datagramme contient un message "Multicast ListenerDiscovery"

1: le datagramme contient un message "ReSerVation Protocol"2: le datagramme contient un message "Active Networks"3-65535: réservé pour des usages futurs par le IANA

next header length options

Page 11: IPv6 - Freepatrick.ducrot.free.fr/IPv6.pdf · 5 - Ecole Nationale Supérieure d'Ingénieurs de Caen - 9 L'apparition d'IPv6 Début des travaux au milieu des années 1980 pour améliorer

11

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

21

Extension "destination"Même format que l'extension "hop by hop".

Cette extension est interprétée par tous les relais traversés si elle suit l'option "hop by hop" ou uniquement par la destination si elle est située après l'extension de sécurité.

Option utilisée pour Pad1 et PadN et la mobilité.

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

22

Extension "routing"

Cette extension permet d'influer sur le choix de la route.

Seul le routage par la source (type=0) est supporté.

Seul le routage libéral (loose) est supporté: un routeur peut utiliser sa table de routage pour atteindre le prochain relais spécifié.

Fonctionnement:Le champ destination dans l'entête IPv6 contient l'adresse du premier relais.Lorsque le premier relais est atteint, il remplace l'adresse de destination par l'adresse du prochain relais et son adresse est retirée de la liste des relais à traverser.

- longueur = nombre de mots de 64 bits composant l'extension.

-Type = 0.

- segments restants: nombre d'équipements à traverser.

-réservé: pour maintenir l'alignement.

- listes des adresses.

Page 12: IPv6 - Freepatrick.ducrot.free.fr/IPv6.pdf · 5 - Ecole Nationale Supérieure d'Ingénieurs de Caen - 9 L'apparition d'IPv6 Début des travaux au milieu des années 1980 pour améliorer

12

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

23

Extension "fragmentation"

En tête suivant: 8 bitsRéservé: 8 bitsOffset de fragmentation: 13 bitsRéservé: 2 bitsP: 1 bit (0 = dernier fragment, 1 sinon)Identification: repérage des fragments

La fragmentation permet d'envoyer une information plus grande que le MTU.

Seul l'expéditeur est autorisé à fragmenter.

en tête suivant réservé offset de fragmentation Rés P

Identification

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

24

La sécuritéLa mise en œuvre de la sécurité permet de garantir:

la confidentialité des données.L'intégrité des données.L'authentification de l'origine des données.La protection contre le rejeu.

La sécurité permet de se prémunir du "sniffing", du "spoofing", des attaques "man in the middle",...

La couche IPSec est intégrée à IPv6 sous la forme de deux extensions:

extension d'authentification (Authentification Header) garantissant l'authentification et l'intégrité (RFC 2402).extension de confidentialité (Encapsulating Security Payload) garantissant la confidentialité, l'intégrité et l'authentification (RFC 2406).

Page 13: IPv6 - Freepatrick.ducrot.free.fr/IPv6.pdf · 5 - Ecole Nationale Supérieure d'Ingénieurs de Caen - 9 L'apparition d'IPv6 Début des travaux au milieu des années 1980 pour améliorer

13

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

25

IPSec mode transport ou tunnel

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

26

IPSec mode tunnel

Page 14: IPv6 - Freepatrick.ducrot.free.fr/IPv6.pdf · 5 - Ecole Nationale Supérieure d'Ingénieurs de Caen - 9 L'apparition d'IPv6 Début des travaux au milieu des années 1980 pour améliorer

14

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

27

IPSec mode intermédiaire

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

28

Association de sécuritéNégociation du type de sécurité à utiliser (algorithmes et clés de chiffrement, de hachage, …).

Une SA est identifiée par un indice de paramètre de sécurité (Security Parameters Index), l'adresse IP du destinataire et le protocole de sécurité (AH ou ESP).

Une SA contient:en fonction du type de sécurité: les algorithmes d'authentification, de chiffrement, les clés de chiffrement.la durée de vie de l'association.Le mode IPSec utilisé (transport, tunnel).

Le SPI doit toujours être mentionné dans les extensions de sécurité.

Page 15: IPv6 - Freepatrick.ducrot.free.fr/IPv6.pdf · 5 - Ecole Nationale Supérieure d'Ingénieurs de Caen - 9 L'apparition d'IPv6 Début des travaux au milieu des années 1980 pour améliorer

15

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

29

Extension "Authentification"Positionnement de l'extension AH:

Contenu de l'extension AH:

En tête IPv6 hop by hop routing destination AH destination données

En tête IPv6 + nouvelles extensions AH en tête IPv6 + extensions originales données

mode transport

mode tunnel

En tête suivant lg extension réservé

indice des paramètres de sécurité

numéro de séquence

données d'authentification

nombre variable de mots de 32 bits

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

30

Extension "sécurité"Positionnement de l'extension ESP

Contenu de l'extension ESP

en tête IPv6 hop by hop destination ESP destination données queue ESP auth. ESP

en tête IPv6 + ESP en tête IPv6 + données queue ESP auth. ESP

nouvelles extensions extensions originales

mode transport

mode tunnel

chiffré

authentifié

Page 16: IPv6 - Freepatrick.ducrot.free.fr/IPv6.pdf · 5 - Ecole Nationale Supérieure d'Ingénieurs de Caen - 9 L'apparition d'IPv6 Début des travaux au milieu des années 1980 pour améliorer

16

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

31

L'adressage IPv6

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

32

Format des adresses IPv6Adresse sur 128 bits découpée en 8 mots de 16 bits.

Exemple :

FEDC :0000 :0000 :0210 :EDBC :0000 :6543 :210Fou

FEDC:0:0:210:EDBC:0:6543:210F (compression des 0 d'en tête)ou

FEDC::210:EDBC:0:6543:210F (suppression d'une succession de 0)FEDC::210:EDBC::6543:210F est incorrect

Exemple d’utilisation:

http://[2001:1234:12::1]:8080

Cohabitation v4/v6

0:0:0:0:0:FFFF:192.168.16.1 ou ::FFFF:192.168.16.1

Page 17: IPv6 - Freepatrick.ducrot.free.fr/IPv6.pdf · 5 - Ecole Nationale Supérieure d'Ingénieurs de Caen - 9 L'apparition d'IPv6 Début des travaux au milieu des années 1980 pour améliorer

17

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

33

Adressage IPv6Types d'adresse:

Unicast (un à un)Multicast (un à plusieurs)Anycast (un à un parmi plusieurs)

Plan d'adressage:

Préfixe de routage global ID Sous réseau ID Interface

n bits m bits 128-n-m bits

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

34

Plan d'adressage

FE80::/101111 1110 10Adresse lien local

FF00::/81111 1111Adresse multicast

FEC0::/101111 1110 11Adresse site local

2000::/3001Global Unicast

0200::/70000 001Réservé NSAP

::0/1280000 0000Réservé

Préfixe hexaPréfixe binaireAllocation

Page 18: IPv6 - Freepatrick.ducrot.free.fr/IPv6.pdf · 5 - Ecole Nationale Supérieure d'Ingénieurs de Caen - 9 L'apparition d'IPv6 Début des travaux au milieu des années 1980 pour améliorer

18

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

35

Adresse IPv6Un équipement dispose en général de plusieurs adresses IPv6 (contrairement à IPv4).

# ifconfigeth1 Link encap:Ethernet HWaddr 00:30:48:2E:3D:7D

inet addr:193.49.200.59 Bcast:193.49.200.255 Mask:255.255.255.0inet6 addr: 2001:660:7105::10/0 Scope:Globalinet6 addr: fe80::230:48ff:fe2e:3d7d/64 Scope:LinkUP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1RX packets:3684332 errors:0 dropped:0 overruns:0 frame:0TX packets:2395860 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000 RX bytes:460322611 (438.9 Mb) TX bytes:2578239647 (2458.8 Mb)Base address:0x3040 Memory:fc220000-fc240000

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

36

Adresse "lien local"Une adresse "lien local" n'est valide que sur un lien (elle ne traverse pas les routeurs).

Tout équipement dispose automatiquement d'une adresse lien-local qui va permettre de découvrir les voisins.

Ce type d'adresse permet à 2 machines sur le même lien de communiquer et peut aussi être utilisée pour une connexion PPP ou pour les extrémités d'un tunnel.

Construction d'une adresse lien local (préfixe FE80::/64):

FE8 0 Identifiant d'Interface

10 bits 54 bits 64 bits

Page 19: IPv6 - Freepatrick.ducrot.free.fr/IPv6.pdf · 5 - Ecole Nationale Supérieure d'Ingénieurs de Caen - 9 L'apparition d'IPv6 Début des travaux au milieu des années 1980 pour améliorer

19

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

37

Construction d'un identifiant d'interfaceUn identifiant d'interface est construit à partir de l'adresse physique

u (Universal) vaut 1 si l'identifiant est unique ou 0 si l'adresse a été générée par un algorithme.g (Groupe) vaut 0 si l'adresse est individuelle ou 1 si c'est une adresse de groupe (multicast).

Exemple: adresse MAC ethernet = 00:30:48:2E:3D:7Dadresse lien local: FE80::0230:48FF:FE2E:3D7D

u g constructeur FFFE numéro série24 bits 16 bits 24 bits

7 8

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

38

Adresse "Unique Local Address"Anciennement adresse de site local.

Une adresse ULA est routée à l'intérieur d'un périmètre donné (tel un site ou un ensemble de sites) mais pas à l'extérieur.

Préfixe d'une adresse ULA: FC00::/7

Page 20: IPv6 - Freepatrick.ducrot.free.fr/IPv6.pdf · 5 - Ecole Nationale Supérieure d'Ingénieurs de Caen - 9 L'apparition d'IPv6 Début des travaux au milieu des années 1980 pour améliorer

20

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

39

Adresse "Unique Local Address"Adresse ULA auto assignée (L=1):

FD00::/8Préfixe global pseudo aléatoire généré localement:

trunc ( SHA-1 (local time, local EUI 64), 40 bits )

probablement unique mais pas de garantie.

Adresse ULA assignée officiellement (L=0):FC00::/8Préfixe global attribué par une autorité.Unicité de l'adresse garantie.

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

40

Adresse Unicast

http://www.iana.org/assignments/ipv6-tla-assignmentsIPv6 Prefix FP TLA Binary Value TLA Hex Assignment----------- --- ---------------- ------- ------------------2000::/16 001 0 0000 0000 0000 0x0000 Reserved2001::/16 001 0 0000 0000 0001 0x0001 Sub-TLA Assignments [RFC2450] 2002::/16 001 0 0000 0000 0010 0x0002 "6to4" [RFC3056] 2003::/16 001 0 0000 0000 0011 0x0003 Global Unicast [RFC3513] 3FFE::/16 001 1 1111 1111 1110 0x1FFE 6bone Testing [RFC2471] To be phased out 06/06/20063FFF::/16 001 1 1111 1111 1111 0x1FFF Reserved

TLA Réserve NLA SLA Interface ID

13 bits 8 bits 24 bits 16 bits 64 bits

topologie publique

FP

Format Prefix

Top Level Aggregator

Next Level Aggregator

Site Level Aggregator

3 bits

Page 21: IPv6 - Freepatrick.ducrot.free.fr/IPv6.pdf · 5 - Ecole Nationale Supérieure d'Ingénieurs de Caen - 9 L'apparition d'IPv6 Début des travaux au milieu des années 1980 pour améliorer

21

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

41

Allocation adresse unicastle IANA délègue des blocs d'adresses IPv6 aux RIR en /23

Les RIR délèguent aux LIR des blocs d'adresses IPv6 en /32

Les LIR assignent des préfixes aux utilisateurs en /48

Exemple:RIPE NCC 2001:0600::/23RENATER TLA 2001:0660::/32ENSICAEN 2001:0660:7105::/48

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

42

Adresses unicast particulièresAdresse locale (localhost):

0:0:0:0:0:0:0:1 ou ::1

Adresse non spécifiée (utilisée pendant des processus d'initialisation):

0:0:0:0:0:0:0:0 ou ::

Page 22: IPv6 - Freepatrick.ducrot.free.fr/IPv6.pdf · 5 - Ecole Nationale Supérieure d'Ingénieurs de Caen - 9 L'apparition d'IPv6 Début des travaux au milieu des années 1980 pour améliorer

22

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

43

Adresses MulticastUne adresse multicast désigne un ensemble d'interfaces.

Le préfixe d'une adresse multicast est FF00::/8

Format d'une adresse multicast:

flags: 3 premiers bits à 0; dernier bit à 0 indique une validité permanente (exemple: routeur) ou 1 pour une validité temporaire (exemple: visioconférence).scope: portée de la diffusion:

0: réservé 1: nœud 2: lien (FF02::/8)3: sous-réseau 5: site 8: organisationE: global F: réservé

FF flags scope Identifiant de groupe

8 bits 4 bits 4 bits 112 bits

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

44

Quelques préfixes multicastff02::1 Tous les nœuds du lien

ff02::2 Tous les routeurs du lien

ff02::3 Toutes les machines du lien

ff05::2 Tous les routeurs du site

Liste complète:http://www.iana.org/assignments/ipv6-multicast-addresses

Page 23: IPv6 - Freepatrick.ducrot.free.fr/IPv6.pdf · 5 - Ecole Nationale Supérieure d'Ingénieurs de Caen - 9 L'apparition d'IPv6 Début des travaux au milieu des années 1980 pour améliorer

23

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

45

Adresses multicast sollicitéUne adresse multicast sollicité est construite en concaténant le préfixe FF02::1:FF00:0/104 aux derniers 24 bits de l'adresse IPv6 de la machine.

Exemple:Adresse IPv6:

2001:660:7105:1000:20e:cff:fe30:7b3aAdresse multicast sollicité:

FF02::1:FF30:7b3a

Ces adresses peuvent être utilisées par les protocoles d'adresses dupliquées (DAD) et de découverte de voisins.

Au démarrage, un nœud IPv6 s'abonne au groupe multicastFF02::/1 et au groupe multicast sollicité FF02::1:FFxx:xxxx

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

46

Adresse AnycastUne adresse destination de type anycast désigne une interface parmi un ensemble de machines bien défini.

Format d'une adresse anycast (RFC 2526):Adresses de type EUI-64

Autre type d'adresses

préfixe du réseau 11111….1111 id. anycast

n bits 121 - n bits

préfixe du réseau 11111101…11 id. anycast

64 bits 57 bits 7 bits

7 bits

Page 24: IPv6 - Freepatrick.ducrot.free.fr/IPv6.pdf · 5 - Ecole Nationale Supérieure d'Ingénieurs de Caen - 9 L'apparition d'IPv6 Début des travaux au milieu des années 1980 pour améliorer

24

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

47

Exemple adresse anycastRecherche des machines "Home Agent" (utilisées dans la mobilité) au sein du réseau 2001:660:7105:1000::/64

Identifiant anycast: 7e

Adresse anycast:2001:660:7105:1000:FDFF:FFFF:FFFF:FFFE

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

48

Quelques services de base

Page 25: IPv6 - Freepatrick.ducrot.free.fr/IPv6.pdf · 5 - Ecole Nationale Supérieure d'Ingénieurs de Caen - 9 L'apparition d'IPv6 Début des travaux au milieu des années 1980 pour améliorer

25

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

49

Le protocole ICMPv6Protocole redéfini par la RFC 2463.Il permet:

gestion des erreurstest (ping)configuration automatique des équipementsdécouverte des voisins ("neighbour discovery")gestion de groupes multicast (MulticastListener Discovery)reprise des fonctionnalités de arp v4

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

50

Format ICMPv6

type : nature du paquet ICMPv6<= 127 message d'erreur> 127 message d'information

code: cause du message ICMPv6

cheksum: somme de contrôle

Page 26: IPv6 - Freepatrick.ducrot.free.fr/IPv6.pdf · 5 - Ecole Nationale Supérieure d'Ingénieurs de Caen - 9 L'apparition d'IPv6 Début des travaux au milieu des années 1980 pour améliorer

26

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

51

Messages d'erreur ICMPv61 Destination inaccessible :

0 * aucune route vers la destination 1 * la communication avec la destination est administrativement interdite 2 * hors portée de l'adresse source 3 * l'adresse est inaccessible 4 * le numéro de port est inaccessible

2 Paquet trop grand3 Temps dépassé :

0 * limite du nombre de sauts atteinte 1 * temps de réassemblage dépassé

4 Erreur de paramètre : 0 * champ d'en-tête erroné 1 * champ d'en-tête suivant non reconnu 2 * option non reconnue

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

52

Messages d'information ICMPv6

128 Demande d'écho

129 Réponse d'écho

Page 27: IPv6 - Freepatrick.ducrot.free.fr/IPv6.pdf · 5 - Ecole Nationale Supérieure d'Ingénieurs de Caen - 9 L'apparition d'IPv6 Début des travaux au milieu des années 1980 pour améliorer

27

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

53

Messages de gestion de groupe multicast130 Requête d'abonnement

131 Rapport d'abonnement

132 Fin d'abonnement

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

54

Messages de découverte de voisins133 Sollicitation du routeur

134 Annonce du routeur

135 Sollicitation d'un voisin

136 Annonce d'un voisin

137 Redirection

Page 28: IPv6 - Freepatrick.ducrot.free.fr/IPv6.pdf · 5 - Ecole Nationale Supérieure d'Ingénieurs de Caen - 9 L'apparition d'IPv6 Début des travaux au milieu des années 1980 pour améliorer

28

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

55

Messages de gestion de mobilité

144 Découverte d'agent mère (requête)

145 Découverte d'agent mère (réponse)

146 Sollicitation de préfixe mobile

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

56

Quelques nouveaux protocolesAuto Configuration

mode "stateless": l'équipement va s'efforcer de récupérer le préfixe du site pour construire son adresse (RFC 2462).mode "stateful": les informations sont envoyées par un serveur DHCP (RFC 3315).

Découverte du Maximum Transmission Unit (RFC 1981).

Découverte des voisins (RFC 2461).

Page 29: IPv6 - Freepatrick.ducrot.free.fr/IPv6.pdf · 5 - Ecole Nationale Supérieure d'Ingénieurs de Caen - 9 L'apparition d'IPv6 Début des travaux au milieu des années 1980 pour améliorer

29

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

57

Auto configuration "stateless"L'équipement s'attribue une adresse "lien local".

Vérification de l'unicité de cette adresse:Envoi d'une trame ICMPv6 "sollicitation d'un voisin" (type 135) sur l'adresse multicast ff02::1

Aucune réponse après un temps déterminé (1 seconde par défaut), l'adresse est valide.Retour d'un message ICMPv6 "annonce d'un voisin en retour d'une sollicitation (bit S)" (type 136), l'adresse est déjà utilisée.

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

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

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

58

Autoconfiguration "stateful"Un serveur DHCP peut proposer plus d'informations que par l'autoconfiguration sans état (exemple: serveur DNS).

Un serveur DHCP peut gérer plusieurs liens; un client DHCP converse soit directement avec le serveur DHCP soit à travers un proxy DHCP.

Un serveur DHCP maintient une liste d'associations entre un client et les paramètres attribués.

Un client est identifié par un DUID (DHCP Unique IDentifier) généré et fonction de l'adresse de lien local (pas nécessairement unique sur 2 liens distincts) et une variable (qui peut être fonction du temps).

Les requêtes DHCP sont envoyées sur UDP/547, les réponses sont reçues sur UDP/546.

La découverte d'un serveur DHCP est réalisée par un envoi d'un message multicast à l'adresse FF02::1:2.

Page 30: IPv6 - Freepatrick.ducrot.free.fr/IPv6.pdf · 5 - Ecole Nationale Supérieure d'Ingénieurs de Caen - 9 L'apparition d'IPv6 Début des travaux au milieu des années 1980 pour améliorer

30

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

59

Découverte du Path MTUProtocole TCP:

Envoi d'une demande connexion avec le MTU du lien.Si le MTU est trop grand, réception d'un message ICMPv6 "paquet trop grand" (type 2 contenant une nouvelle valeur de MTU).On essaye à nouveau jusqu'à établissement de la connexion.

Protocole UDP:La segmentation doit être assurée par une couche supérieure. Il y a souvent nécessité de fragmenter (extension IPv6).

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

60

Fonctionnement DNS

Page 31: IPv6 - Freepatrick.ducrot.free.fr/IPv6.pdf · 5 - Ecole Nationale Supérieure d'Ingénieurs de Caen - 9 L'apparition d'IPv6 Début des travaux au milieu des années 1980 pour améliorer

31

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

61

Serveur de nomsSupport de IPv6 par les DNS (RFC1886)

Enregistrement de type AAAA pour la résolution nom adresse (RFC 1886)

Nouveau domaine ip6.arpa pour la résolution adresse nom (anciennement ip6.int).

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

62

Configuration DNS acl permit-transfer {

::ffff:192.93.101.14 ;::ffff:193.49.200.16 ;

};options {

version "unknown"; // Pour eviter d'indiquer la version utiliseedirectory "/etc/dns"; // Emplacement des fichiers de zonelisten-on-v6 { any; } ;allow-transfer { permit-transfer ; } ;

………};

zone "ensicaen.fr" {type master;file "db.ensicaen.fr";

};zone "5.0.1.7.0.6.6.0.1.0.0.2.ip6.arpa" {

type master ;file "db.ipv6.ensicaen.fr.reverse" ;

};

zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" {type master ;file "db.ipv6.localhost.reverse" ;

};

Page 32: IPv6 - Freepatrick.ducrot.free.fr/IPv6.pdf · 5 - Ecole Nationale Supérieure d'Ingénieurs de Caen - 9 L'apparition d'IPv6 Début des travaux au milieu des années 1980 pour améliorer

32

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

63

Fichier db.ensicaen.fr$TTL 86400@ IN SOA ns.ensicaen.fr. dp.ensicaen.fr. (

2006032302 ; Serial21600 ; Refresh every 3 hours3600 ; Retry every hour604800 ; Expire after a week86400 ) ; Minimum ttl of 1 day

IN NS ns.ensicaen.fr.IN NS ns1.syrhano.net.IN NS caeau2.in2p3.fr.

IN MX 3 debian-mx1.ensicaen.fr.

localhost IN A 127.0.0.1IN AAAA ::1

ns IN A 193.49.200.14IN AAAA 2001:660:7105::2

;; serveur www de l'etablissement;serv2 IN A 193.49.200.59www IN CNAME serv2.ecole.ensicaen.fr.www6 IN AAAA 2001:660:7105::10

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

64

Fichier db.ipv6.ensicaen.fr.reverse$TTL 86400;$ORIGIN 0.0.0.0.5.0.1.7.0.6.6.0.1.0.0.2.IP6.ARPA.@ IN SOA ns.ensicaen.fr. dp.ensicaen.fr. (

2005032901 ; Serial10800 ; Refresh every 3 hours3600 ; Retry every hour604800 ; Expire after a week86400 ) ; Minimum ttl of 1 day

IN NS ns.ensicaen.fr.

$ORIGIN 0.0.0.0.5.0.1.7.0.6.6.0.1.0.0.2.IP6.ARPA.

1.0.0.0.0.0.0.0.0.0.0.0.1.0.0.0 IN PTR routeuripv6.ecole.ensicaen.fr.2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 IN PTR ns.ensicaen.fr.

Page 33: IPv6 - Freepatrick.ducrot.free.fr/IPv6.pdf · 5 - Ecole Nationale Supérieure d'Ingénieurs de Caen - 9 L'apparition d'IPv6 Début des travaux au milieu des années 1980 pour améliorer

33

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

65

Configuration et commandes

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

66

Configuration sous LinuxAjout d'une adresse IPv6 sur l'interface eth0:

ifconfig eth0 add 2001:660:7105:1000::10/64

Ajout d'une routeroute add 2000::/3 dev eth0

Visualisation des routes:route -A inet6 (ou route -6)

Page 34: IPv6 - Freepatrick.ducrot.free.fr/IPv6.pdf · 5 - Ecole Nationale Supérieure d'Ingénieurs de Caen - 9 L'apparition d'IPv6 Début des travaux au milieu des années 1980 pour améliorer

34

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

67

Commandes LinuxVisualisation des routes

route -A inet6 (ou route -6)

Visualiser les voisins (équivalent du cache arpIPv4):

ip -f inet6 neigh

Commandes de bon fonctionnement du réseau:ping6, traceroute6, tracepath6

filtrage de paquetsipv6tables

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

68

Configurations sous WindowsAjout d'une adresse IPv6:

ipv6 adu 4/2001:660:7105:1000::11

Ajout d'une routeipv6 rtu 2000::/3 4/2001:660:7105:1000::1

Configuration "conviviale"netsh> interface ipv6

Page 35: IPv6 - Freepatrick.ducrot.free.fr/IPv6.pdf · 5 - Ecole Nationale Supérieure d'Ingénieurs de Caen - 9 L'apparition d'IPv6 Début des travaux au milieu des années 1980 pour améliorer

35

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

69

Commandes WindowsVisualisation des interfaces IPv6:

ipv6 if

Visualisation des routes ipv6 rt

Commandes de bon fonctionnement du réseau:ping6 tracert6

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

70

La mobilité

Page 36: IPv6 - Freepatrick.ducrot.free.fr/IPv6.pdf · 5 - Ecole Nationale Supérieure d'Ingénieurs de Caen - 9 L'apparition d'IPv6 Début des travaux au milieu des années 1980 pour améliorer

36

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

71

La mobilitéConcept important notamment avec le développement des terminaux mobiles (téléphone, pda, …).

Un mobile doit conserver la même adresse IP quel que soit le réseau auquel il est connecté afin de:

pouvoir communiquerêtre joignablepouvoir se déplacer sans interruption de la connexion.

Standard IETF: MIPv6 (Mobile IP)

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

72

Principe de la mobilitéUn mobile connecté sur un réseau étranger dispose:

une adresse temporaire au sein du réseau étranger ("Care Of Address") obtenue par auto configuration.une adresse mère provenant de son réseau d'origine ("Home Address").

Le mobile doit toujours pouvoir communiquer.

Les connexions établies (au niveau 4) doivent être maintenues même si le mobile change de réseau.

L'association (adresse temporaire, adresse primaire) est envoyée à un routeur du réseau d'origine (Home Agent).

Le Home Agent doit être capable d'intercepter toutes les informations destinées au mobile et de les retransmettre dans un tunnel sur l'adresse temporaire (proxy).

Le Home Agent doit être capable de faire du "reverse tunneling" du mobile vers le correspondant.

Page 37: IPv6 - Freepatrick.ducrot.free.fr/IPv6.pdf · 5 - Ecole Nationale Supérieure d'Ingénieurs de Caen - 9 L'apparition d'IPv6 Début des travaux au milieu des années 1980 pour améliorer

37

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

73

La mobilité

source de l'image: http://livre.point6.net

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

74

Communication en double tunneling(1/2)

Page 38: IPv6 - Freepatrick.ducrot.free.fr/IPv6.pdf · 5 - Ecole Nationale Supérieure d'Ingénieurs de Caen - 9 L'apparition d'IPv6 Début des travaux au milieu des années 1980 pour améliorer

38

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

75

Communication en double tunneling(2/2)

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

76

Envoi d'un message d'association au correspondant

Page 39: IPv6 - Freepatrick.ducrot.free.fr/IPv6.pdf · 5 - Ecole Nationale Supérieure d'Ingénieurs de Caen - 9 L'apparition d'IPv6 Début des travaux au milieu des années 1980 pour améliorer

39

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

77

Fonctionnalités nécessaires pour la mobilité

Chaque nœud IPv6 doit pouvoir mémoriser des associations ("binding cache").

Un Home Agent doit être capable de:maintenir une liste d'associations de mobiles.Intercepter les paquets à destination d'un mobile distant.Encapsuler et de transférer les paquets à destination d'un mobile distant et de son correspondant.Retourner des messages "Acquittement de l'association".

Un mobile doit être capable de:Décapsuler des paquets.Envoyer des messages "Mise à jour de l'association" et réceptionner des messages "Acquittement de l'association".Maintenir une liste de messages "Mise à jour de l'association" contenant l'adresse IPv6 du correspondant auquel ce message a été envoyé.Effectuer une découverte d'agent mère.

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

78

La mobilitéUtilisation de:

L'extension "destination".

L'autoconfiguration "stateless"

Protocole "découverte des voisins"

Mécanismes de chiffrement et d'authentification pour sécuriser les messages "Binding Update".

Page 40: IPv6 - Freepatrick.ducrot.free.fr/IPv6.pdf · 5 - Ecole Nationale Supérieure d'Ingénieurs de Caen - 9 L'apparition d'IPv6 Début des travaux au milieu des années 1980 pour améliorer

40

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

79

Envoi de paquets à un mobileAvant d'envoyer un paquet, un nœud recherche une association dans son cache.

Si elle existe:Adresse destination = adresse temporaire du mobileEn tête de routage contenant l'adresse du mobile dans son réseaumère.Le mobile échange l'adresse de destination et l'adresse de routage puis délivre le paquet aux couches supérieures. Le paquet est ainsi adressé à l'adresse du mobile dans son réseau mère.

Si elle n'existe pas:Adresse destination = adresse dans le réseau mère.Interception par l'agent mère et envoi au mobile dans un tunnel.Réception du paquet par le mobile et envoi d'un message "mise à jour de l'association" vers le correspondant.

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

80

Extension "destination" pour la mobilité

Adresse temporaire alternative (Alternate Care of Address)3

Données d'authentification (Authentication Data)4

Identificateur Unique (Unique Identifier)2

PadN1

Pad10

Sous options:

Adresse principale (Home Address)201 (0xC9)

Demande de mise à jour de l'association (Binding Request)8

Acquittement de l'association (Binding Acknowledgement)7

Mise à jour de l'association (Binding Update)198 (0xC6)

Options:

Page 41: IPv6 - Freepatrick.ducrot.free.fr/IPv6.pdf · 5 - Ecole Nationale Supérieure d'Ingénieurs de Caen - 9 L'apparition d'IPv6 Début des travaux au milieu des années 1980 pour améliorer

41

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

81

Transition IPv4 Ipv6

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

82

Transition IPv4 Ipv6Excepté les limitations techniques d'IPv4,le passage à IPv6 n'est pas encore considéré comme indispensable.

Cependant, tout investissement lourd doit être pensé avec cette perspective afin d'être pérenne.

Peu d'offres commerciales actuellement au niveau des Fournisseurs d'Accès Internet:

nerim http://www.nerim.frwanadoo (en test) http://www.ipv6.wanadoo.fr

Pendant la phase de transition, IPv6 doit cohabiter avec IPv4 (pas de jour J pour basculer en IPv6).

Page 42: IPv6 - Freepatrick.ducrot.free.fr/IPv6.pdf · 5 - Ecole Nationale Supérieure d'Ingénieurs de Caen - 9 L'apparition d'IPv6 Début des travaux au milieu des années 1980 pour améliorer

42

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

83

Double pile IPv4/IPv6Les systèmes d'exploitation modernes supportent une double pile IPv4/IPv6 (dual stack).

Les machines possèdent une adresse IPv6 et une adresse IPv4 mappée (::FF:xx:xx:xx:xx).

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

84

Renater: architecture IPv6

Page 43: IPv6 - Freepatrick.ducrot.free.fr/IPv6.pdf · 5 - Ecole Nationale Supérieure d'Ingénieurs de Caen - 9 L'apparition d'IPv6 Début des travaux au milieu des années 1980 pour améliorer

43

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

85

Tunnels IPv6 dans IPv4UN tunnel est créé à la frontière de deux zones IPv6 par des routeurs connectés entre eux par une adresse IPv4:

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

86

Tunnel 6over4Ce type de tunnel permet à des machines IPv6 qui ne sont pas directement connectées à un routeur IPv6 d'utiliser néanmoins ceprotocole.

Les mécanismes d'auto configuration (voisins, routeurs) seront encapsulés dans des messages multicast IPv4 (exemple: 239.XX.0.2 pour atteindre tous les routeurs IPv4 supportant ce mécanisme).

Page 44: IPv6 - Freepatrick.ducrot.free.fr/IPv6.pdf · 5 - Ecole Nationale Supérieure d'Ingénieurs de Caen - 9 L'apparition d'IPv6 Début des travaux au milieu des années 1980 pour améliorer

44

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

87

Tunnel 6to4Le paquet IPv6 est encapsulé dans un paquet IPv4 (type 41).

6to4 attribue automatiquement une adresses IPv6 dans le réseau 2002::/16 et qui est fabriquée directement à partir de l'IPv4 publique.

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

88

Exemple de tunnel 6to4Machine Linux connectée à un tunnel 6to4 au réseau Vikman:

#!/bin/shmodprobe ipv6ifconfig eth0 add 2001:0660:7105::1/48ip tunnel add tunnelIPv6 mode sit ttl 64 remote 195.220.17.254 local 193.49.200.2ifconfig tunnelIPv6 add fec0:0:0:1::2/64ip link set dev tunnelIPv6 upip -6 route add 2000::/3 dev tunnelIPv6 metric 1

Page 45: IPv6 - Freepatrick.ducrot.free.fr/IPv6.pdf · 5 - Ecole Nationale Supérieure d'Ingénieurs de Caen - 9 L'apparition d'IPv6 Début des travaux au milieu des années 1980 pour améliorer

45

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

89

ISATAPIntra-Site Automatic Tunnel Addressing Protocol.

Fournit la connectivité IPv6 au dessus des intranets IPv4.

IPv6 est encapsulé dans IPv4.

Les adresses ISATAP sont de la forme XXXX::0:5EFE:xx.xx.xx.xx

où XXXX représente le préfixe (FE80 en local ou obtenu auprès d'un routeur)xx.xx.xx.xx représente l'adresse IPv4

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

90

Schéma ISATAP

Page 46: IPv6 - Freepatrick.ducrot.free.fr/IPv6.pdf · 5 - Ecole Nationale Supérieure d'Ingénieurs de Caen - 9 L'apparition d'IPv6 Début des travaux au milieu des années 1980 pour améliorer

46

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

91

TeredoTunnel automatique de Microsoft (RFC 4380).

Teredo permet à un hôte relié à un réseau IPv4 derrière un nat IPv4 de communiquer en IPv6, sans routeur particulier sur son LAN.

Teredo est disponible dans Windows XP SP2, SP1 avec le pack Advanced Server, Windows Server 2003, Windows Vista et Windows Server Longhorn.

Les paquets IPv6 sont envoyés dans des paquets UDP (port 3544) et possède le préfixe 2001::/32 (anciennement 3ffe:831f::/32).

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

92

Composition de TEREDOTeredo est composé de trois composants:

Client TEREDO: un nœud qui dispose d'un accès IPv4 et souhaite obtenir un accès IPv6.

Serveur TEREDO: un nœud qui a un accès Internet à travers une adresse IPv4 publique et qui va fournir une connectivité IPv6 aux clients TEREDO.

Relais TEREDO: un routeur IPv6 qui reçoit et retransmet le trafic IPv6 au client TEREDO.

Page 47: IPv6 - Freepatrick.ducrot.free.fr/IPv6.pdf · 5 - Ecole Nationale Supérieure d'Ingénieurs de Caen - 9 L'apparition d'IPv6 Début des travaux au milieu des années 1980 pour améliorer

47

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

93

Architecture TEREDO

http://www.ipv6tf.org/using/connectivity/teredo.php

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

94

Intérêt de TEREDOOn peut utiliser TEREDO si:

on souhaite un accès IPv6on ne dispose que d'un accès IPv4les machines sont derrière un NAT

On n'utilise pas TEREDO quand:On dispose d'une connexion IPv6 native.on dispose d'une adresse IPv4 publique (on utilise plutôt 6to4).

Page 48: IPv6 - Freepatrick.ducrot.free.fr/IPv6.pdf · 5 - Ecole Nationale Supérieure d'Ingénieurs de Caen - 9 L'apparition d'IPv6 Début des travaux au milieu des années 1980 pour améliorer

48

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

95

Tunnel BrokerCréation d'un tunnel chez un ISP.Exemple:

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

96

Eléments de Programmation

Page 49: IPv6 - Freepatrick.ducrot.free.fr/IPv6.pdf · 5 - Ecole Nationale Supérieure d'Ingénieurs de Caen - 9 L'apparition d'IPv6 Début des travaux au milieu des années 1980 pour améliorer

49

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

97

Programmation IPv6Pas de changement pour les langages qui utilisent des couches d'abstraction et qui ne référencent pas des adresses IPv4 directement (exemple: java).

Pour les autres, les changements sont minimisés.

Les API restent identiques:socket () utilise PF_INET6bind () connect () sendto ()accept () recvfrom ()

Il faut désormais programmer "compatible IPv6".

et "V6ifier" les applications existantes (sous Windows, on peut s'aider de checkv4.exe).

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

98

Java et IPv6Support de l'IPv6 par java depuis la version 1.4 sous Linux et Solaris et depuis la version 1.5.0 pour Windows.

Programmation "transparente".

Page 50: IPv6 - Freepatrick.ducrot.free.fr/IPv6.pdf · 5 - Ecole Nationale Supérieure d'Ingénieurs de Caen - 9 L'apparition d'IPv6 Début des travaux au milieu des années 1980 pour améliorer

50

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

99

Java: Client/Serveur IPv4/IPv6void client(String name) {

Socket s = new Socket(name, 8080);

InputStream in = s.getInputStream();

//…in.close () ;

}

ServerSocket server =new ServerSocket(8080);

Socket s;while (true) {

s = server.accept();doClientStuff(s)

}

-En cas d'adresses multiples, IPv4 est privilégié.

-On peut choisir le protocole grâce aux propriétés:java.net.preferIPv4Stack=true (false par défaut)

java.net.preferIPv6Addresses=true (false par défaut)

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

100

Java et la gestion des adresses

try {InetAddress www = InetAddress.getByName ("www.ensicaen.fr") ;InetAddress www6 = InetAddress.getByName ("www6.ensicaen.fr") ;System.out.println (www + " " + www6) ;if (www6 instanceof Inet6Address){

Inet6Address addr = (Inet6Address) www6 ;System.out.println (addr.isLinkLocalAddress ()) ;

}} catch (UnknownHostException e) {}

java.net.InetAddress

java.net.Inet4Address java.net.Inet6Address

Page 51: IPv6 - Freepatrick.ducrot.free.fr/IPv6.pdf · 5 - Ecole Nationale Supérieure d'Ingénieurs de Caen - 9 L'apparition d'IPv6 Début des travaux au milieu des années 1980 pour améliorer

51

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

101

Langage C et IPv6Les sockets BSD ont été étendues à l'IPv6 (RFC 2553):

Nouveau protocole: PF_INET6Nouvelle famille: AF_INET6Nouvelle structure d'adresse: (struct sockaddr_storage)

struct in6_addr{

union{

uint8_t u6_addr8[16];uint16_t u6_addr16[8];uint32_t u6_addr32[4];

} in6_u;#define s6_addr in6_u.u6_addr8#define s6_addr16 in6_u.u6_addr16#define s6_addr32 in6_u.u6_addr32};

struct sockaddr_in6{

__SOCKADDR_COMMON (sin6_);in_port_t sin6_port; /* Transport layer port */uint32_t sin6_flowinfo; /* IPv6 flow information */struct in6_addr sin6_addr; /* IPv6 address */uint32_t sin6_scope_id; /* IPv6 scope-id */

};

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

102

ProgrammationL'adresse wildcard:

struct in6_addr any_addr = IN6ADDR_ANY_INIT;

L'adresse de bouclage:struct in6_addr loopback_addr = IN6ADDR_LOOPBACK_INIT;

Page 52: IPv6 - Freepatrick.ducrot.free.fr/IPv6.pdf · 5 - Ecole Nationale Supérieure d'Ingénieurs de Caen - 9 L'apparition d'IPv6 Début des travaux au milieu des années 1980 pour améliorer

52

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

103

Conversion nom <-> adresseEquivalent de gethostbyname (), gethostbyaddr (), getservbyname (), getservbyport ():

#include <sys/socket.h> #include <netdb.h>

int getaddrinfo (const char *nodename, const char *servname, const struct addrinfo *hints, struct addrinfo **res /* Liste chainee d'adresses IPv4 & IPv6 */

); void freeaddrinfo(struct addrinfo *res); const char *gai_strerror(int errcode);

struct addrinfo { int ai_flags; /* AI_PASSIVE, AI_CANONNAME,AI_NUMERICHOST ... */ int ai_family; /* PF_xxx ou PF_UNSPEC*/ int ai_socktype; /* SOCK_xxx */ int ai_protocol; /* 0 ou IPPROTO_xxx pour IPv4 et IPv6 */ size_t ai_addrlen; /* la taille de l'adresse binaire ai_addr */ char *ai_canonname; /* le nom complètement qualifié */ struct sockaddr *ai_addr; /* l'adresse binaire */ struct addrinfo *ai_next; /* structure suivante de la liste chaînée */

};

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

104

Résolution des nomsOn résout le nom avant la création de la socket:

getaddrinfo (…) socket (res->ai_family,res->ai_socktype,res->ai_protocol) connect (…)

et non plus

socket (AF_INET,SOCK_XXXX,0)gethostbyname (…)connect (…)

Page 53: IPv6 - Freepatrick.ducrot.free.fr/IPv6.pdf · 5 - Ecole Nationale Supérieure d'Ingénieurs de Caen - 9 L'apparition d'IPv6 Début des travaux au milieu des années 1980 pour améliorer

53

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

105

Exemplestruct addrinfo *res ;struct addrinfo hints = {

0,PF_UNSPEC,SOCK_STREAM,0,0,NULL,NULL,NULL

} ;

if ( (status = getaddrinfo ("www6.ensicaen.fr","http",&hints,&res)) != 0){

fprintf (stderr,"getaddrinfo: %s\n",gai_strerror (status)) ;return -1 ;

}

sock = socket (res->ai_family,res->ai_socktype,res->ai_protocol) ;if (sock == -1){

freeaddrinfo (res) ;perror ("socket") ;return -1 ;

}

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

106

Conversion nom <-> adresseEquivalent de gethostbyaddr () et getservbyport ():

#include <sys/socket.h> #include <netdb.h> int getnameinfo (

const struct sockaddr *sa, socklen_t salen, char *host, size_t hostlen, /* Taille réservée (NI_MAXHOST = 1025) */char *serv, size_t servlen, /* Taille réservée (NI_MAXSERV = 32) */int flags /* NI_NUMERICHOST, NI_NUMERICSERV, NI_NDGRAM… */

);

Page 54: IPv6 - Freepatrick.ducrot.free.fr/IPv6.pdf · 5 - Ecole Nationale Supérieure d'Ingénieurs de Caen - 9 L'apparition d'IPv6 Début des travaux au milieu des années 1980 pour améliorer

54

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

107

Conversion numérique d'adressesEquivalent de inet_addr() et inet_ntoa ():

#include <sys/socket.h> #include <arpa/inet.h> int inet_pton(

int af, /* AF_INET ou AF_INET6 */ const char *src, /* l'adresse (chaine de caract.) à traiter */ void *dst /* le tampon où est rangé le résultat */

) ;char * inet_ntop(

int af, /* AF_INET ou AF_INET6 */ const void *src, /* l'adresse binaire à traiter */ char *dst, /* le tampon où est rangé le résultat */ size_t size /* INET_ADDRSTRLEN=16 ou

INET6_ADDRSTRLEN=46 */ ) ;

- Ecole Nationale Supérieure d'Ingénieurs de Caen -

108

Quelques référencesIPv6 théorie et pratique, Gisèle Cizault, O'Reilly

http://www.point6.nethttp://groupe.g6.asso.frhttp://www.6diss.orghttp://www.kame.nethttp://www.ipv6.orghttp://www.6bone.net