Protocoles, modèle TCP/IP, bit alterné

Transfert de données et protocoles

Généralités

Les réseaux

Généralités sur les réseaux

Réseau informatique

Un réseau informatique est un ensemble d'équipements (ordinateur, routeur, concentrateur, etc) reliés par différents types de connexions qui permettent d'échanger des données (câbles de cuivre, fibres optiques, liaisons satellites, ondes radios, etc.).

Quelques topologies de réseaux

Les protocoles

Les échanges de données entre les équipements se font en respectant des protocoles. Un protocole est un ensemble de règles qui permettent de garantir une certaine qualité dans les échanges de données (données envoyées au bon destinataire, absence d'erreurs, temps de transmission réduit, confidentialités des données, etc).

Le réseau internet

Qu'est-ce qu'internet ?

Internet est un réseau décentralisé et mondial d'ordinateurs qui peuvent communiquer les uns avec les autres. On parle également de réseau de réseaux.

Les équipements que l'on trouve sur internet

Les serveurs : ils hébergent des services (voir ci-dessous, le modèle client-serveur).

Les clients : ils permettent d'utiliser les services des serveurs. Par exemple, un ordinateur, un téléphone, une montre connectée...

Les équipements structurels :

• Concentrateur (hub) ou commutateur (switch) : ces équipements permettent de relier plusieurs ordinateurs entre eux.

Routeur : cet équipement permet la création de sous-réseaux et l'interconnexion des sous-réseaux. Il participe également au routage des données, c'est à dire à l'acheminement des données de proche en proche dans le réseau.

Le modèle client-serveur

Le fonctionnement actuel d'internet est principalement basé sur des services et des clients (en informatique, ces deux mots ont des significations spécifiques).

Les services sont assurés par des applications installées sur des serveurs.

Exemples de services : mise à disposition de pages web (service web), mise à disposition d'un chat (service de messagerie instantanée), possibilité d'envoyer et de recevoir des mails (service de messagerie), possibilité de transférer des fichiers, possibilité de jouer en ligne en interaction avec d'autres personnes on non, etc.

Remarque : le mot "serveur", tout comme le mot "client" sont utilisés indifféremment pour l'équipement ou l'application.

Remarque : l'ensemble des services web constitue le World Wide Web que l'on appelle communément le web.

Quelques dates

1969 : Premier réseau, ARPANET, avec 4 équipements.

1989 : Naissance des liens hyper-texte (inventés par Tim Bernes-Lee).

Compléter la légende du schéma ci-dessous, description la plus complète possible .

Le lycée St Jo serait dans quelle partie?

Les équipements d'un réseau

Transmission de données dans un réseau.

Le but d'un réseau est de transmettre des informations d'un ordinateur à un autre.

Pour cela il faut dans un premier temps décider du type de codage de la donnée à envoyer, c'est-à-dire sa représentation informatique. Celle-ci sera différente selon le type de données (sons, texte, graphique, table, vidéos, ...)

La représentation de ces données peut se diviser en deux catégories :

  • Une représentation numérique : c'est-à-dire le codage de l'information en un ensemble de valeurs binaires, soit une suite de 0 et de 1,

  • Une représentation analogique : c'est-à-dire que la donnée sera représentée par la variation d'une grandeur physique continue.

Nos réseaux ne traitent que de signaux numériques.

Les données circulent sur Internet sous forme de datagrammes (on parle aussi de paquets). Les datagrammes sont des données encapsulées, c'est-à-dire des données auxquelles on a ajouté des en-têtes correspondant à des informations sur leur transport (telles que l'adresse IP de destination).

Protocoles

Un protocole est une procédure comprise par les deux unités qui doivent communiquer pour des données.

Lorsque vous rencontrez une personne nous suivons naturellement un ensemble de protocoles :

  • On commence par initier la communication par un allô/bonjour ou une poignée de main,

  • ensuite on s'identifie,

  • puis on échange des informations dans un codage adapté (le français),

  • on vérifie que l'on s'est compris (oui, ok, j'ai compris),

  • et enfin on se quitte.

En informatique ils existent bon nombre de protocoles : HTTP, IP, TCP, UDP,...

Associer à chacun des noms de protocoles suivants la définition qui lui correspond :

Nom de protocoles Définition
1. HTTP A. Protocole qui gère l'adressage et la fragmentation des paquets de données dans les réseaux numériques.
2. IP B. Protocole qui assure la bonne transmission des données entre une source et un destinataire.
3. TCP C. Protocole qui définit la communication entre un navigateur-web et un serveur-web.

Un service est une interface qui permet de mettre en place un protocole.

Pour récupérer sur son ordinateur un mail stocké sur un serveur gérant sa messagerie, on utilise un protocole nommée POP pour Post Office Protocol (=protocole de bureau de poste).

Le modèle TCP/IP

TCP/IP, un modèle en 4 couches

Le modèle TCP/IP et le modèle OSI

Pour communiquer nous avons besoin de définir des modèles qui constituent des normes de communication. Le modèle OSI est le modèle théorique qui encadre les échanges sur un réseau. Il comporte 7 couches que nous ne détaillerons pas cette année.

Ce premier un peu complexe et pas forcément ancré dans la réalité a été simplifié pour donner le modèle TCP/IP.

TCP/IP désigne communément une architecture réseau, mais cet acronyme désigne en fait 2 protocoles étroitement liés : un protocole de transport, TCP (Transmission Control Protocol) qu’on utilise « par-dessus » un protocole internet, IP (Internet Protocol).

Le modèle TCP/IP est une architecture réseau en 4 couches :

  • la couche application

  • la couche transport

  • la couche internet

  • la couche réseau

Le modèle TCP/IP est une architecture réseau en 4 couches dans laquelle les protocoles TCP et IP jouent un rôle prédominant, car ils en constituent l’implémentation la plus courante. Par abus de langage, TCP/IP peut donc désigner deux choses : le modèle TCP/IP et la suite de deux protocoles TCP et IP.

On présente en général le modèle TCP/IP de haut en bas comme dans l'illustration ci-dessous contenant différents noms de protocoles :

Le modèle TCP/IP et le modèle OSI
Je ne vais pas vous détailler toutes les couches (les plus curieux pourrons faire des recherches;-) ce qu'il faut comprendre c'est que chaque paquet envoyé se résume à 4 couches:

Le protocole IP

Présentation générale

Le protocole IP (Internet Protocole en anglais) a pour but d'assurer l'acheminement des informations d'une machine à une autre sur un réseau distant, ce que l'on appelle également le routage.

Réseau de machines

Chaque machine a un adresse appelée adresse IP.

Pour envoyer un paquet d'une machine source à une machine de destination, la machine source commence par envoyer les trames au routeur auquel elle est connectée. Ce routeur, envoie à son tour les trames au routeur suivant, et ainsi de suite jusqu'au dernier routeur qui envoie les trames à l'ordinateur de destination.

 

Comment un routeur fait-il pour envoyer les trames dans la bonne direction ?

De façon schématique, on peut dire que la structure d'une adresse IP est telle que les informations vont du global (octets de poids fort de l'adresse IP) au local (octets de poids faible l'adresse de l'adresse IP).

timbre

Analogie postale

Cette façon de coder les adresses IP est similaire à une adresse postale qui contient : le pays, le département, la ville, la rue et le numéro de la rue.

Chaque routeur dispose d'une table de routage. C'est à dire d'un ensemble d'informations permettant au routeur de savoir à quel autre routeur transmettre les trames en fonction de l'adresse IP de destination.

timbre

Analogie postale

Un courrier envoyé depuis le Japon en France, arrivera d'abord au centre de tri national, puis sera envoyé au centre de tri régional (en fonction du département), puis au bureau de poste de la ville et enfin, il sera acheminé par le facteur à la bonne rue et au bon numéro.

Le centre de tri national doit disposer de la liste des centres de tri régionaux et sait comment leur envoyer le courrier. Il n'a pas besoin d'autres informations. De même, chaque centre de tri régional dispose de la liste des bureaux de poste des ville de sa région et sait comment leur envoyer les courriers. Ils n'ont besoin d'autres informations.

Les tables de routage sont régulièrement mises à jour par des échanges d'informations entre les routeurs. Ils s'agit ici de protocoles de routage.

Quelle fiabilité ?

Le routage est un procédé très souple. En effet, si un routeur tombe en panne, les tables de routages des routeurs du réseau seront mise à jour et les données seront transférées par d'autres routes.

Mais cette souplesse a une contrepartie inévitable, le manque de fiabilité. Par exemple, si un routeur est saturé, il va détruire les trames qu'il reçoit ; si une trame circule trop longtemps sans atteindre sa destination, elle est détruite...

exemple de protocole

Considérons un ordinateur E (l'émetteur) avec lequel on souhaite envoyer une photo à un autre ordinateur R (le récepteur). La photo pèse 1,5 Mo.

Pour des raisons liées à l'efficacité des transferts, les "blocs" d'informations échangés (que l'on appellera les paquets) ne doivent pas dépasser 1,5 ko.

Première partie :

  1. Comment E peut-il envoyer la photo à R ?
  2. Comment E peut-il être sûr que R a bien reçu la photo ?
  3. Comment R sait-il qu’il a tout reçu ?
  4. Que faire si un paquet se perd ?
  5. Que faire si un paquet arrive en double ?

Deuxième partie :

  • En vous aidant des questions précédentes, proposer un protocole (c'est à dire une succession de taches) pour l'émetteur E et un protocole pour le récepteur R.

Le protocole TCP

Le protocole TCP (Transmission Control Protocol en anglais) est en charge de la communication entre les applications de deux machines distantes.

Sur la machine source, les étapes du protocole TCP sont :

- découpage de la donnée en paquets,

- numérotation des paquets,

- envoie de chaque paquets,

- renvoie des paquets non acquittés...

Sur la machine de destination, les étapes du protocole TCP sont :

- l'acquittement des paquets reçus,

- le réassemblage de la données à partir des paquets...

Schéma d'une communication
Schéma d'une communication

Encapsulation

À l'envoi d'un paquet de données, on parle d'encapsulation :

Encapsulation

À la réception d'un paquet de données, on parle de décapsulation :

Décapsulation

Ces encapsulation et décapsulations sont utilisés pour transférer des données entre deux périphériques sur un réseau.
Voici un exemple illustrant leur utilisation

Considérons un ordinateur dont le navigateur veut accéder au contenu d'une page Web stocké dans un serveur distant.
Pour cela, le navigateur du client va envoyer une requête HTTP au serveur. Une telle requête est un message. Nous verrons dans le chapitre ARSE4 cette requête plus précisément.
Pour simplifier l'exemple, on suppose que :

  • le navigateur connaît l'IP du serveur : le protocole DNS (Domain Name System) n'est pas utilisé.

  • l'acheminement de l'ordinateur client au serveur se fait en passant par deux routeurs : routeur 1 et routeur 2.

Les données de la requête vont suivre les modifications et cheminement suivant :

  1. Au niveau de l'ordinateur client, il y a une encapsulation :

    1. Le navigateur prépare la requête : couche Application.

    2. Cette requête est encapsulée dans un datagramme (ou plusieurs) par le protocole TCP : couche Transport.

    3. Ces datagrammes sont encapsulés avec des adresses IP dans des paquets pour pouvoir circuler dans le réseau : couche Internet.

    4. Ces paquets sont encapsulés avec des adresses physiques MAC dans des trames : couche Réseau.

    Une fois encapsulée dans une trame, le tout peut circuler et être orienté dans les réseaux.
    La trame est transmise, par une succession de bits, au routeur R1.

  2. Au niveau du routeur R1 :

    1. Décapsulation pour lire une partie du contenu des en-têtes :

      Lorsque la trame arrive au routeur 1, celui-ci a besoin de connaître l'expéditeur et le destinataire.
      Pour cela, il va décapsuler :

      • les trames pour récupérer les adresses physiques MAC,

      • les paquets pour récupérer les adresses logiques IP.

      Avec ces adresses (et sa table de routage ), le routeur va pouvoir acheminer les données à l'intermédiaire suivant : le routeur 2.

      Cependant, pour pouvoir être renvoyées sur le réseau, les données doivent être encapsulées sous forme d'une trame. D'où :

    2. Encapsulation pour le renvoi sur le réseau :

      Comme il y a eu deux niveaux de décapsulation, il faut encapsuler deux fois pour transformer les données en paquet puis trame.

    3. Le routeur 1 envoie la trame vers le routeur 2.

  3. Au niveau du routeur R2 :

    Le même besoin des adresse MAC et IP conduit au même travail de décapsulation et d'encapsulation avant que ce routeur n'envoie la trame réencapsulée vers le serveur destinataire.

  4. Au niveau du serveur :

    Le serveur doit récupérer la requête HTTP qu'il vient de recevoir encapsulée dans une trame.
    Pour cela, il doit enlever les différentes en-têtes en décapsulant :

    1. d'abord la trame pour extraire le paquet IP,

    2. ensuite le paquet IP pour extraire le datagramme,

    3. enfin le datagramme pour extraire les données correspondant à la requête HTTP.

    Une fois la requête reçue et extraite, le serveur peut traiter la demande.
    Sa réponse contenant le code de la page Web suivra lui aussi une succession d'encapsulations et de décapsulations à travers son acheminement sur le réseau.

Protocole du bit alterné

Nous avons vu qu'une donnée ( image, texte, vidéos...) est découpée en paquets pour être transportée sur le réseau. Comment s'assurer que l'ensemble des paquets est arrivé à son destinataire et surtout qu'il soit assemblé dans le bon ordre?

Le protocole du bit alterné est une réponse.

Tooma veut envoyer à Pascual un fichier. La donnée à envoyer est alors tronçonnée et encapsulée en 4 paquets : C1, C2, C3 , C4

Pascual va recevoir les paquets, il faudra alors reconstituer la donnée et ne pas mélanger les paquets.

Nous allons explorer dans cet exemple deux tentatives de protocole pour arriver finalement au protocole du bit alterné.

  1. Ce qu'on pourrait imaginer mais qui n'arrive pas.

    Imaginez que l'on soit capable de dire qu'un paquet met un temps $t$ pour arriver jusqu'à Pascual. Il suffirait alors d'attendre suffisamment longtemps entre chaque envoi de paquets pour être sûr que chaque capsule a été envoyée dans le bon ordre.

    image du cas impossible

    Oui mais voila, il est impossible d'être certain du temps de parcours du paquet. Par conséquent cette solution n'est pas satisfaisante.

  2. Vers une première solution

    L'idée ici est que Tooma doit attendre un accusé de réception ( ACK=acknowledgement) pour envoyer un nouveau paquet.

    image du cas impossible

    Là encore ça ne fonctionne pas, si le ACK ne part pas on va avoir un doublon de paquet. Tooma va renvoyer un paquet déjà existante et provoquera un doublon.

  3. Le protocole du bit alterné

    Chaque paquet va être accompagné d'un "flag". En fait un bit qui vaut en départ 0.

    Chaque ACK portera le bit correspondant au paquet reçu.

    A chaque nouvel envoi le bit est alterné, il change de valeur.

    image du cas impossible
Le protocole du bit alterné a longtemps été utilisé au sein de la couche 2 du modèle OSI (distribution des trames Ethernet). Simple et léger, il peut toutefois être facilement mis en défaut, ce qui explique qu'il ait été remplacé par des protocoles plus performants.

En reprenant l'exemple précédent, imaginez une situation mettant en défaut le protocole du bit alterné

QCM

Questions issues de la Banque Nationale de Sujets

Propriétaire des ressources ci-dessous : ministère de l'Éducation nationale et de la jeunesse, licence CC BY SA NC

Voici une sélection de questions issues de la banque nationale de sujets, répondez à ces questions (attention, cette sélection n'est pas exhaustive).

Dans un réseau informatique, que peut-on dire de la transmission de données par paquets ?

Réponses :

A- Cela empêche l’interception des données transmises.

B- Cela garantit que toutes les données empruntent le même chemin.

C- Cela assure une utilisation efficace des liens de connexion.

D- Cela nécessite la réservation d’un chemin entre l’émetteur et le récepteur.

Quel est le principe de l'encapsulation des données dans un réseau informatique ?

Réponses :

A- Cacher les données afin que l'on ne puisse pas les lire.

B- Mettre les données les unes à la suite des autres.

C- Chiffrer les données afin que l'on ne puisse pas les lire.

D- Inclure les données d'un protocole dans un autre protocole.

Lors d'un échange TCP/IP entre deux machines sur le réseau Internet, un paquet n'arrive pas à destination. Qui gère le renvoi du paquet ?

Réponses :

A- Le protocole IP de la machine de départ.

B- Le protocole IP de la machine d'arrivée.

C-Le protocole TCP de la machine de départ.

D- Le protocole TCP de la machine d'arrivée.

Dans le protocole de communication IP :

Réponses :

A- Les données sont envoyées en une seule partie.

B- Les données sont envoyées en plusieurs parties qui suivent le même itinéraire au sein du réseau.

C-Les données sont envoyées en plusieurs parties qui suivent des itinéraires différents au sein du réseau et arrivent à destination en respectant l’ordre de leur envoi.

D- Les données sont envoyées en plusieurs parties qui suivent des itinéraires différents au sein du réseau et arrivent à destination dans un ordre quelconque.

Autres QCM

Une trame (Ethernet) est envoyée sur le réseau Internet. L’entête de cette trame contient :

Réponses :

A- L’adresse IP du destinataire.

B- L’adresse IP de l'expéditeur.

C- Les données transmises.

D- L’adresse MAC du destinataire puis l’adresse MAC de l'expéditeur.

Combien de couches constituent le modèle TCP/IP ?

Réponses :

A- 4.

B- 5.

C- 6.

D- 7.

Quel élément n'est pas une couche du modèle TCP/IP ?

Réponses :

A- Application.

B- Internet.

C- Liaison de données.

D- Transport.

Pour renvoyer une trame reçue au bon destinataire sur le réseau, un routeur décapsule :

Réponses :

A- Rien : il renvoie la trame directement à tous les périphériques connectés à lui.

B- La couche Réseau pour récupérer les adresses physiques MAC.

C- La couche Internet pour récupérer les adresses MAC et les adresses IP.

D- Toutes les couches pour lire la totalité du message.

Sur quelle couche du modèle TCP/IP se trouve les protocoles UDP et TCP ?

Réponses :

A- Application.

B- Transport.

C- Internet.

D- Réseau.

Sur quelle couche du modèle TCP/IP se trouve le protocole HTTP ?

Réponses :

A- Application.

B- Transport.

C- Internet.

D- Réseau.