Info0702 – Réseaux
Informatiques
Liaison de Données
MAC
Couche liaison: Introduction
Terminologie:
• Hôtes et routeurs = noeuds
• Les canaux de communication
entre noeuds adjacents = liens
– Avec fils
– Sans fil
– LANs
• Le “paquet” s’appelle trame,
contient les datagrammes de la
couche réseau (+1)
“lien”
La couche de liaison de données doit transférer les
datagrammes d’un noeud à l’autre sur les liens
Couche liaison : contexte
• Datagrammes transférés
par les protocoles de
liaison sur les liens
– Ex : Ethernet sur le premier
lien, frame relay sur liens
intermédiaires, 802.11 sur
dernier lien
• Chaque protocole de la
couche liaison donne des
services différents
Analogie: transport
• Voyage de Reims à Les 2 Alpes
– Voiture : Maison à gare de
Reims
– TGV : Reims à Paris +
Paris-Grenoble
– Bus : Grenoble à Les 2 Alpes
• touriste = datagramme
• segment de transport = lien de
communication
• Moyen de transportation =
protocol de la couche liaison
• Agent de voyage = algorithme de
routage
Communication entre adapteurs
• La couche liaison est implémentée
dans la carte réseau:
– Ethernet card, PCMCIA,
802.11.
• émetteur:
– “emballe” le datagramme dans
une trame
– Ajoute les bits pour détection
d’erreur, contrôle de flux, etc.
• récepteur
– Vérifie les erreurs, le contrôle
de flux, etc
– Extrait le datagramme,
transmet au noeud récepteur
• L’adapteur est semi-autonome
• Couches liaison et physique
Noeud
émetteur
trame
Noeud
récepteur
Datagramme(reçu de IP)
trame
adapter adapter
Protocol de liaison
Sous-couches de la couche
liaison
• La couche MAC
– Media Access Control
– transmission vers le bas (couche physique,
medium de communication)
• La couche LLC
– Logical Link Control
– transmission vers le haut (couche réseau)
OSI versus IEEE
Services de la sous-couche
MAC
• Gestion des trames
– reconnaissance des début et fin de trame reçues
– délimiter les trames émises
• Gestion des erreurs de transmission
– calcul et ajout des éléments de contrôle aux trames émises
– vérification des éléments de contrôle des trames reçues
• Gestion des valeurs des adresses MAC
– ajout de l’adresse MAC aux trames émises
– contrôle des adresses MAC des trames reçues
• Contrôle de l’accès au medium physique (cas des media
partagés)
Services de la sous-couche LLC
• Proposition de spécification dans la norme
IEEE 802.2
– Sous-couche commune à tous les protocoles IEEE
802.x
• Possibilité d’effectuer une liaison fiable entre 2
nœuds adjacents
– Acquittement, retransmission
• En plus du service de fiabilité de la couche transport
• Peu nécessaire sur liens fiables (fibre, paires torsadées)
• Lien sans fil: haut taux d’erreurs
– Contrôle de flux
Detection d’erreurs
EDC = Bits de Correction et Detection d’Erreurs (redondance)
D = Données “protégées” par la détection d’erreurs (utile + entête)
• pas fiable à 100%!
• le protocoles peuvent laisser des erreurs
• Un champ EDC plus grand  meilleure fiabilité
Parité
Bit de parité:
Détecte une seule erreur
Parité à 2 dimensions:
Détecte et corrige une erreur seule
0 0
0 = « somme » paire
1= « somme » impaire
Checksum Internet
Émetteur:
• Considère le contenu du
segment comme une suite
d’entiers à 16-bits
• Checksum: addition de
tous les entiers du segment
• L’émetteur ajoute le
checksum dans le champ
prévu
Récepteur:
• Calcule le checksum du segment
reçu
• Compare avec le checksum reçu:
– différent – erreur détectée
– égal – pas d’erreur détectée.
Mais est-ce sur?
But: détection des erreurs (bits inversés) dans un segment
transmis (note: sur couche transport TCP et UDP (16 bits))
 Facile à implémenter(logiciel)
Le code de Hamming
• Si une trame est formée de m bits de données et
r bits de contrôle, le mot résultat de longueur
m+r est appelé mot de code
– Pour appartenir à un code, un mot doit être unique
• Le nombre de bits de différence entre deux mots
est appelé la distance de Hamming
10001001
XOR10110001
-------------
00111000 = distance 3
Le code de Hamming
• La détection (et la correction) d’erreurs dépende
de la distance de Hamming
– Ex : parité simple  distance 1 = détection d’une erreur
• Pour détecter d erreurs, il faut une distance
d+1
– Mais comment savoir quel était le mot original ?
• Pour corriger d erreurs, il faut une distance
2d + 1
Le code de Hamming
• Prenons un code
– 0000000000, 0000011111, 1111100000,
1111111111
• Distance Hamming = 5
– Détection jusqu’à 4 bits d’erreur
– Correction jusqu’à 2 bits d’erreur
• Démonstration ?
Le code de Hamming
• Les bits de contrôle peuvent être introduit
entre les bits de données
– Ex : bits 2n
= bits de contrôle,
les autres = données
– 1001000  00110010000
– Un bit de donnée peut correspondre à
plusieurs bits de contrôle :
• Ex : bit de donnée 11 = 1 + 2 + 8
• Inconvénients
Détection d’erreurs: Cyclic Redundancy
Check
• Un réseau fiable peut se passer d’un code correcteur
– Il est plus simple de demander la retransmission
• Prend un polynôme générateur , G
• but: ajouter r bits de CRC, R, pour que
– L’ensemble <D,R> soit exactement divisible par G (modulo 2)
– Le récepteur connait G, divise <D,R> par G. Si reste != 0: erreur
détectée
– Détecte les suites d’erreurs jusqu’à r+1 bits
• Très utilisé en pratique
Détection d’erreurs: Cyclic Redundancy
Check
• Générateur
– G(x) = x4
+ x + 1
• Autres exemples de polynômes
générateurs
– HDLC (OSI)
– x64
+x4
+x3
+x+1
– GSM
– x40
+x26
+x23
+x17
+x3
+1
– IEEE 802
– x32
+x26
+x23
+x22
+x16
+x12
+x11
+x10
+x8
+x7
+x5
+x4
+x2
+x1
+1
Protocoles de Liaison de
Données
• Lors de la transmission de trames, trois
grands problèmes se posent
– Comment gérer le flux des données
– Comment être sûr de la réception d’une trame
– Comment faire si le réseau est partagé
Contrôle de Flux
• Le contrôle de flux est nécessaire pour
ne pas surcharger le récepteur
– Mémoire insuffisante
– Capacité de traitement insuffisante
• Approche 1
– Utiliser deux canaux de réception
• Un canal pour les données
• Un canal pour l’acquittement
 Problème : la bande passante du canal
d’acquittement est gaspillée
Contrôle de Flux
• Approche 2
– Même circuit pour les deux types de
message
– Comment séparer les messages de données
et de contrôle ?
– Utilisation d’un champ « type »
• Approche 3
– Attacher les acquittements aux messages de
données
 Piggybacking
Piggybacking
• Principe : retarder l’acquittement d’un
message afin d’utiliser le prochain message
de données
– L’acquittement représente une charge petite
• Avantage : meilleure utilisation du réseau
• Complication :
– Combien faut-il espérer pour un acquittement ?
– Si le timeout expire l’émetteur doit
retransmettre le message
 risque d’une retransmission inutile
Piggybacking
• Solution mixte
– Si un paquet doit partir rapidement
• piggybacking
– Si aucun paquet arrive après un certain
temps
• Envoi d’une trame d’acquittement séparée
Protocoles à Fenêtres
Glissantes
• Nous allons étudier trois protocoles de
contrôle de flux à fenêtre glissante
(sliding window)
– Protocole à fenêtre de 1 bit
– Go back N
– Retransmission sélective
• Diffèrent en efficacité, complexité et
besoins en mémoire
Sliding Window Générique
• Chaque trame contient un numéro de
séquence de n bits
– Valeurs : 0 - MAX_SEQ (MAX_SEQ = 2n
- 1)
– Pour les protocoles de type arrêt et attente (stop-
and-wait), n = _____ ? Pourquoi ?
• À tout moment
– L’émetteur garde une liste des numéros de
séquence avec permission d’envoi
• Ces trames rentrent dans la fenêtre glissante
– Le récepteur garde une liste de numéros de
séquence avec permission d’acceptation
• Ces trames rentrent dans la fenêtre glissante
Sliding Window Générique
• Les limites inférieure, supérieure et la
taille des fenêtres peut différer
– Il est possible d’avoir des tailles variables
• Conditions
– Les paquets transmis doivent respecter
l’ordre dans lequel les paquets ont été
déposés dans la couche 2 de la machine
– Les trames doivent être livrées par le
réseau physique dans l’ordre qu’ils ont été
envoyés par la couche 2 (FIFO)
Fenêtre d’Envoi
• Contient des trames qui ont été envoyées
ou qui peuvent être envoyées
– Ces trames n’ont pas encore été acquittées
• Lorsqu’un paquet arrive de la couche
Réseau
– Le prochain numéro de séquence est attribué
– L’entête de la fenêtre avance d’une unité
• Lorsqu’un acquittement arrive
– La queue de la fenêtre avance d’une unité
Fenêtre d’Envoi
• Si la taille maximale de la fenêtre est
de n, il faut un buffer de n unités pour
stocker les trames non acquittées
• Si la fenêtre est pleine
– On « arrête » la couche Réseau
Fenêtre de Réception
• Contient les trames qui peuvent être
acceptées
• Les trames qui dépassent la fenêtre
sont supprimées
• Lorsqu’une trame contient un numéro
de séquence qui correspond à la fenêtre
– Transmise à la couche réseau
– Un acquittement est crée
– La fenêtre glisse d’une unité
Une fenêtre de taille 1, avec un numéro de séquence de 3 bits
(a) Au départ
(b) Après l’envoi de la première trame
(c) Après la réception de la première trame
(d) Après la réception du acquittement de la première trame
Arrêt et Attente
• Fenêtre d’émission = fenêtre de
réception = 1
• Acquittement = numéro de séquence de
la dernière trame reçue sans erreur
Arrêt et Attente
Cas 1 : sans erreur
A B
Time (0,1,A0)
(0,0,B0)
Cas 2 : perte de données
A
B
Time
X
Timeout
(1,0,A1)
(1,1,B1)
(0,1,A2)
(0,0,B2)
(0,1,A0)
(0,1,A0)
(0,0,B0)
*
*
*
*
*
*
*
*
Exp=0
Exp=1
Exp=0
Exp=1
Exp=0
Exp=1
Exp=0
Exp=0
Exp=1
Exp=0
Exp=1
Arrêt et Attente
Cas 4 : acq. perdu
A
B
Time
X
Timeout
Cas 3 : erreur dans la
donnée
A
B
Time
Erreur
Timeout
(0,1,A0)
(0,1,A0)
(0,0,B0)
(0,1,A0)
(0,1,A0)
(0,0,B0)
(0,0,B0)
Dupliqué
*
*
* *
Exp=0
Exp=1
Exp=0
Exp=0 Exp=0
Exp=1
Exp=1 Exp=1
Arrêt et Attente
Timeout de sortie
A B
Time
Timeout
Timeout d’entrée
A B
Time
Timeout
(0,1,A0)
(0,1,A0)
(0,0,B0)
0,1,A0
1,1,A1
0,1,B0
dupliqué
(0,0,B0)
(1,0,A1)
dupliqué (1,1,B1)
ACK 0
Exp=0 Exp=0
Exp=0 Exp=0
Exp=0
*
*
Exp=1
Exp=1
*
Exp=1
*
Exp=1
*
Exp=0
*
Exp=0
*
Performance des protocoles
Arrêt et Attente
• Ce protocole marche si le temps de transmission et
négligeable
– Si le temps est long…
• Exemple – communication par satellite
– Capacité du canal : 50 kbps, taille des trames : 1kb
temps d’aller-retour : 500 msec
– Time:t=0 début de la transmission du 1er
bit
t=20 msec trame envoyée
t=270 msec trame reçue
t=520 msec meilleur cas de ack reçu
– L’émetteur est bloqué pendant 500/520 msec
• = 96% du temps
• Utilisation de la bande passante = 20/520 = 4%
t
0
20
270
520
• Solution : Pipelining (enchaînement)
– Permettre w trames d’être envoyées avant le blocage
• Dans l’exemple précédent, pour avoir 100% d’utilisation
– w = __, taille maximale de la fenêtre = __
– Numéro de séquence = __ bits
• Problèmes : si le réseau perd des trames (erreurs)
• Solutions
– Protocole « Go back n »
– Protocole à rejet sélectif
– Acquittement cumulatif
Ack n = trames n,n-1,n-2,… ont été bien reçues
Performance des protocoles
Arrêt et Attente
Protocole Go Back n
• Si une trame manque, le récepteur envoie
l’acquittement de la dernière trame bien
reçue et ignore toute nouvelle trame
• Fenêtre de réception = 1 (toute trame doit
être reçue dans l’ordre d’envoi)
• La fenêtre d’émission peut se remplir
– Dans ce cas, retransmission des trames non
acquittées
• Gaspillage de la bande passante si le
taux d’erreurs est grand
Protocole Go Back n
1
2
Go Back n – opération normale
1
2
Go Back n – trame perdue
Protocole Go Back n
• Quelle est la taille maximale de la fenêtre
d’envoi ?
• Taille max = MAX_SEQ, non
MAX_SEQ+1
– Avec un numéro de séquence de n-bits
MAX_SEQ = 2n
– 1,
Taille max de fenêtre = 2n
- 1
– Pour une fenêtre de 3 bits, MAX_SEQ = 7,
alors taille de fenêtre = 7
• Pourquoi pas 8 ?
Protocole Go Back n
• Si on suppose une taille = MAX_SEQ+1 = 8
– L’émetteur envoie les trames 0 à 7
– Un ack cumulé « 7 » arrive
– L’émetteur envoie les prochaines trames avec
numéros de séquence 0 à 7
– Encore un ack « 7 » arrive
– Question :
• Est-ce que cet ack correspond à la première
« rafale » ? Est-ce pour la deuxième ?
– Si on garde taille = MAX_SEQ, on « force » un
décalage qui évite l’ambigüité
Protocole Go Back n
Implémentation du Go Back n
• L’émetteur doit stocker les trames non
acquittées
• Ack n indique que les trames n,n-1,n-
2, ... ont été bien reçues et que les
buffers peuvent être libérés
• Chaque trame sortant de la fenêtre
d’envoi a un timer associé
– retransmission en cas de non-acquittement
Protocole à Rejet Sélectif
• Le récepteur stocke toutes les trames
"correctes" après une trame "incorrecte"
• L'émetteur retransmet les trames incorrectes
lorsqu'il a détecté un problème
• Fenêtre de réception > 1
– Toute trame est reçue et stockée en attente d'être
transmise à la couche réseau dans l'ordre
• Nécessite beaucoup de mémoire
Acquittement Négatif (NAK)
• Le protocole à rejet sélectif est souvent
combiné avec le NAK
• Lorsqu'une erreur est soupçonnée par le
récepteur, il demande une retransmission
– Réception d'une trame endommagée
– Réception d'une trame non attendue
• Est-ce qu'on a besoin de garder une trace
des NAKs envoyés ?
• Et si les NAKs sont perdus ?
Rejet Sélectif avec NAK
1
0
Rejet Sélectif avec NAK
• Le récepteur a un buffer pour chaque
trame dans la fenêtre de réception
• Chaque buffer a un bit "arrivé"
• Si une trame arrivée correspond à la plage
de numéros de séquence de la fenêtre
– Acceptée et stockée
• Quel sera la taille maximale de la
fenêtre ?
– Peut-elle être MAX_SEQ ?
Implémentation du Rejet
Sélectif
Rejet Sélectif – taille de fenêtre
(a) Situation initiale avec une fenêtre de taille 7
(b) Après 7 trames envoyées et reçues, mais pas acquittées
(c) Situation initiale avec une fenêtre de taille 4
(d) Après 4 trames envoyées et reçues, mais pas acquittées
On suppose un numéro de séquence de 3 bits et une fenêtre = MAX_SEQ = 7
0
0 1
Rejet Sélectif – taille de fenêtre
Rejet Sélectif – taille de fenêtre
• Le problème est causé par la superposition
des anciennes et nouvelles fenêtres
• Solution
– Taille de la fenêtre = (MAX_SEQ+1)/2
– Ex : pour une fenêtre de 4 bits,
MAX_SEQ = 15
taille de fenêtre = (15+1)/2 = 8
• Le nombre de buffers nécessaire = taille
de la fenêtre
Temporisateur d'Acquittement
• Problème
– Si le trafic en sens contraire est trop léger ?
• Aucun acquittement pourra profiter des
piggyback
– Solution
• Temporisateur d'Acquittement
• Si aucune émission est faite jusqu'au timeout,
alors envoie un ack séparé
• Essentiel : le timeout ack < timeout de la trame
– Pourquoi ?
Protocoles pour Accès Partagé
• Supposons un canal de transmission d, avec
accès partagé
• Deux transmissions ou + en même temps 
interférence
– Il y a collision si les nœuds reçoivent 2 signaux (ou +)
en même temps
Protocole pour accès multiples
• Algorithme “distribué” pour déterminer les règles
de partage : priorisation
• On ne dispose que d'un seul canal
– l’arbitrage se fait sur ce canal !
Protocoles pour Accès Multiples Ideal
Canal de diffusion à R bps
1. Si un seul nœud transmet, il le fait à R bps
2. Si M nœuds transmettent, ils le font à R/M bps
3. Entièrement décentralisé :
– Pas de “coordinateur”
– Pas de clock de synchro
– Pas de “slots”
4. Simple
5. Équitable
Faisable ?
Protocoles MAC
3 modèles de diffusion:
• Partition du canal
– Division du canal en “morceaux” (time slots, fréquence, code)
– Allocation des “morceaux” aux nœuds
• Accès aléatoire (Random Access)
– Pas de division, collisions possibles
– Récupère après les collisions
• Accès déterministe
– Les nœuds parlent chacun à son tour
– Les nœuds qui ont plus de données ont des tours plus longs
Gestion du Partage
• Statique
– FDMA - Frequency Division Multiplexing
– TDMA - Time Division Multiplexing
• Dynamique
– ALOHA
– Carrier Sense Multiple Access (CSMA)
– Protocoles sans collision (déterministes)
Partition du Canal MAC : TDMA
TDMA : time division multiple access
• Accès au canal en “tour de parole"
• Chaque station possède une tranche égale
• Les créneaux inutilisés sont perdues
– Nécessité de synchronisation
• Exemple : réseau avec 6 stations
– 1,3,4 ont des paquets à transmettre
– Les créneaux 2,5,6 restent inutilisés
Partition du Canal MAC : FDMA
FDMA : frequency division multiple access
• Le spectre disponible est divisé en bandes
• Chaque station “possède” une bande
– Besoin d'un espacement – gaspillage de bandes passantes
• Exemple : réseau avec 6 stations,
– 1,3,4 ont des paquets à transmettre
– Les bandes 2,5,6 restent inutilisés
Bandes
de
fréquence
temps
Protocoles d’Accès Aléatoire
(Random Access)
• Quand le noeud à un paquet à transmettre
– Il transmet à taux max R bps
– Aucune coordination préalable
• 2 nœuds ou + transmettent  “collision”
• Le protocole d’accès aléatoire MAC détermine :
– Comment détecter les collisions
– Comment récupérer les données après les collisions
• ex: retransmissions
• Exemples de protocoles MAC pour accès aléatoire
– ALOHA
– slotted ALOHA
– CSMA, CSMA/CD, CSMA/CA
ALOHA
• Aloha est la base de tous les protocoles non-
déterministes
• Le protocole Aloha a été conçu par l'Université de Hawaii
afin de relier les campus avec des transmetteurs radio
• Le protocole Aloha s'applique sur tout type de support
partagé
– Un nombre de stations partagent le medium
– Deux ou plus veulent communiquer au même temps, causant
des collisions
Le protocole ALOHA
• Émetteur
– Lorsque une trame arrive, procède à l'envoi
– La station écoute le réseau un certain temps
– Si un ACK est reçu, ok. Sinon, retransmet la trame
après un temps aléatoire
– Si aucun ACK après un certain nombre de
tentatives, laisse tomber
– Le checksum est utilisé pour détecter les erreurs
• Récepteur
– Si la trame est OK et l'adresse correspond à
l'émetteur, envoie un ACK
– Sinon, ignore la trame (ne fait rien)
• Une trame peut être endommagée par le bruit
ou par une transmission simultanée (collision)
ALOHA : envoie des trames
ALOHA : période de
vulnérabilité
ALOHA
ALOHA
• Quand le nœud reçoit une nouvelle trame à transmettre, il
la transmet immédiatement
• La probabilité de collision augmente avec le nombre de
nœuds
• L’efficacité devient environ 18%
• Autres problèmes (pour la radio)
– Aucune borne de transmission
– Problème de l'antenne cachée
Slotted ALOHA(“en tranches”)
Postulat
• Les trames sont de même taille
• Le temps est divisé en tranches (= temps d’une trame)
• Les nœuds commencent à transmettre au début des tranches
• Les nœuds sont synchronisés
• Si 2 nœuds ou + transmettent en même temps, tous détectent la
collision
Fonctionnement
• Quand le nœud reçoit des données à transmettre, il le fait dans la
prochaine tranche
• Si pas de collision, le nœud continue à transmettre dans les
tranches suivantes
• Si collision, le nœud retransmet dans la tranche suivante
Slotted ALOHA
Pour
• S’il y a un seul nœud actif, il
profite de tout le débit
• Complètement décentralisé
• Simple
Contre
• collisions, tranches gaspillées
• Tranches vides
• Les nœuds doivent détecter
rapidement les collisions
• Besoin de synchronisation pour
les tranches
Slotted ALOHA
• Comme le temps est organisé en
fonction de la taille des trames
– Les nœuds doivent être synchronisés
• Les transmissions commencent
uniquement au début d'une période
– Conséquence : une partie des trames rate le
créneau ou recouvre d'autres trames
• L'utilisation maximale du canal est de
37%
Slotted ALOHA
CSMA
• Pourquoi ALOHA et slotted ALOHA sont si peu
performants ?
– Les stations ne vérifient pas l'état du canal. Elles juste envoient
les trames, ce qui cause des collisions si le canal n'est pas libre
• Il est simple de les faire écouter le canal
• CSMA : Carrier Sense Multiple Access
– Les stations écoutent le canal préalablement (carrier sense)
– Ainsi, une station “sait” si le canal est libre ou pas
– Les transmissions ne sont faites que si le canal est libre
– Les collisions deviennent bien plus rares
• Uniquement si deux ou plusieurs nœuds essayent d'envoyer des trames
au même temps
CSMA – les contraintes
• Le secret du CSMA est d'avoir un temps borné de
propagation
– Simple dans un réseau câblé
– Moins évident dans un réseau radio
• Dans une LAN traditionnelle, le temps de propagation
sur le câble est inférieur à celui de l'envoi d'une trame
– Attention : ceci n'est plus vrai pour les réseaux Ethernet 1Gbps et
10Gbps
• Grâce au "carrier sense", les stations savent presque
immédiatement si le canal est libre
• Et si le réseau semble libre ?
– Si deux stations transmettent au même temps  collision
• Pour détecter une collision, une station attend un ACK
• Si aucun ACK est reçu dans un certain temps, retransmission
• Et si le canal est occupé ?
– Trois approches : nonpersistent CSMA, 1-persistent CSMA, et p-
persistent CSMA
Nonpersistent CSMA
• Après avoir vérifié le canal, une station :
1. Si le canal est libre, transmission ; sinon, passe à
l'étape 2
2. Si le canal est occupé, attendre un temps aléatoire
(probabiliste) et recommence l'étape 1
• L'utilisation de délais aléatoires réduit la
possibilité de collision
– Efficace si deux stations essayent d'envoyer alors
que le canal est occupé
• Inconvénient :
– Perte d'efficacité car il est probable que le canal
soit libre après la fin de la transmission en cours,
même si d'autres stations sont en attente
1-persistent CSMA
• Pour éviter le gaspillage du canal, un protocole 1-
persistent peut être utilisé
• Après avoir vérifié le canal, une station :
1. Si le canal est libre, transmission ; sinon, passe à l'étape 2
2. Si le canal est occupé, continue à écouter jusqu'à ce que le
canal se libère ; alors transmettre immédiatement
• Les stations 1-persistent sont "avares"
• Inconvénient :
– Si deux stations ou plus sont dans l'attente, les collisions
sont garanties
p-persistent CSMA
• p-persistent CSMA est un compromis, qui évite les
collisions comme dans le cas du CSMA nonpersistent
au même temps que réduit l'attente, comme le 1-
persistent
• Règles :
1. Si le canal est libre, transmet avec une probabilité p ou attend
une unité de temps avec une probabilité (1 – p)
• L'unité de temps est généralement le temps maximum de
propagation
2. Si le canal est occupé, continue à écouter et passe alors à
l'étape 1
3. Si la transmission a été mise en attente, passe à l'étape 1
• LA question :
– Comment choisir une bonne valeur de p ?
Valeur de p ?
• So on considère que n stations sont en attente de
transmission
• À la fin de la transmission, le nombre attendu de stations en
attente est le nombre de stations prêtes (n) multiplié par la
probabilité de transmission (p), ce qui donne : np
• Si np > 1, il est fort probable qu'une collision aura lieu
– Des tentatives de retransmission ne feront qu'augmenter la
probabilité
– Les tentatives entrent en compétition avec les nouvelles trames
– Tôt ou tard, toute station veut transmettre
• Des collisions en continu ; aucun débit utile
• Ainsi np doit être inférieur à 1 si on attend un pic de n
stations
• Inconvénient de la méthode p-persistent :
– Si une charge lourde est attendue, p doit être très petit.
– Cependant, si p est trop petit, les stations doivent attendre beaucoup.
CSMA/CD:
CSMA with Collision Detection
• Le problème du CSMA :
– Une collision bloque le canal pendant la durée de transmission
d'une trame, ce qui n'est pas bon si les trames sont longues
• Collision Detection :
– Les stations écoutent le canal pendant la transmission. Si une
collision est détectée, l'envoi est arrêté immédiatement
• Règles du CSMA/CD:
1. Si le canal est libre, transmettre ; sinon, aller à l'étape 2
2. Si le canal est occupé, continue à écouter jusqu'à ce que le
canal se libère ; alors transmettre immédiatement
3. Si une collision est détectée pendant la transmission,
émettre un bref signal de brouillage (jamming) pour
prévenir les autres stations de la collision et alors arrête la
transmissions
4. Après avoir transmis le signal de brouillage, attendre une
durée aléatoire (le backoff) et recommencer à l'étape 1
Opération
du CSMA/CD
C détecte une collision !
A détecte une collision !
Détection de la Collision
• Le temps nécessaire pour détecter une collision n'est jamais supérieur à 2x le
temps de propagation sur le canal.
• Les trames doivent être suffisamment longues pour permettre le détection de la
collision avant la fin de la transmissions. Si des trames plus petites sont
utilisées, la détection pourra ne pas être faite.
• Dans les réseaux Ethernet 10 et 100Mbps, une trame doit avoir au moins 512
bits, utilisant du rembourage (padding)
• Dans les réseaux Ethernet 1Gbps, la taille d'une trame est au moins 4096 bits,
utilisant une extension de la trame
80
Exponential Backoff
• Afin de déterminer le temps d'attente, Ethernet utilise le Exponential
Backoff
– Tant qu'il y a des collisions, une station essaye encore de retransmettre
– Lors des premières 10 tentatives, la valeur de l'attente est doublé à
chaque fois
– Ensuite, le temps d'attente reste identique pour encore 6 tentatives
– Si 16 tentatives ne suffisent pas, une erreur est déclarée et l'envoi arrêté
• Lorsque les collisions augmentent, les stations sont dispersées grâce
à cet algorithme
• L'algorithme 1-persistent avec le exponential backoff est efficace
sous différentes charges
– Si la charge est petite, l'algorithme 1-persistence permet à une station de
transmettre aussitôt le canal est libre
– Si la charge est lourde, le backoff donne des garanties similaires aux
autres techniques
• Problème :
– Les stations qui ont subi un grand nombre de collisions ont encore moins
de chance de transmettre que celles qui viennent d'arriver
Protocoles Dynamiques
Déterministes
Protocoles de partitionnement statique du canal
– Efficaces si la charge est élevée
– Inefficaces si la charge est petite : si un seul
nœud transmet, 1/N de la bande passante est
utilisé
Protocoles d'accès aléatoire
– Efficaces si la charge est petite: un seul nœud
peut utiliser tout le canal
– Des collisions si la charge est trop élevée
Protocoles dynamiques déterministes
– Recherche d'un compromis entre les deux
Politiques d'accès
dynamiques à allocation
deterministes

Allouer de la BP aux utilisateurs qui en
ont besoin

Connaître les besoins des utilisateurs

"Intelligence" centralisée ou répartie

Allocation sélective ou polling
 Roll-call polling (centralisé)
 Hub polling (répartie)

Allocation de Jeton
Allocation sélective ou polling

Consulter les compétiteurs
 les inviter à émettre à tour de rôle

Site maître (station centrale)
 Interroge séquentiellement chaque station
 Si elle a des trames à émettre

La trame est transmise au maître

Le maître interroge le destinataire (prêt à
recevoir ?)

Roll-call polling (centralisé) ou Hub polling
(répartie)
Roll-call polling

station primaire
 interroge successivement chacune des
stations secondaires
 envoie d'une trame de poll (enquête)

station interrogée
 répond par une trame

acquittement négatif si rien à envoyer

données dans le cas contraire
Hub polling

Station primaire : démarre un cycle
 trame de poll envoyée à la station secondaire la plus
éloignée
 Si données à envoyer au primaire

envoie des données à la station primaire

envoie une trame de poll à la station secondaire suivante
 Dans le cas contraire

envoie la trame de poll à la station secondaire suivante

dernière station envoie une trame de poll au primaire
 démarre un nouveau cycle.
Allocation de Jeton

Trame spéciale : Jeton
 Faire circuler sur le réseau

Le jeton autorise à émettre
 Seule la station qui a le jeton peut
émettre
Anneau à Jeton - 802.5
• Gestion du jeton
– émission d’un jeton (premier ordinateur)
– circulation du jeton (jeton libre)
– un site s’empare du jeton
• émission des trames de données (jeton occupé)
• réception du jeton, copie de la trame, modification de l'état
• retour de la trame, destruction de celle-ci
– circulation du jeton
• Administration : contrôleur de réseau
– administration par la première machine
– gestion des pannes en fonction du passage des informations
• perte de jeton
• passage successif de trames de données
– unicité du jeton
– vérification des adresses
Token Ring IBM
• Caractéristiques
– débit : 4 ou 16 Mbits/s
– stations
• câble à paire torsadées blindées : 250
• câble à paire torsadées non blindées : 70
– topologie : étoile
– medium : paire torsadée
– signalisation : bande de base
– codage : Manchester différentiel
Token Ring IEEE (802.5)
• Caractéristiques
– débit : 4 ou 16 Mbits/s
– Stations : 250
– topologie : non spécifié
– medium : non spécifié
– signalisation : bande de base
– codage : Manchester différentiel
Trame Token Ring
• En-tête
– délimiteur de début de trame
– contrôle d’accès de priorité (jeton ou trame)
– contrôle de trame
– adresse du destinataire
– adresse de l’émetteur
• Données
• Queue
– Séquence de contrôle de trame (CRC)
– délimiteur de fin de trame
– état de la trame (reconnue, copiée, adresse indisponible ...)
FDDI
• Utilisation de deux anneaux
en fibre optique
– 100 Mbps
• Avantages
– Réduction du temps de
propagation
– Possibilité de reconfiguration
en cas de panne (anneau
unique)
• Inconvénients
– Prix
Bus à Jeton - 802.4

Topologies physiques en bus

Proposition de GM pour les réseaux
industriels

Création d'un anneau logique
 Insertion dans l'ordre de l'adresse
 Chaque station connaît son successeur

Le jeton circule dans l'anneau logique

Seul le jeton autorise à émettre
 Temps de transmission limité
Bus à Jeton : algorithme
a u tre tra m
e à é m
e ttre
e t
te m p o ri s
a ti o n n o n é c o u l é e ?
l a n c e m
e n t
te m p o ri s
a ti o n
ré c e p ti o n
j e to n ?
n o n
é m
i s s i o n
d e l a tram
e
tra n s m
i s s i o n
d u j e to n
o u i
n o n
o u i
s
é l e c ti o n
tra m
e s u i v
a n te
fi n
tra m
e à ém
e ttre
HDLC et PPP
La couche Liaison de Données et
l'Internet
• Ethernet est une technologie pour les LAN
– Réseau uniforme, peu de variation
• Comment offrir des fonctionnalités de haut
niveau ?
– gestion des connexions (login, facturation, etc)
– négociation de paramètres (vitesse, etc)
Contrôle des liens Point-à-Point
• Dans un lien point-à-point tout est plus simple :
• Aucun partage du canal à gérer
• Aucun besoin d'adressage
• Ex. : connexion téléphonique (modem), ligne dédiée
• Deux protocoles populaires :
• PPP (Point-to-Point Protocol)
• HDLC (High-level Data Link Control)
– Utilisé aussi dans les liens multi-point
• Ces protocoles sont souvent encapsulés dans
Ethernet (ou ATM) afin d'offrir les fonctionnalités
manquantes
– Ex. : PPPoE (lignes ADSL), PPPoA (certains FAI)
HDLC over Ethernet
High-Level Data Link Control (HDLC)
• HDLC a été défini par ISO afin d'être utilisé dans
les liens point-à-point et point-à-multipoint
• Caractéristiques de HDLC
– Livraison fiable – rejet selectif ou go-back-N
– Communication full-duplex
– Contrôle de flux
• Ajustement des fenêtres selon la capacité du récepteur
– Utilisation de horloges physiques afin de synchroniser
l'envoi des trames
– Orienté connexion ou pas
HDLC
• Trois types de station :
– Primaire
• Est responsable pour le contrôle du flux d'informations
• Responsable aussi par la synchronisation ('ticks' d'horloge)
• Gère la récupération d'erreurs
• Les trames envoyées par le primaire sont les commandes
– Secondaire
• Agit sous contrôle du primaire
• Les trames envoyés sont appelées réponses
• Le primaire entretient un lien logique séparé pour chaque
secondaire
– Station combinée
• Agit à la fois en tant que primaire et secondaire
• Peut envoyer les données de façon indépendante
HDLC
Primaire
Secondaire Secondaire
Commandes
Réponses
Combinée Combinée
Commandes/Réponses
Mode déséquilibré
Mode équilibré
HDLC
• Trois modes de transfert de données
– Normal Response Mode (NRM)
• Utilisé notamment dans les "terminaux" des mainframes.
• Dans ce cas, les secondaires (terminaux) ne peuvent transmettre
que lorsque une instruction du primaire demande une réponse
• Configuration déséquilibrée, bonne pour les réseaux multi-point
– Asynchronous Response Mode (ARM)
• Presque identique au mode NRM mais les secondaires peuvent
démarrer une communication sans être demandés
• Diminue le trafic car on n'a plus besoin d'un message pour autoriser
le secondaire à transmettre
• Les transmissions on lieu lorsque le canal est libre, très utilisé dans
les liens point-à-point
– Asynchronous Balanced Mode (ABM)
• Mode utilisé dans les liens point-à-point pour relier des stations
combinées
Trame HDLC
• 8 bits : fanion de début
– délimiteur pour la synchronisation
• 8 bits : adresse
– adresse du destinataire en mode maître / esclave
• 8 bits : commande
– détermination du type de trame
• données brutes (pas forcément
multiple de 8)
• 16/32 bits : FCS (contrôle)
• 8 bits : fanion de fin
Trois types de Trames
• Trois types de trames
• trames I : données
• trames F : supervision
– RR : prêt à recevoir
– RNR : récepteur ou réseau débordé
– REJ : demande de retransmission d’un ensemble de trames
– SREJ : demande de retransmission d’une trame
• trames U : non numérotées (supervision de liaison)
– SABM : demande de connexion
– DISC : libération de connexion
– UA : acquittement de trame
– FRMR : rejet de trame
Modes de Fonctionnement
• Best-Effort
– pas de garantie de livraison de tous les
paquets
– contrôle de livraison pris en charge par la
couche réseau
• Balanced
– mécanisme matériels pour la fiabilité des
transmissions
PPP [RFC 1557]
Fonctionnalités :
similaires à celles des services de couche liaison de
données + des fonctions de gestion supplémentaires
• État d'une connexion : détecte une faille de
connexion et la signale à la couche réseau
• Négociation des adresses de la couche réseau : les
machines peuvent négocier et configurer leurs
paramètres
• Authentification : qui êtes vous ? (ou au moins qui
paye pour la connexion ?)
• Gestion du réseau : détection de boucles
Choses que PPP ne fait pas
• Correction d'erreurs
• Contrôle de flux
• Livraison ordonnée
La correction d'erreurs, le contrôle de flux et la livraison ordonnée
sont des opérations laissées aux couches supérieures
Une trame PPP
• Flag : délimiteur de la trame
• Address : ignoré
• Control : ignoré
• Protocol : protocole de couche supérieur auquel
le paquet sera livré (PPP-LCP, IP, IPCP, etc.)
Une trame PPP
• Info : données de la couche supérieure
• Check : CRC pour la détection d'erreurs
L'architecture de PPP
PPP et la couche 2
Il se décompose en 2 sous-protocoles
Link Control Protocol (LCP)
Etablir, configurer et tester la connexion
Network Control Protocol (NCP)
Peut gérer plusieurs protocoles de
couche 3
Le sous-protocole LCP
Le sous-protocole LCP : ses
options
Le sous-protocole LCP
Permet d'avoir des options supplémentaires
Authentification
PAP (Password Authentication Protocol)
authentification en clair
CHAP (Challenge Handshake Authentication Protocol)
authentification par challenge
Compression
Détection d'erreur
Multilink : une alternative pour faire de l'équilibrage de charge sur
les interfaces du routeurs utilisant PPP
PAP
CHAP
Les phases de l'authentification
Le sous-protocole NCP
PPP permet d'encapsuler de multiples protocoles
de couche 3 sur le même lien de communication
Pour chaque protocole de couche 3, NCP est
utilisé
IP utilise IP Control Protocol (IPCP)
Internetwork Packet Exchange (IPX) utilise Novell IPX
Control Protocol (IPXCP)
NCP fourni des champs fonctionnels pour
indiquer quel protocole de couche supérieure est
encapsulée
Etablissement d'une session PPP
Etablissement d'une connexion
PPP
LCP est utilisé pour établir la connexion
3 catégories de trames LCP existent
Link-establishment frames -> établir et configurer la connexion
Link-termination frames pour terminer la connexion
Link-maintenance frames pour gérer et débugger la connexion
La connexion se fait suivant les phases suivantes :
Link-establishment phase : envoie par chaque device PPP des
trames LCP pour configurer et tester le lien de communication.
Possibilité de négocier la MTU, la compression et l'authentification
Phase d'authentification (optionnel)
Network layer protocol phase : utilisation du sous-protocole NCP
pour choisir et configurer les protocoles de la couche supérieur

Introduction aux réseaux informatiques - présentation couche MAC/LLC

  • 1.
  • 2.
    Couche liaison: Introduction Terminologie: •Hôtes et routeurs = noeuds • Les canaux de communication entre noeuds adjacents = liens – Avec fils – Sans fil – LANs • Le “paquet” s’appelle trame, contient les datagrammes de la couche réseau (+1) “lien” La couche de liaison de données doit transférer les datagrammes d’un noeud à l’autre sur les liens
  • 3.
    Couche liaison :contexte • Datagrammes transférés par les protocoles de liaison sur les liens – Ex : Ethernet sur le premier lien, frame relay sur liens intermédiaires, 802.11 sur dernier lien • Chaque protocole de la couche liaison donne des services différents Analogie: transport • Voyage de Reims à Les 2 Alpes – Voiture : Maison à gare de Reims – TGV : Reims à Paris + Paris-Grenoble – Bus : Grenoble à Les 2 Alpes • touriste = datagramme • segment de transport = lien de communication • Moyen de transportation = protocol de la couche liaison • Agent de voyage = algorithme de routage
  • 4.
    Communication entre adapteurs •La couche liaison est implémentée dans la carte réseau: – Ethernet card, PCMCIA, 802.11. • émetteur: – “emballe” le datagramme dans une trame – Ajoute les bits pour détection d’erreur, contrôle de flux, etc. • récepteur – Vérifie les erreurs, le contrôle de flux, etc – Extrait le datagramme, transmet au noeud récepteur • L’adapteur est semi-autonome • Couches liaison et physique Noeud émetteur trame Noeud récepteur Datagramme(reçu de IP) trame adapter adapter Protocol de liaison
  • 5.
    Sous-couches de lacouche liaison • La couche MAC – Media Access Control – transmission vers le bas (couche physique, medium de communication) • La couche LLC – Logical Link Control – transmission vers le haut (couche réseau)
  • 6.
  • 7.
    Services de lasous-couche MAC • Gestion des trames – reconnaissance des début et fin de trame reçues – délimiter les trames émises • Gestion des erreurs de transmission – calcul et ajout des éléments de contrôle aux trames émises – vérification des éléments de contrôle des trames reçues • Gestion des valeurs des adresses MAC – ajout de l’adresse MAC aux trames émises – contrôle des adresses MAC des trames reçues • Contrôle de l’accès au medium physique (cas des media partagés)
  • 8.
    Services de lasous-couche LLC • Proposition de spécification dans la norme IEEE 802.2 – Sous-couche commune à tous les protocoles IEEE 802.x • Possibilité d’effectuer une liaison fiable entre 2 nœuds adjacents – Acquittement, retransmission • En plus du service de fiabilité de la couche transport • Peu nécessaire sur liens fiables (fibre, paires torsadées) • Lien sans fil: haut taux d’erreurs – Contrôle de flux
  • 9.
    Detection d’erreurs EDC =Bits de Correction et Detection d’Erreurs (redondance) D = Données “protégées” par la détection d’erreurs (utile + entête) • pas fiable à 100%! • le protocoles peuvent laisser des erreurs • Un champ EDC plus grand  meilleure fiabilité
  • 10.
    Parité Bit de parité: Détecteune seule erreur Parité à 2 dimensions: Détecte et corrige une erreur seule 0 0 0 = « somme » paire 1= « somme » impaire
  • 11.
    Checksum Internet Émetteur: • Considèrele contenu du segment comme une suite d’entiers à 16-bits • Checksum: addition de tous les entiers du segment • L’émetteur ajoute le checksum dans le champ prévu Récepteur: • Calcule le checksum du segment reçu • Compare avec le checksum reçu: – différent – erreur détectée – égal – pas d’erreur détectée. Mais est-ce sur? But: détection des erreurs (bits inversés) dans un segment transmis (note: sur couche transport TCP et UDP (16 bits))  Facile à implémenter(logiciel)
  • 12.
    Le code deHamming • Si une trame est formée de m bits de données et r bits de contrôle, le mot résultat de longueur m+r est appelé mot de code – Pour appartenir à un code, un mot doit être unique • Le nombre de bits de différence entre deux mots est appelé la distance de Hamming 10001001 XOR10110001 ------------- 00111000 = distance 3
  • 13.
    Le code deHamming • La détection (et la correction) d’erreurs dépende de la distance de Hamming – Ex : parité simple  distance 1 = détection d’une erreur • Pour détecter d erreurs, il faut une distance d+1 – Mais comment savoir quel était le mot original ? • Pour corriger d erreurs, il faut une distance 2d + 1
  • 14.
    Le code deHamming • Prenons un code – 0000000000, 0000011111, 1111100000, 1111111111 • Distance Hamming = 5 – Détection jusqu’à 4 bits d’erreur – Correction jusqu’à 2 bits d’erreur • Démonstration ?
  • 15.
    Le code deHamming • Les bits de contrôle peuvent être introduit entre les bits de données – Ex : bits 2n = bits de contrôle, les autres = données – 1001000  00110010000 – Un bit de donnée peut correspondre à plusieurs bits de contrôle : • Ex : bit de donnée 11 = 1 + 2 + 8 • Inconvénients
  • 16.
    Détection d’erreurs: CyclicRedundancy Check • Un réseau fiable peut se passer d’un code correcteur – Il est plus simple de demander la retransmission • Prend un polynôme générateur , G • but: ajouter r bits de CRC, R, pour que – L’ensemble <D,R> soit exactement divisible par G (modulo 2) – Le récepteur connait G, divise <D,R> par G. Si reste != 0: erreur détectée – Détecte les suites d’erreurs jusqu’à r+1 bits • Très utilisé en pratique
  • 17.
    Détection d’erreurs: CyclicRedundancy Check • Générateur – G(x) = x4 + x + 1 • Autres exemples de polynômes générateurs – HDLC (OSI) – x64 +x4 +x3 +x+1 – GSM – x40 +x26 +x23 +x17 +x3 +1 – IEEE 802 – x32 +x26 +x23 +x22 +x16 +x12 +x11 +x10 +x8 +x7 +x5 +x4 +x2 +x1 +1
  • 18.
    Protocoles de Liaisonde Données • Lors de la transmission de trames, trois grands problèmes se posent – Comment gérer le flux des données – Comment être sûr de la réception d’une trame – Comment faire si le réseau est partagé
  • 19.
    Contrôle de Flux •Le contrôle de flux est nécessaire pour ne pas surcharger le récepteur – Mémoire insuffisante – Capacité de traitement insuffisante • Approche 1 – Utiliser deux canaux de réception • Un canal pour les données • Un canal pour l’acquittement  Problème : la bande passante du canal d’acquittement est gaspillée
  • 20.
    Contrôle de Flux •Approche 2 – Même circuit pour les deux types de message – Comment séparer les messages de données et de contrôle ? – Utilisation d’un champ « type » • Approche 3 – Attacher les acquittements aux messages de données  Piggybacking
  • 21.
    Piggybacking • Principe :retarder l’acquittement d’un message afin d’utiliser le prochain message de données – L’acquittement représente une charge petite • Avantage : meilleure utilisation du réseau • Complication : – Combien faut-il espérer pour un acquittement ? – Si le timeout expire l’émetteur doit retransmettre le message  risque d’une retransmission inutile
  • 22.
    Piggybacking • Solution mixte –Si un paquet doit partir rapidement • piggybacking – Si aucun paquet arrive après un certain temps • Envoi d’une trame d’acquittement séparée
  • 23.
    Protocoles à Fenêtres Glissantes •Nous allons étudier trois protocoles de contrôle de flux à fenêtre glissante (sliding window) – Protocole à fenêtre de 1 bit – Go back N – Retransmission sélective • Diffèrent en efficacité, complexité et besoins en mémoire
  • 24.
    Sliding Window Générique •Chaque trame contient un numéro de séquence de n bits – Valeurs : 0 - MAX_SEQ (MAX_SEQ = 2n - 1) – Pour les protocoles de type arrêt et attente (stop- and-wait), n = _____ ? Pourquoi ? • À tout moment – L’émetteur garde une liste des numéros de séquence avec permission d’envoi • Ces trames rentrent dans la fenêtre glissante – Le récepteur garde une liste de numéros de séquence avec permission d’acceptation • Ces trames rentrent dans la fenêtre glissante
  • 25.
    Sliding Window Générique •Les limites inférieure, supérieure et la taille des fenêtres peut différer – Il est possible d’avoir des tailles variables • Conditions – Les paquets transmis doivent respecter l’ordre dans lequel les paquets ont été déposés dans la couche 2 de la machine – Les trames doivent être livrées par le réseau physique dans l’ordre qu’ils ont été envoyés par la couche 2 (FIFO)
  • 26.
    Fenêtre d’Envoi • Contientdes trames qui ont été envoyées ou qui peuvent être envoyées – Ces trames n’ont pas encore été acquittées • Lorsqu’un paquet arrive de la couche Réseau – Le prochain numéro de séquence est attribué – L’entête de la fenêtre avance d’une unité • Lorsqu’un acquittement arrive – La queue de la fenêtre avance d’une unité
  • 27.
    Fenêtre d’Envoi • Sila taille maximale de la fenêtre est de n, il faut un buffer de n unités pour stocker les trames non acquittées • Si la fenêtre est pleine – On « arrête » la couche Réseau
  • 28.
    Fenêtre de Réception •Contient les trames qui peuvent être acceptées • Les trames qui dépassent la fenêtre sont supprimées • Lorsqu’une trame contient un numéro de séquence qui correspond à la fenêtre – Transmise à la couche réseau – Un acquittement est crée – La fenêtre glisse d’une unité
  • 29.
    Une fenêtre detaille 1, avec un numéro de séquence de 3 bits (a) Au départ (b) Après l’envoi de la première trame (c) Après la réception de la première trame (d) Après la réception du acquittement de la première trame
  • 31.
    Arrêt et Attente •Fenêtre d’émission = fenêtre de réception = 1 • Acquittement = numéro de séquence de la dernière trame reçue sans erreur
  • 32.
    Arrêt et Attente Cas1 : sans erreur A B Time (0,1,A0) (0,0,B0) Cas 2 : perte de données A B Time X Timeout (1,0,A1) (1,1,B1) (0,1,A2) (0,0,B2) (0,1,A0) (0,1,A0) (0,0,B0) * * * * * * * * Exp=0 Exp=1 Exp=0 Exp=1 Exp=0 Exp=1 Exp=0 Exp=0 Exp=1 Exp=0 Exp=1
  • 33.
    Arrêt et Attente Cas4 : acq. perdu A B Time X Timeout Cas 3 : erreur dans la donnée A B Time Erreur Timeout (0,1,A0) (0,1,A0) (0,0,B0) (0,1,A0) (0,1,A0) (0,0,B0) (0,0,B0) Dupliqué * * * * Exp=0 Exp=1 Exp=0 Exp=0 Exp=0 Exp=1 Exp=1 Exp=1
  • 34.
    Arrêt et Attente Timeoutde sortie A B Time Timeout Timeout d’entrée A B Time Timeout (0,1,A0) (0,1,A0) (0,0,B0) 0,1,A0 1,1,A1 0,1,B0 dupliqué (0,0,B0) (1,0,A1) dupliqué (1,1,B1) ACK 0 Exp=0 Exp=0 Exp=0 Exp=0 Exp=0 * * Exp=1 Exp=1 * Exp=1 * Exp=1 * Exp=0 * Exp=0 *
  • 35.
    Performance des protocoles Arrêtet Attente • Ce protocole marche si le temps de transmission et négligeable – Si le temps est long… • Exemple – communication par satellite – Capacité du canal : 50 kbps, taille des trames : 1kb temps d’aller-retour : 500 msec – Time:t=0 début de la transmission du 1er bit t=20 msec trame envoyée t=270 msec trame reçue t=520 msec meilleur cas de ack reçu – L’émetteur est bloqué pendant 500/520 msec • = 96% du temps • Utilisation de la bande passante = 20/520 = 4% t 0 20 270 520
  • 36.
    • Solution :Pipelining (enchaînement) – Permettre w trames d’être envoyées avant le blocage • Dans l’exemple précédent, pour avoir 100% d’utilisation – w = __, taille maximale de la fenêtre = __ – Numéro de séquence = __ bits • Problèmes : si le réseau perd des trames (erreurs) • Solutions – Protocole « Go back n » – Protocole à rejet sélectif – Acquittement cumulatif Ack n = trames n,n-1,n-2,… ont été bien reçues Performance des protocoles Arrêt et Attente
  • 37.
    Protocole Go Backn • Si une trame manque, le récepteur envoie l’acquittement de la dernière trame bien reçue et ignore toute nouvelle trame • Fenêtre de réception = 1 (toute trame doit être reçue dans l’ordre d’envoi) • La fenêtre d’émission peut se remplir – Dans ce cas, retransmission des trames non acquittées • Gaspillage de la bande passante si le taux d’erreurs est grand
  • 38.
  • 39.
    1 2 Go Back n– opération normale
  • 40.
    1 2 Go Back n– trame perdue
  • 41.
    Protocole Go Backn • Quelle est la taille maximale de la fenêtre d’envoi ? • Taille max = MAX_SEQ, non MAX_SEQ+1 – Avec un numéro de séquence de n-bits MAX_SEQ = 2n – 1, Taille max de fenêtre = 2n - 1 – Pour une fenêtre de 3 bits, MAX_SEQ = 7, alors taille de fenêtre = 7 • Pourquoi pas 8 ?
  • 42.
    Protocole Go Backn • Si on suppose une taille = MAX_SEQ+1 = 8 – L’émetteur envoie les trames 0 à 7 – Un ack cumulé « 7 » arrive – L’émetteur envoie les prochaines trames avec numéros de séquence 0 à 7 – Encore un ack « 7 » arrive – Question : • Est-ce que cet ack correspond à la première « rafale » ? Est-ce pour la deuxième ? – Si on garde taille = MAX_SEQ, on « force » un décalage qui évite l’ambigüité
  • 43.
  • 44.
    Implémentation du GoBack n • L’émetteur doit stocker les trames non acquittées • Ack n indique que les trames n,n-1,n- 2, ... ont été bien reçues et que les buffers peuvent être libérés • Chaque trame sortant de la fenêtre d’envoi a un timer associé – retransmission en cas de non-acquittement
  • 45.
    Protocole à RejetSélectif • Le récepteur stocke toutes les trames "correctes" après une trame "incorrecte" • L'émetteur retransmet les trames incorrectes lorsqu'il a détecté un problème • Fenêtre de réception > 1 – Toute trame est reçue et stockée en attente d'être transmise à la couche réseau dans l'ordre • Nécessite beaucoup de mémoire
  • 46.
    Acquittement Négatif (NAK) •Le protocole à rejet sélectif est souvent combiné avec le NAK • Lorsqu'une erreur est soupçonnée par le récepteur, il demande une retransmission – Réception d'une trame endommagée – Réception d'une trame non attendue • Est-ce qu'on a besoin de garder une trace des NAKs envoyés ? • Et si les NAKs sont perdus ?
  • 47.
  • 48.
  • 49.
    • Le récepteura un buffer pour chaque trame dans la fenêtre de réception • Chaque buffer a un bit "arrivé" • Si une trame arrivée correspond à la plage de numéros de séquence de la fenêtre – Acceptée et stockée • Quel sera la taille maximale de la fenêtre ? – Peut-elle être MAX_SEQ ? Implémentation du Rejet Sélectif
  • 50.
    Rejet Sélectif –taille de fenêtre (a) Situation initiale avec une fenêtre de taille 7 (b) Après 7 trames envoyées et reçues, mais pas acquittées (c) Situation initiale avec une fenêtre de taille 4 (d) Après 4 trames envoyées et reçues, mais pas acquittées On suppose un numéro de séquence de 3 bits et une fenêtre = MAX_SEQ = 7
  • 51.
    0 0 1 Rejet Sélectif– taille de fenêtre
  • 52.
    Rejet Sélectif –taille de fenêtre • Le problème est causé par la superposition des anciennes et nouvelles fenêtres • Solution – Taille de la fenêtre = (MAX_SEQ+1)/2 – Ex : pour une fenêtre de 4 bits, MAX_SEQ = 15 taille de fenêtre = (15+1)/2 = 8 • Le nombre de buffers nécessaire = taille de la fenêtre
  • 53.
    Temporisateur d'Acquittement • Problème –Si le trafic en sens contraire est trop léger ? • Aucun acquittement pourra profiter des piggyback – Solution • Temporisateur d'Acquittement • Si aucune émission est faite jusqu'au timeout, alors envoie un ack séparé • Essentiel : le timeout ack < timeout de la trame – Pourquoi ?
  • 54.
    Protocoles pour AccèsPartagé • Supposons un canal de transmission d, avec accès partagé • Deux transmissions ou + en même temps  interférence – Il y a collision si les nœuds reçoivent 2 signaux (ou +) en même temps Protocole pour accès multiples • Algorithme “distribué” pour déterminer les règles de partage : priorisation • On ne dispose que d'un seul canal – l’arbitrage se fait sur ce canal !
  • 55.
    Protocoles pour AccèsMultiples Ideal Canal de diffusion à R bps 1. Si un seul nœud transmet, il le fait à R bps 2. Si M nœuds transmettent, ils le font à R/M bps 3. Entièrement décentralisé : – Pas de “coordinateur” – Pas de clock de synchro – Pas de “slots” 4. Simple 5. Équitable Faisable ?
  • 56.
    Protocoles MAC 3 modèlesde diffusion: • Partition du canal – Division du canal en “morceaux” (time slots, fréquence, code) – Allocation des “morceaux” aux nœuds • Accès aléatoire (Random Access) – Pas de division, collisions possibles – Récupère après les collisions • Accès déterministe – Les nœuds parlent chacun à son tour – Les nœuds qui ont plus de données ont des tours plus longs
  • 57.
    Gestion du Partage •Statique – FDMA - Frequency Division Multiplexing – TDMA - Time Division Multiplexing • Dynamique – ALOHA – Carrier Sense Multiple Access (CSMA) – Protocoles sans collision (déterministes)
  • 58.
    Partition du CanalMAC : TDMA TDMA : time division multiple access • Accès au canal en “tour de parole" • Chaque station possède une tranche égale • Les créneaux inutilisés sont perdues – Nécessité de synchronisation • Exemple : réseau avec 6 stations – 1,3,4 ont des paquets à transmettre – Les créneaux 2,5,6 restent inutilisés
  • 59.
    Partition du CanalMAC : FDMA FDMA : frequency division multiple access • Le spectre disponible est divisé en bandes • Chaque station “possède” une bande – Besoin d'un espacement – gaspillage de bandes passantes • Exemple : réseau avec 6 stations, – 1,3,4 ont des paquets à transmettre – Les bandes 2,5,6 restent inutilisés Bandes de fréquence temps
  • 60.
    Protocoles d’Accès Aléatoire (RandomAccess) • Quand le noeud à un paquet à transmettre – Il transmet à taux max R bps – Aucune coordination préalable • 2 nœuds ou + transmettent  “collision” • Le protocole d’accès aléatoire MAC détermine : – Comment détecter les collisions – Comment récupérer les données après les collisions • ex: retransmissions • Exemples de protocoles MAC pour accès aléatoire – ALOHA – slotted ALOHA – CSMA, CSMA/CD, CSMA/CA
  • 61.
    ALOHA • Aloha estla base de tous les protocoles non- déterministes • Le protocole Aloha a été conçu par l'Université de Hawaii afin de relier les campus avec des transmetteurs radio • Le protocole Aloha s'applique sur tout type de support partagé – Un nombre de stations partagent le medium – Deux ou plus veulent communiquer au même temps, causant des collisions
  • 62.
    Le protocole ALOHA •Émetteur – Lorsque une trame arrive, procède à l'envoi – La station écoute le réseau un certain temps – Si un ACK est reçu, ok. Sinon, retransmet la trame après un temps aléatoire – Si aucun ACK après un certain nombre de tentatives, laisse tomber – Le checksum est utilisé pour détecter les erreurs • Récepteur – Si la trame est OK et l'adresse correspond à l'émetteur, envoie un ACK – Sinon, ignore la trame (ne fait rien) • Une trame peut être endommagée par le bruit ou par une transmission simultanée (collision)
  • 63.
    ALOHA : envoiedes trames
  • 64.
    ALOHA : périodede vulnérabilité
  • 65.
  • 66.
    ALOHA • Quand lenœud reçoit une nouvelle trame à transmettre, il la transmet immédiatement • La probabilité de collision augmente avec le nombre de nœuds • L’efficacité devient environ 18% • Autres problèmes (pour la radio) – Aucune borne de transmission – Problème de l'antenne cachée
  • 67.
    Slotted ALOHA(“en tranches”) Postulat •Les trames sont de même taille • Le temps est divisé en tranches (= temps d’une trame) • Les nœuds commencent à transmettre au début des tranches • Les nœuds sont synchronisés • Si 2 nœuds ou + transmettent en même temps, tous détectent la collision Fonctionnement • Quand le nœud reçoit des données à transmettre, il le fait dans la prochaine tranche • Si pas de collision, le nœud continue à transmettre dans les tranches suivantes • Si collision, le nœud retransmet dans la tranche suivante
  • 68.
    Slotted ALOHA Pour • S’ily a un seul nœud actif, il profite de tout le débit • Complètement décentralisé • Simple Contre • collisions, tranches gaspillées • Tranches vides • Les nœuds doivent détecter rapidement les collisions • Besoin de synchronisation pour les tranches
  • 69.
    Slotted ALOHA • Commele temps est organisé en fonction de la taille des trames – Les nœuds doivent être synchronisés • Les transmissions commencent uniquement au début d'une période – Conséquence : une partie des trames rate le créneau ou recouvre d'autres trames • L'utilisation maximale du canal est de 37%
  • 70.
  • 71.
    CSMA • Pourquoi ALOHAet slotted ALOHA sont si peu performants ? – Les stations ne vérifient pas l'état du canal. Elles juste envoient les trames, ce qui cause des collisions si le canal n'est pas libre • Il est simple de les faire écouter le canal • CSMA : Carrier Sense Multiple Access – Les stations écoutent le canal préalablement (carrier sense) – Ainsi, une station “sait” si le canal est libre ou pas – Les transmissions ne sont faites que si le canal est libre – Les collisions deviennent bien plus rares • Uniquement si deux ou plusieurs nœuds essayent d'envoyer des trames au même temps
  • 72.
    CSMA – lescontraintes • Le secret du CSMA est d'avoir un temps borné de propagation – Simple dans un réseau câblé – Moins évident dans un réseau radio • Dans une LAN traditionnelle, le temps de propagation sur le câble est inférieur à celui de l'envoi d'une trame – Attention : ceci n'est plus vrai pour les réseaux Ethernet 1Gbps et 10Gbps • Grâce au "carrier sense", les stations savent presque immédiatement si le canal est libre • Et si le réseau semble libre ? – Si deux stations transmettent au même temps  collision • Pour détecter une collision, une station attend un ACK • Si aucun ACK est reçu dans un certain temps, retransmission • Et si le canal est occupé ? – Trois approches : nonpersistent CSMA, 1-persistent CSMA, et p- persistent CSMA
  • 73.
    Nonpersistent CSMA • Aprèsavoir vérifié le canal, une station : 1. Si le canal est libre, transmission ; sinon, passe à l'étape 2 2. Si le canal est occupé, attendre un temps aléatoire (probabiliste) et recommence l'étape 1 • L'utilisation de délais aléatoires réduit la possibilité de collision – Efficace si deux stations essayent d'envoyer alors que le canal est occupé • Inconvénient : – Perte d'efficacité car il est probable que le canal soit libre après la fin de la transmission en cours, même si d'autres stations sont en attente
  • 74.
    1-persistent CSMA • Pouréviter le gaspillage du canal, un protocole 1- persistent peut être utilisé • Après avoir vérifié le canal, une station : 1. Si le canal est libre, transmission ; sinon, passe à l'étape 2 2. Si le canal est occupé, continue à écouter jusqu'à ce que le canal se libère ; alors transmettre immédiatement • Les stations 1-persistent sont "avares" • Inconvénient : – Si deux stations ou plus sont dans l'attente, les collisions sont garanties
  • 75.
    p-persistent CSMA • p-persistentCSMA est un compromis, qui évite les collisions comme dans le cas du CSMA nonpersistent au même temps que réduit l'attente, comme le 1- persistent • Règles : 1. Si le canal est libre, transmet avec une probabilité p ou attend une unité de temps avec une probabilité (1 – p) • L'unité de temps est généralement le temps maximum de propagation 2. Si le canal est occupé, continue à écouter et passe alors à l'étape 1 3. Si la transmission a été mise en attente, passe à l'étape 1 • LA question : – Comment choisir une bonne valeur de p ?
  • 76.
    Valeur de p? • So on considère que n stations sont en attente de transmission • À la fin de la transmission, le nombre attendu de stations en attente est le nombre de stations prêtes (n) multiplié par la probabilité de transmission (p), ce qui donne : np • Si np > 1, il est fort probable qu'une collision aura lieu – Des tentatives de retransmission ne feront qu'augmenter la probabilité – Les tentatives entrent en compétition avec les nouvelles trames – Tôt ou tard, toute station veut transmettre • Des collisions en continu ; aucun débit utile • Ainsi np doit être inférieur à 1 si on attend un pic de n stations • Inconvénient de la méthode p-persistent : – Si une charge lourde est attendue, p doit être très petit. – Cependant, si p est trop petit, les stations doivent attendre beaucoup.
  • 77.
    CSMA/CD: CSMA with CollisionDetection • Le problème du CSMA : – Une collision bloque le canal pendant la durée de transmission d'une trame, ce qui n'est pas bon si les trames sont longues • Collision Detection : – Les stations écoutent le canal pendant la transmission. Si une collision est détectée, l'envoi est arrêté immédiatement • Règles du CSMA/CD: 1. Si le canal est libre, transmettre ; sinon, aller à l'étape 2 2. Si le canal est occupé, continue à écouter jusqu'à ce que le canal se libère ; alors transmettre immédiatement 3. Si une collision est détectée pendant la transmission, émettre un bref signal de brouillage (jamming) pour prévenir les autres stations de la collision et alors arrête la transmissions 4. Après avoir transmis le signal de brouillage, attendre une durée aléatoire (le backoff) et recommencer à l'étape 1
  • 78.
    Opération du CSMA/CD C détecteune collision ! A détecte une collision !
  • 79.
    Détection de laCollision • Le temps nécessaire pour détecter une collision n'est jamais supérieur à 2x le temps de propagation sur le canal. • Les trames doivent être suffisamment longues pour permettre le détection de la collision avant la fin de la transmissions. Si des trames plus petites sont utilisées, la détection pourra ne pas être faite. • Dans les réseaux Ethernet 10 et 100Mbps, une trame doit avoir au moins 512 bits, utilisant du rembourage (padding) • Dans les réseaux Ethernet 1Gbps, la taille d'une trame est au moins 4096 bits, utilisant une extension de la trame
  • 80.
    80 Exponential Backoff • Afinde déterminer le temps d'attente, Ethernet utilise le Exponential Backoff – Tant qu'il y a des collisions, une station essaye encore de retransmettre – Lors des premières 10 tentatives, la valeur de l'attente est doublé à chaque fois – Ensuite, le temps d'attente reste identique pour encore 6 tentatives – Si 16 tentatives ne suffisent pas, une erreur est déclarée et l'envoi arrêté • Lorsque les collisions augmentent, les stations sont dispersées grâce à cet algorithme • L'algorithme 1-persistent avec le exponential backoff est efficace sous différentes charges – Si la charge est petite, l'algorithme 1-persistence permet à une station de transmettre aussitôt le canal est libre – Si la charge est lourde, le backoff donne des garanties similaires aux autres techniques • Problème : – Les stations qui ont subi un grand nombre de collisions ont encore moins de chance de transmettre que celles qui viennent d'arriver
  • 81.
    Protocoles Dynamiques Déterministes Protocoles departitionnement statique du canal – Efficaces si la charge est élevée – Inefficaces si la charge est petite : si un seul nœud transmet, 1/N de la bande passante est utilisé Protocoles d'accès aléatoire – Efficaces si la charge est petite: un seul nœud peut utiliser tout le canal – Des collisions si la charge est trop élevée Protocoles dynamiques déterministes – Recherche d'un compromis entre les deux
  • 82.
    Politiques d'accès dynamiques àallocation deterministes  Allouer de la BP aux utilisateurs qui en ont besoin  Connaître les besoins des utilisateurs  "Intelligence" centralisée ou répartie  Allocation sélective ou polling  Roll-call polling (centralisé)  Hub polling (répartie)  Allocation de Jeton
  • 83.
    Allocation sélective oupolling  Consulter les compétiteurs  les inviter à émettre à tour de rôle  Site maître (station centrale)  Interroge séquentiellement chaque station  Si elle a des trames à émettre  La trame est transmise au maître  Le maître interroge le destinataire (prêt à recevoir ?)  Roll-call polling (centralisé) ou Hub polling (répartie)
  • 84.
    Roll-call polling  station primaire interroge successivement chacune des stations secondaires  envoie d'une trame de poll (enquête)  station interrogée  répond par une trame  acquittement négatif si rien à envoyer  données dans le cas contraire
  • 85.
    Hub polling  Station primaire: démarre un cycle  trame de poll envoyée à la station secondaire la plus éloignée  Si données à envoyer au primaire  envoie des données à la station primaire  envoie une trame de poll à la station secondaire suivante  Dans le cas contraire  envoie la trame de poll à la station secondaire suivante  dernière station envoie une trame de poll au primaire  démarre un nouveau cycle.
  • 86.
    Allocation de Jeton  Tramespéciale : Jeton  Faire circuler sur le réseau  Le jeton autorise à émettre  Seule la station qui a le jeton peut émettre
  • 87.
    Anneau à Jeton- 802.5 • Gestion du jeton – émission d’un jeton (premier ordinateur) – circulation du jeton (jeton libre) – un site s’empare du jeton • émission des trames de données (jeton occupé) • réception du jeton, copie de la trame, modification de l'état • retour de la trame, destruction de celle-ci – circulation du jeton • Administration : contrôleur de réseau – administration par la première machine – gestion des pannes en fonction du passage des informations • perte de jeton • passage successif de trames de données – unicité du jeton – vérification des adresses
  • 88.
    Token Ring IBM •Caractéristiques – débit : 4 ou 16 Mbits/s – stations • câble à paire torsadées blindées : 250 • câble à paire torsadées non blindées : 70 – topologie : étoile – medium : paire torsadée – signalisation : bande de base – codage : Manchester différentiel
  • 89.
    Token Ring IEEE(802.5) • Caractéristiques – débit : 4 ou 16 Mbits/s – Stations : 250 – topologie : non spécifié – medium : non spécifié – signalisation : bande de base – codage : Manchester différentiel
  • 90.
    Trame Token Ring •En-tête – délimiteur de début de trame – contrôle d’accès de priorité (jeton ou trame) – contrôle de trame – adresse du destinataire – adresse de l’émetteur • Données • Queue – Séquence de contrôle de trame (CRC) – délimiteur de fin de trame – état de la trame (reconnue, copiée, adresse indisponible ...)
  • 91.
    FDDI • Utilisation dedeux anneaux en fibre optique – 100 Mbps • Avantages – Réduction du temps de propagation – Possibilité de reconfiguration en cas de panne (anneau unique) • Inconvénients – Prix
  • 92.
    Bus à Jeton- 802.4  Topologies physiques en bus  Proposition de GM pour les réseaux industriels  Création d'un anneau logique  Insertion dans l'ordre de l'adresse  Chaque station connaît son successeur  Le jeton circule dans l'anneau logique  Seul le jeton autorise à émettre  Temps de transmission limité
  • 93.
    Bus à Jeton: algorithme a u tre tra m e à é m e ttre e t te m p o ri s a ti o n n o n é c o u l é e ? l a n c e m e n t te m p o ri s a ti o n ré c e p ti o n j e to n ? n o n é m i s s i o n d e l a tram e tra n s m i s s i o n d u j e to n o u i n o n o u i s é l e c ti o n tra m e s u i v a n te fi n tra m e à ém e ttre
  • 94.
  • 95.
    La couche Liaisonde Données et l'Internet • Ethernet est une technologie pour les LAN – Réseau uniforme, peu de variation • Comment offrir des fonctionnalités de haut niveau ? – gestion des connexions (login, facturation, etc) – négociation de paramètres (vitesse, etc)
  • 96.
    Contrôle des liensPoint-à-Point • Dans un lien point-à-point tout est plus simple : • Aucun partage du canal à gérer • Aucun besoin d'adressage • Ex. : connexion téléphonique (modem), ligne dédiée • Deux protocoles populaires : • PPP (Point-to-Point Protocol) • HDLC (High-level Data Link Control) – Utilisé aussi dans les liens multi-point • Ces protocoles sont souvent encapsulés dans Ethernet (ou ATM) afin d'offrir les fonctionnalités manquantes – Ex. : PPPoE (lignes ADSL), PPPoA (certains FAI) HDLC over Ethernet
  • 97.
    High-Level Data LinkControl (HDLC) • HDLC a été défini par ISO afin d'être utilisé dans les liens point-à-point et point-à-multipoint • Caractéristiques de HDLC – Livraison fiable – rejet selectif ou go-back-N – Communication full-duplex – Contrôle de flux • Ajustement des fenêtres selon la capacité du récepteur – Utilisation de horloges physiques afin de synchroniser l'envoi des trames – Orienté connexion ou pas
  • 98.
    HDLC • Trois typesde station : – Primaire • Est responsable pour le contrôle du flux d'informations • Responsable aussi par la synchronisation ('ticks' d'horloge) • Gère la récupération d'erreurs • Les trames envoyées par le primaire sont les commandes – Secondaire • Agit sous contrôle du primaire • Les trames envoyés sont appelées réponses • Le primaire entretient un lien logique séparé pour chaque secondaire – Station combinée • Agit à la fois en tant que primaire et secondaire • Peut envoyer les données de façon indépendante
  • 99.
  • 100.
    HDLC • Trois modesde transfert de données – Normal Response Mode (NRM) • Utilisé notamment dans les "terminaux" des mainframes. • Dans ce cas, les secondaires (terminaux) ne peuvent transmettre que lorsque une instruction du primaire demande une réponse • Configuration déséquilibrée, bonne pour les réseaux multi-point – Asynchronous Response Mode (ARM) • Presque identique au mode NRM mais les secondaires peuvent démarrer une communication sans être demandés • Diminue le trafic car on n'a plus besoin d'un message pour autoriser le secondaire à transmettre • Les transmissions on lieu lorsque le canal est libre, très utilisé dans les liens point-à-point – Asynchronous Balanced Mode (ABM) • Mode utilisé dans les liens point-à-point pour relier des stations combinées
  • 101.
    Trame HDLC • 8bits : fanion de début – délimiteur pour la synchronisation • 8 bits : adresse – adresse du destinataire en mode maître / esclave • 8 bits : commande – détermination du type de trame • données brutes (pas forcément multiple de 8) • 16/32 bits : FCS (contrôle) • 8 bits : fanion de fin
  • 102.
    Trois types deTrames • Trois types de trames • trames I : données • trames F : supervision – RR : prêt à recevoir – RNR : récepteur ou réseau débordé – REJ : demande de retransmission d’un ensemble de trames – SREJ : demande de retransmission d’une trame • trames U : non numérotées (supervision de liaison) – SABM : demande de connexion – DISC : libération de connexion – UA : acquittement de trame – FRMR : rejet de trame
  • 103.
    Modes de Fonctionnement •Best-Effort – pas de garantie de livraison de tous les paquets – contrôle de livraison pris en charge par la couche réseau • Balanced – mécanisme matériels pour la fiabilité des transmissions
  • 104.
    PPP [RFC 1557] Fonctionnalités: similaires à celles des services de couche liaison de données + des fonctions de gestion supplémentaires • État d'une connexion : détecte une faille de connexion et la signale à la couche réseau • Négociation des adresses de la couche réseau : les machines peuvent négocier et configurer leurs paramètres • Authentification : qui êtes vous ? (ou au moins qui paye pour la connexion ?) • Gestion du réseau : détection de boucles
  • 105.
    Choses que PPPne fait pas • Correction d'erreurs • Contrôle de flux • Livraison ordonnée La correction d'erreurs, le contrôle de flux et la livraison ordonnée sont des opérations laissées aux couches supérieures
  • 106.
    Une trame PPP •Flag : délimiteur de la trame • Address : ignoré • Control : ignoré • Protocol : protocole de couche supérieur auquel le paquet sera livré (PPP-LCP, IP, IPCP, etc.)
  • 107.
    Une trame PPP •Info : données de la couche supérieure • Check : CRC pour la détection d'erreurs
  • 108.
  • 109.
    PPP et lacouche 2 Il se décompose en 2 sous-protocoles Link Control Protocol (LCP) Etablir, configurer et tester la connexion Network Control Protocol (NCP) Peut gérer plusieurs protocoles de couche 3
  • 110.
  • 111.
    Le sous-protocole LCP: ses options
  • 112.
    Le sous-protocole LCP Permetd'avoir des options supplémentaires Authentification PAP (Password Authentication Protocol) authentification en clair CHAP (Challenge Handshake Authentication Protocol) authentification par challenge Compression Détection d'erreur Multilink : une alternative pour faire de l'équilibrage de charge sur les interfaces du routeurs utilisant PPP
  • 113.
  • 114.
  • 115.
    Les phases del'authentification
  • 116.
    Le sous-protocole NCP PPPpermet d'encapsuler de multiples protocoles de couche 3 sur le même lien de communication Pour chaque protocole de couche 3, NCP est utilisé IP utilise IP Control Protocol (IPCP) Internetwork Packet Exchange (IPX) utilise Novell IPX Control Protocol (IPXCP) NCP fourni des champs fonctionnels pour indiquer quel protocole de couche supérieure est encapsulée
  • 117.
  • 118.
    Etablissement d'une connexion PPP LCPest utilisé pour établir la connexion 3 catégories de trames LCP existent Link-establishment frames -> établir et configurer la connexion Link-termination frames pour terminer la connexion Link-maintenance frames pour gérer et débugger la connexion La connexion se fait suivant les phases suivantes : Link-establishment phase : envoie par chaque device PPP des trames LCP pour configurer et tester le lien de communication. Possibilité de négocier la MTU, la compression et l'authentification Phase d'authentification (optionnel) Network layer protocol phase : utilisation du sous-protocole NCP pour choisir et configurer les protocoles de la couche supérieur