cours/content/reseaux_protocoles/5_couche_liaison/index.md

8.7 KiB

title date tags categories mathjax
Réseaux et Protocole: couche liaison 2024-03-29
OSI
ethernet
Réseaux et protocoles
Cours
true

Commençons déjà par la terminologie:

  • nœuds : équipement (routeur, host)
  • canal de communication : lien adjacent entre nœuds;
  • frame : paquet de la couche liaison (niveau 2)

La couche 2 transmet une frame entre deux nœuds ajacents. Il existe les liaisons filaires (ethernet) et sans-fils (wifi, LTE). Chaque protocole propose des caratéristiques différentes (fiabilité, rapidité etc.)

Comme pour les autres couches étudiée jusqu'à maintenant, celle-ci encapsule les éléments de celle au dessus en y ajoute son entête. La couche liason ajoute ainsi les propres mécanismes de contrôles de flux entre les nœuds adjacent ou encore la détection voire la correction d'erreur. Le mode de communication peut être half-duplex ou full-duplex

La couche liason est implémentée sur chacun des nœuds, elle peut l'être directement sur le contrôleur réseau de façon matérielle mais aussi logicielle.

Détection d'erreur

Elle se fait par l'ajout d'un champs EDC pour Error Detection Code dans la frame. C'est un simple ajout de bits de parité. Cependant ajouter un seul bit de parité n'est pas assez fiable. Il est alors préférable d'utiliser le two dimentionnal parity, un tableau à deux dimensions pour faire du calcul de parité permettant non seulement la correction mais aussi la correction.

Nous avons d'abors des protocole utilisé pour la communication entre deux nœuds : PPP pour Point to Point Protocol ou encore ethernet. Mais d'autres sont fait poue la diffusion (broadcast), la communication entre plusieurs nœuds comme le Wifi ou les communications par Satellite

Dans le second cas, il nous faut un algorithme pour déterminer l'ordre de transmisson : à quel moment un équipement peut envoyer des données sur le canal partagé entre tous. Il n'y a pas de canal auxiliaire ( out of band ) pour organiser le partage de la ressource, il faut alors organiser le partitionnement

MAC Protocol

Le canal est divisé en plus petites pièces à l'exclusivité de nœuds. Les accès sont aléatoires et au tour par tour.

partitionnement en fonction du temps

Chaque station a un slot de temps fixe permettant la transmission, si la station n'a pas de donnée à transmettre, alors le slot passe en IDLE.

Frequencie division multiple access FDMA

Le canal est divisé sur plusieurs fréquences, chaque nœud se voit attribuer une fréquence et peut transmettre sur celle-ci en continue.

accès aléatoire

Lorqu'un nœud veut émettre, il prend la communication sur l'ensemble du canal, il n'y a pas de gestion de la coordination. Donc si deux nœuds ou plus émettent en même temps alors il y a collision.

Ces types de protocoles définissent alors comment détecter les collisions et ce qu'il faut faire dans ce cas.

Vopici des exemples de protocoles de type accès aléatoires: ALOHA, Slotter ALOHA, CSMA, CSMA/CD, CSMA/CA

Slotted ALOHA

Le temps est divisé en intervalle régulier (intervalle de temps) correspondant au temps nécessaire pour la transmission d'une trame. L'émetteur attend donc le début d'une intervalle de temps pour transmettre sa trame.

En cas de collision, le nœud retransmet son paquet après avoir attendu un temps aléatoire. Au mieux, 37% d'efficacité.

Carrier Sense Multiple Access

C'est un protocole simple : écouter avant de transmettre :

  • Si le canal est libre alors on transmet la trame entière;
  • sinon on repousse la transmission
Carrier Sense Multiple Access with Collision Detection (CSMA/CD)

Les collision sont possible avec CSMA, à cause du délais de propagation de la trame. La probabilité d'une collision est déterminée par la distance et le délais de propagation.

Avec CSMA/CD, un hôte annule la transmission d'une trame à l'instant de la détection d'une collision. Dans le cadre d'Ethernet par exemple:

  • Vérification du canal;
  • Envoi d'une trame entière si le canal est libre;
  • Si aucune collision détectée : fin!
  • Sinon annule la transmission et envoie le signal jam;
  • Entre dans le binary exponential backoff : choisi un nombre \(K\) entre \([1..2^{m-1}]\) et attend \(K x 512 \)temps / bit et relance les étapes à partir de la vérification du canal.

à tour de rôle

C'est un protocole reprenant le meilleur de l'accès aléatoire et du partage de canal

Deux façons de faire :

  • Un contrôleur décide du partage de la ressource et invite les équipement. C'est le fonctionnent du Bluetooth par exemple.
  • Un jeton donne le droit à transmission et passe d'hôte en hôte. Cette façon de procéder donne lieu à un peu d'overhead, de plus que faire si le jeton se perd?

LAN

Adressage

La base de cette des LAN est l'adresse MAC inscrite en dur dans le matériel -- mais parfois dans le logiciel, pensez aux machines virtuelles par exemple -- sur 48 bits. Les 3 premiers octets de cette adresse sont alloués par l'IEE en fonction du fabricat du périphérique.

Le protocole ARP

Il fait le lien entre l'adresse Ethernet (couche liaison) et l'adresse IP (couche réseau). La table ARP présent sur tous les hôtes connecte au reseau permet de faire le lien entre les adresses MAC et IP en y associant aussi une durée de vie , le TTL.

Des message de broadcast sont envoyés par les hôtes afin de connaitre l'adresse MAC des autres si l'entrée n'est pas disponible dans la table (encapsulé dans une trame Ethernet).

Ethernet

C'est la technologie dominante sur les réseaux locaux depuis les années 90. Plusieurs implémentation sont disponibles :

  • bus pour les réseaux coaxiaux avec un seul domaine de collision;
  • switch pour les réseaux avec connecteur RJ45, ici un domaine de collision par machine.

D;abors il y a le préambules : une série de 8 octets dont les 7 presiers sont 1010101010 puis le dernier à 1010101011. Son rôle est de synchroniser les hôtes et de délimiter le début de la transmission.

Viens ensuite la trame composées de :

  • l'adresse MAC de destination;
  • l'adresse MAC source;
  • le type indiquant le protocole de la couche supérieure;
  • la charge utile
  • le contrôle d'intégrité (CRC pour *Cyclic Redundancy Check).

Ethernet est un protocole sans connexion : il n'y a pas de handshake, pas de mécanisme d'ACK, pas de retransmission. On laisse ça **à la couche supérieure.

Il existe aussi plusieurs standards Ethernet en fonction du type de liaison.

Les switches

C'est un équipement de la couche liaison qui stocket te retransmet les trames Ethernet. Il examine les adresse MAC dans les entêtes et envoie les trames vers les hôtes concernés. Il est transparent et ne nécessite pas de configuration pour un switching basique.

Les switches possèdent une table de transfert qui contient les tuples MAC:Port:TTL mis a jour en fonction des trames qu'il voit passer. Le switch modifie dynamiquement cette table en fonction des trames qu'il voit passer sur ses différents ports. Lorqu'il doit envoyer des trames vers une adresse qu'il ne connait pas, alors il va emmetre une demande ARP sur l'ensemble de ses ports. Cette auto-apprentissage peur fonctionner même un fois les switches brachés les un aux autres.

Il est capable de communiquer sur plusieurs canaux simultaniement sans collisions par exemple, communication A <---> B et C <---> D ( mais A <---> B et A <--> C ne peut se faire en simultané )

VLAN

Ils permettent de reduire le domaine de broadcast (ARP, DHCP) pour plusieurs éventuels objectifs:

  • attacher logiquement des utilisateurs à leur machines / réseau;
  • faciliter la gestion du réseau
  • séparer les utilisateurs (sécurité, vie privée)

Mais pour celà il faut des équipement compatibles et de la configuration. Par exemple avec les ports based VLAN il est possible d'affecter dynamiquement les ports à des VLAN.

L'échange de messages entre les VLANs doivent se faire via un routeur ou un switch de niveau 3. Les connexions entre les différents switches doivent se faire va un lien trunk permettant de transmettre les informations relatives aux VLAN.

Ces information son positionnées dans l'entête Ethernet au format 802,1q. elle se comporte du tag protocol et du vlan id.

MPLS

Ce protocole permet d'assurer un routage et un forwarding plus rapide des paquets. Il s'intercale entre les couches 2 et 3 et se base sut l'ajout de labels de taille fixe entre l'entête Ethernet et la charge utile.

Le routeur MPSL regarde donc le label pour décider quoi faire avec le paquet: le routage est plus rapide (pas de décapsulation) et plus flexible.