Modèles (bits) possibles d'un masque de réseau


13

Étant donné un préfixe Y, il est facile de calculer le masque de réseau correspondant: Mettez Yfois un bit défini, puis remplissez "à droite" avec des zéros jusqu'à ce que l'un ait 32 bits (IPv4) au total.

Exemple:

Préfixe 24, donc masque de réseau 11111111 11111111 11111111 00000000ou 255.255.255.0.

Peut-il y avoir un masque de réseau avec un modèle de bits différent , tel que

  • 00000000 11111111 00000000 11111111( 0.255.0.255)
  • 00000000 11111111 11111111 11111111( 0.255.255.255)
  • 11111111 11111111 11111111 00000001( 255.255.255.1)

La spécification d'un "préfixe" ne fonctionnerait évidemment pas pour ces cas.

(Je suis presque sûr que la réponse est "NON", mais j'écris du code réseau, et cela doit fonctionner dans tous les cas possibles, donc je veux être sûr à 101%.)

Réponses:


11

La RFC950 indique que

Étant donné que les bits qui identifient le sous-réseau sont spécifiés par un masque de bits, ils n'ont pas besoin d'être adjacents dans l'adresse. Cependant, nous recommandons que les bits de sous-réseau soient contigus et situés comme les bits les plus significatifs de l'adresse locale.

La plupart des appareils suivent cette recommandation en ce qui concerne son application. Je n'ai réussi à utiliser des masques de sous-réseau non contigus que sur des réseaux Linux uniquement en 2012; les périphériques Windows, OSX, Cisco et HP que j'ai testés ne l'ont pas géré / autorisé.


2
Je crois que cela a été remplacé par la RFC1519 , qui nécessite explicitement un masque contigu.
user1686

@grawity Cela pourrait être le cas. Trouvé "La seule contrainte en suspens est que le masque doit être contigu." en parlant de CIDR, mais n'a pas lu suffisamment pour obtenir le contexte.
Filip Haglund

6

Si vous utilisez des préfixes et des réseaux, la réponse est non, les bits doivent être contigus. Il y a des cas où un masque générique (inverse du masque) peut être utilisé, par exemple des ACL Cisco, et ceux-ci peuvent être n'importe quel modèle binaire. Par exemple, vous pouvez bloquer le trafic de tous les hôtes numérotés impairs sur un réseau. Cela semble encore enseigné, mais je ne l'ai pas vu utilisé très souvent (bien que je l'ai vu) dans le monde réel.


4

Non. Un masque de réseau est une série continue de masques.

(Les autres sont des modèles "génériques".)


1
Ce n'est pas vrai. Il y a 30 ans, il y en avait beaucoup. Il peut y en avoir encore en fonctionnement.
MAP

2
J'en doute vraiment. Aucun matériel de routage moderne ne le permettra. Et les routeurs des années 80 auront de nombreux problèmes avec la façon dont IP fonctionne aujourd'hui. (J'y suis allé. Je vous ai dit de ne pas utiliser le sous-réseau entièrement nul - même à la fin des années 90, c'était un problème) Les deux seuls appareils que j'ai encore de cette époque n'accepteront pas un masque de réseau non contigu. (PDU WTI, toujours là parce qu'ils ont des ports 10bT. Rien ne leur parle, surtout Internet .)
Ricky Beam

3

Lorsque TCP / IP est sorti pour la première fois et s'est généralisé, il y avait en fait beaucoup de sous-réseaux avec des masques non contigus. Mais à mesure que les adresses se raréfiaient, le surcoût vers le reste du réseau pour permettre le routage global de ces préfixes plutôt que de forcer tout à n'être basé que sur des préfixes; était trop et le réseau mondial est devenu uniquement compatible avec les préfixes. Il peut en fait toujours exister des réseaux hérités qui utilisent des masques non contigus en interne (de nombreux IGP le supportent toujours). Mais, lorsqu'un tel réseau se connecte à Internet, il a un seul préfixe qui les couvre tous, qu'il annonce dans BGP. Et, bien sûr, EGP (le prédécesseur de BGP) ne supportait que l'adressage Classful.

Je connais plusieurs joueurs avec des réseaux de classe A d'origine qui utilisaient des masques de réseau non contigus en interne pour une raison ou une autre. Je ne sais tout simplement pas si l'un d'entre eux le fait encore. Beaucoup d'entre eux ne sortent même plus. L'ARPAnet avait un masque de réseau interne de 255.0.0.255 (IIRC).


2
ABSURDITÉ. Cela n'a rien à voir avec le CIDR, ni les classes, ni l'agrégation. Un masque de réseau a TOUJOURS été contigu.
Ricky Beam

6
Voir RFC 950 , par exemple. La page 15 donne un exemple avec un masque de réseau de 255.255.255.88.
Ross Presser

4
Je pense que la page 12 de la RFC 1519 blesse réellement votre cas puisque la seule phrase pertinente est, " La seule contrainte en suspens est que le masque doit être laissé contigu ." (Je souligne) Étant donné que le masque est implicite / supposé par la classe dans le routage par classe, et que seulement trois masques contigus ont été utilisés, et que la RFC sur CIDR spécifie les masques contigus, il semble que votre réponse soit fausse. La publication de la liste FreeBSD est un mystère pour moi.
Todd Wilcox

3
La RFC de remplacement est 4632: tools.ietf.org/html/rfc4632 Notez que la notation de barre oblique est discutée et utilisée, et le terme " longueur de préfixe " apparaît plusieurs fois, ni l'un ni l'autre n'aurait aucun sens si des masques non contigus étaient prise en charge. Il ressort clairement de la RFC 950 qu'il pouvait y avoir des systèmes à l'origine qui utilisaient des masques non contigus, mais le faire n'aidera pas le demandeur à comprendre comment TCP / IP fonctionne actuellement et pourrait être très déroutant.
Todd Wilcox

3
Étant donné que les bits qui identifient le sous-réseau sont spécifiés par un masque de bits, ils n'ont pas besoin d'être adjacents dans l'adresse. Cependant, nous recommandons que les bits de sous-réseau soient contigus et situés comme les bits les plus significatifs de l'adresse locale . Bien que cela ne porte pas le libellé DEVRAIT / DOIT utilisé aujourd'hui, c'est exactement la façon dont tout le monde a construit des capacités de sous-réseau modernes. Plus de 3 décennies de réseautage, je n'ai jamais rencontré de technologie qui permet des sous-réseaux non contigus.
Ricky Beam
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.