Groupe de travail Réseau	David D. Clark	
Request for Comments : 932	MIT, LCS	
Traduction Claude Brière de L’Isle	janvier 1985	

Schéma d’adressage de sous-réseau

Statut de ce mémoire
La présente RFC suggère une proposition de protocole pour la communauté ARPA-Internet, et demande une discussion et des suggestions pour son amélioration. La distribution de ce mémoire n’est soumise à aucune restriction.

Introduction

Plusieurs RFC récentes ont exposé le besoin d’une structure de "sous-réseau" au sein du schéma d’adressage de l’Internet, et ont proposé des stratégies d’adressage et d’acheminement de "sous-réseau". En particulier, Jeff Mogul et sa RFC-917, "Sous-réseaux Internet", décrit un schéma d’adressage dans lequel un nombre variable des bits de tête de la portion hôte de l’adresse sont utilisés pour identifier le sous-réseau. L’inconvénient de ce schéma est qu’il est nécessaire de modifier la mise en œuvre d’hôte afin de la mettre en œuvre. Bien que la modification soit simple, il est nécessaire de la répercuter dans toutes les mises en œuvre, y compris celles qui sont déjà dans le champ. (Voir dans la RFC-917 de Mogul les diverses approches de ce problème, telles que d’utiliser le protocole de résolution d’adresse.)

La présente RFC propose un autre schéma d’adressage pour les sous-réseaux qui, dans la plupart des cas, n’exige pas de modification au logiciel d’hôte, quel qu’il soit. Les inconvénients de ce schéma sont que le nombre total de sous-réseaux dans tout réseau est limité, et que cette modification est requise pour tous les routeurs.

Proposition

Dans ce schéma, les sous-réseaux individuels d’un réseau sont numérotés en utilisant les adresses de classe C. Comme, avec ce schéma, il est nécessaire qu’une adresse de classe C utilisée pour numéroter un sous-réseau puisse être distinguée d’une adresse de classe C utilisée pour numéroter un réseau isolé, on va réserver pour les sous-réseaux la moitié supérieure de l’espace d’adresses de classe C  ; en d’autres termes, toutes les adresses de classe C pour lesquelles le bit de poids fort est établi. Lorsque un réseau va être organisé en une série de sous-réseaux, un bloc de ces adresses réservées de classe C sera alloué à ce réseau, précisément un bloc de 256 adresses ayant les deux premiers octets identiques. Donc, les divers sous-réseaux d’un réseau sont distingués par le troisième octet de l’adresse Internet. (Ce schéma d’adressage implique comme limitation qu’il ne peut y avoir que 256 sous-réseaux dans un réseau. Si plus de réseaux sont requis, deux blocs devront être alloués, et le total sera vu comme deux réseaux séparés.)

Le routeur et les hôtes rattachés à ce réseau organisé en sous-réseaux utilisent ces adresses comme des adresses de classe C ordinaires. Donc, aucune modification n’est requise au logiciel d’aucun hôte pour les hôtes rattachés à un sous-réseau. Pour les routeurs qui ne sont pas directement rattachés au réseau organisé en sous-réseaux, c’est une charge inacceptable que de mémoriser séparément les informations d’acheminement pour chacun des sous-réseaux. Le but de tout schéma d’adressage de sous-réseau est de fournir une stratégie par laquelle les routeurs distants puissent mémoriser les informations d’acheminement pour le réseau tout entier. Dans ce schéma, comme les deux premiers octets de l’adresse sont les mêmes pour tous les sous-réseaux du réseau, ces deux premiers octets peuvent être mémorisés et manipulés comme si ils étaient une seule adresse de classe B par un routeur distant. Ces adresses, qui peuvent être utilisées soit comme une adresse de classe B, soit comme une adresse de classe C, selon le cas approprié, ont été appelées de façon informelle des adresses de classe "B 1/2".

Dans le détail, un routeur va traiter les adresses de classe C comme suit, selon le schéma. D’abord, vérifier pour voir si le bit de poids fort de l’adresse est à un. Si non, l’adresse est une adresse de classe C ordinaire et devrait être traitée comme telle.
Si le bit est établi, cette adresse de classe C identifie un sous-réseau d’un réseau. Vérifier si ce routeur est rattaché à ce réseau. Si il l'est, traiter l’adresse comme une classe C ordinaire.
Si le routeur n’est pas rattaché au réseau qui contient le sous-réseau, éliminer le troisième octet de l’adresse de classe C et traiter les deux octets résultants comme une adresse de classe B. 
Noter qu’il ne peut pas y avoir de conflit entre ces schémas de deux octets et une adresse de classe B ordinaire, parce que les premiers bits de cette adresse ne sont pas ceux d’une adresse de classe B valide, mais plutôt ceux d’une adresse de classe C.
Optimisations

Si un réseau croît au delà de 256 sous-réseaux, il sera nécessaire de concevoir deux blocs distincts d’adresses spéciales de classe C, et de voir cet agrégat comme deux réseaux séparés. Cependant, les routeurs de ces deux réseaux peuvent, par une conception appropriée, faire fonctionner un algorithme d’acheminement conjoint qui maintienne un chemin optimal entre les deux moitiés, même si elles sont connectées par un certain nombre de routeurs.

Bien sûr, il est en général possible aux routeurs qui ne sont pas directement rattachés à un réseau organisé en sous-réseaux d’être spécialement programmés pour se souvenir des adresses individuelles de classe C, si ce faisant cela améliore notablement l’efficacité du réseau dans certains cas particuliers.

Il a été dit plus haut qu’aucune modification au logiciel d’hôte n’était nécessaire pour mettre en œuvre ce schéma.  Il y a un cas dans lequel une modification mineure peut se révéler utile. Considérons le cas d’un hôte distant, non immédiatement rattaché à ce réseau organisé en sous-réseaux. Cet hôte, même à une certaine distance, va néanmoins entretenir des entrées d’acheminement séparées pour chacune des adresses de sous-réseau distinctes dont il a connaissance. Pour la plupart des hôtes, mémoriser ces informations pour chaque sous-réseau ne représente pas un problème, parce que la plupart des mises en œuvre n’essayent pas de se souvenir des informations d’acheminement sur chaque adresse réseau de l’Internet, mais seulement des adresses qui présentent un intérêt actuel. Si cependant, pour une raison quelconque, l’hôte a un tableau qui tente de se souvenir des informations d’acheminement sur toutes les adresses Internet dont il a eu connaissance, cet hôte devrait alors être programmé à comprendre l’algorithme des routeurs pour réduire les adresses des sous-réseaux distants de trois octets à deux. Cependant, ce n’est pas une stratégie de mise en œuvre recommandée pour les hôtes que d’entretenir ce haut degré d’informations d’acheminement, de sorte  que dans des circonstances normales, l’hôte n’est pas concerné par la conversion de C en B.

Inconvénients

L’inconvénient majeur de ce schéma est que toute mise en œuvre qui mémorise de grands tableaux d’adresses doit être changée pour connaître la nouvelle règle de conversion "B 1/2". Plus important, tous les routeurs doivent être programmés pour connaître cette règle. Donc, l’adoption de ce schéma va exiger un changement programmé obligatoire de toutes les mises en œuvre de routeur. La difficulté de l’organisation d’un tel changement n’est pas connue.

Autres variations

Il est possible d’imaginer d’autres variations sur les schémas de réduction d’adresses. Par exemple, 256 adresses de classe  B pourraient être rassemblées et réduites en une adresse de classe A. Cependant, comme les trois premiers bits de la classe A résultante seraient obligés, cela ne permettrait l’existence que de 32 de ces réseaux organisés en sous-réseaux. Une solution de remplacement plus intéressante serait de permettre la réduction des adresses de classe C en une seule adresse de classe A. La meilleure façon d’organiser les sous champs de cette adresse n’est pas entièrement évidente, mais cette combinaison permettrait que quelques très grands réseaux de sous-réseaux soient assemblés au sein de l’Internet.

La variante la plus intéressante des adresses "B 1/2" est d’augmenter le nombre de bits utilisés pour identifier le sous-réseau en prenant des bits de l’adresse de classe C résultante. Par exemple, si 10 bits sont utilisés pour identifier le sous-réseau (fournissant 1024 sous-réseaux par réseau) lorsque le routeur forme l’adresse équivalente, il ne va pas seulement laisser tomber le dernier octet mais aussi masquer les deux derniers bits de l’adresse B. Comme les trois premiers bits de l’adresse sont obligés, cela va laisser 13 bits pour le numéro de réseau, soit 8192 réseaux en sous-réseaux possibles. Ce nombre n’est pas aussi grand qu’on pourrait le souhaiter de sorte qu’il est clair que le choix du champ de sous-réseau est un compromis de grande importance.

Danny Cohen a suggéré que ce schéma devrait être généralisé de façon à ce que les frontières entre les champs de réseau, sous-réseau et hôte soit arbitrairement mobiles. Le problème d’une telle généralisation est de déterminer comment le routeur va entretenir le tableau ou algorithme qui permet d’effectuer la réduction de l’adresse. La présente RFC propose que, à court terme, une seule forme d’adresses "B 1/2" soit mise en œuvre comme sous-réseau Internet standard.