Chapitre 6. Configuration d'IPoIB
Par défaut, InfiniBand n'utilise pas le protocole internet (IP) pour la communication. Cependant, IP over InfiniBand (IPoIB) fournit une couche d'émulation de réseau IP au-dessus des réseaux RDMA (remote direct memory access) InfiniBand. Cela permet aux applications existantes non modifiées de transmettre des données sur les réseaux InfiniBand, mais les performances sont moindres que si l'application utilisait RDMA de manière native.
Les équipements Mellanox, à partir de ConnectX-4, sur RHEL 8 et plus, utilisent par défaut le mode Enhanced IPoIB (datagramme uniquement). Le mode connecté n'est pas pris en charge sur ces équipements.
6.1. Les modes de communication IPoIB
Un appareil IPoIB peut être configuré en mode Datagram
ou Connected
. La différence réside dans le type de paire de files d'attente que la couche IPoIB tente d'ouvrir avec la machine à l'autre bout de la communication :
Dans le mode
Datagram
, le système ouvre une paire de files d'attente non fiable et déconnectée.Ce mode ne prend pas en charge les paquets d'une taille supérieure à l'unité de transmission maximale (MTU) de la couche de liaison InfiniBand. Lors de la transmission des données, la couche IPoIB ajoute un en-tête IPoIB de 4 octets au paquet IP. Par conséquent, le MTU IPoIB est inférieur de 4 octets au MTU de la couche de liaison InfiniBand. Comme
2048
est un MTU commun de la couche de liaison InfiniBand, le MTU commun de l'appareil IPoIB en modeDatagram
est2044
.En mode
Connected
, le système ouvre une paire de files d'attente fiable et connectée.Ce mode permet d'envoyer des messages plus importants que le MTU de la couche de liaison InfiniBand. L'adaptateur hôte gère la segmentation et le réassemblage des paquets. Par conséquent, dans le mode
Connected
, les messages envoyés par les adaptateurs Infiniband ne sont pas limités en taille. Cependant, les paquets IP sont limités en raison du champdata
et du champ TCP/IPheader
. Pour cette raison, le MTU IPoIB dans le modeConnected
est de65520
octets.Le mode
Connected
est plus performant mais consomme plus de mémoire du noyau.
Bien qu'un système soit configuré pour utiliser le mode Connected
, il envoie toujours du trafic multicast en utilisant le mode Datagram
car les commutateurs et la structure InfiniBand ne peuvent pas transmettre le trafic multicast en mode Connected
. De même, lorsque l'hôte n'est pas configuré pour utiliser le mode Connected
, le système revient au mode Datagram
.
Lors de l'exécution d'une application qui envoie des données multicast jusqu'à MTU sur l'interface, configure l'interface en mode Datagram
ou configure l'application pour limiter la taille d'envoi d'un paquet qui tiendra dans des paquets de la taille d'un datagramme.