Dans un précèdent article, nous avons vu l’importance de maîtriser le temps dans les systèmes embarqués temps réel pour garantir et démontrer que les actions se déroulent au » bon moment « . Aujourd’hui, nous allons continuer de creuser ce concept de garantie temporelle, et d’autres, dans cet article sur un nouveau type de réseau de communication : les réseaux Ethernet TSN.
Réseau ? TSN ?
Un réseau permet la communication entre plusieurs ordinateurs. En vous connectant à Internet pour lire cet article, vous utilisez probablement plusieurs réseaux interconnectés (Wi-Fi, Ethernet, …). Dans un système embarqué comme un avion, c’est pareil. Les différents calculateurs communiquent entre eux à l’aide de plusieurs réseaux (AFDX, CAN, MIL-STD-1553, …).
Ethernet est un protocole de communication réseau. Dans la « pile protocolaire », il a pour rôle de choisir quel message (appelé trame) transmettre. Né dans les années 70, Ethernet s’inspire du protocole de communication sans fil [ALOHA], inventé par l’université d’Hawaii, en le transposant à des technologies filaires. Dans les années 90, le protocole évolue pour supporter la commutation et les liens point à point [« full duplex »]. C’est la forme d’Ethernet qui est aujourd’hui principalement utilisée, notamment dans les réseaux d’entreprise, de datacenters, industriels ou même domestiques.
TSN, pour Time-Sensitive Networking est le nom d’un groupe de travail l’IEEE qui propose des standards pour étendre les capacités d’Ethernet. Ce groupe propose de nouveaux mécanismes connus par extension sous le nom de mécanismes TSN. L’objectif de ces mécanismes est de permettre au réseau Ethernet de répondre aux besoins de déterminisme et de fiabilité de flux de communication très hétérogènes. Les premiers standards sont publiés à partir de 2009. Initialement destiné au monde audio/vidéo professionnel pour unifier leurs réseaux, bus et liens analogiques, TSN attirent dès 2012 des domaines industriels très variés comme le monde de l’automobile, des datacenters, de la 5G, de l’automatisation des usines. Aujourd’hui, TSN est composé de plus d’une vingtaine de standards.
Pourquoi rajouter encore un réseau ?
Nos systèmes embarqués intègrent déjà un nombre important de réseaux, alors pourquoi s’intéresser à TSN ? TSN est peut-être la réponse même à ce problème. En effet, les réseaux existants ont été créés pour répondre à un unique besoin (par exemple les faibles latences pour le CAN et le haut débit pour MOST). Cette équation « un besoin = un réseau dédié » a très vite conduit à des dizaines de réseaux dédiés dans un véhicule de la taille d’une voiture. TSN avec sa promesse de support de flux très hétérogènes pourrait simplifier les architectures en permettant l’utilisation d’un unique réseau pour tout un véhicule.
Un autre argument est l’aspect multidomaine de TSN. En effet, il pourrait éviter l’utilisation de solutions créées spécifiquement pour un domaine industriel, comme l’AFDX pour l’aéronautique ou le SpaceWire pour le spatial. Par exemple, cela pourrait permettre en une réduction des coûts des composants grâce au volume de l’automobile tout en garantissant une fiabilité et un déterminisme élevés hérités des besoins de l’aéronautique.
De plus, TSN ne « sort pas de nulle part ». En effet, il repose sur Ethernet qui est une base mature, maitrisée et utilisée dans de nombreux domaines industriels. L’écosystème Ethernet est étendu, que ce soit en termes d’outils (e.g. outils de conception, de configuration ou bien de surveillance) ou en termes de matériel (e.g commutateur, interface réseau mais aussi instrument de mesure).
Et enfin, TSN reprend des concepts déjà éprouvés dans des réseaux Ethernet utilisés dans des systèmes critiques. On y retrouve par exemple des mécanismes similaires au partage de la bande passante et au policier de l’AFDX (utilisé dans les Airbus A350 et A380) ou au partage de la bande passante en temps et à la synchronisation de TTEthernet ( utilisé dans les capsules ORION et Ariane 6). Cependant, contrairement à l’AFDX et TTEthernet, TSN repose sur des standards ouverts et offre une plus grande modularité.
Comment ça fonctionne ? La vingtaine de standards TSN peut être classifiée en quatre catégories comme décrit dans la figure ci-dessous. Pour définir l’usage de TSN adapté aux besoins d’un domaine industriel, des profils ont été proposés. On retrouve par exemple P802.1DP pour l’aérospatiale et P802.1DG pour le monde automobile. Dans la suite de ce paragraphe, nous nous expliquons le fonctionnement des mécanismes envisagés dans ces deux profils.

Dans ces profils, on retrouve deux mécanismes qui permettent de contrôler la latence des trames qui traversent le réseau : le CBS et le TAS. Le CBS, pour « Credit-Based Shaper » (IEEE802.1Qav), est un mécanisme qui permet de limiter la bande passante associée à un niveau de priorité. Son fonctionnement repose sur un seau à jetons qui se remplit avec le temps et qui se vide lors de l’émission d’une trame. Ces dernières ne peuvent être émises que s’il y a un nombre positif ou nul de jetons dans le seau. En limitant le débit des trames d’une priorité donnée, ce mécanisme permet de laisser des opportunités de transmission aux trames de priorités inférieures, réduisant ainsi leur latence. La contrepartie est l’augmentation de la latence des trames qui lui sont soumis.
Le TAS, pour « Time-Aware Shaper » (IEEE802.1Qbv), est un mécanisme qui permet de contrôler l’accès au médium en fonction du temps. En effet, il contrôle quelles files d’un port de sortie peuvent transmettre leurs trames à l’aide de portes dont l’ouverture et la fermeture sont programmées en fonction d’un emploi du temps, appelé Gate Control List (GCL). Ce mécanisme permet d’atteindre des latences très faibles grâce à des temps d’attente dans les FIFOs quasiment nuls, si la réception d’une trame est calée sur l’ouverture de la porte. Cependant, la conception d’un tel emploi du temps est une tâche complexe qui nécessite de prendre en compte les contraintes de l’ensemble des flux ainsi que la topologie du réseau, les différentes latences et la précision de synchronisation. Cette dernière est très importante pour un fonctionnement optimal du TAS. En effet, pour que les différentes instances du TAS sur les différents ports de sortie des équipements réseau soit bien synchronisées, le partage d’une horloge commune précise et fiable à l’ensemble du réseau est nécessaire.
Ce partage d’horloge dans un réseau TSN est effectué par un protocole de synchronisation appelé « generalized Precision Time Protocol » (IEEE 802.1AS). Ce protocole est une spécialisation pour les réseaux TSN d’un protocole de synchronisation bien connu : PTP. En plus de permettre l’utilisation de mécanismes TSN synchrones, comme le TAS, cette synchronisation bénéficie aux applications pour des fonctions distribuées. Le protocole fonctionne sur un principe d’horloge de référence appelé Grandmaster qui périodiquement partage sa mesure du temps à l’ensemble du réseau. Un autre mécanisme évalue le temps de traversée des trames afin de le prendre en compte lors de la réception du message venant du Grandmaster. Il permet d’atteindre des précisions de synchronisation inférieures à la microseconde dans des réseaux ayant moins d’une dizaine de sauts pour atteindre le Grandmaster. Ce rôle central en fait un point faible pour le réseau en termes d’innocuité ou de cybersécurité. Cependant, certaines techniques de mitigation sont actuellement en cours de standardisation avec par exemple l’amendement P802.1ASed.
Concernant la fiabilité, on retrouve deux standards. Dans le standard IEEE 802.1CB, deux mécanismes sont décrits. Le premier de ces mécanismes est la fonction d’identification des flux. Il permet à partir de champs présents dans la trame d’associer une trame à un flux de trames. Chaque trame identifiée est associée à un identifiant de flux appelé streamHandle. Cet identifiant est ensuite utilisé pour déterminer si certains mécanismes sont applicables ou non à cette trame. Un de ces mécanismes est le deuxième mécanisme décrit dans IEEE 802.1CB : FRER, pour « Frame Replication And Elimination ». FRER permet de transmettre une trame sur plusieurs chemins pour éviter la perte de trames liée à une panne sur un chemin. Pour atteindre ce but, des points de réplication sont configurés pour faire une ou plusieurs copies de la trame qui sont ensuite transmises vers différents ports de sortie. Des points d’élimination sont configurés pour supprimer les trames dont un des exemplaires a déjà été reçu.
PSPF, pour « Per-Stream Filtering and Policing » (IEEE 802.1Qci), vérifie le respect d’un contrat d’émission par flux. Si le contrat n’est pas respecté, le mécanisme peut prendre la décision de supprimer les trames concernées pour éviter la propagation de l’erreur au reste du réseau. Ainsi, ce mécanisme est l’une des clés de voûte qui permet de garantir le respect des performances des flux. En effet, sans ce mécanisme, une application défaillante pourrait saturer le réseau et causer le non-respect des contraintes de performance de nombreux flux. Les contrats peuvent contenir des informations comme la taille maximale des trames du flux, la bande passante nécessaire ainsi qu’un profil temporel d’émission de trame. Comme pour le FRER, le flux auquel la trame est associée est déterminé à l’aide d’une fonction d’identification des flux.
Dans cet article, nous avons découvert les fondamentaux de TSN et pourquoi il gagne en popularité dans le monde de l’embarqué. Quelques mécanismes TSN envisagés pour les réseaux de ce domaine ont été présentés et nous avons effleuré la complexité de TSN. Cependant cette dernière est loin d’être insurmontable à l’aide d’outils dédiés comme ceux conçus dans le cadre des projets [EDEN] qui se déroulent à l’IRT.
Pour aller plus loin :