Skip to content

Comment fonctionne le sous-réseau IPv6 et en quoi diffère-t-il du sous-réseau IPv4 ?

Après avoir consulté des spécialistes en la matière, des programmeurs de divers domaines et des enseignants, nous avons trouvé la réponse au dilemme et nous la laissons reflétée dans cette publication.

Solution :

Solution 1 :

La première chose à mentionner au sujet du sous-réseau IPv6 est qu'un autre sous-réseau mode de pensée est nécessaire. En IPv4, on pense généralement à combien de adresses vous avez à disposition et comment vous pouvez en allouer suffisamment à chaque utilisateur final. Dans le cas de l'IPv6, vous pensez généralement au nombre de /64-sous-réseaux vous avez à disposition et comment vous pouvez les allouer aux utilisateurs finaux. Vous ne vous préoccupez presque jamais du nombre d'adresses IP qui seront utilisées dans un sous-réseau donné. Sauf pour certains cas particuliers comme les liaisons point à point, chaque sous-réseau a tout simplement beaucoup plus d'adresses disponibles qu'il n'en aura jamais besoin, donc au lieu de cela, vous ne vous souciez que de l'allocation des sous-réseaux, pas des hôtes à l'intérieur de ceux-ci.

Les sous-réseaux IPv6 sont généralement /64 parce que cela est nécessaire pour que le SLAAC (autoconfiguration d'adresse sans état) fonctionne. Même lorsque SLAAC n'est pas utilisé, il peut y avoir d'autres raisons d'utiliser /64. Par exemple, il peut y avoir des appareils d'utilisateurs finaux sur le marché qui... supposent simplement/64ou encore le routage de sous-réseaux plus étroits que /64 pourrait être inefficace sur certains routeurs parce que l'implémenteur du routeur a optimisé le cas de /64 ou de routes plus larges afin d'économiser la mémoire de la table de routage.

Pourquoi est-il recommandé d'utiliser /127 pour les liaisons point à point

Pour le cas spécifique des liaisons point à point, /127 est recommandé à la place de /64 afin d'éviter une vulnérabilité où les paquets adressés à l'une des quadrillions d'adresses inutilisées du sous-réseau provoquent des demandes de sollicitation de voisins indésirables et des entrées de table qui pourraient noyer un routeur. Ces paquets mal adressés peuvent être malveillants ou accidentels. Mais même si vous configurez réellement une liaison point à point comme suit . /127, certaines personnes préconisent d'attribuer une adresse entière /64 de toute façon, juste pour être cohérent.

Pourquoi des machines virtuelles seraient-elles provisionnées avec des sous-réseaux plus étroits que /64?

Je ne sais pas spécifiquement pourquoi les machines virtuelles seraient provisionnées avec des sous-réseaux plus étroits que... /64. Peut-être parce qu'un fournisseur d'hébergement a supposé qu'un serveur était comme un utilisateur final et ne nécessitait qu'un seul /64 . /64 sans prévoir que le serveur serait en fait une collection de machines virtuelles nécessitant une topologie de routage interne ? Cela pourrait aussi être fait simplement pour rendre le plan d'adressage plus facile à mémoriser : l'hôte obtient PREFIX::/64puis chaque VM obtient PREFIX:0:NNNN::/96 où NNNN est unique à la VM et la VM peut allouer PREFIX:0:NNNN:XXXX:YYYY comme elle l'entend.

Puis-je mapper directement des sous-réseaux IPv4 vers des sous-réseaux IPv6 ? Par exemple, est-ce qu'un réseau IPv4 /24 correspond-il directement à un sous-réseau IPv6 /56 ou à /120?

Du point de vue du fonctionnement de l'adressage et du routage, la longueur du préfixe a la même signification dans IPv6 et IPv4. À ce niveau, vous pouvez faire une analogie telle que "un IPv4 /16 utilise la moitié des bits pour l'adresse de réseau et la moitié des bits pour l'adresse d'hôte, c'est comme un /64en IPv6". Mais cette comparaison n'est pas vraiment appropriée. De solides conventions sont apparues dans IPv6, qui font que les divisions des tailles de réseau ressemblent un peu plus à l'ancien monde des réseaux à classes dans IPv4. Pour être sûr, IPv6 n'a pas réintroduit l'adressage par classe dans lequel les quelques bits les plus significatifs de l'adresse forcent un masque de réseau particulier, mais ce que IPv6 fait a est certain [defacto/conventionally] des tailles de réseau standard :

  • /64: la taille de base d'un seul sous-réseau : LAN, WAN, bloc d'adresses pour les hôtes virtuels web, etc.... Les sous-réseaux "normaux" ne sont jamais censés être plus étroits (préfixe plus long) que... /64 . Aucun sous-réseau ne devrait jamais être plus large (préfixe plus court) que /64puisqu'un /64d'adresses d'hôtes est bien plus que ce dont on peut imaginer avoir besoin.
  • /56: un bloc de 256 sous-réseaux de base. Même si les politiques actuelles permettent aux FAI de distribuer des blocs aussi grands que /48 à chaque utilisateur final et de considérer que l'utilisation de leur adresse est bien justifiée, certains ISP peuvent (et le font déjà) choisir d'allouer un bloc de /56 sous-réseaux de base./56aux clients grand public comme un compromis entre l'allocation de nombreux sous-réseaux pour eux et l'économie d'adresses.
  • /48: un bloc de 65536 sous-réseaux de base et la taille recommandée du bloc que chaque site final de client ISP devrait recevoir.
  • /32
  • /32: la taille par défaut du bloc que la plupart des ISP recevront chaque fois qu'ils demanderont plus d'adresses à un registre d'adresses régional.

À l'intérieur des réseaux de fournisseurs de services et d'entreprises, on peut voir beaucoup plus de longueurs de préfixes que ces quatre-là. Lorsque l'on examine les tables de routage des routeurs à l'intérieur de ces réseaux, IPv4 et IPv6 ont beaucoup en commun, y compris la plupart des méthodes de routage : les routes pour les préfixes plus longs ont priorité sur les routes de couverture pour les préfixes plus courts, il est donc possible d'agréger (raccourcir) et d'approfondir (allonger) les routes. Comme en IPv4, les routes peuvent être agrégées ou résumées en blocs plus grands avec des préfixes plus courts afin de minimiser la taille des tables de routage.

Une autre question de mise en correspondance entre IPv4 et IPv6 serait de savoir comment harmoniser les affectations IPv4 et IPv6 sur les machines à double pile afin que les plans d'adressage puissent être facilement compris. Loin de là, il existe certainement des conventions d'usage courant pour ce faire : intégrer le "numéro de sous-réseau" IPv4 dans une partie du préfixe IPv6, soit avec BCD (par ex. 10.0.234.0/24 devient 2001:db8:abcd:234::/64) ou binaire (10.0.234.0/24 devient 2001:db8:abcd:ea::/64).

Mes interfaces ont plusieurs adresses IPv6. Le sous-réseau doit-il être le même pour chacune d'entre elles ?

Absolument pas ! Les hôtes IPv6 sont censés pouvoir être multihommes en ayant plusieurs adresses IP simultanément qui proviennent de différents sous-réseaux, tout comme IPv4. S'ils sont autoconfigurés avec SLAAC alors les différents sous-réseaux pourraient provenir d'annonces de routeurs différents.

Pourquoi est-ce que je vois parfois un % plutôt qu'un / dans une adresse IPv6 et qu'est-ce que cela signifie ?

Vous ne verriez pas l'un au lieu de l'autre. Ils ont des significations différentes. Une barre oblique dénote un préfixe (sous-réseau), c'est-à-dire un bloc d'adresses qui commencent toutes par le même... n bits. Une adresse sans barre oblique est une adresse d'hôte. Vous pouvez considérer qu'une telle adresse a une adresse implicite de type /128 implicite à la fin, ce qui signifie que les 128 bits sont spécifiés.

Le signe pour cent accompagne une adresse lien-local adresse. En IPv6, chaque interface possède une adresse locale de liaison en plus de toutes les autres adresses IP qu'elle peut avoir. Mais le truc, c'est que les adresses locales de liaison sont toujours, sans exception, dans la plage de fréquences fe80::/10 dans le bloc fe80::/10 . Mais si nous essayons de parler à un pair en utilisant une adresse locale de lien et que l'hôte local possède plusieurs interfaces, comment savoir quelle interface utiliser pour parler à ce pair ? Normalement, la table de routage nous indique quelle interface utiliser pour un préfixe particulier, mais ici, elle nous dira que...fe80::/10est atteignable via toutes les interfaces.

La réponse est que nous devons lui dire quelle interface utiliser en utilisant la syntaxe address%interface. Par exemple, fe80::1234:5678:8765:4321%eth0.

Est-ce que je gaspille trop de sous-réseaux ? N'allons-nous pas en manquer à nouveau ?

Personne ne le sait. Qui peut dire l'avenir ?

Mais considérez ceci. Dans l'IPv6, le nombre d'adresses disponibles sous-réseaux est le carré du nombre de sous-réseaux disponibles adresses individuelles dans l'IPv4. C'est vraiment beaucoup. Non, je veux dire vraiment beaucoup !

Mais quand même : nous distribuons automatiquement un /32 à tous les ISP qui en font la demande, nous distribuons une carte /48 à chaque client ISP. Peut-être que nous exagérons et que nous allons dilapider l'IPv6 après tout. Mais il y a une disposition pour cela : Seul un huitième de l'espace IPv6 a été mis à disposition pour être utilisé jusqu'à présent : 2000::/3. L'idée est que si nous faisons un horrible gâchis du premier huitième et que nous devons revoir radicalement les politiques d'allocation libérales, nous avons le droit d'essayer 7 fois de plus avant d'avoir des problèmes.

Et enfin : L'IPv6 n'a pas à durer éternellement. Peut-être aura-t-il une durée de vie plus longue qu'IPv4 (une durée de vie impressionnante déjà et ce n'est pas fini) mais comme toute technologie, il cessera un jour de compter. Il nous suffit de tenir jusque-là.

Solution 2 :

IPv6 est de 128 bits, alors pourquoi /64 est le plus petit sous-réseau recommandé pour les hôtes ?

Tout d'abord, un peu d'art ASCII des RFC pour établir la terminologie :

|         n bits         |   m bits  |       128-n-m bits         |
+------------------------+-----------+----------------------------+
| global routing prefix  | subnet ID |       interface ID         |
+------------------------+-----------+----------------------------+

Le préfixe de routage global identifie généralement le réseau global auquel l'adresse appartient. Il est généralement composé de 48 bits. L'ID d'interface identifie une interface réseau donnée. Il est généralement de 64 bits. Les 16 bits restants constituent votre ID de sous-réseau.

OK, avec l'explication :

Selon la RFC 4291 -- IP Version 6 Addressing Architecture :

Toutes les adresses Global Unicast autres que celles qui commencent par le binaire 000 ont un champ ID d'interface de 64 bits.

Et RFC 5375 -- Considérations sur l'attribution d'adresses de monodiffusion IPv6 :

Une partie importante d'un plan d'adressage IPv4 consiste à décider de la longueur
de chaque préfixe de sous-réseau. Contrairement à l'IPv4, l'architecture d'adressage de l'IPv6
architecture [RFC4291] spécifie que tous les sous-réseaux utilisant des Globally
des adresses uniques et des ULA ont toujours la même longueur de préfixe de 64
bits.

Donc, en ignorant l'exception du préfixe 000, l'ID de l'interface est de toujours 64 bits exactement. C'est une autre façon de dire que tous les réseaux de diffusion locaux sont toujours à 64 bits. Si vous avez une adresse IPv6, son masque de réseau est toujours 64 bits. Jamais plus, jamais moins. Si on vous a attribué un espace d'adressage plus grand que cela (masque de réseau plus court que 64 bits), alors on suppose que vous allez partitionner cet espace d'adressage en réseaux de 64 bits et gérer le routage vous-même. Si on vous a attribué un réseau plus petit que cela (masque de réseau plus long), alors quelqu'un s'est planté.

Alors, pourquoi 64 bits exactement ?

En règle générale, les adresses IPv6 sont configurées automatiquement plutôt qu'attribuées. Le routeur annoncera quel préfixe réseau est disponible (préfixe de routage + ID de sous-réseau : premiers 64-bits), et votre ordinateur remplira les derniers 64-bits en utilisant son propre identifiant unique. Comment votre ordinateur trouve-t-il un identifiant unique ? Il y a plusieurs possibilités, la plus courante étant d'utiliser l'adresse MAC de votre interface. Vous divisez le MAC en deux (moitié fournisseur / moitié série), vous retournez le bit universel-local du côté fournisseur et vous les réunissez avec FF:FE au milieu. Donc 00:30:48:01:23:45 devient 0230:48ff:fe01:2345. Maintenant, mettez le préfixe réseau 64 bits annoncé sur le côté gauche de cela, et vous avez votre adresse IP.

Le point important ici est que si vous suivez ce schéma, les collisions d'adresses IP ne se produiront pas. Puisque chaque appareil sur un réseau de diffusion donné A BESOIN d'une adresse MAC unique pour fonctionner, lier l'ID de l'interface à l'adresse MAC signifie que tant que le trafic de diffusion n'entre pas en collision, alors les adresses IPv6 non plus. L'utilisation de 64 bits (au lieu de seulement les 48 dédiés aux adresses MAC) donne un peu de marge de manœuvre au-delà des seules adresses fournies par ce schéma (il y en a plusieurs autres).

Y a-t-il d'autres situations dans lesquelles j'utiliserais un sous-réseau plus petit que /64 ?

Nope. Non, sauf si vous êtes cassé. Eh bien, vous pouvez avoir une justification basée sur les exigences locales pour mettre en place un routage manuel avec votre réseau existant. Mais gardez à l'esprit qu'en faisant cela, vous faites probablement un gâchis :

De RFC 5375 -- Considérations sur l'attribution d'adresses de monodiffusion IPv6 :

L'utilisation d'une longueur de préfixe de sous-réseau autre qu'un /64 brisera plusieurs
fonctionnalités de l'IPv6, y compris Neighbor Discovery (ND), Secure Neighbor
Discovery (SEND) [RFC3971], les extensions de confidentialité [RFC4941], des parties de
IPv6 mobile [RFC4866], Multidiffusion indépendante du protocole - Mode épars
(PIM-SM) avec Embedded-RP [RFC3956]et le multihébergement sur site par IPv6
Intermédiation (SHIM6) [SHIM6], entre autres. Un certain nombre d'autres
fonctionnalités actuellement en cours de développement, ou proposées, reposent également sur des
préfixes de sous-réseau /64.

....

Cependant, certains administrateurs de réseaux ont utilisé des préfixes plus longs que
/64 pour les liens reliant les routeurs, généralement juste deux routeurs sur une liaison
liaison point à point. Sur les liaisons où toutes les adresses sont attribuées
par configuration manuelle, et où tous les noeuds de la liaison sont des routeurs (et non des
routeurs (et non des hôtes finaux) connus du réseau, les administrateurs n'ont pas besoin de
n'ont pas besoin des fonctions IPv6 qui reposent sur les préfixes de sous-réseau /64.
fonctionner. L'utilisation de préfixes de sous-réseau plus longs que /64 n'est pas recommandée en
utilisation générale, et les utiliser pour des liens contenant des hôtes finaux serait une
une mauvaise idée, car il est difficile de prévoir quelles fonctionnalités IPv6 les hôtes
les hôtes utiliseront dans le futur.

Pourquoi est-il recommandé d'utiliser /127 pour les liaisons point à point entre routeurs, et pourquoi était-il déconseillé dans le passé ?

Vous pouvez vouloir gloser sur le RFC 3627 -- Utilisation de la longueur de préfixe /127 entre routeurs considérée comme nuisible. Puis jetez un coup d'œil au RFC 6164 -- Utilisation de préfixes IPv6 de 127 bits sur les liens inter-routeurs, qui lui fait suite.

L'objection à l'utilisation de préfixes plus longs que /64 sur les routeurs a à voir avec l'auto-configuration des routeurs échouant potentiellement dans de rares circonstances. L'objection à l'utilisation de préfixes plus courts que /127 (2-hôtes seulement) a à voir avec un certain nombre de problèmes potentiels de déni de service liés aux paquets envoyés aux adresses non routées. Puisque les problèmes de déni de service dans le monde réel sont pires que les échecs théoriques d'auto-configuration, /127 est le nouveau favori.

Dois-je modifier les liens de routeurs existants pour utiliser /127 ?

Si vous contrôlez un routeur IPv6, je vous recommande de lire les deux RFC (ils sont courts !) et de décider par vous-même.

Puis-je mapper directement des sous-réseaux IPv4 vers des sous-réseaux IPv6 ?

Par exemple, un IPv4 /24 correspond-il directement à un IPv6 /56 ou /120 ?

En fait... oui. Vous vous souvenez du préfixe 000 que nous avons intentionnellement ignoré plus tôt ? Eh bien, voici une utilisation pour lui :

Sur les systèmes à double pile (ceux avec les piles IPv4 et IPv6 actives), vous pouvez représenter IPv4 en utilisant la mécanique IPv6. Ils l'appellent "Les adresses IPv4 mappées en IPv6". Le modèle est tout-zéro, suivi de FFFFsuivi de l'adresse IPv4 sur 32 bits.

Donc, 192.168.100.21 devient ::FFFF:C0A8:6415 -- ou plus simplement : ::FFFF:192.168.100.21. Comme le bit de droite représente une adresse IPv4, on l'écrit traditionnellement sous la forme décimale en pointillés.

Comme il s'agit d'une adresse IPv4 réelle, elle utilise toujours les en-têtes IPv4, etc., ce qui signifie qu'une pile IPv4 doit être présente, que les routes IPv4 doivent être définies, etc. L'avantage est que vous pouvez représenter les adresses IPv4 et IPv6 en utilisant une structure d'adresse unique, ce qui peut simplifier le développement d'applications. Cela ne fait pas une once de différence en ce qui concerne le réseau.


Solution 3 :

  1. IPv6 est de 128 bits, alors pourquoi /64 est le plus petit sous-réseau recommandé pour les hôtes ?

    Cette taille de préfixe était à l'origine recommandée dans un ancien RFC - il y a depuis eu une révision de cette politique où la question des attaques par découverte de voisin est prise en compte et où l'utilisation d'un /126 est une atténuation valide - néanmoins, si vous mettez en place des liens PtP dans le seul but de router du trafic, une option alternative est simplement de s'en tenir à un /64 et de pare-feu ce sous-réseau. Mieux encore, allouez-vous un pool dans lequel vous puiserez des sous-réseaux /64, et placez l'ensemble de ce pool sur une liste noire de destinations à votre périphérie (et partout ailleurs d'où pourrait provenir l'hostilité).

  2. Pourquoi est-il recommandé d'utiliser /127 pour les liens point à point entre les routeurs, et pourquoi était-il déconseillé dans le passé ? Dois-je modifier les liens existants entre routeurs pour utiliser /127 ?

    /127 n'est pas recommandé entre routeurs et ne l'a jamais été - l'adresse Anycast tous routeurs est l'adresse tous zéros du sous-réseau ; cela signifie que /127 n'est techniquement valable qu'entre deux machines où l'une d'entre elles est... PAS agissant comme un routeur. Le /126 est bien sûr correct.

    Dans tous les cas cependant, je ne conseillerais pas de commuter les liens /64 existants, à moins que votre équipement ne soit vulnérable à une attaque par inondation du cache de Neighbour Discovery - et même dans ce cas, déterminez d'abord si vous allez réellement utiliser ce /64 pour la connectivité Internet, si la réponse est non, il suffit de le pare-feu.

  3. Pourquoi les machines virtuelles seraient-elles provisionnées avec des sous-réseaux plus petits que /64 ?

    Cela casse le SLAAC et les RA, à moins que vous ne le fassiez vraiment, vraiment savez ce que vous faites, il est peu probable que vous ayez une bonne raison de faire cela - peut-être que votre amont ne vous a donné qu'un seul /64 mais si c'est le cas, vous devez retourner les voir et leur en demander plus, s'ils veulent vous facturer pour cela, commencez à chercher un nouveau fournisseur et aussi peut-être à leur envoyer quelques e-mails hargneux liant aux RFC pertinents.

  4. Y a-t-il d'autres situations dans lesquelles je devrais utiliser un sous-réseau plus petit que /64 ?

    Honnêtement ? probablement pas. Si je pense à une raison légitime pour laquelle un plus petit sous-réseau est préférable à des fins autres que la prévention des attaques NDP, je modifierai cette section.

    A l'inverse, il y a sont situations où vous PAS souhaitez utiliser des sous-réseaux plus petits que /64 - en particulier partout où vous exécutez un environnement avec des équipements de routage matériel (pensez aux routeurs et aux commutateurs L3 de marque) - certains seront incapables de faire du routage matériel de préfixes plus longs que /64, d'autres doivent diviser l'opération en plusieurs comparaisons, ainsi, vous devriez au moins faire de votre mieux pour vous assurer que /64 est le préfixe le plus long dans votre backbone (OSPF/ISIS/EIGRP/etc.).

  5. Puis-je mapper directement des sous-réseaux IPv4 vers des sous-réseaux IPv6 ? Par exemple, un IPv4 /24 correspond-il directement à un IPv6 /56 ou /120 ?

    Officiellement, ::ffff:x.x.x.x est le format pour une adresse IPv4 mappée en IPv6 - il existe bien sûr aussi un certain nombre de mécanismes de transition, à savoir 6to4 et son parent, 6rd, qui mappent une adresse IPv4 en une adresse IPv6 globale dans le but de fournir un accès IPv6 sur IPv4 en créant un préfixe IPv6 qui est dérivé de l'adresse IPv4 sur laquelle il est reporté.

  6. Mes interfaces ont plusieurs adresses IPv6. Le sous-réseau doit-il être le même pour chacune d'entre elles ?

    Non, l'utilisation d'adresses et de tailles de sous-réseau variables sur une même interface ne devrait pas poser de problème. Si c'est le cas, l'implémentation est boguée. Bien sûr, une meilleure question est pourquoi feriez-vous cela ?

  7. Pourquoi je vois parfois un % plutôt qu'un / dans une adresse IPv6 et qu'est-ce que cela signifie ?

    Il s'agit d'un délimiteur, généralement appliqué aux adresses locales de liaison (fe80::/12) - étant donné que la même adresse locale de liaison peut légitimement exister sur plusieurs interfaces, le délimiteur % est utilisé pour permettre de spécifier quelle interface est visée. Linux rend généralement obligatoire la spécification de l'interface lors d'opérations impliquant une adresse locale de lien. Windows Vista/2008 et au-delà sont un peu plus intelligents et ne se plaignent pas à moins qu'un link-local ne soit pas unique.

  8. Est-ce que je gaspille trop de sous-réseaux ? N'allons-nous pas en manquer à nouveau ?

    Non. C'est un cheval mort qui a été fouetté. WAAAAAAAAAY trop de fois - l'Internet IPv6 mondial actuel est 2000::/3 - il existe plusieurs autres préfixes que l'IANA pourrait commencer à utiliser si, d'une manière ou d'une autre, tous les RIR de la planète parvenaient à épuiser leurs stocks d'adresses. Donc, non, nous ne manquerons pas d'espace, et même si c'est le cas, il suffit d'un simple coup de stylo pour faire apparaître un nouveau préfixe, pas d'un changement technique. La seule chose que cette question met vraiment en évidence est l'incapacité de l'esprit humain à comprendre pleinement à quel point l'espace d'adressage est ridiculement vaste.

  9. De quelles autres façons majeures le sous-réseau IPv6 est-il différent du sous-réseau IPv4 ?

    Autre que de ne pas se soucier de l'espace que vous utilisez, rappelez-vous qu'il n'y a pas d'adresse de diffusion et que l'adresse "subnet-zero" est maintenant l'adresse all-routers anycast (qui est fondamentalement une adresse qui existe implicitement sur tous les nœuds configurés pour transmettre des paquets IPv6) - cela a un effet secondaire utile de vous permettre d'utiliser cette adresse all zero comme route par défaut dans un réseau (non, cela ne causera pas de duplication de paquets, c'est ANYcast, pas MULTIcast) - gardez cependant à l'esprit que l'hôte peut basculer entre les routeurs toutes les quelques secondes, donc ce n'est pas approprié pour une configuration de pare-feu stateful si le suivi des connexions n'est pas synchronisé entre eux.

    En dehors de cela, l'autre différence majeure est que IPv6 se soucie des adresses dupliquées et des voisins morts (NUD) - ainsi, contrairement à IPv4, un hôte refusera d'utiliser une adresse s'il peut déterminer qu'un autre nœud sur le lien l'utilise déjà. NUD, d'autre part, est utile si vous configurez des routes statiques - vous pouvez réellement définir plusieurs routes distinctes vers un préfixe avec des métriques variables et elles fonctionneront réellement, contrairement à IPv4 où la route de métrique la plus faible sera utilisée, que le next-hop soit mort ou vivant (bien que cela puisse ne pas être vrai pour certaines implémentations IPv4 qui utilisent ARP pour valider les routes, comme Cisco et d'autres grands fournisseurs de routeurs).

    TLDR ; IPv6 détecte les adresses dupliquées & les voisins inaccessibles. L'adresse all-zero est all-routers anycast et la diffusion n'existe pas, all-ones est une adresse régulière.


Solution 4 :

Pour ceux qui se demandent d'où vient dans les spécifications l'exigence /64 pour SLAAC, voici quelques références supplémentaires :

De l'autoconfiguration d'adresse sans état IPv6 (RFC 4862) :

Si la somme de la longueur du préfixe et de la longueur de l'identificateur d'interface
n'est pas égale à 128 bits, l'option d'information de préfixe DOIT être
ignorée. [...]

Il incombe à l'administrateur du système de s'assurer
que les longueurs des préfixes contenus dans les annonces de routeur
sont conformes à la longueur des identificateurs d'interface pour ce type de liaison.
type de liaison.

Et de l'architecture d'adressage IP version 6 (RFC 4291) :

Pour toutes les adresses de monodiffusion, sauf celles qui commencent par la valeur binaire
binaire 000, les ID d'interface doivent avoir une longueur de 64 bits et être
construits dans le format EUI-64 modifié.

Par conséquent, comme l'ID d'interface doit avoir une longueur de 64 bits et que la somme de la longueur du préfixe et de la longueur de l'ID d'interface doit être de 128, la seule longueur possible du préfixe lors de l'utilisation de SLAAC est de 64 bits.


Solution 5 :

IPv6 est de 128 bits, alors pourquoi /64 est le plus petit sous-réseau recommandé pour les hôtes ?

Parce que les promoteurs d'IPv6 aimaient l'idée d'une auto-configuration sans état.

Si vous allez pour toute autre taille de sous-réseau, alors la configuration automatique sans état se cassera. Quelques autres choses mineures peuvent casser aussi, prenez une lecture de rfc7421 pour plus de détails.

Personnellement, je pense que l'autoconfiguration sans état est une idée stupide de toute façon. Elle conduit à des adresses illisibles et ne vous donne fondamentalement aucun contrôle sur l'adressage au-delà de l'assignation du bloc au sous-réseau.

Bien sûr, le truc avec les conventions est que si vous les suivez et que les choses tournent mal, vous pouvez pointer du doigt la convention, si vous refusez de les suivre et que les choses tournent mal, ce sera votre faute.

Pourquoi est-il recommandé d'utiliser /127 pour les liaisons point à point entre routeurs,

L'utilisation de sous-réseaux avec un petit nombre d'adresses disponibles évite les attaques par épuisement de la découverte des voisins.

Bien sûr, ce raisonnement ne s'applique pas seulement aux liaisons point à point. Je suppose qu'il était politiquement possible de faire cette reccomandation pour les liens point à point entre routeurs mais pas pour les autres liens.

Pourquoi les machines virtuelles seraient-elles provisionnées avec moins d'une valeur /64 d'adresses ?

Nous devons faire une distinction ici. Il y a deux façons pour un hébergeur d'attribuer des adresses à une machine (qu'elle soit physique ou virtuelle).

Ils peuvent leur attribuer des adresses "on-link" où la machine est censée répondre aux demandes de découverte de voisinage. Certains hébergeurs ont choisi de donner à chaque machine un /64 qui présente des avantages en matière de mobilité des adresses, d'autres donnent à chaque VLAN un /64 puis donnent aux machines individuelles des sous-blocs de celui-ci, ce qui utilise moins d'adresses et peut signifier que le trafic local reste local plutôt que de remonter vers un routeur.

Ou ils peuvent traiter la machine comme un routeur et lui attribuer un bloc routé. Dans ce cas, il aurait besoin de suffisamment d'adresses pour adresser tous ses sous-réseaux internes. Si vous suivez la convention "tous les sous-réseaux doivent être /64", cela signifierait lui allouer au moins un /64 et éventuellement plus. Cela a du sens pour les machines qui ont des "réseaux à l'intérieur de la machine", par exemple un hôte de conteneur.

Puis-je mapper directement des sous-réseaux IPv4 vers des sous-réseaux IPv6 ? Par exemple, est-ce qu'un IPv4 /24 correspond directement à un IPv6 /56 ou /120 ?

Tout mappage de ce type relève de la politique locale.

Mes interfaces ont plusieurs adresses IPv6. Le sous-réseau doit-il être le même pour toutes ces adresses ?

Non

Pourquoi est-ce que je vois parfois un % plutôt qu'un / dans une adresse IPv6 et qu'est-ce que cela signifie ?

Le % est un identifiant d'interface. Il est utilisé en conjonction avec les adresses locales de liaison. Il est nécessaire car une machine peut avoir plusieurs interfaces et les réseaux connectés à ces interfaces peuvent avoir des adresses link-local qui se chevauchent.

Est-ce que je gaspille trop de sous-réseaux ? N'allons-nous pas en manquer à nouveau ?

Je ne m'inquiéterais pas trop à ce sujet.

Même avec la décision étrange des concepteurs d'IPv6 d'utiliser un espace d'adressage de 128 bits et d'en jeter près de la moitié sur l'auto-configuration sans état, IPv6 a encore massivement plus d'espace qu'IPv4.

Et s'il y avait une crise, il ne faudrait guère plus qu'un trait de plume pour revenir sur cette étrange décision.

Une préoccupation beaucoup plus grande avec l'évolutivité d'IPv6 est la taille de la table de routage. Le NAT IPv6 est fortement déconseillé. Faire fonctionner un grand réseau sur des adresses allouées par le fournisseur conduit à un risque important de verrouillage du fournisseur.

Je pense donc qu'à mesure que la pénétration d'IPv6 dans les réseaux d'entreprise s'accélérera, nous verrons une explosion des demandes d'espace IPv6 indépendant du fournisseur.

Commentaires et évaluations du poste

Si vous avez une perplexité ou un moyen de clarifier notre essai, vous pouvez écrire une illustration et nous l'observerons avec plaisir.



Utilisez notre moteur de recherche

Ricerca
Generic filters

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.