IPv6 - Master informatique · Prévision d'un épuisement de l'espace d'adressage ... version de IP...
Transcript of IPv6 - Master informatique · Prévision d'un épuisement de l'espace d'adressage ... version de IP...
1
IPv6Histoire
Années 90:Croissance exponentielleRisque de pénurie d'adresses
Prévision d'un épuisement de l'espace d'adressageArrêt de la croissanceen 1994 !
InitialementEntre 2008 et 2018En Janvier 1996Pourcentage d'adresses allouéesClass A - 100.00%Class B - 61.95%Class C - 36.44%
Problème sur la taille de l'espace d'adressage
Mesures d'urgences
Affectation exceptionnelle de la classe BUtilisation de la classe CCIDR (Classless Internet Domain Routing) [RFC 1519]
Adresse réseau = préfixe+ longueur de préfixeMoins de gaspillages d'adressesAgrégation
Autorisation d'utilisation de plans d'adressages privésDéploiement de NAT (Network Address Translation)
Architecture similaire au pare-feu
Ces mesures donnent du temps pour développer un nouvelle version de IP : IPv6
Espace d'adressage public Espace d'adressage privé
Internet Entreprise
10.1.1.1Proxy: 193.1.1.1128.1.2.3
Proxy NAT
Internet entreprise
128.1.2.3 10.1.1.1
10.1.1.1->128.1.2.3
10.1.1.1 <=> 193.1.1.1
193.1.1.1-> 128.1.2.3
Official address pool
Network Address Translation
128.1.2.3->193.1.1.1 128.1.2.3->10.1.1.1
NAT
Avantages :Réduit le besoind'adresses globalesFacilite le déploiementde plan privéTransparent aux applicationsSecurité ? : filtrage
Inconvénients :Sensible au facteur d'échelleIntroduit un état dans le réseau:
RedémarrageChangement de route
Traitement complexeEn défaut par rapport à uneapproche "peer -to-peer"
Frein aux nouvellesapplications
Sécurité ? : authentification+ chiffrement
2
Pourquoi un Nouveau Protocole IP ?Une solution pour les problèmes de croissance:
Actuellement la taille de l'Internet double tous les 14 moisépuisement des adresses IP explosion de la taille des tables de routage
Autres motivationsAccélérer le traitement du datagrammePrendre en compte de nouvelles contraintes
Faciliter la QoSRoutage vers le meilleur serveur parmi un ensemble de serveurs en miroir
Pour de nouveaux réseauxRéseaux mobilesRéseaux personnels, domotique …
Ajouter de nouvelles fonctionnalitésAutoconfigurationMulticastSécuritéMobilité
Cahier des chargesAdresser un espace (beaucoup) plus grand
10 E+9 réseaux au minimum
Routage plus efficace
Conserver les principes qui ont fait le succès de IP
Corriger les défauts de la version actuelle
Résoudre les problèmes qui vont devenir critiques Applications temps réelMultipointSécurité...
Croissance des tables de routage
http
://w
ww
.em
p loy
ees.
org/
~tba
tes/
cid r
.his
t.plo
t.htm
l
IPv6: Quelques CaractéristiquesAdresse plus longue : 128 bits (16 octets)
Adressage de 340 x 10 e36 équipementsAdressage hiérarchique Peut contenir l'adresse MAC (IEEE802)
3 types d'adresses :UnicastMulticastAnycast
plus d'adresse de broadcast
En-tête simplifiéTaille fixe de l'en-tête: 40 octets
Augmente l'efficacité de commutation des équipements de routage
Nombre de champs réduit de moitié
Fonctions liées à l'acheminement
Extension de l'en-tête pour les options
Les options IPv6 sont placées dans des en-têtes séparésintercalées entre l'en-tête IPv6 et l'en-tête de la couche transportLa longueur des options n'est plus limitée à 40 octetsintroduction aisée de nouvelles fonctionnalités
IPv6: Nouvelles fonctionnalitésAutoconfiguration : "plug and play"
Gestion de la mobilitéRenumérotation facile si changement de prestataireServeurs d'adresses (DHCP : Dynamic Host Configuration Protocol)SAA : Stateless AddressAutoconfiguration (RFC 1971)
Multipoint (Multicast) inclus de base
Pour les routeurs et les clients"scope" = meilleur routage des paquets multicast
=> Plus besoin de Mbone ni de mrouted
"Marquage" des flux particuliers : (Flow Label)
Traitements particuliersApplications temps réelQualité de Service (QoS)
SécuritéAuthentificationConfidentialité
Routage à partir de la sourceSource Demand RoutingProtocol
Ver.fragmentIdentifier
Total Lengthflags
20 O
ctet
s
32 bits
ToS
TTL Protocol ChecksumSource Address
Destination Address
Checksum
IPv4 : En-tête
Total Length (TL) --> Payload LengthAlignement 32 --> 64 bitsFragmentation dans les hôtes
Options
IHL
Options
IHLfragmentIdentifier flags
3
40 octets
Vers Class Flow Label
Payload Length Next Header Hop Limit
Source Address
Destination Address
4 bits
16 bits 8 bits
(128 bits)
(128 bits)
32 bits8 bits
IPv6 : En-tête5 mots de 64 bits
IPv6: En-têtes optionnelles
Hop-by-Hop Header Destination Header Routing HeaderFragmentation HeaderAuthentification HeaderEncapsulating Security Payload
IPv6 HeaderNext Header
= Routing
Routing HeaderNext Header= Fragment
TCP Header+ DATA
Fragment HeaderNext Header
= TCP
IPv6 HeaderNext Header
= Routing
RoutingHeader
Next Header= TCP
IPv6 Header
NextHeader= TCP
TCP Header+ DATA
TCP Header+ DATA
IPv6: Extensions En-têtes optionnelles : OrdreIPv6
Hop by hop
Destination
Routing
Fragmentation
Authentication
Security
Destination
Upper Layer
Traîté par chaque routeur
Traîté par les routeurs dans l'extension de routage
Liste des routeurs à traverser
Traîté par la destination
Après réassemblage du paquet
Chiffrer le contenu de l'information restante
Traîté seulement par la destination
ICMPv6 [RFC 2463]
Nouvelle version de ICMPDistinction des procédures et du format des messagesProcédures de test et d'erreurs
Message ICMP : fonctionnalitésReprises :
Signalement des erreursTestConfiguration automatique
Ajouts :multicast group management (ex IGMP)Résolution d'adresse (ex ARP)
Nouvelles ProcéduresNeighbor Discovery (ND) (RFC 2461)
Résolution d'adressesDétection d'inaccessibilité (NUD)
AutoconfigurationStateless Address Autoconfiguration (RFC 2462) Stateful Address Autoconfiguration
DHCPv6 : Dynamic Host Configuration Protocol (draft)
Path MTU discovery (pMTU) (RFC 1981)MTU : Taille maximale du paquet (sans fragmentation)
Efficacité de transfert : E/LPMTU : minimum des MTU des liens traversés
Plus de fragmentation dans les routeursPar défaut : 1280 octets
4
Adressage
Plan d'Adressage IPv6
ContraintesFlexible, pour suivre l'évolution du réseauFaciliter le routage en réduisant la table de routage
ChoixExtension des types d'adresses :
Mode de communicationPortée de l'adresse Pour la transition
Principe CIDR (préfixe / longueur du préfixe)Représentation hexadécimaleLes interfaces ont plusieurs adresses IPv6
Représentation des adresses [RFC 2373]
Format de base (16 octets)FEDC:BA98:7654:3210:FEDC:BA98:7654:3210
Format compresséFF01:0:0:0:0:0:0:43 => FF01::43FE80:0:0:0:0:0:0:0 => FE80::0:0:0:0:0:0:0:134.157.4.16=> ::134.157.4.16
IPv6 : Préfixes
La notion de préfixe développée par CIDR est reprise:
Adresse IPv6 / longueur du préfixeExemples :
5F00::/85F06:B500::/32
On peut indiquer qu’une adresse fait partie d’un réseau dont le préfixe est de longueur déterminée (netmask)
5F06:B500:8158:1A00::1/80
Adresses IPv6
LoopbackLink localSite localGlobal
6bone : 3FFE…Official : 200x…
Pour la migration v4/v6IPv4 mappedIPv4 compatible6to4
UnicastMulticastAnycast
Espace d'Adressage IPv6Reserved 0000 0000 1/256 Unassigned 0000 0001 1/256 Reserved for NSAP Allocation 0000 001 1/128 Unassigned 0000 010 1/128Unassigned 0000 011 1/128 Unassigned 0000 1 1/32 Unassigned 0001 1/16 Aggregatable Global Unicast Addresses 001 1/8 [RFC2374]Unassigned 010 1/8 Unassigned 011 1/8 Unassigned 100 1/8 Unassigned 101 1/8 Unassigned 110 1/8 Unassigned 1110 1/16 Unassigned 1111 0 1/32 Unassigned 1111 10 1/64 Unassigned 1111 110 1/128 Unassigned 1111 1110 0 1/512Link-Local Unicast Addresses 1111 1110 10 1/1024Site-Local Unicast Addresses 1111 1110 11 1/1024 Multicast Addresses 1111 1111 1/256
5
Adresse Unicast
Communication N vers 1Adressage hiérarchique
Localisation du réseauIdentification de la machine dans le réseau
Interface ID :A partir de l'adresse MAC : EUI -64AléatoireAutres ...
64 128- 64
Subnet prefix Interface ID
24 40
Numéro de sérieConstructeuru g
0 7 8
1 7 81 7 81 1 00 vendor 0XFFFEvendor 0XFFFE serial numberserial number
24 bits24 bits 24 bits24 bits
u g vendoru g vendor serial numberserial number
24 bits24 bits 16 bits 16 bits 24 24 bitsbits
u g vendor 0xFFFEu g vendor 0xFFFE serial numberserial number
Identifiant EUI-64Bits :
U : universel (unique)G : unicast ou multicast
Constitution à partir d'une adresse IEEE 802
TLA
3 13 8 24 16 64
001 res Interface IDNLA SLA (EUI-64)
48 bits 80 bits
Public Topology Private Topology
TLA : Top Level Aggregator => (/16)NLA : Next Level Aggregator => (/48)SLA : Site Level Aggregator => (/64)
Aggregatable Global Unicast RFC 2374
Préfixe : 2000::/3
Topologie du réseau
TLA
NLA
SLA
001 res Interface IDNLA* SLA*TLA Sub TLA
3 13 13 6 13 16 64
Déploiement RFC 2450Attribution d'adresses par les autorités régionales (RIR)Plan d'adressage des RIR
Depuis Juillet 99
29
350000 000X XXXX X 2001:0000::/29 - 2001:01F8::/29 IANA0000 001X XXXX X 2001:0200::/29 - 2001:03F8::/29 APNIC 0000 010X XXXX X 2001:0400::/29 - 2001:05F8::/29 ARIN 0000 011X XXXX X 2001:0600::/29 - 2001:07F8::/29 RIPE-NCC
0 0000 0000 0000 0x0000 2000::/16 Reserved0 0000 0000 0001 0x0001 2001::/16 Sub-TLA Assignments 0 0000 0000 0010 0x0002 2002::/16 "6to4" 1 1111 1111 1110 0x1FFE 3FFE::/16 6bone Testing1 1111 1111 1111 0x1FFF 3FFF::/16 Reserved
Exemple : Renater
sTLA alloué : 2001:0660::/35
2001:0660:xxx- ---- ---- ----::/48
Point accès Sites
/35 /41
2001:0660::/352001:0660:0080::/41 NIO Renater-22001:0660:0100::/41 Ile de France2001:0660:0180::/41 Grenoble 2001:0660:0200::/41 Strasbourg2001:0660:0280::/41 Rennes2001:0660:1000::/41 INRIA2001:0660:1080::/41 FT R&D
6
001 Interface IDpNLA SLA1FFE pTLA
3 13 x 32-x 16 64
Adresse de Test RFC 2371
TLA du 6Bone: 0X1FFEPréfixe du 6Bone: 3FFE::/16Attribution de pTLA par ngtrans WG
http://www.6bone.net/6bone_pTLA_list.html.G6/FR : 3FFE:0300::/24
1111111011 00...00 Interface ID
10
Adresse à usage local : link local
Non routable
Adresse à usage local : site local38 64
Subnet ID
16
FE80
FEC0
10 54 64
1111111010 Interface ID00...00
Adresse locale
000000 ................................ 0000000 0000 IPv4 Address
80 bits 16 bits 32 bits
000000 ................................ 0000000 FFFF IPv4 Address
Plan de Transition
Adresse compatible IPv4
Communication IPV6 par tunnel automatique
Adresse IPv4 imbriquée (mapped)
11111111 Flag Scope Group ID
FF
4 4
Flag: 0 0 0 TT = 0 permanenteT = 1 temporaire
Scope
1 : Node local2 : Link local5 : Site local8 : Org. localE : Global
8 112
Adresse Multicast
Groupes ID prédéfinis1 noeuds2 routeurs9 routeurs utilisant RIP
Multicast sollicitéFF02::1:FF00:0/10424 derniers bits extraits de l'adresse unicast IPv6Pour la résolution d'adresses IPv6
Remarque :Les @ multicast sont traduites en @ MAC et mises dans la carte Ethernet. (RFC 2464)
Relation @ MAC et IPv6 Adresse Particulière
Adresse de bouclage :0:0:0:0:0:0:0:1 => ::1
Adresse indéterminée:0:0:0:0:0:0:0:0 => ::
Ne peut jamais être adresse destination
7
Nouvelles Procédures
Neighbor Discovery
FonctionnalitésRésolution d'adressesDétection d'inaccessibilité(NUD)Configuration
Localisation des routeursDécouverte des préfixesDétection des adresses dupliquées (DAD)Indication de redirection
Configuration pour le routageRouter Solicitation (RS) Router Advertisement (RA)
la liste des préfixes utilisés sur le lien local (autoconf)une valeur possible de Max Hop Limit (TTL de IPv4)et la valeur du link MTU
Redirect
Echanges entre voisins Neighbor Solicitation (NS) Neighbor Advertisement (NA)
Résolution d'adresse
PrincipeRequête avec l'adresse de multicast sollicitéRéponse en unicast
MAC 45:..:12 33:33:FF:..:12
IP FE80::45.. FFFE..12 FF02::1:FF..12
MAC 67:..:9A 33:33:FF:..:9A
IP FE80::67.. FFFE..9A FF02::1:FF..9A
NS (sa =FE80::45.. FFFE..12, da= FF02::1:FF..9A)
NA (sa =FE80::67.. FFFE..9A, da= FE80::45.. FFFE..12)
Auto-configuration
Rendre les hôtes "plug & play"Apprentissage automatique
Au démarrage, le client démande sesparamètres :
PréfixeRouteur par défautNom de domaine…
Les routeurs doivent être configurés
Autoconfiguration sans état (stateless)
IPv6 Stateless Address Autoconfigurationne s'applique pas aux routeurs
Permet à une machine de fabriquer une adresse globale à partir de :
son adresse MACdes annonces de préfixes faites par les routeurs
Routeur Machine
Internet
2. RS
3. RA
4. DHCP
1. NS
Auto-configuration
Procédure DAD
0. Création d'une adresse locale au lien
8
Transition
De IPv4 vers IPv6Objectif
Connectivité globale quelle que soit la version d'IP
Problème de la coexistence des 2 protocoles
Tous les routeurs ne passeront pas en même temps en IPv6Pas de jour JFin de IPv4 : pas pour tout de suite (jamais ?)Introduction progressive
A commencé – expérimentale et commerciale
tempsT0
IPv4
T1
IPv4 & IPv6
T2
IPv6
complexité
Temps
IPv4
IPv6
Motivations à la migrationPénurie d'adresses
Nouveaux réseaux (pays, téléphonie mobile, domotique, …)Configuration automatiqueNouveaux services sur la base du peer-to-peer
Moins de mécanismes de transition
Moins de réseaux IPv4Plus d'applications IPv6
Objectifs de la transition
BesoinsConstruction d'uneinfrastructure IPv6Accès à un réseau IPv6Production de trafic IPv6Cohabitation avec IPv4
2 problèmesServiceInfrastructure
ActivitésV6fier l'OSV6fier l'applicationV6fier le réseau
Méthodes de migration
ApplicationsProduire du trafic IPv6Transparent (adaptations simples)
Une même application portée gère IPv6 et IPv4NAT dans l'Hôte IPv4 - IPv6
Relais applicatif (ALG)
Couches réseau RFC 2893
Acheminer du trafic IPv6Machines à double pile (v4, V6)Encapsulation de IPv6 dans IPv4 (tunelling)Traduction d’en-têtes (IPv6 <--> IPv4)
Piles IPv6
FreeBSD4.x : included3.x : «INRIA», KAME
NetBSD:-current : included1.4.2; «INRIA», KAME
Linux2.2 : included
AppleMacOS X : included
MicrosoftWindows 20009x : Trumpet stack
Solaris 8AIX 4.3 : includedCompaq
True64 : included
Cisco IOS 12.1Beta,Supported: Q3
9
Adresse IPv4 Imbriquée
IPv6 application
IPv4 application
client server
128.1.2.3 ->128.1.2.4
128.1.2.3 128.1.2.4
::FFFF:128.1.2.3 ->::FFFF.128.1.2.4IPv4 IPv4
Compatibilité des applications
ClientClient SpoolerSpooler PrinterPrinter
IPv6IPv6 IPv4IPv4
Intégration : traducteursPasserelle applicative
Par ex : une vieille imprimante sans IPv6
Bump In The Stack (RFC 2767)v6fier l'application sans recompilerEquivalent à un NAT dans chaque hôte IPv4
application
3ffe:305:1002::1->3ffe:305:1002::2
v6<->v4
IPv6
IPv4
v4
Double PileLes équipements ont une adresse dans chacun des plans d'adressage IPv4 et IPv6Ils acheminent le trafic IPv4 et le trafic IPv6 IPv6 encapsulé dans IPv4
Tunnel
>ping6 ::128.93.1.21trying to get source for ::128.93.1.21source should be ::192.108.119.131PING ::128.93.1.21 (::128.93.1.21): 56 data bytes64 bytes from ::128.93.1.21: icmp6_seq=0 ttl=255 time=16.862 ms64 bytes from ::128.93.1.21: icmp6_seq=1 ttl=255 time=13.410 ms64 bytes from ::128.93.1.21: icmp6_seq=2 ttl=255 time=13.171 ms...
Tunnel Automatique
Hôte IPv6 isoléAux début des expérimentations IPv6
Utilise l'adresse IPv4 compatible
Tunnel Automatique
IPv6/IPv4
IPv4
10
IPv6 IPv6
IPv4
v6 v6IPv6/IPv4
Tunnel Configuré 6 To 4 (RFC 3056)
Une autre manière de construire une infrastructure tunneléeConfiguration simplifiée
Pas de tunnels configurésPlan d'adressage spécial
Préfixe: 2002::/16
Le préfixe du site est obtenu de l'adresse IPv4 du routeur de bordure
Technique transitoire
0x0002
3 13 32 16 64
001 Interface IDSLAIPv4ADDR
IPv61.2.3.4
2002:0102:0304::/48
IPv4
6 to 4
192.1.2.3
1.2.3.4
128.1.2.3AA
BB
DNS
AAAA
fo
r B ?
B=20
02:0
102:
0304
::1
Interaction avec le 6-bone
192.1.2.3 128.1.2.3AA
6-Bone
relayrelay
relay
Le relais est un routeur avec une interface sur chaque réseau.
Traduction rfc 2765,rfc 2766
Traduction des en-têtes IPv4 <--> IPv6interopérabilité entre les équipements seulement IPv4 et les équipements seulement IPv6.redevient très en vogue ... avec le NAT !Exemple : Routeurs B et E
IPv6
IPv4v4
v4
v6
Traduction d’en-tête IPv6 – IPv4
11
Stratégie de migration
IPv4 site
NFS
pop
client IPv4 Internet
Exit routerNATv4+ALG
client
routers
routers
web
v4
v4
v4
v4
IPv4 only host
IPv4 only router
IPv4 only network
Phase 0 : site IPv4
v4/v6 site
NFS
web
client IPv4 Internet
Exit routerNATv4+ALG
client
v4/v6routers
v4routers
v4
v4
v4/v6
v4/v6
pop
Hybrid v4/v6 host
Hybrid v6/v6 router
Hybrid v4/v6 network
Phase 1 : Routeurs et serveurs en double pile
v4/v6 site
NFS
client IPv4 Internet
Exit routerNATv4+ALG
client
v4/v6routers
v4router
v4/v6
v4
v4/v6
v4/v6
client
web pop
Phase 2 : Clients en double pile
Phase 3 : Connexion au 6-Bone
v4/v6 site
NFS
client
IPv4 Internet
Exit routerNATv4+ALGconfigured tunnel
client
v4/v6routers
v4router
v4/v6
v4
v4/v6
v4/v6
client 6bonetunnel
web pop
v4/v6 site
NFS
client
IPv4 Internet
Exit routerNATv4+ALGconfigured tunnel
client
v4/v6routers
v6 onlyrouter
v4/v6
v6
v4/v6
v4/v6
client 6bonetunnel
web pop
IPv6 only host
IPv6 only router
IPv6 only network
Phase 4 : hôtes IPv6
12
v4/v6 site
web
IPv4 Internet
Exit routerNATv4+ALGconfigured tunnel
client
v4router
v6routerv6
v4
proxy
6bonetunnel
v4/v6router
v4/v6
Phase 5 : Hôtes IPv6 avec des serveurs IPv4
IPv6 site
NFS
client
IPv4 Internet
Exit routerNAT-PT+ALG6to4 router
client
v6routers
v6routers
v6
v6
v6
v6
client6to4site
6to4 tunnel
web pop
Phase 6 : Site IPv6 ou 6to4
Phase 7 : IPv6 site et Internet IPv6
IPv6 site
NFS
client
IPv6 Internet
Exit routerto IPv6 ISP
client
v6routers
v6routers
v6
v6
v6
v6
client IPv4Internet
web pop
NAT-PTorproxies
Premières expériences
Le 6-bone
Premier Réseau IPv6Réseau expérimental
pré-déploiement de l’Internet version 6construit au dessus de l’Internet IPv4
tunnel IPv4 pour interconnecter les nuages IPv6Topologie virtuelle
nuages de machines connectés en IPv6
Lancé le 15 Juillet 1996 par 3 sites (WIDE/JP, UNI-C/DK, G6/FR)Aujourd’hui : 641 sites & 48 paysGroupe de travail IETF: NGtranshttp://www.6bone.net
Structure du 6-bone
13
Croissance du 6-bone G6-bone
Branche française du 6-boneG6: groupe de testeurs/développeurs IPV6pour l’expérimentation française de IPv6http://pilote.g6.asso.fr/
Plates-formes d’expérimentationsRéunit académiques et industriels
IMAG, UREC, INRIA, ENST-Bretagne, LIP6, Paris 7, Strasbourg,Institut Pasteur, Bull,...
Charte du G6
Echanges d’expérienceDiffusion d’informations (rédaction d’un livre)Participation aux réunions RIPE & IETFBranche française du 6boneInfrastructure de test (G6-bone)Banc d’essai pour une infrastructure nationale
http://www.renater.fr/
Carte du G6-bone
Transparents réalisés avec le support du
IPv6: BibliographieIPv6
http://playground.sun.com/pub/ipng/htmlhttp://www.urec.cnrs.fr/ipv6/
IETF IPv6 WGhttp://www.ietf.org/html.charters/ipngwg-charter.html
Associations :http://www.ipv6.org/http://www.ipv6forum.com
LivreCizault, G. (2002). Ed.: O'Reilly&Associates.IPv6: Théorie et Pratique