Partie 3: Couche Liaison de données
2015/2016
Cours Réseau informatique
Introduction
Mécanismes de communication
Fiabilité du transfert
Protocole « Send and wait »
Fenêtre d’anticipation
Format des trames
Exemple de protocole : HDLC
PLAN
Performance des communications
Temps d’émission (ou de transmission)
Nombre de bits à la couche physique du message/débit de la carte réseau : Quantité d’information / débit
Délai de propagation
La distance entre émetteur et récepteur/vitesse de la propagation du signal :
Temps écoulé entre l’émission et la réception d’une information
Dépend de la vitesse de l’onde et de la longueur du support
Introduction
Performance des communications Temps d’attente
C’est le temps perdu par le système de communication.
Chaque fois une file d’attente se forme (dans les nœuds où la capacité de stockage, i.e., mémoire se présente) dépend de:
la charge du nœud,
la politique d’ordonnancement des messages dans le nœud,
délai souvent aléatoire mais peut être borné si l’on dispose d’une connaissance suffisante sur le trafic entrant dans le nœud.
Introduction
Performance des communications
Latence ou temps de transfert dans un nœud
Correspond au temps de traitement du message,
dépend de la capacité du traitement du nœud (puissance CPU),
temps souvent borné et donné par le fournisseur de l’équipement.
Temps d’émission + Temps d’attente + Délai de propagation
Introduction
Performance des communications
Introduction
Introduction
Performance des communications
Introduction
Pourquoi une liaison de données ?
Le circuit de données permet d’émettre et/ou de recevoir des bits en série mais avec :
un débit
Un délai
Un taux d’erreurs
ajout d’une interface logique
C’est insuffisant
Qu’est ce qu’une liaison de données?
Objectif: fiabiliser le transfert d’infromation entre deux ETTD
Fiabilité:
Pas d’erreur
Pas de perte
Pas de déséquencement
Pas de duplication
Introduction
Services de liaison de données
Les services à utiliser:
Services offerts par la couche inférieure (physique)
Les services à rendre:
Les utilisateurs doivent avoir l’illusion d’un canal de transmission fiable
Les utilisateurs doivent avoir pouvoir établir et libérer logiquement une liaison au dessus d’un circuit
Les services:
Etablissement de liaison
Transfert de données
Libération de liaison
Introduction
Représentation des services
Introduction
Protocole de liaison de données
Une liaison de données : un canal physique capable de
transmettre des bits, raccordant deux ou plusieurs stations et leur permettent d’échanger de l’information structurée en trames.
Un protocole de liaison de données : un ensemble de règles permettant de gérer la liaison:
Règles de codage
Règles de structuration
Règles d’échange.
Le protocole met en œuvre un certain nombre de mécanismes de communication.
Introduction
Délimitation des trames
Problème:
Le récepteur doit savoir le début et la fin d’une trame.
Idée:
Une trame doit commencer par un marqueur de début de trame et se terminer par un marqueur de fin de trame.
Mécanismes de communication
Notion de fanion
le fanion (flag), permet de repérer le début et la fin des données transmises
Le fanion assure trois fonctions essentielles :
il délimite les données,
en l’absence de données à émettre il permet de maintenir la synchronisation de l’horloge de réception,
en identifiant le fanion, le récepteur peut se caler correctement sur une frontière d’octets (synchronisation caractère) et, par conséquent, traduire le flux de bits reçus en un flux d’octets.
Mécanismes de communication
Notion de transparence
L’utilisation d’un caractère spécifique pour indiquer le début ou la fin d’un bloc de données interdit l’usage de ce caractère dans le champ données.
Il faut prévoir un mécanisme particulier si on veut transmettre, en tant que données, le caractère ou la combinaison binaire représentative du fanion Mécanisme de transparence
Si le fanion est un caractère mécanisme de transparence au caractère
Si le fanion est une combinaison de bits mécanisme de transparence binaire
Mécanismes de communication
Notion de transparence
Le mécanisme de transparence consiste à « baliser » le caractère à protéger par un autre caractère dit caractère
d’échappement.
Ce caractère inséré à l’émission devant le caractère à protéger (le faux fanion) doit lui-même être protégé s’il apparaît dans le champ données
Mécanismes de communication
Notion de transparence
L’émetteur insère le caractère d’échappement devant le caractère à protéger.
En réception, l’interpréteur examine chaque caractère pour découvrir le fanion de fin.
S’il rencontre le caractère d’échappement, il l’élimine et
n’interprète pas le caractère qui le suit, il le délivre au système.
Mécanisme de transparence au caractère
Les protocoles qui utilisent des caractères pour le contrôle de l’échange sont dits orientés caractères.
En principe, ils utilisent le caractère ASCII 16 (DLE, Data Link Escape) comme caractère d’échappement.
Mécanismes de communication
Notion de transparence
Mécanisme de transparence binaire
Pour les protocoles orientés bits, une combinaison binaire quelconque est réservé aux informations de contrôle.
Dans ces protocoles le fanion est représenté par la combinaison binaire
« 01111110 » soit 0x7E.
La transparence binaire est assurée par l’insertion d’un « 0 » tous les 5 bits à « 1 » consécutifs. Seul, le fanion contiendra une combinaison binaire de plus de 5 bits à 1 consécutifs (01111110).
Cette technique dite du bit de bourrage (bit stuffing).
Outre la transparence au fanion, elle permet la resynchronisation des horloges en interdisant les longues séquences de bits à 1 consécutifs.
Les bits de bourrage insérés à l’émission sont éliminés par l’interpréteur de réception.
Mécanismes de communication
Mécanismes de communication
Mécanismes de communication
Exemple de délimitation
Notion de fanion
Inconvénients:
Ajout des délais introduits par l’insertion et l’élimination des bits ou caractères de transparence,
Augmentation de la taille des unités de données transmises.
La longueur du bloc émis est variable, ce qui ralentit son traitement.
Les protocoles dits à haut débit mettent en œuvre d’autres
techniques, comme l’utilisation d’un codage de type 4B/5B, qui garantissent que le symbole choisi comme délimiteur ne pourra être présent dans le champ de données.
Mécanismes de communication
Etablissement de la liaison
Le circuit de données est préalablement établi entre A et B
Trame de demande d’établissement
Mécanismes de communication
Transfert de données
Trame de données ou d’information
Mécanismes de communication
Libération de la liaison
Mécanismes de communication
Trame de demande libération Trame de confirmation
Les problèmes possibles:
Erreurs de transmission
Rupture du circuit de données
Pertes de trames
Débordement du récepteur
Panne d’un des ETTD
Panne d’un des ETCD
…
Fiabilité du transfert
ARQ (Automatic Repeat reQuest) : l'émetteur attend des
acquittements positifs ou négatifs ; le récepteur détecte les erreurs, et selon le cas, ignore la trame ou demande sa retransmission.
Deux types de protocoles ARQ :
Protocoles « envoyer et attendre » (send and wait),
Protocoles «à fenêtre d'anticipation » (SlidingWindow),
Fiabilité du transfert
Principe:
l'émetteur envoie une seule trame de données à la fois.
Après avoir émis une trame, l'émetteur n'envoie pas de données supplémentaires tant qu'il n'a pas reçu d'acquittement (ACK) de la part du destinataire.
Le destinataire n'envoie un ACK qu'après avoir reçu une trame correcte.
Si l'émetteur ne reçoit pas d'ACK avant l'expiration d'un délai prédéfini (appelé temporisateur ou timeout), il réémet la trame précédemment envoyée.
Avantage :
empêche l'émetteur d'envoyer des données plus rapidement que
Fiabilité du transfert
Fiabilité des transferts
Efficacité = durée utile/durée totale=t /T
Contrôle de flux
(Cyclic Redundancy Conttrol)
Détection d’erreurs
Reprise sur erreur
(Trame erronée - acquittement négatif) (Trame bien reçue - acquittement positif)
Rétention d’une copie
Temporisateur de retransmission
Temporisateur de retransmission
Nombre maximum de tentatives
Numérotation des trames de données
Numérotation des ACK
Anticipation
Anticipation
Anticipation
Anticipation
Exemple : m=4 et W=3
Anticipation
Anticipation
Format des trames
Format des trames
Trames Ethernet et IEEE 802.3
Préambule : codé sur 7 octets, composé de 1 et de 0 en alternance, sert à assurer la synchronisation.
Début de trame SFD (Start Frame delimiter) : codé sur 1 octet, l'octet séparateur se termine par 2 bits à 1 consécutifs, c’est un délimiteur de début de trame.
Format des trames
Champ d’adresse de destination : codé sur 6 octets et représente @ MAC (Medium Access Control) de
destinataire. Peut être de type unicast, multicast ou broadcast.
cas broadcast : @ utilisée = FF- FF- FF- FF- FF- FF s’appelle
@ physique d’une carte Ethernet (Hardware address). Elle est divisée en deux parties égales : les 3 premiers octets
désignent le constructeur et les 3 derniers octets désignent le numéro d’identifiant de la carte.
Champ d'adresse d'origine : codé sur 6 octets et
représente @ MAC de l’émetteur, toujours de type unicast.
Type (Ethernet) : codé sur 2 octets, précise le type de protocole de couche supérieure qui reçoit les données.
Format des trames
Longueur (802.3) : codé sur 2 octets, indique le nombre d'octets de données qui suit le champ.
C’est sur cette partie que diffèrent les trames 802.3 et
Ethernet : la valeur du champ permet de déterminer le type de trame : 802.3 ou Ethernet.
La trame est de type 802.3 si la valeur hexadécimale du champ est strictement inférieure à 0X600 ;
La trame est de type Ethernet si la valeur hexadécimale du champ est égale à 0X600.
Format des trames
Données :
Une fois le traitement de couche 1 et 2 terminé, les données sont transmises au protocole de la couche supérieur. On peut avoir recours à des octets de remplissage s'il n'y a pas assez de données pour remplir les 46 octets minimaux de la trame.
FCS (Frame Check Sequence) : Séquence de contrôle de trame. Cette 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).
Exemple de protocole : HDLC
High-level Data Link Control
Configuration point à point ou multipoint
Exploitation en bidirectionnel à l’alternat ou simultané
Fonctionnement en mode connecté
Procédure orientée-bit
Utilisation d’une fenêtre d’anticipation (7 ou 127)
Format de la trame HDLC
Format de la trame HDLC
Type de trames HDLC
Trois types de trames sont utilisées :
trames I (Information) : données à transmettre,
trames S (Supervisory) : gestion des erreurs et du flux,
trames U (Unnumbered) : établissement et libération de la liaison.
Champ de contrôle
Trame S 0 1
N(R) P/F S
Trame U 1 1
M P/F M
Trame I 0
N(R) P/F N(S)
0 7
Trame I
N(S) correspond au numéro, modulo 8, de la trame émise (Sent Frame).
N(R) représente un acquittement « collectif » en indiquant le numéro de la prochaine trame attendue (Requested Frame).
P/F signifie (entre autres) :
P (Poll) si station primaire. P/F à 1 indique qu’un acquittement immédiat est demandé.
F (Final) si station secondaire. P/F à 1 indique une fin de
Trame S
Le champ S possède 4 valeurs :
00 signifie RR (Receiver Ready) : prêt à recevoir de nouvelles trames.
01 signifie RNR (Receiver Not Ready) : pas prêt à recevoir de nouvelles trames.
10 signifie REJ (Reject) : demande la retransmission des trames de numéro supérieur à N(R).
11 signifie SREJ (Selectif Reject) : demande la retransmission de la trame de numéro N(R).
Trame U
Le champ M possède 32 valeurs dont :
00111 signifie SABM (Set Asynchronous Balanced Mode) : établit une liaison en mode équilibré LAPB.
01000 signifie DISC (Disconnected) : demande de déconnexion.
01100 signifie UA (Unnumbered Acknowledgement) : acquitte une trame non numérotée.