Vous êtes sur la page 1sur 13

Réseaux et Plan du cours de RTD

Transmission de Données
3 - Couche Liaison 1. Introduction (3h)
2. Couche Physique (3h)
Maîtrise EEA
3. Couche Liaison (3h)
4. Couche d'Accès au Médium (3h)
Olivier Fourmaux 5. Couche Réseau (9h)
Basé sur la 3éme édition du livre du Pr. A. S. Tanenbaum :
6. Couche Transport (6h)
Computer Networks 7. Applications (6h)
Olivier.Fourmaux@L2TI.univ-paris13.fr Maîtrise EEA / RTD-3 / Page 1 Olivier.Fourmaux@L2TI.univ-paris13.fr Maîtrise EEA / RTD-3 / Page 2

Plan - Couche Liaison


Introduction
" Communication entre deux machines " Objectifs de la Couche Liaison
adjacentes " Découpage en Trames
– connexion physique directe " Gestion des Erreurs
– délivrance ordonnée des informations
" Mécanismes Protocolaires
" Traitement des erreurs de transmission
" Exemples de Protocoles
" Contrôle du flux de données
" Problèmes
" Optimisation du transfert

Olivier.Fourmaux@L2TI.univ-paris13.fr Maîtrise EEA / RTD-3 / Page 3 Olivier.Fourmaux@L2TI.univ-paris13.fr Maîtrise EEA / RTD-3 / Page 4
Obj. 1 : Services au Réseau (2)
Obj. 1 : Services au Réseau (1)
" Services de base :
" Services pour la Couche Réseau – sans connexion - non acquitté
– pas de récupération des erreurs (faible taux, temps-réel...)
– complexité dans les couches supérieures
– ex: LANs
– sans connexion - acquitté
– indication des pertes, permet des retransmissions rapides
– débit variable
– ex: environnement sans-fil
– avec connexion - acquitté
– connexion préalable
– garanties de réception ordonnée et unique
– correspond à flux de bits fiable
Olivier.Fourmaux@L2TI.univ-paris13.fr Maîtrise EEA / RTD-3 / Page 5 Olivier.Fourmaux@L2TI.univ-paris13.fr Maîtrise EEA / RTD-3 / Page 6

Obj. 1 : Services au Réseau (3)


Obj. 2 : Découpage en Trames
" Positionnement du protocole de liaison:
" Structuration du flux de bits de la couche
PHY
" Découpage en Trames
– unité de données de la Couche Liaison
– suite de bits délimitée de taille fixe ou variable
" exemple :
– ATM : fixe (53 octets)
– Ethernet : variable (>64, <1524 octets)

Olivier.Fourmaux@L2TI.univ-paris13.fr Maîtrise EEA / RTD-3 / Page 7 Olivier.Fourmaux@L2TI.univ-paris13.fr Maîtrise EEA / RTD-3 / Page 8
Obj. 3 : Contrôle des Erreurs Obj. 4 : Contrôle de Flux
" Quelques média avec fort taux de perte " Mécanismes pour éviter de saturer le
" ex : boucle locale = 10-4.N0.8 (N taille trame en octets) destinataire
" Comment assurer la fiabilité de la transmission ? – indication à l'émetteur
– techniques de détection et correction d'erreurs – se retrouve dans les couches supérieures
– retour d'informations vers l'émetteur
" acquittements positifs
" acquittements négatifs
– détection des absences par temporisateur
– politique de retransmission et numérotation
Olivier.Fourmaux@L2TI.univ-paris13.fr Maîtrise EEA / RTD-3 / Page 9 Olivier.Fourmaux@L2TI.univ-paris13.fr Maîtrise EEA / RTD-3 / Page 10

Plan - Couche Liaison


Découpage en Trames (1)
" Objectifs de la Couche Liaison
" Découpage en Trames " Techniques de délimitation de Trames
– approches temporelles non adaptées
" Gestion des Erreurs
– quatre approches :
" Mécanismes Protocolaires
" comptage des caractères
" Exemples de Protocoles " caractères de marquage de début et de fin
bits de marquage de début et de fin
" Problèmes "

" manipulation du codage au niveau physique

Olivier.Fourmaux@L2TI.univ-paris13.fr Maîtrise EEA / RTD-3 / Page 11 Olivier.Fourmaux@L2TI.univ-paris13.fr Maîtrise EEA / RTD-3 / Page 12
Découpage en Trames (2) Découpage en Trames (3)
" Utilisation d'un champ « taille » de trame : " Utilisation de caractères délimiteurs :
– désynchronisation sur erreur " ex: ASCII
– début = DLE (Data Link Escape) + STX (Start of TeXt)
– fin = DLE (Data Link Escape) + ETX (End of TeXt)
" Problème avec les « binaires »
" apparition des séquences dans les données
" Caractères de bourrage (character stuffing)
" ex: transparence par doublage en ASCII
– trame à envoyer (NET) : DLE-STX- A -DLE- B -DLE-ETX
– trame envoyée (LINK) : DLE-STX- A -DLE-DLE- B -DLE-ETX

Olivier.Fourmaux@L2TI.univ-paris13.fr Maîtrise EEA / RTD-3 / Page 13 Olivier.Fourmaux@L2TI.univ-paris13.fr Maîtrise EEA / RTD-3 / Page 14

Découpage en Trames (4) Découpage en Trames (5)


" Utilisation de chaînes de bits délimiteurs " Violation de codage au niveau physique
– plus souple et non associée à un codage – si des combinaisons interdites sont disponibles
" utilisation d'un drapeau (flag) " ex: LAN codant :
– ex: 0111 1110 – 1 par high-low
" transparence par bourrage (bit stuffing) – 0 par low-high
– ex : insertion de 0 dans les chaînes de 1 – reste high-high et low-low pour délimiter les trames

Olivier.Fourmaux@L2TI.univ-paris13.fr Maîtrise EEA / RTD-3 / Page 15 Olivier.Fourmaux@L2TI.univ-paris13.fr Maîtrise EEA / RTD-3 / Page 16
Plan - Couche Liaison
Détection et Correction d'Erreurs
" Objectifs de la Couche Liaison
" Découpage en Trames " Utilisation de redondances
– mot de code (n bits) = données (m bits) + contrôle
" Gestion des Erreurs (r bits) avec n=m+r
" Protocoles typiques – 2m mots de code légaux parmi 2n mots possibles
– distance de Hamming = nombre de bits différents
" Exemple de Protocoles entre deux mots
" Problèmes " somme des « 1 » après un XOR entre les mots
" indique le nombre minimum d'erreurs simples pour
passer d'un code légal à un autre

Olivier.Fourmaux@L2TI.univ-paris13.fr Maîtrise EEA / RTD-3 / Page 17 Olivier.Fourmaux@L2TI.univ-paris13.fr Maîtrise EEA / RTD-3 / Page 18

Codes Correcteurs d'Erreur Simple


Détection et Correction d'Erreurs " Limite théorique : (m+r)<2r
" Détection et correction dépendent de la dH " Méthode de Hamming :
– pour détecter x erreurs, dH = x+1 " bits numérotés de 1 à n
bits puissance de 2 sont les r bits de contrôle (1,2,4,8...)
pour corriger x erreurs, dH = 2x+1
"
–
" les autres sont les m bits de données (3,5,6,7,9,10...)
" Ex. code détecteur : bit de parité " bits de contrôle = calcul de parité sur certains bits de
" 1010001-1 (attention : seulement 1 bit) données (ceux dont la décomposition en puissance de 2
fait intervenir le bit de contrôle concerné)
" Ex. code correcteur : – 5=1+4
– 6=2+4 d'ou pour la parité de 4 = p (5 6 7)
" soient 4 mots de code [ 00000000000, 0000011111,
– 7=1+2+4 qui correspondent au bits initiaux 2 3 4
1111100000, 1111111111] dH = 5 correction de 2 erreurs
– si réception de 0000000111 on récupère 0000011111 " détection de l'erreur par somme des bits de contrôle
– si triple erreur : ambiguité non conformes à la parité
Olivier.Fourmaux@L2TI.univ-paris13.fr Maîtrise EEA / RTD-3 / Page 19 Olivier.Fourmaux@L2TI.univ-paris13.fr Maîtrise EEA / RTD-3 / Page 20
Codes Correcteurs d'Erreur Simple Codes Détecteurs d'Erreurs
" Code de Hamming " La correction d'erreur n'est pas optimale sur
pour de l'ASCII des canaux avec faible taux de perte
– Attention : – ex: 10-9 avec paquets de 1000 bits
seulement pour une – comparer codage Hammig (10 bits) et bit de parité avec
erreur simple (1bit) retransmission

– Correction de burst " Amélioration du bit de parité pour les burst


d'erreur à l'aide " probabilité de détection de 0.5
d'une matrice " alternative 1 : calcul sur une matrice n*m (détection de
(calcul sur les burst de perte de taille jusqu'à n)
colonnes) " alternative 2 : codes CRC
Olivier.Fourmaux@L2TI.univ-paris13.fr Maîtrise EEA / RTD-3 / Page 21 Olivier.Fourmaux@L2TI.univ-paris13.fr Maîtrise EEA / RTD-3 / Page 22

Codes Détecteurs d'Erreurs


" Codes CRC (Cyclic Redundancy Code) aussi
appelés Codes Polynomiaux Codes Détecteurs
– arithmétique polynomiale : d'Erreurs
– soustraction modulo 2 (sans retenue : XOR)
– division identique à celle en binaire " Calcul de la division
– rang des bits des chaînes correspond au degrés des polynomiale pour le contrôle
polynômes ( 110001 : x5 + x4 + 1 ) d'erreur
– utilisation d'un polynôme générateur G(x) " détection avec CRC 16 bits :
– soit r le degrés de G(x) : ajouter r zéro après le bit de poids – toutes les erreurs simples et
faible du bloc M(x) doubles, les burst < 17 bits
– division modulo 2 de xr.M(x) par G(x) reste R(x) – 99.997 % erreurs burst 17 bits
– envoyer T(x) = xr.M(x) - R(x) – 99.998 % erreurs burst >17 bits
– T(x) est divisible par G(x), à vérifier par le récepteur !
Olivier.Fourmaux@L2TI.univ-paris13.fr Maîtrise EEA / RTD-3 / Page 23 Olivier.Fourmaux@L2TI.univ-paris13.fr Maîtrise EEA / RTD-3 / Page 24
Plan - Couche Liaison
Exemple de Protocoles
" Objectifs de la Couche Liaison
" Découpage en Trames " Hypothèses :
" Gestion des Erreurs – chaque couche a son propre processus et
communique par échange de message
" Mécanismes Protocolaires – service souhaité : orienté connexion fiable
" Exemples de Protocoles – flux infini de données disponible à l'émetteur
" Problèmes – récepteur en attente de réception (pas de gestion
des mécanismes d'interruption etc...)

Olivier.Fourmaux@L2TI.univ-paris13.fr Maîtrise EEA / RTD-3 / Page 25 Olivier.Fourmaux@L2TI.univ-paris13.fr Maîtrise EEA / RTD-3 / Page 26

Protocole d'Envoi Direct Simplex Protocole Simplex Stop-and-Wait


" Hypothèses :
" Hypothèses :
– temps de traitement réseau non nul
– tampons infini
– tampons limités (risque d'écrasement de trame)
– canal de communication sans perte
– prédiction temporelle difficile : retour d'information
– unidirectionnel

émetteur récepteur récepteur émetteur émetteur


T
Olivier.Fourmaux@L2TI.univ-paris13.fr Maîtrise EEA / RTD-3 / Page 27 Olivier.Fourmaux@L2TI.univ-paris13.fr Maîtrise EEA / RTD-3 / Page 28
Protocole Simplex Pour Canal Bruité Protocole Duplex
" " Deux approches :
– – 2 flux simplex : circuit séparé (non optimal)
– – 1 flux duplex : circuit bidirectionnel
– " Piggybacking
– – acquittements associés aux trames de données
– envoyées sur le canal en sens inverse
– réduction du nombre de paquets

Olivier.Fourmaux@L2TI.univ-paris13.fr Maîtrise EEA / RTD-3 / Page 29 Olivier.Fourmaux@L2TI.univ-paris13.fr Maîtrise EEA / RTD-3 / Page 30

Protocoles avec Fenêtre Protocole Avec Fenêtre de Largeur 1


d'Anticipation " Stop and wait :
" Sliding Window " taille des fenêtres = 1
3 bits pour les numéros de séquence
Principe :
"
"

" envoi de plusieurs trames avant réception d'un


acquittement
" le nombre de trames autorisés à être envoyées est
indiqué par la fenêtre de l'émetteur
" le nombre de trames acceptables par le destinataire est
indiqué par la fenêtre du récepteur
" Calcul de la relation entre les deux fenêtre selon le
protocole utilisé

Olivier.Fourmaux@L2TI.univ-paris13.fr Maîtrise EEA / RTD-3 / Page 31 Olivier.Fourmaux@L2TI.univ-paris13.fr Maîtrise EEA / RTD-3 / Page 32
Gestion des Fenêtres (1)
Gestion des Fenêtres (2)
Trames déjà émises Fenêtre de trames qui peuvent émetteur Récepteur
être transmises

012345670123456 0 012345670123456
Émetteur 012345670123456 1
2
Fenêtre rétrécit Fenêtre augmente
N° de Dernière 012345670123456 012345670123456
quand les trames quand les trames
séquence trame
sont envoyées sont acquittées ACK 3
transmise 012345670123456
Fenêtre de trames qui peuvent
Trames déjà reçues être reçues 3
012345670123456
012345670123456
Récepteur 012345670123456 012345670123456 ACK 4

Dernière Fenêtre rétrécit quand Fenêtre augmente 012345670123456


trame les trames sont reçues qd Ack sont envoyés 012345670123456
acquittée
Olivier.Fourmaux@L2TI.univ-paris13.fr Maîtrise EEA / RTD-3 / Page 33 Olivier.Fourmaux@L2TI.univ-paris13.fr Maîtrise EEA / RTD-3 / Page 34

Gestion des Fenêtres (3) Impact de la Taille des Fenêtres


" Taille des fenêtres supérieure à 1
" Comportement en cas de perte :
– traitement des trames déjà reçues
– 2 approches :
" Go-back-N : trames suivantes détruites
– peu efficace si la fenêtre est grande
" Retransmission sélective : trames déjà reçues stockées et
seules les endommagées sont retransmises
– plus efficace mais nécessite de la mémoire

Olivier.Fourmaux@L2TI.univ-paris13.fr Maîtrise EEA / RTD-3 / Page 35 Olivier.Fourmaux@L2TI.univ-paris13.fr Maîtrise EEA / RTD-3 / Page 36
Plan - Couche Liaison Exemple : HDLC
" Objectifs de la Couche Liaison " Descendant de SDLC (Synchronous Data Link
" Découpage en Trames Control protocol) des réseaux SNA d'IBM
" Gestion des Erreurs " Évolution en HDLC (High-level Data Link
Control) pour l'ISO
" Mécanismes Protocolaires
Évolution en LAPB (Link Access Procedure -
Exemples de Protocoles
"
"
version B) pour le CCITT
" Problèmes

Olivier.Fourmaux@L2TI.univ-paris13.fr Maîtrise EEA / RTD-3 / Page 37 Olivier.Fourmaux@L2TI.univ-paris13.fr Maîtrise EEA / RTD-3 / Page 38

Exemple : Internet (1) Exemple : Internet (2)


" Interconnexion d'hôtes et de routeurs
" Utilisation d'un grand nombre de média dont
des lignes point-à-point
" 2 possibilités :
– liaisons distantes : LS (Lignes Spécialisées)
– connexions individuelles à travers un provider
" SLIP (Serial Line Internet Protocol)
" PPP (Point-to-Point Protcol)

Olivier.Fourmaux@L2TI.univ-paris13.fr Maîtrise EEA / RTD-3 / Page 39 Olivier.Fourmaux@L2TI.univ-paris13.fr Maîtrise EEA / RTD-3 / Page 40
Exemple : SLIP Exemple : PPP (1)
" IETF RFC 1055 (1984) mais pas standard
" Internet Standard : RFC 1661, 1662 et 1663
– Pour l'envoi de paquets IP sur une ligne série
– Très simple : " Supporté par tous les providers
" envoi direct (raw) des paquets IP " Fonctionnalités :
" framming (0xC0) Mécanismes de découpage en trame non ambigu
–
" character stuffing
– 0xC0 = 0xDB + 0xDC
– Trames avec détection d'erreur
– 0xDB = 0xDB + 0xDB – Gestion de la liaison (test, négociation, etc...) grâce
" Mais... au LCP (Link Control Protocol)
– pas de gestion des erreurs
– Gestion des fonctionnalités de la couche réseau
– pas d'autre protocoles qu'IP
– pas de gestion dynamique des adresses
indépendante avec NCP (Network Control Protocol)
– pas d'authentification
Olivier.Fourmaux@L2TI.univ-paris13.fr Maîtrise EEA / RTD-3 / Page 41 Olivier.Fourmaux@L2TI.univ-paris13.fr Maîtrise EEA / RTD-3 / Page 42

Exemple : PPP (2)


Exemple : PPP (3)
" Multiprotocol framing mechanism pour
modem, HDLC LS orienté bit, SONET ... " Schéma de gestion de la ligne :
– format des frames proche de HDLC mais orienté
octet (character stuffed)
– transport de NCP, LCP, IP, IPX, CLNP, XNS,
Appeltalk...
– Presque tout peu être négocié (taille des champs,
etc...)

Olivier.Fourmaux@L2TI.univ-paris13.fr Maîtrise EEA / RTD-3 / Page 43 Olivier.Fourmaux@L2TI.univ-paris13.fr Maîtrise EEA / RTD-3 / Page 44
Exemple : ATM (1)
Exemple : ATM (2)
" Fonctionnalités de la
couche Liaison dans le " Transmission de Cellules
Transmission Convergence
sublayer (TC) – HEC (Header Error Control)
– en-tête de 5 octets dont 1 de CRC sur les 4 premier
– gestion de la transmission – taux de non détection de 10-20 sur fibre optique
des cellules – Introduction de cellule sans données :
– indépendante du médium " idle cell pour les média synchrone (attente de slot)
" OAM (Operation And Maintenance)

Olivier.Fourmaux@L2TI.univ-paris13.fr Maîtrise EEA / RTD-3 / Page 45 Olivier.Fourmaux@L2TI.univ-paris13.fr Maîtrise EEA / RTD-3 / Page 46

Exemple : ATM (3) Plan - Couche Liaison


" Réception de Cellules " Objectifs de la Couche Liaison
– re-synchronisation sur des bordures de cellules
" Découpage en Trames
" vérification que 40 bits sont un entête valide
" 1/256 proba. que HEC ok donc verification des cellules " Gestion des Erreurs
suivantes (424 bits plus loin)
" Mécanismes Protocolaires
" Exemples de Protocoles
" Problèmes

Olivier.Fourmaux@L2TI.univ-paris13.fr Maîtrise EEA / RTD-3 / Page 47 Olivier.Fourmaux@L2TI.univ-paris13.fr Maîtrise EEA / RTD-3 / Page 48
Problème (1) Problème (2)
" Découpage en trame : " Calcul de CRC
– La séquence DLE, STX, A, DLE, B, DLE, ETX apparaît – Quel est le reste obtenu par la division x7 + x5 + 1 par le
au milieu d’un flot de données pour lequel on décide polynôme générateur x3+1? Quel sera le polynôme
d’ajouter des caractères de transparence de la façon transmis?
indiquée dans le cours. Quel est le flot de données obtenu?
– Si on ajoute des bits de transparence à la séquence
0111101111101111110, quelle est la séquence obtenue?

Olivier.Fourmaux@L2TI.univ-paris13.fr Maîtrise EEA / RTD-3 / Page 49 Olivier.Fourmaux@L2TI.univ-paris13.fr Maîtrise EEA / RTD-3 / Page 50

– Dans l’exemple de la figure, la taille de la


fenêtre est 7 et les numéros de séquence

Problème (3) Problème (4) des messages sont codés sur 3 bits. La
retransmission sélective est utilisée. On
suppose que le premier acquittement
(ACK2) est perdu
– Soient des trames de 1000 bits envoyées sur un lien " Dessinez l’évolution de la taille de la
satellite à 1Mbps. Le délai de propagation entre la source et
0
1
2
fenêtre pour l’émetteur et pour le
la réception est 270ms. Les acquittements sont toujours 2
récepteur.
"
"
inclues dans des trames de données (piggybacking). Les
3
4
5
" Est-ce que la taille de la fenêtre est
entêtes sont très courts. Les numéros de séquence sont 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1
2
égale, supérieure ou inférieure à la
codés sur 3 bits. On suppose qu’il n’y a pas de pertes. taille du tampon qui stocke les paquets
avant de les retransmettre si nécessaire
Quelle est l’utilisation maximale du canal pour un
5

?
protocole: 6
7
0
" Que se serait-il passé si le deuxième
" Stop and Wait 1
acquittement (ACK 5) s’était également
" Go back N avec une fenêtre = 7 perdu, sans déclencher de
1 retransmission automatique mais que le
" Selective repeat avec une fenêtre de taille = 4 troisième ai été reçu correctement ?
Qu’en déduisez-vous sur la taille des
fenêtrespar rapport au numéros de
séquence?
Olivier.Fourmaux@L2TI.univ-paris13.fr Maîtrise EEA / RTD-3 / Page 51 Olivier.Fourmaux@L2TI.univ-paris13.fr Maîtrise EEA / RTD-3 / Page 52