Module : Ingénierie des Réseaux Cours N° :1 CHAPITRE 1 : Modèle OSI et TCP/IP 1-Introduction : Le modèle de référence OSI (Open Systems Interconnection) est une représentation abstraite en couches servant de guide à la conception des protocoles réseau. Il divise le processus de réseau en sept couches logiques, chacune comportant des fonctionnalités uniques et se voyant attribuer des services et des protocoles spécifiques. Dans ce modèle, les informations sont transmises d’une couche à l’autre, en commençant au niveau de la couche application sur l’hôte émetteur, puis en descendant dans la hiérarchie jusqu’à la couche physique, pour ensuite transiter sur le canal de communication vers l’hôte de destination, où les informations remontent la hiérarchie jusqu’à la couche application. La figure décrit les étapes impliquées dans ce processus. La couche application (couche 7) est la couche supérieure des modèles OSI et TCP/IP. Elle est la couche qui sert d’interface entre les applications que nous utilisons pour communiquer et le réseau sous-jacent via lequel nos messages sont transmis. Les protocoles de couche application sont utilisés pour échanger des données entre les programmes s’exécutant sur les hôtes source et de destination. Il existe de nombreux protocoles de couche application et de nouveaux protocoles sont constamment en cours de développement. 2- Modèles OSI et TCP/IP Bien que la suite de protocoles TCP/IP ait été développée avant la définition du modèle OSI, les fonctionnalités des protocoles de couche application TCP/IP s’intègrent à la structure des trois couches supérieures du modèle OSI : les couches application, présentation et session. La plupart des protocoles de couche application TCP/IP ont été développés avant l’émergence des ordinateurs personnels, des interfaces graphiques et des objets multimédias. Il en résulte que ces protocoles mettent en oeuvre très peu des fonctionnalités spécifiées dans les couches présentation et session du modèle OSI. Couche présentation La couche présentation remplit trois fonctions principales : Cours Ingénierie des réseaux. Mr Gharbi A.H Page 1 codage et conversion des données de la couche application afin que les données issues du périphérique source puissent être interprétées par l’application appropriée sur le périphérique de destination ; compression des données de sorte que celles-ci puissent être décompressées par le périphérique de destination ; chiffrement des données en vue de leur transmission et déchiffrement des données reçues par le périphérique de destination. Les implémentations de la couche présentation ne sont généralement pas associées à une pile de protocoles particulière. Les normes utilisées pour la vidéo et les graphiques sont des exemples. QuickTime et MPEG (Motion Picture Experts Group) comptent parmi les normes de vidéo les plus courantes. QuickTime est une spécification informatique d’Apple destinée aux données vidéo et audio et MPEG est une norme de compression et de codage vidéo. Parmi les formats d’image graphique connus figurent les formats GIF (Graphics Interchange Format), JPEG (Joint Photographic Experts Group) et TIFF (Tagged Image File Format). Les formats GIF et JPEG sont des formats de compression et de codage destinés aux images graphiques et le format TIFF un format de codage standard également destiné aux images graphiques. Couche session Comme l’implique le nom de la couche session, les fonctions s’exécutant au niveau de cette couche permettent un dialogue entre les applications source et de destination. La couche session traite l’échange des informations pour initier et maintenir un dialogue et pour redémarrer les sessions interrompues ou inactives pendant une longue période. La plupart des applications (par exemple, les navigateurs Web et les clients de messagerie) intègrent les fonctionnalités des couches 5, 6 et 7 du modèle OSI. Les protocoles de couche application TCP/IP les plus connus sont ceux permettant l’échange d’informations entre les utilisateurs. Ces protocoles spécifient les informations de format et de contrôle nécessaires à un grand nombre de fonctions courantes de communication via Internet. Voici certains de ces protocoles TCP/IP : Le protocole DNS (Domain Name Service) est utilisé pour traduire les adresses Internet en adresses IP. Le protocole HTTP (Hypertext Transfer Protocol) est utilisé pour transférer les fichiers qui constituent les pages du Web. Cours Ingénierie des réseaux. Mr Gharbi A.H Page 2 Le protocole SMTP (Simple Mail Transfer Protocol) est utilisé pour transférer les courriels et les pièces jointes. Le protocole Telnet, protocole d’émulation de terminal, est utilisé pour permettre un accès distant aux serveurs et aux périphériques réseau. Le protocole FTP (File Transfer Protocol) est utilisé pour le transfert interactif de fichiers entre les systèmes. Les protocoles de la suite TCP/IP sont généralement définis par des documents RFC. L’IETF (Internet Engineering Task Force) conserve les documents RFC comme normes de la suite TCP/IP. 3- Couche transport OSI Les réseaux de données et Internet étayent le réseau humain en permettant aux individus de communiquer de façon transparente et fiable, aussi bien à l’échelon local qu’au niveau international. Nous pouvons, sur un même périphérique, utiliser des services aussi divers que les messageries électroniques, le Web ou les messageries instantanées pour envoyer des messages et recevoir des informations. Grâce aux applications de clients de messagerie, de navigateurs Internet et de clients de messagerie instantanée, nous sommes en mesure d’envoyer et de recevoir des messages et des informations par le biais d’ordinateurs et de réseaux. Dans chacun de ces types d’applications, les données sont empaquetées, transportées et livrées au démon du serveur approprié ou à l’application voulue sur le périphérique de destination. Le processus décrit dans la couche transport OSI accepte des données provenant de la couche application et les prépare pour les adresser à la couche réseau. La couche transport est globalement responsable du transfert de bout en bout des données d’application. Ce chapitre est consacré à l’étude du rôle de la couche transport dans le processus d’encapsulation des données d’application en vue de leur utilisation par la couche réseau. La couche transport remplit également d’autres fonctions : Elle permet à de nombreuses applications de communiquer sur le réseau au même moment, sur un même périphérique ; Cours Ingénierie des réseaux. Mr Gharbi A.H Page 3 Elle vérifie, si cela est nécessaire, que toutes les données sont reçues de façon fiable et dans l’ordre par l’application voulue ; Elle utilise des mécanismes de gestion des erreurs. La couche transport segmente les données et se charge du contrôle nécessaire au réassemblage de ces blocs de données dans les divers flux de communication. Pour ce faire, elle doit : Effectuer un suivi des communications individuelles entre les applications résidant sur les hôtes source et de destination ; Segmenter les données et gérer chaque bloc individuel ; Réassembler les segments en flux de données d’application ; Identifier les différentes applications. Suivi des conversations individuelles Tout hôte peut héberger plusieurs applications qui communiquent sur le réseau. Chacune de ces applications communique avec une ou plusieurs applications hébergées sur des hôtes distants. Il incombe à la couche transport de gérer les nombreux flux de communication entre ces applications. Segmentation des données Chaque application crée un flux de données à envoyer vers une application distante ; ces données doivent donc être préparées pour être expédiées sur le support sous forme de blocs faciles à gérer. Les protocoles de la couche transport décrivent les services qui segmentent les données provenant de la couche application. Il s’agit notamment de l’encapsulation devant s’appliquer à chaque bloc de données. Des en-têtes doivent être ajoutés à chaque bloc de données d’application au niveau de la couche transport pour indiquer à quelle communication il est associé. Cours Ingénierie des réseaux. Mr Gharbi A.H Page 4 Reconstitution des segments L’hôte recevant les blocs de données peut les diriger vers l’application appropriée. Il faut en outre que ces blocs de données individuels puissent être réassemblés dans un flux de données complet utile à la couche application. Les protocoles intervenant au niveau de la couche transport gèrent la façon dont les informations d’en-tête de la couche transport servent à réassembler les blocs de données en flux qui seront transmis à la couche application. Identification des applications Pour que les flux de données atteignent les applications auxquelles ils sont destinés, la couche transport doit identifier l’application cible. Pour cela, la couche transport affecte un identificateur à chaque application. Les protocoles TCP/IP appellent cet identificateur un numéro de port. Chaque processus logiciel ayant besoin d’accéder au réseau se voit affecter un numéro de port unique sur son hôte. Ce numéro de port est inclus dans l’en-tête de la couche transport afin de préciser à quelle application ce bloc de données est associé. La couche transport fait le lien entre la couche application et la couche inférieure responsable de la transmission réseau. Cette couche accepte les données provenant de plusieurs conversations et les fait descendre vers les couches inférieures sous forme de blocs faciles à gérer pouvant au final faire l’objet d’un multiplexage sur le support. Les applications n’ont pas besoin de connaître les détails du fonctionnement du réseau utilisé. Les applications génèrent des données qui sont envoyées d’une application à une autre sans se soucier du type de l’hôte de destination, du type de support que les données doivent emprunter, du chemin suivi par ces données, de l’encombrement d’une liaison ni de la taille du réseau. En outre, les couches inférieures ignorent que plusieurs applications envoient des données sur le réseau. Leur responsabilité se limite à livrer les données au périphérique approprié. La couche transport trie ensuite ces blocs avant de les acheminer vers l’application voulue. Variabilité des besoins en données Parce que des applications différentes ont des besoins différents, il existe plusieurs protocoles pour la couche transport. Dans le cas de certaines applications, les segments doivent arriver dans un ordre bien précis pour être traités correctement. Pour d’autres applications, il faut que toutes les données soient arrivées pour qu’il soit possible de traiter n’importe laquelle d’entre elles. D’autres applications, enfin, tolèrent la perte d’une certaine quantité de données lors de la transmission sur le réseau. Les réseaux convergents actuels permettent à des applications dont les besoins en matière de transport sont très différents de communiquer sur le même réseau. Les différents protocoles s’appliquant à la couche transport reposent sur des règles variées qui permettent aux périphériques de satisfaire ces différents besoins en données. Certains protocoles n’offrent que des fonctions de base permettant de livrer efficacement les blocs de données entre les applications appropriées. Ces types de protocoles sont particulièrement utiles pour les applications dont les données sont sensibles aux retards. D’autres protocoles de la couche transport décrivent des processus offrant des fonctions supplémentaires, comme la remise fiable des données entre applications. Si ces fonctions supplémentaires assurent des communications plus robustes entre applications au niveau de la couche transport, elles entraînent une surcharge supplémentaire et sont plus gourmandes en ressources réseau. Séparation de communications multiples Représentez-vous un ordinateur connecté à un réseau qui envoie et reçoit simultanément des courriels et messages instantanés, affiche des sites Web et passe un appel téléphonique par voix sur IP. Chacune de ces applications envoie Cours Ingénierie des réseaux. Mr Gharbi A.H Page 5 des données sur le réseau et en reçoit simultanément. Pourtant, les données de l’appel téléphonique ne sont pas orientées vers le navigateur Web et le texte des messages instantanés ne finit pas dans un courriel. De plus, les informations contenues dans un courriel ou une page Web doivent avoir été intégralement reçues et affichées pour présenter un intérêt pour l’utilisateur. On considère certains retards comme acceptables pour veiller à ce que l’ensemble des informations soit reçu et présenté. Dans le cas d’une conversation téléphonique, l’absence de petits bocs peut par contre être considérée comme acceptable. Il est en effet possible de déduire le contenu audio manquant à partir du contexte de la conversation ou de demander à l’autre interlocuteur de répéter ce qu’il vient de dire. Ceci est jugé préférable aux retards que provoqueraient la gestion et le renvoi des segments manquants par le réseau. Dans notre exemple, c’est l’utilisateur, et non le réseau, qui gère la réexpédition ou la reconstitution des informations manquantes. Cours Ingénierie des réseaux. Mr Gharbi A.H Page 6