cours internet

cours internet
[ Add comment ] [ No comments ]
# Posted on Friday, 12 May 2006 at 1:48 PM

Introduction à la notion d'ordinateur

Introduction à la notion d'ordinateur
Introduction à la notion d'ordinateur
La compréhension du vocabulaire informatique représente généralement la principale difficulté à laquelle se heurtent les acheteurs potentiels d'ordinateurs personnels. En effet, contrairement à un téléviseur, pour lequel les critères de choix sont assez limités, le choix d'un ordinateur revient à choisir chaque élément qui le compose et à en connaître les caractéristiques. Ce dossier n'a pas pour but de donner un sens à toutes les abréviations informatiques (dans la mesure où de nombreux constructeurs ont leurs propres terminologies) mais il cherche à mieux faire comprendre les principaux composants d'un ordinateur, d'en expliquer le fonctionnement et d'en donner les principales caractéristiques.
Présentation de l'ordinateur
Un ordinateur est un ensemble de circuits électroniques permettant de manipuler des données sous forme binaire, c'est-à-dire sous forme de bits. Le mot "ordinateur" provient de la firme IBM. Celle-ci demanda en 1954 à un professeur de lettres à Paris de trouver un mot pour désigner ce que l'on appelait vulgairement un "calculateur" (traduction littérale de computer en anglais).
Types d'ordinateurs
Toute machine capable de manipuler des informations binaires peut être qualifiée d'ordinateur. Toutefois, la plupart des personnes pensent à un ordinateur personnel (PC, abréviation de personal computer), le type d'ordinateur le plus présent sur le marché, mais il existe beaucoup d'autres types d'ordinateurs (la liste suivante est non exhaustive) :
• Amiga
• Atari
• Apple Macintosh
• stations Alpha
• stations SUN
• stations Silicon Graphics
Nous ne nous intéresserons par la suite qu'aux ordinateurs de type PC, appelés aussi ordinateurs compatible IBM, car IBM est la firme qui a créé les premiers ordinateurs de ce type et a longtemps (jusqu'en 1987) été le leader dans ce domaine, à un tel point qu'elle contrôlait les standards, copiés par les autres fabricants.
Constitution de l'ordinateur
Un ordinateur est un ensemble de composants électroniques modulaires, c'est-à-dire des composants pouvant être remplacés par d'autres composants ayant éventuellement des caractéristiques différentes. Ces composants sont architecturés autour d'une carte principale comportant quelques circuits intégrés et beaucoup de composants électroniques tels que condensateurs, résistances, etc. Tous ces composants sont soudés sur la carte et sont reliés par les connexions du circuit imprimé et par un grand nombre de connecteurs : cette carte est appelée carte-mère.
La carte-mère est logée dans un boîtier, comportant des emplacements pour les périphériques de stockage sur la face avant, ainsi que des boutons permettant de contrôler la mise sous tension de l'ordinateur et un certain nombre de voyants permettant de vérifier l'état de marche de l'appareil et l'activité des disques durs. Sur la face arrière le boîtier présente des ouvertures en vis-à-vis des cartes d'extension et des interfaces d'entrée-sortie connectées sur la carte-mère.
Enfin le boîtier héberge un bloc d'alimentation électrique (appelé communément alimentation), chargé de fournir un courant électrique stable et continu à l'ensemble des éléments constitutifs de l'ordinateur. L'alimentation sert donc à convertir le courant alternatif du réseau électrique (220 ou 110 Volts) en un courant continu de 5 volts pour les composants de l'ordinateur et de 12 volts pour certains périphériques internes (disques, lecteurs de CD-ROM, ...). Le bloc d'alimentation est caractérisé par sa puissance, qui conditionne le nombre de périphériques que l'ordinateur est capable d'alimenter. La puissance du bloc d'alimentation est généralement comprise entre 200 et 350 Watts.
On appelle unité centrale l'ensemble composé du boîtier et des éléments qu'il contient. L'unité centrale doit être connectée à un ensemble de périphériques externes. Un ordinateur est généralement composé au minimum d'une unité centrale, d'un écran (moniteur), d'un clavier et d'une souris, mais il est possible de connecter une grande diversité de périphériques externes sur les interfaces d'entrée-sortie (ports séries, port parallèle, port USB, port firewire, ...) :
• imprimante,
• scanner,
• périphérique de stockage externe,
• appareil photo ou caméra numérique,
• assistant personnel (PDA),
• ...



Présentation de la carte-mère
L'élément constitutif principal de l'ordinateur est la carte-mère, c'est sur cette carte que sont connectés ou soudés l'ensemble des éléments essentiels de l'ordinateur.
La carte-mère contient des éléments embarqués (intégrés à la carte) :
• Le chipset, circuit qui contrôle la majorité des ressources (interface de bus du processeur, mémoire cache et mémoire vive, slots d'extension,...)
• L'horloge et la pile du CMOS
• Le BIOS
• Le bus système
Il existe plusieurs façons de caractériser une carte-mère:
• son facteur d'encombrement
• son chipset
• son type de support de processeur
Facteur d'encombrement d'une carte-mère
On entend généralement par facteur d'encombrement, la géométrie et les dimensions de la carte-mère. Afin de fournir des cartes-mères pouvant s'adapter dans différents boîtiers de marques différentes, des standards ont été mis au point:
• AT baby
• AT full format
• ATX
• LPX
• NLX
Le chipset
Le chipset (traduisez jeu de composants) est un circuit électronique chargé de coordonner les échanges de données entre les divers composants de l'ordinateur (processeur, mémoire; ...). Dans la mesure où le chipset est intégré à la carte-mère, il est important de choisir une carte-mère embarquant un chipset récent afin de garantir à votre PC un maximum de chance de pouvoir évoluer.
Certains chipsets intègrent parfois une puce graphique ou une puce audio (généralement sur les PC bas de gamme), ce qui signifie qu'il n'est pas nécessaire d'installer une carte graphique ou une carte son. Toutefois, étant donné la piètre qualité de ces composants intégrés, il est généralement conseillé de les désactiver (lorsque cela est possible) dans le setup du BIOS et d'installer des cartes d'extension dans les emplacements prévus à cet effet !
L'horloge et la pile du CMOS
L'horloge temps réel (parfois notée RTC, ou real time clock) est un circuit chargé de la synchronisation des signaux du système. Elle est constituée d'un cristal qui, en vibrant, donne des impulsions (appelés tops d'horloge) afin de cadencer le système. On appelle fréquence de l'horloge (exprimée en Mhz) le nombre de vibrations du cristal par seconde, c'est-à-dire le nombre de tops d'horloge émis par seconde. Plus la fréquence est élevée, plus il y a de tops d'horloge et donc plus le système pourra traiter d'informations.
Lorsque vous mettez votre ordinateur hors tension, l'alimentation cesse de fournir du courant à la carte-mère. Or, lorsque vous le rebranchez, votre système d'exploitation est toujours à l'heure bien que l'unité centrale n'était plus alimentée pendant un certain temps.
En réalité même lorsque votre PC est débranché ou qu'une panne d'électricité intervient, un circuit électronique appelé CMOS (Complementary Metal-Oxyde Semiconductor, parfois appelé BIOS CMOS) conserve certaines informations sur le système, y compris l'heure et la date système. Le CMOS est continuellement alimenté par une pile (au format pile bouton) située également sur la carte-mère. Ainsi, les informations sur le matériel installé dans l'ordinateur (comme par exemple le nombre de pistes, de secteurs de chaque disque dur) sont conservées dans le CMOS. Dans la mesure où le CMOS est une mémoire lente, certains systèmes recopient parfois le contenu du CMOS dans la RAM (mémoire rapide), le terme de memory shadow est utilisé pour décrire ce processus de copie en mémoire vive.
Le "complémentary metal-oxyde semiconductor", est une technologie de fabrication de transistors, précédée de bien d'autres, comme la TTL ("Transistor-transistor-logique"), ou la TTLS (TTL Schottky) (plus rapide), ...
Avant le CMOS, il y avait également le NMOS (canal négatif) et le PMOS (canal positif). Le CMOS, qui a permis de mettre des canaux complémentaires sur une même puce, a ainsi été une grande avancée. Par rapport à la TTL ou TTLS, le CMOS est beaucoup moins rapide, mais a le grand avantage de consommer infiniment moins d'énergie, d'où son emploi dans les horloges d'ordinateurs, qui sont alimentées par des piles. Ainsi le terme de CMOS est parfois utilisé abusivement pour désigner l'horloge des ordinateurs
Ainsi, si vous constatez que votre PC a tendance à oublier l'heure, ou que l'horloge prend du retard, pensez à en changer la pile !
Le BIOS
Le BIOS (Basic Input/Output System) est le programme basique servant d'interface entre le système d'exploitation et la carte-mère. Le BIOS est stocké dans une ROM (mémoire morte, c'est-à-dire une mémoire en lecture seule), ainsi il utilise les données contenues dans le CMOS pour connaître la configuration matérielle du système.
Il est possible de "configurer" le BIOS grâce à une interface (nommée BIOS setup, traduisez configuration du BIOS) accessible au démarrage de l'ordinateur par simple pression d'une touche (généralement la touche Suppr. En réalité le setup du BIOS sert uniquement d'interface pour la configuration et les données sont stockées dans le CMOS. Pour plus d'informations n'hésitez pas à vous reporter au manuel de votre carte-mère).
Le processeur
Le processeur (aussi appelé microprocesseur) est le cerveau de l'ordinateur, car il exécute les instructions des programmes grâce à un jeu d'instructions. Le processeur est caractérisé par sa fréquence, c'est-à-dire la cadence à laquelle il exécute les instructions. Ainsi, de manière grossière, un processeur cadencé à 600 Mhz effectuera 600 millions d'opérations par seconde.
La carte-mère possède un emplacement (parfois plusieurs dans le cas de cartes-mères multi-processeurs) pour accueillir le processeur. On distingue deux catégories de supports :
• slot : il s'agit d'un connecteur rectangulaire dans lequel on enfiche le processeur verticalement
• socket : il s'agit d'un connecteur carré possédant un grand nombre de petits connecteurs sur lequel le processeur vient directement s'enficher
Dans la mesure où le processeur rayonne thermiquement, il est nécessaire d'en dissiper la chaleur pour éviter que ses circuits ne fondent. C'est la raison pour laquelle il est généralement surmonté d'un dissipateur thermique, un matériau ayant une bonne conduction thermique, chargé d'augmenter la surface d'échange thermique du microprocesseur. Le dissipateur thermique comporte une base en contact avec le processeur et des ailettes afin d'augmenter la surface d'échange thermique. Un ventilateur accompagne généralement le dissipateur pour améliorer la circulation de l'air autour du dissipateur et améliorer l'échange de chaleur. C'est le ventilateur du boîtier qui est chargé d'extraire l'air chaud du boîtier et permettre à l'air frais provenant de l'extérieur d'y entrer.
La mémoire-cache
La mémoire-cache permet au processeur de se "rappeler" les opérations déjà effectuées auparavant. En effet, elle stocke les opérations effectuées par le processeur, pour qu'il ne perde pas de temps à recalculer des choses qu'il a déjà faites précédemment. La taille de la mémoire-cache est généralement de l'ordre de 512 Ko. Sur les ordinateurs récents ce type de mémoire est directement intégré dans le processeur.
La mémoire vive
La mémoire vive (RAM pour Random Access Memory) permet de stocker des informations pendant tout le temps de fonctionnement de l'ordinateur, son contenu est par contre détruit dès lors que l'ordinateur est éteint ou redémarré, contrairement à une mémoire de masse comme le disque-dur qui garde les informations même lorsqu'il est hors-tension.
Pourquoi alors se servir de mémoire alors que les disques durs sont moins chers?
Car elle est extrêmement rapide comparé aux périphériques de stockage de type disque dur (de l'ordre de quelques dizaines de nanosecondes: environ 70 pour la DRAM, 60 pour la RAM EDO, et 10 pour la SDRAM voire même 6ns sur les SDRam DDR). La mémoire vive se présente sous la forme de barettes qui se branchent sur les connecteurs DIMM (pour les plus anciennes SIMM)
Les connecteurs d'extension
Les connecteurs d'extension (en anglais slots) sont des receptacles dans lesquels il est possible d'enficher des cartes d'extension, c'est-à-dire des cartes offrant de nouvelles fonctionnalités ou de meilleures performances à l'ordinateur. Il existe plusieurs sortes de connecteurs :
• connecteur ISA (Industry Standard Architecture) : permettant de connecter des cartes ISA, les plus lentes fonctionnant en 16-bit
• connecteur VLB (Vesa Local Bus): Bus servant autrefois à connecter des cartes graphiques
• connecteur PCI (Peripheral Component InterConnect) : permettant de connecter des cartes PCI, beaucoup plus rapides que les cartes ISA et fonctionnant en 32-bit
• connecteur AGP (Accelerated Graphic Port): un connecteur rapide pour carte graphique.
• connecteur AMR (Audio Modem Riser): ce type de connecteur permet de brancher des mini-cartes sur les PC en étant équipés

Le bus système
On appelle bus, le canal permettant de transférer des données entre deux éléments. Le bus système est le canal (pistes de la carte-mère) reliant le microprocesseur à la mémoire vive du système. Un bus est caractérisé par sa largeur, c'est-à-dire le nombre de bits pouvant être simultanément transmis, et par sa fréquence, c'est-à-dire la cadence à laquelle les paquets de bits peuvent être transmis. Des caractéristiques du bus système dépendent donc les caractéristiques générales du système. La fréquence du microprocesseur est égale à la fréquence du bus système multiplié par un facteur. Ainsi un PC tournant à 400 Mhz sera plus rapide s'il est basé sur un bus système cadencé à 133 Mhz (3 x 133 Mhz) que si la carte-mère a un bus dont la fréquence est 100 Mhz (la fréquence du processeur étant alors égale à 4 x 100 Mhz).


Qu'est-ce qu'un processeur?
le processeur
Le processeur (CPU: Central Processing Unit) est un circuit électronique cadencée au rythme d'une horloge interne, c'est-à-dire un élément qui envoie des impulsions (que l'on appelle top). A chaque top d'horloge les éléments de l'ordinateur accomplissent une action. La vitesse de cette horloge (le nombre de battements par secondes) s'exprime en Mégahertz, ainsi un ordinateur à 200Mhz a donc une horloge envoyant 200,000,000 de battements par seconde (un cristal de quartz soumis à un courant électrique permet d'envoyer des impulsions à une fréquence précise).
A chaque top d'horloge (pour les instructions simples) le processeur :
• lit l'instruction à exécuter en mémoire
• effectue l'instruction
• passe à l'instruction suivante
Le processeur est en fait constitué:
• d'une unité de commande qui lit les instructions et les décode
• d'une unité de traitement (UAL - unité arithmétique et logique) qui exécute les instructions.
Lorsque tous les éléments d'un processeur sont regroupés sur une même puce, on parle alors de microprocesseur.
A quoi ressemble une instruction?
Les instructions (opération que le processeur doit accomplir) sont stockées dans la mémoire principale. Une instruction est composée de deux champs:
• le code opération: c'est l'action que le processeur doit accomplir
• le code opérande: c'est les paramètres de l'action. Le code opérande dépend de l'opération, cela peut être une donnée ou bien une adresse d'un emplacement mémoire
code opération champ opérande
Une instruction peut être codée sur un nombre d'octets variant de 1 à 4 suivant le type de données.
les registres
Lorsque le processeur traite des données (lorsqu'il exécute des instructions) le processeur stocke temporairement les données dans de petites mémoires de 8, 16 ou 32Ko (qui ont l'avantage d'être très rapides) que l'on appelle registres. Suivant le type de processeur le nombre de registres peut varier entre une dizaine et plusieurs centaines.
Les registres les plus importants sont:
• le registre accumulateur: il permet de stocker les résultats des opérations arithmétiques et logiques
• le registre d'état: il permet de stocker les indicateurs
• le registre instruction: il contient l'instruction en cours de traitement
• le compteur ordinal: il contient l'adresse de la prochaine instruction à traiter
• le registre tampon: il permet de stocker temporairement une donnée provenant de la mémoire
les signaux de commande
Les signaux de commande sont des signaux électriques qui permettent au processeur de communiquer avec le reste du système (le signal Read/Write - lecture/écriture - permet notamment de signaler à la mémoire qu'il désire lire ou écrire une information.

Qu'est-ce qu'un microprocesseur ?
Le premier microprocesseur (Intel 4004) a été inventé en 1971. Depuis, la puissance des microprocesseurs augmente exponentiellement. Quels sont donc ces petits morceaux de silicium qui dirigent nos ordinateurs?

Le processeur (CPU) est le cerveau de l'ordinateur, c'est lui qui coordonne le reste des éléments, il se charge des calculs, bref il exécute les instructions qui ont été programmées. Toutes ces opérations permettent de manipuler des informations numériques, c'est-à-dire des informations codées sous forme binaire. Pour réaliser ces traitements, les microprocesseurs utilisent de "petits interrupteurs" utilisant l'effet transistor découvert en 1947 par John Barden et Walter Brittan qui reçurent le prix Nobel l'année suivante pour cette découverte. Il existe plusieurs millions de ces transistors sur un seul processeur !

Les éléments principaux d'un microprocesseur sont:
• Une horloge qui rythme le processeur. Entre deux tops d'horloge le processeur effectue une action. Une instruction nécessite une ou plusieurs actions du processeur. Ainsi plus l'horloge a une fréquence élevée, plus le processeur effectue d'instructions par seconde (l'unité retenue pour caractériser le nombre d'instructions traitées par unité de temps est généralement le MIPS, Millions d'instruction par seconde).
Par exemple un ordinateur ayant une fréquence de 100 Mhz effectue 100 000 000 d'instructions par seconde
• Une unité de gestion des bus qui gère les flux d'informations entrant et sortant
• Une unité d'instruction qui lit les données arrivant, les décode puis les envoie à l'unité d'exécution.
• Une unité d'exécution qui accomplit les tâches que lui a donné l'unité d'instruction.

Le processeur travaille en fait grâce à un nombre très limité de fonctions (ET logique, Ou logique, addition ...), celles-ci sont directement câblées sur les circuits électroniques. Il est impossible de mettre toutes les instructions sur un processeur car celui-ci est limité par la taille de la gravure, ainsi pour mettre plus d'instructions il faudrait un processeur ayant une très grande surface, or le processeur est constitué de silicium et le silicium coûte cher, d'autre part il chauffe beaucoup. Le processeur traite donc les informations compliquées à l'aide d'instructions simples.
Le parallelisme
Le parallèlisme consiste à exécuter simultanément sur des processeurs différents des instructions relatives à un même programme. Cela se traduit par le découpage d'un programme en plusieurs processus qui seront traités par des processeurs différents dans le but de gagner en temps d'exécution. Cela nécessite toutefois une communication entre les différents processus. C'est le même principe de fonctionnement que dans une entreprise: le travail est divisé en petits processus traités par des services différents et qui ne servent à rien si la communication entre les services ne fonctionne pas (ce qui est généralement le cas dans les entreprises...).
Le pipelining
Le pipelining est un principe simple à comprendre. Il permet de mettre à disposition du microprocesseur les instructions qu'il va devoir effectuer. Les instructions font la "file" (d'où le nom de "pipeline") dans la mémoire cache. Ainsi, pendant que le microprocesseur exécute une instruction, la suivante est mise à sa disposition.
Le pipelining permet donc en quelque sorte d'empiéter la fin d'une instruction sur le début de la suivante. En effet, une instruction se déroule selon trois phases :
• Récupération de la donnée (notée F pour Fetch) : recherche en mémoire de l'instruction, mise à jour du compteur ordinal
• Décodage (noté D pour Decode) : obtention des calculs à faire, des éléments de données concernés
• Exécution (notée E pour Execute) : calcul à proprement dit
Dans une strucrure non pipelinée, il faut 9 temps pour faire 3 instructions :
F1-D1-E1-F2-D2-E2-F3-D3-E3 (dans l'ordre chronologique)
Dans une structure pipelinée idéale, on réalise plusieurs phases en même temps, ceci étant possible en mettant les résultats des différentes phases dans des registres tampon :
F1 - D1+F2 - E1+D2+F3 - E2+D3 - E3 (dans l'ordre chronologique)
Il suffit ainsi de 5 temps uniquement. Ceci n'est cependant pas toujours possible, pour des questions de dépendance d'une instruction vis-à-vis du résultat de la précédente...
l'architecture CISC
L'architecture CISC (Complex Instruction Set Computer, ce qui signifie "ordinateur avec jeu d'instructions complexes") est utilisée par tous les processeurs de type x86, c'est-à-dire les processeurs fabriqués par Intel, AMD, Cyrix, ...
Les processeurs basés sur l'architecture CISC peuvent traiter des instructions complexes, qui sont directement câblées sur leurs circuits électroniques, c'est-à-dire que certaines instructions difficiles à créer à partir des instructions de base sont directement imprimées sur le silicium de la puce afin de gagner en rapidité d'exécution sur ces commandes.
L'inconvénient de ce type d'architecture provient justement du fait que des fonctions supplémentaires sont imprimées sur le silicium, d'où un coût élevé.
D'autre part, les instructions sont de longueurs variables et peuvent parfois prendre plus d'un cycle d'horloge ce qui les rend lentes à l'exécution étant donné qu'un processeur basé sur l'architecture CISC ne peut traîter qu'une instruction à la fois!
l'architecture RISC
Contrairement à l'architecture CISC, un processeur utilisant la technologie RISC (Reduced Instruction Set Computer, dont la traduction est "ordinateur à jeu d'instructions réduit") n'a pas de fonctions supplémentaires câblées. Cela impose donc des programmes ayant des instructions simples interprétables par le processeur. Cela se traduit par une programmation plus difficile et un compilateur plus puissant. Cependant vous vous dîtes qu'il peut exister des instructions qui ne peuvent pas être décrites à partir des instructions simples...
En fait ces instructions sont tellement peu nombreuses qu'il est possible de les câbler directement sur le circuit imprimé sans alourdir de manière dramatique leur fabrication.
L'avantage d'une telle architecture est bien évidemment le coût réduit au niveau de la fabrication des processeurs l'utilisant. De plus, les instructions, étant simples, sont exécutées en un cycle d'horloge, ce qui rend l'exécution des programmes plus rapides qu'avec des processeurs basés sur une architecture CISC.
De plus, de tels processeurs sont capables de traîter plusieurs instructions simultanément en les traitant en parallèle.
CISC ou RISC
A comparer les spécificités des deux types d'architecture on pourrait conclure que les processeurs basé sur une architecture de type RISC sont les plus utilisés...
Cela n'est malheureusement pas le cas... En effet les ordinateurs construits autour d'une architecture RISC nécessitent une quantité de mémoire plus importante que les ordinateurs de type CISC




Rôle de la mémoire vive (RAM)
La mémoire vive, généralement appelée RAM (Random Access Memory, traduisez mémoire à accès aléatoire), est la mémoire principale du système, c'est-à-dire qu'il s'agit d'un espace permettant de stocker de manière temporaire des données lors de l'exécution d'un programme.
En effet le stockage de données dans la mémoire vive est temporaire, contrairement au stockage de données sur une mémoire de masse telle que le disque dur (mémoire avec laquelle les novices la confondent généralement), car elle permet uniquement de stocker des données tant qu'elle est alimentée électriquement. Ainsi, à chaque fois que l'ordinateur est éteint, toutes les données présentes en mémoire sont irrémédiablement effacées.
La mémoire morte, appelée ROM pour Read Only Memory (traduisez mémoire en lecture seule) est un type de mémoire permettant de conserver les informations qui y sont contenues même lorsque la mémoire n'est plus alimentée électriquement. A la base ce type de mémoire ne peut être accédée qu'en lecture. Toutefois il est désormais possible d'enregistrer des informations dans certaines mémoires de type ROM.
Fonctionnement de la mémoire vive
La mémoire vive est constituée de centaines de milliers de petits condensateurs emmagasinant des charges. Lorsqu'il est chargé, l'état logique du condensateur est égal à 1, dans le cas contraire il est à 0, ce qui signifie que chaque condensateur représente un bit de la mémoire.
Etant donné que les condensateurs se déchargent, il faut constamment les recharger (le terme exact est rafraîchir) à un intervalle de temps régulier appelé cycle de rafraîchissement (d'une durée d'environ 15 nanosecondes (ns) pour une mémoire DRAM).
Chaque condensateur est couplé à un transistor (de type MOS) permettant de "récupérer" ou de modifier l'état du condensateur. Ces transistors sont rangés sous forme de tableau (matrice), c'est-à-dire que l'on accède à une "case mémoire" (aussi appelée point mémoire) par une ligne et une colonne.

Chaque point mémoire est donc caractérisé par une adresse, correspondant à un numéro de ligne et un numéro de colonne. Or cet accès n'est pas instantané et s'effectue pendant un délai appelé temps de latence. Par conséquent l'accès à une donnée en mémoire dure un temps égal au temps de cycle auquel il faut ajouter le temps de latence.
Ainsi, pour une mémoire de type DRAM, le temps d'accès est de 60 nanosecondes (35ns de délai de cycle et 25ns de temps de latence). Sur un ordinateur, le temps de cycle correspond à l'inverse de la fréquence de l'horloge, par exemple pour un ordinateur cadencé à 200Mhz, le temps de cycle est de 5ns (1/(200.106)).
Par conséquent un ordinateur ayant une fréquence élevée et utilisant des mémoires dont le temps d'accès est beaucoup plus long que le temps de cycle du processeur doit effectuer des cycles d'attente (en anglais wait state) pour accèder à la mémoire. Dans le cas d'un ordinateur cadencé à 200Mhz utilisant des mémoires de types DRAM (dont le temps d'accès est de 60ns), il y a 11 cycles d'attente pour un cycle de transfert. Les performances de l'ordinateur sont d'autant diminuées qu'il y a de cycles d'attentes, il est donc conseillé d'utiliser des mémoires plus rapides.
La correction d'erreurs
Certaines mémoires possèdent des mécanismes permettant de pallier les erreurs afin de garantir l'intégrité des données qu'elles contiennent. Ce type de mémoire est généralement utilisé sur des systèmes travaillant sur des données critiques, c'est la raison pour laquelle on trouve ce type de mémoire dans les serveurs.
Bit de parité
Les barrettes avec bit de parité permettent de s'assurer que les données contenues dans la mémoire sont bien celles que l'on désire. Pour ce faire, un des bits de chaque octet stocké en mémoire sert à conserver la somme des bits de données.
Le bit de parité vaut 0 lorsque la somme des bits de données est impaire et 1 dans le cas contraire.
De cette façon les barrettes avec bit de parité permettent de vérifier l'intégrité des données mais ne permettent pas de corriger les erreurs. De plus pour 8 Mo de mémoire, seulement 7 serviront à stocker des données, dans la mesure où le dernier mégaoctet conservera les bits de parité.
Barrettes ECC
Les barrettes de mémoire ECC (Error Correction Coding) sont des mémoires possédant plusieurs bits dédiés à la correction d'erreur (on les appelle ainsi bits de contrôle). Ces barrettes, utilisées principalement dans les serveurs, permettent de détecter les erreurs et de les corriger.
Types de barrettes de mémoire vive
Il existe de nombreux types de mémoires vives. Celles-ci se présentent toutes sous la forme de barrettes de mémoire enfichables sur la carte-mère.
Les premières mémoires se présentaient sous la forme de puces appelées DIP (Dual Inline Package). Désormais les mémoires se trouvent généralement sous la forme de barrettes, c'est-à-dire des cartes enfichables dans des connecteurs prévus à cet effet. On distingue deux types de barrettes de RAM :
• les barrettes au format SIMM (Single Inline Memory Module) : il s'agit de circuits imprimés dont une des faces possède des puces de mémoire. Il existe deux types de barrettes SIMM, selon le nombre de connecteurs :
o Les barrettes SIMM à 30 connecteurs (dont les dimensions sont 89x13mm) sont des mémoires 8 bits qui équipaient les premières générations de PC (286, 386).

o Les barrettes SIMM à 72 connecteurs (dont les dimensions sont 108x25mm) sont des mémoires capables de gérer 32 bits de données simultanés. Ces mémoires équipent des PC allant du 386DX aux premiers pentiums. Sur ces derniers le processeur travaille avec un bus de données d'une largeur de 64 bits, c'est la raison pour laquelle il faut absolument équiper ces ordinateurs de deux barettes SIMM. Il n'est pas possible d'installer des barettes 30 broches sur des emplacements à 72 connecteurs dans la mesure où un détrompeur (encoche au centre des connecteurs) en empêche l'enfichage.

• les barrettes au format DIMM (Dual Inline Memory Module) sont des mémoires 64 bits, ce qui explique pourquoi il n'est pas nécessaire de les apparier. Les barrettes DIMM possèdent des puces de mémoire de part et d'autre du circuit imprimé et ont également 84 connecteurs de chaque côté, ce qui les dote d'un total de 168 broches. En plus de leurs dimensions plus grandes que les barrettes SIMM (130x25mm) ces barrettes possèdent un second détrompeur pour éviter la confusion.

A noter que les connecteurs DIMM ont été améliorés afin de permettre une insertion facile des barettes grâce à des leviers situés de part et d'autre du connecteur.
DRAM PM
La DRAM (Dynamic RAM, RAM dynamique) est le type de mémoire le plus répandu au début du millénaire. Il s'agit d'une mémoire dont les transistors sont rangés dans une matrice selon des lignes et des colonnes. Un transistor, couplé à un condensateur donne l'information d'un bit. 1 octet comprenant 8 bits, une barrette de mémoire DRAM de 256 Mo contiendra donc 256000000*8 bits soit 2 048 000 000 (256000000*8) transistors. Ce sont des mémoires dont le temps d'accès est de 60ns.
D'autre part, les accès mémoire se font généralement sur des données rangées consécutivement en mémoire. Ainsi le mode d'accès en rafale (burst mode) permet d'accèder aux trois données consécutives à la première sans temps de latence supplémentaire. Dans ce mode en rafales, le temps d'accès à la première donnée est égale au temps de cycle auquel il faut ajouter le temps de latence, et le temps d'accès aux trois autres données est uniquement égal aux temps de cycle, on note donc sous la forme X-Y-Y-Y les quatre temps d'accès, par exemple la notation 5-3-3-3 indique une mémoire pour laquelle 5 cycles d'horloge sont nécessaires pour accéder à la première donnée et 3 pour les suivantes.
DRAM FPM
Pour accélérer les accès à la DRAM, il existe une technique, appelée pagination consistant à accèder à des données situées sur une même colonne en modifiant uniquement l'adresse de la ligne, ce qui permet d'éviter la répétition du numéro de colonne entre la lecture de chacune des lignes. On parle alors de DRAM FPM (Fast Page Mode). La FPM permet d'obtenir des temps d'accès de l'ordre de 70 à 80 nanosecondes pour une fréquence de fonctionnement pouvant aller de 25 à 33 Mhz.
DRAM EDO
La DRAM EDO (Extended Data Out, soit Sortie des données amélioré parfois également appelé "hyper-page") est apparue en 1995. La technique utilisée avec ce type de mémoire consiste à adresser la colonne suivante pendant la lecture des données d'une colonne. Cela crée un chevauchement des accès permettant de gagner du temps sur chaque cycle. Le temps d'accès à la mémoire EDO est donc d'environ 50 à 60 nanosecondes pour une fréquence de fonctionnement allant de 33 à 66 Mhz.
Ainsi, la RAM EDO, lorsqu'elle est utilisée en mode rafale permet d'obtenir des cycles de la forme 5-2-2-2, soit un gain de 4 cycles sur l'accès à 4 données. Dans la mesure où la mémoire EDO n'acceptait pas des fréquences supérieures à 66 Mhz, elle a disparu au bénéfice de la SDRAM.
SDRAM
La SDRAM (Synchronous DRAM, traduisez RAM synchrone), apparue en 1997, permet une lecture des données synchronisée avec le bus de la carte-mère, contrairement aux mémoires EDO et FPM (qualifiées d'asynchrones) possèdant leur propre horloge. La SDRAM permet donc de s'affranchir des temps d'attente dûs à la synchronisation avec la carte-mère. Celle-ci permet d'obtenir un cycle en mode rafale de la forme 5-1-1-1, c'est-à-dire un gain de 3 cycles par rapport à la RAM EDO. De cette façon la SDRAM est capable de fonctionner avec une cadence allant jusqu'à 150Mhz, lui permettant d'obtenir des temps d'accès d'environ 10ns.
DDR-SDRAM
La DDR-SDRAM (Double Data Rate SDRAM) est une mémoire basée sur la technologie SDRAM, permettant de doubler le taux de transfert de la SDRAM à fréquence égale.
DR-SDRAM (Rambus DRAM)
La DR-SDRAM (Direct Rambus DRAM ou encore RDRAM) est un type de mémoire permettant de transférer les données sur un bus de 16 bits de largeur à une cadence de 800Mhz, ce qui lui confère une bande passante de 1,6 Go/s. Comme la SDRAM, ce type de mémoire est synchronisé avec l'horloge du bus pour améliorer les échanges de données. En contrepartie, la mémoire RAMBUS est une technologie propriétaire, ce qui signifie que toute entreprise désirant construire des barrettes de RAM selon cette technologie doit reverser des droits (royalties) aux sociétés RAMBUS et Intel.




La mémoire morte (ROM)
Il existe un type de mémoire permettant de stocker des données en l'absence de courant électrique, il s'agit de la ROM (Read Only Memory, dont la traduction est mémoire en lecture seule) appelée parfois mémoire non volatile, car elle ne s'efface pas lors de la mise hors tension du système.
Ce type de mémoire permet notamment de conserver les données nécessaires au démarrage de l'ordinateur. En effet, ces informations ne peuvent être stockées sur le disque dur étant donné que les paramètres du disque (essentiels à son initialisation) font partie de ces données vitales à l'amorçage.
Différentes mémoires de type ROM contiennent des données essentielles au démarrage, c'est-à-dire:
• Le BIOS est un programme permettant de piloter les interfaces d'entrée-sortie principales du système, d'où le nom de BIOS ROM donné parfois à la puce de mémoire morte de la carte-mère qui l'héberge.
• Le chargeur d'amorce: un programme permettant de charger le système d'exploitation en mémoire (vive) et de le lancer. Celui-ci cherche généralement le système d'exploitation sur le lecteur de disquette, puis sur le disque dur, ce qui permet de pouvoir lancer le système d'exploitation à partir d'une disquette système en cas de dysfonctionnement du système installé sur le disque dur.
• Le Setup CMOS, c'est l'écran disponible à l'allumage de l'ordinateur permettant de modifier les paramètres du système (souvent appelé BIOS à tort...).
• Le Power-On Self Test (POST), programme exécuté automatiquement à l'amorçage du système permettant de faire un test du système (c'est pour cela par exemple que vous voyez le système "compter" la RAM au démarrage).
Etant donné que les ROM sont beaucoup plus lentes que les mémoires de types RAM (une ROM a un temps d'accès de l'ordre de 150 ns tandis qu'une mémoire de type SDRAM a un temps d'accès d'environ 10 ns), les instructions contenues dans la ROM sont parfois copiées en RAM au démarrage, on parle alors de shadowing (en français cela pourrait se traduire par ombrage, mais on parle généralement de mémoire fantôme).
Les types de ROM
Les ROM ont petit à petit évolué de mémoires mortes figées à des mémoires programmables, puis reprogrammables.
ROM
Les premières ROM étaient fabriquées à l'aide d'un procédé inscrivant directement les données binaires dans une plaque de silicium grâce à un masque. Ce procédé est maintenant obsolète.
PROM
Les PROM (Programmable Read Only Memory) ont été mises au point à la fin des années 70 par la firme Texas Instruments. Ces mémoires sont des puces constituées de milliers de fusibles pouvant être "grillés" grâce à un appareil appelé programmateur de ROM, envoyant une forte tension (12V) dans certains fusibles. Ainsi, les fusibles grillées correspondent à des 0, les autres à des 1.
EPROM
Les EPROM (Erasable Programmable Read Only Memory) sont des PROM pouvant être effacées. Ces puces possèdent une vitre permettant de laisser passer des rayons ultra-violets. Lorsque la puce est en présence de rayons ultra-violets d'une certaine longueur d'onde, les fusibles sont reconstitués, c'est-à-dire que tous les bits de la mémoire sont à nouveau à 1. C'est pour cette raison que l'on qualifie ce type de PROM d'effaçable.
EEPROM
Les EEPROM (Electrically Erasable read Only Memory) sont aussi des PROM effaçables, mais contrairement aux EPROM, celles-ci peuvent être effacées par un simple courant électrique, c'est-à-dire qu'elle peuvent être effacées même lorsqu'elles sont en position dans l'ordinateur. Ces mémoires sont aussi appelées mémoires flash (ou ROM flash), et l'on qualifie de flashage l'action consistant à reprogrammer une EEPROM.




Introduction à la notion de bus
On appelle bus, en informatique, un ensemble de liaisons physiques (câbles, pistes de circuits imprimés, ...) pouvant être exploitées en commun par plusieurs éléments matériels afin de communiquer.
Les bus ont pour but de réduire le nombre de traces nécessaires à la communication des différents composants en mutualisant les communications sur une seule voie de données.
Dans le cas où la ligne sert uniquement à la communication de deux composants matériels, on parle parfois de port (port série, port parallèle, ...).
Caractéristiques d'un bus
Un bus est caractérisé par le volume d'informations transmises simultanément (exprimé en bits), correspondant au nombre de lignes sur lesquelles les données sont envoyées de manière simultané. Une nappe de 32 fils permet ainsi de transmettre 32 bits en parallèle. On parle ainsi de "largeur de bus" pour désigner le nombre de bits qu'il peut transmettre simultanément.
D'autre part, la vitesse du bus est également définie par sa fréquence (exprimée en Hertz), c'est-à-dire le nombre de paquets de données envoyés ou reçus par seconde. On parle de cycle pour désigner chaque envoi ou réception de données.
De cette façon, il est possible de connaître la bande passante d'un bus, c'est-à-dire le débit de données qu'il peut transporter, en multipliant sa largeur par sa fréquence. Un bus d'une largeur de 16 bits, cadencé à une fréquence de 133 Mhz possède donc une bande passante égale à :
16 * 133.106 = 2128*106 bit/s,

soit 2128*106/8 = 266*106 octets/s

soit 266*106 /1024 = 259.7*103 Ko/s

soit 259.7*103 /1024 = 253.7 Mo/s
Afin d'augmenter le débit des bus, il existe des techniques permettant d'envoyer plus d'informations sur un même cycle :
• le DDR (Double Data rate) permet d'envoyer deux fois plus d'informations par cycle
• le QDR (Quadruple Data rate) permet d'envoyer quatre fois plus d'informations par cycle
Les principaux bus
On distingue généralement sur un ordinateur deux types de bus : le bus système (appelé aussi bus interne, en anglais internal bus ou front-side bus, noté FSB) et les bus d'extension (bus ISA, bus AGP et bus PCI) permettant de connecter des cartes d'extensions.
• le bus système permet au processeur de communiquer avec la mémoire centrale du système (mémoire vive ou RAM). Le bus interne est lui-même subdivisé en deux bus :
o Le bus d'adressage (appelé parfois bus d'adresses ou bus mémoire) transporte les adresses mémoire auxquelles le processeur souhaite accéder pour lire ou écrire une donnée.
o Le bus de données véhicule les informations en provenance ou à destination du processeur.
• le bus d'extension (parfois appelé bus d'entrée/sortie) permet aux divers composants de la carte-mère (USB, série, parallèle, cartes branchées sur les connecteurs PCI, disques durs, lecteurs et graveurs de CD-ROM, etc.) de communiquer entre eux mais il permet surtout l'ajout de nouveaux périphériques grâce aux connecteurs d'extension (appelés slots) connectés sur le bus d'entrées-sorties.
On appelle chipset (en français jeu de composants) l'élément chargé d'aiguiller les informations entre les différents bus de l'ordinateur afin de permettre à tous les éléments constitutifs de l'ordinateur de communiquer entre eux. Le chipset était originalement composé d'un grand nombre de composants électroniques, ce qui explique son nom; aujourd'hui il est composé de deux éléments :
• Le NorthBridge est chargé de contrôler les échanges entre le processeur et la mémoire vive, c'est la raison pour laquelle il est situé géographiquement proche du processeur.
• Le SouthBridge (appelé également contrôleur d'entrée-sortie ou contrôleur d'extension) gère les communications avec les périphériques d'entrée-sortie.
On parle généralement de bridge (en français pont) pour désigner un élément d'interconnexion entre deux bus.
Il est intéressant de noter que, pour communiquer, deux bus ont besoin d'avoir la même largeur. Cela explique pourquoi les barrettes de mémoire vive doivent parfois être appariées sur certains systèmes (par exemple sur les premiers Pentium, dont la largeur du bus processeur était de 64 bits, il était nécessaire d'installer des barrettes mémoire d'une largeur de 32 bits par paire).




L'interface AGP (sigle de Accelerated Graphics Port, soit port graphique accéléré) est sortie en même temps que le Pentium II en Mai 1997, sur des chipsets à base de "Slot One", puis est apparue par la suite sur des supports à base de Super 7.
L'interface AGP a été mise au point spécifiquement pour la connexion de la carte graphique en lui ouvrant un canal direct d'accès à la mémoire, sans passer par le contrôleur d'entrée-sortie. Ainsi le contrôleur vidéo peut accéder directement à la mémoire vive centrale afin de stocker des images (par exemple des textures pour l'affichage 3D). Les cartes utilisant ce support ont besoin de moins de mémoire embarquée, leur coût de revient est donc plus faible.
Le port AGP 1X est cadencé à 66 MHz, contre 33 MHz pour le bus PCI, ce qui lui offre une bande passante de 264 Mo/s (pour le bus PCI 132 Mo/s à partager entre les différentes cartes), soit de bien meilleures performances, notamment pour l'affichage de scènes 3D complexes.
Avec l'apparition du port AGP 4X, la bande passante est passée à 1Go/s. Cette génération de carte est alimentée en 25W. La génération de carte suivante se nomme AGP Pro et est alimentée en 50W.
Maintenant la nouvelle norme est en AGP Pro 8x avec une bande passante de 2Go/s.
Les débits des différentes normes AGP sont les suivants :
• AGP 2X : 66,66 MHz x 2(coef.) x 32 bits = 533.67 Mo/s
• AGP 4X : 66,66 MHz x 4(coef.) x 32 bits = 1,06 Go/s
• AGP 8X : 66,66 MHz x 8(coef.) x 32 bits = 2,11 Go/s



Introduction aux ports d'entrée-sortie
Les ports d'entrée-sortie sont des éléments matériels de l'ordinateur, permettant au système de communiquer avec des éléments extérieurs, c'est-à-dire d'échanger des données, d'où l'appellation d'interface d'entrée-sortie (notée parfois interface d'E/S).
Les ports série
Les ports série représentent les premières interfaces ayant permis aux ordinateurs d'échanger des informations avec le "monde extérieur". Le terme série désigne un envoi de données via un fil unique: les bits sont envoyés les uns à la suite des autres (reportez-vous à la section transmission de données pour un cours théorique sur les modes de transmission).

A l'origine les ports série permettaient uniquement d'envoyer des données, mais pas d'en recevoir, c'est pourquoi des ports bidirectionnels ont été mis au point (ceux qui équipent les ordinateurs actuels le sont); les ports séries bidirectionnels ont donc besoin de deux fils pour effectuer la communication.
La communication série se fait de façon asynchrone, cela signifie qu'aucun signal de synchronisation (appelé horloge) n'est nécessaire: les données peuvent être envoyées à intervalle de temps arbitraire. En contrepartie, le périphérique doit être capable de distinguer les caractères (un caractère a une longueur de 8 bits) parmi la suite de bits qui lui est envoyée...
C'est la raison pour laquelle dans ce type de transmission, chaque caractère est précédé d'un bit de début (appelé bit START) et d'un bit de fin (bit STOP). Ces bits de contrôle, nécessaires pour une transmission série, gaspillent 20% de la bande passante (pour 8 bits envoyés, 2 servent à assurer la réception).
Les ports série sont généralement intégrés à la carte-mère, c'est pourquoi des connecteurs présents à l'arrière du boitier, et reliés à la carte-mère par un nappe de fils, permettent de connecter un élément extérieur. Les connecteurs séries possèdent généralement 9 ou 25 broches et se présentent sous la forme suivante (respectivement connecteurs DB9 et DB25):


Un ordinateur personnel possède généralement entre deux et quatre ports séries (certains de ces ports possèdent des connecteurs DB9, d'autres des connecteurs DB25).
Les ports parallèle
La transmission de données en parallèle consiste à envoyer des données simultanément sur plusieurs canaux (fils). Les ports parallèle présents sur les ordinateurs personnels permettent d'envoyer simultanément 8 bits (un octet) par l'intermédiaire de 8 fils.

Les premiers ports parallèles bidirectionnels permettaient d'atteindre des débits de l'ordre de 2.4Mb/s. Toutefois des ports parallèles améliorés ont été mis au point afin d'obtenir des débits plus élevés:
• Le port EPP (Enhanced Parralel Port, port parallèle amélioré) a permis d'atteindre des débits de l'ordre de 8 à 16 Mbps
• Le port ECP (Enhanced Capabilities Port, port à capacités améliorées), mis au point par Hewlett Packard et Microsoft. Il reprend les caractéristiques du port EPP en lui ajoutant un support Plug and Play, c'est-à-dire la possibilité pour l'ordinateur de reconnaître les périphériques branchés
Les ports parallèle sont, comme les ports série, intégrés à la carte-mère. Les connecteurs DB25 permettent de connecter un élément extérieur (une imprimante par exemple).





Présentation du port USB
Les ports USB (Universal Serial Bus, ports séries universels) sont, comme leur nom l'indique, basés sur une architecture de type série. Il s'agit toutefois d'une interface entrée-sortie beaucoup plus rapide que les ports série standards. L'architecture qui a été retenue pour ce type de port est en série pour deux raisons principales:
• L'architecture série permet d'utiliser une cadence d'horloge beaucoup plus élevée qu'une interface parallèle, car celle-ci ne supporte pas des fréquences trop élevées (dans une architecture à haut débit, les bits circulant sur chaque fil arrivent avec des décalages, provocant des erreurs)
• Les câbles séries coûtent beaucoup moins chers que des câbles parallèles
Fonctionnement du port USB
Ainsi, dès 1995, le standard USB a été élaboré. Il propose deux modes de communication (12 Mbps en mode haute vitesse et 1.5 Mbps à basse vitesse) pour la connexion d'une grande variété de périphériques. L'architecture USB a pour caractéristique de fournir l'alimentation électrique aux périphériques qu'elle relie. Elle utilise pour cela un câble composé de quatre fils (la masse GND, l'alimentation VBUS et deux fils de données appelés D- et D+).

La norme USB permet le chaînage des périphériques, en utilisant une topologie en bus ou en étoile. Les périphériques peuvent alors être soit connectés les uns à la suite des autres, soit ramifiés.
La ramification se fait à l'aide de boîtiers appelés hubs (ou concentrateurs), comportant une seule entrée et plusieurs sorties. Certains sont actifs (fournissant de l'énergie électrique), d'autres passifs.


La communication entre l'hôte (l'ordinateur) et les périphériques se fait selon un protocole (langage de communication) basé sur le principe de l'anneau à jeton (token ring). Cela signifie que la bande passante est partagée temporellement entre tous les périphériques connectés. L'hôte émet un signal de début de séquence chaque milliseconde (ms), intervalle de temps pendant lequel il va donner simultanément la « parole » à chacun d'entre-eux. Lorsque l'hôte désire communiquer avec un périphérique, il émet un jeton (un paquet de données, contenant l'adresse du périphérique, codé sur 7 bits) désignant un périphérique. Si ce dernier reconnaît son adresse dans le jeton, il envoie un paquet de données en réponse. Sinon, il fait suivre le paquet aux autres périphériques connectés à lui. Puisque l'adresse est codée sur 7 bits, 128 périphériques (2^7) peuvent être connectés simultanément à un port de ce type. Il convient en réalité de ramener ce chiffre à 127 car l'adresse 0 est une adresse réservée. (cf plus loin). A raison de 5m de câble maximum entre deux périphériques, et d'un nombre maximal de 5 hubs, il est possible de créer une chaîne longue de 25 mètres !
Les ports USB supportent le Hot plug and play. Ainsi, il est possible de brancher les périphériques sans éteindre l'ordinateur (branchement à chaud). Lors de la connexion du périphérique à l'hôte, ce dernier détecte l'ajout du nouvel élément grâce au changement de la tension entre les fils D+ et D-. A ce moment, l'ordinateur envoie un signal d'initialisation au périphérique pendant 10 ms, puis lui fournit du courant grâce aux fils GND et VBUS (jusqu'à 100mA). Le périphérique est alors alimenté en courant électrique et récupère temporairement l'adresse par défaut (l'adresse 0). L'étape suivante consiste à lui fournir son adresse définitive (c'est la procédure d'énumération). Pour cela, l'ordinateur interroge les périphériques déjà branchés pour connaître la leur et en attribue une au nouveau, qui en retour s'identifie. L'hôte, disposant de toutes les caractéristiques nécessaires est alors en mesure de charger le pilote approprié...


Présentation du bus Firewire (IEEE 1394)
Afin de fournir un système d'interconnexion permettant de faire circuler des données à haute vitesse en temps réel, le bus FireWire (appelé IEEE 1394, nom de la norme à laquelle il fait référence) a été mis au point à la fin de l'année 1995. La firme Apple lui a également donné le nom commercial de iLink.
Fonctionnement du bus Firewire
Le bus IEEE 1394 suit à peu près la même structure que le bus USB. si ce n'est qu'il utilise un câble composé de six fils (deux paires pour les données et pour l'horloge, et deux fils pour l'alimentation électrique) lui permettant d'obtenir un débit de 400 Mbps (il devrait atteindre prochainement 1Gbps). Ainsi, les deux fils dédiés à une horloge montrent la différence majeure qui existe entre le bus USB et le bus IEEE 1394 : ce dernier peut fonctionner selon deux modes de transfert :
• le mode de transfert asynchrone
• le mode isochrone
Le mode de transfert asynchrone est basé sur une transmission de paquets à intervalles de temps variables. Cela signifie que l'hôte envoie un paquet de données et attend de recevoir un accusé de réception du périphérique. Si l'hôte reçoit un accusé de réception, il envoie le paquet de données suivant, sinon le paquet est à nouveau réexpédié au bout d'un temps d'attente. Le mode de transfert isochrone permet l'envoi de paquets de données de taille fixe à intervalle de temps régulier (cadencé grâce aux deux fils d'horloge). De cette façon aucun accusé de réception n'est nécessaire, on a donc un débit fixe et donc une bande passante garantie. De plus, étant donné qu'aucun accusé n'est nécessaire, l'adressage des périphériques est simplifié et la bande passante économisée permet de gagner en vitesse de transfert.
Autre innovation du standard IEEE 1394 : la possibilité d'utiliser des ponts, systèmes permettant de relier plusieurs bus entre-eux. En effet, l'adressage des périphériques se fait grâce à un identificateur de n½ud (c'est-à-dire de périphérique) codé sur 16 bits. Cet identificateur est scindé en deux champs : un champ de 10 bits permettant de désigner le pont et un champ de 6 bits spécifiant le n½ud. Il est donc possible de relier 1023 ponts, sur chacun desquels il peut y avoir 63 n½uds, il est ainsi possible d'adresser 65535 périphériques ! Le standard IEEE 1394 permet aussi le Hot plug'n play, mais alors que le bus USB sont réservés à l'utilisation de périphériques peu gourmands en ressources (souris ou clavier par exemple), la bande passante de l'IEEE 1394 la destine à des utilisations multimédias sans précédents (acquisition vidéo, ...).




Présentation de l'interface SCSI
Le standard SCSI (Small Computer System Interface) est une interface permettant la connexion de plusieurs périphériques de types différents sur un ordinateur par l'intermédiaire d'une carte, appelée adaptateur SCSI.
Le nombre de périphériques pouvant être branchés dépend de la largeur du bus SCSI : avec un bus 8 bits il est possible de connecter 8 unités physiques, 16 pour un bus 16 bits. L'adapteur SCSI représentant déjà une unité physique, le bus accepte 7 (8-1) ou 15 (16-1) périphériques .
Adressage des périphériques
L'adressage des périphériques se fait grâce à des numéros d'identification. Le premier numéro est l'ID, il s'agit d'un numéro permettant de désigner le contrôleur intégré au périphérique (celui-ci est défini grâce à des cavaliers à positionner sur chaque périphérique SCSI). En effet, le périphérique peut avoir jusqu'à 8 unités logiques (par exemple un lecteur de CD-ROM comportant plusieurs tiroirs). Les unités logiques sont repérés par un identificateur appelé LUN (Logical Unit Number). Enfin, un ordinateur peut comporter plusieurs cartes SCSI, c'est pourquoi un numéro de carte est assigné à chacune d'entre-elles.
De cette façon, pour communiquer avec un périphérique, l'ordinateur doit donner une adresse de la forme « numéro de carte - ID - LUN ».
Deux types de bus SCSI existent :
• le bus asymétrique (le plus utilisé sur PC) basé sur une architecture parallèle dans laquelle chaque canal circule sur un fil, ce qui le rend sensible aux interférences
• le bus différentiel permet le transport des signaux sur une paire de fils, ainsi, l'information étant codée par différence entre les deux fils, les perturbations seront compensées
Les connecteurs des deux catégories de périphériques sont les mêmes, mais les signaux électriques ne le sont pas, il faut donc veiller à identifier les périphériques (grâce aux symboles prévus à cet effet) afin de ne pas les détériorer!
Les normes SCSI
Les normes SCSI définissent les paramètres électriques des interfaces d'entrées-sorties. Le standard SCSI-1 date de 1986, il définissait des commandes standard permettant le contrôle des périphériques SCSI. Toutefois un grand nombre de ces commandes étaient optionnelles, c'est pourquoi en 1994 la norme SCSI-2 a été adoptée.
Elle définit 18 commandes appelées CCS (Common Command Set). La norme SCSI standard permet des débits de l'ordre de 5Mo/s. Toutefois, des versions du standard ont été définies. La version Wide SCSI-2 est basé sur un bus de largeur 16 bits (au lieu de 8) et passe le SCSI standard a 10Mo/s. Le standard SCSI-2 permet aussi un mode synchrone rapide appelé Fast SCSI (passant de 5 à 10 Mo/s le SCSI standard, et de 10 à 20 le Wide SCSI-2). Les modes Fast-20 et Fast-40 permettent respectivement de doubler et quadrupler ces débits. La norme SCSI-3, émergeant actuellement, intègre de nouvelles commandes, et permet le chaînage de 32 périphériques.




Sur un PC il est possible de connecter des périphériques externes. Les périphériques externes sont, comme leur nom l'indique, connectés à l'extérieur de l'ordinateur, c'est-à-dire sur les interfaces d'entrée-sortie (port série, port parallèle, bus USB, bus firewire, interface SCSI, ...).
Il s'agit principalement des éléments suivants :
• scanner,
• imprimante,
• modem externe,
• webcam,
• PDA, appareil photo numérique, clé USB, ...
Le moniteur, la souris et le clavier peuvent être considérés d'une certaine façon comme des périphériques externes.




Le moniteur à tube cathodique
Les moniteurs (écrans d'ordinateur) sont la plupart du temps des tubes cathodiques (notés CRT, soit cathode ray tube ou en français tube à rayonnement cathodique), c'est à dire un tube en verre sous vide dans lequel un canon à électrons émet un flux d'électrons dirigés par un champ électrique vers un écran couvert de petits éléments phosphorescents.

Le canon à électron est constitué d'une cathode, c'est-à-dire une électrode métallique chargée négativement, d'une ou plusieurs anodes (électrodes chargées positivement). La cathode émet des électrons attirés par l'anode. L'anode agit ainsi comme un accélérateur et un concentrateur pour les électrons afin de constituer un flux d'électrons dirigé vers l'écran.
Un champ magnétique est chargé de dévier les électrons de gauche à droite et de bas en haut. Il est créé grâce à deux bobines X et Y sous tension (appelées déflecteurs) servant respectivement à dévier le flux horizontalement et verticalement.
L'écran est recouvert d'une fine couche d'éléments phosphorescents, appelés luminophores, émettant de la lumière par excitation lorsque les électrons viennent les heurter, ce qui constitue un point lumineux appelé pixel.
En activant le champ magnétique, il est possible de créer un balayage de gauche à droite, puis vers le bas une fois arrivé en bout de ligne.

Ce balayage n'est pas perçu par l'oeil humain grâce à la persistance rétinienne, essayez par exemple d'agiter votre main devant votre écran pour visualiser ce phénomène : vous voyez votre main en plusieurs exemplaires ...
Grâce à ce balayage, combiné avec l'activation ou non du canon à électrons, il est possible de faire "croire" à l'oeil que seuls certains pixels sont "allumés" à l'écran.
Le moniteur couleur
Un moniteur noir et blanc permet d'afficher des dégradés de couleur (niveaux de gris) en variant l'intensité du rayon.
Pour les moniteurs couleur, trois faisceaux d'électrons (donc trois cathodes) viennent chacun heurter un point d'une couleur spécifique :
un rouge, un vert et un bleu (RGB: Red, Green, Blue ou en français RVB Rouge, vert, bleu.
Les luminophores bleus sont réalisés à base de sulfure de Zinc, les verts en sulfure de Zinc et de Cadmium. Les rouges enfin sont plus difficile à réaliser, et sont faits à partir d'un mélange d'Yttrium et Europium, ou bien d'oxyde de Gadolinium.
Cependant ces luminophores sont si proches les uns des autres que l'oeil n'a pas un pouvoir séparateur assez fort pour les distinguer: il voit une couleur composée de ces trois couleurs. Essayez de mettre une minuscule goutte d'eau sur le verre de votre moniteur: celle-ci faisant un effet de loupe va faire apparaître les luminophores.
De plus, pour éviter des phénomènes de bavure (un électron destiné à frapper un photophore vert percutant le bleu) une grille métallique appelée masque est placée devant la couche de photophore afin de guider les flux d'électrons.
On distingue selon le masque utilisé plusieurs catégories d'écrans cathodiques :
• Les tubes FST-Invar (Flat Square Tube) dont les luminophores sont ronds. Ces moniteurs utilisent une grille appelée masque (ou shadow mask en anglais). Ils donnent une image nette et de bonnes couleurs mais possèdent l'inconvénient de déformer et d'assombrir l'image dans les coins.

• Les tubes Diamondtron de Mitsubishi© et Trinitron de Sony© dont le le masque est constitué de fentes verticales (appelée aperture grille ou grille à fentes verticales), laissant passer plus d'èlectrons et donc procurant une image plus lumineuse.

• Les tubes Cromaclear de Nec© dont le le masque est constitué d'un système hybride avec des fentes en forme d'alvéoles constituant la meilleure technologie des trois.

Les moniteurs à écran plat
Les moniteurs à écrans plats (souvent notés FDP pour Flat panel display) se généralisent de plus en plus dans la mesure où leur facteur d'encombrement et leur poids sont très inférieurs à ceux des écrans CRT traditionnels.
La technologie LCD (Liquid Crystal Display) est basée sur un écran composé de deux plaques transparentes entre lesquelles est coincée une fine couche de liquide contenant des molécules (cristaux) qui ont la propriété de s'orienter lorsqu'elles sont soumises à du courant électrique.
L'avantage majeur de ce type d'écran est son encombrement réduit, d'oû son utilisation sur les ordinateurs portables.
Les caractéristiques
Les moniteurs sont souvent caractérisés par les données suivantes:
• La définition: c'est le nombre de points (pixel) que l'écran peut afficher, ce nombre de points est généralement compris entre 640x480 (640 points en longueur, 480 points en largeur) et 1600x1200, mais des résolutions supérieures sont techniquement possibles.
• La taille: Elle se calcule en mesurant la diagonale de l'écran et est exprimée en pouces, c'est-à-dire 2.54 cm. Il faut veiller à ne pas confondre la définition de l'écran et sa taille. En effet un écran d'une taille donnée peut afficher différentes définitions, cependant de façon générale les écrans de grande taille possèdent une meilleure définition.
• Le pas de masque (en anglais dot pitch): C'est la distance qui sépare deux photophores; plus celle-ci est petite plus l'image est précise. Ainsi un pas de masque inférieur ou égal à 0,25 mm procurera un bon confort d'utilisation, tandis que les écrans possédant des pas de masque supérieurs ou égaux à 0,28 mm seront à proscrire.
• La résolution: Elle détermine le nombre de pixels par unité de surface (pixels par pouce linéaire (en anglais DPI: Dots Per Inch, traduisez points par pouce). Une résolution de 300 dpi signifie 300 colonnes et 300 rangées de pixels sur un pouce carré ce qui donnerait donc 90000 pixels sur un pouce carré. La résolution de référence de 72 dpi nous donne un pixel de 1"/72 (un pouce divisé par 72) soit 0.353mm, correspondant à un point pica (unité typographique anglo saxonne).
• La fréquence de balayage verticale (refresh rate en anglais) : Elle représente le nombre d'images qui sont affichées par seconde, on l'appelle aussi rafraîchissement, elle est exprimée en Hertz. Plus cette valeur est élevée meilleur est le confort visuel (on ne voit pas l'image scintiller), il faut donc qu'elle soit supérieure à 67 Hz (limite inférieure à partir de laquelle l'oeil voit véritablement l'image "clignoter").
Les normes d'énergie et de rayonnement
Il existe de nombreuses normes s'appliquant aux moniteurs permettant de garantir la qualité de ceux-ci ainsi que d'assurer le consommateur que le matériel a été conçu de manière à limiter le rayonnement dû aux émissions d'ondes électrostatiques et à en réduire la consommation d'énergie.
Ainsi, à la fin des années 80 la norme MPR1 a été élaborée par une autorité suédoise afin de mesurer l'émission de rayonnements par les matériels émettant des ondes électrostatiques. Cette norme fût amendé en 1990 pour donner la norme MPR2, reconnue internationalement.
En 1992, la confédération suédoise des employés professionels (Swedish Confederation of Professional Employees) introduit le standard TCO décrivant le niveau d'émission de rayonnements non plus en terme de niveau de sécurité minimal mais en terme de niveau minimal possible techniquement.
La norme TCO a subit des révisions en 1992, 1995 et 1999 afin de donner respectivement lieu aux normes TCO92, TCO95 et TCO99.

En 1993, un consortium de fabricants de matériel informatique (VESA, Video Electronics Standards Association) créa la norme DPMS (Display Power Management Signalling) proposant 4 modes de fonctionnement pour les appareils s'y conformant :
• En marche.
• En veille (standby), avec une consommation inférieure à 25W.
• En suspension, avec une consommation inférieure à 8W. Dans ce mode le canon à électrons est éteint, ce qui implique un délai de remise en route plus grand qu'en veille.
• En arrêt.



Le Compact Disc a été inventé par Sony © et Philips © en 1981 afin de constituer un support audio compact de haute qualité permettant un accès direct aux pistes numériques. Il a été officiellement lancé en octobre 1982. En 1984, les spécifications du Compact Disc ont été étendues (avec l'édition du Yellow Book) afin de lui permettre de stocker des données numériques.
La géométrie du CD
Le CD (Compact Disc) est un disque
[ Add comment ] [ No comments ]
# Posted on Friday, 12 May 2006 at 1:45 PM

Cours de reseau

Cours de reseau
Petit cours sur les masques de sous r´eseau
Eric Lalitte
5 juillet 2002
1
Table des mati`eres
1 Introduction 4
1.1 Objet de ce cours . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2 R´eutilisation de ce cours . . . . . . . . . . . . . . . . . . . . . 4
1.3 D´echarge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.4 Votre travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2 D´efinitions 5
2.1 L'identification des machines . . . . . . . . . . . . . . . . . . . 5
2.2 La segmentation des r´eseaux . . . . . . . . . . . . . . . . . . . 5
2.3 Une seule adresse pour le prix de deux . . . . . . . . . . . . . 5
2.4 D´efinition empirique du masque . . . . . . . . . . . . . . . . . 6
2.5 Pourquoi maˆıtriser les masques ? . . . . . . . . . . . . . . . . . 6
3 Adresse IP et masque 7
3.1 L'adressage IP . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.2 Nombre de machines . . . . . . . . . . . . . . . . . . . . . . . 7
3.3 La s´eparation grˆace au masque . . . . . . . . . . . . . . . . . 7
3.4 Le couple adresse IP et masque . . . . . . . . . . . . . . . . . 7
4 Le codage 8
4.1 Le codage binaire . . . . . . . . . . . . . . . . . . . . . . . . . 8
4.2 Pourquoi un codage binaire pour les ordinateurs ? . . . . . . . 8
4.3 Qu'est-ce qu'un octet ? . . . . . . . . . . . . . . . . . . . . . . 8
4.4 Ecriture binaire de l'adresse IP . . . . . . . . . . . . . . . . . 9
5 Les masques 10
5.1 R´ecapitulatif . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
5.2 Comment repr´esente-t-on un masque ? . . . . . . . . . . . . . 10
5.3 Comment le masque et l'adresse IP sont ils associ´es ? . . . . . 10
5.4 Adresses sp´ecifiques (r´eseau, broadcast) . . . . . . . . . . . . . 11
5.5 Les bits `a 1 et `a 0 doivent ils ˆetre contigus ? . . . . . . . . . . 11
5.6 Quelles adresses pour les masques ? . . . . . . . . . . . . . . . 12
5.7 Faire fi de l'´ecriture par octets . . . . . . . . . . . . . . . . . . 13
5.8 Quelle est cette notation avec un /, comme /24 ? . . . . . . . . 13
2
6 Comment bien choisir son masque ? 15
6.1 Partir de l'existant . . . . . . . . . . . . . . . . . . . . . . . . 15
6.2 En fonction du nombre de machines . . . . . . . . . . . . . . . 15
6.3 Comment d´eterminer la plage d'adresses `a partir du masque
et d'une adresse ? . . . . . . . . . . . . . . . . . . . . . . . . . 16
6.4 Une m´ethode simple pour trouver les adresses de r´eseau possibles 16
6.5 Comment d´ecouper une plage r´eseau quelconque comme somme
de plusieurs plages ? . . . . . . . . . . . . . . . . . . . . . . . 17
6.6 Plages r´eserv´ees (RFC 1918) . . . . . . . . . . . . . . . . . . . 18
7 Comment d´ecouper une plage d'adresses en plusieurs sous
r´eseaux ? 19
7.1 D´etermination des masques pour chacun des r´eseaux . . . . . 19
7.2 D´etermination des plages r´eseau . . . . . . . . . . . . . . . . . 19
7.3 Le r´esultat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
8 Que sont les classes d'adresses A, B, C, D... ? 21
8.1 Historique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
8.2 D´efinitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
8.3 Y a-t-il une p´enurie d'adresses IPv4 ? . . . . . . . . . . . . . . 22
8.4 Le syst`eme d'adressage par classes est-il viable ? . . . . . . . . 22
8.5 Qu'est-ce que l'adressage CIDR? . . . . . . . . . . . . . . . . 22
9 Trucs et astuces avec les masques 23
9.1 Comment d´eterminer qu'une machine appartient `a mon r´eseau ? 23
9.2 Des machines sur un mˆeme r´eseau peuvent elles avoir des
masques diff´erents ? . . . . . . . . . . . . . . . . . . . . . . . . 24
9.3 Puis-je utiliser un outil qui calcule pour moi ? . . . . . . . . . 25
9.4 Tout ¸ca c'est bien, mais quand est ce que je l'utilise ce masque
moi ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
10 Mini lexique 27
11 Annexes 28
11.1 Ressources utilis´ees . . . . . . . . . . . . . . . . . . . . . . . . 28
11.2 Remerciements . . . . . . . . . . . . . . . . . . . . . . . . . . 28
11.3 Faq sur la NAT . . . . . . . . . . . . . . . . . . . . . . . . . . 28
12 Conclusion 29
3
1 Introduction
1.1 Objet de ce cours
Dans le monde des r´eseaux, on utilise souvent des termes inintelligibles
pour le commun des mortels n'ayant pas une formation informatique pouss´ee.
Les masques en font partie, d'autant plus que leur compr´ehension et leur
utilisation n'est pas toujours simple (au d´epart ;-) ) Le but de ce cours est de
pr´esenter de fa¸con la plus compr´ehensible possible ce que sont les masques,
`a quoi ils servent, comment bien les utiliser et se familiariser avec.
Pour cela, nous traiterons aussi quelques sujets annexes qui nous permettront
de mieux comprendre l'utilit´e des masques, comme les r´eseaux logiques,
quelques notions de routage, etc.
1.2 R´eutilisation de ce cours
Vous ˆetes libre d'utiliser de courts extraits de ce cours, dans la mesure
o`u vous incluez un lien permettant d'avoir acc`es `a l'ensemble du document.
Ceci dans le but de permettre `a vos lecteurs d'obtenir facilement un
compl´ement d'information. De mˆeme, vous ˆetes libre de copier ce cours dans
son int´egralit´e, `a condition cependant d'en avertir l'auteur, et que cette utilisation
soit exempte de tout caract`ere commercial (banni`eres publicitaires
incluses). Cette restriction ´etant principalement due au plus ´el´ementaire des
respects : celui du temps que j'ai consacr´e `a la r´edaction de ce cours. Toute
autre utilisation devra faire l'objet d'un accord pr´ealable avec l'auteur.
1.3 D´echarge
L'auteur d´ecline toute responsabilit´e concernant la mauvaise utilisation
ou compr´ehension du cours qui engendrerait l'´ecroulement de votre r´eseau ;-).
1.4 Votre travail
La seule et unique tˆache que je vous demanderai d'accomplir sera de
corriger mes erreurs (aussi bien dans la coh´erence des ´el´ements avanc´es que
pour l'orthographe), me donner des conseils sur ce qui est mal expliqu´e pour
le rendre plus accessible, ajouter des ´el´ements qui ont attrait aux masques et
rendent l'expos´e plus complet, combler tout manque pour am´eliorer ce cours.
4
2 D´efinitions
2.1 L'identification des machines
Pour envoyer du courrier `a un ami, vous utilisez son adresse postale. Ainsi
vous ˆetes sˆur que le paquet que vous envoyez arrivera `a la bonne personne. Et
bien pour les ordinateurs, c'est pareil. Quand vous connectez votre ordinateur
`a un r´eseau (Internet par exemple), il poss`ede une adresse qui l'identifie d'une
fa¸con unique pour que les autres ordinateurs du r´eseau puissent lui envoyer
des informations.
2.2 La segmentation des r´eseaux
Imaginez un ´enorme r´eseau comme Internet o`u chacune des machines
serait oblig´ee de connaˆıtre l'ensemble des millions d'autres machines (et notamment
leurs adresses) et de savoir comment y acc´eder. Cela obligerait nos
pauvres ordinateurs `a avoir des tables ´enormes contenant l'ensemble de ces
informations. Cela induirait aussi des temps de r´eponses tr`es grands pour
parcourir cette table.
Pour r´epondre `a cette probl´ematique, on a segment´e cet ´enorme r´eseau en
diff´erents petits r´eseaux. Et c'est au sein de ces petits r´eseaux que l'on donne
des adresses aux machines pour leur envoyer l'information. Ainsi, il suffit de
connaˆıtre l'adresse du r´eseau pour envoyer l'information `a une machine de
celui-ci, et c'est `a l'int´erieur de ce r´eseau que l'information sera redirig´ee vers
la bonne machine.
C'est exactement comme lorsque vous envoyez un paquet par la poste,
vous mettez le nom de la ville, le paquet arrive `a la poste de la ville, et c'est
elle qui distribue le paquet `a la bonne adresse.
2.3 Une seule adresse pour le prix de deux
Comme vous l'avez compris, il nous faut deux adresses pour identifier une
machine, une pour le r´eseau et une pour la machine elle-mˆeme. Cependant,
l'adressage qui a ´et´e choisi pour les machines ne d´efinit qu'une seule adresse.
Vous me direz que ce n'est pas suffisant. Et bien si ! Il suffit de segmenter
cette adresse en deux parties distinctes, l'une pour le r´eseau, et l'autre pour
5
la machine. C'est la ou le masque entre en jeu, c'est lui qui joue le rˆole de
s´eparateur entre ces deux adresses.
2.4 D´efinition empirique du masque
Le masque est un s´eparateur entre la partie r´eseau et la partie machine
d'une adresse IP.
2.5 Pourquoi maˆıtriser les masques ?
L'utilisation et la maˆıtrise des masques doit pouvoir vous permettre d'une
part, de savoir ce que vous manipulez, et d'autre part d'optimiser le fonctionnement
de votre r´eseau. Effectivement, l'utilisation des masques vous
permettra de segmenter de la fa¸con la plus correcte l'adressage de votre
r´eseau, et ainsi de s´eparer les machines sensibles du reste du r´eseau, limiter
les congestions, et pr´evoir l'´evolution de votre r´eseau, etc.
Malheureusement, la s´eparation d'un r´eseau en plusieurs sous-r´eseaux n'a
pas que des avantages. L'un des d´esavantages majeurs est notamment la
complexification des tables de routage ´etant donn´e le plus grand nombre de
r´eseaux `a router.
6
3 Adresse IP et masque
3.1 L'adressage IP
Nous avons parl´e d'adresses pour les machines, il est temps maintenant de
d´efinir ces adresses. On parle d'adresse IP (Internet protocol), car il s'agit du
protocole qui permet d'identifier les machines et de router les informations
sur Internet. Ces adresses sont cod´ees sur 4 octets (voir chapitre 4 sur le
codage binaire) et sont la plupart du temps ´ecrite en num´erotation d´ecimale
en s´eparant les octets par des points. Ca donne quelque chose comme ¸ca :
192.168.132.24
3.2 Nombre de machines
En y regardant d'un peu plus pr`es, on peut calculer le nombre de machines
que l'on peut identifier `a l'aide de cet adressage. Ainsi, on utilise 4 octets,
soit 32 bits, soit encore 232 adresses (2 `a la puissance 32 adresses) Or 232 =
4 294 967 296, on peut donc d´efinir plus de 4 milliards d'adresses ! ! !
3.3 La s´eparation grˆace au masque
Cependant, nous avons vu qu'il fallait s´eparer cette adresse en deux parties
pour pouvoir identifier `a la fois le r´eseau et l'adresse. Le masque comme
l'adresse IP est une suite de 4 octets, soit 32 bits. Chacun des ces bits peuvent
prendre la valeur 1 ou 0. Et bien il nous suffit de dire que les bits `a 1
repr´esenteront la partie r´eseau de l'adresse, et les bits `a 0 la partie machine.
Ainsi, on fera une association entre une adresse IP et un masque pour
savoir dans cette adresse IP quelle est la partie r´eseau et quelle est la partie
machine de l'adresse.
3.4 Le couple adresse IP et masque
Le masque servant `a faire la s´eparation en deux parties sur une adresse
IP, il est donc indissociable de celle-ci. Une adresse seule ne voudra rien
dire puisqu'on ne saura pas quelle est la partie r´eseau et quelle est la partie
machine. De la mˆeme fa¸con, un masque seul n'aura pas de valeur puisqu'on
n'aura pas d'adresse sur laquelle l'appliquer.
7
4 Le codage
4.1 Le codage binaire
Nous utilisons tous les jours un syst`eme de num´eration d´ecimale. Avec
donc 10 symboles (0123456789) qui nous permettent d'´enum´erer toute sorte
de nombre en les pla¸cant dans un certain ordre. Cette place est primordiale
puisqu'elle repr´esente le passage aux dizaines, centaines, milliers, etc. Ainsi,
tout nombre peut se d´ecomposer en puissances de 10, par exemple :
324 = 300 + 20 +4 = 3*102 + 2*101 + 4*100.
Cependant, il existe d'autres modes selon la base dans laquelle on se place.
Lorsque l'on utilise la base 2, on se place en num´eration binaire o`u seuls deux
symboles sont utilis´es. On peut, de la mˆeme fa¸con, d´ecomposer tout nombre
en puissance de 2.
324 = 256 + 64 + 4
= 1*28 + 0*27 + 1*26 + 0*25 + 0*24
+ 0*23 + 1*22 + 0*21 + 0*20.
4.2 Pourquoi un codage binaire pour les ordinateurs ?
Pour les ordinateurs, c'est ce choix du codage binaire qui a ´et´e fait. Pourtant,
il aurait ´et´e plus simple d'utiliser la base 10 avec laquelle nous sommes
familiers. Cependant, les informations li´ees aux ordinateurs circulent sur des
fils ´electriques. Sur ces fils, il est difficile de distinguer plus de deux ´etats pour
le signal, on peut par exemple choisir un ´etat `a 0 volts, et un autre pour 5
volts. On se retrouve donc avec deux valeurs possibles. C'est pour cela qu'on
a choisi un codage binaire avec deux valeurs possible, 0 et 1.
4.3 Qu'est-ce qu'un octet ?
Un octet est une s´equence de huit bits. C'est donc un nombre cod´e avec
huit bits. Ainsi, si on transpose sa valeur en d´ecimal, on obtient un nombre
qui peut varier entre 0 et 255. Donc, dans une adresse IP, on ne pourra pas
trouver d'autre nombre que ceux compris entre 0 et 255. Une adresse comme
192.65.25.428 ne peut pas ˆetre une adresse IP valide vu que son dernier octet
n'est pas compris entre 0 et 255.
8
4.4 Ecriture binaire de l'adresse IP
Nous avons vu que l'adresse IP ´etait compos´ee de 4 octets ´ecrits en notation
d´ecimale, s´epar´es par des points, par exemple : 192.168.25.132.
Cette adresse peut aussi bien s'´ecrire en binaire :
11000000.10101000.00011001.10000100
Nous verrons par la suite pourquoi il est utile de revenir `a cette notation
pour bien comprendre le fonctionnement des masques.
9
5 Les masques
5.1 R´ecapitulatif
Nous avons d´ej`a vu plusieurs aspects importants des masques qu'il faudra
toujours essayer de garder `a l'esprit :
– Cod´es sur 4 octets, soit 32 bits,
– Ils permettent de faire la s´eparation entre la partie r´eseau et la partie
machine de l'adresse IP,
– La partie r´eseau est repr´esent´ee par des bits `a 1, et la partie machine
par des bits `a 0,
– Le masque ne repr´esente rien sans l'adresse IP `a laquelle il est associ´e.
5.2 Comment repr´esente-t-on un masque ?
Comme le masque est cod´e sur 32 bits, voici un exemple possible de
masque :
__________R´eseau__________ Machine
| | | |
11111111.11111111.11111111.00000000
Maintenant, plusieurs questions peuvent se poser. Jusqu'ici je comprends,
mais comment je peux associer ce masque `a une adresse IP, et quel sera le
r´esultat ? Pourquoi les bits `a 1 sont s´epar´es de ceux `a 0 ?
5.3 Comment le masque et l'adresse IP sont ils associ
´es ?
Prenons par exemple une machine qui a pour adresse IP 192.168.25.147.
Il nous faut lui associer un masque pour savoir quelle partie de cette adresse
repr´esente le r´eseau. Associons lui le masque pr´ec´edent 255.255.255.0. On
remarque que les bits des trois premiers octets sont `a 1, ils repr´esentent donc
la partie r´eseau de l'adresse, soit 192.168.25, le 147 permettant d'identifier
la machine au sein de ce r´eseau. Dans cet exemple, on remarque qu'un octet
a ´et´e r´eserv´e pour l'adresse machine, ce qui nous donne 28 = 256 adresses
disponibles pour les machines sur le r´eseau 192.168.25.
10
Les adresses disponibles pour les machines seront donc :
192.168.25.0 (r´eserv´ee pour le r´eseau, voir 5.4)
192.168.25.1
...
192.168.25.254
192.168.25.255 (r´eserv´ee pour le broadcast, voir 5.4)
On observe donc que c'est le masque qui d´etermine le nombre de machines
d'un r´eseau. Ainsi, on verra par la suite qu'on choisira le masque en fonction
du nombre de machines que l'on veut installer.
5.4 Adresses sp´ecifiques (r´eseau, broadcast)
Il existe des adresses sp´ecifiques au sein d'un r´eseau. La premi`ere adresse
d'une plage ainsi que la derni`ere ont un rˆole particulier. La premi`ere adresse
d'une plage repr´esente l'adresse du r´eseau. Celle-ci est tr`es importante car
c'est grˆace `a elle qu'on peut identifier les r´eseaux et router les informations
d'un r´eseau `a un autre. La derni`ere adresse d'une plage repr´esente ce que l'on
appelle l'adresse de broadcast. Cette adresse repr´esente en fait l'ensemble des
adresses du r´eseau. Ainsi, quand on veut envoyer une information `a toutes
les machines, on utilise cette adresse.
Dans notre exemple, l'adresse de r´eseau sera donc 192.168.25.0, et l'adresse
de broadcast 192.168.25.255. On remarque donc qu'il ne nous reste plus que
254 adresses pour identifier nos machines. Ainsi, `a chaque fois que l'on choisira
un masque en fonction du nombre de machines que l'on veut adresser, il
faudra tenir compte de ces deux adresses...
5.5 Les bits `a 1 et `a 0 doivent ils ˆetre contigus ?
Dans l'exemple de masque que nous avons choisi, nous avons vu que les
bits `a 0 et `a 1 ´etaient regroup´es. Cela n'est pas une obligation, mais cela
facilite ´enormemment l'exploitation du r´eseau. En conservant la contigu¨ıt´e
des bits, les adresses de nos machines au sein du r´eseau se suivent. Ce ne
serait pas le cas si l'on avait choisi un masque avec des bits non contigus.
Exemple, si on choisit le masque suivant :
11111111.11111111.11111110.00000001
11
Ici, on a comme pr´ec´edemment 8 bits qui repr´esentent la partie machine, par
contre, ils ne sont plus `a la mˆeme place. Cela se traduit en d´ecimal par le
masque suivant 255.255.254.1. On voit donc que les adresses dont le dernier
bit est a 1 ne seront pas dans le mˆeme r´eseau que celles dont le dernier bit
est a 0. Ce qui veut dire que les adresses dont le dernier octet est impair ne
seront pas dans le mˆeme r´eseau que les adresses paires. Dans cet exemple,
cela reste encore facile de diff´erencier les adresses paires et impaires, mais
lorsque l'on fait des m´elanges plus compliqu´es entre les bits significatifs, cela
devient tr`es vite inextricable.
On conservera donc toujours la contigu¨ıt´e des bits significatifs ! ! !
5.6 Quelles adresses pour les masques ?
Etant donn´e que l'on conserve la contigu¨ıt´e des bits, on va toujours rencontrer
les mˆemes nombres pour les octets du masque. Ce sont les suivants :
11111111
11111110
11111100
...
10000000
00000000
Soit en d´ecimal :
255, 254, 252, 248, 240, 224, 192, 128, et 0.
Ainsi, on peut tout de suite dire si un masque semble valide au premier
coup d'oeil. Un masque en 255.255.224.0 sera correct alors qu'un masque en
255.255.232.0 ne le sera pas (`a moins de ne pas vouloir respecter la contigu¨ıt´e
des bits)
Vous pouvez aller voir tous les masques possibles dans la RFC suivante :
http://www.faqs.org/rfcs/rfc1878.html
12
5.7 Faire fi de l'´ecriture par octets
L'´ecriture de l'adresse IP selon 4 octets s´epar´es par un point est facile `a
utiliser. Mais quand on se penche sur le probl`eme d'un peu plus pr`es, on se
rend compte qu'elle n'est pas tr`es adapt´ee...
Elle a deux d´efauts principaux :
– Ecriture en d´ecimal alors que l'on r´esonne en binaire.
– S´eparation des octets par des points.
Ainsi, lorsqu'on utilise des masques o`u la s´eparation r´eseau/machine se fait
sur un octet (tous les bits des octets sont soit `a 1, soit `a 0) cela est simple.
Prenons par exemple le r´eseau 192.168.25.0/255.255.255.0.
Toutes les machines commen¸cant par 192.168.25 appartiendront `a ce r´eseau.
Si l'on prend le r´eseau 192.168.25.32/255.255.255.248 et que je vous demande
si la machine 192.168.25.47 appartient `a ce r´eseau ? ¸ca devient plus compliqu
´e...
Pour bien comprendre, il faut alors revenir en binaire. Etant donn´e que les
trois premiers octets du masque ont tous leurs bits `a 1, c'est sur le quatri`eme
que va se faire la diff´erentiation. Il s'´ecrit 248, soit 11111000 en binaire. Donc
les 5 premiers bits de cet octet repr´esenteront la partie r´eseau.
Pour notre r´eseau, le dernier octet vaut 32, soit 00100000, pour notre
machine, il vaut 47, soit 00101111. On voit que les 5 premiers bits de ces
deux octets ne sont pas identiques (00100 = 00101) et donc que ces deux
adresses n'appartiennent pas au mˆeme r´eseau.
Cela peut sembler tr`es compliqu´e, mais on verra par la suite des m´ethodes
simples pour d´eterminer rapidement l'appartenance `a un r´eseau.
5.8 Quelle est cette notation avec un /, comme /24 ?
Une autre notation est souvent utilis´ee pour repr´esenter les masques. On
la rencontre souvent car elle est plus rapide `a ´ecrire. Dans celle-ci, on note
directement le nombre de bits significatifs en d´ecimal, en consid´erant que la
contigu¨ıt´e est respect´ee. Ainsi, pour notre exemple 192.168.25.0/255.255.255.0,
on peut aussi ´ecrire 192.168.25.0/24, car 24 bits sont significatifs de la partie
r´eseau de l'adresse.
13
De mˆeme, les ´ecritures suivantes sont ´equivalentes :
10.0.0.0/255.0.0.0 = 10.0.0.0/8
192.168.25.32/255.255.255.248 = 192.168.25.32/29
Etant donn´e que le masque d´etermine le nombre de machines qu'il pourra
y avoir sur un r´eseau, c'est souvent de cette information que l'on part pour
choisir le masque. Etant donn´e que l'on travail en binaire, le nombre de
machines possible au sein d'un r´eseau sera une puissance de 2. Pour un
nombre de machines donn´e, il faudra donc choisir la puissance de 2 sup´erieure
pour pouvoir adresser les machines. De plus, il faudra pr´evoir un certain
nombre d'adresses suppl´ementaires pour accueillir de nouvelles machines.
Ainsi, disons que l'on poss`ede le r´eseau 193.225.34.0/255.255.255.0 et que
l'on veut faire un r´eseau de 60 machines au sein de celui-ci. On veut 60
machines, il faut ajouter deux adresses pour le r´eseau et le broadcast, ce
qui fait 62 adresses au total. La puissance de 2 sup´erieure `a 62 est 64, mais
cela ne nous laisserait que 2 adresses pour ´evoluer, ce qui est un peu juste.
On pr´ef`erera donc un r´eseau de 128 adresses. Pour identifier 128 adresses, il
nous faut 7 bits (128 = 27) Donc dans notre masque, 7 bits seront `a 0 pour
identifier la partie machine, et les 25 bits restants seront `a 1. Ce qui donne :
11111111.11111111.11111111.10000000
et en d´ecimal 255.255.255.128 .
14
6 Comment bien choisir son masque ?
6.1 Partir de l'existant
La plupart du temps, le choix de l'adressage se fait en fonction des besoins
exprim´es, et des limites de ce que l'on a le droit de faire. Une certaine plage
vous est allou´ee par votre fournisseur d'acc`es. Vous pourrez alors d´ecouper
cette plage en diff´erents r´eseaux, mais ne surtout pas d´epasser de celle-ci.
Ainsi, si vous poss´edez une plage de 128 adresses et que vous voulez adresser
500 machines, vous aurez quelques petits probl`emes...
6.2 En fonction du nombre de machines
Etant donn´e que le masque d´etermine le nombre de machines qu'il pourra
y avoir sur un r´eseau, c'est souvent de cette information que l'on part pour
choisir le masque. Etant donn´e que l'on travail en binaire, le nombre de
machines possible au sein d'un r´eseau sera une puissance de 2. Pour un
nombre de machines donn´e, il faudra donc choisir la puissance de 2 sup´erieure
pour pouvoir adresser les machines. De plus, il faudra pr´evoir un certain
nombre d'adresses suppl´ementaires pour accueillir de nouvelles machines.
Ainsi, disons que l'on poss`ede le r´eseau 193.225.34.0/255.255.255.0 et que
l'on veut faire un r´eseau de 60 machines au sein de celui-ci. On veut 60
machines, il faut ajouter deux adresses pour le r´eseau et le broadcast, ce
qui fait 62 adresses au total. La puissance de 2 sup´erieure `a 62 est 64, mais
cela ne nous laisserait que 2 adresses pour ´evoluer, ce qui est un peu juste.
On pr´ef`erera donc un r´eseau de 128 adresses. Pour identifier 128 adresses, il
nous faut 7 bits (128 = 27) Donc dans notre masque, 7 bits seront `a 0 pour
identifier la partie machine, et les 25 bits restants seront `a 1. Ce qui donne :
11111111.11111111.11111111.10000000
et en d´ecimal 255.255.255.128
15
6.3 Comment d´eterminer la plage d'adresses `a partir
du masque et d'une adresse ?
Nous avons vu pr´ec´edemment que le masque devait ˆetre associ´e `a une
adresse IP pour avoir une valeur. Le choix de la plage d'adresses sur laquelle
il s'applique est donc tout aussi important ! ! Nous avons choisi un masque
qui nous permettra d'identifier 128 machines. Mais nous poss´edons une plage
d'adresses de 256 adresse. Ou faut-il placer nos 128 adresses dans cette plage ?
Peut-on les placer n'importe o`u ?
La r´eponse est bien sur non. Nous n'avons que deux possibilit´es pour
choisir notre plage, les adresses de 0 `a 127, et les adresses de 128 `a 255.
Choisir une plage de 32 `a 160 serait une erreur, et le r´eseau ne fonctionnerait
pas.
Voici l'explication :
La diff´erentiation du r´eseau va se faire sur le premier bit du dernier octet
(vu que nos trois premiers octets sont fix´es `a 193.225.34) Si ce bit est `a 0,
cela correspond aux adresses de 0 `a 127. S'il est `a 1, cela correspond aux
adresses de 128 `a 255. Ainsi, si l'on choisit une plage d'adresses de 32 `a
160, les adresses de 32 `a 127 auront le premier bit de leur dernier octet `a 0,
alors que les adresses de 128 `a 160 auront ce mˆeme bit `a 1, elles seront alors
consid´er´ees comme ´etant dans deux r´eseaux diff´erents ! ! !
Ainsi, quel que soit le nombre de machines `a placer dans une plage, on ne
peut pas choisir l'adressage n'importe comment.
PS : Dans notre cas, les deux choix possibles sont identiques, mais l'on verra
par la suite que ce n'est pas toujours le cas pour des plages plus petites...
6.4 Une m´ethode simple pour trouver les adresses de
r´eseau possibles
Il n'est pas toujours ´evident de savoir si une adresse correspond bien `a
celle d'un r´eseau selon le masque que l'on a choisi. Avec la m´ethode suivante,
vous devriez pouvoir vous en sortir. Il faut avant tout que vous ayez d´etermin´e
le masque selon le nombre de machines dont vous avez besoin. Ensuite, selon
l'octet significatif (qui n'est pas `a 0 ou 255) faites 256 - cetoctet=X. l'adresse
de r´eseau devra alors ˆetre un multiple de X. Un petit exemple pour mettre
ˆetre un peu plus clair. On veut par exemple 50 machines, on choisit donc un
masque en 255.255.255.192. C'est le dernier octet qui est significatif, on fait
donc 256-192=64.
16
Il faut donc que le dernier octet de l'adresse de r´eseau soit un multiple
de 64. Si on prend la plage 10.0.0.0/255.255.255.192,
on pourra choisir les adresses de r´eseau suivantes :
10.0.0.0
10.0.0.64
10.0.0.128
10.0.0.192
6.5 Comment d´ecouper une plage r´eseau quelconque
comme somme de plusieurs plages ?
Nous avons vu qu'une plage r´eseau ne pouvait pas ˆetre choisie n'importe
comment. Etant donn´e que les masques et les adresses IP se basent sur un
codage binaire, les chiffres utilis´es dans les adresses r´esultantes ne pourront
que ˆetre des multiples de puissances de 2 en accord avec le masque. Ainsi,
une plage 70.0.0.0 ne pourra pas avoir un masque qui d´efinisse plus de deux
chiffres sur le premier octet, car 70 est un multiple de 2, mais pas de 4.
Ce n'est pas clair ? un exemple devrait vous aider `a mieux comprendre.
Disons que l'on veut d´ecrire la plage d'adresses allant de
69.0.0.0 `a 79.255.255.255. La question est de savoir quel masque associer `a
quelle adresse de r´eseau nous permettra de d´efinir cette plage ?
Le premier octet varie de 69 `a 79. Il prend donc 11 valeurs. 11 n'´etant pas
une puissance de 2, on sait d'ores et d´ej`a que l'on ne pourra pas d´efinir cette
plage avec un seul r´eseau, mais qu'il va falloir la d´ecouper en une somme de
plusieurs r´eseaux. Le but est cependant d'optimiser cette somme de r´eseaux
pour en avoir le moins possible. On pourrait simplement utiliser 11 r´eseaux
avec des masques 255.0.0.0, mais on doit surement pouvoir faire plus propre
et regrouper plusieurs de ces r´eseaux en un seul.
La premi`ere puissance de 2 inf´erieure `a 11 est 8. Il faut maintenant savoir
si l'on peut placer un r´eseau, dont le premier octet d´ecrira 8 valeurs, dans
cette plage. Le seul multiple de 8 de cette plage est 72. On d´ecrirait alors un
r´eseau dont le premier octet varierait de 72 `a 79, ce qui est bien compris dans
notre plage d'origine. Le r´eseau 72.0.0.0/248.0.0.0 est donc bien adapt´e pour
d´ecrire notre plage, mais il reste encore `a d´ecrire les adresses de 69.0.0.0 `a
71.255.255.255.
On effectue le mˆeme raisonnement. (Ici le premier octet prend 3 valeurs,
la puissance de 2 inf´erieure `a 3 est 2, et le multiple de 2 de cette plage est
17
70).
On trouve donc le r´eseau 70.0.0.0/254.0.0.0
Il ne nous reste plus qu'`a d´ecrire la plage 69.0.0.0 `a 69.255.255.255 qui peut
ˆetre d´efinie par 69.0.0.0/255.0.0.0.
Et voil`a ! ! Nous avons d´ecoup´e notre plage d'origine qui allait de 69.0.0.0 `a
79.255.255.255 en trois sous r´eseaux :
69.0.0.0/255.0.0.0
70.0.0.0/254.0.0.0
72.0.0.0/248.0.0.0
6.6 Plages r´eserv´ees (RFC 1918)
Certaines plages d'adresses ont ´et´e r´eserv´ees pour une utilisation locale.
Ainsi, pour configurer un r´eseau local quand on n'a pas de plage d'adresses
publiques `a disposition, on doit utiliser ces plages d'adresses priv´ees. Si vous
voulez avoir plusieurs r´eseaux, c'est `a vous de faire le d´ecoupage au sein de
ces plages comme bon vous semble.
Voici ces plages d'adresses :
– 10.0.0.0/255.0.0.0 soit plus de 16 millions d'adresses.
– 192.168.0.0/255.255.0.0 soit pr`es de 65000 adresses.
– 172.16.0.0/255.255.240.0 soit 4080 adresses.
Si apr`es vous ne trouvez pas votre bonheur, c'est que vous avez un sacr´ement
grand r´eseau, ou que vous vous y prenez mal...
18
7 Comment d´ecouper une plage d'adresses
en plusieurs sous r´eseaux ?
7.1 D´etermination des masques pour chacun des r´eseaux
Il est souvent n´ecessaire de d´ecouper une plage d'adresses en plusieurs
sous-r´eseaux. Pour cela, il vaut souvent mieux envisager le d´ecoupage des
r´eseaux dans son ensemble plutˆot que de les faire chacun s´epar´ement et de
se rendre compte `a la fin qu'ils sont incompatibles...
Ainsi nous allons encore partir du nombre de machines dans chacun des
r´eseaux. Prenons l'exemple pr´ec´edent du r´eseau 193.225.34.0/255.255.255.0.
On d´esire comme pr´ec´edemment faire un sous r´eseau de 60 machines, mais
aussi un r´eseaux de 44 machines et un dernier de 20 machines. De la mˆeme
fa¸con que nous l'avons vu pr´ec´edemment, pour 44 machines, il faudra r´eserver
64 adresses, soit un masque 255.255.255.192. Pour 20 machines, il faudra
r´eserver 32 adresses, soit un masque 255.255.255.224.
7.2 D´etermination des plages r´eseau
Nous allons donc devoir placer trois plages de 128, 64 et 32 adresses
dans une plage de 256 adresses, cela ne devrait pas poser de probl`eme.On
commence par la plage la plus grande de 128 adresses. Si on commen¸cait par
la plus petite et qu'on la pla¸cait n'importe o`u, cela pourrait poser probl`eme.
Imaginons que l'on place la plage de 32 adresses de 0 `a 31, et celle de 64
adresses de 128 `a 192, il ne nous resterai plus de place pour la plage de 128
adresses ! ! ! On a donc deux choix pour cette plage de 128 adresses, soit les
adresses de 0 `a 127, soit de 128 `a 255. A priori, les deux choix sont possibles
et non d´eterminants. On choisit de 0 `a 127. Ainsi, notre sous r´eseau sera
caract´eris´e par 193.225.34.0/255.255.255.128. Pour la seconde plage de 64
adresses, il nous reste deux plages d'adresses possibles, de 128 `a 191, et de
192 `a 255. L`a encore le choix n'est pas d´eterminant. On choisit de 128 `a 191.
Ainsi, notre sous r´eseau sera caract´eris´e par 193.225.34.128/255.255.255.192
(ici, la premi`ere adresse de notre plage (l adresse du r´eseau) est celle en 128
et le dernier octet du masque en 192 nous indique que ce sous-r´eseau contient
64 adresses)
Enfin, pour la derni`ere plage de 32 adresses, il nous reste encore deux
possibilit´es de 192 `a 223 ou de 224 `a 255. On choisit de 192 `a 223. Ainsi,
notre sous-r´eseau sera caract´eris´e par 193.225.34.192/255.255.255.224.
19
7.3 Le r´esultat
Nous avons donc d´ecoup´e notre r´eseau d'origine 193.225.34.0/255.255.255.0
en trois sous r´eseaux
193.225.34.0/255.255.255.128
193.225.34.128/255.255.255.192
193.225.34.192/255.255.255.224
Il nous reste mˆeme une plage de 32 adresses non utilis´ees de 224 `a 255.
20
8 Que sont les classes d'adresses A, B, C,
D... ?
8.1 Historique
Comme nous l'avons vu dans le paragraphe 2, le masque de sous r´eseau
permet de segmenter l'ensemble des adresses de l'Internet en diff´erents r´eseaux.
Mais cette segmentation ne s'est pas faite n'importe comment !
On a d´ecoup´e la plage d'adresses disponible en cinq parties distinctes. Les
classes A, B, C, D et E, que l'on appelle aussi adresses globales.
8.2 D´efinitions
– Classe A : premier bit de l'adresse `a 1, et masque de sous r´eseau en
255.0.0.0. Ce qui donne la plage d'adresse 0.0.0.0 `a 126.255.255.255 soit
16 777 214 adresses par r´eseau de classe A.
– Classe B : Deux premiers bits de l'adresse `a 10 (1 et 0), et masque de
sous r´eseau en 255.255.0.0. Ce qui donne la plage d'adresse 128.0.0.0 `a
191.255.255.255 soit 65 534 adresses par r´eseau de classe B.
– Classe C : Trois premiers bits de l'adresse `a 110, et masque de sous
r´eseau en 255.255.255.0. Ce qui donne la plage d'adresse 192.0.0.0 `a
223.255.255.255 soit 255 adresses par r´eseau de classe C.
– Classe D : Quatre premiers bits de l'adresse `a 1110, et masque de sous
r´eseau en 255.255.255.240. Ce qui donne la plage d'adresse 224.0.0.0 `a
239.255.255.255 soit 255 adresses par r´eseau de classe C.
– Classe E : Quatre premiers bits de l'adresse `a 1111, et masque de sous
r´eseau en 255.255.255.240. Ce qui donne la plage d'adresse 240.0.0.0 `a
255.255.255.255 .
Les classes A, B et C, sont r´eserv´ees pour les utilisateurs d'Internet (entreprises,
administrations, fournisseurs d'acc`es, etc). La classe D est r´eserv´ee
pour les flux multicast et la classe E n'est pas utilis´ee aujourd'hui (du moins,
je n'en ai pas connaissance...). Ainsi, une entreprise demandant 80 000 adresses
21
se voyait attribuer un r´eseau de classe A, et gˆachait par la mˆeme occasion
(16 777 214 - 80 000=) 16 697 214 adresses ! ! ! Inutile alors de vous montrer
combien d'adresses ´etaient perdues de la sorte...
8.3 Y a-t-il une p´enurie d'adresses IPv4 ?
La r´eponse est non.
Il n'y a pas aujourd'hui de p´enurie d'adresses IP. Cependant, il est certain
qu'´etant donn´e le d´eveloppement rapide d'Internet, on va vite arriver `a une
situation critique. C'est aussi pour cela qu'une nouvelle version d'IP a ´et´e
cr´e´ee et sera bientˆot d´eploy´ee.
8.4 Le syst`eme d'adressage par classes est-il viable ?
La r´eponse est encore non, et a d´ej`a ´et´e depuis bien longtemps ´etudi´ee et
transform´e. Nous avons vu qu'en se basant sur ce syst`eme de classes, nous
risquons de gˆacher un tr`es grand nombre d'adresses. Les classes d'adresses
globales se sont donc rapidement av´er´ees obsol`etes et on a du cr´eer un nouveau
mod`ele, l'adressage CIDR
8.5 Qu'est-ce que l'adressage CIDR?
Etant donn´e que l'adressage par classes s'est av´er´e incompatible avec
l'´evolution d'Internet, il a fallu imaginer un nouveau mod`ele qui simplifierait
`a la fois le routage et permettrait un adressage plus fin. Pour cela, on a cr´e´e
l'adressage CIDR (Classless Inter-Domain Routing) Cet adressage ne tient
pas compte des classes globales et autorise l'utilisation de sous-r´eseaux au
sein de toutes les classes d'adresses.
Ainsi, une entreprise d´esirant 80 000 adresses ne se verra plus attribuer
une classe A compl`ete, mais un sous r´eseau de cette classe A. Par exemple,
on lui fournira non plus 16 millions d'adresses, mais 130 000 (la puissance de
deux sup´erieure `a 80 000) Ainsi les 16 millions d'adresses restantes pourront
ˆetre utilis´ees pour d'autres entit´es.
L'adressage CIDR ne tient donc plus du tout compte des masques associ´es
aux classes d'adresses globales. On s'affranchit ainsi du d´ecoupage arbitraire
et peu flexible en classes.
On peut tr`es bien trouver un r´eseau de classe B avec un masque de classe
C, par exemple 164.23.0.0/255.255.255.0.
22
9 Trucs et astuces avec les masques
9.1 Comment d´eterminer qu'une machine appartient
`a mon r´eseau ?
C'est tr`es simple. pour cela, il va falloir d´eterminer si l'adresse de la
machine appartient `a la plage d'adresses d´efinie par mon adresse et mon
masque.
Pour cela, je fais un ET logique entre mon adresse et mon masque r´eseau,
j'en d´eduis donc l'adresse de mon r´eseau (pour une explication du ET logique,
regarder le paragraphe 10.4)
Je fais pareil avec l'adresse de l'autre machine et MON masque r´eseau,
et j'obtiens une adresse de r´eseau. Si les deux adresses de r´eseau sont les
mˆemes, ¸ca veut dire que la machine appartient bien au mˆeme r´eseau.
Disons par exemple que ma machine ait pour adresse 192.168.0.140/255.255.255.128
et je veux savoir si les machines A et B ayant pour adresses 192.168.0.20(A)
et 192.168.0.185(B) sont sur le mˆeme r´eseau ? Je fais
192.168.0.140
ET 255.255.255.128
-------------------
= 192.168.0.128
de mˆeme avec les deux autres adresses
– Pour A :
192.168.0.20
ET 255.255.255.128
-------------------
= 192.168.0.0
– et pour B :
192.168.0.185
ET 255.255.255.128
--------------------
= 192.168.0.128
23
On voit ainsi que les nombres obtenus sont les mˆemes pour ma machine
et B. On en d´eduit donc que B est sur le mˆeme r´eseau, et que A est sur un
r´eseau diff´erent.
9.2 Des machines sur un mˆeme r´eseau peuvent elles
avoir des masques diff´erents ?
A priori, la r´eponse est non. Cependant, il peut y avoir des cas dans
lesquels une telle configuration peut ˆetre utile.
Pour comprendre cela, il faut comprendre ce qui se passe au niveau de
la communication entre machines, et notamment sur le fonctionnement du
mod`ele TCP/IP. Celui-ci ne faisant pas partie de l'objet du cours, nous ne
ferons que survoler le sujet.
En fait, ce ne sont pas les mˆemes m´ecanismes qui g`erent une communication
entre deux machines sur un mˆeme r´eseau, et deux machines sur deux
r´eseaux distincts. Une communication a lieu dans les deux sens, c'est `a dire
que pour communiquer ensemble, une machine A doit voir une machine B
ET la machine B doit voir la machine A.
Prenons l'exemple de trois machines A, B et C et de la plage d'adresses
192.168.0.0/24. A doit pouvoir communiquer avec B et C, mais B ne doit pas
pouvoir communiquer avec C. Pour cela, on peut jouer sur les masques des
machines et les plages d'adresses r´eseau auxquelles elles appartiennent.
Grˆace aux masques, on peut d´ecouper cette plage en deux, et on obtient
ainsi, non plus une plage d'adresses... mais trois !
1. 192.168.0.0/255.255.255.0
soit de 192.168.0.0 `a 192.168.0.255
2. 192.168.0.0/255.255.255.128
soit de 192.168.0.0 `a 192.168.0.127
3. 192.168.0.128/255.255.255.128
soit de 192.168.0.128 `a 192.168.0.255
En fait, la premi`ere plage englobe les deux autres, ainsi, une machine de la
premi`ere plage pourra voir toutes les autres machines des autres plages, mais
une machine de la seconde plage ne pourra pas voir toutes les machines de
la premi`ere plage (seulement la moiti´e des adresses...)
Ce n'est pas clair ? regardons alors un exemple :
On donne les adresses suivantes aux machines A, B et C.
24
– A : 192.168.0.129/255.255.255.0
– B : 192.168.0.130/255.255.255.128
– C : 192.168.0.1/255.255.255.0
D'apr`es ce que l'on a vu pr´ec´edemment, A et C consid`erent que la machine
B est sur leur r´eseau. Par contre, B consid`ere que C n'est pas sur son r´eseau.
Ainsi, C peut envoyer un paquet `a B, mais B ne pourra pas lui r´epondre.
Cette configuration correspond donc bien `a ce que