66
1 Chapitre V Chapitre V LES PROTOCOLES DE LES PROTOCOLES DE LIAISON LIAISON Les Réseaux Informatiques

1 Chapitre V LES PROTOCOLES DE LIAISON Les Réseaux Informatiques

Embed Size (px)

Citation preview

Page 1: 1 Chapitre V LES PROTOCOLES DE LIAISON Les Réseaux Informatiques

1

Chapitre VChapitre VLES PROTOCOLES DE LES PROTOCOLES DE

LIAISONLIAISON

Les Réseaux Informatiques

Page 2: 1 Chapitre V LES PROTOCOLES DE LIAISON Les Réseaux Informatiques

2

Les Réseaux InformatiquesSommaire

1. Introduction2. Les protocoles de liaison de données3. Les mécanismes à mettre en œuvre

-Trame-Délimitation

4. Les principes généraux des protocoles

5. Étude de quelques protocoles- Le protocole SLIP- le protocole X- MODEM- le protocole Y-MODEM- le protocole HDLC- le protocole PPP

Page 3: 1 Chapitre V LES PROTOCOLES DE LIAISON Les Réseaux Informatiques

3

1.INTRODUCTION

Page 4: 1 Chapitre V LES PROTOCOLES DE LIAISON Les Réseaux Informatiques

4

Pourquoi une liaison de donnée ?

Le circuit de donnée permet d’émettre et/ou de recevoir

des bits en série

Mais…

Avec:

Un certain débit

D=R.log2V

Un certain délai:

T=l/D+d/Vp

Un certain taux d’erreurs

C’est insuffisant

Ajout d’une interface logique

Page 5: 1 Chapitre V LES PROTOCOLES DE LIAISON Les Réseaux Informatiques

5

Temps de transmission et propagation

E

R

E émet le premier bit

E émet le dernier bit

R reçoit le

premier bit

R reçoit le

dernier bit

Temps de transmission=longeur/débit

Temps de propagation=distance/vitesse de propagation

Temps de réponse

Page 6: 1 Chapitre V LES PROTOCOLES DE LIAISON Les Réseaux Informatiques

6

Rôle de la liaison de données

Rôle:

fiabiliser le transfert d’information entre 2 ETTD

Fiabilité:

•Pas d’erreur

•Pas de perte

•séquencement

•Pas de duplication

Généralement au sein de chaque système (ETTD), les fonctions de la couche Liaison de données sont réalisées par une carte spécifique appelée contrôleur de communication.- Par exemple : carte HDLC, carte Ethernet, etc.

Liaison de donnéesCircuit de données

Support physique

Transport fiable

Transport de bits

Transport d’un signal

Page 7: 1 Chapitre V LES PROTOCOLES DE LIAISON Les Réseaux Informatiques

7

Principaux problèmes résolus dans le niveau liaison de données

• Fournir les services nécessaires pour établir, maintenir et libérer une connexion• Acheminer les trames sur la liaison physique• Contrôler le flux de données afin d’éviter la saturation du récepteur• Contrôler la correction de la transmission des données.

Page 8: 1 Chapitre V LES PROTOCOLES DE LIAISON Les Réseaux Informatiques

8

Protocoles de liaison de données

Page 9: 1 Chapitre V LES PROTOCOLES DE LIAISON Les Réseaux Informatiques

9

Protocole de liaison de données

Un protocole de liaison de données: un ensemble de règles permettant de gérer la liaison

Règles de codage

Règle de structuration

Règles d’échange

Le protocole met en œuvre un certain nombre de mécanismes de communication

Exemple 1960 : BSC (Binary synchronous communication) - IBMProtocole orienté caractère Synchronisation en continue 1970 :SDLC (Synchronous Data Link Control) - IBM/ANSI Orienté trame 1976-80 : HDLC (High Data Link Control) - ISOProtocole orienté bitISO 3309 (format), ISO 4335 (HDLC), ISO 7776 (LAP-B),ISO 7448 (MLP) ISO 8471 (HDLC équilibré) 1985 : Liaison de réseaux locaux ...

Page 10: 1 Chapitre V LES PROTOCOLES DE LIAISON Les Réseaux Informatiques

10

GénéralitéLes protocoles de liaison peuvent s'appuyer sur un mode de transmission asynchrone (Kermit, Xmodem, ...) ou synchrone

un protocole de liaison peut échanger des trames en exploitant la liaison en semi-duplex ou en duplex intégral.

Certains protocoles sont "orientés caractère", c'est à dire que les commandes et les réponses, les délimiteurs ... sont des caractères appartenant à un alphabet , et auxquels le protocole attribue une signification. Le protocole BSC, par exemple, utilise le code CCITT n° 5 (STX, ETX, SYN, ETB, ACK, NAK, EOT ...).

D'autres protocoles, comme HDLC, sont au contraire, "orientés bit", et sont complètement transparents à la codification des informations contenues dans les trames.

Le mode non connecté (datagramme) : 1 seule phase (le transfert de données), Les transferts des données sont effectué à la demande. Chaque bloc de données est transféré indépendamment, il n’y a aucune garantie de délivrance Le mode connecté : 3 phases

phase d'établissement de la connexion phase de transfert de données phase de libération de la connexion

Page 11: 1 Chapitre V LES PROTOCOLES DE LIAISON Les Réseaux Informatiques

11

Les mécanismes à mettre en oeuvre

Page 12: 1 Chapitre V LES PROTOCOLES DE LIAISON Les Réseaux Informatiques

12

Le protocole doit assurer :

La délimitation des blocs de données

L'amélioration du canal physique (détection et éventuellement correction des erreurs)

Le contrôle de flux: mécanisme qui consiste à n'envoyer des données que si le récepteur peut les recevoir.

Éventuellement, la gestion logique de la ligne :Création et initialisation de la liaisonTransfert de donnéesLibération de la ligne en fin de transmission

Page 13: 1 Chapitre V LES PROTOCOLES DE LIAISON Les Réseaux Informatiques

13

TRAMEUne trame :- Une suite de bits (d’une longueur variable mais bornée)- Le début et la fin de trame sont souvent identifiés par des délimiteurs- Composée d’un certain nombre de champs ayant chacun une signification précise.- On distingue souvent 3 ensembles de champs : l’entête (header), le champ de données, la terminaison (trailer)

Page 14: 1 Chapitre V LES PROTOCOLES DE LIAISON Les Réseaux Informatiques

14

Remarques Suivant le type de protocoles, une trame peut :(i) être de taille fixe ou de taille variable (jusqu’à une certaine taille maximum)

- Exemple :. variable = trame d’HDLC,. fixe = cellule d’ATM (Asynchronous transfert

Mode) (53 octets)(ii) ne pas avoir de fin de trame explicite.

- Exemple :. SD + ED (Starting/ending delimiter) = trame Token Ring,. SD uniquement : trame Ethernet,en fait la fin de la trame est détectée par la

fin de la porteuse du signal.Suivant le rôle qui lui est attribué :- une trame peut ne pas comporter de champ information.

. Par exemple : un simple acquittement

Page 15: 1 Chapitre V LES PROTOCOLES DE LIAISON Les Réseaux Informatiques

15

Délimitation des trames

Problème: le récepteur doit savoir quand commence une trame et quand elle finit

Idée: Une trame doit commencer par un marqueur de début de trame

et se finir par un marqueur de fin de trame (fanion)

La couche Physique (grâce à la technique de codage utilisée) permet généralement au récepteur de reconstituer (à l’aide du signal reçu) l’horloge et donc d’assurer la synchronisation au niveau du bit et ainsi de reconstruire la suite binaire envoyée.

La couche Liaison de données à partir de cette suite binaire va reconstituer la trame envoyée en assurant la synchronisation au niveau de la trame.

Page 16: 1 Chapitre V LES PROTOCOLES DE LIAISON Les Réseaux Informatiques

16

Un délimiteur peut être :

soit une séquence particulière de caractères,. Exemple : Trames constituées de caractères d'un alphabet

normalisé(ex ASCII: American Standard Code for Information Interchange , EBCDIC: Extended Binary Coded Decimal Interchange

Code est un code à 8 bits) => les trames sont multiples de 8 bits.

Exemple dans les protocoles BSC (‘Binary Synchronous Communication’)❙ STX ("Start of TeXt") - Délimiteur début de bloc de

texte❙ ETX ("End of TeXt") - Délimiteur fin de bloc de texte❙ DLE ("Data Link Escape") - Échappement de liaison

soit une suite particulière de bits,. Exemple :Les trames sont constituées de suites

binaires. Chaque trame est délimitée par une suite binaire

Ex: le fanion 01111110 du protocole SDLC/HDLC/LAPB (Link Access Protocol B)

soit un codage particulier :Des séquences, non utilisées pour coder les éléments binaires, servent à délimiter les trames.

. Exemple : les symboles J et K du protocole Token Ring.

Page 17: 1 Chapitre V LES PROTOCOLES DE LIAISON Les Réseaux Informatiques

17

Notion Transparence: Le protocole doit assurer la transparence aux délimiteurs, au cas où le bloc contiendrait une séquence binaire (ou alphanumérique) identique au délimiteur de fin qui serait interprétée par le récepteur comme une fin prématurée du bloc.

transparence caractèreTout caractère de contrôle (qui n'est pas le délimiteur début ou fin) apparaissant dans le bloc est précédé de DLE. ETX -> DLE ETX; STX -> DLE STX; DLE -> DLE DLEA la réception les DLE ajoutés pour la transparence sont retirés.Exemple de transparence

❚ Bloc à transmettre :

❚ Bloc transmis :

Pas de problème : pour restituer le bloc initial❙ Pour distinguer les délimiteurs réels en début et fin de bloc (sans DLE devant)❙ Pour distinguer les codes caractères identiques transmis dans la charge utile (ils sont précédés d’un DLE que l’on supprime à la réception).

Page 18: 1 Chapitre V LES PROTOCOLES DE LIAISON Les Réseaux Informatiques

18

Transparence binaire(bit de bourrage: bit stuffing): pour assurer qu’à l’intérieur de la trame, la configuration 01111110 ne soit pas interprétée comme un flag de fin. Permet aussi la resynchronisation en interdisant les longues séquences de bits à 1 consécutifs. Àl’émission: ajout d’un bit 0 après 5 1 consécutifÀ la réception: destruction d’un bit 0 après 5 1 consécutifExemple de transparence❚ Suite binaire à transmettre :

❚ Suite binaire après adjonction des bits de transparence :

❚ Trame transmise avec ses délimiteurs (fanions) :

❚ En réception : suppression des bits de transparence et des fanions.

Page 19: 1 Chapitre V LES PROTOCOLES DE LIAISON Les Réseaux Informatiques

19

Émission d’une trame

Construction de la trameCalcul des bits de contrôle Transparence (ajout)

Réception d’une trame

Transparence (retrait)Calcul des bits de contrôleExamen des champs de la trame

Page 20: 1 Chapitre V LES PROTOCOLES DE LIAISON Les Réseaux Informatiques

20

Trames avec délimiteurs: Violation de code

Problèmes des techniques de transparence basées sur l'utilisation de délimiteurs formés de configurations binaires légales (caractères de contrôle, fanions, ...).Allongement des trames du aux informations de transparence (quelques pour cent). Temps perdu à l'émission et à la réception (surtout en logiciel).Autres solutions : définir des modulations utilisées comme délimiteurs (en plus de la modulation des données trame 0,1) .Augmenter la valence des signaux de niveau physique pour créer des délimiteurs.Ces signaux ne peuvent donc apparaître dans le flot normal des données d’une trame. De nombreuse variantes de ce principe ont été développées.Les problèmes de la transparence sont résolus.Mais le modulateur doit être plus complexe.Solution très utilisée (par exemple dans les réseaux locaux).

Page 21: 1 Chapitre V LES PROTOCOLES DE LIAISON Les Réseaux Informatiques

21

Les principes généraux des protocoles

Page 22: 1 Chapitre V LES PROTOCOLES DE LIAISON Les Réseaux Informatiques

22

Principes généraux des protocoles

• Le mode Send et Wait• Reprise sur temporisation• Numérotation des blocs de données• Numérotation des ACK• Efficacité des protocoles• La fenêtre d’anticipation• Contrôle de flux

Page 23: 1 Chapitre V LES PROTOCOLES DE LIAISON Les Réseaux Informatiques

23

Principes généraux des protocoles

Le mode Send et Wait

SEND : Envoi d’un blocSTOP : Arrêt de l’émissionWAIT : Attente ACK

Le principe de base de toute transmission repose sur l’envoi (SEND) d’un bloc d’information (trame). L’émetteur s’arrête alors (STOP) dans l’attente de l’accusé de réception (WAIT). A la réception de l’acquittement l’émetteur envoie la trame suivante. En l’absence du signal ACK, l’émetteur (en attente) reste bloqué.

Page 24: 1 Chapitre V LES PROTOCOLES DE LIAISON Les Réseaux Informatiques

24

Reprise sur temporisation :Pour éviter un blocage de l’émission en cas de perte d’un bloc de données (rejet du bloc erroné), l’émetteur déclenche une temporisation (Timer). A l’échéance du temps imparti (Time Out), si aucun accusé de réception(ACK) n’a été reçu, l’émetteur retransmet la trame perdue.

Principes généraux des protocoles

Reprise sur temporisation

Page 25: 1 Chapitre V LES PROTOCOLES DE LIAISON Les Réseaux Informatiques

25

Principes généraux des protocoles

Numérotation des blocs de données

A l'émission déclenchement d’un temporisateurSans réception d’ACK à l’échéance (Time Out)Retransmission bloc perdu

Difficulté en cas de perte de l’ACK

En cas de perte de l’ACK, l’émetteur retransmet le même bloc alors que le récepteur l’a déjà reçu : il y a duplication d’un bloc.Pour éviter cette duplication, on numérote les trames (compteur: Ns envoyé avec le bloc). le récepteur (compteur: Nr) peut alors, par simple lecture du numéro d’ordre (Nr>Ns : erreur de transmission), détecter le doublon et ignorer les données reçues à tort et acquitte le bloc . Cette numérotation évite la duplication et autorise la délivrance dans l’ordre des données reçues.

Page 26: 1 Chapitre V LES PROTOCOLES DE LIAISON Les Réseaux Informatiques

26

Principes généraux des protocoles

Numérotation des blocs de données (2)

Si la temporisation est trop faiblereprise sur temporisation d’un bloc correctement reçuDifficulté en cas de perte d’unblocle second ACK du premier bloc est interprété comme celui du second bloc de donnéesDifficulté si les temporisations sont trop faibles

Cependant, dans certains cas, le temps de traitement des données reçues est plus important que prévu ou (et) les délais de transmission sont devenus exagérément longs. Dans ces conditions, les données reçues peuvent ne pas être acquittées à temps. L’émetteur effectue alors une retransmission sur temporisation. Le récepteur ayant déjà reçu ces informations les élimine et les acquitte. En effet, pour le récepteur, s'il y a euune retransmission, c’est que l’émetteur n’a pas reçu le précédent ACK. A la réception du premier ACK (acquittant le premier envoi) l’émetteur envoie la trame suivante (2).

Page 27: 1 Chapitre V LES PROTOCOLES DE LIAISON Les Réseaux Informatiques

27

Principes généraux des protocoles

Numérotation des ACK

Le récepteur acquitte le bloc 0 par l’ACK0

Recevant une deuxième fois l’ACK0 l’émetteur l’ignore, Il considère alors que le bloc1 n’a pas été reçu et le retransmet

Pour éviter cette confusion d’interprétation il est aussi nécessaire de numéroter les ACK.

Conclusion :Un protocole gère un ensemble de compteurs pour identifier les blocs émis et les blocs reçus (ACK)

Page 28: 1 Chapitre V LES PROTOCOLES DE LIAISON Les Réseaux Informatiques

28

Principes généraux des protocolesEfficacité des protocoles (1)

Considérons l’échange matérialisé à coté, on distingue les phases suivantes : émission du bloc de données, ou U représente les données utiles, G les données de gestion du protocole ; attente du l’émetteur qui représente le temps de transit aller et retour sur le support et le temps de traitement des données reçues par le récepteur, ce temps s’appelle temps de traversée des équipements (Tt), il équivaut à une émission de (D · Tt) bits où D représente le débit nominal de l’émetteur ; réception de l’accusé de réception (K bits) ;

Le nombre de bits qui auraient pu être transmis entre T0 et T1 peut donc s’exprimer par:

N bits = U + G + K + D · Tt

posons S = G + K + D · TtavecD · Tt = Nb. de bits représentatifs du temps de traversée des équipementsG les bits de gestion (contrôle, adresse...)K les bits d’accusé de réception,Soit :

Eff = U / (U + S) avec Eff, efficacité sans erreur

Page 29: 1 Chapitre V LES PROTOCOLES DE LIAISON Les Réseaux Informatiques

29

Principes généraux des protocolesEfficacité des protocoles (2)

L’efficacité du protocole avec erreur est :Effer = Eff0 . P’

où -p’ est la probabilité pour qu’un bloc soit reçu correctement,-et Eff0 l’efficacité du protocole sans erreurSoit : Effer = Eff0 (1- te) D+K

où -D est le nombre de bits du bloc de données (U+G)-K la taille en bit de l’ACK -te la probabilité pour qu’un bit soit erroné

pour que N bits soient correctement transmis, est :p = (1 –te)D avec D = U + GLa probabilité pour que l’ACK soit correctement transmis est de :p = (1– te)K

La probabilité pour qu'un bloc soit correctement transmis est la probabilité composée :p' = (1 – te)D · (1– te)K = (1-te)D+K

Page 30: 1 Chapitre V LES PROTOCOLES DE LIAISON Les Réseaux Informatiques

30

Principes généraux des protocolesConclusion sur les protocoles en mode de base

Les protocoles qui mettent en œuvre les principes précédents sont appelés protocoles en mode de base

Les faibles performances du mode « Stop and Wait » sont essentiellement dues au temps d’attente entre les ACK.

Dans ces conditions, une amélioration substantielle est obtenue en émettant les blocs suivants, sans attendre la réception des ACK.

Cette possibilité d’émettre sans acquittement s’appelle l’anticipation. Ce protocole est connu sous le nom de GO-BACK N, où N représente le nombre de blocs en attente d’acquittement.

On appelle fenêtre d’anticipation le nombre maximum de blocs (trames) qui peuvent être envoyés sans acquittement (en attente de ACK).

Plus la fenêtre est importante, plus le nombre de tampons nécessaires à la conservation des blocs en attente d’acquittement est important. Les tailles généralement admises sont de 128 (compteur sur 7 bits), mais plus fréquemment 8 blocs (compteur sur 3 bits).

Page 31: 1 Chapitre V LES PROTOCOLES DE LIAISON Les Réseaux Informatiques

31

Principes généraux des protocolesLa fenêtre d’anticipation

Fenêtre dynamique: elle évolue au fur et à mesure des émissions et des acquittements de blocs :L’émission de blocs sans ACK fait progresser la borne inférieure jusqu’au blocage éventuel de l’émission (fenêtre fermée).L’acquittement de blocs par le récepteur fait progresser la borne supérieure: fenêtre glissante

Page 32: 1 Chapitre V LES PROTOCOLES DE LIAISON Les Réseaux Informatiques

32

Principes généraux des protocolesOptimisation de la fenêtre

d’anticipationL’efficacité est maximale si l’émission est continueLe temps Ta (temps d’attente): temps entre l’émission du premier bit de la trame N et le premier bit de la trame N+1 en mode send and waitsi tb est le temps d’émission d’un bloc la fenêtre est optimale si la largeur de la fenêtre W est telle que :

(il n y aura pas d’arrêt des émissions )

soit :

DGUtb

ab TW.t

b

a

tT

W

Page 33: 1 Chapitre V LES PROTOCOLES DE LIAISON Les Réseaux Informatiques

33

Deux modes de fonctionnement :

chaque bloc est acquitté. lors de la réception d’un ACK, l’émetteur libère un buffer et émet le suivant: la fenêtre est dite glissante

le bloc n’est pas nécessairement besoin d’être acquitté individuellement. L’acquittement peut être différé et concerne plusieurs blocs: la fenêtre est dite sautante

Principes généraux des protocoles

Modes de gestion de la fenêtre

Page 34: 1 Chapitre V LES PROTOCOLES DE LIAISON Les Réseaux Informatiques

34

L'acquittement différé

Mode de fonctionnement situé entre le SEND and WAIT et le GO Back NL’acquittement concerne plusieurs blocs (acquittement collectif ou global): un seul ACK acquitte N blocs (ainsi ACK3 signifie « j’ai bien reçu 3 blocs de données (0, 1, et 2), envoyez-moi le bloc numéroté 3 ».N est la fenêtre d’anticipation ( le système est appelé protocole à fenêtre sautante)Fenêtre d’émission : nombre de blocs en attente d'acquittement

Page 35: 1 Chapitre V LES PROTOCOLES DE LIAISON Les Réseaux Informatiques

35

Deux modes de fonctionnement, selon la technique de reprise sur erreur :

reprise depuis le bloc erroné (rejet simple)

reprise du bloc erroné seulement (rejet sélectif)

Principes généraux des protocoles

La politique de reprise sur erreur

Page 36: 1 Chapitre V LES PROTOCOLES DE LIAISON Les Réseaux Informatiques

36

Le rejet simple

La réception d’un NACK (acquittement négatif) ou l’échéance d’un temporisateur provoque : l’arrêt des émissions en cours, la reprise depuis le bloc erroné ou perdul’élimination par le récepteur des blocs reçus postérieurement.

Ainsi, le séquencement est conservé, et le récepteur n’aura pas à trier les blocs pour les remettre en séquence. L’émetteur doit posséder N tampons (pour conserver les N blocs émis jusqu’à ce qu’ils aient été tous confirmés) et le récepteur 1 seul tampon.

Page 37: 1 Chapitre V LES PROTOCOLES DE LIAISON Les Réseaux Informatiques

37

Le rejet sélectif

Seul le bloc erroné est retransmis. Cela implique la mémorisation des blocs hors séquence (non rejetés s’ils ont été confirmés).L’anticipation est cependant limitée par les possibilités de comptage des blocs émis.

Ainsi, le récepteur devra exécuter un programme de tri pour rétablir le séquencement initial.L’exécution de ce programme risque de durer plus longtemps que la retransmission des blocs postérieurs au bloc erroné. Cela n’est rentable que pour les réseaux où la fenêtre d’anticipation est importante, en raison des délais de transmission importants par rapport à la durée d’un bloc (transmission par satellite).

Page 38: 1 Chapitre V LES PROTOCOLES DE LIAISON Les Réseaux Informatiques

38

Principes généraux des protocoles

Contrôle de fluxContrôle de l’émission par le récepteur quand ses tampons sont pleins (risque de perte de données). L’émetteur doit cesser son émission.2 solutions :

2 – Une autre solution consiste, pour le récepteur, à agir sur la fenêtre d’émission de l’émetteur, en adaptant en permanence la largeur de la fenêtre à ses capacités de réception. Quand le récepteur constate que ses tamponsrisquent de déborder, il n’envoie plus d’accusé de réception à l’émetteur. La borne supérieure de la fenêtre est bloquée, l’émetteur épuise son crédit d’émission (la borne inférieure évolue avec l’émission). Ainsi, pour éviter le blocage, et assurer la fluidité du flux d’émission, le récepteur adapte l’envoi de ses accusés de réception, à sa capacité d’accueil de trames.

1- Il signale son état à l’émetteur (RNR, Receive No Ready). L’émetteur accuse réception de cette information (RR, Receive Ready) et cesse son émission. Il interroge périodiquement le récepteur afin de reprendre le transfert dès que possible, en envoyant des trames très courtes (RR, Receive Ready).

Page 39: 1 Chapitre V LES PROTOCOLES DE LIAISON Les Réseaux Informatiques

39

La signalisation est l’ensemble des informations nécessaires à la supervision de la liaison, et non celle de l’échange

On peut distinguer 2 types de signalisation :

Dans la bande: le format des unités de données est identique pour le transfert des informations de gestion et celui pour le transfert de données (champ spécifique de l’unité de données). Ainsi la signalisation est insérée dans le flot des blocs de données. La description par le protocole des formats des unités de données permet de repérer et d’interpréter la signalisation.

Hors bande: un canal spécifique est réservé à la signalisation (2voies: une voie pour le transfert de données et une voie pour les informations de signalisations ), le format des unités de données est allégé. La séparation des 2 canaux (voie physique ou virtuelles) facilite le traitement des données, et de la signalisation.

Principes généraux des protocolesLe contrôle de la liaison : la

signalisation

Page 40: 1 Chapitre V LES PROTOCOLES DE LIAISON Les Réseaux Informatiques

40

Étude de quelques protocoles

- Le protocole SLIP- le protocole X- MODEM- le protocole Y-MODEM- le protocole HDLC- le protocole PPP

Page 41: 1 Chapitre V LES PROTOCOLES DE LIAISON Les Réseaux Informatiques

41

PROTOCOLE SLIP (Serial Line Internet Protocol )

(RFC 1055 juin 1988)

SLIP est un protocole asynchrone orienté caractère de la pile TCP/IP.Très simple, SLIP n'effectue que la délimitation de tramesLe caractère END (192 ou 0xC0) est utilisé comme délimiteur de début et de fin. Quand ce caractère apparaît dans le champ de données, il est remplacé par la séquence ESC_SLIP , ESC_END (0xDB, 0xDC). Le caractère d'échappement (ESC_SLIP), qui pourrait aussi apparaître dans les données est lui-même protégé par l'insertion de la séquence ESC_SLIP, ESC_ESC (0xDB, 0xDD).Utilisé en mode point à point, il ne nécessite pas de spécification d’adresses.N’effectuant pas de contrôle d’erreur, il suppose la liaison exempte d’erreur de transmission (!!!)Sa simplicité le place en voie de disparition.

Page 42: 1 Chapitre V LES PROTOCOLES DE LIAISON Les Réseaux Informatiques

42

PROTOCOLE X- MODEM (Créé en 1977)

Les données à transférer son regroupées en bloc (paquets) de taille fixe de 128 octets, ce qui évite le délimiteur de fin.Les caractères sont des octets, sans bit de parité (le contrôle d’erreur est ailleurs).La structure du paquet de données est la suivante:Fanion de début : <SOH> (Code ASCII 0x1)Numéro de bloc : Numérotation des blocs modulo 255, à partir de 1Contrôle : Contrôle du numéro de bloc (complément à 1 du Numéro, soit : 255 – Numéro)Données: Champs données de taille fixe. Cela peut provoquer un accroissement de la taille du fichier reçu d’au moins 127 octets (inconvénient majeur de ce protocole)Contrôle données: Checksum , calculé uniquement sur le champ données. C’est la somme arithmétique modulo 2 (sans retenue) des octets de données.La transmission est contrôlé par les caractères ASCII :NACK ( caractère 0x15), utilisé par le récepteur pour initialiser le transfert ou signaler une erreur lors d’un transfert. ACK ( 0x6) est un accusé de réception. l’émetteur envoie le paquet suivant EOT( 0x4) permet à l’émetteur de signaler la fin de transmission.

Page 43: 1 Chapitre V LES PROTOCOLES DE LIAISON Les Réseaux Informatiques

43

PROTOCOLE Y- MODEM

Le protocole Y-MODEM est une amélioration du protocole X- MODEM: Les paquets ont une taille de 128 ou 1024 octets.

Un paquet d’initialisation (paquet 0) permet de transmettre les caractéristiques du fichier à expédier.

•Nom du fichier: simple ou suivant la convention UNIX (Chemin complet)

•longueur du fichier: transmis sous forme d’une chaîne de caractère (finie par le caractère blanc)

•Date de la dernière modification du fichier: en secondes depuis le 01/01/70

Données (128 caractères, Null)

CRC sur 2 octets

Format de paquet numéro 0

SOH

bloc

Contrôle

N °bloc

Nom Longueur

En ASCII

Blanc 0x20

Date Donnée

128 à 1024

CRC

Page 44: 1 Chapitre V LES PROTOCOLES DE LIAISON Les Réseaux Informatiques

44

Rappel des protocoles synchrones en mode caractère

❚ Les premiers protocoles de liaison implantés (définis avant 1970).❚ Protocoles en mode caractère BSC "Binary Synchronous Communication« (1960)L'unité d'information est le caractère.Certains caractères sont réservés aux besoins du protocole : les caractères de contrôle existent dans le jeu de caractères ASCII) Il a existé de multiples versions de protocoles basées sur des principes et une utilisation des caractères de contrôle souvent très voisins. Exemple : Protocole BSC 3780

Evolution vers les protocoles à trames de bits

❚ Volonté de construire des protocoles indépendants d’un jeu de caractères.❙ Si l'on transporte des caractères 10 bits ou des mots 60 bits il faut découper et coder les données au format caractère du lien.❙ Il faut traiter à chaque fois le problème de la transparence en fonction du code caractère et traiter spécifiquement les caractères de contrôle.❚ Conséquence pour les protocoles à trames de bits:

a) La charge utile devient une suite de bits. b) Abandon des caractères de contrôle et définition d’un

format de trame au moyen de zones ayant un rôle et un codage binaire (structure de message).

Page 45: 1 Chapitre V LES PROTOCOLES DE LIAISON Les Réseaux Informatiques

45

Historique et normes associées ❚ IBM a développé vers 1970 SDLC ("Synchronous Data Link Communication") pour SNA (System Network Architecture).❚ SDLC a été soumis à l'ISO pour normalisation. Modifié il est devenu HDLC "High-level Data Link Communication".(1976)❚ SDLC a été soumis à l'ANSI pour devenir le standard américain qui l'a modifié et est devenu ADCCP ("Advanced Data Communication Control Program")❚ Le CCITT a adopté et modifié HDLC qui est ainsi devenu le LAP ("Linkage Access Protocol") pour le standard de réseau X25.❚ Le CCITT a modifié X25 dont le LAP qui est devenu le LAPB ("Linkage Access Protocol" B ou Balanced) (1980)❚ Les IEEE ont normalisé comme l'un des standards de liaison sur les réseaux locaux une version modifiée légèrement : le LLC2 ("Logical Link Control type 2") (1985)❚ Une autre version : le LAPD ("Linkage Access Protocol on the D channel") est définie pour servir de protocole de liaison sur les canaux D du RNIS.❚ Une version LAPX est spécifiée pour fonctionner avec des échanges à l'alternat (LAP semi-duplex).❚ Une version LAPM (‘LAP Modem’) est spécifiée pour la corrections d’erreurs dans les modems.❚ Le standard Internet PPP (‘Point to Point Protocol’) en version de base reprend différents idées des protocoles à trames et possède une version aveccontrôle d’erreur qui est un version de LAPB.

Page 46: 1 Chapitre V LES PROTOCOLES DE LIAISON Les Réseaux Informatiques

46

Format des trames HDLC

01111110 Adresse Commande 01111110Données FCS

8 bits 16 bitsN bits

Fanion

8 ou 16bits

• Fanions : délimiteurs de trame• Adresse : identifie la station émettrice ou réceptrice

elle permet de distinguer une trame de commande d’une trame de réponse à une commande.

• Commande : combinaison de bits qui identifie la trame• Données : champ de données (facultatif)• FCS (Frame Check Sequence) : séquence de détection

d’erreurs égale au reste de la division du polynôme associé aux différents champs de la trame par X16 + x12 + x5 + 1 (dans l’avis V41).

Page 47: 1 Chapitre V LES PROTOCOLES DE LIAISON Les Réseaux Informatiques

47

PROTOCOLE HDLC : Différents types de trames

Trois types de trames :les trames d’information (I Information) les trames de supervision (S Supervisory) les trames non numérotées (U Unnumbered ou trame de gestion)Elles se distinguent notamment par leur champ Commande :

Note : deux formats du champ Commande existent :- le format normal (8 bits) compteur de trames sur 3 bits -le format étendu (16 bits) : négocié lors de l’établissement de la connexion pour avoir un champ de commande plus grand et ainsi effectuer la numérotation modulo 128(en pratique 127 trames). compteur de trames sur 7 bits

Page 48: 1 Chapitre V LES PROTOCOLES DE LIAISON Les Réseaux Informatiques

48

Les trames d’information(I)

Acheminent les données. Utilisent le “piggybacking” (le récepteur peut acquitter une trame d’information reçue par l ’envoi d’une autre trame d’information).• commande ou réponseN(S) :- numéro de la trame d’information - 3 bits - modulo 8- N(R) :- numéro de la prochaine trame d’information attendue - 3 bits - modulo 8- acquitte toutes les trames de numéros strictement inférieurs à N(R)- la perte d’un acquittement peut ainsi être compensée par le prochain acquittement

Le bit P/FOn dit que le bit P/F est positionné s’il a la valeur 1. Par pure convention de notation on dit : Un bit P/F positionné a la valeur P si la trame est une trame de commande.Un bit P/F positionné a la valeur F si la trame est une trame de réponse. L’émetteur d ’une commande exige une réponse immédiate. En recevant une trame avec le bit P/F positionné, la signification de ce bit dépend du contexte local.

• F si le récepteur a déjà envoyé une commande•P si aucune commande n ’est envoyée.

Page 49: 1 Chapitre V LES PROTOCOLES DE LIAISON Les Réseaux Informatiques

49

Les trames de supervision(S)

4 types de trames de supervision,

• codées dans le sous-champ Type du champ Commande(dans la bande)• commande ou réponseRR (“Received & Ready”) - 00 : acquittement. confirme la réception des trames de données de nº < N(R). demande la transmission des trames suivantes

RNR (“Received & Not Ready”) - 01 : contrôle de flux. confirme la réception des trames de données de nº < N(R). interdit la transmission des trames suivantes

REJ (“Reject”) - 10 : protection contre les erreurs. confirme la réception des trames de données de nº < N(R). demande la retransmission des trames de nº >= N(R)

SREJ (“Selective Reject”) - 11 : protection contre les erreurs. confirme la réception des trames de données de nº < N(R). demande la retransmission de la trame de nº = N(R). non-utilisée par LAP-B(équilibré)

Page 50: 1 Chapitre V LES PROTOCOLES DE LIAISON Les Réseaux Informatiques

50

Les trames non-numérotées (U)Permettant l’établissement et la libération de la liaison. Le champ M possède 32 valeurs dont :

00111 signifie SABM (Set Asynchronous Balanced Mode) : établit une liaison en mode équilibré LAPB.

01111 signifie SABME (Set Asynchronous Balanced Mode) : identique à la précédente, mais passage en mode étendu(numérotation modulo 128)

01000 signifie DISC (Disconnected) : demande de déconnexion.

01100 signifie UA (Unnumbered Acknowledgement) : acquitte une trame non numérotée.

10001 signifie FRMR (Frame reject): informe la réception d’une trame qui n’a pas pu être accepté

Page 51: 1 Chapitre V LES PROTOCOLES DE LIAISON Les Réseaux Informatiques

51

Quelques variables des entités du protocole

Chaque entité tient à jour les trois variables suivantes :-V(S) = numéro de la prochaine trame d’information à émettre,-V(R) = numéro de la prochaine trame à recevoir,DN(R) =numéro de la plus ancienne trame non acquittée, qui est la limite inférieure de la fenêtre.

- Valeurs initiales V(S) = V(R) = DN(R) = 0

et connaît les constantes suivantes :

-T1 (Temporisation de retransmission) = délai de garde au bout duquel une trame non acquittée est réémise.

-T2 (Temporisation de d’acquittement) = délai maximum au bout duquel, le récepteur, s’il n’a pas de données à transmettre, doit envoyer un acquittement à son correspondant.

- N1 = taille maximum d’une trame.- N2 = nombre maximum de réémissions d’une même trame.-W = largeur de la fenêtre.- etc.

Page 52: 1 Chapitre V LES PROTOCOLES DE LIAISON Les Réseaux Informatiques

52

Emission d’une trame

Emission d’une trame IVérifier que V(S) < DN(R) + W (est la limite supérieure de la fenêtre, qui est le numéro de la première trame dont l'envoi est interdit).

puis :- N(S) = V(S) et N(R) = V(R) ;- mémoriser la trame;- incrémenter V(S) modulo N;- armer le temporisateur (délai de garde T1) associé à la trame;-désarmer T2.Emission d’une trame REJ- N(R) = V(R)-désarmer T2.Emission d’une trame RR- N(R) = V(R)- désarmer T2.

Page 53: 1 Chapitre V LES PROTOCOLES DE LIAISON Les Réseaux Informatiques

53

Réception d’une trameSur réception d’une trameSi détection d’une erreur Alors

Ignorer la trame reçueSi la trame est invalide Alors

Envoyer une trame U: FRMR Sur réception d’une trame I(N(S),N(R))

- Si N(S) ≠ V (R)- alors trame non-attendue

(déséquencée). émettre une trame REJ;

- sinon /* N(S) = V(R) */. Armement du temporisateur T2 (délai

d’acquittement) associé à N(S);. incrémentation de V(R).

- Si DN(R) <= N(R) < V(S) alors. Désarmer les temporisateurs T1

des trames de nº inférieur à DN(R);. DN(R) = N(R) ;

Page 54: 1 Chapitre V LES PROTOCOLES DE LIAISON Les Réseaux Informatiques

54

Sur réception d’une trame RR(N(R))-Si DN(R) <=N(R) < V(S) alors

. désarmer les temporisateurs T1 des trames de nº inférieur à DN(R) ;

. DN(R) = N(R). Sur réception d’une trame REJ(N(R))

- Si DN(R) <= N(R) < V(S) alors. désarmer les temporisateurs T1 des trames de

nº inférieur DN(R);. DN(R) = N(R) ;. Émettre les trames de numéros compris entre

N(R) et V(S).

Expiration d’un délai

A l’expiration du délai T1 associé à une trame- Si le nombre de retransmissions n’est pas dépassé (<

N2). alors on réémet la trame I telle qu’elle a été

mémorisée.A l’expiration du temporisateur T2

- émettre une trame RR.

Page 55: 1 Chapitre V LES PROTOCOLES DE LIAISON Les Réseaux Informatiques

55

Scénario d’établissement et de rupture d’une connexion

Sur incident de ligne (modem coupé...), le réseau (ETCD) peut signaler cet état par l’émission de trame DM (Disconnect Mode), après N2 retransmissions, il passe à l’état déconnecté.

Lorsque les erreurs ne peuvent être corrigées par une simple retransmission de la ou des trames litigieuses (nombre de retransmissions supérieur à N2, Nr incorrect : valeur supérieure au nombre de trames réelles...), l’ETCD ou ETTD peut effectuer une déconnexion (DISC) ou réinitialiser la liaison (SABM)

Page 56: 1 Chapitre V LES PROTOCOLES DE LIAISON Les Réseaux Informatiques

56

Scénario de transfert de données

Notations :I(N(S),N(R),P/F)RR(N(R),P/F)

Page 57: 1 Chapitre V LES PROTOCOLES DE LIAISON Les Réseaux Informatiques

57

Reprise sur erreur

Notations :I(N(S),N(R),P/F)REJ(N(R),P/F)

Page 58: 1 Chapitre V LES PROTOCOLES DE LIAISON Les Réseaux Informatiques

58

contrôle de flux

RR(Nr=0,p=1)RR(Nr=0)RR(Nr=0)

=RR(Nr=3,F=1)

Notations :I(N(S),N(R),P/F)RR(N(R),P/F)RNR(N(R),P/F)

Page 59: 1 Chapitre V LES PROTOCOLES DE LIAISON Les Réseaux Informatiques

59

PROTOCOLE HDLC : Gestion du bit P/F

En mode équilibré (version LAPB), chaque extrémité de la liaison peut, en positionnant le bit P à 1, prendre l’initiative de solliciter une réponse de l’autre extrémité. Si les deux entités formulent, en même temps, une demande de réponse, le protocole HDLC ne distinguant pas le bit P du bit F, chaque entité prend la demande de l’autre comme la réponse à sa propre demande.

Solution: utilise le champ adresse comme extension du champ de commande pour identifier le sens de la requête- dans le sens Host/Réseau, le champ adresse contient la valeur binaire 00000001,- dans le sens Réseau/Host, le champ adresse contient la valeur binaire 00000011.

Page 60: 1 Chapitre V LES PROTOCOLES DE LIAISON Les Réseaux Informatiques

60

PROTOCOLE HDLC : Différentes versions

HDLC est une famille de protocoles : son implémentation existe dans plusieurs versions:

LAP (Link Access Protocol), fonctionnement sur sollicitation d’une seule extrémité : le primaire

LAP-B (LAP Balanced), mode équilibré, les deux extrémités sont primaires, elles peuvent émettre des commandes

LAP-D (LAP channel D), similaire à LAP-B est défini pour le RNIS (transport de la signalisation)

LAP-M (M pour Modem), dérivé de LAP-D, ce protocole est utilisé dans les modems conforme à l’avis V42 et V42bis

LAP-X, mode semi-duplex dérivé de LAP-D, est utilisé dans le télétex

Page 61: 1 Chapitre V LES PROTOCOLES DE LIAISON Les Réseaux Informatiques

61

PROTOCOLE PPP: Caractéristiques

Transfert de paquets de protocoles différents encapsulés dans les trames d’information

Page 62: 1 Chapitre V LES PROTOCOLES DE LIAISON Les Réseaux Informatiques

62

Protocole PPP

PPP (Point to Point Protocol défini dans les RFCs 1661, 1662 et 1663) est un protocole point à point inspiré d’HDLC. Il en diffère par la possibilité de multiplexer surune même liaison le transport de plusieurs protocoles (encapsulation du protocole X, Y... ou tunneling). Il s’agiten fait d’encapsuler des paquets de protocoles différents dans une trame HDLC simplifiée.Par contre, pour transporter des blocs d'information issus de protocoles de niveau supérieur différents (c'est le cas par exemple d'une liaison entre deux routeurs multiprocoles) il est nécessaire d'introduire, dans le bloc de données un champ supplémentaire identifiant le protocole transporté. Les autres champs sont identiques àceux de HDLC, aussi bien pour leur format que pour leur signification.Il fonctionne en mode asynchrone et en mode synchrone

Page 63: 1 Chapitre V LES PROTOCOLES DE LIAISON Les Réseaux Informatiques

63

Format des trames PPP

FanionAdresse

Commande

8 bits 16 bits

01111110 11111111 00000011 Données FCSProtocole 01111110

n bits

Page 64: 1 Chapitre V LES PROTOCOLES DE LIAISON Les Réseaux Informatiques

64

Champs de la trame• Fanions : délimiteurs de trames

Le fanion, implique la transparence (caractère ou binaire). Si le protocole est utilisé sur une liaison synchrone, la transparence au fanion est assurée de manière similaire à HDLC (insertion d'un bit à 0 tous les 5 bits à 1, technique dite du bit stuffing).

S'il est utilisé sur une liaison asynchrone la transparence au fanion (0x7E) est utilisée par remplacement de ce caractère par la séquence :

ESC_PPP, ESC_FLAG (0x7D, 0x5E).

Le caractère d'échappement (ESC_PPP, 0x7D) est remplacé par la séquence : ESC_PPP, ESC_ESC (0x7D, 0x5D).

• Adresse et Commande : valeurs fixées (et non utilisées). sa valeur est constante et fixée à 0xFF.

• Protocole : indique quel type de paquet est transporté dans les données.

• Données : taille maximale par défaut égale à 1500 octets.• FCS : champ pour la détection d’erreurs.

Page 65: 1 Chapitre V LES PROTOCOLES DE LIAISON Les Réseaux Informatiques

65

Champ Protocole

Code Protocole

0021 IP

0029 AppleTalk

002B IPX

800F IPV6

002D TCP/IP (en tête compressé)

Page 66: 1 Chapitre V LES PROTOCOLES DE LIAISON Les Réseaux Informatiques

66

SYNTHESEL’échange de données est régi par un ensemble de règles (ou protocole)

Un protocole assure totalement ou partiellement les fonctions suivantes :

la délimitation des bloc de données (Fanion)

le contrôle d’erreur (parité, CRC)

le séquencement des données (compteurs)

le contrôle flux

l’identification des entités communicantes

l’identification du protocole transporté