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 :
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).
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 :
En informatique ils existent bon nombre de protocoles : HTTP, IP, TCP, UDP,...
Un service est une interface qui permet de mettre en place un protocole.
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).
Ce qu’on entend par « modèle TCP/IP », c’est en fait 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.
Les 4 couches :
La couche application est la couche la plus haute du modèle TCP / IP à quatre couches. La couche d’application est présente en haut de la couche de transport. La couche application définit les protocoles d’application TCP/IP et la manière dont les programmes hôtes se connectent aux services de la couche de transport pour utiliser le réseau.
La couche d’application inclut tous les protocoles de niveau supérieur tels que DNS (système de nommage de domaine), HTTP (protocole de transfert hypertexte), Telnet, SSH, FTP (protocole de transfert de fichier), TFTP (protocole de transfert de fichier trivial), SNMP (protocole de gestion de réseau simple). , SMTP (protocole de transfert de courrier simple), DHCP (protocole de configuration d’hôte dynamique), X Windows, protocole RDP (protocole de bureau à distance), etc.
Cette couche fait appelle à un ensemble de service pour mettre en place des protocles.
C'est dans cette couche que les données sont découpées/organisées pour être envoyées.
La couche de transport est la troisième couche du modèle TCP / IP à quatre couches. La position de la couche de transport se situe entre la couche d’application et la couche Internet. La couche de transport a pour but de permettre aux périphériques des hôtes source et de destination d’engager une conversation. La couche de transport définit le niveau de service et le statut de la connexion utilisée lors du transport de données.
Les principaux protocoles inclus dans la couche transport sont TCP (protocole de contrôle de transmission) et UDP (protocole de datagramme utilisateur).
Paquets, Datagrammes
Un paquet ou datagramme est un ensemble de données généré par la couche de transport TCP. Son acheminement sera réalisé par la couche internet IP à l'intérieur de trame.
La couche Internet est la deuxième couche du modèle TCP/IP à quatre couches. La position de la couche Internet se situe entre la couche d’accès réseau et la couche de transport. Les couches Internet condensent les données en paquets de données appelés datagrammes IP, qui contiennent des informations d’adresse source et de destination (adresse logique ou adresse IP) utilisées pour transférer les datagrammes entre les hôtes et entre les réseaux. La couche Internet est également responsable du routage des datagrammes IP.
Son travail consiste à permettre aux hôtes d’insérer des paquets dans n’importe quel réseau et de les faire livrer indépendamment à la destination. Du côté de la destination, les paquets de données peuvent apparaître dans un ordre différent de celui dans lequel ils ont été envoyés. Les couches supérieures ont pour tâche de les réorganiser afin de les transmettre aux applications réseau appropriées fonctionnant au niveau de la couche Application.
Les principaux protocoles inclus dans la couche Internet sont IP (Internet Protocol), ICMP (Internet Control Message Protocol), ARP (Address Resolution Protocol), RARP (Reverse Address Resolution Protocol) et IGMP (Internet Group Management Protocol).
Au sortie les données encapsulées en paquets par TCP sont encapsulés en Trame
Trame
Une trame est le nom que l'on donne à la capsule générée par la couche internet IP. Elle encapsule notamment les paquets générés par la couche transport TCP.La couche d’accès réseau est la première couche du modèle TCP/IP à quatre couches. La couche d’accès réseau définit en détail comment les données sont physiquement envoyées à travers le réseau, y compris la manière dont les bits sont signalés électriquement ou optiquement par les périphériques matériels qui interfacent directement avec un support réseau, tel qu’un câble coaxial, une fibre optique ou un fil de cuivre à paire torsadée.
Les protocoles inclus dans la couche d’accès au réseau sont Ethernet, Token Ring, FDDI, X.25, Frame Relay, etc.
A l'envoie d'un paquet de données, on parle d'encapsulation
A la réception d'un paquet de données, on parle de décapsulation
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é.
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ées dans le bon ordre.
Oui mais voila, il est impossible d'être certain du temps de parcours du paquet. Par conséquent cette solution n'est pas satisfaisante.
L'idée ici est que Tooma doit attendre un accusé de réception ( ACK=acknowledgement) pour envoyer un nouveau paquet.
Là encore ça ne fonctionne pas, si le ACK ne pars pas on va avoir un doublon de paquet. Tooma va renvoyer un paquet déjà existante et provoquera un doublon.
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.