Licence CC BY-NC-ND

Des adresses en folie !

Pour communiquer, il faut savoir à qui on veut s’adresser ! Lorsque nous avons parlé du commutateur (ou switch) dans le chapitre sur le matériel, nous avons évoqué des moyens d’identification au sein du réseau : l’adresse IP et l’adresse MAC. Il est temps de voir ce que c’est, et pourquoi on a besoin de ces 2 types d’adresses.

IP vs MAC

Il est temps de parler de l’identification et de la communication dans un réseau. Nous allons aborder 2 notions : il s’agit des adresses IP et des adresses MAC. Nous allons les aborder une par une, et comprendre pourquoi il y a des adresses IP et des adresses MAC.

Adresse IP : l’adresse relative au réseau

Dans le premier chapitre, nous avons vu un exemple simple de la transmission d’un livre entre humains. Mais, pour transmettre un livre à André, vous devez savoir où il habite.

Une adresse IP n’est « rien d’autre » que l’endroit où habite un ordinateur. Mais attention : cette adresse est relative au réseau. Une machine n’aura pas forcément la même adresse IP sur un réseau X et un réseau Y. Nous n’entrerons pas dans les détails pour le moment, l’adressage n’étant pas vraiment une base.

Les adresses IP sont le seul moyen d’identification des machines sur Internet. Mais il existe 2 versions du protocole Internet (la « manière » d’accéder à Internet en quelque sorte) : IPv4 et IPv6. Et chaque version utilise sa propre structure d’adresse IP.

Une « adresse IPv4 » est constituée de 4 nombres correspondant à 4 octets compris entre 0 et 255, séparés par des points. Exemple : 88.45.124.201. De nos jours, ce sont les plus connues. Les « adresses IPv6 » sont encore plus complexes : elles sont représentées par une suite de 8 groupes de 2 octets représentés en hexadécimal (je vous avais prévenu que c’était complexe :-° ). Exemple (tiré de Wikipédia) : 1fff:0000:0a88:85a3:0000:0000:ac1f:8001.

Cette explication de ce qu’est une adresse IP est acceptable pour l’instant, mais vous verrez pourquoi une adresse IP est plus complexe que ça. En fait elle agit un peu comme un signe distinctif : si dans une rue toutes les maisons sont identiques, comment faites-vous pour reconnaître celle d’André ou de Pierre ? Dans notre exemple, c’est en se basant sur le numéro affiché devant la maison. Mais s’il existe plusieurs rues ? Plusieurs maisons peuvent avoir le même numéro sans être au même emplacement. Comment fait-on pour délimiter les rues ? On utilise pour cela un masque de sous-réseau, et l’adresse IP correspond au numéro de chacune des maisons.

Internet est une sorte de rue géante, comportant des croisements avec d’autres rues plus petites. Ces petites rues sont des sous-réseaux connectés à Internet, et chaque messager (chaque passerelle par défaut) aux carrefours possède une adresse IP spéciale relative au réseau Internet.

Adresses MAC : l’adresse relative à la carte réseau

Précisons avant tout, le nom d’adresse MAC n’a rien à voir avec les ordinateurs Mac. Il vaut mieux prévenir, on ne sait jamais… :-°

Comme dit brièvement lors du chapitre précédent, une adresse MAC est un identifiant unique attribué à chaque carte réseau. C’est une adresse physique. Concrètement, c’est un numéro d’identification composé de 12 chiffres hexadécimaux. Par convention, on place un symbole deux-points ( : ) tous les 2 chiffres. Une adresse MAC ressemble donc à cela : 01:23:45:67:89:AB.

Imaginons un petit réseau de 3 ordinateurs connectés au même switch. Rappelez-vous, un switch est plus intelligent qu’un hub. Plutôt que d’envoyer ce qu’il reçoit par un port à tous les autres, il « filtre » les données renvoyées en se basant sur les adresses MAC des ordinateurs qui sont connectés. Prenons par exemple trois ordinateurs. Appelons-les Vince-PC, junior0-PC, et The_frog-PC (au cas où vous vous demanderiez pourquoi ces noms, ce sont les auteurs historiques du tuto :D ). Si Vince-PC veut communiquer avec junior0-PC, il va envoyer au switch ce qu’il veut communiquer à junior0-PC. Le switch, ou commutateur, va regarder l’adresse MAC du destinataire et va lui envoyer ce qui lui est destiné sans l’envoyer aux autres machines (ici à The_frog-pc). En fait, le commutateur utilise une table de correspondance entre adresses MAC et ports pour savoir où envoyer les données.

Voici une illustration d’une communication basée sur les adresses MAC :

Une trame contient au moins les adresses MAC du destinataire et de l'expéditeur
Une trame contient au moins les adresses MAC du destinataire et de l’expéditeur

Mais pourquoi on n’utilise pas juste les adresses MAC ?

Parce que dans un grand réseau, comme un WAN, ou même Internet, il n’y a pas d’élément central qui connait l’emplacement du destinataire et qui peut renvoyer les données en conséquence. Par contre, le système d’adresses IP permet, grâce à un processus appelé routage, d’assurer que les données arrivent bien au destinataire. Le routage sera expliqué dès la prochaine partie.

En résumé…

La différence primordiale entre les adresses IP et les adresses MAC est que les adresses IP sont routables. Elles peuvent communiquer avec des machines au-delà d’un sous-réseau, contrairement aux adresses MAC. Le switch, au cœur du LAN, se base donc sur les adresses MAC pour assurer la communication entre plusieurs machines appartenant à un même sous-réseau. En revanche, les adresses IP sont utilisées pour faire communiquer des machines de sous-réseaux différents.

On espère que vous avez compris. :)

Masque de sous-réseau et passerelle

Afin de présenter ces notions, nous allons reprendre l’idée d’un « réseau » d’humains.

Les sous-réseaux et leurs masques

Considérons deux personnes, Jacques et Jean, et un gros réseau : leur ville. Nous allons établir des lois. Pour que deux personnes puissent se parler directement :

  • Elles doivent parler la même langue ;
  • Elles doivent habiter dans la même rue ;
  • Chaque personne doit connaître l’adresse de l’autre (le numéro de la maison de l’autre).

Si Jacques habite la rue ClemStreet, et Jean aussi, alors ils peuvent facilement communiquer : ce n’est pas bien loin, ils vont marcher mais ils doivent, évidemment, parler la même langue. La rue est ici l’équivalent de ce qu’on appelle en informatique un sous-réseau, quant à la langue, c’est ce que l’on appelle un protocole. Si vous avez bien compris : une autre rue, par exemple juniorStreet (c’est le créateur du tuto qui a choisi ce nom :-° ), équivaut donc en informatique à… un autre sous-réseau !

Mais que vient faire un masque ici ?

Ce serait très difficile d’expliquer directement cette notion, alors nous utiliser notre formule magique : analogie, magie ! :magicien:

Dans une adresse postale, il y a un numéro et un nom de rue. Par exemple : 17 rue des Coquelicots (au hasard :-° ). Un masque, c’est ce qui sépare le numéro du nom de la rue. Pour une adresse postale, ça se voit à l’œil nu (on sait reconnaitre en un coup d’œil un numéro). Mais en réseau, c’est différent.

Prenons l’adresse IP 10.54.29.84 (au hasard, toujours). On ne peut pas, à première vue, reconnaitre le numéro (de l’hôte) de la rue (le réseau, ou sous-réseau) : il n’y a que des chiffres ! C’est pour ça qu’on a recours à un masque : c’est une suite de nombres qui dit que telle partie correspond au nom de la rue (au sous-réseau) et telle partie identifie l’hôte (le numéro de la maison). On verra dans les chapitres suivants comment se représente un masque. :)

Prenons un autre exemple : le téléphone (ce n’est pas pour rien qu’on a évoqué le réseau télécom avec le réseau Internet !).

Si vous souhaitez téléphoner, que faites-vous ? C’est simple : vous prenez votre téléphone, vous tapez le numéro de votre correspondant, puis vous validez (en général, parce qu’il y a toujours des téléphones bizarres :p ). Le numéro de votre correspondant peut, là encore, être assimilé à une adresse IP. ;)

Cependant, si vous appelez à l’international, comment faire ? Si votre ami habite le Cameroun par exemple, vous devez rentrer l’indicatif national de son pays. Dans notre cas, c’est 237 (vous rentrerez alors +237 sur les portables et 00237 sur les fixes généralement). Vous voyez le rapport avec les sous-réseaux ? Un pays représente dans notre exemple un sous-réseau du réseau télécom mondial et l’indicatif de ce pays est équivalent au masque du sous-réseau.

On voit donc dans ces deux exemples que l’adresse IP (le numéro de la maison ou le numéro de téléphone) appartient à un sous-réseau.

En reprenant le parallèle que l’on vient de faire entre un réseau « humain » et un réseau informatique, et maintenant que l’on a tout le vocabulaire, vous devez être capable de transformer les trois lois précédentes en les appliquant à un réseau informatique…

La correction ? La voici :

Pour que 2 hôtes (machines connectées) communiquent :

  • Ils doivent utiliser le même protocole ;
  • Ils doivent appartenir au même sous-réseau ;
  • Chaque hôte doit connaître l’adresse IP de l’autre.

Mais alors, comment faire pour que deux machines, appartenant à des sous-réseaux différents, communiquent ?

C’est là qu’intervient…

…La passerelle

Celle-ci permet donc la communication entre deux sous-réseaux :

Une passerelle qui relie 2 sous-réseaux entre eux
Une passerelle qui relie 2 sous-réseaux entre eux

Une passerelle est un autre ordinateur qui a plusieurs cartes réseau (en général, c’est un routeur). Cet ordinateur peut communiquer avec plusieurs sous-réseaux. On peut le comparer à une personne située à un carrefour, c’est-à-dire un croisement de plusieurs rues. La passerelle sert ainsi de messager entre les habitants des différentes rues. Il faut un peu d’imagination pour comprendre…

On parle aussi de passerelle par défaut, de passerelle applicative ou de passerelle logique. Tous ces termes sont synonymes.

Un hôte communique avec la passerelle par défaut selon l’architecture client-serveur.

Le client et le serveur

Client et serveur, voici 2 mots que vous pouvez rencontrer dans la vie courante. Dans un café, par exemple. Un client est une personne qui demande quelque chose au serveur : le client demande un café au serveur, qui lui apporte. En informatique, le principe est le même : un client va demander quelque chose au serveur. Un exemple très simple : quand vous allez sur Zeste de Savoir, vous êtes un client qui demande au serveur du site une page. Dans la théorie, c’est aussi simple que ça.

Le mode de communication entre un client et un serveur est appelé architecture client-serveur.

Un autre exemple ? Les serveurs IRC. Pour ceux qui ne connaissent pas, un serveur IRC est un serveur (eh oui :-° ) sur lequel des clients peuvent venir discuter (« chatter ») sur des salons. Un des clients ayant rejoint un salon peut envoyer un message au serveur en lui demandant de le transmettre aux autres, ce qu’il s’empresse de faire comme le montre cette animation :

Des clients connectés à un serveur IRC, sur le même salon, s'échangent des messages
Des clients connectés à un serveur IRC, sur le même salon, s’échangent des messages

Bien que cette architecture se retrouve dans beaucoup d'applications d’Internet (eh oui, il faut se remémorer le premier chapitre, dur :D ), il existe un autre mode de communication : le pair-à-pair (P2P). Il s’avère très pratique dans certaines applications, comme le partage de fichiers notamment.


Vous devriez à ce stade comprendre l’identification dans un réseau. Mais n’allez pas vous imaginer que c’est si simple ! Maintenant, on va aller plus en profondeur…