32 0 717KB
CHAPITRE 1: LES MODÈLES OSI ET TCP/IP COURS: NOTIONS DE BASE DE BASE SUR LES RÉSEAUX INFORMATIQUES
INTRODUCTION Les éditeurs informatiques avaient depuis longtemps leurs propres réseaux pour interconnecter leurs équipements, comme l’architecture SNA (System network Architecture) chez IBM, ou DNA (Digital Network Architecture) chez Digital Equipment Corporation… Ces architectures ont toutes un même défaut : elles ne permettent pas d’interconnecter des matériels hétérogènes. De plus, elles sont généralement monolithiques, et ne permettent pas de modifications simples. Aussi, afin d’éviter la multiplication des solutions d'interconnexion, l'ISO (International Standards Organisation) a développé un modèle de référence appelé modèle OSI (Open Systems Interconnection). Ce modèle décrit les concepts utilisés et la démarche suivie pour permettre à des équipements possédant des systèmes d’exploitation variés d’ouvrir le dialogue entre eux, d’où le terme de « système ouvert ».
INTRODUCTION Aujourd’hui, un système ouvert aura une définition plus large que le processeur informatique d’origine. On pourra étendre sa définition à l’ensemble des équipements connectés. En parallèle des travaux de l’OSI, la DARPA (United States Department of Defense Advanced Research Projects Agency) créait le réseau ARPANET, dès les années 1970, qui jetait les bases de l’Internet et du modèle TCP/IP. Sur les mêmes constatations, il faut : •
Définir des règles de fonctionnement communes au travers de l’interconnexion des réseaux ; Définir des formats d’échange d’informations, plus connus sous le terme de protocoles ;
• Définir les moyens d’identifier les systèmes ainsi que les processus utilisateurs, sous la notion d’adressage ; • Définir les processus eux mêmes et les moyens leur permettant de communiquer.
INTRODUCTION Une dernière définition apparait à l’image : la notion de « domaine ISO » ou de « système autonome TCP/IP », qui représente l’ensemble des réseaux physiques et des équipements associés gérés par une entité unique. On parlera de réseau d’entreprise, par exemple
Les protocoles présents dans le modèle OSI ne sont presque plus utilisés mais ce qui est intéressant est l'architecture présente dans le modèle. Dans le modèle TCP/IP, c'est l'inverse, les protocoles sont très utilisés mais le modèle peu utilisé. Le modèle OSI se veut très théorique mais est nécessaire pour une meilleure compréhension du modèle TCP/IP.
LE MODÈLE OSI Le modèle OSI est basé sur une proposition de l'International Standards Organization (ISO) dans le but de standardiser les protocoles utilisés dans les différents niveaux. Le modèle a été révisé en 1995 et s'appelle désormais l'ISO OSI. OSI signifie Open Systems Interconnection car il fonctionne avec les systèmes ouverts.
LE MODÈLE OSI
LE MODÈLE OSI Le modèle OSI est composé de 7 couches d'abstractions qui répondent aux critères suivants: Un nouveau niveau est nécessaire quand une différente couche d'abstraction est nécessaire. Chaque niveau a une fonction bien définie. La fonction de chaque niveau doit se faire dans l'optique d'une standardisation des protocoles. Les limites du niveau doivent être choisies de manière à minimiser les flots d'informations entre les interfaces. • Le nombre de niveaux doit être assez important pour accueillir plusieurs fonctions sans devenir trop imposant pour autant. De la même manière il faut limiter le nombre de niveaux finaux. • • • •
LA COUCHE PHYSIQUE (PHYSICAL)
La couche physique (L1) ne transmet que des bits. Elle a été conçue pour interagir directement avec la partie électrique/mécanique et le moyen de transmission physique (physical transmission medium) qui est présent directement en-dessous de la couche Physique.
LA COUCHE LIAISON DE DONNÉES (DATA LINK) La couche de liaison de données (L2) transforme une transmission brute en une ligne sans erreurs de transmission jusqu'à la couche réseau (L3). Pour cela les données brutes sont découpées en trames (Frames en anglais) comprises entre 100 et 1000 octets. Puis elles sont envoyées de manière séquentielles. Dans le cas où la connexion est fiable, le destinataire reçoit une confirmation de la bonne réception de chaque trames en envoyant des trames d'Acknowledgement, c'est à dire de bonne réception. C'est également dans cette couche que se passe une partie de la régulation du trafic. En effet, pour éviter que le destinataire ne soit inondés, il est important que l'expéditeur soit au courant du buffer du destinataire. Enfin c'est dans cette même couche que la gestion des erreurs est gérée pour les trames.
LA COUCHE RÉSEAU (NETWORK)
La couche réseau est en charge des opérations du sous-réseau. C'est ici que va se dérouler le routage des paquets (packets) : quel route vont emprunter les paquets pour aller de la source à la destination et surtout par quel chemin. Le routage peut être statique ou alors dynamique. Si trop de paquets sont présents sur le réseau, il se forme des bouchons (bottlenecks). Pour éviter ce genre de cas de congestion, cette couche dispose de mécanismes bien spécifiques. C'est également dans cette couche que la Qualité de Service (Quality of Service, QoS) est gérée.
LA COUCHE TRANSPORT (TRANSPORT) Le but principal de la couche de transport est de prendre en charge les données qui viennent des couches supérieures, de les découper en plus petits morceaux puis de les faire transiter jusqu'à la couche réseau (L3). La couche de transport détermine également le type de services qu'il faudra pour la couche Session. Le type de transport de connexion le plus classique est l'envoi des messages ou des octets dans le sens d'envoi. Mais il est possible d'envoyer des messages isolés sans garantie de l'ordre de réception. C'est également dans cette couche que l'envoi des messages de broadcast est fait. De manière générale le type de services proposés est déterminé quand la connexion est établie. La couche de transport de la source, à la différence des couches inférieures, communique directement avec la couche de transport de la machine de destination. On parle de couche end-to-end. Dans les couches inférieures (1 à 3), des protocoles font la liaison entre les machines et leurs voisins immédiats.
LA COUCHE SESSION (SESSION)
La principale fonction de cette couche est de permettre d'établir des sessions entre les utilisateurs de machines différentes. C'est dans ce niveau qu’est gérée la synchronisation. En effet la synchronisation permet de reprendre où la session s'était arrêtée en cas de crash...
LA COUCHE PRÉSENTATION (PRESENTATION)
A la différence des autres niveaux, la couche de présentation ne touche qu'à la sémantique et la syntaxe des informations transmises. Ce ne sont plus des bits qui sont manipulés. Ce sont avant tout des représentations de données qui sont communiqués.
LA COUCHE APPLICATION (APPLICATION)
C'est dans cette couche que vous retrouverez la plupart des protocoles utilisés par les utilisateurs. On peut citer notamment le protocole HTTP lors de l'accès à une page web, le protocole SMTP pour les mails, le FTP pour le transfert de fichiers...
LES SERVICES OFFERTS PAR OSI Les services offerts par l’ensemble des couches du modèle peuvent être résumés en : • pour les couches basses transmission physique, contrôle d'erreurs, routage, régulation de flux (congestion); • pour les couches hautes séquencement, contrôle de bout en bout, gestion du dialogue, reprise sur incidents, transformation de l'information (codage, compression, cryptage...), synchronisation des processus.
VALEURS AJOUTÉES DE OSI
• Promouvoir l’interopérabilité entre les produits de constructeurs différents (standardisation) • Permet une meilleurs compréhension des fonctions de différentes couches • Permet de définir des méthodes communes de diagnostic ( TOP-DOWN , BOTTOM-UP , DIVIDE-ANDCONQUER) • Permet une meilleur compréhension du modèle TCP/IP
LE MODÈLE TCP/IP Le modèle TCP/IP est dérivé de l'ARPANET et deviendra plus tard connus sous le nom de worldwide internet. L'ARPANET était à la base un projet militaire de l'armée américaine dont le but était de connecter, via les lignes téléphoniques, une centaines d'universités et d'installations gouvernementales entre elles. L'objectif était de maintenir les communications coûte que coûte après une attaque nucléaire. Pour vous remettre dans le contexte, cette problématique à pris place pendant la guerre froide. Il en découle un réseau basé sur le routage de paquets à travers une couche appelée Internet. La connexion de cette couche est de type connectionless (sans connexion préalable) : tous les paquets transitent indépendamment les uns des autres et sont routés suivant leur contenu.
LE MODÈLE TCP/IP Le modèle TCP/IP est donc le modèle utilisé pour Internet. Le nom de modèle TCP/IP est étroitement lié à deux protocoles : le protocole TCP (Transmission Control Protocol) et le protocole IP (Internet Protocol). Ceci est en partie dû au fait que sont les deux protocoles les plus utilisés pour Internet.
LE MODÈLE TCP/IP : ETAPES DE LA COMMUNICATION Le modèle TCP/IP est un modèle en 4 couches qui décrit la fonctionnalité des protocoles qui constituent la suite de protocoles TCP/IP. Ces protocoles, qui sont présents sur les hôtes émetteurs et récepteurs, interagissent pour fournir une livraison de bout en bout sur l’inter-réseau. Dans ce modèle, une communication comprend les étapes : - de création de données sur la couche processus du système d’origine, - de segmentation et encapsulation des données lorsqu’elles descendent la pile de protocoles dans le système source, - de génération des données sur les supports au niveau de la couche d’accès au réseau, - du transport des données sur l’inter-réseau, - de la réception des données au niveau de la couche d’accès au réseau de la destination finale, - de l’assemblage des données lorsqu’elles remontent la pile dans le système de destination, - de la transmission de ces données à l’application de destination, au niveau de la couche processus.
LE MODÈLE TCP/IP
LA COUCHE HOST-TO-NETWORK
Couche assez sombre, le modèle TCP/IP en dit peu sur cette couche excepté que l'hôte doit se connecter au réseau depuis certains protocoles de sorte à pouvoir envoyer des paquets IP à travers le réseau.
LA COUCHE INTERNET
Le but de cette couche est de permettre d'injecter des paquets dans n'importe quel réseau et de faire en sorte qu'ils arrivent à destination. Tous les paquets ne prendront pas le même chemin pour arriver à bon port, mais ceci n'est pas un problème. S'ils arrivent dans le désordre, un protocole, placé dans une couche supérieur, se chargera de les ordonner. C'est dans la couche internet qu'est défini le format officiel des paquets et son protocole : le protocole IP pour Internet Protocol. La fonction de la couche internet est de délivrer les paquets IP au bon endroit. Vous l'aurez compris, le routage des paquets est ici très critique et on souhaite éviter une éventuelle congestion. On peut faire l'analogie avec la couche network du modèle OSI.
LA COUCHE TRANSPORT Tout comme pour le modèle OSI, la couche de transport permet aux hôtes source et destination de faire une conversation. C'est dans cette couche-ci que sont définis deux protocoles end-to-end pour le transport : TCP (Transmission Control Protocol), protocole fiable qui nécessite une connexion entre la source et la destination. Le protocole permet de délivrer un flux d'octets, le tout sans erreurs. Le flux d'octets est d'abord découpé en messages, puis les passe les uns après les autres à la couche Internet. Le destinataire réassemble ensuite les messages reçus. Le protocole TCP dispose également de mécanismes de contrôle pour éviter qu'un émetteur trop rapide n'inonde un receveur trop lent. UDP (User Datagram Protocol), protocole non-fiable qui ne nécessite pas de connexion préalable (sans négociation). Ce protocole ne dispose pas de mécanisme de contrôle de flux. Ce protocole est surtout utilisé dans une architecture de clients-serveur voir de requête-réponse, pour la VOIP, les jeux en ligne, les appels vidéos. En effet on peut envoyer des plus grosses quantités de données d'un seul coup par rapport au TCP et on part du principe, lors de l'usage de l'UDP, que si on perd quelques paquets ce n'est pas trop grave. On préfère par exemple avoir une conversation téléphonique hachurée qu'avec du délai.
LA COUCHE APPLICATION Le modèle TCP/IP n'a pas besoin des couches Session ni Présentation. La couche application contient des protocoles haut-niveaux : FTP pour le transfert de fichiers, SMTP pour les mails, HTTP pour le WWW, DNS pour les noms de domaine...
L’ENCAPSULATION DES DONNÉES Lorsque les données d’application descendent la pile de protocoles en vue de leur transmission sur le support réseau; di érents protocoles ajoutent des informations à chaque niveau : Il s’agit du processus d’encapsulation. De même, lors de la réception du message chez le destinataire, les mêmes protocoles retirent les informations à chaque niveau jusqu’à la couche application : il s’agit du processus de décapsulation. La forme qu’emprunte une donnée sur n’importe quelle couche est appelée unité de données de protocole. Au cours de l’encapsulation, chaque couche encapsule l’unité de données de protocole qu’elle reçoit de la couche supérieure en respectant le protocole en cours d’utilisation. À chaque étape du processus, une unité de données de protocole possède un nom di érent qui re ète sa nouvelle apparence. Les unités de données de protocoles sont nommées en fonction des protocoles de la suite TCP/IP : NB: La lettre et l'enveloppe
L’ENCAPSULATION DES DONNÉES Les unités de données de protocoles sont nommées en fonction des protocoles de la suite TCP/IP :
• Message : terme général pour les unités de données de protocole utilisées au niveau de la couche application ; • Segment : unité de données de protocole de la couche transport ; • Datagramme : unité de données de protocole de la couche réseau ; • Trame : unité de données de protocole de la couche d’accès au réseau ; • Bits : unité de données de protocole utilisée lors de la transmission physique de données à travers le support
L’ENCAPSULATION DES DONNÉES L’encapsulation et la décapsulation des données dans la pile de protocoles TCP/IP sont résumées par la Figure
COMPARAISON ENTRE LES DEUX MODÈLES DE RÉFÉRENCE
Le modèle TCP/IP et le modèle OSI ont beaucoup de points communs. Tous les deux sont basés sur le concept d'empilement de protocoles indépendants. De plus les différentes couches ont des systèmes de fonctionnement similaires.
COMPARAISON ENTRE LES DEUX MODÈLES DE RÉFÉRENCE
Similitudes • Les couches au-dessous de la couche de Transport sont des couches orientées vers les applications utilisateurs. • Les couches au-dessus et y compris la couche de Transport sont là pour fournir un service de transport end-to-end et ce de manière indépendante de la manière de communiquer.
COMPARAISON ENTRE LES DEUX MODÈLES DE RÉFÉRENCE Différences •La chose la plus flagrante est le nombre de couches entre les deux modèles. Pour le modèle OSI, il y a 7 couches ; alors que pour le modèle TCP/IP nous sommes à seulement 4 couches. •L'autre point est le type de connexion supporté. Le modèle OSI supporte à la fois les communications connectionless (communications sans connexion préalable) et les communications connection-oriented (connexion préalable) dans la couche réseau ; mais seulement une communication connection-oriented dans la couche de transport. Le modèle TCP/IP à contrario ne dispose que d'une communication connectionless dans la couche réseau mais des communications connectionoriented et connectionless dans la couche de transport..
QUELQUES PROTOCOLES DES COUCHES DU MODÈLE OSI