TD réseau: première approche d’IPv6
Exercice 1 adresses IPv6
Sur une machine Linux (lubuntu 16.10), on tape les commandes suivantes. La ligne précédée d’un « $ » est la commande. La suite est le résultat de la commande. Certains résultats (ifconfig) ont été tronqués pour éliminter les lignes non pertinentes dans le cadre de ce TD.
lo Link encap:Boucle locale
inet adr:127.0.0.1 Masque:255.0.0.0 adr inet6: ::1/128 Scope:Hôte
UP LOOPBACK RUNNING MTU:65536 Metric:1
Packets reçus:578128 erreurs:0 :0 overruns:0 frame:0 TX packets:578128 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 lg file transmission:1
Octets reçus:329841484 (329.8 MB) Octets transmis:329841484 (329.8 MB) éléments de correction : Ici, on trouve l’adresse de bouclage en IPv4
(127.0.0.1) ou en IPv6 (::1 ou 0:0:0:0:0:0:0:1)
wlan0 Link encap:Ethernet HWaddr 24:77:03:08:f5:28
inet adr:192.168.20.23 Bcast:192.168.2.255 Masque:255.255.255.0 adr inet6: fe80::2677:3ff:fe08:f528/64 Scope:Lien
adr inet6: 2a01:e35:8b04:160:ad7c:e892:c7b6:2a57/64 Scope:Global adr inet6: 2a01:e35:8b04:160:2677:3ff:fe08:f528/64 Scope:Global UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
éléments de correction : Ici, on voit que notre hôte a 3 adresses IPv6 :
• une adresse lien local (commençant par fe80, configurée automatiquement et utilisable uniquement sur le lien local : fe80::2677:3ff:fe08:f528/64
• deux adresses IPv6 globales :
◦ 2a01:e35:8b04:160:ad7c:e892:c7b6:2a57/64
◦ 2a01:e35:8b04:160:2677:3ff:fe08:f528/64
Le site de l’IANA (http://www.iana.org/assignments/ipv6-unicast-address- assignments/ipv6-unicast-address-assignments.xhtml) nous indique que cette adresse fait partie d’un réseau affecté au RIPE (RIR européen) :
2a00:0000::/12 RIPE NCC 2006-10-03
Une requète whois nous indique que ces adresses font partie du réseau de Proxad/Free :
$ whois 2a01:e35:8b04:160:2677:3ff:fe08:f528 [… début de la sortie de la commande supprimé]
inet6num: 2a01:e00::/26 netname: FR-PROXAD-20080121 country: FR
org: ORG-PISP1-RIPE admin-c: ACP23-RIPE tech-c: TCP8-RIPE
status: ALLOCATED-BY-RIR mnt-by: RIPE-NCC-HM-MNT mnt-lower: PROXAD-MNT mnt-routes: PROXAD-MNT mnt-domains: PROXAD-MNT
created: 2008-01-21T14:17:01Z last-modified: 2016-04-14T08:53:03Z source: RIPE # Filtered organisation: ORG-PISP1-RIPE
org-name: Free SAS org-type: LIR
address: 8 rue de la Ville l'Eveque address: 75008
address: Paris address: FRANCE
phone: +33173502000 fax-no: +33173922555 admin-c: ACP23-RIPE admin-c: TCP8-RIPE mnt-ref: PROXAD-MNT mnt-ref: RIPE-NCC-HM-MNT mnt-by: RIPE-NCC-HM-MNT tech-c: TCP8-RIPE
remarks: Pour les requisitions judiciaires/administratives, merci de contacter par fax le 33 1 73 92 25 55
abuse-c: ACP23-RIPE
created: 2004-04-17T11:23:24Z last-modified: 2016-10-06T15:23:10Z source: RIPE # Filtered
[–--- fin de la commande whois –---]
[…]
$ ip -6 addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 state UNKNOWN qlen 1 inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000 inet6 2a01:e35:8b04:160:ad7c:e892:c7b6:2a57/64 scope global temporary dynamic
valid_lft 85985sec preferred_lft 30929sec
inet6 2a01:e35:8b04:160:2677:3ff:fe08:f528/64 scope global mngtmpaddr noprefixroute dynamic
valid_lft 85985sec preferred_lft 85985sec inet6 fe80::2677:3ff:fe08:f528/64 scope link valid_lft forever preferred_lft forever
éléments de correction : on retrouve les mêmes informations sur les IPv6 de notre hôte. En plus, on a la durée de vie des adresses. Rappel : une adresse IPv6 est associée pour une durée définie à une interface. L’adresse de bouclage (::1) et l’adresse lien local (fe80 :…) ont une durée de vie infinie tandis que les deux adresses globales ont une durée de vie limitée.
• preferred_lft indique la durée pendant laquelle l’adresse est
« prefered ». Quand prefered_lft est à zéro, l’adresse passe en mode deprecated : on peut l’utiliser pour les connexions existantes mais pas pour les nouvelles connexions
• valid_lft indique la durée de vie totale de l’adresse IPv6. Quand valid_lft passe à zéro, l’adresse est supprimée.
Avoir plusieurs adresses se fait naturellement quand on active les extensions liées à la vie privée décrites dans la RFC 3041 ce qui est la cas de notre hôte.
$ ip -6 route show
2a01:e35:8b04:160::/64 dev wlan0 proto kernel metric 256 expires 86055sec pref medium
fe80::/64 dev wlan0 proto kernel metric 256 pref medium
default via fe80::207:cbff:feb0:e5b4 dev wlan0 proto static metric 600 pref medium
$ ip route show
default via 192.168.20.1 dev wlan0 proto static metric 600
192.168.20.0/24 dev wlan0 proto kernel scope link src 192.168.20.23 metric
600
$ netstat -rn
Table de routage IP du noyau
Destination Passerelle Genmask Indic MSS Fenêtre irtt Iface 0.0.0.0 192.168.2.1 0.0.0.0 UG 0 0 0 wlan0 192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 wlan0 éléments de correction : chaque version du protocole IP (v4 ou v6) a sa table de routage indépendantes l’une de l’autre. Ainsi, le routeur par défaut est
192.168.20.1 en IP v4 (résultat de « route show » ou de « netstat -rn ») et fe80::207:cbff:feb0:e5b4 en IPv6. En IPv6, c’est l’adresse lien local du routeur qui est indiqué.
• lister les adresses IPv6 de cette machine et donner leur type et contexte d’utilisation.
• Quelle est le routeur par défaut de cette machine ?
Exercice 2 adresses IPv6
Donner un exemple du cas décrit dans chacun des cas suivants puis Indiquer lesquelles des affirmations suivantes sont justes :
• Si un champ de 2 octets (16 bits) ne contient que des zéros, on peut le réduire à un zéro unique.
• Si un champ de 2 octets (16 bits) dans la valeur est non nulle commence par des zéros, on peut les supprimer.
• Si un champ de 2 octets (16 bits) dans la valeur est non nulle finit par des zéros, on peut les supprimer.
• Tous les zéros peuvent être effacés et remplacés par le caractère :
• Si plusieurs champs de 16 bits consécutifs sont à zéro, on peut les remplacer, pour la première occurrence, par deux fois le caractère ::
• Si plusieurs champs de 16 bits consécutifs sont à zéro, on peut les remplacer, pour toutes les occurrences, par deux fois le caractère ‘:’
• Si plusieurs champs de 16 bits consécutifs sont à zéro, on peut les remplacer, l’une des occurrences, pas forcément la première, par deux fois le caractère ‘:’
Exercice 3 adresses IPv6
Parmi les notations compactées (partiellement ou totalement) suivantes, lesquelles sont équivalentes à cette adresse : 2001:0db8:0000:0ab0:0000:0000:0012:3400 ?
• 2001:0db8:0:0ab0:0:0:012:3400
• 2001:db8:0:ab0:0:0:12:3400
• 2001:0db8:0:AB0:0:0:012:3400
• 2001:db8:0:ab0::12:3400
• 2001:db8:0:ab::12:3400 Non, ab n’est pas équivalent à ab0
• 2001:db8::ab0:0:0:12:3400
• 2001:db8::ab0:0:0:12:34 Non, 3400 n’est pas équivalent à 34
Exercice 4 adresses IPv6
Indiquez si les adresses IPv6 suivantes sont valides pour la saisie de paramètres :
• Si elles ne le sont pas, indiquez pourquoi
• Si elles le sont, donnez leur forme canonique
• 2001:0db8:900d:cafe:0100:0012:3456:789A
• 2001:0DB8:900D:CAFE:0100:0012:3456:789A
• 2001:db8:900d:Cafe:01000:0012:3456:789A 5 chiffres
• 2001:db8:900d:cafe:100:12:3456:789A
• 2001:db8:g00d:cafe:100:12:3456:789A g n’est pas un chiffre en hexadécimal
• 2001:db8:01d:beef:0054:50ff:fec0:ffee
• 2001:db8:1d:0:beef:54:50ff:fec0:ffee : 9 champs de 16 bits, c’est un de trop
• 2001:db8:001d:0054:50ff:fec0:ffee 7 champs, c’est un de moins
• 2001:db8:1d::54:50ff:fec0:ffee
• 2001:db8::1d::54:50ff:fec0:ffee on ne peut utiliser :: qu’une seule fois.
• fe80::54:50ff:fec0:ffee
• f02::1:ffc0:ffee
Exercice 5 adresses IPv6
L'administrateur d'un réseau s'est vu attribué le préfixe 2001:db8:1:a000::/60 pour adresser les machines de son réseau.
• Donnez la première adresse valide de ce réseau (i.-e. l’adresse de réseau) 2001:db8:1:a000
• Donnez la première adresse attribuable à une machine de ce réseau 2001:db8:1:a000::1/64 ou 2001:db8:1:a000:0:0:0:1
• Donnez la dernière adresse valide de ce réseau 2001:db8:1:a00f:ffff:ffff:ffff:ffff
• Donnez le premier préfixe de largeur 64 bits pouvant être défini à partir de ce préfixe
2001:db8:1:a000::/64
• Donnez le dernier préfixe de largeur 64 bits pouvant être défini à partir de ce préfixe 2001:db8:1:a00f::/64
Les stations configurées avec les adresses suivantes appartiennent-elles à ce réseau ?
• 2001:db8:1:a004:12ad:5125:ffa3:45e3
• 2001:db8:0001:a000:0000::
• 2001:db8:1:a010:504b:d70c:f78e:8b46
• 2001:db8:1:a08:1:fe74:060d:3495
• 2001:db8:1:a00e:1d8d:m00c:bc0:ed54
Exercice 6
On vous demande d’étudier la capture de trame « ipv6-capture-1 »
On s’intéresse dans un premier temps à la trame No 9 : « Routeur Advertisement ».
• quel est le type de ce paquet ?
• Quel est son rôle ?
• Quelles informations contient-il ?
• Est-il utile d’avoir un serveur DHCPv6 sur le réseau pour fournir une adresse IPv6 aux postes du réseau ?
• Que pouvez-vous dire des adresses IPv6 et MAC source et destination de ce paquet ?
• Dans quelle trame se situe la réponse à ce paquet ?
Élements de correction : Ce paquet est un paquet ICMPv6 d’annonce de routeur (router advertisement) qui permet au routeur d’annoncer sa présence et de fournir des informations supplémentaires. Au total, on a les informations suivantes :
• le routeur par défaut (la machine qui émit le paquet)
• le réseau où si situent les machines (Prefix information :
2a01:e35:8b04:160::/64) ce qui permettra aux postes du réseau de se choisir une ou plusieurs adresses dynamiques ;
• l’IP de serveurs dns (résolveurs ou serveurs dns cache) que le machine pourra utiliser pour ses requêtes DNS : Recursive DNS Server 2a01:e00::2 2a01:e00::1
• le MTU (taille max des paquets IP) : 1480
• l’adresse MAC du routeur : Source link-layer address : 00:07:cb:b0:e5:b4 Si on fait une requête DNS inversée, on découvre que 2a01:e00::2 2a01:e00::1 sont :
$ host 2a01:e00::2
2.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.e.0.1.0.a.2.ip6.arpa domain name pointer dns3.proxad.net.
$ host 2a01:e00::1
1.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.e.0.1.0.a.2.ip6.arpa domain name pointer dns2.proxad.net.
On peut noter au passage la façon dont les entrées inversées IPv6 sont stockées dans le DNS avec un découpage tous les 4 bits (un chiffre hexa) plus fin que le découpage tous les 8 bits d’IPv4.
On s’intéresse aux trames 13 et 14
• Quel est le type de ces paquets ?
• Quel est le rôle de chaque paquet ?
• À quoi sert ce processus ?
• Existe-t-il en IPv4 ?
• Étudiez les adresses MAC et IP sources et destination de ces trames.
Élements de correction : Il s’agit d’une requête de sollicitation de voisin. Elle a pour but de trouver l’adresse MAC de la machine d’adresse IP v6
2a01:e35:8b04:160:ad7c:e892:c7b6:2a57. La requête 14 est une réponse à la requête
13. La requête 14 est une requête d’annonce de voisin qui indique l’adresse MAC demandée : Target link-layer address : 24:77:03:08:f5:28
Le processus équivalent en IPv4 est ARP (adress resolution protocol). Les deux processus ont les mêmes rôles : soit obtenir l’adresse MAC d’une machine du réseau local donc on connaître l’IP, soit vérifier que son adresse IP est bien unique sur le réseau (IPv6 parle de DAD : Duplicate Address Detection).
Parmi les différences entre IPv4 et IPv6, on peut noter
• qu’une requête ARP est diffusée (ip destination = 255.255.255.255)
• qu’une requête de sollicitation de routeur est envoyée à une adresse multicast ff02 construite avec des éléments de l’adresse IPv6 cherchée.
En IPv6, la réponse n’est pas diffusée mais envoyée directement à l’adresse lien local de la machine demandeuse.
On s’intéresse aux trames 15 à 18
• Quel est le type de ces paquets ?
• Quel processus est en jeu ?
Élements de correction : Il s’agit de requête DNS inversées (RR PTR).