Introduction à IPv6 et ses caractéristiques
Introduction à IPv6 et ses caractéristiques
Rabat,Mai 2008
[email protected]
1
Contenu
Problématique
Introduction à IPv6
Principales caractéristiques de IPv6
Adressage IPv6
Mécanismes de transition
Applicatifs
Routage
2
Introduction & Problématique(1)
IP & les réseaux
IP est le coeur de Intranet et d’Internet. C’est le vecteur de communication.
Au début, IPv4 était organisé et géré en classes prédéfinies avec des plages
réseau/hôte fixes (Classes A, B, C)
3
Introduction & Problématique(2)
Une politique d’allocation d’adresse IP inefficace
o niveau de consommation très mal maîtrisé.
4
Le CIDR
Principe de longueur variable du masque réseau
5
Autres lacunes de IPv4
Routage inefficace
à base de l’adresse de destination
Etc...
6
IPv6
7
Les caractéristiques de IPv6 (1)
8
Les caractéristiques de IPv6 (2)
Mobilité
Intégration des fonctions mobiles
Classification des paquets
Amélioration de la gestion des extensions et des options de paquets
Entête suivante (Next Header)
Extension des fonctionnalités d’authentification et de confidentialité
Sécurité de Communication
Point à Point (pas de NAT)
Intégration de IPSEC dans IPv6
9
Structure d’une entête IPv6
Entête IPv6
Taille fixe
40 octets dont 32 sont réservés pour les adresses source et destination
10
IPv4 vs. IPv6
11
Les entêtes d’extension
12
Les protocoles particuliers
13
Format des adresses IPv6
xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx
2001:0000:2ABC:0000:0000:0000:0000:0001
2001:0000:2ABC::0001
2001:0:2ABC::1
2001:0DB8:0:CD30::/60
14
Adressage IPv6
Plusieurs type d’adresse:
adresses unicast:absolument unique
adresses anycast: un à un parmi plusieurs
adresses multicast:: un à plusieurs
15
Identifiant d’interface
Les Identifiants d’Interfaces en adresse unicast IPv6 sont utilisés pour identifier
les interfaces sur un lien.
Ils sont censés être uniques au sein d’un sous-réseau
Ils peuvent être aussi unique à des échelles plus étendues
Pour toutes les adresses unicast excepté celle commençant par la valeur
binaire 000, les ID d’interfaces doivent être de 64 bits, construits au format EUI-
64 en inversant le bit u d’un identifiant EUI-64 .
16
Identifiant d’interface à base d’adresse MAC
17
Adressage IPv6
Le type d’une adresse IPv6 est identifié par les bits de niveaux élevé de
l’adresse comme ci-dessous:
18
Adresses Unicast
Les adresses IPv6 unicast peuvent être agrégée avec des préfixes de longueurs
variables comme en CIDR IPv4
Composé d’un préfixe de sous-réseau de « n » bits et d’un identifiant
d’interface de « 128-n bits »
Les adresses lien-local sont utilisées pour un lien unique. Elles ont le format ci-
dessous
Les adresses lien-local sont utilisées pour l’adressage sur un lien unique pour
les besoins de configuration d’adresse automatique, la découverte des voisins
ou quand aucun routeur n’est présent
Les routeurs ne doivent pas transférer des paquets avec adresses source ou
destination lien-local vers d’autres liens.
20
Adresse site-local(rfc1918 en v4)
Désormais connu sous le nom “adresse local unique» ULA
Format d’adresse IPv6 unicast globalement unique destiné à des communications locales
et entre un nombre limité de sites
RFC 4193
Il est au format ci-dessous
Préfixe :FC00::/7
21
Adresses unicast globales
Le format général pour une adresse IPv6 unicast globale est le suivant:
Pour toutes les adresses unicast global excepté celle commençant par la valeur binaire 000 ont une
interface ID sur 64 bits.
22
Adresses d’encapsulation IPv4/IPv6
23
Multicast
Le format général pour une adresse IPv6 multicast est le suivant:
4 bits ‘flag’
le premier bit est réservé (toujours à 0); pour le deuxième et le troisième bit voir RFC
3306 et 3956
Dernier T: 0: validité permanente 1: temporaire
4 bits ‘scope’
0: réservé
1: Etendu interface-local
2: Etendu lien-local
3: réservé
4 Etendu Admin-local
5: Etendu site-local
8: Etendu organisation locale
E: Etendu global
F: réservé
24
Adresses Multicast prédéfinies
FF01::1
FF02::1
Adresses multicast identifiant le groupe de tous les noeuds IPv6 avec scope 1
(interface-local) ou 2 (link-local)
FF01::2
FF02::2
FF05::2
Adresses multicast identifiant le groupe de tous les routeurs IPv6 avec scope
1(interface-local), 2 (link-local), 5 (site-local).
FF02::1:FFXX:XXXX
Adresse multicast solicitation de noeud (Solicited Node multicast address)
xxxxxx represente les 24 derniers bits de l’adresse unicast ou anycast
25
Utilisation de multicast
• Multicast
Permet une utilisation efficace du réseau
La plage d’adresses de Multicast est beaucoup plus étendue
26
Auto Configuration
Adresse Mac :
00:2c:04:00:FE:56
27
Renumérotation
adresse Mac:
00:2c:04:00:FE:56
28
Attribution d’adresse
• Le champ 64-bit de bas niveau des adresses unicast peuvent être assigné de
différentes façons
3 DHCPv6 Request
4 DHCPv6 Reply
1 RS
2 RA
Router
1 Solicitation
Router
1 Solicitation
Router
2 Announcement
Router
2 Announcement
(/64 prefix, timers, etc…)
29
Adresse IPv6 = /64 préfixe + EUI64 (e.g. MAC address) Adresse IPv6 = /64 préfixe + Random 64 bits (rfc3041)
ICMPv6 (rfc4433)
• messages de transports ND
NS, NA, RS, RA Nouvelles caractéristiques !
• messages de transports MLD
Requêtes, Rapports, …
30
ICMPv6
ICMPv6 packet
ICMPv6 Type ICMPv6 Code Checksum
ICMPv6 Data
31
Exemple d’utilisation ICMP : Problèmes avec le MTU
32
Découverte du Path MTU
D:\>ping -l 1500 toshiba-redhat
1
Pinging toshiba-redhat [3ffe:c15:c003:1114:210:a4ff:fec7:5fcf]
33
Neighbor Discovery (RFC 4861)
• Remplace ARP IPv4
• Ajoute en plus une fonctionnalité (ex. recherche de routeur, adressage
Stateless, etc..)
• Nœud IPv6 qui partage le même médium physique(lien) utilisant la
recherche du voisin (ND) pour:
découvrir leur présence mutuelle
déterminer les adresses de la couche liaison de leur voisin
rechercher des routeurs
Maintenir la portabilité de l’information des voisins (NUD)
• Définie 5 types de paquets ICMPv6
Sollicitation de routeur / Annonce de routeur
Sollicitation du voisin / Annonce du voisin
Redirection
34
Router Advertisements (RA)
RA RA
Définition
Définition dede paquets
paquets RA
RA ::
ICMP
ICMP Type
Type == 134
134
Src
Src == Link-local
Link-local du
du routeur
routeur
Dst
Dst = Multicast: touds les
= Multicast: touds les noeuds
noeuds
Data=
Data= options,
options, préfixe,
préfixe, lifetime,
lifetime,
autoconfig
autoconfig flag
flag
A B
Sollicitation
Sollicitation du
du voisin
voisin
ICMP type = 135
ICMP type = 135
Src
Src == AA
Dst
Dst =multicast:sollicitation
=multicast:sollicitation de de noeud
noeud de
de BB
Data
Data =adresse
=adresse physique
physique de de AA
Query
Query == quelle
quelle est
est ton
ton adresse
adresse physique?
physique?
Announce
Announce du
du voisin
voisin
ICMP type = 136
ICMP type = 136
Src
Src == BB
Dst
Dst == AA
Data
Data == Adresse
Adresse physique
physique de
de BB
A et B peuvent maintenant échanger
36
des paquets sur le lien
Sollicitation du Routeur
RS RA
Définition
Définition dede paquets
paquets RS:
RS:
ICMP
ICMP Type
Type == 133
133
Src
Src == Unspecified
Unspecified Address
Address
Dst
Dst == Multicast:
Multicast: tous
tous les
les routeurs
routeurs
37
Autoconfiguration Stateless
1. RS 2. RA 2. RA
1.
1. RS:
RS: 2.
2. RA:
RA:
ICMP
ICMP Type
Type == 133
133 ICMP
ICMP Type
Type == 134
134
Src
Src == ::
:: Src
Src == Link-local
Link-local du
du routeur
routeur
Dst
Dst = Multicast: tous
= Multicast: tous les
les Dst
Dst = Multicast: tous les
= Multicast: tous les noeuds
noeuds
routeurs
routeurs Data= options, prefix, lifetime,
Data= options, prefix, lifetime,
query=
query= envoie
envoie RA
RA STP
STP autoconfig
autoconfig flag
flag
• Les sollicitations de routeur sont envoyées pendant l' initialisation des noeuds
pour rechercher les RA sur les interfaces à configurer.
40
* ARIN additional specifics
http://www.arin.net/policy/nrpm.html#six54
/48
/3 /12** /32 /56* /64 128
2000::/3
/48
/12** /32 /64 128
/56*
/48
/12** /32 /56* /64 128
/48
/12** /32 /56* /64 128
Reference: 41
RFC3177 (IAB/IESG Recommendations on IPv6 Address Allocations to Sites)
**http://aso.icann.org/docs/aso-global-ipv6.pdf
Résolution d’adresse niveau-2 en V4
• IPv4 utilise ARP
Broadcast crée des interruptions sur tous
• ARP est basé sur le Broadcast les postes du domaine de broadcast
Source IPv4 Address
10.1.1.1
Destination IPv4 address
255.255.255.255
Data
who has 10.1.1.2 ??
Router 1 Router 2
ARP Request
10.1.1.1.1/24 10.1.1.1.2/24
ARP Reply
Source Address
10.1.1.2
Destination IPv4 address
10.1.1.1
Data
adre sse MAC de 10.1.1.2
42
Résolution d’adresse niveau-2 en V6
• Basé sur le protocole IPv6 de découverte du voisin
• Partie de ICMPv6
• Broadcast est remplacé par des adresses multicast de sollicitation de
noeud
• Chaque dispositif IPv6 pourra joindre tous les adresses multicast de
sollicitation de nœud basées sur ses adresses IPv6 unicast assignées
43
104 bits fixes et au format bien connu
Résolution d’adresse niveau-2 en V6 (Cont)
Je vais joindre mon adresse multicast de solliciation de noeud:
2001:db8:0000:0000:0000:0000:0000:0002/64
derniers 24 Bits
FF02::1:FF 00:0002
Router 1 Router 2
2001:db8::1/64 2001:db8::2/64
2001:db8:0000:0000:0000:0000:0000:0001/64
45
Résolution d’adresse niveau-2 en v6 (Cont)
Routeur 1 Routeur 2
2001:db8::1/64 2001:db8::2/64
membre du groupe: Jmembre du groupe:
FF02::1:FF00:1 FF02::1:FF00:2
2001:db8::1/64 2001:db8::2/64
membre du groupe membre du groupe
FF02::1:FF00:1 FF02::1:FF00:2
t=0
t=1 Envoie de paquet IPv6 au Routeur 2 avec l’adresse IPv6 2001:db8::2
t=2 Laisse calculer l’adresse sollicitée du noeud multicast
FF02::1::FF00:0002
47
Résolution d’adresse niveau-2 en v6(Cont.)
Sollicitation de voisin
ICMP type = 135
Router 1 Router 2
Src = A
Dst = multicast: sollicitation de noeud de B
Data =adresse physique de A
2001:db8::2/64
2001:db8::1/64 membre du groupe
membre du groupe Query = quelle est ton adresse physique? FF02::1:FF00:2
FF02::1:FF00:1
t=0
t=1 Envoie de paquet IPv6 au Routeur 2 avec l’adresse IPv6 2001:db8::2
t=2 Laisse calculer l’adresse sollicitée du noeud multicast
t=3
Sollicitation du voisin
t=4
Annonce du voisin
Src = B
Le trafic IPv6 peut être exchangé maintenant
Dst = A
2- Tunnels
Tunnels configurés
Tunnels automatiques
3- Techniques de translation
49
Interopérabilité & transition (Dual Stack)
50
Interopérabilité & transition
Tunnelling (encapsulation)
Infrastructure de base IPv4
Tunneling manuel IPv6 dans IPv4: communication avec des sites IPv6 en
utilisant l’infrastructure IPv4 existante.
IPv6-over-IPv4
RFC4213
RFC4891
Tunneling automatique: utilisé par les noeuds IPv6 en utilisant des structures
d’adressage spécifique
IPv4 compatible (::I.P.v.4), 6to4, ISATAP,Teredo, etc..
Tunnel broker
51
6 to 4 (1)
Mécanisme standard de communication entre sites IPv6 sans configuration
explicite de tunneling.
L'approche 6to4 a été conçue pour permettre à des sites IPv6 isolés de se
connecter ensemble sans attendre que leurs FAI fournissent du transport v6
Mieux adapté pour les extranets et les VPN.
En utilisant des relais 6to4, les sites 6to4 peuvent aussi joindre des sites sur
l'Internet IPv6
Communication à travers des passerelles (routeurs) spécifiques 6to4
Il existe plusieurs routeurs ‘public’ sur Internet
Encapsulation IPv6 dans IPv4. Au moins une adresse unicast public est
requise
2002::/16
Un préfixe anycast IPv4 a été assigné aux routeurs relais 6to4: 192.88.99.0/24
52
6to4(2)
53
Teredo
Teredo(RFC 4380)
- Un service qui permet aux machines situées derrière un ou plusieurs NAT
d'obtenir une connectivité IPv6 en créant un tunnel des paquets sur UDP
- Utilise des serveurs et relais Teredo
- Adresse Teredo sous le préfixe 2001:0000:/32
- Section 3.2.1. Quand utiliser Teredo
“Teredo is designed to robustly enable IPv6 traffic through NATs, and the price
of robustness is a reasonable amount of overhead, due to UDP encapsulation
and transmission of bubbles. Nodes that want to connect to the IPv6 Internet
SHOULD only use the Teredo service as a "last resort" option: they SHOULD
prefer using direct Ipv6 connectivity if it is locally available, if it is provided by a
6to4 router co-located with the local NAT, or if it is provided by a configured
tunnel service; and they SHOULD prefer using the less onerous 6to4
encapsulation if they can use a global IPv4 address”
54
Tunnel Broker
Tunnel Broker(RFC 3053)
Tunnel Broker utilise une autre approche basée sur des serveurs dédiés
appelés “Tunnel Brokers” qui gèrent automatiquement les demandes de
tunnel des utilisateurs
Tunnel Broker est bien adapté pour les petits sites IPv6 isolés, et
spécialement les machines IPv6 isolées sur l'Internet IPv4, qui veulent se
connecter à un réseau IPv6 existant
Tunnel Broker permet à des FAI IPv6 de facilement gérer les contrôles
d'accès des utilisateurs, renforçant ainsi leur politique sur l'utilisation des
ressources réseau
55
Tunnel Broker(2)
56
Tunnel Broker (3)
La configuration automatique est généralement assurée par du Tunnel Setup
Protocol (TSP), ou du TIC (Tunnel Information Control protocol).
Un client capable de ceci est le AICCU (Automatic IPv6 Connectivity Client
Utility)
Pour régler les problèmes de tunnels à travers le NAT
Utiliser la DMZ du NAT comme terminaison de tunnel
AYIYA (Anything in Anything)
V6-UDP-V4 tunneling protocol de Hexago
Le groupe de travail de l'IETF softwire essaye d'harmoniser les techniques de
configuration automatique
http://www.ietf.org/html.charters/softwire-charter.html
57
ISATAP(expérimental)
‘prefixe64bits::5EFE:adresseIPv4’
58
DSTM: Dual Stack Transition Mechanism
59
Interopérabilité & transition Translation(1)
60
Interopérabilité & transition Translation(2)
182.188.1.6 FEC::1:6
61
Applicatifs(1)
La majorité des OS supportent IPv6 maintenant
Vista corrige certains aspects manquants de XP
La configuration IP
Le DNS sur IPv6
Autoconfiguration (RA) et DHCPV6(stateful)
La majorité des applications clients comme serveurs supportent également
IPv6
Les adresses IPv6 sont représentées en DNS
www.afrinic.net. IN AAAA 2001:42d0::200:80:1
1.0.0.0.0.8.0.0.0.0.2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.d.2.4.1.0.0.2.ip6.arp
a. IN PTR www.afrinic.net.
Les URL avec les adresses IPv6
http://[2001:4f8:feec::1]/
62
Applicatifs(2)
AdvSendAdvert on;
MinRtrAdvInterval 3;
MaxRtrAdvInterval 10;
AdvHomeAgentFlag off;
# example of a standard prefix
prefix 2001:4f8:feec::/64
{
AdvOnLink on;
AdvAutonomous on;
AdvRouterAddr on;
AdvPreferredLifetime 604800; # 7days
AdvValidLifetime 259200; #30 days
};
};
64
Obstacles au déploiement de IPv6
Manques de stimulation
- Manque de demandes des clients
- Manque d'avantage commercial
- Manque d'engagements du secteur public
Manque d' information
Coût de migration et de déploiement
65
lectures
rfc1752
rfc 2460
rfc 4291
rfc 4193
tools.ietf.org/wg/ipv6
tools.ietf.org/wg/v6ops
http://www.afrinic.net/IPv6/index.htm
66