tutoriel sur ipv6 -...

25
1 Tutoriel sur IPv6 JRES 2001, 10 décembre 2001 [email protected] [email protected] JRES01 / Tutoriel IPv6 2 JLR/LS Pourquoi une nouvelle version du protocole IP ?

Upload: trinhhanh

Post on 12-Sep-2018

233 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Tutoriel sur IPv6 - influe.free.frinflue.free.fr/Serveur/Documents/Reseau/Administration/tutorial... · version du protocole IP ? 2 JLR/LS JRES01 / Tutoriel IPv6 3 ... NAT et adressage

1

Tutoriel sur IPv6

JRES 2001,10 décembre 2001

[email protected] [email protected]

JRES01 / Tutoriel IPv6 2JLR/LS

Pourquoi une nouvelleversion du protocole IP ?

Page 2: Tutoriel sur IPv6 - influe.free.frinflue.free.fr/Serveur/Documents/Reseau/Administration/tutorial... · version du protocole IP ? 2 JLR/LS JRES01 / Tutoriel IPv6 3 ... NAT et adressage

2

JRES01 / Tutoriel IPv6 3JLR/LS

L’épuisement des adresses IPv4(source www.iana.org en décembre 2001)

Utilisation de l'espace d'adressage IPv4

0

50

100

150

200

250

1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001

Années

en fr

actio

ns d

e 1/

256

JRES01 / Tutoriel IPv6 4JLR/LS

Mesures d’urgence

■ Allocation exceptionnelle de réseaux declasse B

■ Réutilisation des adresses de classe C■ CIDR (Classless Internet Domain Routing)■ NAT et adressage privé (RFC1918)

Page 3: Tutoriel sur IPv6 - influe.free.frinflue.free.fr/Serveur/Documents/Reseau/Administration/tutorial... · version du protocole IP ? 2 JLR/LS JRES01 / Tutoriel IPv6 3 ... NAT et adressage

3

JRES01 / Tutoriel IPv6 5JLR/LS

Conséquence des mesures d’urgence

■ Force les plans d’adressage privés■ Les adresses sont utilisées en interne■ Ressemble à une architecture de

sécurité avec ‘firewall’

■ Utilisation de ‘proxy’ ou NAT pour sortirRFC 1631, 2663 et 2993

JRES01 / Tutoriel IPv6 6JLR/LS

Aspects technologiques duprotocole IPv6, et nouveautés

par rapport à IPv4

Page 4: Tutoriel sur IPv6 - influe.free.frinflue.free.fr/Serveur/Documents/Reseau/Administration/tutorial... · version du protocole IP ? 2 JLR/LS JRES01 / Tutoriel IPv6 3 ... NAT et adressage

4

JRES01 / Tutoriel IPv6 7JLR/LS

En-tête IPv4

Ver.fragmentIdentifier

Total Lengthflags

20 B

ytes

32 bits

DiffServ

Options

IHL

TTL Protocol ChecksumSource Address

Destination Address

JRES01 / Tutoriel IPv6 8JLR/LS

IPv6 : simplification de l’en-tête

Ver.Hop LimitPayload Length

Flow LabelNext Header

Source Address

Destination Address

40 B

ytes

5 w

ords

32 bits

DiffServ

Page 5: Tutoriel sur IPv6 - influe.free.frinflue.free.fr/Serveur/Documents/Reseau/Administration/tutorial... · version du protocole IP ? 2 JLR/LS JRES01 / Tutoriel IPv6 3 ... NAT et adressage

5

JRES01 / Tutoriel IPv6 9JLR/LS

Structure des adresses IPv6

JRES01 / Tutoriel IPv6 10JLR/LS

Schéma d’adressage■ Les adresses de 128 bits permettent

– une organisation hiérarchique– la flexibilité lors des évolutions de réseau

■ adressage sans classe (idem CIDR)– adresse réseau := <préfixe> / <longueur préfixe>

• 3FFE:302:12::/48• 3FFE:302:12:2:a00:20ff:fe18:964c/64

– l’‘Aggrégation’ réduit la taille des tables de routage■ notation numérique hexadécimale■ une interface a plusieurs adresses IPv6

Page 6: Tutoriel sur IPv6 - influe.free.frinflue.free.fr/Serveur/Documents/Reseau/Administration/tutorial... · version du protocole IP ? 2 JLR/LS JRES01 / Tutoriel IPv6 3 ... NAT et adressage

6

JRES01 / Tutoriel IPv6 11JLR/LS

Adresses IPv6

■ Loopback ::1■ Link local FE80::….■ Site local FEC0::….■ Global

– 6bone : 3FFE…– Officielles : 200x…– IPv4 ‘mappées’– IPv4 compatibles– 6to4 : 2002::…

■ Unicast■ Multicast■ Anycast

Spécifiques à l’intégration IPv4/IPv6

JRES01 / Tutoriel IPv6 12JLR/LS

Adresses IPv6 (2)

64 bits

Interface ID

EUI64

48 bits 80 bits

Topologie Publique Topologie Privée

001 TLA NLA SLA

13 bits 32 bits3 bits 16bits

TLA : Top Level Aggregator => (/16)NLA : Next Level Aggregator => (/48)SLA : Site Level Aggregator => (/64)

Page 7: Tutoriel sur IPv6 - influe.free.frinflue.free.fr/Serveur/Documents/Reseau/Administration/tutorial... · version du protocole IP ? 2 JLR/LS JRES01 / Tutoriel IPv6 3 ... NAT et adressage

7

JRES01 / Tutoriel IPv6 13JLR/LS

Autres améliorations

■ Amélioration du support– de la sécurité (IPsec)– de la mobilité

■ Amélioration de la gestion des flots■ Auto-configuration

JRES01 / Tutoriel IPv6 14JLR/LS

Options v4 vs. extensions v6

R1

options IPv4 : analysées par chaque routeurralentit les paquets.

A

B

extensions IPv6 : (sauf Hop-by-Hop) sont traitées parle seul matériel concerné (la destination).

Page 8: Tutoriel sur IPv6 - influe.free.frinflue.free.fr/Serveur/Documents/Reseau/Administration/tutorial... · version du protocole IP ? 2 JLR/LS JRES01 / Tutoriel IPv6 3 ... NAT et adressage

8

JRES01 / Tutoriel IPv6 15JLR/LS

IPv6 en-têtes optionnelles

IPv6 HeaderNext Header

= TCPTCP Header

+ DATA

IPv6 HeaderNext Header

= Routing

Routing HeaderNext Header= Fragment

TCP Header + DATA

Fragment HeaderNext Header

= TCP

IPv6 HeaderNext Header

= Routing

Routing HeaderNext Header

= TCPTCP Header

+ DATA

JRES01 / Tutoriel IPv6 16JLR/LS

Auto-configuration : mécanisme

Routeur

hostInternetInternet

Créer l’@ link local

RS

Envoi d’un RS à une adresse Multicast

(DNS Dynamic Update)

Exécuter DAD

RA

Récupérer les préfixes

Définir le routeur défaut

Page 9: Tutoriel sur IPv6 - influe.free.frinflue.free.fr/Serveur/Documents/Reseau/Administration/tutorial... · version du protocole IP ? 2 JLR/LS JRES01 / Tutoriel IPv6 3 ... NAT et adressage

9

JRES01 / Tutoriel IPv6 17JLR/LS

Router Renumbering (prévu)

■ Permet de changer les adresses et lespréfixes annoncés par les routeurs‘Neighbor discovery’ propage la

reconfiguration aux machines feuilles■ Plusieurs actions prévues (envoi de

multicast aux routeurs:– Changer un (ou une famille de) préfixes– ajouter des préfixes

■ Besoin de sécurité (IPSec, anti-rejeu)

JRES01 / Tutoriel IPv6 18JLR/LS

DNS

Page 10: Tutoriel sur IPv6 - influe.free.frinflue.free.fr/Serveur/Documents/Reseau/Administration/tutorial... · version du protocole IP ? 2 JLR/LS JRES01 / Tutoriel IPv6 3 ... NAT et adressage

10

JRES01 / Tutoriel IPv6 19JLR/LS

Enregistrements IPv6

RR : nouveaux types d’enregistrement■ A → AAAA

$ORIGIN mew.org.ftp IN AAAA 3ffe:501:8:1234:260:97ff:fe40:efab

■ PTR → PTR■ in-addr.arpa → ip6.int

$ORIGIN 4.3.2.1.8.0.0.0.1.0.5.0.e.f.f.3.IP6.INT.b.a.f.e.0.4.e.f.f.f.7.9.0.6.2.0 IN PTR ftp.mew.org.

JRES01 / Tutoriel IPv6 20JLR/LS

Serveur DNS

■ bind > 8.2.3 (8.2.5 actuellement)– AAAA & PTR support (contents)– RR v6 mais transport v4 uniquement

■ bind v9 (9.1.3 actuellement)– AAAA, A6, PTR, DNAME– RR et transport v6 et v4

Page 11: Tutoriel sur IPv6 - influe.free.frinflue.free.fr/Serveur/Documents/Reseau/Administration/tutorial... · version du protocole IP ? 2 JLR/LS JRES01 / Tutoriel IPv6 3 ... NAT et adressage

11

JRES01 / Tutoriel IPv6 21JLR/LS

APIs

■ getaddrinfo() recherche directe– hostname → adresses (‘sockaddr_in*’)– remplace gethostbyname()– en utilisant la famille AF_UNSPEC, les

applications sont ‘protocole indépendant’■ getnameinfo() recherche inverse

– adresse (‘sockaddr_in*’) → hostname– remplace gethostbyaddr()

JRES01 / Tutoriel IPv6 22JLR/LS

Protocoles de routage

■ RFC 2080 (PS) : RIPng■ RFC 2858 (PS) : BGP4+■ RFC 2740 (PS) : OSPF v3■ draft-ietf-isis-ipv6-02.txt: IS-IS■ RFC 2545 (PS) : basé sur MBGP

– Extension multi-protocoles de BGP

=> Pas de différences majeures avec IPv4

Page 12: Tutoriel sur IPv6 - influe.free.frinflue.free.fr/Serveur/Documents/Reseau/Administration/tutorial... · version du protocole IP ? 2 JLR/LS JRES01 / Tutoriel IPv6 3 ... NAT et adressage

12

JRES01 / Tutoriel IPv6 23JLR/LS

Aller vers IPv6

JRES01 / Tutoriel IPv6 24JLR/LS

Transition ou Intégration ?

■ Les conditions– Pas de jour J– Persistance longue d’IPv4– Pas d’application « tueuse d’IPv4 »

� Coexistence longue entre IPv4 et IPv6

Page 13: Tutoriel sur IPv6 - influe.free.frinflue.free.fr/Serveur/Documents/Reseau/Administration/tutorial... · version du protocole IP ? 2 JLR/LS JRES01 / Tutoriel IPv6 3 ... NAT et adressage

13

JRES01 / Tutoriel IPv6 25JLR/LS

Étapes de migration

■ ‘v6fier’ le réseau■ ‘v6fier’ les systèmes■ ‘v6fier’ les applications■ Maintenir la communication entre les

deux mondes– au niveau client/serveur– au niveau IP pour tout l’Internet

JRES01 / Tutoriel IPv6 26JLR/LS

L’existant : routage

■ Cisco : IOS 12.2(2)T■ Ericsson■ 6Wind : tout produit■ Nortel■ Telebit■ Juniper■ Logiciel Zebra : Ripng, Ospf v3, Bgp4+

Page 14: Tutoriel sur IPv6 - influe.free.frinflue.free.fr/Serveur/Documents/Reseau/Administration/tutorial... · version du protocole IP ? 2 JLR/LS JRES01 / Tutoriel IPv6 3 ... NAT et adressage

14

JRES01 / Tutoriel IPv6 27JLR/LS

L’existant : accéder à IPv6

■ Réseaux IPv6 : 6bone/G6bone, RenaterIPv6, opérateurs (?), …Accès natif, ATM, ou par tunnels sur IPv4 configurés

entre routeurs.

■ Connexion en utilisant infrastructure IPv4– Tunnels à la demande : Tunnel broker– 6to4– 6over4

JRES01 / Tutoriel IPv6 28JLR/LS

Paris

Rennes

NancyStrasbourg

Sophia

Lille

6Bon

e

Nantes

Montbonnot

Q2/2K

Brest

Colmar

Caen

Grenoble

Belfort

3ffe:303::/32

3ffe:306::/32

3ffe:302::/32

G6= 3FFE:0300::/24

3ffe:308::/32

Bordeaux

3ffe:305::/32

3ffe:307::/32

3ffe:304::/32

Réseau G6bone

Page 15: Tutoriel sur IPv6 - influe.free.frinflue.free.fr/Serveur/Documents/Reseau/Administration/tutorial... · version du protocole IP ? 2 JLR/LS JRES01 / Tutoriel IPv6 3 ... NAT et adressage

15

JRES01 / Tutoriel IPv6 29JLR/LS

Réseau pilote IPv6 Renater

Rennes

NancyStrasbourg

Sophia

Lille

Brest

Belfort

Euro-IPv6

G6bone6bone

OtherIPv6

Networks

6TAP

SfinxFT R&D

Loria

INRIA

CaenParis

Grenoble

Nantes

Colmar

http://www.renater.fr/IPv6

JRES01 / Tutoriel IPv6 30JLR/LS

L’existant - piles et applications■ FreeBSD : 4.x■ NetBSD : 1.5■ Linux : 2.4■ Apple : MacOS X■ Microsoft :

Windows NT, 2000,XP developer

■ Solaris : 8■ AIX : 4.3■ Compaq : True 64

■ WebInternet Explorer, mozilla,

apache, squid

■ LangagesC(API libc), java, perl, python

■ Connectivitételnet, ftp, ssh, rlogin, lpd(Unix)

■ Mailsendmail, popper, clients (?)

■ ...

Page 16: Tutoriel sur IPv6 - influe.free.frinflue.free.fr/Serveur/Documents/Reseau/Administration/tutorial... · version du protocole IP ? 2 JLR/LS JRES01 / Tutoriel IPv6 3 ... NAT et adressage

16

JRES01 / Tutoriel IPv6 31JLR/LS

Mécanismes de cohabitation■ Exemples de mécanismes en fonction

de leur positionnement

Applications

Noyau système

• Relais applicatifs, mandataires

• Dual Stack • Dual Stack Transition Mechanism

• Traducteurs d’adresses• SIIT• NAT-PT

• Relais TCP/UDP & SOCKv6• Bump in the API, Bump in the stack

Mécanismes de transition-intégration :

Étude d’un cas générique

Page 17: Tutoriel sur IPv6 - influe.free.frinflue.free.fr/Serveur/Documents/Reseau/Administration/tutorial... · version du protocole IP ? 2 JLR/LS JRES01 / Tutoriel IPv6 3 ... NAT et adressage

17

JRES01 / Tutoriel IPv6 33JLR/LS

Situation initiale : site IPv4 seul

Site IPv4

NFS

Internet IPv4

Routeur de sortieNATv4+ALG

routeurs

routeurs

web

v4

v4

v4

v4

client

pop

client

JRES01 / Tutoriel IPv6 34JLR/LS

Situation cible: connexion au 6bone

Router v6v6

Routeursv4 / v6

v4/v6

v4/v6

v4/v6

Routeur de sortieNATv4ALGSite v4/v6

NFS

client

Internet IPv4

clienttunnel

tunnel configuré

“RéseauIPv6”

web pop

client

Page 18: Tutoriel sur IPv6 - influe.free.frinflue.free.fr/Serveur/Documents/Reseau/Administration/tutorial... · version du protocole IP ? 2 JLR/LS JRES01 / Tutoriel IPv6 3 ... NAT et adressage

18

JRES01 / Tutoriel IPv6 35JLR/LS

Niveau réseau■ Demande de préfixe au G6bone■ Installation des routeurs IPv6■ Installation d’un DNS avec RR de type

AAAA et PTR (Bind >4.9.4 ou v9)■ Configuration d’un tunnel (IPv6 dans

IPv4) du routeur de bord vers leG6bone (+ route par défaut ou BGP4+)

JRES01 / Tutoriel IPv6 36JLR/LS

But final : intégration IPv4 / IPv6

Router v6v6

Routeursv4 / v6

v4/v6

v4/v6

v4/v6

Routeur de sortieNATv4ALGSite v4/v6

NFS

client

Internet IPv4

clienttunnel

tunnel configuré

“6bone”

web pop

client

Intégration v4/v6 :par exemple DSTM

Page 19: Tutoriel sur IPv6 - influe.free.frinflue.free.fr/Serveur/Documents/Reseau/Administration/tutorial... · version du protocole IP ? 2 JLR/LS JRES01 / Tutoriel IPv6 3 ... NAT et adressage

19

JRES01 / Tutoriel IPv6 37JLR/LS

Méthodes d’intégration v4/v6:– Dual stack (IPv4 ET IPv6)– DSTM : Dual Stack Transition Mechanism– ...

Dialogue niveau machines

v4

v4/v6

v6

v4

v4 natif

v4 natif

Intégration

v4/v6

v4 natif

v6 natif

v6 natif

v6

v6 natif

v6 natif

ServeurClient

Intégration

JRES01 / Tutoriel IPv6 38JLR/LS

Dual Stack Transition Mechanism

■ Piles IPv4 et IPv6■ La pile IPv4 n’est configurée que si une ou

plusieurs applications le nécessitent■ Pas de réseau interne IPv4 nécessaire■ Trois cas

1/ Session sortante (v6 →→→→ v4)2/ Session entrante (v4 → v6)3/ Applications v4 (dans un nuage v6)

• Combinaison des scénarios 1 & 2• Génère du trafic v6 depuis des applications v4

Page 20: Tutoriel sur IPv6 - influe.free.frinflue.free.fr/Serveur/Documents/Reseau/Administration/tutorial... · version du protocole IP ? 2 JLR/LS JRES01 / Tutoriel IPv6 3 ... NAT et adressage

20

JRES01 / Tutoriel IPv6 39JLR/LS

Scénario 1: hôte v6 vers hôte v4

X Y Z

DNSDSTM

L’application sur X utilise l’adresse v4 de Z et remonte au noyau un paquet v4L’interface demande au serveur DSTM une adresse v4 src

Le serveur DSTM renvoie les adresses X4 et Y6

DNS

JRES01 / Tutoriel IPv6 40JLR/LS

Scénario 1: hôte v6 vers hôte v4

X Y Z

DNSDSTM

X encapsule le paquet v4 dans un paquet v6 pour Y

DNS

Y décapsule le paquet v6 et envoie la paquet v4 à Z

Y conserve la mémoire de l’association des adresses v4 et v6. En réponse Z envoie à Y qui retransmet à X

Page 21: Tutoriel sur IPv6 - influe.free.frinflue.free.fr/Serveur/Documents/Reseau/Administration/tutorial... · version du protocole IP ? 2 JLR/LS JRES01 / Tutoriel IPv6 3 ... NAT et adressage

21

JRES01 / Tutoriel IPv6 41JLR/LS

Scénario 2: hôte v4 vers hôte v6

X Y Z

DNSDSTM

L’application sur Z demande l’adresse v4 de X

La demande échoue, le serveur DSTM alloue une adresse v4 temporaire à X

DNS

JRES01 / Tutoriel IPv6 42JLR/LS

Scénario 2: hôte v4 vers hôte v6

X Y Z

DNSDSTM

Le paquet v4 est routé vers Y

DNS

Y demande au serveur DSTM l’adresse X6 correspondant à X4Y encapsule le paquet v4 dans un paquet v6 et l’envoie à X

Page 22: Tutoriel sur IPv6 - influe.free.frinflue.free.fr/Serveur/Documents/Reseau/Administration/tutorial... · version du protocole IP ? 2 JLR/LS JRES01 / Tutoriel IPv6 3 ... NAT et adressage

22

JRES01 / Tutoriel IPv6 43JLR/LS

DSTM

■ Invisible depuis les applications– utilisant des adresses v4 dans les données

■ Le réseau est configuré uniquement v6■ L’allocation des adresses v4 est simple■ Nécessite suffisamment d’adresses v4■ Sujet aux attaques en déni de service

– cas 2 & 3 doivent être limités à l’Intranet

JRES01 / Tutoriel IPv6 44JLR/LS

Relais applicatifs, mandataires

■ Peuvent être utilisés pour une grandevariété d’applications:– Mél (POP3, IMAP, SMTP)– Web (mandataires : proxy, squid)– Impression (serveurs d’impression)– DNS : relais (+changement du type de RR)– ….

Page 23: Tutoriel sur IPv6 - influe.free.frinflue.free.fr/Serveur/Documents/Reseau/Administration/tutorial... · version du protocole IP ? 2 JLR/LS JRES01 / Tutoriel IPv6 3 ... NAT et adressage

23

JRES01 / Tutoriel IPv6 45JLR/LS

Exemple de relais applicatif

ClientClient SpoolerSpooler ImprimanteImprimante

IPv6IPv6 IPv4IPv4

■ Une vieille imprimante sans pile IPv6

JRES01 / Tutoriel IPv6 46JLR/LS

Conclusion

■ La complexité du monde IPv4 va croissant– Nouvelles applications– Nouveaux paradigmes (sécurité)– Fin du modèle de bout en bout (NAT)

■ On va vers un réseau de “niveau 7”– Plus de coûts– De plus en plus de difficultés à introduire de

nouvelles applications (tel/IP, multicast,…)

Page 24: Tutoriel sur IPv6 - influe.free.frinflue.free.fr/Serveur/Documents/Reseau/Administration/tutorial... · version du protocole IP ? 2 JLR/LS JRES01 / Tutoriel IPv6 3 ... NAT et adressage

24

JRES01 / Tutoriel IPv6 47JLR/LS

ConclusionComplexité

Temps

IPv4

IPv6

JRES01 / Tutoriel IPv6 48JLR/LS

Le G6G6

■ Groupe français d’expérimentation IPv6■ Créé fin 1995■ Regroupe des académiques et des industriels :

CNRS, ENST, INRIA, Universités Grenoble,Paris 7, Strasbourg, Bull, 6Wind, Eurocontrol ...

■ Partenariats avec des constructeurs■ G6 Recherche

Page 25: Tutoriel sur IPv6 - influe.free.frinflue.free.fr/Serveur/Documents/Reseau/Administration/tutorial... · version du protocole IP ? 2 JLR/LS JRES01 / Tutoriel IPv6 3 ... NAT et adressage

25

JRES01 / Tutoriel IPv6 49JLR/LS

Ressources bibliographiques■ http://playground.sun.com/

RFCs, IDs, implémentations, …■ http://www.ipv6.org■ http://www.6bone.net■ http://www.ipv6forum.com■ http://peirce.logique.jussieu.fr/G6■ http://www.g6.asso.fr

■ IPv6 théorie et pratique (G. Cizault, ed. O’Reilly)

JRES01 / Tutoriel IPv6 50JLR/LS

? ou