Couche liaison
● Fiabiliser l'échange de bits en deux noeuds
● Gestion des pertes
● Gestion des altérations
● Partage de l'accès au support (collisions)
Couche liaison
● Deux sous-couches
– MAC (Medium Access Control)
● sous-couche basse
● synchronisation des accès au support physique
● matérielle
– LLC (Logical Link Control)
● sous-couche haute
● gestion des erreurs
● logicielle
Détection d'erreur
● Principe
1000111011
1000111011 110
110 E=f(M)
T
1000111011 110110
Comparaison
Détection d'erreur
● Redondance
– Duplication du message
● Bit de parité
– Ajout d'un bit qui vaut 1 si la somme des bits du message est pair
Distance de Hamming
●
Définition : Soit deux mots d’un code, t1 et t2 : la distance de Hamming séparant t1 et t2 est le nombre de positions binaires
ayant des valeurs différentes entre t1 et t2.
●
Nombre de bits à 1 dans le résultat du ou exclusif entre t1 et t2
Noté d (t1,t2) cette distance
Distance de Hamming d'un code
●
Définition : Soit le code C={t1, t2, ..., tn}.
La distance de Hamming de C est la
distance de Hamming minimale que l’on peut calculer entre 2 mots distincts de C
●
On note d
H(C) cette distance.
dH(C) = min (dH(t1,t2) / (t1,t2) ∈ C*C ∀ t1≠t2)
Distance de Hamming d'un code
●
Un code de distance d peut :
–
Détecter p=(d-1) erreurs
–
Corriger q=(d-1)/2 erreurs
Codes polynomiaux
●
b bits <=> un polynôme de degré b-1
●
Message utile M : polynôme de degré (m- 1) : M(x)
●
Redondance E : polynôme de degré (r-1)
●
Trame transmise : polynôme de degré (n- 1) : T(x)
●
Émetteur et récepteur possèdent un
polynôme générateur G(x) de degré r
Calcul de la redondance
●
On divise x
r.M(x) par G(x), c'est à dire qu'on détermine Q(x) et R(x) tel que x
r.M(x)=Q(x).G(x)+R(x) avec R(x) de
degré strictement inférieur à celui de G(x) (le degré voulu pour R(x) est bien r-1). Le reste R(x) de cette division constitue la
redondance ( f(M(x))=R(x) )
●
La trame envoyée est T(x)=x
r.M(x)+R(x)
Vérification
● Trames générées sont multiples de G(x)
– Le récepteur n’a qu’à diviser ce qu’il reçoit par G(x)
– Si le reste n’est pas nul : une ou plusieurs erreurs de transmission
– Sinon il n’y a pas eu d’erreur ou l’erreur correspond à un multiple de G(x)
Accès au support
● Accès concurrent à un support partagé
● Mécanisme de jeton (reseaux en anneau)
● Accès aléatoire
Techniques d'accès aléatoire
● Ancêtre : Aloha
● Réseau radio reliant les îles d'Hawaï
Techniques d'accès aléatoire
● Erreur de transmission
Techniques d'accès aléatoire
● Inconvénient :
– Plus il y a de retransmissions, plus la charge augmente, et plus il y a de risque de collision
– Environ 18% d'efficacité
Techniques d'accès aléatoire
● Aloha « en tranches » (slotted)
– Synchronisation des horloges
– Découpage du temps en « tranches »
– Émission au début d'une tranche
– En cas de collision : re-émission après un délai aléatoire
– Taux d'utilisation : 36%
Techniques d'accès aléatoire
● CMSA : Carrier Sense Multiple Access
(Accès multiple avec détection de la porteuse)
« On écoute avant de parler »
● Variantes :
– non persistant : délai aléatoire avant nouvelle écoute
– persistant : « persiste » à écouter le canal jusqu'à libération
– p-persistant : lorsque le canal devient libre,
● Émission avec probabilité p
Émission différée avec un probabilité (1-p)
Techniques d'accès aléatoire
● CSMA/CD : Carrier Sense Multiple Access /Collision Detection
(Accès multiple avec détection de la porteuse/Détection de collision)
● Amélioration du CSMA persistant
« On écoute pendant qu'on parle »
● En cas de collision : algorithme de back-off
● Avantage : détection précoce des collisions
Techniques d'accès aléatoire
● Période de vulnérabilité :
– Intervalle où une station peut détecter le support libre
– Temps de propagation entre les deux stations les plus éloignées sur le support
● Fenêtre de collision (slot-time):
– Délai maximum avant détection d'une collision
– Délai après lequel on est certain d'avoir réussi sa transmission
– Deux fois la période de vulnérabilité
– Unité de temps du protocole
Techniques d'accès aléatoire
● Algorithme de back-off
– Tirage d'un variable aléatoire entière M :
● 0 ≤ M < 2k
● k = min (n, 10)
● n = nombre total de collisions subies par la trame
– Délai d'attente avant nouvelle transmission : M fois la fenêtre de collision
Ethernet
● Historique :
– Xerox 1973 (Bob Metcalfe)
– Normalisation IEEE (802.3 et 802.2)
Ethernet
● Architecture :
IEEE 802.2
IEEE 802.3 Ethernet
Ethernet
● Différents types de trames
– Ethernet V2
– IEEE 802.3
préambule @dest @src type data FCS
préambule @dest @src long IEEE 802.2 FCS
Ethernet
● Préambule
– 7 octets d'amorce (synchronisation bit)
– 1 octet de début de trame (SFD)
● Trame MAC
– 6 octets d'adresse MAC destination
– 6 octets d'adresse MAC source
– 2 octets pour le type de protocole encapsulé ou pour la longueur des données
Ethernet
● Types de protocoles
– 0x0800 : IPv4
– 0x86DD : IPv6
– 0x0806 : ARP
– 0x8035 : RARP
– 0x0600 : XNS
– 0x809B : AppleTalk
– ...
Ethernet
● Tous les numéros des types de protocole sont supérieurs 1500, la longueur maximale de la zone de données d'une trame (1500)
– Si valeur > 1500 : Type (Ethernet)
– Si valeur <= 1500 : Longueur (IEEE 802.3)
● Adresse de diffusion (broadcast) MAC : tous les champs à 1
Ethernet
● Protocole à diffusion (broadcast)
● Adresse de diffusion MAC => tous les champs à 1
● Toutes les stations connectées reçoivent le message
=> problème de sécurité
Ethernet
● IEEE 802.2 : LLC
– Indépendant de la couche inférieure
– Trois types :
● Type 1 : Service Sans Acquittement
● Type 2 : Service Avec Acquittement &
Orienté Connexion
● Type 3 : Protocole Avec Acquittement Non Orienté Connexion
Ethernet
● LLC
– Multiplexage de protocole des couches hautes
– SAP : Service Acces Point
– SNAP
DSAP SSAP Ctrl Data