Réseau de données

Introduction :

Dans ce cours, nous allons rappeler ce qu’est un réseau informatique, notion fondamentale dans les communications d’aujourd’hui.
Pour cela, nous nous intéresserons à la manière dont raccorder physiquement ces équipements. Nous nous pencherons ensuite sur les procédés employés pour qu’ils communiquent entre eux, notamment sur les protocoles IP et TCP.

Le réseau

Définissons d’abord ce qu’est un réseau informatique.

bannière definition

Définition

Réseau informatique :

Un réseau informatique réunit des liens de différentes natures (câbles, fibres optiques, liaisons satellite ou radio, etc.) et fait communiquer entre eux des équipements informatiques (ordinateurs, routeurs, concentrateurs, etc.) appelés nœuds.

La liaison physique au réseau

Afin que les équipements puissent communiquer entre eux, il est avant tout nécessaire de prévoir du matériel pour les connecter physiquement.

Ce qui permet de raccorder physiquement un équipement en vue de le faire communiquer est ce que l’on appelle son interface réseau. Celle-ci est constituée d’une partie matérielle dotée d’un élément de raccordement.

  • La mission de cette interface est de transmettre et de recevoir des signaux physiques (électriques ou électromagnétiques) qui correspondent à des bits.

Nous nous focalisons ici sur les techniques de raccordement qui sont les plus déployées et connues : le câble Ethernet, la liaison Wi-Fi et la fibre optique, de plus en plus répandue et qui possède des avantages non négligeables.

  • Le câble Ethernet est doté de deux extrémités de type RJ45. Il est constitué en interne de $8$ fils conducteurs, torsadés par paire, afin de limiter les perturbations venant de l’extérieur. Seulement deux paires sont en fait utilisées.
  • Le câble est naturellement adapté aux matériels fixes tels que des ordinateurs de bureau ou les serveurs.

Alt Sciences de l’ingénieur première réseau de données Câble Ethernet, extrémités de type RJ45, paires torsadées deux à deux

  • La liaison Wi-Fi (Wireless Fidelity) permet quant à elle une connexion sans fil, via des ondes électromagnétiques.
  • Ce type de liaison trouve son utilité avec les matériels nomades tels que des ordinateurs portables, des tablettes ou des smartphones.
  • Dans une fibre optique, les signaux sont portés par la lumière. Les informations peuvent être transmises très rapidement, et sur de longues distances.

En outre, la fibre optique est moins sensible aux perturbations extérieures, elle est par exemple insensible aux perturbations électromagnétiques.
Enfin, les possibilités d’écoute y sont réduites, offrant une confidentialité plus grande qu’une liaison Wi-Fi ou Ethernet.

  • La fibre optique est idéale pour des réseaux étendus sur plusieurs bâtiments (d’une même entreprise, par exemple).

Nous venons de voir comment relier un réseau informatique. Intéressons-nous à l’organisation d’un réseau.

Topologie des réseaux

Commençons par regarder les grandes familles de réseaux.

bannière definition

Définition

Réseau BUS :

Les BUS informatiques, qui relient dans un ordinateur les différents composants, peuvent être considérés comme des réseaux qui, chacun, ont des rôles particuliers. Ces réseaux sont bien sûr à petite échelle.

bannière definition

Définition

Réseau local :

Un réseau local (LAN, pour Local Area Network) est un réseau informatique qui interconnecte des équipements généralement situés dans un même bâtiment ou groupe de bâtiments.

  • Ces réseaux locaux sont ceux auxquels nous sommes le plus habitués – le réseau de notre maison ou celui de notre lycée appartiennent à cette famille. Nous nous intéresserons donc tout particulièrement à ce type de réseau.
bannière definition

Définition

Réseau métropolitain :

Un réseau métropolitain (MAN, pour Metropolitan Area Network) est un réseau informatique qui interconnecte des équipements généralement situés dans une même ville.

bannière exemple

Exemple

Par exemple, nous pouvons penser au réseau qui relie les différents services d’une mairie, répartis un peu partout en ville.

bannière definition

Définition

Réseau étendu :

Un réseau étendu (WAN, pour Wide Area Network) est un réseau informatique qui interconnecte des équipements à l’échelle d’un pays ou mondiale.

bannière exemple

Exemple

Internet est le plus grand réseau étendu !

Il existe deux modes de fonctionnement pour les réseaux : le mode diffusion et le mode point à point.

bannière à retenir

À retenir

  • Dans le mode diffusion, un équipement, lorsqu’il envoie une information, l’envoie à tous les autres équipements du réseau. L’information disposera d’une adresse précise et c’est chaque équipement qui regardera s’il est effectivement concerné.
  • Dans le mode point à point, les équipements sont reliés deux à deux. Ainsi, si deux équipements non reliés directement souhaitent communiquer, il leur faudra passer par d’autres nœuds du réseau.

Regardons maintenant différentes architectures de réseau, classées selon leur mode de fonctionnement.

Alt Sciences de l’ingénieur première réseau de données Topologie des réseaux

  • Pour les réseaux en mode de diffusion, nous comprenons tout de suite que la panne d’un équipement ne paralyse pas le réseau.
  • Cependant, les informations étant systématiquement transmises à tous les nœuds, cela demande à chacun de traiter un nombre important de données, y compris celles qui ne le concernent pas directement.
  • En revanche, dans un réseau en boucle – où chaque équipement qui reçoit une information de son voisin en amont la transmet à son voisin en aval –, si n’importe quel équipement tombe en panne, alors tout le réseau est paralysé.
  • Un réseau en maillage – où tous les équipements sont reliés deux à deux – semble le plus sécurisé des réseaux en mode point à point, mais il est lourd en câblage et peut coûter cher à une entreprise, par exemple.
  • Une solution est de faire un maillage irrégulier, qui réduira les besoins physiques en câblage, tout en assurant une certaine fiabilité ; il s’agira alors de trouver le bon équilibre.
bannière à retenir

À retenir

Le réseau en étoile est celui qui nous est le plus familier, car la plupart de nos réseaux domestiques reposent sur ce type.
Les équipements sont reliés à un système central, qui gère toutes les communications entre eux.

  • Une panne du système central paralysera l’ensemble du réseau. Mais des problèmes sur les autres équipements, ou sur les liaisons, n’affecteront pas le reste du réseau.

Échanges de données sur le réseau local

Lorsque deux personnes se parlent, pour se comprendre, elles doivent parler la même langue. De la même manière, nos matériels connectés doivent employer au niveau local le même langage, que l’on désigne par protocole.
Nous nous intéressons ci-après au protocole Ethernet, terme désignant également les câbles de connexion évoqués précédemment.

bannière definition

Définition

Protocole :

Un protocole est un ensemble de règles adoptées par tous les équipements et qui permettent d’établir, de mener et de clore une communication entre deux éléments.

Partage de l’accès au réseau

L’un des principes du protocole Ethernet est de veiller à ce que les machines n’émettent pas sur le réseau en même temps.

  • Dans le cas contraire, cela engendrerait une collision qui altérerait leur message.

Le protocole impose donc qu’une machine qui veut émettre « écoute » d’abord le réseau pour savoir si une autre n’est pas en train d’émettre.
Elle vérifie également qu’il n’y ait pas de collision pendant qu’elle émet, auquel cas elle cesse toute émission et attend un temps aléatoire avant d’émettre à nouveau.

  • Le nom donné à ce protocole est CSMA/CD (Carrier Sense Multiple Access / Collision Detection, soit : « Écoute d’un support à accès multiple / détection de collision »).

L’adresse MAC

Une fois que la machine peut émettre, comment fait-elle pour s’adresser à son destinataire ? Elle va utiliser l’adresse physique qui lui correspond, appelée adresse MAC (Media Access Control).

  • Elle identifie de manière unique au monde l’interface réseau d’un matériel. Elle est codée sur $6\ \text{octets}$. On l’exprime en codage hexadécimal.
bannière exemple

Exemple

$00:37:\text{6C}:\text{F}2:\text{EB}:72$

Le message est transmis sur le réseau sous forme de trames dotées d’un mécanisme de contrôle d’erreurs de transmission appelé CRC (Cyclic Redundancy Check).

La couche Internet

Nous savons comment, grâce aux équipements de raccordement et au protocole Ethernet, deux machines peuvent communiquer sur un même réseau local.
Qu’en est-il si une machine souhaite entrer en relation avec un équipement qui ne se trouve pas sur le même réseau local ? Il faut trouver un chemin qui conduise de son réseau local à celui de destination.

  • C’est le rôle de la couche dite « Internet », qui s’appuie sur le protocole IP (Internet Protocol).

L’adresse IP

  • Pour fonctionner, ce protocole se fonde sur une notion clé : l’adresse IP de l’interface réseau des machines.

Selon le réseau où chaque machine va se trouver, son adresse ne sera pas la même. Elle est affectée par l’administrateur réseau. Ce n’est donc pas une adresse « à vie » comme pour l’adresse MAC.

  • Cette adresse est constituée de $4\ \text{octets}$ dans la version 4 du protocole IP. On la formalise généralement en séparant la valeur de chacun des octets par un point.
bannière exemple

Exemple

$192.168.43.151$

bannière à retenir

À retenir

Par ailleurs, deux types d’adresses sont définis.

  • D’abord, nous définissons l’adresse privée.

Comme son nom l’indique, une telle adresse sert uniquement dans les réseaux privés, mais pas sur Internet. Elle permet aux machines de communiquer localement.
Par conséquent, deux machines peuvent détenir la même adresse IP privée, à condition qu’elles se situent sur deux réseaux privés distincts.
Pour permettre à une machine dotée d’une adresse privée d’accéder à Internet, une traduction de son adresse privée en adresse publique est nécessaire.

  • C’est le mécanisme NAT (Network Adresse Translation) qui assure cette fonction. Ce mécanisme de traduction d’adresse réseau est actif sur les équipements qui sont à la frontière entre les réseaux privés et les réseaux publics, nommés passerelles ou routeurs (gateway en anglais).
  • Ensuite, nous définissons l’adresse publique.

Une telle adresse est attribuée aux machines connectées sur Internet. Ce sont les FAI qui sont autorisés à affecter des adresses publiques, uniques au niveau mondial.

L’essor constant d’Internet et du nombre de machines connectées conduit actuellement à une pénurie d’adresses IPv4, ces dernières permettant de connecter « seulement » $4\ \text{milliards}$ d’appareils. Un nouveau protocole, appelé IPv6, propose de coder les adresses sur $16\ \text{octets}$.

bannière exemple

Exemple

$2018:0 \text{db}8:0000:85 \text{a}7:0000:0000:\text{ac}1\text f:8901$

  • Nous ne développerons pas plus de détails sur IPv6 dans ce cours.

Les passerelles

Un équipement qui veut émettre vers un autre connaît sa propre adresse IP ainsi que celle de son destinataire.

  • Sachant que ces deux adresses permettent d’identifier le réseau auquel leur propriétaire appartient, il est alors possible de savoir si la communication a lieu au sein d’un même réseau local ou non.

En effet, si les réseaux identifiés dans les deux adresses sont différents, alors les équipements ne sont pas connectés au même réseau local.

  • L’équipement qui veut joindre un destinataire qui se trouve dans un autre réseau local doit alors s’adresser à une passerelle.
bannière definition

Définition

Passerelle :

Une passerelle, ou routeur, est un équipement qui interconnecte deux réseaux entre eux.

bannière à retenir

À retenir

Une passerelle possède au moins deux interfaces réseau.

Une passerelle gère une table de routage, qui recense l’ensemble des adresses IP joignables sur chacune de ses interfaces. Lorsqu’un équipement la sollicite pour joindre une machine en dehors de son propre réseau, la passerelle regarde si l’adresse IP destinataire est sur l’un des autres sous-réseaux auxquels elle est connectée.

  • Si c’est le cas, elle transmet la donnée au sous-réseau en question, à destination de la machine visée.
  • Dans le cas contraire, elle transmet la donnée aux autres passerelles des autres sous-réseaux auxquels elle est connectée. À leur tour, ces autres passerelles consultent leur table de routage et transmettent les données selon le principe qui vient d’être exposé.

Alt Sciences de l’ingénieur première réseau de données Exemple de réseaux locaux interconnectés

Le paquet IP

Nous avons vu que c’est sur la base des adresses IP des machines que les données sont acheminées, via les passerelles, vers le réseau local de leur destinataire. Il est donc nécessaire de coder des adresses dans le message à transmettre (un peu comme un courrier qui contient à la fois l’adresse sur l’enveloppe et le message à l’intérieur).

  • D’où le datagramme IP ainsi construit :

Préfixe Adresse IP source Adresse IP destinataire Données techniques IP Message
$12\ \text{octets}$ $4\ \text{octets}$ $4\ \text{octets}$

Protocole TCP

Dans les faits, ce ne sont pas les machines qui communiquent, mais plus précisément des applications sur ces machines.

  • C’est la couche transport qui va permettre cela.

Plusieurs protocoles peuvent être utilisés pour la couche transport. Parmi eux, on peut citer UDP (User Datagram Protocol) et TCP (Transmission Control Protocol), tous deux capables de communiquer avec le protocole IP de la couche inférieure, c’est-à-dire la couche réseau.
Cependant, contrairement à UDP, TCP contrôle les erreurs de transmission grâce à un système d’accusés de réception.

  • Nous allons nous intéresser ici à TCP.

La communication d’application à application

bannière exemple

Exemple

Lorsqu'un internaute se connecte à un site Internet, un échange d’informations s’établit entre le navigateur Internet côté client et le programme qui diffuse le site web côté serveur.
D’autres types de communications peuvent intervenir au même moment, par exemple entre un logiciel de messagerie côté client et un service de messagerie côté serveur.

  • Ainsi, sur une même machine, telle qu’un serveur, peuvent cohabiter des services différents qui ont chacun besoin de communiquer. Il peut en être de même côté client.

Il est par conséquent nécessaire d’identifier, pour une adresse IP donnée, chacun de ces services afin d’y aiguiller les flux d’informations qui leur sont destinés. C’est le premier rôle joué par la couche transport dont l’un des protocoles est TCP. Des numéros de port TCP d'écoute, appelés ports « bien connus » ou ports réservés, sont ainsi définis.

Côté client, le système d'exploitation alloue dynamiquement des numéros de port aléatoires pour répondre aux besoins des applications utilisées par l'internaute.

  • Ces ports, appelés notamment ports dynamiques, se situent pour les systèmes d'exploitation récents entre $49152$ et $65355$.

Alt Sciences de l’ingénieur première réseau de données La communication d’application à application grâce à la couche transport

bannière definition

Définition

Protocole TCP :

Le protocole TCP est dit en « mode connecté » car il exige l’établissement d’une connexion avant tout échange de données ainsi que la fermeture de la connexion après échange.
C’est aussi parce qu’il est en mesure de retransmettre des données perdues.

bannière à retenir

À retenir

Une communication TCP s’établit selon le principe d’une connexion en trois temps, également appelé poignée de main à trois temps.

  • Le client envoie d’abord au serveur un numéro de séquence généré aléatoirement (dans notre exemple $1010$) dans un paquet TCP particulier (SYN).
  • Le serveur qui reçoit alors le paquet SYN génère à son tour un numéro aléatoire (dans notre exemple $3002$), qu’il va renvoyer dans un paquet particulier (SYN-ACK) qui contient également le numéro du client incrémenté de $1$ ($1011$ dans notre exemple).
  • Ce paquet est à la fois un accusé de réception pour le client et une synchronisation au niveau des numéros d’échange côté serveur et client.
  • Le client qui reçoit ce paquet se considère connecté au serveur et envoie un dernier paquet particulier (ACK) dans lequel le numéro de séquence serveur aura été incrémenté de $1$ ($3003$ dans l’exemple).
  • Le serveur qui reçoit ce paquet se considère à son tour connecté au client.
  • Ce processus en trois temps permet ainsi au serveur et au client de se synchroniser en s’échangeant leurs numéros de séquences avant de commencer leurs échanges de segments.

Alt Sciences de l’ingénieur première réseau de données Les trois étapes d’une connexion TCP

Notons qu’un autre processus, en quatre temps celui-ci, est défini pour mettre fin à la communication.

Le découpage des messages en segments et leur réassemblage

Le protocole TCP assure une autre tâche : le découpage en segments des informations que les applications lui demandent de transmettre.

  • Chacun de ces segments est alors encapsulé dans un paquet TCP comprenant en particulier les numéros de ports des applications sources et destinataires.
  • Ce paquet TCP est alors transmis à la couche réseau qui l’encapsule dans un datagramme IP.
  • Celui-ci est ensuite transmis à la couche liaison de données qui l’encapsule dans une trame Ethernet.
  • Celle-ci est transmise à la couche physique qui la code selon un signal physique.

Les différentes couches de l’interface réseau du côté de la machine réceptrice décapsuleront tour à tour la trame Ethernet, puis le datagramme IP.
TCP, quant à lui, devra réassembler les segments avant de les transmettre à l’application destinataire. Pour que les segments puissent être correctement réassemblés, ceux-ci doivent nécessairement être numérotés.

  • TCP réalise alors leur ordonnancement avant de les confier à la couche application.

Alt Sciences de l’ingénieur première réseau de données Encapsulations/Désencapsulations à travers les couches liaison de données, réseau et transport

Le contrôle du débit d’informations et le contrôle d’erreur

On a vu que TCP découpait les informations à transmettre en segments. C’est un mécanisme nécessaire à la régulation du volume des échanges entre deux applications qui communiquent.
Par ailleurs, en plus de ce découpage, TCP numérote les segments. Cette numérotation sert à remettre les segments dans l’ordre, mais aussi à contrôler la bonne réception des segments.

Maintenant que la connexion TCP est établie entre les deux partenaires, l’échange des données peut commencer. Voici un exemple qui illustre un échange au cours duquel un segment est perdu (le segment 3).

Alt Sciences de l’ingénieur première réseau de données Exemple d’échange TCP avec retransmission d’un segment

On découvre dans cet exemple :

  • la notion de fenêtre d’envoi : l’émetteur des données peut envoyer plusieurs segments sans attendre l’acquittement (accusé de réception) individuel de chacun d’eux, mais dans une certaine limite (ici, $560\ \text{octets}$) ;
  • cette fenêtre, qui s’adapte dynamiquement au cours de la communication, est un moyen de gérer le débit des données échangées ;
  • la notion de délai d’attente d’accusé de réception, au-delà duquel un segment est automatiquement renvoyé, ce qui permet d’éviter la perte de segments ;
  • ce délai s’ajuste également au cours de la communication selon les événements qui s’y produisent ;
  • l’acquittement du récepteur, qui fournit un numéro construit ainsi : numéro de séquence fourni par l’émetteur + longueur du segment + $1$ ; ce numéro correspond finalement au prochain numéro de séquence attendu ;
  • grâce à ce numéro, le récepteur peut identifier les segments en double ou manquants ;
  • la capacité du récepteur à reconstituer l’information de manière ordonnée à partir de segments reçus dans le désordre (ici : 1, 2, 4 puis 3) ;
  • l’intérêt de segmenter l’information à envoyer, qui évite d’avoir à la retransmettre intégralement en cas de non-réception.

Voilà autant d’aspects qui font de TCP un protocole d’échange de données très fiable qui s’est imposé pour le web.

bannière attention

Attention

Le protocole TCP n’est toutefois pas adapté à la diffusion en flux en continu, comme pour les vidéos en streaming, où la vitesse de transmission est privilégiée en acceptant de possibles pertes de données marginales.

bannière à retenir

À retenir

Le protocole TCP permet la communication d’application à application. Il permet :

  • d’aiguiller les flux d’informations vers les bonnes applications via les ports TCP ;
  • de découper les informations à transmettre en segments, de les réordonner et les réassembler lors de leur réception ;
  • de gérer les pertes de transmission de segments ainsi que les doublons, grâce au contrôle des numéros de séquence accompagnant les segments ;
  • de gérer le débit des données échangées.

Protocole TCP/IP et modèle OSI

Nous avons parcouru et empilé des couches, chacune dotée d’un rôle bien précis, selon le modèle TCP/IP spécifique à Internet.

  • Le modèle OSI (Open Systems Interconnection) est plus général et plus détaillé. Il est cependant possible d’établir un parallèle entre les deux modèles.

Alt texte Parallèle entre le modèle TCP/IP et le modèle OSI

Conclusion :

De plus en plus souvent, les objets dont nous nous servons intègrent des services « connectés », qui leur offrent une véritable valeur ajoutée, tant pratiquement qu’économiquement : comme contrôler, par exemple, le chauffage de sa maison à distance, via un smartphone.

Ainsi ce cours nous a-t-il permis de mieux comprendre comment sont constitués les réseaux, à la base de tout « objet connecté ».
Alors, quand nous travaillerons sur la conception d’un système, nous pourrons intégrer facilement des fonctionnalités qui enrichiront ses possibilités.