Les réseaux

(actualisé le ) par administrateur


1. Communication entre deux machines


Avant d’aborder la notion de réseau, il est nécessaire de se poser la question de la manière dont deux machines peuvent communiquer entre elles afin d’échanger des données.

Entre deux machines, les informations sont bien entendu échangées sous forme binaire ; le lien "physique" entre les deux machines doit donc permettre de véhiculer le flux des bits constituants ces informations.

De manière générale, ce lien physique véhicule des signaux électriques dont les variations au cours du temps permettent le codage des bits de données ; mais il peut aussi s’agir d’un signal lumineux dans le cas d’un lien en fibre optique.

Pour une transmission donnée sur une voie de communication entre deux machines
la communication peut s’effectuer de différentes manières. La transmission
est caractérisée par :

  • le sens des échanges
  • le mode de transmission : il s’agit du nombre de bits envoyés simultanément
  • la synchronisation : il s’agit de la synchronisation entre émetteur et récepteur

1.1. Liaisons simplex, half-duplex et full-duplex

Selon le sens des échanges, on distingue 3 modes de transmission :

  • La liaison simplex caractérise une liaison dans laquelle les données circulent dans un seul sens, c’est-à-dire de l’émetteur vers le récepteur. Ce genre de liaison est utile lorsque les données n’ont pas besoin de circuler dans les deux sens (par exemple de votre ordinateur vers l’imprimante ou de la souris vers l’ordinateur...).
  • La liaison half-duplex (parfois appelée liaison à l’alternat ou semi-duplex) caractérise une liaison dans laquelle les données circulent dans un sens ou l’autre, mais pas les deux simultanément. Ainsi, avec ce genre de liaison chaque extrémité de la liaison émet à son tour. Ce type de liaison permet d’avoir une liaison bidirectionnelle utilisant la capacité totale de la ligne.
  • La liaison full-duplex (appelée aussi duplex intégral) caractérise une liaison dans laquelle les données circulent de façon bidirectionnelle et simultanément. Ainsi, chaque extrémité de la ligne peut émettre et recevoir en même temps, ce qui signifie que la bande passante est divisée par deux pour chaque sens d’émission des données si un même support de transmission est utilisé pour les deux transmissions.

1.2. Transmission parallèle et série

  • Liaison parallèle :

Principe : tous les bits sont envoyés en même temps sur plusieurs fils différents ( 8 dans le cas d’un octet )
Avantages : transmission très rapide de l’octet complet en une seule fois Inconvénients : nécessite au moins 8 fils entre les deux machines ; très sensible aux parasites électromagnétiques
Utilisation : tend à disparaître ; était très utilisé anciennement pour la liaison avec les imprimantes ou les scanners et jusqu’à une date assez récente, pour la connexion des disques durs (interface P-ATA ).

  • Liaison série :

Principe :les bits sont envoyés les uns après les autres sur un seul fil
Avantages :ne nécessite qu’un seul fil entre les deux machines
Inconvénients :nécessite un "timing" bien précis pour l’envoi des données entre les deux machines, qui doivent fonctionner à la même vitesse d’envoi/réception
Utilisation :connections réseau ( Ethernet par exemple ), USB, liaison avec les disques durs ( interface SATA ), ...

La liaison parallèle tend à ne plus être utilisée, surtout dans le domaine des communications. C’est donc une liaison série qui supporte l’envoi et la réception des données d’une machine à une autre.

Mais comme indiqué ci-dessus, ce type de liaison entraîne des contraintes importantes sur les vitesses d’émission/réception des bits, mais également sur la manière dont ils sont codés sous forme de signaux électriques, ainsi que la nécessité de rajouter aux données des bits supplémentaires ( dit bits de contrôle ) uniquement pour assurer la bonne transmission des informations...

L’ensemble de ces contraintes constitue la "langue" utilisée pour échanger des données entre deux machines ; on parle plutôt dans ce cas de protocole d’échange de données.
Inutile de préciser que deux machines doivent donc utiliser le même protocole afin de pouvoir se comprendre !!!

1.3. Transmission synchrone et asynchrone

Etant donné les problèmes que pose la liaison de type parallèle, c’est la liaison série qui est la plus utilisée. Toutefois, puisqu’un seul fil transporte l’information, il existe un problème de synchronisation entre l’émetteur et le récepteur, c’est-à-dire que le récepteur ne peut pas a priori distinguer les caractères (ou même de manière plus générale les séquences de bits) car les bits sont envoyés successivement. Il existe donc deux types de transmission permettant de remédier à ce problème :

  • La liaison asynchrone, dans laquelle chaque caractère est émis de façon irrégulière dans le temps (par exemple un utilisateur envoyant en temps réel des caractères saisis au clavier). Ainsi, imaginons qu’un seul bit soit transmis pendant une longue période de silence... le récepteur ne pourrait savoir s’il s’agit de 00010000, ou 10000000 ou encore 00000100... Afin de remédier à ce problème, chaque caractère est précédé d’une information indiquant le début de la transmission du caractère (l’information de début d’émission est appelée bit START) et terminé par l’envoi d’une information de fin de transmission (appelée bit STOP, il peut éventuellement y avoir plusieurs bits STOP).
  • La liaison synchrone, dans laquelle émetteur et récepteur sont cadencés à la même horloge. Le récepteur reçoit de façon continue (même lorsque aucun bit n’est transmis) les informations au rythme où l’émetteur les envoie. C’est pourquoi il est nécessaire qu’émetteur et récepteur soient cadencés à la même vitesse. De plus, des informations supplémentaires sont insérées afin de garantir l’absence d’erreurs lors de la transmission. Lors d’une transmission synchrone, les bits sont envoyés de façon successive sans séparation entre chaque caractère, il est donc nécessaire d’insérer des éléments de synchronisation, on parle alors de synchronisation au niveau caractère. Le principal inconvénient de la transmission synchrone est la reconnaissance des informations au niveau du récepteur, car il peut exister des différences entre les horloges de l’émetteur et du récepteur. C’est pourquoi chaque envoi de données doit se faire sur une période assez longue pour que le récepteur la distingue. Ainsi, la vitesse de transmission ne peut pas être très élevée dans une liaison synchrone.

2. Réseau de machines : protocole TCP-IP


Lorsque plus de deux machines doivent être reliées entre elles pour communiquer, on parle alors de réseau informatique.

Le problème est alors de pouvoir savoir comment "diriger" l’information d’une machine donnée à une autre ; ce problème englobe les notions d’adressage des machines et de routage de l’information.

2.1 Comment adresser une machine sur un réseau ?

Au niveau physique, une machine est identifiée de manière unique par l’adresse MAC ( Media Access Control ) de son interface réseau.

Sur un réseau dont les communications sont gérées par le protocole TCP/IP ( comme le réseau Internet...), une machine est repérée par son adresse IP ( Internet Protocol ).

Remarques : deux adresses IP ont un rôle particulier :

  • l’adresse de broadcast (elle permet d’envoyer une requête à toutes les machines du réseau) ;
  • l’adresse de boucle locale ou localhost (elle permet d’envoyer une requête à la carte réseau du PC pour vérifier par exemple si elle fonctionne).

Pour faciliter l’accès aux hôtes sur un réseau IP, un mécanisme a été mis en place permettant d’associer un nom à une adresse IP, plus simple à retenir, appelé « nom de domaine ». Résoudre un nom de domaine consiste à trouver l’adresse IP qui lui est associée. C’est la mission du serveur DNS (Domain Name Service ).

Remarque : toutes ces informations sont accessibles depuis la console DOS de Windows. Pour cela :

  • 1) Ouvrir la console Windows : Exécuter -> cmd
  • 2) Ecrire la commande : ipconfig /all

2.2. Plan d’adressage IP d’un réseau local

  • Adresses IP privées

Au sein d’un réseau local ( comme celui du lycée ), on utilise aussi le protocole TCP/IP et chaque machine a aussi une IP. Cependant, les IP des machines d’un réseau local appartiennent à des plages réservées selon la classe du réseau (en gros, selon sa taille ) :

Classe du réseauPlage d’IPDomaine d’utilisation
A 10.0.0.0 à 255.0.0.0 Gros réseaux ( organismes nationaux )
B 172.16.0.0 à 172.31.255.255 Réseaux moyens ( grandes entreprises, établissements scolaires,...)
C 192.168.0.0 à 192.168.255.255 Petits réseaux ( PME, particuliers )
  • Masque de sous-réseau

Souvent il n’est pas nécessaire de disposer de tant d’IP différentes dans un réseau local ; pour limiter ce nombre, on associe au réseau un masque.

Le masque de sous-réseau est composé, comme l’adresse IP, de 4 octets. Généralement, ils prennent les valeurs 0 ou 255. Il est inséparable de l’adresse IP. L’un ne va pas sans l’autre ! Et pour cause, le masque de sous-réseau indique comment les adresses IP "ont le droit" d’être à l’intérieur du réseau.

Le 255 indique que l’octet équivalent dans l’adresse IP sera fixe.
Le 0 indique que l’octet équivalent dans l’adresse IP sera libre.
Le masque définit tout le réseau, il doit donc être le même sur toutes les machines qui composent le réseau.

Par exemple, un masque de sous-réseau 255.255.255.0 indique que seules 255 IP différentes peuvent exister sur le réseau...

Calculateur de masque IPV4

  • Adresse IP publique

Une machine du réseau appelée passerelle ou serveur NAT (c’est chez soi la "box" qui généralement fait ce travail ), qui dispose de deux cartes réseau, permet de faire le lien vers ou depuis l’extérieur du réseau local.

Chacune des cartes réseau de cette machine dispose de sa propre IP :

  • celle "dirigée" vers l’intérieur du réseau dispose d’une IP dans la plage correspondant au plan d’adressage du réseau local ( c’est doncune IP privée ).
  • celle vers l’extérieur a une IP publique hors de ce plan d’adressage...

Ce mécanisme permet d’utiliser des adresses IP identiques à différents "endroits" du réseau Internet sans risquer que deux machines aient la même IP puisque les IP privées sont "invisibles" depuis l’extérieur et donc des autres réseaux locaux...


3. Ports TCP-IP


3.1. L’utilité des ports

De nombreux programmes TCP/IP peuvent être exécutés simultanément sur Internet (vous pouvez par exemple ouvrir plusieurs navigateurs simultanément ou bien naviguer sur des pages HTML tout en téléchargeant un fichier par FTP). Chacun de ces programmes travaille avec un protocole, toutefois l’ordinateur doit pouvoir distinguer les différentes sources de données.

Ainsi, pour faciliter ce processus, chacune de ces applications se voit attribuer une adresse unique sur la machine, codée sur 16 bits : un port (la combinaison adresse IP + port est alors une adresse unique au monde, elle est appelée socket).

L’adresse IP sert donc à identifier de façon unique un ordinateur sur le réseau tandis que le numéro de port indique l’application à laquelle les données sont destinées. De cette manière, lorsque l’ordinateur reçoit des informations destinées à un port, les données sont envoyées vers l’application correspondante. S’il s’agit d’une requête à destination de l’application, l’application est appelée application serveur. S’il s’agit d’une réponse, on parle alors d’application cliente.

3.2. La fonction de multiplexage

Le processus qui consiste à pouvoir faire transiter sur une connexion des informations provenant de diverses applications s’appelle le multiplexage. De la même façon le fait d’arriver à mettre en parallèle (donc répartir sur les diverses applications) le flux de données s’appelle le démultiplexage.

Ces opérations sont réalisées grâce au port, c’est-à-dire un numéro associé à un type d’application, qui, combiné à une adresse IP, permet de déterminer de façon unique une application qui tourne sur une machine donnée.

3.3. Assignations par défaut

Il existe des milliers de ports (ceux-ci sont codés sur 16 bits, il y a donc 65536 possibilités), c’est pourquoi une assignation standard a été mise au point par l’IANA (Internet Assigned Numbers Authority), afin d’aider à la configuration des réseaux.

Les ports 0 à 1023 sont les « ports reconnus » ou réservés (« Well Known Ports »). Ils sont, de manière générale, réservés aux processus système (démons) ou aux programmes exécutés par des utilisateurs privilégiés. Un administrateur réseau peut néanmoins lier des services aux ports de son choix.

Les ports 1024 à 49151 sont appelés « ports enregistrés » (« Registered Ports »).
Les ports 49152 à 65535 sont les « ports dynamiques et/ou privés » (« Dynamic and/or Private Ports »).

Ainsi, un serveur (un ordinateur que l’on contacte et qui propose des services tels que FTP, Telnet, ...) possède des numéros de port fixes auxquels l’administrateur réseau a associé des services. Ainsi, les ports d’un serveur sont généralement compris entre 0 et 1023 (fourchette de valeurs associées à des services connus).

Du côté du client, le port est choisi aléatoirement parmi ceux disponibles par le système d’exploitation. Ainsi, les ports du client ne seront jamais compris entre 0 et 1023 car cet intervalle de valeurs représente les ports connus.

PortService ou Application
21 FTP
23 Telnet
25 SMTP
80 HTTP
110 POP3