Rémi EVE - 2001 - Sommaire Objectifs : • Intérêt des protocoles de liaison • Comprendre leur fonctionnent • Où sont ils utilisés ? Les techniques : • Le « Stop-and-Wait » • Les protocoles à fenêtres Les normes et les produits : • La norme HDLC et ses implémentations dérivées Quels services sont proposés à la couche réseau ? On peut citer trois services que la couche liaison de données peut offrir à la couche réseau : • sans connexion, sans acquittement (utilisé pour transporter la parole) • sans connexion, avec acquittement (utilisé pour des canaux peu fiables) • avec connexion, acquitté (utilisé pour des transmissions fiables) Compromis entre performances et fiabilités Transmission de trames, protocole I : Stop-and-Wait Schéma classique : • Emetteur envoi une trame • Récepteur reçoit la trame et retourne un acquittement (ACK ou NACK) • Emetteur attend l’acquittement pour émettre la prochaine trame A (a) B T,a (a) ACK (b) T,b (b) Cas d ’utilisation : Transmission de trames longues Transmission de trames, protocole I : Stop-and-Wait Problème n°1 : Perte d ’une trame ou d ’un ACK => A A (a) (a) B T,a (a) T,b ACK (b) B T,a Time out T,a ACK (b) Timer Time out ACK (a) T,a (a) ACK Perte d ’un acquittement Doublons Transmission de trames, protocole I : Stop-and-Wait Problème n°2 : Doublons A (a) Time out => Numérotation des trames et ACK (0 & 1) B T,a,0 ACK (a,0) (a) T,a,0 (a,0) ACK,0 ACK (b) Time out T,a,0 (b) T,b,1 (b,1) T,b,1 NACK,1 ACK (b,1) Fausse perte T,b,1 ACK (c) T,c,2 (d) Perte de la trame c T,d,3 (d,3) Emetteur croit recevoir l’acquittement de la trame c Transmission de trames, protocole I : Stop-and-Wait Ce protocole permet une transmission fiable en utilisant : • N°séquence (trame) • N°acquittement (ACK et NACK) • Timer • CRC Les différentes trames utilisées Trame de données Trame d ’acquittement 01111110 FLAG TYPE N°TRAME DONNEES FCS FLAG FLAG TYPE ACK + N° FCS FLAG Ce protocole est aussi connu sous les termes « de protocoles à bits alternés » Inconvénient : un faible taux d’utilisation du canal Comment améliorer ce taux ? 1ère amélioration : Communication bidirectionnelle Comment communiquer dans les deux sens ? Technique du « piggyback » : Inclusion du champ ACK dans les trames de données. Trame de données FLAG TYPE N°TRAME ACK+N° PAQUET FCS FLAG Trame de contrôle FLAG ACK+N° FCS TYPE FLAG Une trame envoyée est acquittée par : • Une trame de données si le récepteur a une trame à envoyer • Une trame de contrôle dans le cas contraire Une trame peut acquitter plusieurs trames en une seule opération 2ième amélioration : Le pipeline L’émetteur peut envoyer plusieurs trames en attendant un acquittement A (a) B T,a,0 ACK,0 (b) A (a,0) (a) (b) (c) B T,a,0 T,b,1 T,c,2 T,b,1 ACK,1 (b,1) Problème : plus de contrôle du flux (risque de saturation du récepteur) (a,0) (b,1) (c,2) Contrôle du flux : Fenêtres glissantes Principe : • plusieurs trames émises à la suite • Trames numérotées sur « n » bits et modulo 2n • Taille des fenêtres : 2n-1 Trames déjà émises N° de Séquence (n° de trame) Emetteur 0 1 2 3 0 1 2 3 Trames qui peuvent êtres émises Trames déjà reçues Récepteur Fenêtre glissante (taille = 3) 0 1 2 3 0 1 2 3 Trames qui peuvent êtres reçues Contrôle du flux : Fenêtres glissantes (exemple) (Numérotation sur 2 bits) Emetteur 0 1 2 3 0 1 2 3 s 0 1 2 3 0 1 2 3 Emetteur envoi les trames 0 et 1 T(0,1) Récepteur attend la trame 2 Récepteur 0 1 2 3 0 1 2 3 z 0 1 2 3 0 1 2 3 ACK,2 s 0 1 2 3 0 1 2 3 T(2,3,0) z 0 1 2 3 0 1 2 3 Emetteur bloqué 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 ACK,1 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 Comment détecter une erreur ou une perte ? Détection d’une perte : • Le Timer de l ’émetteur permet de détecter une perte L ’émetteur émet à nouveau la trame perdue Détection d ’une erreur côté récepteur : • Vérification du FCS • Réception de la trame « (x) mod n » avant la trame « (x-1) mod n » Deux possibilités pour récupérer une erreur : • « GO-BACK-N » • « Selective Repeat » Dans tous les cas, l ’émetteur doit mémoriser les trames non acquittées « GO-BACK-N » « GO-BACK-N » : • La transmission est reprise depuis la trame perdue ou erronée Méthode simple mais peu efficace A ACK,1 ACK,3 B (a) T,a,0 (b) T,b,1 (c) T,c,2 (b) T,b,1 (c) T,c,2 (d) T,d,3 (a,0) Trame erronée (b,1) (c,2) (d,3) REJ,1 « SELECTIVE-REPEAT » « Selective Repeat » : • Seule la trame perdue ou erronée est retransmise Plus efficace que le GO-BACK-N Implémentation plus complexe Mémorisation des trames côté récepteur A (a) (b) ACK,1 (c) B T,a,0 T,b,1 T,c,2 (a,0) Trame erronée SREJ,1 Buffer (b) T,b,1 (b,1) (B ordonne les trames) ACK,3 Norme : HDLC (High Level Data Link Control) L’ISO défini un protocole de liaison « générique ». Cette norme propose 3 modes de fonctionnement selon la topologie du réseau : • Normal Response Mode (NRM) Point-to-point ou multipoint Half-duplex Primaire • Asynchronous Response Mode (ARM) Point-to-point Secondaire initie une transmission • Asynchronous Balanced Mode (ABM) Point-to-point Full-duplex Secondaire Primaire Prim/Sec Secondaire Full-duplex Full-duplex Secondaire Prim/Sec La trame HDLC « générique » On distingue 3 types de trames : • Information (contient les données) • Supervision (gestion des erreurs : REJ,SREJ,RR,RNR) • Non numérotée (initialisation et libération : UA,DISC,SABM,SARM) 8 bits Flag 8 bits 8 bits Adresse 0 Contrôle N(S) 1 0 1 1 N(S) Information 16/32 bits 8 bits FCS Flag P/F N(R) Trame d’information (données) P/F N(R) Trame de supervision P/F Trame non numérotée Champs de contrôle : particularité Trame de supervision : • RR : Receive Ready le récepteur est prêt à recevoir • RNR : Receive Not Ready le récepteur ou la couche réseau est débordé, demande de rémission de la trame • REJ / SREJ : Reject et Selective Reject demande de retranmission Trame non-numérotée : • DISC : Disconnect • SABM : Set Asynchronous Balanced Mode • UA : Acquittement Exemple de transmission en mode HDLC NRM Primaire A Demande connexion Secondaire B B,SNRM,P B,UA,F B,I,N(S)=0,N(R)=0 B,I,N(S)=1,N(R)=0,P A reçoit I,0 & ACK B,I,N(S)=0,N(R)=2 A reçoit I,1 B,I,N(S)=1,N(R)=2 A reçoit I,2 & F bit B reçoit I,0 B reçoit I,0 & P bit B reçoit ACK & P bit B,RR,N(R)=2,F B,DISC,P A reçoit un ACK & F bit Accepte la connexion UA (ack non numéroté) ARM / ABM / NRM (mode) Disc (disconnect) P/F : Poll/Final B,I,N(S)=2,N(R)=2,F B,RR,N(R)=3,P A reçoit I,2 & F bit Légende RR, RNR (acquittement) REJ, SREJ (rejet) B reçoit déconnexion & P bit B,UA,F adresse du secondaire Hiérarchie des protocoles de liaison SDLC - 1970 (SNA) HDLC (ISO) PPP ABM NRM NRM LAPB LAPD (X25.2) (RNIS) SDLC (SNA) LAP (X25.2) LAPDm (GSM) LLC (LANs) SDLC : Synchronous Data Link Control (IBM) HDLC : High Data Link Control (ISO) PPP : Point-to-Point protocol LAP : Link Access Procedure Les réseaux X.25 La norme X.25 : Adopté par l’ITU (International Telecommunications Union) en 1976, elle définie l’interface entre un ETTD (serveur, routeur, terminal,...) et un ETCD (modem,…). Objectif : Répondre aux besoins croissants de connexions distantes. Exemple : Les réseaux publics français sont basés sur X.25 (Transpac en 1979, Minitel, …). La norme X.25 couvre les 3 premières couches de l ’OSI. Le niveau liaison : • Rendre fiable le canal entre un ETCD et un ETTD • Protocole LAPB (Link Access Procedure Balanced) qui est une implémentation d ’HDLC (fenêtre coulissante, …) Exemple de réseau X.25 ETTD (pc) ETCD (modem) ETTD (pc) ETTD (pc) X.25 ETTD ETTD Switch ETTD ETTD réseau X.25/3 réseau réseau réseau X.25/3 réseau liaison X.25/2 liaison liaison liaison X.25/2 liaison Physique X.25/1 Physique Physique Physique X.25/1 Physique Un produit : PPP (Point-to-Point Protocol) SLIP et SLIP+ : Prédécesseurs de PPP, mais trop rigide (manque de modularité). Objectif : • Faire transiter des paquets de données sur des liaisons point-à-point • Accéder à Internet depuis un poste isolé (via un modem) Implémentation d ’HDLC Caractéristiques : • Communication bidirectionnelle et garde l’ordre des paquets • Supporte divers protocoles de niveau réseau (IP,IPX,…) • Contrôle d’accès via des procédures d’authentifications • Optimisation de la communication • Modularité • Contrôle d ’erreurs Composants de PPP 1) Trame HDLC 2) Protocole de contrôle de liaison (LCP : Link Control Protocol) • Etablissement, maintien et libération de la connexion • Négociation d ’options (taille des trames,…) 3) Protocole de contrôle réseau (NCP : Network Control Protocol) • Une famille de protocoles de contrôle réseau (IPC,IPXCP,NBTP,...) qui configure les protocoles de la couche réseau IP Couche réseau IPX NCP CHAP PPP PAP Couche liaison Couche physique LCP Phases d ’une transmission avec PPP LCP : Link-Control-Protocol NCP : Network-Control-Protocol Phase I : Chaque extrémité du lien PPP envoi des paquets LCP pour configurer et tester la ligne Phase II [option] : Authentification Deux modes disponibles : • PAP Simple, mais le mot de passe transite en clair sur le réseau • CHAP Fourni une protection contre les attaques Phase III : PPP envoi des paquets NCP pour choisir et configurer un ou plusieurs protocoles réseau disponibles (IP, IPX). (Cette phase peut lors d ’une connexion Internet permettre d’obtenir une adresse IP pour toute la durée de la connexion) Evénement Phase IV : Transfert des datagrammes Exemple d ’utilisation de PPP Connexion à un réseau d’entreprise FTP, WWW TCP UDP IP PPP / SLIP Physique Machine Modem isolée Serveur d ’accès Réseau téléphonique Connexion à Internet Réseau entreprise Modem Internet Fournisseur d ’accès Exemple de produits PPP PPP se trouve essentiellement comme couche logicielle : • Intégré au système d’exploitation dans windows, solaris2 • « MacPPP » pour Macintosh • « pppd » sous Linux
© Copyright 2024