Introduction IPv6 pour l'administrateur IPv4 [fermé]

26

Je connais assez bien IPv4, mais je n'ai jamais eu à utiliser IPv6 et je n'ai jamais vraiment eu de cours dessus ni lu de documentation qui avait du sens.

Quelqu'un peut-il m'indiquer une bonne introduction (en ligne ou dans un livre) à IPv6 pour un administrateur IPv4? Je suis principalement Windows plutôt qu'UNIX, mais je peux suivre la plupart des explications UNIXy.

Richard Gadsden
la source
Les questions relatives à la formation professionnelle sont hors sujet selon la FAQ révisée .
sysadmin1138

Réponses:

39

J'ai écrit cela l'année dernière en tant que document de référence interne lorsque certains de nos ingénieurs sont devenus confus lorsqu'on leur a demandé de mettre des adresses IPv6 dans DNS. Je n'ai pas abordé le DNS en particulier, mais la plupart des préoccupations semblaient concerner le format des adresses et ne pas "comprendre" comment elles fonctionnaient. Peut-être que cela sera utile pour d'autres aussi:


Donc, la première chose à reconnaître est que les adresses IPv6 ont l'air moche. Ils font.

Mais je pense que c'est simplement parce que nous ne sommes pas habitués à les traiter et que nous ne comprenons pas ce qu'ils signifient à un niveau très bas comme nous le faisons avec les adresses IPv4. Je pense qu'il faudra un certain temps pour se familiariser avec eux, mais nous devons commencer quelque part.

Une autre chose importante à retenir est que les adresses IPv4 sont des nombres 32 bits et les adresses IPv6 sont des nombres 128 bits. Lorsqu'un routeur route ou qu'un pare-feu filtre, il le fait en fonction de ce nombre. La façon dont un être humain choisit d'afficher ce nombre est totalement arbitraire et relève principalement de la tradition. Donc, tout cet e-mail explique comment les humains choisissent de représenter ces nombres - les machines s'en moquent, c'est tout pour eux.

Une adresse IPv4 est de 32 bits ou quatre octets. Ce que nous considérons comme une "véritable" adresse IP est simplement la méthode qui est devenue standard pour représenter cette chaîne de bits, séparant les bits en 4 groupes de 8 bits, représentant chaque 8 bits comme un nombre décimal, et séparant ces nombres décimaux ce une période. Alors, prenez l'adresse IP aléatoire 172.30.154.249. Quand un routeur "pense" à cette adresse IP, il pense vraiment à cela comme ceci:

10101100000111101001101011111001

Que nous pouvons traduire sous notre propre forme:

10101100 = 172

00011110 = 30

10011010 = 154

11111001 = 249

Parfois, vous pouvez également voir ceux-ci écrits comme un nombre décimal pur:

10101100000111101001101011111001 = 2,887,686,905

Presque personne n'utilise ce formulaire exprès (*), mais c'est un moyen historiquement valide d'écrire une adresse IPv4. En fait, ce formulaire est utilisé dans la RFC821 qui a défini SMTP en 1982. Si vous vouliez acheminer manuellement le courrier vers une machine spécifique au lieu d'utiliser DNS, vous pourriez utiliser deux types différents de littéraux. Le premier était le formulaire familier "quadrillé en pointillés" entre crochets ("utilisateur @ [172.30.154.249]"). Le second utilisait la forme décimale de l'IP préfixée d'un signe dièse ("user @ # 2887686905").

Tout ce qui précède était juste pour fournir un cadre pour traduire vos connaissances sur le fonctionnement des adresses IPv4 en adresses IPv6. Tout comme un IPv4 est un nombre de 32 bits, les adresses IPv6 sont des nombres de 128 bits. ARIN a attribué à MY AWESOME COMPANY (**) la plage IP 2311: FD67 / 32. Pour avoir un exemple avec lequel travailler, je vais utiliser l'IP 2311: FD67 :: AC1E: 9AF9.

Voici donc la chaîne de bits représentant cette ip6:

00100011000100011111110101100111000000000000000000000000000000000000000000000000000000000000000010101100000111101001101011111001

Si nous représentions ces chaînes de bits comme nous le faisons pour les chaînes de bits IPv4 (convertissez chaque bloc de 1 octet en décimal, séparez-les chacun par un point), nous obtiendrions ce qui suit:

35.17.253.103.0.0.0.0.0.0.0.0.172.30.154.249

Cela pose quelques problèmes. Le premier est qu'il ressemble en quelque sorte à un numéro IPv4 génial, ce qui n'est pas bon, vous voulez un moyen solide de les différencier. L'autre, c'est que c'est beaucoup d'informations, beaucoup de chiffres et beaucoup d'espace vide. Ainsi, les deux problèmes sont résolus en utilisant un séparateur différent (deux points (:) au lieu de point (.)) Et en représentant des octets en hexadécimal au lieu de décimal. Là où IPv4 séparait des blocs de 8 bits, représentés en décimal, avec des points, IPv6 séparait des blocs de 16 bits, séparés par des deux-points. Voici donc la répartition de notre exemple d'IP IP6:

0010001100010001 = 2311

1111110101100111 = FD67

0000000000000000 = 0

0000000000000000 = 0

0000000000000000 = 0

0000000000000000 = 0

1010110000011110 = AC1E

1001101011111001 = 9AF9



2311:FD67:0:0:0:0:AC1E:9AF9

Il y a encore beaucoup d'espace blanc, il y a donc une tolérance que la plus grande chaîne de zéros puisse être supprimée et représentée avec un double colon. Ainsi, l'IP ci-dessus peut être écrite:

2311:FD67::AC1E:9AF9

Je ne l'ai pas beaucoup vu, mais si je comprends bien, il existe également une convention soignée pour autoriser l'écriture du dernier 32 bits sous forme de quadrillage en pointillé préfixé, permettant une reconnaissance facile des adresses héritées lors de la migration d'IPv4 vers IPv6 . Donc, comme vous l'avez probablement remarqué, mon exemple d'adresse IPv6 se termine par les mêmes 32 bits qui comprennent entièrement mon exemple IPv4. Cela est particulièrement utile lorsque vous écrivez dans ce style. Dans ce cas, mon adresse IPv6 ressemblerait à:

2311:FD67::172.30.145.249

Pour revenir à l'endroit où j'ai commencé avec IPv6, j'ai mentionné que l'on nous avait attribué 2311: FD67 / 32. Le / 32 est un masque de bits comme il l'est dans les adresses IPv4. Cela signifie essentiellement que l'on nous a statiquement attribué les 32 premiers des 128 bits d'une adresse IPv4 que nous pourrions créer. Puisque 2311: FD67 est de 32 bits, cela signifie que chaque adresse IP que nous créons à partir de cette plage commencera par cela.

En d'autres termes, tout comme 172.17 / 16 peut être considéré comme "chaque IP entre 172.17.0.0 et 172.17.255.255", 2311: FD67 / 32 peut être considéré comme "chaque IP entre 2311: FD67: 0: 0: 0: 0: 0: 0 et 2311: FD67: FFFF: FFFF: FFFF: FFFF: FFFF: FFFF ".

Je pense qu'il faudra beaucoup de temps avant de commencer la migration vers IPv6, mais j'espère que cette explication vous aidera à vous sentir plus à l'aise de les utiliser et de vous y référer.

Encore une fois, il est vraiment important de comprendre que la seule chose dont je parle ici est littéralement de savoir comment écrire une adresse IPv6. Il semble y avoir beaucoup d'intelligence dans le schéma de numérotation pour le routage, etc., que je n'ai pas encore vraiment saisi, donc tout ce que je peux aborder maintenant, c'est à quoi il ressemble =).

(*) J'ai déjà vu la représentation décimale IPv4 dans certains débogages logiciels, mais je suis presque certain que c'était une erreur ou une paresse, je pense qu'il était beaucoup plus simple dans le code C d'imprimer l'entier 32 bits plus rapidement qu'il ne l'était formater un quadrillé en pointillé pour l'impression.

(**) J'ai muni le nom de mon entreprise et le préfixe

jj33
la source
2
J'ai vu des liens SPAM utiliser la forme 2887686905 / some / link d'une adresse IP, donc vous ne pouvez pas dire où va le lien.
Eddie
1
Je pense que l'un des grands changements dans la réflexion avec IPv6 sera la dénomination dynamique et la découverte de services. Beaucoup d'administrateurs DNS fuddy duddy n'aiment pas les changements dynamiques et ne comprennent pas la découverte de services.
duffbeer703
"172.17 / 16" signifie "172.0.0.17/16". Vous devez écrire "172.17.0.0/16".
Teddy
3
Je voulais vous demander: Comment diable avez-vous obtenu un masque de sous-réseau 32 bits sur l'espace IPv6 public? C'est ridicule! Quel est l'intérêt de l'espace d'adressage IPv6 si nous allons le distribuer au rythme que nous avons donné IPv4?
Luke n'a pas de nom le
Je n'étais pas impliqué dans la demande de la gamme, donc je ne connais pas les détails.
jj33