N.S.I. WorkSpace P-Th-E,Première E.4 – Communication entre machines dans un réseau

E.4 – Communication entre machines dans un réseau

Categories:

Qu’est-ce qu’un réseau informatique ?

  • Mettre en place un réseau informatique consiste à relier des ‘machines’ – ordinateurs, tablettes, smartphones, imprimantes, … – les unes aux autres, afin qu’elles s’échangent des données, des programmes, qu’elles communiquent entre elles.
  • Ceci nécessite que ces ‘machines’ soient équipées d’interfaces réseau : carte Ethernet, carte wifi,…
  • Cela nécessite presque toujours la présence d’équipements intermédiaires entre ces ‘machines’ : routeurs, commutateurs (= switch)…
  • Ceci suppose l’existence d’une connexion physique entre les machines :
    • des câbles électriques, les informations y circulent sous la forme de signaux électriques ;
    • des fibres optiques, les informations y circulent sous la forme de signaux lumineux ;
    • des ondes radio , les informations circulent sous la forme de signaux électromagnétiques.

Modalités d’échange de données

  • Il existe deux modes d’échanges de données entre les machines d’un réseau informatique :
    • le mode « Client/Serveur » : c’est celui dont nous parlerons par la suite ;
    • le mode « Pair à Pair » (Peer to Peer) ou chaque machine est à la fois client et serveur

Réseau et couverture géographique

  • Un réseau informatique peut être défini selon sa couverture géographique, autrement dit par la distance qui sépare les appareils interconnectés.
  • Les plus courants sont les LAN (Local Area Network) et WAN (Wide Area Net).
    • A la maison les ordinateurs connectés à la « box » par câble Ethernet forment un LAN ou encore les tablettes et smartphones connectés par wifi forment un WLAN (Wireless Local Area Network) ou réseau « sans fil »
    • Il en va de même au lycée pour les ordinateurs répartis dans les différents bâtiments et connectés par câbles Ethernet, ainsi que les tablettes et smartphones connectés grâce aux bornes wifi réparties dans les différents sites.
    • Mais à partir de ces appareils il est possible d’échanger des données, en particulier avec des serveurs situés hors du LAN (ou WLAN). Ces échanges entre appareils parfois très distants les uns des autres sont possibles parce que les LAN auxquels ils appartiennent forment un réseau plus vaste, à l’échelle planétaire appelée WAN. Internet est un exemple de WAN

Topologie de réseaux

  • La topologie en bus consiste à utiliser un câble unique sur lequel sont connectées toutes les machines du réseau.
  • C’est le modèle le plus simple avec lequel les premiers LAN (réseaux locaux) étaient constitués. Ce câble peut être nommé « bus » car c’est par lui que toutes les informations passent en tous points.
  • Dans la topologie en anneau, tout ordinateur est connecté à deux autres.
  • Par exemple, si l’on considère un réseau constitué de 4 ordinateurs, l’ordinateur 1 est connecté à l’ordinateur 4 et 2. l’ordinateur 2 est connecté à l’ordinateur 1 et 3. L’ordinateur 3 à l’ordinateur 2 et 4 etc.
  • Dans une topologie en étoile, la communication entre deux nœuds du réseau se fait par l’intermédiaire d’un élément central. Les systèmes qui se connectent sur l’élément central sont simples, et toute la complexité réside dans l’élément central. Cet élément doit être fiable et fournir une séparation des signaux entre les ports reliés aux différents systèmes afin qu’un problème sur l’un des ports ne se transmette pas aux autres ports.
  • Les réseaux à topologie en étoile sont très couramment utilisés dans les LAN (réseaux locaux) domestiques ou de petite entreprise. L’élément centrale est alors un hub ou un switch. Comme il demeure rare que les hubs ou switches subissent des défaillances, le coût de mise en place est faible à cette échelle.

Protocoles de communication

  • La communication entre machines suppose l’existence de protocoles de communication :
    • garants d’une totale interopérabilité
    • donc indépendants de l’architecture matérielle des ordinateurs et des systèmes d’exploitation installés sur les machines.
  • Ce sont des règles bien définies, normalisées qui permettent d’établir, de mener et de terminer une communication entre deux machines (voir analogie dans l’encadré ci-après)
  • Les protocoles permettant la communication entre des ordinateurs sont hiérarchisés, organisés en couches superposées.
  • “ Une suite de protocoles entre diverses couches forme ce qu’on nomme une pile de protocoles. Les termes « protocole » et « pile de protocoles » désignent également les logiciels qui implémentent un protocole. ”
Par exemple, dans le cas d'un appel téléphonique :


• L'interlocuteur apprend que vous avez quelque chose à transmettre (vous composez son numéro pour faire sonner son combiné) ;
• il indique qu'il est prêt à recevoir (il décroche et dit « Allô ») ;
• il situe votre communication dans son contexte (« Je suis Marc. Je t'appelle pour la raison suivante… ») ;
• un éventuel destinataire final peut y être identifié (« Peux-tu prévenir Michel que… ») ;
• le correspondant s'assure d'avoir bien compris le message (« Peux-tu me répéter le nom ? ») ;
• les procédures d'anomalies sont mises en place (« Je te rappelle si je n'arrive pas à le joindre ») ;
• les interlocuteurs se mettent d'accord sur la fin de la communication (« Merci de m'avoir prévenu »).
Cette métacommunication n'est autre que la mise en œuvre de protocoles.

Source : https://fr.wikipedia.org/

Le modèle “TCP/IP”

  • “ TCP/IP est une suite de protocoles.
  • Le sigle TCP/IP signifie « Transmission Control Protocol / Internet Protocol » et se prononce «T-C-P-I-P».
  • Il provient des noms des deux protocoles majeurs de la suite de protocoles, c’est-à-dire les protocoles TCP et IP.
  • TCP/IP représente d’une certaine façon l’ensemble des règles de communication sur internet et se base sur la notion adressage IP, c’est-à-dire le fait de fournir une adresse IP à chaque machine du réseau afin de pouvoir acheminer des paquets de données. ”
  • “ Étant donné que la suite de protocoles TCP/IP a été créée à l’origine dans un but militaire, elle est conçue pour répondre à un certain nombre de critères parmi lesquels :
  • Le modèle “TCP/IP” comporte 4 couches qui possèdent chacune une fonction précise et qui s’appliquent dans un ordre précis.

La couche “Application”

  • C’est la couche sur laquelle intervient l’utilisateur via une application de type “client” comme un navigateur web ou un logiciel de messagerie par exemple. Cette couche produit un “message” qui contient souvent des “données” (data).
    • Par exemple le protocole http permet par l’intermédiaire d’un client web (= navigateur) d’envoyer un message “requête” vers un serveur afin que celui-ci lui envoie en retour un message “réponse” contenant une ressource (page html par exemple). [Se reporter au cours sur le protocole http]
    • Les protocoles smtp, pop sont utilisés pour le service de messagerie électronique.
    • Le protocole ftp est utilisé pour le service de transfert de fichiers.

La couche “Transport”

  • Le message élaboré par la couche “Application” est découpé si besoin par le protocole TCP en “segments” dont la taille est définie par la MTU (Maximum Transmission Unit), soit 1500 octets pour une transmission via Ethernet
  • Le protocole TCP ajoute un entête de 40 octets à chaque segment.
  • Comme sur un même ordinateur plusieurs applications différentes peuvent envoyer des “messages”, chaque application se voit attribuer un numéro de port. Le protocole TCP écrit dans l’entête du segment le numéro du port du client, ainsi que le numéro de port du serveur en fonction du protocole de la couche applicative (par exemple, port n° 80 pour un protocole http).
  • Le protocole TCP écrit dans l’entête du segment un numéro de séquence. Pour la machine “destinataire” ce dernier permet de remettre les segments dans l’ordre et ainsi de reconstituer le message. La machine “destinataire” envoie un “acquittement” ou accusé de réception (= acknowledgment). Tant que la machine “expéditrice” n’a pas reçu cet acquittement elle va réémettre à intervalle de temps régulier le segment sur le réseau.
  • Le découpage du message en segments est intéressant puisqu’en cas de perte lors de la transmission sur le réseau, seul le segment perdu est renvoyé, et non la totalité du message.

La couche “Réseau”

  • Les segments produits par le protocole TCP sont ensuite pris en charge par le protocole IP.
  • Le protocole IP ajoute au segment un entête de 20 octets, formant ainsi un “paquet”.
  • Dans cet entête le protocole IP écrit “l’adresse IP” de “l’expéditeur” et l’adresse IP du “destinataire”.
  • Il écrit également un TTL (Time To Live). C’est le nombre maximum de routeur que le paquet est autorisé à emprunter pour atteindre l’ordinateur destinataire. A chaque routeur franchi, le TTL est décrémenté. Lorsque le TTL atteint “zéro” le paquet est détruit.
  • Le routage est l’opération d’acheminement d’un paquet sur un réseau, de routeur en routeur. Chaque routeur possède une “table de routage” qui lui permet de déterminer vers quel routeur voisin il va diriger le paquet afin qu’il atteigne sa destination.

La couche “Liaison – Physique”

  • Les paquets issus du protocole IP parviennent au dernier protocole qui est lié à une interface (= carte) réseau, comme ethernet ou wi-fi.
  • Le protocole ajoute un entête dans lequel il écrit notamment l’adresse MAC (= Media Access Control) de la carte émettrice ainsi que celle de la carte réceptrice. Le paquet devient ainsi une trame qui partira sous la forme de bits sur le réseau.
  • Des protocoles permettent de s’assurer de la transmission correcte et complète des trames. En particulier le “protocole du bit alterné”.
Protocole du bit alterné
Un bit de l’entête appelé “flag” est mis à la valeur “zéro” à l’envoi de la première trame.
Dès que cette trame a été reçue, un acquittement est émis avec un “flag” dont la valeur est 1.
L’émetteur envoie alors une deuxième trame avec un “flag” de valeur 1.
Après réception, un acquittement est émis avec un “flag” dont la valeur est zéro.
Et ainsi de suite. Lorsqu’une trame est émise, un “timer” est déclenché.
Si l’acquittement n’est pas reçu avant l’expiration d’un délai prédéfini ( “timeout”), alors la trame est réémise.

Encapsulation et désencapsulation

  • Côté “Client” ou côté « Serveur lors de l’expédition d’une trame , à chacune des couches du modèle “TCP/IP”, de la couche applicative jusqu’à la couche “Liaison – Physique”, un entête comportant des informations supplémentaires est ajouté : c’est le principe d’encapsulation
Illustration de l’encapsulation, côté client, lors de l’expédition d’une trame
Source

Côté « Client » ou côté “Serveur”, lors de la réception d’une trame, à chacune des couches du modèle “TCP/IP”, de la couche “Liaison – Physique” jusqu’à la couche applicative, les informations de chaque entête sont exploitées et retirées : c’est le principe de désencapsulation

Illustration de la desencapsulation, côté serveur, lors de la réception d’une trame
Source

Observation d’une communication client/serveur avec Wireshark

A la maison, télécharger et installer l’application Wireshark sur son PC sous (c)MS windows 7 et plus.
Accepter l’installation de Npcap.

Ne changer aucune option : conserver celles proposées par défaut.

Démarrer Wireshark.

Créer un filtre de capture

Ouvrir un navigateur.

Dans la barre d’URL saisir : sapiensjmh.top/nsi/wireshark/page_accueil_parametrage.pdf
NE PAS VALIDER MAINTENANT !

Lancer la capture dans whireshark…

Valider l’envoi de la requête dans le navigateur…

Examiner la fenêtre de capture de whireshark : les trames s’affichent…

Attendre… quand plus rien ne se passe, arrêter la capture. Sauvegarder la capture.

Aperçu en vidéo

En cas de problème technique

Télécharger le présent fichier de capture et l’ouvrir dans Whireshark.

Analyse d’une capture

Guide de lecture de la fenêtre de capture de Wireshark

Phase 1 – Etablissement de la communication (« Three-way handshake« )

A lire https://fr.wikipedia.org/wiki/Three-way_handshake

Phase 2 – Conduite de la communication

Envoi de la requête – couche ‘Application’ (Protocole HTTP)

Envoi de la requête – couche ‘Transport’ (Protocole TCP)

Envoi de la requête – couche ‘Réseau’ (Protocole IP)

Envoi de la requête – couche ‘Liaison physique’ (Protocole Ethernet)

Transmission des données du fichier pdf demandé (début)

Sur fond vert, segments envoyés par le serveur.
Sur fond jaune, l’accusé de réception envoyé par le client.

Transmission des données du fichier pdf demandé (fin)

Sur fond vert, segments envoyés par le serveur.
Sur fond jaune, l’accusé de réception envoyé par le client.

Vérifier ses acquis : connaissances et compréhension des notions

  1. Nommer les quatre couches de protocoles mises en jeu dans une communication entre machines lors de l’envoi d’une requête par un navigateur web.
  2. Que signifie ‘TCP’ ?
  3. Qu’est-ce qu’un ‘segment’ ? Un paquet ?
  4. Quelles informations le protocole TCP ajoute-t-il en début d’un segment ?
  5. Quelles informations le protocole IP ajoute-t-il en début d’un segment ?
  6. Par quel protocole les adresses MAC des interfaces réseau de l’expéditeur et du destinataire sont-elles ajoutées ?
  7. Quel nom donne-t-on au ‘bloc’ d’informations envoyé sur le réseau après ajout de données par le protocole Ethernet par exemple ?
  8. La transmission de données entre deux machines peut se faire par ondes électromagnétiques (Wifi) ou signal lumineux (fibre optique). Donner un autre mode de transmission des données.
  9. Schématiser une architecture réseau en étoile.
  10. Dans le cas d’un réseau domestique (à la maison), indiquer au moins deux rôles de la ‘box’.
  11. Quel nom donne-t-on à l’ensemble des ‘modifications’ effectués sur un bloc d’informations depuis son arrivée sur la carte réseau (trame) jusqu’à son exploitation par une application comme un navigateur web par exemple (réponse à une requête).
  12. En dehors de HTTP, donner deux autres exemples de protocoles au niveau de la couche ‘application’.
  13. Citer les trois étapes d’une communication entre deux machines sur un réseau.
  14. Que permet cet échange ‘SYN’ -> ‘SYN/ACK’ -> ‘ACK’ entre deux machines ?
    A quoi correspondent les lettres ‘ACK’ ?
    Quel protocole met en œuvre ce Three-way handshake ?
  15. Que signifie ‘TTL’ ? Quel est son rôle ?

Article sous licence << Cliquez pour plus d’informations <<