Transmission de données, une première approche simpliste.
En partant de zéro, cette approche simpliste, pourra aider à la compréhension de ce qui suivra dans les chapitres suivants en esquissant les principales étapes.
La raison d'être d'un réseau informatique est le transmission de données. Grossièrement, comment ces données vont-elles d'un ordinateur à un autre ?
- La première chose c'est l'utilisation d'un langage commun pour pouvoir communiquer.
- Lorsqu'un utilisateur veut envoyer ou recevoir un fichier, il passe par un logiciel d'application (navigateur Web, messagerie électronique, etc.). Ce logiciel met un en-tête aux données pour spécifier quel protocole utilise le logiciel (http pour navigateur Web, smtp pour envoie de courrier électronique), pour que les données arrivant sur l'autre ordinateur arrive sur la bonne application (il peut y avoir plusieurs applications en cours).
- Les données pour pouvoir circuler sur le réseau ne peuvent pas dépasser une certaine taille ce qui fait qu'en général, le fichier est fragmenté en paquets. Celà se passe au niveau du système d'exploitation. Là encore, chaque paquet recevra un autre en-tête qui mentionne le protocole de fragmentation et le nº de paquet pour que l'autre ordinateur puisse reconstituer le fichier.
- Les données ne sont toujours pas parties. Il faut avant qu'on leur donne l'adresse de l'autre ordinateur. Comme pour les étapes précédentes, le protocole chargé de ce travail rajoute un en-tête aux données.
- Etape ultime pour que ces données puissent maintenant circuler sur le réseau et partir à l'autre ordinateur, convertir les données se présentant en suites de bits, en signaux physiques pour pouvoir circuler sur un support physique (câble de cuivre, fibre optique, ondes radio, etc.).
- Pour aller d'un ordinateur à l'autre sur Internet qui est un réseau maillé, les paquets de données vont passer par des routeurs qui en fonction de l'adresse qui a été mise sur les paquets pourront les rediriger vers le bon ordinateur.
- Les données à réception sur l'autre ordinateur vont subir les mêmes étapes qu'à l'expédition dans l'ordre chronologique inverse. Celà sera également transparent pour l'autre utilisateur qui enfin pourra voir le fichier!
En fait, à la vitesse d'exploitation des ordinateurs et de la transmission des données, toutes ces étapes sont imperceptibles et instantanées.
Transmission de données, de plus près.
Dans un réseau informatique, lorsqu’un ordinateur envoie des informations à un autre, les matériels et les logiciels sont en général différents. On a donc besoin d’un ensemble de règles pour coordonner l’échange de ces informations. Celles-ci forment un protocole.
Il y a des protocoles entièrement logiciels, des protocoles basés sur du matériel et des protocoles mixtes.
Sur Internet, ce qui rend possible l'interconnexion de tous ces réseaux et la communication entre ces différents équipements, c'est l'utilisation d' un langage de communication commun. Ce langage, s'appelle TCP/IP et est utilisé par toutes les stations de travail ainsi que tous les équipements réseau comme les routeurs.
TCP/IP, devenu le standard sur Internet, désigne un ensemble de protocoles sur lequel sont construites de nombreuses applications. Son nom vient des deux principaux protocoles : TCP (responsable de la connexion) et surtout IP (chargé de l'adressage, IP donne une adresse unique à chaque utilisateur du réseau Internet appelée « adresse IP »).
Pourquoi un ensemble de protocoles ?
Etant donné le nombre d'applications, de matériels différents, il est impossible d'écrire un programme qui fournisse toutes les fonctions de communication.
C'est pourquoi une architecture réseau est composée d'une suite de protocoles regroupés par fonctionnalité. Un groupe traite du transport des données, un autre de l’empaquetage des messages, un autre des applications utilisateur, etc. Ces groupes sont appelés couches et forme la pile réseau.
Ces couches sont censées être indépendantes les unes des autres. Ceci est vrai d'un point de vue programmation. Cependant, pour la transmission des données, les couches sont étroitement liées par leurs interfaces.
Caractéristiques des modèles en couches
- Ordre des couches : pour un modèle donné en n couches, la couche 1 sera la plus près du matériel (carte réseau par exemple), la couche n étant la couche application.
- Chaque protocole encapsule les donnés du niveau supérieur en y ajoutant un en-tête. Ce qui donne le schéma ci-dessous.
Niveau application | En-tête n |
|
Niveau n-1 | En-tête n-1 |
|
Niveau 1 | En-tête 1 |
|
L’intérêt des modèles en couches est, qu’à chaque niveau, il n’est pas besoin de passer en revue l’ensemble des en-têtes mais uniquement celui du niveau correspondant.
D'où également le nom de pile réseau. On considère qu'à la transmission, les en-têtes des niveaux n à 1 sont empilés sur les données et qu'à la réception, elles sont dépilées.
Intérêts des modèles en couches
- Les protocoles peuvent être développés indépendamment les uns des autres.
- Les matériels actifs du réseau n’ont à considérer que les niveaux les plus bas. Par exemple, un routeur ne considèrera que les en-têtes des couches les plus basses pour obtenir l’adresse de destination.
Schéma illustrant la pile réseau
TCP/IP et OSI
Deux modèles ont été développés en parallèle. Le modèle OSI (par l’organisme de standardisation international ISO) et la suite TCP/IP (d’après le nom de deux des protocoles de la suite).
TCP/IP est devenu le standard. Il est quand même intéressant de connaître le modèle OSI, pratiquement abandonné, car les deux couches les plus basses ne sont pas prises en considération par TCP/IP, ce qui a conduit à un modèle mixte.
Correspondance des couches de la suite TCP/IP et modèle ISO
Nom des données dans TCP/IP
Les données encapsulées s'appellent différemment suivant les couches.
Application | Message | |
Transport | Segment Datagramme | dans le cas connecté dans le cas non connecté |
Réseau | Paquet | |
Accès | Trame |
Protocoles de la suite TCP/IP
Ci-dessous une représentation du modèle TCP/IP
Protocoles de la couche accès réseau
L’architecture TCP/IP proprement dite ne s’occupe ni de la couche physique, ni de la couche liaison.
Les cartes réseau et leurs pilotes se trouvent sous la couche Internet.
Pour TCP/IP au sens étendu, les protocoles des couches physique et de liaison sont fortement liés : ils forment la couche d’accès.
Il s’agit des protocoles Ethernet et Token Ring pour les réseaux à diffusion, PPP (pour Point-to-Point Protocol) pour les réseaux point à point et SLIP (pour Serial Line Internet Protocol) pour les liaisons série (par modem ou par RNIS, numeris en France).
Chacun de ces protocoles possède une partie qui dépend du support, et donc de la couche physique. Par exemple, Ethernet possède des protocoles pour les paires torsadées, pour les câbles coaxiaux, pour les fibres optiques, et ainsi de suite.
Protocoles de la couche Internet
Protocoles de la couche transport
Protocoles application
Des applications s'appuient sur TCP (comme HTTP, FTP par exemple), d'autres s'appuient sur UDP (DHCP par exemple) mais certaines peuvent s'appuyer au choix sur les deux (exemple : DNS).
Notes
- Pris sur http://fplanque.net/Blog/devblog/1995/03/01/protocoles_reseau_tcp_ip : Les autres couches lui donnent un bloc de données binaires et une adresse IP de destination.par exemple 194.2.145.155: il en résulte un paquet de données. Tout ce que sait faire IP est d'acheminer ce paquet vers la machine de destination. Sachant que cette machine de destination peut se trouver n'importe où dans le monde et que IP y arrive à tous les coups.
Au dessus de IP, il y a principalement TCP. TCP reçoit des données d'une autre couche encore plus évoluée. TCP découpe ces données en paquets et les transmet à IP. IP les achemine vers la machine destination ou un autre IP les reçoit et les passe à la couche TCP de la machine de destination. Celle-ci remet les paquets dans l'ordre (eh oui, ils peuvent prendre des chemins différents sur Internet) et vérifie que les données n'ont pas subi d'erreurs durant la transmission puis les transmet à la couche de niveau supérieur appropriée (selon la nature des données).
Parallèlement à TCP, il existe d'autres protocoles comme UDP par exemple. Ils sont utilisés par exemple lorsqu'on a pas besoin de numéroter les paquets pour les remettre dans l'ordre, ce qui économise de la place.
principaux protocoles, il y en a facilement plus d'une centaine.
Pour différencier les connexion simultanées, TCP ajoute un numéro de port (port number ou socket number) à chaque paquet qu'il émet. A la réception de tels paquets, il peut ainsi déterminer de quelle connexions il s'agit. Si vous lancez deux sessions FTP connectées toutes deux au même serveur FTP, les deux adresses source seront identiques (l'adresse IP de votre ATARI), les deux adresses destination seront identiques (l'adresse de la machine hébergeant le serveur FTP), les deux ports destination seront identiques (21 pour le serveur FTP) et seul les numéros de port source seront différents, par exemple 50 000 et 50 002.
- Pris sur sockets.pdf : Développés à l'université de Berkeley, les sockets sont une interface de programmation (ou API, Application Program Interface) entre les applications et les couches réseau.
Principe du protocole TCP/IP
Présentation succinte du protocole TCP/IP que l'on verra plus en détail sur la page qui lui est consacrée. C'est TCP/IP qui permet toute transmission des données sur Internet et la compréhension du son principe de fonctionnement est très importante.
TCP/IP n'est pas un protocole, mais une pile de protocoles, dont les plus importants sont TCP et IP (le protocole TCP est responsable de la connexion, le protocole IP, étant chargé de l'adressage, donne une adresse unique à chaque utilisateur du réseau Internet).
Toute donnée qui transite sur Internet est une suite de bits. Qu'il s'agisse d'images, de musique, de page Web ou d'un simple courriel, toutes ces donnés pour être transmises doivent satisfaire à différents protocoles (depuis l'application jusqu'au mode de transmission). L'ensemble de ces protocoles sont regroupés dans le standard TCP/IP.
Fonctionnement :
le principe de fonctionnement peut se rapprocher de celui du courrier postal. Prenons l'exemple d'un courriel que l'on veut envoyer à un ami. SMTP c'est le protocole qui permet d'envoyer du courrier sur Internet. Ces données seront ensuite encapsulées dans le protocole TCP
Notions à ajouter
lien http://christian.caleca.free.fr/reseaux/mod_osi.htm
Modèle TCP/IP ou DOD et modèle OCI, ces modèles théoriques, extrêmement détaillés sont faits pour que chaque couche puisse être construite indépendamment des couches qui sont immédiatement au dessus et au dessous d'elle.
Les trames qui circulent sur le réseau contiennent donc non seulement les données des applications, mais également tout un tas d'informations rajoutées par le N.O.S. Ces diverses informations permettront entre autres fonctions:
- Le pontage
- Le routage
- L'identification du poste émetteur
- L'identification du poste récepteur
- L'identification de l'application Emettrice
- L'identification de l'application Réceptrice.
Lorsque la trame entre dans le récepteur, elle remonte les couches qui lui enlèvent au passage les informations qui les concernent, si bien que l'application reçoit ses données sans se préoccuper de la façon dont elles ont été transportées.