DU-ASRE – UE5
! Dans les années 90 :
! Augmentation exponentielle de l'Internet
! Augmentation du nombre d'entrées dans les tables de routage ! Allocation des adresses - Janvier 1996
! Classe A - 100.00%
! Classe B - 61.95%
! Classe C - 36.44%
! Prévisions d'exhaustion du espace d'adressage
! Première alerte - 1994
! Depuis le 1er février 2011 tous les blocs ont été attribués
!
llAdressage « classless » llCIDR (Classless Internet Domain Routing) (RFC 1519)
llAdresse réseau = préfixe/longueur du préfixe
llLimite les pertes d'adresses
llRecommande l'agrégation (réduction des tables de routage)
llRéquisition d'adresses déjà alloués (RFC 1917)
llRéutilisation des adresses de classe C
llPermettre les plans d'adressage privés (RFC 1918 ) llUtilisation de proxies ou NAT pour les communications avec l'extérieur llStructuré de manière similaire aux pare-feux
Est-cela suffisant ? llCes mesures ont donné le temps de trouver une solution meilleure que IPv4
llSans une solution, IPv4 devient de plus en plus complexe à gérer
llRisque de se trouver avec plusieurs protocoles de niveau 3
llLes adresses IP sont devenus des ressources rares ll232 = seulement 4 294 967 296 adresses
llLes applications et le déploiement de nouveaux réseaux sont fortement limités par le NAT
llLogique « firewall » contraire au paradigme « bout-à-bout » d'Internet
llAttribution des adresses IPv4 ll3 706 650 000 vraiment utilisables ll2^32 [4 294 967 296] - (classes D et E, réseaux 0 et 127 et RFC1918)
ll6,5 milliards d'habitants ll40% des adresses sont allouées aux USA
- 300 000 000 d’habitants ll3% des adresses sont allouées à la Chine
- 1 400 000 000 habitants
llDes travaux ont été lancé au début des années 90 pour améliorer IP en général
llIPng (IP nouvelle génération)
llAu milieu des années 90, IPv6 a été retenu comme nouvelle version de IP (RFC 1752) et adopté vers la fin des années 90
llLe nouveau protocole va aller au-delà du problème du nombre d’adresse et s’attaque aux lacunes de IPv4
• IPv5 est un protocole expérimental pour la réservation de resssources afin d’offrir de la qualité de services (QoS) pour le transport en temps réel de données multimédia. Son vrai nom est « Internet Streaming Protocol version 2 (ST2) »
• ST2 est un protocole ancien (1995) qui a reçu le numéro 5 uniquement parce qu’il utilise le même format de paquet/trame que IP. Depuis longtemps ST2 n’est plus utilisé, le plus proche en IPv4 est le protocole RSVP (Resource Reservation Protocol)
• Attention aux mauvaises explications
• à 1min33 : « comme dans le champ IP pour la version, il faut un numéro à part entière, du coup on est passé directement au 6 »
•
• En Asie (Chine) on parle parfois de IPv12… ce n’est que du marketing, de même que les baladeurs MP6 (son MP3+video MP4 + radio + télévision)
llLA réponse pour le problème de la croissance de l'Internet
llNouveaux réseaux
llNouvelles machines/dispositifs
llUtilisation mobile/nomade
llAugment le format des adresses à 128 bits (16 octets)
llGarde les bonnes choses de IPv4
llFormat fixe et bien connu pour l'entête
llTaille d'adresses fixe
llDépart avec les bonnes habitudes
llRéseaux structuré et hiérarchisé
llUn grand espace d’adressage facilite l’agrégation des réseaux
llAgrégation = hiérarchisation = optimisation des annonces de routage
llTables de routage plus petites et efficaces
128 bits - Est-ce que cela suffit ?
llLongueur des adresses = 128 bits
llPour rappel, IPv4 compte avec des adresses de 32 bits llAttention : 2128>>>>>> 4 x 232 ll232 = 4.2x109 ll4 294 967 296
ll 2128 = 3.4×1038
-340 282 366 920 938 463 463 374 607 432 768 211 456
llPour comparaison llÉtoiles observables dans le ciel = 252 = 4.5x1015 llApproximativement 506 102 adresses par m2 sur terre llou 5×1028 adresses pour chaque habitant de la planète
llOptionnelles, utilisées à la place des options IPv4
llInsérées entre l'entête IPv6 et les données (TCP, etc.)
llLe protocole n’est pas figé, il peut évoluer avec le temps
llLes extensions ne sont pas traitées par aucun nœud intermédiaire
llException: l'extension « hop by hop »
llAdresse sur 128 bits découpée en 8 mots de 16 bits llUtilisation de chiffres hexadécimaux pour gagner de la place
llExemple: FEDC:0000:0000:0210:EDBC:0000:6543:210F llFormat compressé llcompression des 0 d'entête - FEDC:0:0:210:EDBC:0:6543:210F llRemplacer une séquence de 0 par :: (une seule fois)
- FEDC::210:EDBC:0:6543:210F
- FF01:0:0:0:0:0:0:1 àà FF01::1 -0:0:0:0:0:0:0:1 àà ::1 -0:0:0:0:0:0:0:0 àà ::
llExemple d’utilisation :
llhttp://[2001:1234:12::1]:8080
llloopback ll0:0:0:0:0:0:0:1 => ::1
llunspecified
llIndique l'absence d'une adresse
ll0:0:0:0:0:0:0:0 => ::
llNe doit pas être utilisée comme adresse de destination
• Comme en IPv4, les adresses sont attribuées aux interfaces
• Ce que change :
• Une interface « doit » avoir plusieurs adresses
• Les adresses ont des étendues d’action
• Link Local e
• Adresses Unicast
• Associées à une seule interface
• IPv6 contient plusieurs types (global, link local, etc).
• Multicast
• Adresse de diffusion « un vers plusieurs »
• Permet une utilisation plus efficace du réseau
• Remplace (avantageusement) la diffusion Broadcast
• Anycast
• « un vers le plus proche »
• Permet à plusieurs dispositifs de partager une même adresse.
• Tous les nœuds doivent offrir les mêmes services
• Les routeurs décident quel est le dispositif le plus proche de l’émetteur
• Adapté à l’équilibrage de charge et aux services adaptés aux contexte
Comment est attribuée une IPv6 ?
llAuto-configuration (stateless) llL’auto-configuration des adresses est intégrée dans le protocole
llGénération automatique des adresses à partir d’informations reçues par le routeur et de l’adresse MAC (d’une interface Ethernet)
llL'auto-configuration est un processus à plusieurs étapes
llPeut présenter quelques risques de sécurité
llDHCPv6
llUn serveur DHCP est responsable pour l’attribution des adresses
llL’administrateur garde un peu plus de contrôle sur les machines admises
• L’espace d’adressage unicast IPv6 comprends tout l’espace IPv6 à l’exception du FF00::/8 (1111 1111), qui est réservé aux adresses multicast
• Les adresses 2000::/3 (001) à E000::/3 (111), doivent utiliser le format Extended Universal Identifier (EUI)-64 quiest obtenu à partir des adresses MAC des interfaces réseau
• Aujourd’hui, l’IANA distribue aux FAI des adresses IPv6 dans le plage
2001::/16
• Ce format est généralement composé d’un préfixe global de 48 bits et un identifiant de sous-réseau de 16 bits
llEspace d'adressage (IETF)
ll | 0000::/8 Reserved by IETF | [RFC3513] |
ll | 2000::/3 Global Unicast | [RFC3513] |
ll | FC00::/7 Unique Local Unicast | [RFC4193] |
ll | FE80::/10 Link Local Unicast | [RFC3513] |
llFEC0::/10 Site-local Unicast (deprecated) [RFC3879] llFF00::/8 Multicast [RFC3513]
54 bits
FE80::/64
machine ~ # ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:11:43:CD:3B:1C
[..]
inet6 addr: fe80::211:43ff:fecd:3b1c/64 Scope:Link
[..]
machine ~ # ifconfig eth1
eth1 Link encap:Ethernet HWaddr 00:11:43:CD:3B:1D
[..]
inet6 addr: fe80::211:43ff:fecd:3b1d/64 Scope:Link [..]
llComment obtenir l'Interface ID ?
llInterface ID - Format EUI-64 obtenu en modifiant la représentation d’une adresse MAC sur 48 bits
llPour s’assurer que l’adresse choisie corresponde à une adresse globale unique MAC, le bit universal/local (U/L bit) est défini comme 1 pour l’étendue globale (0 pour l’étendue locale)
llLe U/L bit est le 7èmebit du premier octet
Unique Local Unicast Address (RFC4193)
FC00::/7
• C’est l’équivalent IPv6 des adresses privés
• Son but est de permettre un début de communication au niveau du réseau local, si aucun routeur n’est disponible
• Les 40 bits du Global ID sont générés aléatoirement (ou crées par l’administrateur)
• Vu le nombre d'adresses IPv6 disponibles, pratiquement personne ne fait un réseau IPv6 privé avec ces adresses
llSimilaire aux préfixes CIDR
lladresse-IPv6/longueur du préfixe
llExemple
- 2001:0DB8:0000:CD30:0000:0000:0000:0000/60
- 2001:0DB8::CD30:0:0:0:0/60
- 2001:0DB8:0:CD30::/60
llReprésentations incorrectes
- 2001:0DB8:0:CD3/60
- 2001:0DB8::CD30/60
- 2001:0DB8::CD3/60
machine ~ # ifconfig
eth0 Link encap:Ethernet HWaddr 00:11:43:CD:3B:1C
inet addr:203.178.135.36 Bcast:203.178.135.128 Mask:255.255.255.128 inet6 addr: 2001:200:0:1cd7:211:43ff:fecd:3b1c/64 Scope:Global
inet6 addr: fe80::211:43ff:fecd:3b1c/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:34307181 errors:0 dropped:0 overruns:0 frame:0
TX packets:7381660 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3771786654 (3597.0 Mb) TX bytes:2291246660 (2185.1 Mb)
Base address:0xece0 Memory:fe1e0000-fe200000
lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6addr:::1/128Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:8732 errors:0 dropped:0 overruns:0 frame:0
TX packets:8732 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:783223 (764.8 Kb) TX bytes:783223 (764.8 Kb)
Ok, mais comment contacter un routeur ?
llL'auto-configuration passe par la découverte des voisins llProtocole NDP – Network Discovery Protocol
llDécouverte de voisins
llrésolution IPv6 -> MAC (comme ARP avec IPv4)
llDécouverte des routeurs llObtention d'informations pour l'auto-configuration d’adresses
llDétection d’accessibilité des voisins
llDétection des adresses dupliquées
llDécouverte des préfixes et paramètres du réseau llPar exemple, le serveur DNS auprès un stateless DHCP
llRouter Solicitation (RS)
llutilisé par un nœud pour découvrir les routeurs sur le réseau
llRouter Advertisement (RA)
llutilisé par un routeur pour annoncer le préfixe à utiliser et d’autres options (ex: MTU du lien)
llNeighbor Solicitation (NS)
llpermet à un nœud de demander l’adresse MAC correspondante à une adresse IPv6
llNeighbor Advertisement (NA)
llréponse au message NS
Soit donné l’adresse MAC 00:17:f2:ea:59:46
1. création d’une adresse lien-local ll(fe80::217:f2ff:feea:5946)
2. vérification d’unicité de l’adresse lien-local
llmessage NS sans réponse
3. récupération du préfixe IPv6 du lien llRS/RA (ex: 2001:db8:42::/64)
4. création de l’adresse globale ll(2001:db8:42::217:f2ff:feea:5946)
5. vérification d’unicité de l’adresse globale
• Le routage IPv6 n’est pas activé par défaut sur les routeurs Cisco
• Pour l’activer, il faut :
• Activer IPv6
ipv6 unicast-routing
• Configurer les interfaces
• Soit on donne l’adresse entière (128 bits)
ipv6 address 2001:DB8:2222:7272::72/64
• Soit on donne le préfixe et on demande le calcul EUI-64 ipv6 address 2001:DB8:c18:1::/64 eui-64
• Si nous disposons de l'infrastructure adéquate :
• Autoconfiguration
ipv6 address autoconfig
• Configuration par serveur DHCP stateful ipv6 address dhcp
• Configuration d'une adresse anycast
ipv6 address adresseanycast
• Comme les adresses IPv6 sont plus longs et difficiles de se souvenir, on peut attribuer des noms locaux aux machines qu’on utilise souvent
• ipv6 host M1 2a01:e35:8ad1::febe
• On peut aussi faire référence à un serveur DNS IPv6
• ipv6 nameserver 2a01:e35:8ad1::b3ff:febe:b170
• Vérification de la configuration
• show ipv6 neighbors
• show ipv6 interfaces brief
• show ipv6 router
Interopérabilité & transition
llLa transition entre IPv4 et IPv6 doit se faire de façon la plus transparente possible
llPlusieurs techniques peuvent être employées selon la situation
llTechnique de la double pile
llTechniques de tunneling
llTechniques de traduction
llDouble pile llCommunication IPv4 ↔ IPv4 llCommunication IPv6 ↔ IPv6
llPeut nécessiter l’utilisation de différentes applications pour chaque version
llLes routeurs doivent aussi pouvoir gérer les versions du protocole
llSurcharge à cause des deux piles
llStratégie couramment utilisée chez certains FAI (Free)
• Pour activer le double stack sur une routeur CISCO, il suffit de configurer les interfaces avec les adresses IPv4 et IPv6
• le trafic reste isolé
Tunneling est une technique où un paquet IPv6 est encapsulé dans un paquet d'autre protocole, comme IPv4.
Cette méthode d'encapsulation porte l'identifiant IPv4type 41
L'entête IPv4 (20 octets) précède l'entête et le corps IPv4
Cette technique est considérée aussi comme du dual-stack
L'encapsulation type 41 peut être utilsée pour relier des machines situées aux frontières des réseaux
• Un tunnel 6to4 utilise des adresses spéciaux dans la plage 2002::/16
• Les premiers 16 bits sont le numéro 2002
• Les prochains 32 bits correspondent à l'adresse source en hexadécimal
• Ex : l'adresse IPv4 172.16.12.1 est convertie en AC10:0C01
• L'adresse complète devient 2002:AC10:0C01:1::1/64
• Un tunnel 6to4 établie un lien temporaire entre des domaines IPv4 qui sont connectés par un backbone IPv4
• Configuration :
• Créer une interface tunnel
• Définir le mode tunnel avec la commande tunnel mode ipv6ip 6to4
• Créer les adresses IPv6 spécifiques
• Indiquer l'interface source pour le tunnel
• Configurer une route statique IPv6
Lo0 10.1.2.1/24
Une fois le tunnel établi, on peut définir d'autres routes en passant par l'adresse de l'extrémité opposée du tunnel
Le NAT-PT permet la traduction des adresses IPv6 et IPv4
1. enable
2. configureterminal
3. ipv6 nat prefix 2001:0db8::/96
4. interfaceeth0/0
5. ipv6address 2001:0db8:ffff:1::1/64
6. ipv6nat
7. exit
8. interfaceeth0/1
9. ipaddress 192.0.2.1 255.255.255.0 10.ipv6natshowipv6nattranslations
• La plupart des protocoles de routage a été porté (ou supporte) IPv6
• RIPng
• EIGRP for IPv6
• OSPFv3
• IS-IS
• MP-BGP
• Routage Statique ipv6 route prefixe/longueur {interface [next-hop] | next-hop}
[distance-administrative] [tag valeur]
• RIPng est la version du protocole RIP compatible avec IPv6
• La syntaxe est très proche de celle déjà vue pour RIP, avec quelques exceptions
• Un processus RIP n’est plus « unique », il y a une étiquette/tag pour regrouper les interfaces
• Chaque interface doit "s’inscrire" à un processus RIPng
• Ex :
Router (config) # ipv6 router rip monRIPv6
Router (config-rtr) # network …
Router (config-if) # ipv6 rip monRIPv6 enable
• Pour vérifier la configuration, on utilise la commande show ipv6 rip ou la commande show ipv6 route rip
• Même si RIPng partage l'essentiel des caractéristiques de RIPv1 et RIPv2, quelques différences sont présents :
• Seule les routes "routables" sont envoyées
• Il n'y a pas d'agrégation automatique (vu que IPv6 n'utilise pas le concept des classes)
• L'adresse multicast est le FF02::9
• L'authentification est faite avec le mécanisme AH/ESP de
IPv6, au lieu d'une solution spécifique RIP
• La même chose arrive à EIGRP et OSPF pour IPv6
• Tout comme RIPng, EIGRP a été adapté pour IPv6
• Conversion simplifié par la structure modulaire de EIGRP (IP, IPX, Appletalk)
• EIGRP for IPv6 a quelques différences par rapport à la version IPv4 :
• Absence de l'agrégation automatique
• Utilisation du mécanisme standard IPv6 pour l'authentification
• L'adresse next-hop est une adresse link-local du voisin
• Le Router-ID reste une adresse IPv4
• Si aucune interface est configurée en IPv4, il faut définir le Router-ID manuellement
• Étapes :
• Activer le routage IPv6
• ipv6 unicast-routing
• Activer le processus EIGRP
• ipv6 router eigrpAS {1 – 65535}
• eigrp router-id rid (si aucune interface IPv4 est configurée)
• Autrement, il utilise le même principe d'OSPF (RouterID>loopback>Interface)
• no shutdown (dans le mode "routeur")
• Dans chaque interface concernée, activer EIGRP
• ipv6 eigrp AS (le même de la commande précédente)
• Pour vérifier la configuration, on utilise les commandes
• show ipv6 route
• show ipv6 protocols
• show ipv6 eigrp neighhbors
• show ipv6 eigrp topology
• show ipv6 eigrp interfaces details
• Pour afficher le hello interval
• OSPFv3 est la version IPv6 (RFC 2740)
• Inspirée sur OSPFv2, mais avec quelques améliorations
• OSPFv2 et OSPFv3 peuvent être tournés simulanément, car chaque famille d'adresses a son propre arbre SPF
• L'agrégation automatique n'existe pas
• Le design d'un réseau IPv6 devrait rendre même l'agrégation manuel inutile
• OSPFv3 utilise les mêmes types de paquets OSPFv2
• Hello
• Database description block (DDB)
• Link state request (LSR)
• Link state update (LSU)
• Link state acknowledgement (ACK)
• Le protocole OSPFv3 fonctionne par lien – non plus par sousréseau :
• IPv6 connecte les interfaces à des liens; plusieurs sous-réseaux IPv6 peuvent être assignés à un seul lien
• Deux nœuds peuvent communiquer directement sur un lien, même s'ils n'appartiennent pas au même sous-réseau
• À cause de ces caractéristiques imposées par IPv6, OSPFv3 connecte les interfaces aux liens
• Plusieurs instances OSPFv3 peuvent tourner sur le même lien
• ceci permet le partage d'un lien par des ASs différents
• Le nouveau champs InstanceID sert à différencier ces instances
• Adressage multicast
• FF02::5 – représente tous les routeurs SPF dans le scope lien local ; équivalent à 224.0.0.5 avec OSPFv2
• FF02::6 – représente tous les routeurs DR dans le scope lien local ; équivalent à 224.0.0.6 avec OSPFv2
• Suppression des adresses dans les paquets LSA
• Plusieurs LSA ne transportent plus des adresses IPv6
• LSA1 et LSA2 transportent uniquement le RouterID des routeurs dans la zone
• Les préfixes sont transportés par les LSA 3 et LSA 9 (nouveau)
• Les routeurs se communiquent grâce à leurs adresses link-local
Code LSA | Nom | Description |
1 | Router-LSA | Annonce le RouterID dans une zone |
2 | Network-LSA | Le DR annonce les RouterIDs dans une zone |
3 | Inter-Area-Prefix-LSA | Annonce les préfixes d'une autre zone |
4 | Inter-Area-Router-LSA | Annonce la localisation des ASBR |
5 | AS-External-LSA | Annonce les routes redistribuées dans OSPF |
6 | Group-Membership-LSA | Annonce des information de multicast |
7 | Type-7-LSA | Traversée de routes externes dans un NSSA |
8 | Link-LSA | Annonce l'adresse link-local d'un routeur aux voisins directement connectés |
9 | Inter-Area-Prefix-LSA | Annonce les préfixes associées aux RouterID |
Steffenel
Command Description |
Router(config)#ipv6 unicast- Active le routage IPv6 routing |
Router(config)#ipv6router Active le processus OSPF process-id ospf process-id |
Router (config-router)# Configuration du Router-id en format 32 bits (adresse IPv4) router-id router-id |
Exemple : Configure le routeurID de ce router à 2.2.2.2 Router (config-router)# router-id 2.2.2.2 |
Step CommandorAction Purpose |
Configurer l'agrégation manuelle (area-range) :
area area-id range prefix/prefix length [advertise | not-advertise] [cost cost] Afficher les nouveaux LSAs :
showipv6 ospf [process-id] database link show ipv6 ospf [process-id] database prefix
Router2#show ipv6 ospf int s 3/0
S3/0 is up, line protocol is up
Link Local Address 3FFE:B00:FFFF:1::1, Interface ID 7
Area 1, Process ID 100, Instance ID 0, Router ID 10.1.1.4
Network Type POINT_TO_POINT, Cost: 1
Transmit Delay is 1 sec, State POINT_TO_POINT,
Timer intervals configured, Hello 10, Dead 40, Wait 40,
Retransmit 5
Hello due in 00:00:02
Index 1/1/1, flood queue length 0
Next 0x0(0)/0x0(0)/0x0(0)
Last flood scan length is 33, maximum is 3
Last flood scan time is 0 msec, maximum is 0 msec
Neighbor Count is 1, Adjacent neighbor count is 1
Adjacent with neighbor 10.1.1.3 Suppress hello for 0 neighbor(s)
R7#show ipv6 ospf
Routing Process “ospfv3 1” with ID 75.0.7.1
It is an area border and autonomous system boundary router
Redistributing External Routes from, connected
SPF schedule delay 5 secs, Hold time between two SPFs 10 secs
Minimum LSA interval 5 secs. Minimum LSA arrival 1 secs
LSA group pacing timer 240 secs
Interface floor pacing timer 33 msecs
Retransmission pacing timer 33 msecs
Number of external LSA 3. Checksum Sum 0x12B75