Chapitre 3 Protocoles et architectures Nous étudierons dans ce chapitre les normes qui s’appliquent en téléinformatique. Nous traiterons d’abord de la nécessité des protocoles et architectures des systèmes informatiques. Nous présenterons ensuite les organismes responsables des normes en téléinformatique, puis nous examinerons le modèle de référence OSI qui propose une structuration en sept couches. Nous nous pencherons enfin sur les protocoles utilisés dans les couches du modèle OSI, de même que sur les protocoles Internet. Voici les concepts importants abordés dans ce chapitre : – L’introduction à la réseautique • la nécessité des protocoles • les organismes de normalisation – Le modèle de référence OSI – Les protocoles de la couche physique – Les protocoles de la couche liaison • la sous-couche MAC • la sous-couche LLC – Les protocoles de la couche réseau • les protocoles de la communication par paquets • les protocoles de routage • les protocoles Internet – Les protocoles de la couche transport • Le protocole TCP • Autres protocoles de la couche transport – Les protocoles de la couche application • le Web ou WWW • les services de répertoire (directory) • les protocoles de transfert de fichiers • le courrier électronique • le protocole en temps réel et multimédia – Les suites de protocoles © Télé-université, Septembre 1999 INF 5004 PROTOCOLES ET ARCHITECTURES 3.1 2 INTRODUCTION À LA RÉSEAUTIQUE Dans cette introduction, nous présenterons la raison d’être des protocoles et architectures de réseaux, puis nous verrons les organismes chargés de les normaliser. 3.1.1 Généralités Le principe de l’architecture de réseau, fondé sur des couches de protocole bien définies, s’est imposé historiquement. Il fut un temps où il fallait intégrer ensemble des produits informatiques différents, ce qui était quasiment impossible, même au sein d’une même compagnie. Le besoin d’un standard s’est vite fait sentir pour les connecteurs, les câbles, les formats d’encodage et d’adressage, les codes de détection d’erreurs, les routages, les types d’application, etc. L’idée maîtresse, c’est qu’un ordinateur ou un équipement informatique ne doit pas se résumer à être un produit isolé, qui soit incompatible avec d’autres équipements informatiques. Un réseautage standardisé fait en sorte que tout équipement informatique constitue un module qui puisse s’adapter au sein d’une structure modulaire. De plus, des équipements informatiques différents doivent pouvoir communiquer entre eux dans des réseaux qui peuvent être situés dans une même salle, sur un même étage, dans un même bâtiment, dans une même compagnie, mais qui peuvent aussi être distribués géographiquement, en différents endroits. Pensons aux systèmes de réservation de billets d’avion, de chambres dans un hôtel, aux systèmes de vidéoconférence intégrés à l’ordinateur personnel, à Internet, etc. Les progrès en matière de réseautage ont atteint une maturité patente; toutefois, aucune de ces applications n’aurait pu exister sans un ensemble de normes universellement acceptées. La structure modulaire doit permettre qu’un usager communique avec des ressources, et ce par un certain nombre de « nœuds » (commutateurs, ponts, etc.). Le terme nœud s’applique tant à l’usager et à son vis-à-vis qu’aux étapes intermédiaires par lesquelles l’information transite, comme le montre la figure 3.1. Noeud Noeud Usager Ressources ou vis-à-vis Noeuds intermédiaires FIGURE 3.1 Structure modulaire de communication. © Télé-université, Septembre 1999 INF 5004 PROTOCOLES ET ARCHITECTURES 3 La topologie des niveaux décrit la façon dont les nœuds sont interconnectés : réseau maillé, réseau en arbre, réseau en étoile, réseau en bus ou réseau en boucle. Ajoutons que les réseaux n’ont pas toujours besoin d’être connectés physiquement. Une topologie particulière peut consister en un circuit virtuel qui donne à l’usager l’impression qu’il a à sa disposition une topologie particularisée. Par exemple, un usager du téléphone à l’impression, lorsqu’il parle à son interlocuteur, d’avoir un câble individuel qui le relie à ce dernier. 3.1.2 Organismes de normalisation en téléinformatique Afin de permettre la compréhension entre les divers constructeurs de matériel informatique et de logiciels à travers le monde, ainsi qu’entre les divers transporteurs (téléphone, câble, satellite, etc.), il a été nécessaire de mettre sur pied certaines organisations de normalisation téléinformatique, qui se retrouvent aux paliers national et international. Les organismes internationaux les plus importants sont l’Union internationale des télécommunications (UIT), anciennement le Comité consultatif international pour le télégraphe et le téléphone (CCITT), et l’International Standards Organization (ISO). – Le UIT-T (secteur des télécommunications) est un comité de l’UIT qui est un organisme de l’ONU. Les membres du UIT-T sont les représentants des administrations nationales des PTT (Poste, télégraphe et téléphone), ainsi que des organisations privées de télécommunications officiellement reconnues. – L’ISO est, pour sa part, un organisme international spécialisé dans la normalisation, constitué des organismes nationaux de normalisation de 89 pays : ANSI (American National Standard Institute) pour les États-Unis; AFNOR (Association française de normalisation) pour la France; CCN (Conseil canadien des normes) ou SCC (Standards Council of Canada) pour le Canada; BSI (British Standard Institute) pour la Grande-Bretagne; etc. L’ISO un membre non votant du UIT-T, qui est à l’origine des couches de protocoles dédiées en téléinformatique, selon une architecture de systèmes ouverts dite OSI (Open Systems Interconnexion). L’objectif de l’ISO est de faciliter les échanges de marchandises et les prestations de services entre les nations, et de réaliser une entente mutuelle dans le domaine intellectuel et scientifique, ainsi que dans ceux de la technique et de l’économie. Les membres de l’ISO sont les organismes nationaux ou régionaux de normalisation. Ses domaines de compétence sont très étendus; c’est le comité technique 97 (système de traitement de l’information) qui a la charge du domaine informatique et qui traite également de la bureautique et de la télématique. Travaux relevant du UIT-T Le UIT-T est un organisme chargé de traiter des problèmes liés aux télécommunications sur câbles ou supports guidés. Cet organisme fonctionne par périodes d’étude de quatre ans. C’est au cours d’une assemblée plénière que le Comité ratifie, par l’émission d’avis, les travaux de ses diverses commissions d’études, qui sont généralement chargées d’études ponctuelles. Ces avis sont ensuite publiés. Les recommandations I, Q, V et X se © Télé-université, Septembre 1999 INF 5004 PROTOCOLES ET ARCHITECTURES 4 préoccupent respectivement du RNIS (réseau numérique à intégration de services) – ou ISDN (Integrated Services Distribution Network) –, de signalisation, de transfert de données par téléphone et de réseaux de transmission de données. Les normes du UIT-T sont nommées par une lettre suivie d’un point et d’un numéro : V pour la transmission de données par téléphone (par exemple, V.24, V.28, etc.); X pour les réseaux publics de données (par exemple, X.25, X.75, etc.); F, S et T pour les nouveaux services télématiques; Z pour la description et les significations; et Q pour la signalisation. Le programme de travail du UIT-T est élaboré à partir des questions suggérées par les commissions d’études qui se chargent ensuite de le mettre en œuvre. Le CCITT veille, pour sa part, aux relations et à la coordination entre les commissions. Certains membres siègent à plusieurs commissions. Les présidents des commissions d’études sont choisis par élection. Ils ont des responsabilités par rapport aux autres commissions, mais aussi à l’extérieur du CCITT, par exemple envers l’ISO. Travaux relevant de l’ISO Les résultats des travaux techniques de l’ISO sont publiés sous la forme de normes internationales qui permettent de concilier les intérêts des fabricants, des usagers, des gouvernements et des milieux scientifiques. Chaque pays délègue à l’ISO un comité membre, qui est l’organisme le plus représentatif de la normalisation dans son pays. Les travaux techniques de l’ISO s’effectuent au sein des comités techniques. Ceux-ci peuvent créer des sous-comités et des groupes de travail chargés de s’occuper de différents aspects. Une norme internationale est l’aboutissement d’un accord intervenu entre les comités membres de l’ISO. L’élaboration de ces normes suppose la présentation d’un avantprojet, qui doit passer par plusieurs étapes avant d’être accepté. Cette procédure vise à garantir que le résultat final puisse être accepté par autant de pays que possible. Lorsque les membres du comité technique se sont mis d’accord sur un avant-projet, celui-ci est soumis au vote de tous les comités membres. Si le projet est approuvé par 75 % des comités, il est alors soumis au conseil de l’ISO, pour qu’il l’accepte comme norme internationale. Étant donné l’évolution rapide des techniques, des matériaux et des méthodes, les normes de l’ISO sont soumises à une révision périodique, en principe à des intervalles de cinq ans au plus. Parallèlement à ces organismes, plusieurs organisations de normes ou associations industrielles coordonnent leurs standards avec l’ISO ou le UIT-T. – L’ECMA (European Computer Manufacturers Association) est à la source de nombreuses normes ISO. – Le CEPT (Commission européenne d’administration des postes et des télécommunications) et l’ETSI (European Telecommunication Standards Institute) produisent des normes NET (Normes européennes de télécommunications). © Télé-université, Septembre 1999 INF 5004 PROTOCOLES ET ARCHITECTURES – – – – – – – 5 L’organisme du FCC (Federal Communication Commission) aux États-Unis chapeaute la majorité des groupes de travail en matière de normes de télécommunications. Cet organisme est également responsable de l’octroi du spectre radio. L’ANSI (American National Standards Institute) interprète et élabore des normes UIT-T pour leur application aux États-Unis. Aux États-Unis, l’EIA (Electronic Industries Association) et le TIA (Telecommunications Industry Association) ont développé un grand nombre de recommandations et de normes. Ces deux organismes sont représentés à l’ANSI. L’ECSA (Exchange Carriers Standards Association) est une association de compagnies de téléphone et de manufacturiers membres de l’ANSI. Le CBEMA (Computer and Business Equipment Manufacturers Association) est également membre de l’ANSI. Le NBS (National Bureau of Standards) aux États-Unis regroupe les compagnies de télécommunications et les manufacturiers de commutateurs. L’IEEE (Institute of Electrical and Electronics Engineers) est à l’origine de nombreux standards, notamment dans le domaine des réseaux locaux LAN et celui des réseaux métropolitains MAN. Les normes en télécommunications doivent cohabiter avec d’autres normes dans des domaines connexes. Ainsi, au Canada par exemple, nous retrouvons l’ACNOR (Association canadienne des normes) ou CSA (Canadian Standard Association), le NBC (National Building Code), le CEC (Canadian Electrical Code), de même que de nombreux règlements provinciaux et municipaux. L’Internet Society est une organisation se rapportant à l’UIT. L’IAB (Internet Architecture Board) reçoit les propositions des groupes de recherche IRSG (Internet Research Steering Group) et des groupes de travail IETF (Internet Engineering Task Force) qui proposent des RFC (Requests For Comments). Toute personne peut proposer de nouveaux protocoles ou de nouvelles modifications de protocoles à l’éditeur en chef de l’IAB. Ces RFC ont remplacé les anciens IEN (Internet Engineering Notes). Précisons que certains produits sur le marché ne sont pas à cent pour cent compatibles avec la norme TCP/IP officielle. En matière de téléinformatique, les protocoles internationaux de l’OSI cohabitent avec d’autres protocoles nationaux comme ceux du GOSIP (Government OSI Protocol, des États-Unis) et de nombreux protocoles de facto qui se sont instaurés dans l’industrie, tels TCP/IP, Telnet, File Transfer, courrier électronique, Xerox XNS, Sun, NFS, etc. Par ailleurs, certaines compagnies ont développé des protocoles propres à leurs produits : SNA et DLSN chez IMB, AppleTalk chez Apple, Novell, Vines, etc. Enfin, d’autres protocoles propres aux ordinateurs personnels ont été adoptés dans l’industrie : NetBios, OS/2 LAN, etc. © Télé-université, Septembre 1999 INF 5004 PROTOCOLES ET ARCHITECTURES 3.2 6 MODÈLE DE RÉFÉRENCE OSI Le modèle de référence OSI (Open System Interconnexion) définit sept niveaux de protocoles auxquels sont rattachées des fonctions particulières. Ces niveaux sont hiérarchisés, en ce sens que chaque niveau englobe le suivant en ajoutant, ou en omettant, des caractéristiques particulières. L’avantage d’une telle hiérarchie est que, d’une part, les niveaux sont standardisés et que, d’autre part, des équipements provenant de différents manufacturiers et pouvant être appliqués à un ou plusieurs niveaux peuvent fonctionner ensemble. Voyons ces couches et les fonctions qui s’y rattachent : – les médiums de transmission (fibre optique, câble bifilaire, câble coaxial) sont définis à la couche physique (physical layer); – le codage par trame, pour le contrôle d’erreurs de transmission, est dans la couche liaison (link layer); – la segmentation ou le rassemblement des données binaires en paquets, de même que le routage de l’information sont définis à la couche réseau (network layer); – le dialogue de contrôle (monologue, conversation simplex, conversation duplex) est défini à la couche transport (transport layer); – le dialogue de commande est défini à la couche session (session layer); – le format de présentation des données (caractères ASCII ou autres) l’est à la couche présentation (presentation layer); – le type d’application (courrier électronique, transfert de fichiers, accès au Web, etc.) l’est enfin dans la couche application (application layer). La couche application contient une trame relativement courte. Celle-ci est enrichie d’un en-tête (header) pour former la trame de la couche transport. Cette dernière est enrichie d’un nouvel en-tête pour former la trame de la couche session, et ainsi de suite. Lors de la transmission, la couche application s’enrichit de multiples en-têtes pour finir à la couche physique. Lors de la réception, les en-têtes successifs sont ôtés à chaque niveau, pour revenir à la simple trame de départ, à la couche application. Le développement de la norme IEEE 802 traitant des réseaux locaux a débuté en 1980 et s’est terminé cinq ans plus tard. Cette norme diffère quelque peu de celle qui est préconisée par le modèle OSI. Ainsi, pour la couche réseau, on différencie deux souscouches : LLC (Logical Link Control) et MAC (Media Access Control). La souscouche MAC définit le réseau particulier au sein duquel l’information va évoluer (Internet, réseau à jeton, etc.), chacun de ces réseaux devant être adressé d’une façon particulière. Par ailleurs, le modèle de référence TCP/IP qui prévaut grandement dans l’industrie diffère lui aussi de celui qui est préconisé dans le modèle OSI, notamment au niveau de la couche session. Bien que les protocoles OSI développés par l’ISO (International Organisation for Standardisation) et TCP/IP développés par IETF (Internet Engineering Task Force) soient reconnus et appliqués mondialement, il existe en parallèle des architectures propres à certaines compagnies, telles que SNA (System Network Architecture) d’IBM, Netware de Novell et AppleTalk de Apple. Le tableau 3.1 donne des exemples de protocoles propres aux différentes couches ISO. © Télé-université, Septembre 1999 INF 5004 PROTOCOLES ET ARCHITECTURES 7 TABLEAU 3.1 Exemples de protocoles propres aux différentes couches ISO Couches OSI UNIX -7- Applications d’utilisation du réseau Applications d’utilisation du réseau : FTP, TELNET, etc. Application -6Présentation -5Session -4Transport Format des données XDR (eXternal Data Representation) en transit sur le Universalisation de la représentation des données qui réseau deviennent ainsi indépendantes des structures propres aux différents constructeurs. Communications entre applications Détection et correction d’erreurs RPC (Remote Procedure Call) Bibliothèques de routines cachant aux couches supérieures les accès au réseau par l’usage d’appel de fonctions. TCP (Transmission Control Protocol) RFC 793 Fiabilité du transfert des données par contrôle des données, reséquencement si IP ne les livre pas dans le bon ordre, contrôle du flux et du niveau de priorité. UDP (User Datagram Protocol) RFC 768 Transfert en mode datagramme sans contrôle ni séquencement. -3Réseau Connexions entre les machines du réseau IP (Internet Protocol) RFC 791, 894 Routage en mode datagramme, fragmentation des données et contrôle rudimentaire de leur flux. ARP (Address Resolution Protocol) RFC 286 Correspondance : adresses Internet → adresses physiques. RARP (Reverse Address Resolution Protocol) Correspondance : adresses physiques → adresses Internet. ICMP (Internet Control Message Protocol) RFC826 Gestion du protocole IP : correction des erreurs, etc. -2Liaison -1Physique Transfert physique des données Ethernet IEEE802.3 Propriétés des Ethernet IEEE802.2 canaux physiques de transfert © Télé-université, Septembre 1999 INF 5004 PROTOCOLES ET ARCHITECTURES 8 Il faut garder en perspective le fait que les normes OSI ne sont que des recommandations et n’ont pas force de loi. Elles permettent cependant d’établir un barème de référence qui est relativement respecté. Malgré les différences existantes entre les modèles de la norme IEEE 802 et la norme TCP d’une part, et celles des couches de référence OSI de l’autre, la terminologie du modèle OSI est largement utilisée. Il en va de même de la nomenclature des couches ou encore d’une terminologie propre à OSI, dont nous présentons quelques exemples : – SAP Service Access Point, que l’on retrouve dans DSAP (Destination Data Link SAP) et SAAP (Service Data Link SAP) et SNAP qui est une adresse du réseau OSI. – PDU Protocol Data Unit, que l’on retrouve dans BPDU (Bridge PDU ou PDU d’un pont) ou nPDU (PDU correspondant à la couche n). Exemple : DPDU, TPDU, etc. – ES End System ou terminal. – IS Intermediate System ou nœud intermédiaire. – ASN1 Abstract Syntax Notation One. – GOSIP Government OSI Profile, ou variation de la norme OSI avec des particularités propres au gouvernement américain. Rappelons qu’un terminal informatique peut être défini par les sept couches du modèle OSI. Les nœuds se trouvant le long des lignes de communication (interrupteurs, routeurs, etc.) n’ont besoin que des couches 1, 2 et 3, et sont appelés systèmes intermédiaires, que l’on différencie des nœuds terminaux. – Les relais au niveau de la couche 7, sont des passerelles ou gateways. – Les relais au niveau de la couche 3, sont des routeurs ou routers. – Les relais au niveau de la couche 2, sont des ponts ou bridges. – Les relais au niveau de la couche 1, sont des répéteurs ou repeaters. Il existe des relais au niveau 4, mais ceux-ci ne sont pas inclus dans le modèle de référence OSI. 3.2.1 Suivi de la transmission d’un message dans un réseau par paquets L’illustration des transformations subies par une suite d’informations à communiquer peut permettre de voir la complexité certes, mais aussi l’extrême fonctionnalité du modèle proposé par l’ISO pour assurer une communication efficace et sûre des données (figure 3.2). Examinons, d’abord du point de vue de l’émetteur, les transformations subies par une suite d’informations, à partir du moment où l’information est « entrée » par l’utilisateur sur son terminal, jusqu’à ce qu’elle circule sur les lignes physiques. De la couche 7 à la couche 1, il faut, entre chaque niveau, rajouter de l’information, mais aussi découper le message et le compléter pour permettre un meilleur cheminement. Arrivées à la couche physique, les données peuvent enfin être acheminées sous la forme d’un signal électrique ou lumineux, selon les cas. © Télé-université, Septembre 1999 INF 5004 PROTOCOLES ET ARCHITECTURES 9 Normalement, le train de données transitera par différents nœuds, durant son passage dans le réseau de données par paquets. À chacun des relais (nœud, passerelle), le train de données subira de nouvelles transformations, d’abord par contrôle et dépouillement successif des en-têtes, puis par réadressage et réexpédition vers le prochain nœud. Arrivées à destination (couche 1, chez le destinataire), les données referont le chemin inverse, pour être restituées sous la forme d’informations interprétables par l’utilisateur humain sur le terminal (couche application). SYSTÈME ÉMETTEUR SYSTÈME RÉCEPTEUR NIVEAU x x 7 'x 'x 6 "x "x 5 Interface 6/7 Interface 5/6 E4 "x1 E4 "x2 E4 "x1 E4 "x2 4 E3 E4 "x1 E3 E4 "x2 E3 E4 "x1 E3 E4 "x2 3 E2 E3 E4 "x1 K2 E2 E3 E4 "x2 K2 E2 E3 E4 "x1 K2 E2 E3 E4 "x2 K2 2 NIVEAU 1 NIVEAU 1 1 FIGURE 3.2 Cheminement de l’information. Cheminement dans le système A Ce cheminement commence par la couche application qui est la seule perceptible par l’utilisateur. En fait, les deux premières couches (application et présentation) s’entendent pour déterminer le type du message qui sera émis et la forme qu’il prendra. Niveau 7 COUCHE APPLICATION Un message x doit être émis au niveau 7 du système émetteur A. Avant que le message ne soit envoyé, les couches application des systèmes A et B s’entendent sur l’identification des ordinateurs et des terminaux des deux systèmes. © Télé-université, Septembre 1999 INF 5004 PROTOCOLES ET ARCHITECTURES 10 La couche application utilise les différents logiciels d’application pour préparer les données à envoyer (texte, chiffres, commandes à l’ordinateur distant, etc.). C’est à ce niveau que l’information est codée sous une forme généralement binaire. Avant de passer le message x à la couche présentation, la couche application y préfixe un en-tête qui identifie, dans un langage codé, les ordinateurs et les terminaux de l’émetteur et du receveur. Niveau 6 COUCHE PRÉSENTATION Avant que le message ne soit envoyé, les couches présentation des systèmes A et B s’entendent sur l’utilisation d’un alphabet commun pour le temps de la session (le plus courant est le code ASCII). La couche présentation permet de convertir les fichiers créés par certains ordinateurs avec un formatage différent, en effaçant les disparités de fonctionnement entre les divers terminaux. Ces disparités peuvent avoir trait par exemple à la longueur des lignes et à la taille de l’écran, ainsi qu’aux types de caractères. Parmi les tâches les plus courantes de la couche présentation, on retrouve encore la compression de texte, ce qui permet d’optimiser le fonctionnement du réseau, en réduisant le temps de transfert et l’espace de stockage, ainsi que la cryptographie, ce qui permet d’assurer le caractère privé de certaines communications. Avant de passer le nouveau message ’x au niveau 5 par l’interface 6/5, la couche présentation lui ajoute un nouvel en-tête codé, qui fournit les indications pertinentes au compactage et à la cryptographie, le cas échéant. Les deux couches suivantes (session et transport) s’occupent de la communication entre les deux postes distants. Niveau 5 COUCHE SESSION C’est au niveau de la couche session que se négocie l’établissement d’une connexion avec un processus sur un autre système. Dès que la connexion est établie, c’est la couche session qui gère le dialogue d’une manière ordonnée. Si les utilisateurs, aux deux extrémités, veulent choisir parmi une variété d’options, par exemple une communication semi-duplex ou une communication duplex intégral, c’est à la couche session que revient la tâche de gérer ces options. Par ailleurs, la couche session marque le début et la fin des messages. Elle ajoute enfin un nouvel en-tête indiquant les ententes prises, entre autres sur le mode de communication. Niveau 4 COUCHE TRANSPORT La couche transport a pour tâche de créer une connexion. Normalement, une connexion distincte est créée chaque fois qu’elle est demandée par la couche session. Toutefois, dans certaines situations, la couche transport peut créer plusieurs connexions ou encore effectuer un multiplexage de plusieurs connexions en une seule. La couche transport a également pour tâche de définir la classe de service fournie. Elle détermine par exemple si les paquets envoyés à travers le réseau doivent être © Télé-université, Septembre 1999 INF 5004 PROTOCOLES ET ARCHITECTURES 11 restitués dans leur ordre d’émission à leur arrivée à l’autre extrémité ou si, au contraire, l’ordre d’arrivée des paquets importe peu. Étant donné que les sources hôtes, émettrices ou réceptrices, fonctionnent de telle sorte qu’un grand nombre de connexions entrent et sortent de chacune d’entre elles, l’identification du message à une connexion précise relève de la couche transport. La couche transport doit enfin contrôler le flux de données qui s’écoule entre les deux extrémités utilisatrices. Par ailleurs, compte tenu qu’il existe une limite à la taille des messages acceptés par le niveau 3, le niveau 4 (couche transport) découpe le message en petites unités ou segments et les identifie avec un nouvel en-tête. Comme l’illustre la figure 3.3, cet en-tête « E4 » inclut des informations de contrôle, telle une séquence de numéro qui permettra au niveau 4 du système-récepteur de reconstituer le message x dans la bonne séquence ordonnée, au cas où les niveaux inférieurs ne maintiendraient pas l’ordre des unités du message. E4 "x1 E4 "xn FIGURE 3.3 Exemples d’en-têtes du niveau 4 (détail). Après division du message en segments, la couche transport fait une copie de chaque segment. Cette copie pourra être retransmise s’il arrivait un incident dans le transfert des données; elle est détruite dès que la couche transport du système B accuse bonne réception du segment. Les trois couches suivantes, dites de bas niveau, constituent ce qu’il est aussi convenu d’appeler le sous-réseau de communication. Elles ont la tâche de convoyer les données dans le réseau. La couche réseau sélectionne la route, la couche liaison assigne le message à des canaux spécifiques et la couche physique transmet le signal. Niveau 3 COUCHE RÉSEAU Dès qu’un segment de message entre dans la couche réseau en provenance de la couche transport, il est divisé en paquets. Une des tâches les plus importantes de la couche réseau est la détermination des routes que les paquets utiliseront. La couche réseau doit effectuer à cet effet un contrôle permettant d’éviter la congestion résultant de la présence d’un trop grand nombre de paquets aussi bien dans les nœuds que dans les circuits du sous-réseau. Il est donc possible que les paquets d’un même message utilisent des chemins différents pour se rendre à leur destination. La gestion des routes ou des circuits à utiliser relève de la couche réseau. Le niveau 3 ajoute un nouvel en-tête contenant la séquence des paquets dans le message, ainsi que l’adresse du destinataire, comme l’illustre la figure 3.4. © Télé-université, Septembre 1999 INF 5004 PROTOCOLES ET ARCHITECTURES E3 E4 "x1 12 E3 E4 "xn FIGURE 3.4 Exemples d’en-têtes du niveau 3. Niveau 2 COUCHE LIAISON La couche liaison du système A s’entend avec son équivalent du système B sur la façon d’accuser la réception des paquets. La couche liaison a pour tâche d’assurer le transport des paquets de données en garantissant l’absence d’erreurs. C’est à ce niveau que sont établies et transmises les trames de données. Le niveau 2 assure la liaison des données en ajoutant un autre en-tête « E2 » au message, ainsi qu’une spécification « K2 » de début ou de fin de message, située à la fin du message (figure 3.5). La trame permet ainsi de convoyer une séquence de contrôle permettant la vérification et la détection des erreurs de transmission, ainsi que les adresses réseau du prochain nœud que le paquet rencontrera. E2 E3 E4 "x1 K2 E2 E3 E4 "xn K2 FIGURE 3.5 Exemples d’en-têtes du niveau 2. La couche liaison fait et conserve une copie de chaque paquet jusqu’à ce qu’elle reçoive l’accusé de réception du prochain nœud indiquant que le paquet est arrivé intact. Niveau 1 COUCHE PHYSIQUE Arrivés à la couche physique, les bits de chaque paquet sont encodés en fonction du support qui les véhiculera. Pour les lignes téléphoniques, il s’agit encore le plus souvent de la production d’un signal analogique. Pour les réseaux en fibre optique, les bits sont transformés en pulsions lumineuses. La couche physique (niveau 1) a pour fonction la transmission physique des données sur un canal de communication. Relais dans un nœud intermédiaire Le rôle d’un nœud dans le réseau peut être assumé par un serveur, qui servira de passerelle vers le serveur destinataire, ou par un processeur dédié à cette tâche. Chaque nœud contient au moins les trois couches inférieures du sous-réseau du modèle OSI, ce © Télé-université, Septembre 1999 INF 5004 PROTOCOLES ET ARCHITECTURES 13 qui constitue le minimum requis pour le travail de vérification, de reroutage et de transfert. Quand un paquet arrive à un nœud, les opérations exécutées auparavant par l’émetteur sont pour ainsi dire « détricotées » : les en-têtes sont lus, les séquences de contrôle vérifiées et, le cas échéant, les accusés de réception sont envoyés à l’hôte émetteur pour l’informer que le paquet est arrivé intact. Niveau 1 COUCHE PHYSIQUE Véhiculé par des fils ou par un autre support, le signal contenant le message arrive à un nœud du réseau par la voie de la couche physique. Le signal est alors décodé et rétabli en une suite de bits. Niveau 2 COUCHE LIAISON La tâche de la couche liaison consiste à prendre les trains binaires qui lui sont fournis par la couche physique et à les transformer en une liaison sans erreurs pour la couche suivante, c’est-à-dire la couche réseau. Cette tâche est effectuée par la transmission séquentielle des trames1 de données et le traitement de l’accusé de réception, par le récepteur. Le niveau liaison assume en outre diverses tâches : – étant donné que le niveau physique accepte et transmet des ensembles binaires sans en connaître la structure ni la signification, la couche liaison doit reconnaître les frontières des trames; – le niveau liaison doit de plus résoudre les problèmes causés par la perte, la destruction ou la duplication des trames de données; dans les deux premiers cas, le niveau liaison du système émetteur doit retransmettre celle-ci; il doit également intervenir au cas où de multiples transmissions de la même trame introduiraient la duplication de celle-ci, par exemple lorsque l’accusé de réception d’une trame envoyé du récepteur à l’émetteur est détruit; – le niveau liaison doit enfin assurer la coordination entre l’émission rapide des données et leur réception lente. Avant de passer à la couche réseau, l’en-tête et la queue sont extraits de chaque paquet. Niveau 3 COUCHE RÉSEAU Comme cela s’est produit dans le sous-réseau du serveur émetteur, le nœud établit, maintient et termine la connexion jusqu’à la prochaine station le long du chemin, le serveur receveur, par exemple. De plus, une entente est reprise sur les modalités de réception des paquets. La couche réseau examine l’en-tête qui lui est propre, et qui a été fixée par la précédente station, pour déterminer le nouveau segment de route à faire effectuer au paquet. Grâce à un schéma de routage adaptatif, le nœud du réseau peut aussi rerouter le paquet pour éviter la congestion. 1 Par trame, on entend un bloc d’informations composé et transmis selon un ensemble de règles constituant une procédure de contrôle de liaison de données. © Télé-université, Septembre 1999 INF 5004 PROTOCOLES ET ARCHITECTURES 14 Niveau 2 COUCHE LIAISON La couche liaison rétablit la trame, réencadre chaque paquet avec un en-tête et une queue et réinsère une séquence de contrôle. Chaque paquet reçoit maintenant l’adresse du nouveau point dans le cheminement. Avant de passer le paquet à la couche physique, une copie en est faite. Le double est conservé jusqu’à ce qu’un accusé de réception certifie son arrivée intacte au prochain arrêt. Niveau 1 COUCHE PHYSIQUE La couche physique réencode les bits de chaque paquet dans la forme propre au support de transmission choisi et les expédie. Cheminement à l’intérieur du système B Quand un serveur peut aussi bien fonctionner comme passerelle vers un autre serveur que pour son propre compte, et qu’il reçoit des données, il trie les paquets qui ne font que transiter, comme on vient de le voir, et conserve ceux qui lui sont destinés. Les paquets que le serveur conserve sont examinés et restaurés au fur et à mesure qu’ils progressent de la couche physique à la couche application, conformément au modèle OSI. Niveau 1 COUCHE PHYSIQUE Quand le signal entre dans le serveur récepteur par la couche physique, les différences de voltage ou les pulsions lumineuses sont reconverties en bits. Niveau 2 COUCHE LIAISON Le travail effectué lors du passage dans le nœud se répète ici avant que les paquets ne passent à la couche réseau. Niveau 3 COUCHE RÉSEAU La couche réseau vérifie l’adresse de chaque paquet. Ceux qui sont destinés à un serveur différent sont réadressés et renvoyés pour poursuivre leur route. Les paquets portant l’adresse du système B sont passés à la couche transport. La couche réseau réassemble les paquets dans les segments de message à partir des numéros indiqués dans chaque en-tête pour remettre les paquets en ordre. Puis, lors de leur progression vers la couche transport, les paquets sont dépouillés des en-têtes qui contenaient le numéro du paquet et l’adresse du destinataire. À des fins de facturation et de contrôle croisé avec l’émetteur, la couche réseau recompte les paquets entrants. Niveau 4 COUCHE TRANSPORT La couche transport relie entre eux, grâce aux numéros portés dans l’en-tête, les segments de message que lui a remis la couche réseau. Après vérification, un avis de réception est envoyé à l’émetteur; sinon, la couche transport demande à son équivalent de retransmettre le segment de message. © Télé-université, Septembre 1999 INF 5004 PROTOCOLES ET ARCHITECTURES 15 Avant que ce segment n’arrive à la couche session, la couche transport retire l’entête qui lui est propre. Niveau 5 COUCHE SESSION La couche session groupe les messages de telle sorte qu’aucun d’entre eux n’arrive à destination avant que l’ensemble des messages n’y soit. Ce mécanisme vise à assurer qu’aucune déficience du matériel ou du logiciel dans le sous-réseau ne cause un abandon de la transaction avant la fin de celle-ci. Dans le cadre d’un système de gestion de base de données, il est en effet crucial, lors d’une transaction complexe, que les échanges ne soient pas abandonnés durant celle-ci, car cela laisserait la base de données dans un état incohérent. Par ailleurs, le niveau 5 peut retenir un message destiné au niveau 6, alors que celui-ci transmet des données au niveau 5. Avant que le segment de message n’arrive à la couche présentation, la couche session retire l’en-tête qui indique les ententes prises pour que la session de communication commence. Niveau 6 COUCHE PRÉSENTATION Si le message est cryptographié à l’origine, la couche présentation de l’ordinateur destinataire doit le déchiffrer en fonction des règles sur lesquelles les deux ordinateurs correspondants se sont entendus au début de la session. Si l’information a été compactée, la couche présentation rétablit le code dans une forme acceptable pour la couche application. Enfin, avant que le segment de message n’arrive à la couche application, la couche présentation retire l’en-tête qui indique l’alphabet et les consignes concernant le compactage et le cryptage. Niveau 7 COUCHE APPLICATION La couche application vérifie l’en-tête qui indique l’adresse du destinataire, reconvertit les bits en caractères lisibles pour l’utilisateur et dirige les données vers le logiciel d’application approprié. Quand le dernier en-tête est retiré, le message peut être affiché au terminal destinataire. Cet exemple illustre bien l’importance de la relation entre la communication virtuelle de chaque niveau et la communication physique propre au niveau 1. 3.3 PROTOCOLES DE LA COUCHE PHYSIQUE La couche physique permet de déterminer l’activation, le maintien et la désactivation d’une connexion au sein d’un médium donné, en vue de transmettre des données binaires. Cette couche peut inclure des répéteurs qui réamplifient le signal dans des nœuds intermédiaires. © Télé-université, Septembre 1999 INF 5004 PROTOCOLES ET ARCHITECTURES 16 Par exemple, le connecteur EIA (UIT-T, V.24/V.28) est défini du point de vue mécanique (norme ISO 2110), électrique (bit 1 = tension entre –3 et –15 volts et bit 0 = tension entre +3 et +15 volts), fonctionnel (broche 2 = données à transmettre, broche 3 = données reçues, broche 4 = demande à transmettre, etc.) et procédural (demande de transmission et vérification avant la transmission de données). Au niveau de la couche physique, la communication peut être synchrone ou asynchrone. La communication asynchrone débute et se termine par des bits de démarrage et d’arrêt reconnaissables (start bit et stop bit). Par exemple, un caractère ASCII de 7 bits est précédé d’un bit de démarrage (start bit) et est suivi par un bit de parité (error check bit) et d’un bit d’arrêt (stop bit). Le nombre connu de bits qui les séparent des bits d’arrêt permet de reconstituer l’horloge qui a servi à la transmission (figure 3.6). Toutefois, en communication synchrone, il n’est pas nécessaire de faire précéder le caractère représentant des ensembles de bits, par des bits de démarrage et d’arrêt. L’horloge peut être reconstituée au récepteur à partir des transitions des bits dans le message reçu. S ign a l bin a ire a lé a to ire (R B S ) C ircu it d e re c o n s titu tio n d 'h o rlo g e S ig n a l d 'h o rlo g e FIGURE 3.6 Reconstitution d’un signal d’horloge. La synchronisation d’horloge au récepteur est essentielle, car elle permet d’identifier le milieu de chaque bit en vue de savoir s’il s’agit d’un « 1 » ou d’un « 0 ». Dans le cas d’un réseau numérique à intégration de services (RNIS) qui vise à intégrer des transmissions audio avec des transmissions de données dans le système téléphonique, les vitesses binaires transmises sont des multiples de 64 kb/s. Dans le cas des réseaux de haute vitesse SONET (Synchronous Optical Network) ou SDH (Synchronous Digital Hierarchy) recommandés par le UIT-T, on atteint des vitesses de plusieurs gigabits par seconde. Les vitesses sont des multiples de 155 Mb/s (dits STS-3 pour Synchronous Transfer Signal 3). Le système SONET permet d’inclure des vitesses multiples de 51,84 Mb/s (dits OC-1 pour Optical Carrier 1 ou STS-1 pour Synchronous Transfer Signal 1). Entre autres protocoles de la couche physique, mentionnons les pendants UIT des séries V d’interface de modems, tels les V.24, V.28 (EIA RS-232-D) et V.34 (allant à 28,8 kb/s), de même que ceux de la série X, tels les X.21 et X.21bis. 3.4 PROTOCOLES DE LA COUCHE LIAISON La couche liaison peut servir entre des connexions point à point, entre des connexions au sein d’un réseau local ou, encore, entre deux routeurs. © Télé-université, Septembre 1999 INF 5004 PROTOCOLES ET ARCHITECTURES 17 La couche liaison établit la connexion, en contrôle le séquencement, l’initiation et la déconnexion. La détection d’erreurs est du type CRC-16 (Cyclical Redondancy Check) dans les réseaux locaux. La vérification des trames au moyen du CRC permet de confirmer au transmetteur que la trame est bonne (ACK pour Acknowledgment) ou qu’elle est mauvaise (NAK pour Non Acknowledgment). Dans ce dernier cas, le transmetteur doit transmettre la trame à nouveau (figure 3.7). ou vice versa Préambule de synchronisation Adressage / Contrôle Contrôle Identifie le début (n x 8) identifie de la pour l'adresse, le type transmission contrôle et identifie de trame 01111110 le type de trame (n=8 ou 16) Données N bits Détection d'erreurs Fin de trame 16 bits code CRC-16 x16+x12+x5+1 FIGURE 3.7 Trame au niveau de la couche liaison. Le débit des paquets doit également être contrôlé, car le récepteur peut avoir une mémoire tampon et une vitesse de traitement limitées. En effet, le récepteur doit être prêt à accepter de la nouvelle information. Le protocole HDLC est un protocole de la couche liaison, utilisé selon différentes variantes dans les protocoles X.25 et ISDN, dans la connexion entre les modems, dans la connexion point à point (P/P) ou dans les relais de trame (frame relay). Il y a trois types de trames de contrôle HDLC : – Une trame d’information qui contient de l’information sur les données. – Une trame de supervision qui transmet des messages tels que : récepteur prêt ou non prêt, rejet, rejet sélectif, etc. – Une trame non numérotée destinée à des opérations de commande en transmission asynchrone. Le contrôle du débit est effectué en transmettant une fenêtre de quelques trames afin de laisser au récepteur un certain temps de réaction. Cette fenêtre de trames est décalée, une trame à la fois. Le nombre de trames par fenêtre dépend de la vitesse à laquelle le récepteur peut absorber l’information qui lui est transmise. Dans le cas d’une réaction telle que « récepteur non prêt », le flux de transmission est interrompu. La confirmation (ACK) ou la non-confirmation (NACK) du récepteur ne sont nécessaires que dans les communications en mode orienté connexion (connection-oriented). En cas de nonconfirmation de la trame reçue (NAK), toute la fenêtre de trames est retransmise par l’émetteur. © Télé-université, Septembre 1999 INF 5004 PROTOCOLES ET ARCHITECTURES 18 Dans le protocole de communication par paquets X.25, la trame HDLC en mode asynchrone balancé est appelée LAP-B (Link Access Procedure, Balanced). Le qualificatif balancé vient préciser qu’il n’y a pas de site primaire et que tous les terminaux ont le même statut. Dans le système téléphonique RNIS, une variation de la trame HDLC dans le canal D dédié à la signalisation porte le nom de LAP-D (Link Access Procedure for the D Channel). 3.4.1 Sous-couche MAC Dans les réseaux locaux, la couche liaison est divisée en deux sous-couches : LLC (Logical Link Control) et MAC (Media Access Control). Dans la sous-couche MAC, notons l’IEEE 802.3 (ou Internet), IEEE 802.4 (ou Token Bus), IEEE 802.5 (ou Token Key) ou FDDI (Fiber Data Distributed Interface). Typiquement, un MAC comprend un préambule, l’adresse de destination, l’adresse de source, l’information LLC et le codage d’erreurs. Le rôle d’un pont est de filtrer les messages, selon l’adresse de la destination, et de les assigner à un câble particulier. C’est le cas dans la plupart des ponts IEEE et FDDI. Les ponts de IEEE 802.5 filtrent le trafic selon l’adresse de la source, car la source contient de l’information sur la destination. Un paquet exploratoire est envoyé et peut arriver par plusieurs chemins. Celui qui encourt le délai le plus court est retenu. Dans ce cas particulier, des boucles de ponts peuvent exister. En dehors de ce cas, les ponts ne doivent pas former de boucles, car l’information risquerait alors de rouler sans fin entre les ponts. Une topologie en arbre est préférable. Il existe aussi un commutateur entre les réseaux locaux dit Switched LAN Interconnect. Les LAN y sont reliés par un pont (switching hub) qui joue aussi le rôle d’un répéteur. 3.4.2 Sous-couche LLC La sous-couche LLC comprend : – l’adresse SAP (Source Access Point ou Payload Identifier) de destination (un octet); – l’adresse SAP (Source Access Point) de source (un octet); – l’information de contrôle (un ou deux octets). Une adresse spéciale SNAP (SubNet Access Protocol) permet de désigner l’adresse où le type de protocole peut être identifié. 3.5 PROTOCOLES DE LA COUCHE RÉSEAU 3.5.1 Protocoles de la communication par paquets Dans cette section, nous verrons les protocoles de la communication par paquets : – Le protocole X.25, qui est un protocole de la couche réseau et aussi, partiellement, de la couche de transport. Il est largement utilisé et fait usage du système téléphonique, mais il est malheureusement beaucoup trop lent. © Télé-université, Septembre 1999 INF 5004 PROTOCOLES ET ARCHITECTURES – – 19 Le relais de trame (frame relay), qui est la réponse pour une transmission plus rapide, car des trames plus grandes sont transmises à plus haute vitesse. Le relais de cellules (cell relay), qui livre le message en petits paquets dont la longueur type est de 48 octets, plutôt qu’en groupes entiers, comme le fait le relais de trame. Le protocole ATM (Asynchronous Transfer Mode) fait usage du relais de cellules et peut supporter des informations audio, vidéo ou encore des données. À titre comparatif, le tableau 3.2 présente les propriétés propres à chacun de ces modes de communication par paquets. TABLEAU 3.2 Comparaison entre les modes de communication par paquets X.25 Relais de trame ATM (relais de cellules) Unité de données paquet trame cellule Taille maximale en octets 128 1600 48 Vitesse de transmission 9,6 kb/s → 56 kb/s 56 kb/s / 64 kb/s (T1) T3 → OC-n Contrôle du début RNR/RR Congestion Flag GFC Identification nombre de canaux DLCI logiques VCI/VPI Séquencement no de séquence implicite implicite ACK par paquet aucun aucun CRC-16 Capteur de détection d’erreurs(Detection Sensor) CRC-16 CRC-32 Demande de retransmission oui non non FECN/BECN Protocole X.25 Le protocole X.25 interface un terminal DTE (Data Terminal Equipment) à un réseau de communication DCE (Data Communication Equipment) dans un réseau public à commutation par paquets. Il est orienté connexion et permet d’avoir des circuits virtuels commutés ou permanents. La vitesse de transmission varie typiquement de 9,6 kb/s à 56 kb/s. La figure 3.8 montre un réseau utilisant le protocole X.25. © Télé-université, Septembre 1999 INF 5004 PROTOCOLES ET ARCHITECTURES 20 D TE D TE X .2 5 X X .2 5 X DCE DC E X .7 5 FIGURE 3.8 Exemple de réseau utilisant le protocole X.25. Lors d’une demande de communication CR (Call Request), la longueur du message et les adresses de source et de destination sont transmises, de même que toute autre limitation particulière à la longueur des paquets et à la longueur des fenêtres (qui paie les frais de conversation par exemple, etc.). Ces paramètres sont négociés avec le partenaire avant que la transmission des informations ne commence. Dans le protocole X.25, les données sont transmises par paquets. Chaque paquet comprend un bit de qualification (Q = 1 : est un paquet de supervision et Q = 0 : est un paquet de données). Un bit de confirmation D qui demande la confirmation de la réception d’un paquet. Un fanion M indique le nombre de paquets qui doit être considéré comme une unité logique, de façon à avoir une confirmation pour ce nombre de paquets. Il existe des paquets spéciaux tels que : – Reset : pour compter les séquences et les ACK; – Restart : pour réinitialiser la connexion des paquets de diagnostic; – Fast Select : pour accélérer les transactions; – Expedited Data : pour envoyer les messages urgents; – Clear Request : pour mettre fin à la conversation. Le protocole X.75 permet de communiquer entre deux réseaux X.25. Il ajoute quelques informations telles celles qui sont relatives à la tarification. Les protocoles X.28, X.3 et X.29 accompagnent le protocole X.25 (figure 3.9). Ils définissent les paramètres relatifs à la formation de paquets (X.3), aux terminaux (X.28) et au serveur (X.29). Le protocole X.21 est un protocole de basse vitesse au niveau de la couche physique. DCE X .2 5 T e r m in a l X .2 8 X .3 (P A D ) X .2 9 H ost P a c k e t A s s e m b le r / D is a s s e m b le r FIGURE 3.9 Les protocoles associés au protocole X.25. © Télé-université, Septembre 1999 INF 5004 PROTOCOLES ET ARCHITECTURES 21 Relais de trame Le protocole de relais de trame (frame relay) est la solution utilisée en Amérique du Nord pour remplacer le protocole X.25. C’est un service orienté connexion. La vitesse de transmission est très rapide et s’effectue sur fibre optique. La figure 3.10 montre une trame de ce protocole. Le relais de trame n’occupe que la couche physique et la couche liaison (X.25 occupe également la couche réseau). Il fournit comme services la détermination du début et de la fin d’une trame, la détection des erreurs de transmission. La transmission est plus fiable et il n’y a pas de retransmission ou de ACK. Les trames erronées sont détruites. C’est à l’utilisateur de s’en apercevoir et de les récupérer. Les paquets ont des longueurs de 1600 octets (au lieu de 138 avec X.25) et des trames entières sont transmises. Le protocole HDLC de la couche liaison est celui du RNIS, soit le LAPD. Fanion Adresse et contrôle Error Check Donn é es Fa nion Identification de 10 bits : DLCI (Data Link Connection Identification) ou identifie un client particulier. FECN (Forward Explicit Congestion Notification) ou BCEN (Backward Explicit Congestion Notification) pour signaler le congestionnement et initier un ralentissement. DEF(Discard Eligibility Field) indique quelles trames peuvent être abandonnées s'il y a congestion. FIGURE 3.10 Trame type dans le protocole de relais de trame. Un FRAD (Frame Relay Access Device) est une unité d’interface entre des relais de trame, qui prend les mesures nécessaires quand il y a congestion. Un FRAD peut émuler un réseau en anneau virtuel. Relais de cellules Le protocole de relais de cellules (cell relay) peut être orienté connexion (connectionoriented) ou non orienté connexion (connectionless). Chaque cellule possède 48 bits et un en-tête de 5 bits. Les trames sont divisées en petites cellules. 5 48 53 bits cellule type FIGURE 3.11 Cellule type du protocole de relais de cellules. © Télé-université, Septembre 1999 INF 5004 PROTOCOLES ET ARCHITECTURES 22 L’avantage de ce protocole est que l’en-tête est uniforme et qu’elle est non distribuée en plusieurs endroits comme dans le X.25. Les cellules peuvent transmettre de l’audio, du vidéo et des données. La commutation des cellules est faite de façon matérielle pour minimiser le temps de traitement. Cette approche a été retenue dans le protocole IEEE 802.6 (MAN pour Metropolitan Area Network) et dans le SMDS (Switched Multimegabit Data Service) non orienté connexion (connectionless) dédié aux données seulement. La méthode d’accès d’IEEE 802.6 agit comme un LAN géant. Mode de transfert asynchrone (ATM) ATM est une forme de relais de cellules (cell relay). Il est orienté connexion. Selon la couche adaptation (adaptation layer) retenue, ATM sert à la transmission audio, vidéo et de données. – Pour la voix, on parle de AAL1 (ATM Adaptation Layer 1). – Pour la vidéo, on parle de AAL2 (ATM Adaptation Layer 2 ). – Pour les données CO/CL, on parle de AAL3/4 (ATM Adaptation Layer 3 connection-oriented/ connectionless). – Pour les données CL, on parle de AAL5. En ATM, l’en-tête occupe cinq octets. ATM peut émuler un LAN, ou encore un relais de trame. Il est aujourd’hui utilisé comme pivot central ou dorsale (backbone). Il pourra remplacer le LAN, si son coût baisse. ATM est l’éventuelle solution au futur réseau à large bande RNIS ou BISDN (Broadband Integrated Services Data Network). Il peut atteindre de très grandes vitesses. Réseau SMDS et normes SONET et SDH Le réseau SMDS (Switched Multimegabit Data Service) fonctionne par relais de cellules. Il est dédié à la transmission de données exclusivement et il peut interconnecter des vitesses T1 et T3, soit 1,544 Mb/s et 44,736 Mb/s. Le réseau SMDS devrait être compatible avec le futur réseau RNIS à large bande ou BISDN. La norme SONET (Synchronous Optical Network) définit des vitesses de transmission à haut débit sur des fibres optiques monomodes. Cette norme est compatible avec la transmission ATM. En Amérique du Nord, les vitesses OC-1, OC-3, OC-12 et OC-48 sont respectivement de 51,84 Mb/s, 152,52 Mb/s, 622,08 Mb/s et 2,488 Mb/s. Ailleurs, la norme porte le nom de SDH (Synchronous Digital Hierarchy) et les vitesses STM-1, STM-4 et STM-16 correspondent aux vitesses Sonet OC-3, OC-12 et OC-48. 3.5.2 Protocoles de routage L’information de routage est une base de données à laquelle il faut accéder selon un certain protocole. En effet, les routeurs doivent avoir un langage commun et il est important de veiller à la transmission intégrale des données. © Télé-université, Septembre 1999 INF 5004 PROTOCOLES ET ARCHITECTURES 23 Quelques protocoles de routage Protocole RIP (Routing Information Protocol) Ce protocole vise un minimum de nœuds intermédiaires et le routage optimal est calculé toutes les trente secondes. Il permet l’échange de tables de routage entre les routeurs. Chaque routeur diffuse sa table de routage toutes les minutes ou lors d’un changement dans sa table. Le routage optimal est alors calculé toutes les 30 secondes, en visant un minimum de nœuds intermédiaires pour transmettre un paquet entre un nœud d’origine et de destination. Protocole OSPF (Open Shortest Path Fast) Chaque routeur dérive indépendamment le chemin optionnel à partir de la base de données. Étant donné que la base de données est dynamique, les routeurs définissent des zones de recherche au sein desquelles l’information pourrait être véhiculée. Pour les domaines à l’extérieur d’une zone, le protocole EGP (Exterior Gateway Protocol) suffit. On lui préfère cependant le BGP (BGP-3 et BGP-4) (Border Gateway Protocol) qui optimise le routage entre les différents domaines. Protocole OSI Le protocole OSI comprend le routage ES-IS et le routage IS-IS et IDRP (Inter Domain Routing Protocol). Routage Novell Le protocole RIP (Routing Information Protocol) est un routage Novell, fondé sur l’optimisation de la distance virtuelle minimale; il est rajusté toutes les 60 secondes. Routage AppleTalk Il existe des protocoles AppleTalk qui ont été développés pour DECnet, Banyan VINES et autres. Ce routage se fonde sur l’optimisation de la distance virtuelle et est rafraîchi à toutes les dix secondes. Routage SNA Le routage SNA est très différent de celui de TCP/IP, car il fait appel à des tables de routage spécialisées. Le routage APPN (Advanced Peer to Peer Networking) est automatique. La version améliorée APPN+ ou HPR (High Performance Routing) tient compte de la possibilité d’une panne et est compatible avec les autres routages SNA. Protocoles de communication entre les routeurs Les protocoles PPP (Port to Port Protocol) ou SLIP (Serial Line IP) identifient le type d’information pour l’acheminer au routeur. Rappelons qu’un routeur doit pouvoir rediriger des informations provenant de différents types de réseaux et ayant des paquets de types différents. © Télé-université, Septembre 1999 INF 5004 PROTOCOLES ET ARCHITECTURES 24 3.5.3 Protocoles Internet Les protocoles Internet (IP) sont des protocoles intraréseaux et sont non orientés connexion (connectionless) – ou dits sans connexion. Ils occupent les trois premières couches du modèle OSI. Des routeurs connectent ensemble des réseaux. Ils sont appliqués aux couches physique, liaison et réseau. Ce sont donc des relais. Le rôle d’un protocole Internet est de communiquer avec les routeurs voisins. Le protocole IP prend en charge le routage, la taille du paquet, l’information sur le type de service, le contrôle du début, la segmentation et le rassemblement en paquets. Protocole IP Le IP (Internet Protocol) est un protocole non orienté connexion qui permet l’interopérabilité entre de nombreux réseaux : anneaux à jetons, X.25, Internet, etc., quelles que soient les caractéristiques de la couche physique de ces réseaux. Il existe deux versions du protocole IP : la version 4 et la version 6 (ou IP nouvelle génération), normalisées par l’IETF (Internet Engineering Task Force). La version 4 est la plus utilisée; elle permet un adressage des terminaux sur 32 bits, alors que la version 6 offre un adressage sur 128 bits. La version 6 est en pleine expansion. Du point de vue des couches ISO, IP se situe immédiatement au-dessus de la sous-couche réseau et offre une adresse logique pour les ordinateurs d’un réseau. L’adresse IP de 32 bits doit être capable d’adresser des nœuds recevant des liaisons de types différents (Internet : 48 bits, X.25 : 14 chiffres décimaux) et des trames de longueurs différentes fixées à la carte réseau de l’ordinateur (4500 octets en FDDI, 1518 octets pour Internet, etc.). Pour cela, un service de datagramme permet de refragmenter ou de rassembler les trames entrantes en paquets généralement plus petits. La fragmentation n’est nécessaire que si la longueur de la trame est plus grande que celle que permet un datagramme. Dans le cas contraire, le datagramme partiellement rempli est transmis. Les datagrammes peuvent arriver à destination en suivant un routage différent. Ils sont numérotés afin de reconnaître leur ordonnancement. Le protocole IP n’offre ni contrôle de flux ni contrôle d’erreurs. Il les détecte sans les contrôler; si le paquet est erroné, il le rejette sans en aviser la couche supérieure et sans chercher à en générer un autre. L’en-tête associé aux protocoles IP comprend les informations suivantes : adresses de source et de destination, type de service, longueur des paquets et des en-têtes, codage d’erreurs de l’en-tête, information de fragmentation, mécanique et automatique, si l’on n’est pas dans une boucle, numéro de version, amplificateur et variété de champs optionnels, comme forcer l’information à passer par un routeur particulier. La figure 3.12 illustre un datagramme IP. © Télé-université, Septembre 1999 INF 5004 PROTOCOLES ET ARCHITECTURES Version 4 25 En-tête 4 Type de service 8 Identification 16 En-tête IP Durée maximale 8 Longueur totale 16 Fanion 3 Protocole 8 Fragment 13 Contrôle d’erreurs 16 Adresse IP d’origine 32 Adresse IP de destination 32 Options Remplissage 8 Données FIGURE 3.12 Le datagramme IP. Le champ Version (VERS) de quatre bits indique la version de protocole IP : version 4 ou version 6. Le champ En-tête (IHL, Internet Header Length) de quatre bits indique la longueur de l’en-tête en mots de 32 bits, ce qui permet de pointer directement vers le début des données. Le nombre de mots de 32 bits peut varier entre cinq et seize, selon la longueur du champ d’options. Le champ Type de service est un champ de 8 bits indiquant le type de service. Les trois premiers bits indiquent la priorité. Les quatre bits suivants précisent le type de service (normal : 0 0 0 0, avec minimisation des coûts : 0 0 0 1, avec fiabilité maximale : 0 0 1 0, avec maximisation de débit : 0 1 0 0, ou en minimisation de délai : 1 0 0 0). Le champ Longueur totale (total length) est un champ de 16 bits et indique la longueur totale (en octets) de l’adresse IP (en-tête IP et données IP). La longueur maximale d’un datagramme IP est limité à 65 535 octets. Les routeurs sont conçus pour interpréter des datagrammes IP d’au moins 576 octets. Le champ Identification permet de modifier un datagramme IP particulier : c’est le numéro d’identification d’un datagramme spécifique. Si un datagramme IP doit être fragmenté, le numéro du datagramme est copié dans chaque fragment. Le champ Fanion (flags) est un champ de quatre bits; il informe le récepteur si le datagramme est fragmenté ou non. La figure 3.13 nous montre comment ce champ est divisé. © Télé-université, Septembre 1999 INF 5004 PROTOCOLES ET ARCHITECTURES 26 0 Réservé ; doit être égal à zéro. DF "Don't Fragment" DF = 1 signifie que le datagramme ne peut être fragmenté. MF "More Fragment" MF = 1 indique que d'autres fragments suivent. FIGURE 3.13 Le champ Fanion (Flags). Le champ Fragment (fragment offset) indique la position du fragment dans le datagramme IP. La valeur de ce champ correspond au premier numéro d’octet qui appartient à ce fragment particulier. Si le fragment précédent contenait par exemple 2364 octets allant du numéro 6700 à 9064, le champ du fragment actuel affichera alors la valeur 9065. Le champ Durée maximale (time-to-live) de huit bits indique la durée maximale permise d’un datagramme IP. La valeur de ce champ fait démarrer un compteur qui est décrémenté régulièrement. Lorsque le compteur atteint la valeur zéro, le datagramme est détruit. Ce champ permet d’éviter des situations où l’information circule indéfiniment en boucle entre les routeurs. Le champ Protocole de huit bits indique le type de protocole qui est encapsulé dans les données du datagramme IP. Les valeurs types sont : – 1 pour ICMP; – 6 pour TCP; – 17 pour UDP. Le champ Contrôle d’erreurs de l’en-tête (header checksum) de seize bits effectue un contrôle d’erreurs, mais au sein de l’en-tête seulement. Ce champ est vérifié par le destinataire. S’il y a découverte d’une erreur, le datagramme est détruit. Les champs Adresse d’origine et Adresse de destination occupent chacun 32 bits. Les adresses sont des adresses IP de classe A, B, C ou D. Le champ Options a une longueur variable. Il peut être étendu ou omis. Des bits de remplissage sont utilisés pour compléter un mot à 32 bits. Le champ Options comprend un bit de fanion, deux bits pour la classe d’option et cinq bits pour l’option. Alternativement, ce champ peut consister en un seul octet définissant une option particulière. La figure 3.14 illustre comment sont définis les types d’options, dans le premier cas. © Télé-université, Septembre 1999 INF 5004 PROTOCOLES ET ARCHITECTURES Fanion 1 Classe 2 27 Option 5 Remplissage ou paramètres d'option supplémentaires FIGURE 3.14 Définition des types d’options. Le fanion est un bit dont la valeur « 1 » ou « 0 » indique si le fichier a été copié au routeur ou non. Les bits de la classe d’options sont de quatre types : – contrôle (0 0); – réservé (1 0); – dépannage et mesure (0 1); – réservé également (1 1) pour un usage futur. Les cinq bits d’options peuvent être réservés : – 00000 End of Option List indique la fin de la liste des options, au cas où cette liste n’occuperait pas 32 bits. – 00001 No Operation sert à aligner les octets dans une liste d’options et ne représente pas une option particulière. – 00010 Security sert à définir le niveau de sécurité employé. – 00011 Loose Source Routing indique qu’aucun routage particulier n’est retenu. – 01001 Strict Source Routing indique que le datagramme doit passer par des nœuds (ou routeurs) bien définis. – 00111 Record Route permet de conserver l’historique des routeurs empruntés. – 01000 Stream ID ceci est une option (discrète) pour transporter une identification de type SATNET. – 00100 Type Stamping permet d’indiquer l’heure (en milliseconde) à chaque nœud. Adresse IP Comme le montre la figure 3.15, l’adresse IP est divisée en deux parties : la première (Netid) est destinée à identifier le routeur, la seconde (Hostid) est destinée à identifier le terminal. Il existe cinq classes d’adresses dénommées A, B, C, D et E qui dépendent du nombre de réseaux ou de terminaux rattachés au serveur. © Télé-université, Septembre 1999 INF 5004 PROTOCOLES ET ARCHITECTURES 28 En-tête Netid Hostid Adresse IP Classe En-tête Bits « Netid » Nombre d’adresses de routeurs Bits « Hostid » Nombre d’adresses de terminaux A 0 7 127 24 16 777 214 B 10 14 16 384 16 65 536 C 110 21 2 097 152 8 255 D 1110 Mode tous-points « Broadcast » E 1111 Classe non encore définie FIGURE 3.15 Adresse IP et classes d’adresses. L’adresse est lue en quatre octets séparés, chaque octet étant lu de façon décimale. Exemple d’adresse 146 . P . 25 . Q . 19 . R . 34 S Le premier nombre décimal P est indicateur de la classe d’adresses. – Dans la classe A, l’en-tête est composé du bit « 0 ». Les sept autres bits du premier octet constituent l’indicateur de la classe qui peut prendre des valeurs comprises entre 1 et 127. Le premier octet permet d’identifier les routeurs, tandis que les trois autres octets servent à identifier les différents terminaux. Cette classe est utilisée pour l’adressage, dans les réseaux qui comprennent un très grand nombre de terminaux, soit 16 777 214. – Dans la classe B, l’en-tête est composé des bits « 10 ». Les six autres bits du premier octet constituent l’indicateur de la classe qui peut prendre des valeurs comprises entre 128 et 191. Les deux premiers octets permettent d’identifier les routeurs, tandis que les deux autres octets servent à identifier les différents terminaux. Cette classe est utilisée pour l’adressage, dans les réseaux intermédiaires pouvant compter jusqu’à 65 536 terminaux. – Dans la classe C, l’en-tête est composé des bits « 110 ». Les cinq autres bits du premier octet constituent l’indicateur de la classe, qui peut prendre des valeurs comprises entre 192 et 223. Les trois premiers octets permettent d’identifier les routeurs, tandis que le dernier octet sert à identifier les différents terminaux. Cette classe est utilisée pour l’adressage, dans les réseaux d’au plus 255 terminaux. © Télé-université, Septembre 1999 INF 5004 PROTOCOLES ET ARCHITECTURES – – 29 Dans la classe D, l’en-tête est composé des bits « 1110 ». Les quatre autres bits du premier octet constituent l’indicateur de la classe, qui peut prendre des valeurs comprises entre 224 et 239. Dans cette classe d’adresses, la notion de réseau est absente. Cette classe est utilisée pour diffuser les datagrammes vers un groupe de terminaux. Dans la classe E, l’en-tête est composé des bits « 1111 ». Elle est réservée pour un usage futur. Adresse de masque Le sous-réseautage simplifie l’administration en permettant de former des sous-groupes fonctionnels au sein d’une administration. L’adresse IP devient : Hostid Netid Numéro de sous-réseau Numéro de terminal Pour que l’on puisse savoir s’il existe un sous-réseau ou non, l’adresse IP est accompagnée d’un masque « P.Q.R.S. » Les principaux masques sont : – 255.0.0.0 pour une adresse IP de classe A; Q.R.S. est l’adresse du terminal; – 255.255.0.0 pour une adresse IP de classe B; R.S. est l’adresse du terminal; – 255.255.255.0 pour une adresse IP de classe C; S constitue l’adresse du terminal. La démarcation entre les valeurs décimales 255 et 0 du masque permet d’établir quelle partie du champ Hostid servira à déterminer le sous-réseau. La partie gauche servira à déterminer le sous-réseau, tandis que la partie droite servira à déterminer le terminal. Rappelons que le nombre P (le premier nombre de l’adresse IP) définit la classe d’adresse IP : de 1 à 127 pour la classe A, de 128 à 191 pour la classe B, de 192 à 223 pour la classe C et de 224 à 239 pour la classe D. L’adresse IP complète d’un terminal est donc constituée de l’adresse IP et du masque IP. Ces informations sont généralement accompagnées de l’identification d’un routeur par défaut. Considérons l’adresse IP « 75.40.6.13 », accompagnée du masque « 255.255.0.0. » L’adresse IP montre qu’il s’agit d’une adresse de classe A, et que le terminal est identifié par « 40.6.13 ». Comme la démarcation dans le masque se situe entre le deuxième et le troisième nombre décimal à partir de la gauche, dans l’adresse du terminal, « 40 » représentera le numéro du sous-réseau et « 6.13 » représentera le terminal. Considérons l’adresse IP « 160.38.6.9 » accompagnée d’un masque « 255.255.255.0 ». L’adresse IP montre qu’il s’agit d’une adresse IP de classe B, et que le terminal est identifié par « 6.9 ». Comme la démarcation dans le masque se trouve entre le troisième et le quatrième nombre, « 6 » représentera le sous-réseau, tandis que « 9 » représentera le terminal. © Télé-université, Septembre 1999 INF 5004 PROTOCOLES ET ARCHITECTURES 30 Considérons enfin l’adresse IP « 198.230.160.5 » accompagnée du masque « 255.255.255.0 ». L’adresse IP montre qu’il s’agit d’une adresse de classe C, et que le terminal est identifié par « 5 ». Comme la démarcation dans le masque se trouve entre le troisième et le quatrième nombre, le nombre « 5 » représentera le terminal. Il n’y a pas de sous-réseau étant donné qu’il n’y a aucun nombre à gauche de la démarcation pour pouvoir le représenter. L’adresse du sous-réseau occupe une partie du champ Hostid, ce qui réduit la dimension de l’adresse du terminal et augmente la dimension de l’information de routage. De fait, un réseau particulier est défini par l’adresse Hostid « 0 » (zéro), c’est-à-dire que tout le champ Hostid, qui peut être inférieur à un octet, est tout plein de bits « 1 » (un), c’est que l’on est en mode tous-points (Broadcast). Normalement, l’adresse IP est fournie par le pourvoyeur de service Internet. Toutefois, si un usager ne veut pas se brancher à Internet, il peut obtenir une adresse IP valide grâce à un NAT (Network Address Translation). Les adresses réservées pour un usager privé sont : 10.0.0.0 → 10.255.255.255 172.16.0.0 → 172.31.255.255 192.168.0.0 → 192.168.255.255 soit un réseau de classe A soit 16 réseaux de classe B soit 256 réseaux de classe C Ces adresses sont uniques au sein d’un réseau local donné. Toutefois, il peut y avoir des problèmes si l’on en sort, car la même adresse privée peut avoir été octroyée ailleurs. Aussi est-il préférable de passer par le NAT. Pour surmonter les limitations de l’adressage IP traditionnel (version 4), la nouvelle version IPv6 fait usage d’une adresse de 128 bits qui inclut l’adresse IPv4 : 96 bits sont ajoutés avant les 32 bits de l’adresse IPv4; ceci permet d’inclure du cryptage. Par ailleurs, certains zéros de l’adresse sont compressés. Protocole SNAP Le protocole SNAP (SubNet Access Protocol) permet d’inclure de l’information d’adressage dans huit octets du champ d’information d’une trame LLC (Logical Link Control) IEEE 802.3, 802.4, X.25 ou à la couche AAL de ATM. Ce protocole est utilisé par IBM et Apple. L’information IP insérée est : DSAP – – – – – SSAP CTR OUI Ethetype DSAP (Destination Service Access Point); SSAP (Source Service Access Point); CTR (contrôle); OUI (Organisation Unit Identifier ou Identification du protocole de l’organisation); Ethertype (type de l’application). © Télé-université, Septembre 1999 INF 5004 PROTOCOLES ET ARCHITECTURES 31 Protocoles de routage Voyons deux protocoles de routage : le protocole de routage basé sur la distance vectorielle minimale et le protocole de routage basé sur le statut de la liaison. La figure 3.16 présente un exemple de routage. – Le protocole de routage basé sur la distance vectorielle minimale vise à un minimum d’étapes intermédiaires entre le terminal et l’appelant et entre le terminal et l’appelé. – Dans le protocole de routage basé sur le statut de la liaison, le délai de transmission minimal prend en considération les vitesses de propagation. Ce protocole est donc bien plus performant que le précédent. Le m auvais chem in sera pris en considération car le nom bre de ponts m inim al ne correspond pas toujours au délai de B transm ission m inim al. C hoisit le routage ayant le nom bre de ponts m inim al A 1 kb/s 1 kb/s 2000 s 0.3 s 10 M b/s 10 Mb/s 10 Mb/s FIGURE 3.16 Exemple de routage. Routeurs IP Le rôle d’un routeur est de traiter chacun des datagrammes entrant par un port donné et de les acheminer vers d’autres ports, en se basant sur une table de routage interne et sur l’adresse IP de la destination. Une table de routage permet de désigner le chemin à prendre entre deux routeurs ou entre un terminal et un routeur. Les routeurs communiquent entre eux par des liens séparés. La figure 3.17 présente le diagramme d’un routeur. Le protocole de routage tient compte des routeurs qui lui sont directement liés ou de ceux qui sont reliés par un certain nombre de routeurs intermédiaires. Il va sans dire que le routeur vérifie tout d’abord si le datagramme entrant ne cherche pas à rejoindre une adresse appartenant à son réseau local. Si le routeur est directement connecté à l’adresse de la destination, il procède à un ARP (Address Resolution Protocol) en vue d’obtenir l’adresse MAC du terminal désiré avant d’acheminer le datagramme à cette adresse. Si le routeur n’est pas directement connecté à l’adresse de destination, il se fie à sa table de routage. Si l’adresse de destination n’apparaît pas dans la table de routage, il utilise une route « par défaut » pour continuer à chercher l’adresse de destination. Le nombre d’étapes de routage est limité. L’information TTL (Time To Live) dans la trame IP est décrémentée à chaque routeur. La transmission est interrompue lorsque le compteur TTL est rendu à zéro. De la sorte, on évite les situations où l’information circule en boucle fermée entre des routeurs. © Télé-université, Septembre 1999 INF 5004 PROTOCOLES ET ARCHITECTURES 32 T a b le s d e r o u ta g e M é m o r is a tio n d u p ro g ra m m e F la s h C o n f ig u r a t io n CPU RAM R A1 M é m o ir e viv e C o n s o le C a r te s I/O FIGURE 3.17 Diagramme synoptique d’un routeur. Si un même serveur réalise que deux terminaux ont la même adresse IP, il peut ignorer la seconde, effacer la première ou alors rester bloqué. Il convient alors de retracer le problème au moyen d’un analyseur de réseau ou d’un renifleur (sniffer). Un paquet IP comprend, entre autres, les adresses de source et de destination, ainsi que de l’information relative à la fragmentation ou la non-fragmentation des paquets. Chaque fragment a son en-tête. L’information du champ Fragment (fragment offset) permet de situer le fragment par rapport à l’origine du message. Les informations optionnelles peuvent inclure le routage, le niveau de sécurité, le temps de transmission, etc. De nombreux mécanismes permettent de limiter le temps de transmission; si l’information est bloquée, la transmission doit être interrompue. Les adresses ont des longueurs variables (classes A, B, C et D), l’adresse du réseau pouvant varier de sept, quatorze et 21 bits. Il est possible de diviser l’adresse en sous-réseaux de façon à créer des sous-réseaux Internet privés regroupant un certain nombre de terminaux (IP Multicast, IP Subnetworking). Le nombre d’adresses IP possible est de plusieurs dizaines de millions. La figure 3.18 illustre le passage aux sous-réseaux. D e r n ie r te r m in a l S o u s -ré s e a u A d m in is t ra tio n d e s o u s -ré s e a u x O r g a n i s a t io n d e l'a d m in is tr a tio n S o u s -ré s e a u FIGURE 3.18 Du réseau au sous-réseau. © Télé-université, Septembre 1999 INF 5004 PROTOCOLES ET ARCHITECTURES 33 IP nouvelle génération Le problème de la longueur limitée des adresses est pris en compte par le IpnG (IP Next Generation) et sa version IPv6. La longueur des adresses passe à 16 octets. En effet, il est prévu qu’il pourra y avoir de nombreux sous-réseaux par personne (résidence, voiture, amis, travail, etc.). Avec ce protocole, la fragmentation est la responsabilité des TCP et non plus des IP. L’en-tête est deux fois plus long; il est donc de 40 octets, dont 16 octets pour l’adresse de source et seize autres pour l’adresse de destination, et le nombre d’options est plus important. Le protocole doit permettre de configurer un réseau en tenant compte du fait qu’il doit interroger les terminaux pour connaître les adresses IP et les adresses MAC (adresses de la couche liaison propre au réseau). Il existe une version 4 (IP V.4) qui peut coexister avec celle de l’IP V.6. Autres protocoles Internet Internet OSI ou CLNP Le protocole de la couche réseau en mode sans connexion (CNLP Connectionless Network Layer Protocol), que montre la figure 3.19, est une extension du protocole IP. Les adresses sont des adresses OSI longues de 20 bits et la segmentation est optionnelle. AFI O rg a n iz a tio n a l ID I E n d S y s te m (A u th o rity S u b s e t W o rk Id e n tifie r (In itia l D o m a in Id e n tifie r a n d F o rm a t Id e n tifie r o u d irig e a n t Id e n tifie r) o u d e s tin a tio n Id e n tifie r ) N SA P (N e tw o rk S e rv ic e A c c e s s P o rt) In fo rm a tio n p ro p re a u ré s e a u FIGURE 3.19 Protocole CLNP. Novell IPX La compagnie Novell a son propre protocole Internet : Novell IPX (Internet Pocket Exchange). Au niveau de la couche transport, son protocole est comparable à l’UDP (User Datagram Protocol). Ce protocole est approprié pour fonctionner avec la plupart des applications. La longueur des paquets est auto-ajustée. L’adresse du réseau est octroyée par Novell ou par l’administrateur du réseau; celle des terminaux est l’adresse MAC. AppleTalk DDP Le nombre de nœuds intermédiaires des AppleTalk DDP (Datagram Delivery Protocol) est limité à quinze et est renouvelé toutes les dix secondes. © Télé-université, Septembre 1999 INF 5004 PROTOCOLES ET ARCHITECTURES 3.6 34 PROTOCOLES DE LA COUCHE TRANSPORT La couche transport doit veiller à l’intégrité du message transmis; elle doit veiller à vérifier que tous les paquets ont été transmis de bout en bout. Au départ, on a supposé que le réseau de communication était parfait et qu’il n’y avait pas de pertes de paquets. Cette assomption s’est révélée erronée. Le protocole de la couche transport s’occupe du réseau, de l’adresse et de l’application. Dans le cas où la communication se fait en mode connexion (connection-oriented), le contrôle du débit est important. Dans le cas où la communication est en mode sans connexion (connectionless), il y a lieu d’ignorer le trafic en excès. 3.6.1 Protocole TCP Le service offert par le protocole TCP (Transport Control Protocol) ressemble à celui qui est offert par le protocole de transport ISO. Par rapport aux couches ISO, le protocole TCP/IP occupe quatre couches : la sous-couche réseau (subnetwork layer) qui intègre la couche physique et la couche liaison, la couche interréseau (internetwork layer) qui correspond à la couche réseau, la couche dite SPL (Service Provider Layer) qui correspond à la couche transport et, enfin, la couche application qui regroupe le reste des couches ISO (figure 3.20). Applications variées TFTP SNMP FTP etc. Applications variées TFTP SNMP FTP etc. TCP UDP IP ou ICMP Application Transport Réseau Liaison Sous-couche réseau Physique FIGURE 3.20 Les familles de protocoles TCP/IP et UDP/IP au sein des couches ISO. Aux données à transmettre viennent s’ajouter quatre en-têtes : la première pour les services, la seconde pour TCP ou UDP, la troisième pour IP et la dernière pour la souscouche réseau. Le protocole IP est non orienté connexion; il octroie une adresse de 32 bits à chaque usager. L’adressage IP est universel et est valide quelle que soit l’application envisagée, comme l’indique la figure 3.21. © Télé-université, Septembre 1999 INF 5004 PROTOCOLES ET ARCHITECTURES 35 SMTP avec serveur SMTP FTP FTP Réseau TCP/IP Telnet Telnet DNS avec serveur DNS FIGURE 3.21 Divers types d’application supportés par TCP/IP. Le protocole TCP permet à deux couches application de se connecter et d’échanger des messages. Il offre un service de transport avec connexion, retransmission de paquets en cas d’erreurs, contrôle de flux (en octets par seconde plutôt qu’en paquets par seconde) et séquencement des messages. Les numéros de séquences sont de 32 bits, car chaque octet est numéroté et les opérations sont faites par octet. TCP transmet l’en-tête, les données et les paramètres de transmission à IP. Les paquets, dans le cadre de TCP, sont appelés des segments. La figure 3.22 présente un segment TCP, structuré en plusieurs champs représentés par groupes de 32 bits. Port d’origine TCP 16 Port de destination TCP 16 Numéro de séquence 32 En-tête TCP Numéro d’accusé de réception 32 bits HLEN 4 Réservé 6 Code bits 6 « Window » 16 « Checksum » 16 Pointeur d’urgence 16 Options Remplissage Données FIGURE 3.22 Segment TCP. Les champs Port d’origine TCP et Port de destination TCP, de 16 bits chacun, indiquent le port d’origine ou de destination du segment TCP. © Télé-université, Septembre 1999 INF 5004 PROTOCOLES ET ARCHITECTURES 36 Le champ Numéro de séquence (sequence number) contient le numéro de séquence du segment. Rappelons qu’au niveau de la couche transport, l’information est segmentée de façon que sa longueur soit acceptable pour les couches inférieures. Le premier segment a un numéro aléatoire (généré de façon pseudo-aléatoire, c’est-à-dire n’importe où au sein d’une longue séquence connue qui est aléatoire en apparence). Le premier octet porte ce numéro aléatoire plus un. Le champ Accusé de réception (acknowledgment number) indique le prochain numéro de séquence attendu. Ce champ confirme automatiquement l’acceptation des numéros de séquence des champs précédents. Le champ Longueur d’en-tête (HLEN pour Header Length) indique la longueur de l’entête en mots de 32 bits. Cette longueur varie entre cinq et seize, selon la longueur du champ d’options qui peut varier entre zéro et onze mots de 23 bits. Le champ Réservé (reserved) est gardé pour un usage futur. Le champ Code bits, de 6 bits, indique l’une des possibilités suivantes, chacune correspondant à un bit particulier, qui passe à « 1 » si ladite possibilité est activée. – URG ou Urgent Pointer indique au destinataire que les données doivent être traitées en priorité sans tenir compte du contrôle de flux; – ACK ou Acknowledgment est un accusé de réception, en réponse à une commande SYN, PSH ou FIN (SYN pour l’établissement de la connexion, PSH pour le transfert de données et FIN pour la fermeture de la connexion); – PSH ou Push indique au destinataire qu’il faut transmettre tout de suite à l’application les données se trouvant dans le tampon, sans attendre que le segment ait atteint une dimension optimale; – RST ou Reset sert à fermer une connexion TCP de façon brutale; – SYN ou Synchronize sert durant la phase d’établissement d’une connexion pour synchroniser les compteurs de source et de destination et pour demander l’établissement d’une connexion; – FIN ou Final sert à demander au destinataire la fermeture d’une connexion TCP. Le champ Window (fenêtre) sert au contrôle de flux. Il indique le nombre maximal d’octets que l’on peut transmettre sans avoir reçu d’accusé de réception. Si ce nombre maximal est atteint, la transmission est interrompue momentanément, car il y a probablement congestion dans le réseau. La dimension maximale de la fenêtre est 65 535 octets. Le champ Checksum vérifie l’intégrité du segment TCP. C’est un complément binaire de la somme des compléments binaires de l’en-tête TCP et de la pseudo-en-tête TCP. Cette dernière n’est pas transmise, elle consiste en l’adresse de source IP, l’adresse de destination IP suivi de huit bits « 0 », huit bits désignant le protocole (par exemple, 6 indique qu’il s’agit de TCP) et de seize bits indiquant la longueur du segment TCP. Le champ Pointeur d’urgence (urgent pointer) est utilisé en conjonction avec le bit URG indiquant une information prioritaire. La valeur de ce champ indique le nombre d’octets prioritaires. © Télé-université, Septembre 1999 INF 5004 PROTOCOLES ET ARCHITECTURES 37 Le champ Options a une longueur variable, mais son contenu est toujours un multiple de 32 bits. Le champ 0 0 0 0 0 0 0 0 indique la fin des options, alors que le champ 0 0 0 0 0 0 0 1 indique qu’il n’y a aucune option (ce dernier n’est pas nécessaire). De façon générale, le champ d’options est structuré comme suit : – deux octets indiquant le type d’options; – quatre octets pour la longueur d’options en octets; – deux octets indiquant la longueur maximum du segment (en octets et non en mots de 32 bits). Pour bien fonctionner avec Internet, il y a lieu de connaître : – l’adresse IP; – le DNS (Domain Name System), qui est un répertoire d’adresses électroniques; – l’ASN (Autonomous System Number) qui permet le routage automatique. Chaque groupe d’ordinateurs a un même ASN, c’est-à-dire un routeur par défaut. Les routeurs ne s’adressent qu’aux ASN. Ces trois adresses sont octroyées par le pourvoyeur de service Internet ISP (Internet Service Provider). Pour pouvoir identifier une application particulière dans un réseau téléinformatique, il y a lieu de préciser le type de protocole dans la couche liaison, l’adresse IP dans la couche réseau et le numéro de port dans la couche transport. Une trame TCP/IP se présente comme suit : En-tête Protocole IP Port TCP Données Précisons la signification du terme « port ». Il ne s’agit pas d’une adresse physique, mais d’un code particulier qui associe une application particulière à un point d’accès ou de sortie particulier. Par exemple, les applications FTP-Contrôle, FTP-Data ou Telnet correspondent aux numéros de port 21, 20 ou 23. Soulignons qu’un port d’entrée et un autre de sortie sont assignés pour chaque session. Le TCP émet un deuxième numéro qui rend chacune des communications (sessions) uniques. Dans la figure 3.23, le TE1 demande à établir une session FTP1, en faisant appel au port 21. Le TCP répond en octroyant un numéro de port, 1026 dans l’exemple illustré; ce même numéro de port est assigné au TE2 afin de rendre la session unique. Lorsque le TE1 transmet, son port de source est 1026 et son port de destination est 21. Pour la même session, le TE2 répond : son port de source est 21 et son port de destination est 1026. L’adjonction du numéro de port à une adresse IP constitue une interface logique spécifique (socket). © Télé-université, Septembre 1999 INF 5004 PROTOCOLES ET ARCHITECTURES 38 Destination TE2 Origine TE1 FTP1 FTP2 1026 21 1030 21 FTP1 21 FTP2 1026 1030 TC P 21 TCP FIGURE 3.23 Deux sessions FTP et numéros des ports. Établissement d’une connexion La procédure d’établissement d’une connexion est faite à l’aide de la méthode dite en trois étapes (three way hanshake), de la manière suivante : une des extrémités, par exemple le serveur, attend de manière passive l’arrivée d’une communication. À l’autre extrémité, le client fait une demande de connexion au serveur en lui indiquant le port auquel il désire se connecter, la taille maximale des segments TCP qu’il admet et éventuellement quelques données utilisateur (par exemple, le mot de passe). Un segment TCP est envoyé avec le bit SYN à l et le bit ACK à 0, ainsi qu’un numéro de séquence (SEQ = 100 dans l’exemple de la figure 3.24) et attend une réponse. Quand ce segment arrive à destination, l’entité TCP du serveur vérifie s’il existe une application à l’écoute du port indiqué dans le champ Port de destination TCP. Si elle n’en trouve pas, elle rejette la demande de connexion en envoyant une réponse avec le bit RST à 1. USAGER Actif Ouvert ( ouvert ) TCP SYN = oui ACK = non valide SEQ no = 100 TCP USAGER Crée une table d'états Ouvert SYN = oui, ACK = valide, SEQ no = 300, ACK no = 101 SYN = non, ACK = valide, SEQ no = 101, ACK no = 301 ( ouvert ) FIGURE 3.24 Établissement d’une conversation en TCP. © Télé-université, Septembre 1999 INF 5004 PROTOCOLES ET ARCHITECTURES 39 Autrement, on fournit à cette application le segment entrant. Si la connexion est acceptée, l’application envoie un segment accusant réception du segment. Son champ ACK vaut 101 pour indiquer qu’il a reçu la séquence numéro 100 et qu’il s’attend maintenant à recevoir la séquence numéro 101. Le segment contient également une référence initiale qui lui est propre, soit SEQ = 300 dans l’exemple de la figure. Pour terminer, le client confirme le choix du serveur en accusant la réception du segment SEQ = 300 avec un ACK = 301. Durant le transfert, il y a confirmation ACK par transmission du prochain nombre d’octets. Transfert de données La gestion des fenêtres (Window dans le segment TCP) n’est pas directement liée aux accusés de réception. Expliquons le transfert de données, à partir de l’exemple de la figure 3.25. Émetteur Récepteur L’application écrit 2K 2K / SEQ = 0 Tampon du récepteur 0 4K Vide ACK = 2048 Window = 2048 2K L’application écrit 3K 2K / SEQ = 2048 L’émetteur est bloqué ACK = 4096 Window = 0 Plein L’application lit 2K ACK = 4096 Window = 2048 2K L’application peut envoyer jusqu’à 2K 1K / SEQ = 4096 1K 2K FIGURE 3.25 Le TCP en mode de transmission de données. Le destinataire possède un tampon mémoire de 4096 octets (4 Koctets). Si le client transmet un segment de 2048 octets (2 Koctets), le destinataire l’acquitte, s’il le reçoit correctement, en envoyant un segment dont l’ACK vaut 2048; il annonce dans le champ Window qu’il lui reste un espace libre de 2048 octets dans son tampon (jusqu’à ce que © Télé-université, Septembre 1999 INF 5004 PROTOCOLES ET ARCHITECTURES 40 l’application y retire des données) pour les prochains transferts. Le client transmet de nouveaux 2048 octets. Le destinataire l’acquitte, mais la fenêtre est maintenant nulle. Le client doit donc arrêter d’émettre, le temps que l’application distante lise les données dans les tampons. Cependant, il peut envoyer un segment avec le champ URG actif pour commander l’arrêt de l’application. Il peut ensuite envoyer un autre segment d’un octet pour obliger le serveur à ré-annoncer le prochain octet attendu, ainsi que la taille de la fenêtre. Fermeture d’une connexion Le client ou le serveur peuvent l’un ou l’autre demander la fermeture de la connexion. Celui qui en fait la demande doit activer le champ FIN du segment contenant les dernières données à transmettre. Il doit ensuite attendre que l’autre ait fini d’envoyer ses données pour fermer la connexion, comme le montre la figure 3.26. D a ta AC K FIN = oui FIN = oui FER M É (C lo s e ) D élai d'attente final (par précaution) FIGURE 3.26 Fermeture d’une connexion TCP. Un pointeur d’urgence permet d’interrompre la conversation et de recommencer. Pour le contrôle de débit, il existe une fenêtre d’octets dont la longueur varie. S’il y a des paquets de longueurs différentes, il est préférable de faire la confirmation par fenêtre d’octets. Le fanion Push signifie qu’il faut transmettre sans attendre d’avoir suffisamment d’information à envoyer. Le fanion Reset force la fermeture de la connexion. En résumé, le protocole TCP/IP diffère de celui d’OSI. La structure des couches OSI est très rigide et moins flexible. Ainsi, la couche session est responsable du dialogue et, plus précisément, de la gestion du dialogue : départ, interruption, reprise, arrêt, communications simplex ou duplex. La couche présentation définit les caractères et la syntaxe qui sont indépendants de l’équipement qui peut être utilisé au niveau application. Au niveau de la couche application, le protocole OSI distingue l’ACSE (Association Control Service Element) qui définit les paramètres de connexion et le ROSE (Remote Operations Service Element) qui le fait pour les appels à distance. © Télé-université, Septembre 1999 INF 5004 PROTOCOLES ET ARCHITECTURES 41 3.6.2 Autres protocoles de la couche transport Voyons quelques protocoles de la couche transport : le protocole UDP (User Datagram Protocol), les protocoles de Novell, de Apple et de IBM. Le protocole UDP (User Datagram Protocol) offre un service de transport en mode datagramme, sans l’établissement d’une connexion. L’UDP utilise le service IP. Ce dernier réalise alors un service réseau non connecté. Le paquet UDP est appelé datagramme. Sa structure est présentée à la figure 3.27. Port d’origine UDP 16 Longueur du datagramme UDP 16 Données Port de destination UP 16 « Checksum » 16 FIGURE 3.27 Datagramme UDP. Le datagramme UDP est, on le voit, fort simple par rapport au segment TCP. De fait, la mention du port d’origine est optionnelle et peut être remplacée par une série de seize bits « 0 ». Notons que le protocole UDP ne garantit aucunement la bonne réception du datagramme et a donc un minimum de fiabilité de transmission. En effet, il n’y a pas de contrôle de débit (pas de fenêtre), pas d’accusé de réception et, par conséquent, pas de retransmission des datagrammes perdus ou modifiés. Précisons que lors de l’encapsulation des données des cordes supérieures, les numéros de port utilisés en UDP ne sont pas identiques à ceux qui sont utilisés en TCP. Dans les routeurs, le datagramme IP est fragmenté, si c’est nécessaire, et chacun de ces fragments comprend l’en-tête du datagramme IP original et le datagramme UDP est considéré comme faisant partie des données. Lors de la réception, les fragments IP sont réassemblés et le datagramme reconstruit est transmis à la couche de transport pour être lui-même décapsulé pour être transmis au numéro de port de destination qui se trouve dans son en-tête. Le protocole SPX de Novell est utilisé entre les serveurs. Le protocole SPX II est une version améliorée et plus flexible. Le protocole IPX est l’équivalent du protocole UDP. AppleTalk a recours à un protocole de transaction plutôt qu’à un protocole de transport. Le protocole SNA de IBM a la possibilité d’envoyer des messages urgents, quel que soit le débit. Le chiffrement est optionnel. 3.7 LES PROTOCOLES DE LA COUCHE APPLICATION Au niveau de la couche application comme aux autres niveaux, la normalisation porte essentiellement sur la communication de données entre deux ou plusieurs systèmes © Télé-université, Septembre 1999 INF 5004 PROTOCOLES ET ARCHITECTURES 42 distants. On distingue, parmi les applications, celles qui relèvent de l’environnement local et qui ne sont pas touchées par le modèle OSI (éléments spécifiques à une application donnée et à sa mise en œuvre), de celles qui permettent l’interconnexion de systèmes ouverts et qui sont l’objet principal des travaux de normalisation. L’objectif visé par les travaux de normalisation portant sur cette dernière catégorie d’applications est de constituer un ensemble d’éléments communs à toutes les applications. 3.7.1 Web ou W3 ou WWW Le Web, ou W3 ou WWW (World Wide Web), est l’instrument probablement le plus convivial utilisé pour naviguer aisément et presque intuitivement dans Internet et pour y consulter des documents appelés pages web. Il est basé sur un format standard de documents hypertextes. Le premier, à ce jour, est connu sous le nom de HTML (HyperText Markup Language); il repose aussi sur un protocole de transfert de ce type de document, connu sous le nom de HTTP (HyperText Transfer Protocol). Le W3 fut créé en 1989, à la suite d’une initiative de Tim-Berners-Lee, pour être utilisé au Centre européen de recherche nucléaire (CERN) à Genève. L’élément d’information de base du W3 est la page web. Celle-ci peut contenir du texte, des images, des sons, de l’animation, etc. et aussi, possiblement, des liens vers d’autres pages web. Une page web est en fait un fichier situé sur un serveur W3 qui peut recevoir des requêtes et y répondre par la transmission au requérant du contenu du fichier correspondant à la page web demandée. Le fichier est alors traité de façon appropriée par le logiciel client situé sur l’ordinateur du requérant à l’aide du protocole HTTP, qui définit le mode d’accès du serveur, et à l’aide du standard de marquage de texte (HTML, XML, etc.), qui codifie la mise en forme de la page web. Chaque page web située sur un serveur W3 possède une adresse qui lui est propre. Cette adresse est dénommée l’URL (Universal Resource Locator) et est constituée comme suit : protocole://nom d’utilisateur:mot :passa@adresse du serveur:port TCP/paramètres Le protocole indique le type de connexion que le logiciel doit mettre en œuvre. HTTP est utilisé pour le W3, FTP est utilisé pour le transfert des fichiers, etc. Sa mention est obligatoire. Le port TCP indique le port de connexion à utiliser. Sa mention n’est obligatoire que s’il est différent du port de connexion standard (80 pour HTTP). Le nom d’utilisateur et le mot de passe ne sont utilisés que pour accéder à des ressources ou à des services non publics, et réservés à une ou plusieurs catégories d’utilisateurs autorisés. Dans les autres cas, ils ne sont pas requis. Les paramètres spécifient l’emplacement de la page web demandée dans l’hiérarchie des fichiers du serveur. Dans le cas d’un serveur public, la forme simplifiée suivante de l’URL est suffisante : protocole://adresse du serveur/paramètres © Télé-université, Septembre 1999 INF 5004 PROTOCOLES ET ARCHITECTURES 43 3.7.2 Service de répertoire Le service de répertoire (directory) ressemble au bottin téléphonique qui donne l’adresse IP d’un usager particulier. De fait, chaque ordinateur possède un numéro IP. Le service de répertoire en TCP/IP est appelé DNS (Domain Name System) et celui d’ISO porte le nom de X.500 (Recommandation du UIT-T). Il existe une hiérarchie DNS qui analyse la demande de connexion à une adresse particulière. Chaque niveau peut représenter une certaine catégorie ou sous-catégorie : .com (commerciale); .edu (université); .net ([XXX]); .uk (pays); etc. La compagnie Novell possède un système NDS (Netware Directory Services) qui est fondé sur le protocole X.500 de OSI. Pour donner des exemples d’autres répertoires, mentionnons Archie, qui permet de trouver des informations ou archives sur différents sujets, Gopher (Internet), WAIS (Wide Area Information Servers), www (hypertextes et repérage de textes), URL (Uniform Ressource Locator). La connexion à distance est effectuée par un serveur Telnet qui prend en charge l’établissement de la connexion. Le protocole OSI dit VTS (Virtual Terminal Service) permet d’accéder à tout système à partir d’un terminal. 3.7.3 Protocoles de transfert de fichiers Ce protocole permet de lire ou d’écrire des fichiers entiers. Le protocole FTP (File Transfer Protocol) fonctionne avec le protocole TCP. Le protocole NFS (Network File System) est utilisé pour accéder à des sections de fichiers dans le réseau. Le standard OSI, dit FTAM (File Transfer, Access and Management), permet de copier, de lire, d’écrire et de réorganiser des fichiers. 3.7.4 Courrier électronique Le courrier électronique (E-Mail) sert au transfert de textes, données, graphiques, images et vidéos. Les usagers du courrier électronique sont appelés UA (User Agent) et les serveurs sont appelés MTA (Message Transfer Agents). La figure 3.28 présente un schéma synoptique du courrier électronique. P a s s e r e lle d e c o u rr ie r é le c t r o n iq u e U A (u s a g e r) MTA M é m o ir e MTA UA (jo u e le r ô le d 'u n e a g e n c e p o s ta le ) FIGURE 3.28 Courrier électronique. © Télé-université, Septembre 1999 INF 5004 PROTOCOLES ET ARCHITECTURES 44 Il revient à l’UA de préparer l’information et de l’archiver. Le MTA agit comme poste électronique. Parfois des passerelles (gateways) convertissent l’information entre les différents systèmes de courrier électronique afin de les rendre compatibles, leur codage alphanumérique étant différent, par exemple. Le protocole STMP (Simple Mail Transfer Protocol) est un protocole prévalant entre différents MTA. Le protocole MIME (Multipurpose Internet Mail Extension) a été développé pour étendre le courrier électronique du texte ASCII pour des langages autres que ceux de l’ASCII, des symboles d’accents, la voix, les graphiques, etc. La norme de messagerie électronique d’OSI, soit X.400, est assez complète et inclut des spécifications de texte. 3.7.5 Protocole en temps réel et multimédia La vidéoconférence est un exemple type d’opération en temps réel. La continuité du débit d’information est essentielle. Le protocole dit Multicast permet de rejoindre plusieurs participants, c’est l’IGMP (Internet Group Management Protocol). Les paquets peuvent disparaître ou arriver dans le mauvais ordre. Aussi, dans le protocole UDP/IP, des cachets dateurs permettent de replacer les paquets dans l’ordre. C’est ce qui se fait aussi dans un protocole additionnel RTP (Real Time Protocol) qui est adjoint au protocole UDP/IP. Une autre possibilité est le RSVP (Resource Reservation Protocol), qui prend en considération le débit en fonction des routes à prendre, des ressources disponibles à réserver, etc., afin de pouvoir assurer une transmission vidéo continue de qualité supérieure ou moyenne. 3.8 SUITES DE PROTOCOLES L’acronyme TCP/IP ne se réfère pas seulement à TCP et à IP, il fait référence aussi à toute une famille, les suites de protocoles (stacks) : – Un protocole de gestion et de contrôle du réseau. – Un protocole de livraison des données. – Des protocoles d’application pour l’usager : • le protocole Telnet, utilisé pour le branchement à distance « logging »; • le protocole FTP (File Transfer Protocol), utilisé pour le transfert de fichiers; • le protocole SMPT (Simple Mail Transfer Protocol), utilisé pour l’envoi du courrier; • le protocole NFS (Network File System) avec XDR (External Data Representation) et RPC (Remote Procedure Call). – L’accès au Web, effectué en langage HTTP. – Des protocoles de gestion et de contrôle du réseau ou SNMP (Simple Network Management Protocol) © Télé-université, Septembre 1999 INF 5004 PROTOCOLES ET ARCHITECTURES 45 Il existe de nombreuses autres suites de protocoles propres à Novell : IPX (Internet Packet Exchange), NCP (Netware Care Protocol) et le SPX (Sequenced Packet Exchange) utilisé entre les serveurs. Ainsi que des protocoles de routage, dont RIP (Routing Information Protocol) et NLSP (Netware Link Service Protocol). AppleTalk a aussi ses propres suites de protocoles : AppleTalk Transaction Protocol, AppleTalk Data Mean Protocol, Zone Information Protocol et Routing Table Maintenance Protocol. Enfin, IBM et la hiérarchie SNA ont leur propre suite de protocoles avec APPC (Advanced Program to Program Communications), LU6.2 (Transaction Processing Protocol) et APPN (Advanced Peer to Peer Networking). Le protocole DSLW (Data Link Switching) permet d’encapsuler des paquets SNA dans TCP/IP. La suite de protocoles OSI demeure toutefois la référence. On les rappelle dans la figure 3.29. Application X.400 FTAM VT ACSE Présentation Présentation Session Session Transport, classe 4 Transport Convectionless Network Protocol Réseau Liaison Physique X.25 LLC, classe 1 Token CSMA Token king /CD bus 8802/3 8802/4 8802/5 HDLC LAPB V.35 RS232 FIGURE 3.29 Les sept couches OSI. © Télé-université, Septembre 1999 INF 5004