L’agrégation de liens est une notion de réseau informatique décrivant l’utilisation de plusieurs câbles ou ports réseau afin :
La plupart des implémentations sont aujourd’hui conformes à la clause 43 de la norme Ethernet IEEE 802.3-2005, plus souvent rencontrée sous le nom « IEEE 802.3ad ».
L'agrégation de liens offre les avantages suivants:
Les deux types principaux de LAG sont statiques (également appelé manuel) et dynamiques. Les LAG dynamiques utilisent le protocole LACP (Link Aggregation Control Protocol) pour négocier les paramètres entre les deux périphériques connectés.
Dans l'agrégation de liens statiques, tous les paramètres de configuration ne sont stockés qu'une seule fois sur les deux composants impliqués dans le LAG. Tant qu'un lien d'un LAG est actif, ce lien est également utilisé pour le transfert de données dans une agrégation de liens statique.
Link Aggregation Control Protocol (LACP) est un protocole standardisé par l’IEEE qui est implémenté par différents constructeurs. Il fournit un mécanisme permettant de contrôler le groupement de plusieurs ports physiques en un canal logique de communication.
Le protocole de contrôle d’agrégation de liens (LACP) permet l’échange d’informations concernant l’agrégation de liens entre les deux membres dudit agrégat. Ces informations seront mises en paquets dans les unités de données du protocole de contrôle d'agrégation de liaisons (LACDU).
Chaque port individuel peut être configuré en tant que LACP actif ou passif à l'aide du protocole de contrôle.
Si des convertisseurs de média sont utilisés, il se peut que la liaison sur le commutateur soit active, mais que la connexion avec le commutateur à l'autre extrémité soit interrompue. Dans ce cas, le commutateur envoie toujours des données via cette connexion et le transfert de données est donc interrompu.
Pour plus de contrôle, il est judicieux d’utiliser l’agrégation dynamique de liens avec le protocole de contrôle d’agrégation de liens (LACP), qui prend en charge l’échange d’informations sur l’agrégation de liens entre les deux parties concernées.
Note Convertisseur de média: Un convertisseur de média permet de faire communiquer deux segments de réseau qui empruntent des supports physiques (médias) différents : coaxial, paires torsadées, fibre optique monomode ou multimode. C’est une solution très pratique en particulier pour prolonger un segment cuivre sur fibre optique, jusqu’à un local ou un bâtiment éloigné.
L’agrégation de liens sous Linux propose jusqu’à 7 modes de fonctionnement que je vous propose de résumer ici. Attention, tous les modes ne sont pas forcément compatibles avec la configuration que j’utilise ici. Renseignez-vous bien avant de vous lancer sous peine d’avoir de sérieux problèmes…
En TCP/IP, l'arrivée de paquets désordonnés est certes supportée, mais les performances sont alors très médiocres car ceci est souvent interprété comme des pertes de paquets et entraine des retransmissions et des ralentissements de l'émission (en TCP, le protocole de transport généralement utilisé pour réaliser des transferts de données). Par ailleurs Ethernet n'est pas censé réordonner les trames. C'est pour ces raisons que les LAG Ethernet ne prévoient dans la plupart des cas ni d'envoyer les paquets au hasard sur les liens physiques, ni d'utiliser ceux-ci simplement l'un après l'autre, car rien ne garantit qu'un lien ne soit pas légèrement plus rapide ou plus lent que son voisin, selon sa longueur physique.
Les LAG Ethernet sont donc presque toujours implémentés de sorte que tous les paquets d'une session TCP soient transmis par le même lien physique. Cela évite que les paquets soient réordonnés (et donc évite des performances catastrophiques), mais ne permet cependant pas à une session unique de dépasser la vitesse d'un seul lien physique. C'est avec un nombre suffisamment8 élevé de sessions différentes qu'il est possible d'exploiter la vitesse totale du LAG dans ce contexte.
La norme 802.3ad exige que les trames soient livrées dans l’ordre (dans certaines limites), de manière à ce que les connexions simples ne fassent généralement pas l’objet d’un mauvais ordre dans les paquets. Mais tous les paquets de la session TCP seront transmis par le même lien physique.
Lorsque on utilise un processus monothread pour transférer plusieurs fichiers sur un réseau, il est possible qu'on n'utilisie pas toute la bande passante disponible. Dans un transfert monothread de fichiers, chaque fichier doit attendre la fin du transfert du fichier précédent, ce qui gaspille la bande passante inutilisée.
On peut utiliser davantage de bande passante disponible et accélérer le transfert des données en copiant des fichiers en parallèle dans un traitement multithread, mais l'application de transfert doit pouvoir offrir ce genre de traitement.
Ce mode est le seul qui permet à une seule connexion TCP/IP de répartir le trafic entre plusieurs interfaces. C'est donc le seul mode permettant à un seul flux TCP/IP d'utiliser le débit de plusieurs interfaces. Cela a toutefois un coût: la segmentation aboutit souvent à ce que les systèmes homologues reçoivent les paquets en désordre, ce qui entraîne le déclenchement du système de contrôle de la congestion de TCP/IP, souvent par la retransmission de segments.