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)
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
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
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
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é
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 ?
• 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
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)
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%
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
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
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
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
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
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
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
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