Vous êtes sur la page 1sur 67

Protocoles de la couche

liaison
 Description
– La couche liaison récupère des paquets de la couche réseau
– Pour chaque paquet, elle construit une trame
– Elle envoie chaque trame à la couche physique

1
Couche Liaison de données
Couche liaison

La couche liaison se compose de deux sous-couches : LLC


(Logical Link Control) et MAC (Media Access Control)

So
Protocoles de la couche
liaison
 Description
– Lors de la transmission des trames des erreurs peuvent se
produire :
• le circuit de données n'est pas sûr en général
– Le protocole de liaison de données supervise et définit un
ensemble de règles pour assurer la fiabilité des échanges de
ces trames sur un circuit de données

3
Protocoles de la couche
liaison
 Règles ou services offerts
– Gestion (délimitation) de trames
– Contrôle d'erreur : détection/correction d'erreurs
– Contrôle de flux entre extrémités
– Contrôle d'accès à un canal partagé (MAC)

4
Délimitation de trames

 Il existe trois méthodes :


– Compter les caractères
– Utiliser des champs délimiteurs de trames
– Utiliser le codage de la couche physique

5
 Trame =
– Paquet (données provenant de la couche 3) + infos de contrôle
– On dit que le paquet est encapsulé dans une trame

6
Délimitation de trames

 Compter les caractères


– On utilise un champ dans l'en-tête de la trame pour
indiquer le nombre de caractères de la trame
– Problème :
• Si la valeur du champ est modifiée au cours de la
transmission
– Méthode rarement utilisée seule

7
 Les chiffres en vert indiquent les longueurs des
zones qui suivent y compris le chiffre

8
Délimitation de trames
 Utiliser des délimiteurs
– Un marqueur est placé :
• au début de chaque trame
• à la fin de chaque trame (en fait, au début de la suivante)

La trame est délimité par une


séquence particulière de bits appelée
fanion ou flag.

Un fanion (flag) = séquence particulière de bits

9
 Problème de transparence
– Confusion des délimiteurs de trame et des données
– Les données peuvent contenir les délimiteurs de trames
– Exemple 1 : caractères de délimitation
• Les caractères DLE STX et DLE ETX délimitent le début et la
fin des trames. Pour assurer la transparence des données
l’émetteur rajoute un DLE devant tout DLE des données

10
Délimiter des trames

– Avantages
• permet toujours de retrouver la synchronisation
• permet l'envoi de trames de tailles quelconques
• technique la plus simple

11
Délimiter des trames

 Utilisation du codage de la couche physique


– On regarde la suite des impulsions dans le signal

– puis on utilise les combinaisons positive-positive et


négative-négative pour délimiter les trames (on appelle
cela violation du codage)

12
Contrôle d'erreur

 Les données peuvent être modifiées (ou perdues)


pendant le transport
Deux problèmes à résoudre
– Au niveau de la détection d’erreur
• Comment se rendre compte de la modification/perte des
données à l’arrivée des trames ?
– Au niveau de la correction d’erreur
• Comment corriger à l’arrivée les données erronées ? : la
correction
• Faire en sorte que l’émetteur, renvoie les trames
erronées/perdues: la récupération d’erreurs
Modèle de correction

 Principe général :
– Chaque suite de bits (une trame) à transmettre est
augmentée par une autre suite de bits dite de redondance
ou de contrôle
– Pour chaque suite de k bits transmise, on ajoute r bits
• On dit alors que l’on utilise un code C(n,k) avec n = k +r
– À la réception, on effectue l’opération inverse et les bits
ajoutés permettent d’effectuer des contrôles à l’arrivée

14
Codes

 Il existe deux catégories de codes


– les codes détecteurs d’erreurs
– les codes correcteurs d’erreurs
– Cependant
• Le code de Hamming : est à la fois un code détecteur
et correcteur d’erreurs

15
Structure du codeur et du décodeur
Pour détecter ou corriger les erreurs, nous devons
envoyerdes bits supplémentaires (redondants) avec les
données

Remarque: On s'intéresse dans la suite de cette partie au code


par bloc

16
Code par Bloc

Dans le codage par blocs, le message est


divisé en blocs, chacun de m bits, appelés
mots de données.
On ajoute r bits redondant à chaque bloc
(bits de contrôles).
Le mot obtenu est de longueur n=m+r.
Les blocs de n bits résultants sont appelés
mots de code.
17

17
Codes simples
Code de parité
Le bit de parité est un bit supplémentaire ajouté aux données au niveau de
l'émetteur avant de transmettre les données en vérifiant le nombre de 1 ou
de zéros .

L'ajout d'un bit de parité aux données entraînera la modification de la


taille de la chaîne de données. Si nous avons des données de 8 bits, après
avoir ajouté un bit de parité à la chaîne binaire de données, cela deviendra
une chaîne de données binaires de 9 bits.

18
Codes simples
Code de parité

19
Codes simples

Code LRC Longitudinal Redundancy Check


 Dans le code LRC , un BLOC de bits est disposé sous forme de
tableau (en lignes et en colonnes), le bit de parité est calculé pour chaque
colonne séparément.

L'ensemble de ces bits de parité est également envoyé avec les bits de données.
Cette méthode peut facilement détecter les erreurs de rafaleet les erreurs sur un
seul bit et ne parvient pas à détecter les erreurs de 2 bits survenues dans la même
trancheverticale.

20
Codes simples
Code de parité LRC&VRC

Les données sont écrites sous une forme d’une matrice sur la
quelle un code de paratié double sur les lignes et les colonnes est
effectué.
- LRC : “Longitudinal Redundancy Check”
-VRC : “Vertical Redundancy Check”
La taille des mot initial est (m=l.c) aprés le codage on obtient
une matrice (l+1, c+1) d’ou un rendement faible pour ce code: l.c
/ (l+1).(c+1).

21
Codes simples
Code de parité LRC&VRC

Une modification simultanéesur une ligne et colonne traduit


un bit erroné sur l’intersection des deux ainsi pour la correction
il suffit d’inverser ce bit.

22
Codes simples

Code de parité LRC&VRC


Remarque : Ce code ne peut pas détecter une erreur triple

23
Codes
Polynomiaux

24
Codes Polynomiaux

25
Codes Polynomiaux

26
Codes Polynomiaux

27
Le protocole HDLC
High-Level Data Link Control

 Objectif
– Nous allons voir ce protocole qui montre comment tous
ces contrôles sont pris en compte au niveau de la trame
– Son but est de définir un mécanisme pour délimiter des
trames de différents types, en ajoutant un contrôle d'erreur
– Protocole de référence normalisé par l’ISO
– Utilisé dans de nombreux réseaux :
LAN, Internet, GSM
HDLC
 Format de la trame
– L'unité utilisée est la trame (Frame)
– Chaque trame est délimitée par deux fanions identiques

– Fanion
• Le fanion est un délimiteur de trame pour la
synchronisation. Sa valeur est : 01111110
• Les trames HDLC peuvent être envoyées les unes derrière
les autres : dans ce cas, le fanion de fin de la première
trame peut être mis en commun et servir de fanion de
début pour la trame suivante
29
49
 Commande (Control)
– Ce champ permet de distinguer 3 types de trames :

• T (1 bit) : Indique le type de trame


• N(S) et N(R) (6 bits) : Indique le numéro des trames
émises et reçues
• P/F (1 bit) : Demande de réponse immédiate à la suite
de l’envoi d’une trame de commande

30
HDLC

 3 types de trames circulent sur la liaison


– Trames I (Information)
• Transportent les données utilisateurs
• Retransmision (Piggybacking)
– Trames S (Supervision)
• Acquittement RR - RNR
• Retransmission REJ - SREJ
• Contrôle de flux RR - RNR
– Trames U (Unnumbered) SABM – UA - DISC
• Gestion de la liaison (initialisation, libération, …)

31
HDLC
 Trames de supervision : S
– Ces trames transportent des commandes ou des
réponses liées au contrôle d'erreurs, et au contrôle de flux
• RR = Receive Ready [ 1 0 0 0 P/F Nr ] :
 le récepteur est prêt à recevoir
• RNR = Receive Not Ready [ 1 0 1 0 P/F Nr ] :
 le récepteur ou la couche réseau est débordé
• REJ = Reject [ 1 0 0 1 P/F Nr ] :
 demande de retransmission des trames de numéro
supérieur ou égal à Nr
• SREJ = Selective Reject [ 1 0 1 1 P/F Nr ] :
 demande de retransmission de la trame numéro Nr

32
HDLC
 Trames non numérotées : U
– Ces trames transportent des commandes ou des
réponses de la gestion de la liaison (établissement,
rupture, choix d'un mode de réponse…)
Commandes
– SABM = Set Asynchronous Balanced Mode [ 1 1 1 1 P/F 1
10]:
• demande de connexion
– DISC = Disconnect [ 1 1 1 1 P/F 0 1 0 ] :
• libération de connexion

33
HDLC
 Réponses
– UA = Unnumbered Acknowledgement [ 1 1 0 0 P/F 1 1
0]:
• acquittement de trame non-numérotée
– FRMR = FRaMe Reject [ 1 1 1 1 P/F 0 1 1 ] :
• rejet de trame
– DM = Disconnect Mode [ 1 1 1 1 P/F 0 0 0 ] :
• le terminal est déconnecté

34
 Données
– Ce champ optionnel, de longueur variable, contient les
données à envoyer

 FCS
– Frame Check Sequence
• le FCS est un code ajouté après les données pour détecter
d'éventuelles erreurs de transmission
• Il est codé habituellement sur 16 bits ou 32 bits
• Cette séquence correspond au CRC calculé sur les champs
adresse + commande + données

35
Contrôle de flux

 Objectif
– Réguler le flux de données entre un émetteur et un
récepteur, en termes de
• Circulation
• Acquittement
• Stockage temporaire
• etc.

36
Contrôle de
flux
 Plusieurs protocoles
– Protocole de type « envoyer et attendre » (Send and Wait)
• Les données ne circulent que dans un sens
• Une seule trame est envoyée à la fois
• Le récepteur informe l’émetteur de son état par un
acquittement
– Protocoles avec fenêtre d’anticipation (Sliding Window)
• Les données circulent dans les deux sens
• Plusieurs trames sont envoyées à la fois
• Liste des numéros de séquence de trames = fenêtre
d’anticipation
37
Mécanisme « SEND & WAIT »
simple
 Hypothèses
– Transmission de trames de données (I) dans un seul sens
– Canal de communication parfait (pas d’erreur ni perte)
– Taille des mémoires de tampon finie
 Solution
– Introduction de 2 trames de supervision (S), qui ne transportent
aucune information utile et qui sont invisibles aux utilisateurs :
• RR (Receiver Ready)
• RNR (Receiver Not Ready)
 2 variantes
– Envoi d’une trame de supervision
après chaque trame
– Envoi d’une trame RNR si tampon
plein, suivi d’une trame RR pour
reprendre les envois
38
CONTRÔLE DE FLUX
Mécanisme « SEND & WAIT »
avec acquittement
 Hypothèses :
– Canal de communication bruité
– Taille de mémoires de tampon finie

 Problèmes:
– Trames perdues
– Trames erronées
– Duplication de trame
 Solution :
– Ajouter un processus d’acquittement positif ou négatif
– Utiliser un temporisateur ou Timer pour borner le délai de
réception des ACK
39
 Illustration

40
CONTRÔLE DE FLUX
Mécanisme « SEND & WAIT »
avec numérotation des acquittements
 Solution
– Pour éviter qu'une même trame soit reçue deux fois, le
protocole de communication numérote chaque trame
d'information

– Deux trames avec des numéros différents seront


considérées différentes !

41
CONTRÔLE DE FLUX
Mécanisme « SEND & WAIT »
avec numérotation des acquittements

 Numérotation
– Ajout d’un champ N(S) dans l’en-tête des trames de
données et de supervision
• N(S) = Numéro de la prochaine trame attendue à la réception
– Ajout de compteurs V(S) et V(R) dans les terminaux
émetteurs et récepteurs
• V(S) contient le numéro de la prochaine trame à envoyer, et
V(R) celui de la trame à recevoir
– Requiert une initialisation de l’échange pour la négociation
de la valeur du compteur (protocole en mode connecté)

42
CONTRÔLE DE FLUX
Mécanisme « SEND & WAIT »
avec numérotation des acquittements

 Fonctionnement
– Émetteur
• Émission d’une trame n
• Attendre l’acquittement de la trame émise
• Si acquittement de la trame est reçu alors émission de
la prochaine trame n+1
– Récepteur
• Réception d’une d’une trame n
• Vérification de l’intégrité et de la non duplication de la
trame
• Si OK alors envoi d’un acquittement pour la trame n
43
Adresse MAC

Une adresse MAC (Media Access Control), parfois nommée


adresse physique, est un identifiant physique stocké dans une
carte réseau ou une interface réseau similaire. elle est unique au
monde.
Structure:
Une adresse MAC-48 est constituée de 48 bits (6 octets) et est
généralement représentée sous la forme hexadécimale en
séparant les octets par un double point ou un tiret. Par exemple
5E:FF:56:A2:AF:15.

44
Adresse MAC

Dans un réseau Ethernet,


l'adresse MAC de diffusion
générale est
FF:FF:FF:FF:FF:FF

45
Adresse MAC

46
Techniques d’accès
au support

Dans un réseau local, les machines


partagent la même bande passante, ce
qui nécessite une technique
d’arbitrage pour résoudre les conflits.
Les constructeurs informatiques ont
proposé de nombreuses techniques
d’accès.

47
Domaine de collision

Un domaine de collision est un scénario dans lequel


lorsqu'un appareil envoie un message au réseau, tous
les autres appareils inclus dans son domaine de collision
doivent y prêter attention, qu'il leur soit destiné ou non.

Cela pose un problème car, dans une situation où deux


appareils envoient leurs messages simultanément, une
collision se produira les amenant à attendre et à
retransmettre leurs messages respectifs, un à la fois.

--cela ne se produit que dans le cas d'un mode semi-


duplex
48
Collision

49
Token Ring

50
Contrôle de la diffusion de
la trame
 La méthode d’accès au support : CSMA/CD
– Le partage d’un même support de communication par tous
les postes implique une méthode d’accès à celui-ci
– En effet, comme dans une communication classique si
tout le monde parle en même temps on ne se comprend
pas, il faut donc régler les temps de parole
– Différentes techniques sont possibles
• La technologie Ethernet se caractérise par la méthode
d’accès CSMA/CD
• Si plusieurs cartes émettent en même temps cela
provoque une collision

51
Réseaux Ethernet

Réseaux Ethernet est d’une des application réussies de


la technique CSMA/CD.
C’est un protocole de réseaux locaux développée par
Xerox en 1976. Il a été normalisé par la suite par IEEE
sous la norme 802.3 et représente aujourd’hui la
technologie la plus utilisée.

Un réseau Ethernet (IEEE 802.3) utilise une


transmission en bande de base avec un code
Manchester sur un bus physique en RJ45 ou câble
coaxial, organisé en un ou plusieurs segments.

52
 Exemple de collision
– En câble coaxial, se mettre en trame réelle

53
CSMA

Cette méthode a été développée pour réduire les


risques de collisions lorsque deux stations ou
plus commencent à envoyer leurs signaux sur la
couche liaison de données.

L'accès multiple nécessite que chaque


station vérifie d'abord l'état du support avant
l'envoi.

Les méthodes de persistance peuvent être


appliquées pour aider la station à agir lorsque le
canal est occupé/inactif.

54
Accès multiple avec écoute de
porteuse et détection de
collision (CSMA/CD)
Dans cette méthode, une station surveille le support
après avoir envoyé une trame pour voir si la
transmission a réussi.

En cas de succès, la transmission est terminée, sinon,


la trame est à nouveau envoyée.

55
CSMA/CD
-A commence à envoyer le
premier bit de sa trame à t1 et
puisque C voit le canal inactif à t2,
commence à envoyer sa trame à
t2.

-C détecte la trame de A à t3 et
interrompt la transmission.

-A détecte la trame de C à t4 et
interrompt sa transmission. Le
temps de transmission pour la
trame de C est donc t3-t2 et pour
la trame de A est t4-t1

56
CSMA

Il existe 2 types de modes d'accès disponibles dans CSMA.

1-Persistant : Il détecte d'abord le canal partagé et fournit les données


immédiatement si le canal est inactif. Si ce n'est pas le cas, il doit
attendre et suivre en continu jusqu'à ce que le canal devienne inactif,
puis diffuser la trame sans condition.

2. Non persistant : il évalue d'abord le canal avant de transmettre des


données ; si le canal est inactif, le nœud transmet immédiatement les
données. Si ce n'est pas le cas, la station doit attendre un laps de
temps arbitraire ( pas en continu ) et lorsqu'elle découvre que le canal
est vide, elle envoie les trames.

57
CSMA CD

58
CSMA CD

59
CSMA CD

Quelle doit être la longueur minimale du paquet à transmettre ?


Temps de transmission = Tt = Longueur du paquet/Bande passante du lien
[Nombre de bits transmis par l'expéditeur par seconde]
En substituant ci-dessus, nous obtenons,
--Longueur du paquet/Bande passante du lien>= 2 * Tp
--Longueur du paquet >= 2 * Tp * Bande passante du lien

Le rembourrage aide dans les cas où nous n'avons pas des paquets aussi
longs. Nous pouvons remplir des caractères supplémentaires à la fin de nos
données pour satisfaire la condition ci-dessus.

60
Nœuds cachés

Supposons que A et C veulent


communiquer avec B et donc ils lui
envoient chacun une trame.
A et C ne se connaissent pas puisque
leurs signaux ne portent pas aussi loin.

Ces deux trames entrent en collision


en B, mais contrairement à un Ethernet,
ni A ni C ne sont conscients de cette
collision.
On dit que A et C sont des nœuds
cachés l'un par rapport à l'autre.

61
L'accès multiple avec
prévention des collisions
(MACA)
MACA est un protocole de couche de contrôle d'accès au support (MAC) utilisé
dans les réseaux ad hoc sans fil. Il est utilisé pour résoudre le problème de
terminal caché et le problème de terminal exposé.
Il s'agit d'une alternative à l'accès multiple à détection de porteuse (CSMA)

62
MACA

La condition principale pour que MACA fonctionne est que les


stations soient synchronisées avec les tailles de trame et la
vitesse des données.

Il comprend la transmission de deux trames appelées RTS et


CTS précédant la transmission des informations.

RTS signifie Request to Send


CTS signifie Clear to Send.
Les stations proches de la station émettrice peuvent entendre
le RTS et restent silencieuses pour entendre le CTS.
63
MACA

Supposons qu'une station de transmission A ait une trame de


données à envoyer à une station de réception B.
L'ensemble du processus fonctionnera comme suit :
•A enverra une trame RTS au B
•Alors B enverra la trame CTS à A
•Lorsque la trame CTS est reçue par A, elle commencera à
envoyer la trame de données à B
•Une fois les données reçues avec succès, il enverra une
trame d'accusé de réception (ACK)

64
MACA

65
MACA

66
Exercice
On considère un réseau dont le débit est de 10 Mbits/s.
Les messages envoyés sur ce réseau ont une taille maximale de 1000
bits.
On considère l'hypothèse où une station ne peut pas envoyer un nouveau
message qu'après avoir reçu un acquittement de la bonne réception du
message précédemment envoyé (Mécanisme « SEND & WAIT »).
L'acquittement prend la forme d'un message de 16 bits.
Un temporisateur est armé à une durée T après l'envoi de chaque
message. Si le temps T expire avant la réception d'un acquittement la
station émettrice renvoi le même message.
La distance qui sépare les deux stations les plus éloignés sur ce réseau
est de 1 Km.
La vitesse de propagation des signaux est V =200 000 Km/sec.
1. Quelle est la durée minimum de T ?
2. En ignorant le temps de propagation, quelle est la durée totale de
l'envoi d’un fichier F de 4 Mbits? 67

Vous aimerez peut-être aussi